:root {
  --ws-ink: #20201f;
  --ws-muted: #67645f;
  --ws-paper: #fbfaf7;
  --ws-card: #ffffff;
  --ws-line: #dedbd4;
  --ws-plum: #684c62;
  --ws-plum-soft: #f1e8ef;
  --ws-sage: #557261;
  --ws-sage-soft: #e7f0e9;
  --ws-clay: #a85c46;
  --ws-clay-soft: #f7e8e1;
  --ws-blue: #47667b;
  --ws-blue-soft: #e6eef2;
  --ws-gold: #8c6b2e;
  --ws-gold-soft: #f7efd9;
  --ws-focus: #245da8;
  --ws-shadow: 0 18px 50px rgba(50, 45, 40, .08);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body.women-studio {
  margin: 0;
  background: var(--ws-paper);
  color: var(--ws-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
body.women-studio button,
body.women-studio input,
body.women-studio select,
body.women-studio textarea { font: inherit; }
body.women-studio button,
body.women-studio a { touch-action: manipulation; }
.ws-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.ws-nav { justify-content: space-between !important; }
.ws-nav-links { display: flex; align-items: center; gap: 20px; }
.ws-nav-links a { color: var(--ws-ink); font-size: 14px; font-weight: 750; text-decoration: none; }

.ws-hero { padding: 76px 0 44px; }
.ws-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 60px; align-items: end; }
.ws-eyebrow { margin: 0 0 14px; color: var(--ws-plum); font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.ws-hero h1,
.ws-workspace-hero h1,
.ws-tool-title h1 { margin: 0; font-family: Fraunces, Georgia, serif; font-weight: 650; letter-spacing: -.055em; line-height: .98; }
.ws-hero h1 { max-width: 850px; font-size: clamp(58px, 8.4vw, 106px); }
.ws-lede { max-width: 720px; margin: 24px 0 0; color: var(--ws-muted); font-size: 19px; }
.ws-maker-note { padding: 22px; border: 1px solid var(--ws-line); border-radius: 18px; background: #fff; box-shadow: var(--ws-shadow); }
.ws-maker-note strong { display: block; margin-bottom: 6px; }
.ws-maker-note p { margin: 0; color: var(--ws-muted); }

.ws-privacy { display: flex; gap: 12px; align-items: flex-start; margin: 0 auto 28px; padding: 15px 17px; border: 1px solid #b9cbbf; border-radius: 14px; background: #eef6f0; color: #324d3b; }
.ws-privacy::before { content: ""; width: 10px; height: 10px; flex: 0 0 10px; margin-top: 7px; border-radius: 50%; background: var(--ws-sage); box-shadow: 0 0 0 5px rgba(85, 114, 97, .12); }
.ws-privacy p { margin: 0; }

.ws-section { padding: 64px 0; }
.ws-section + .ws-section { border-top: 1px solid var(--ws-line); }
.ws-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.ws-section-heading h2 { max-width: 720px; margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(38px, 5vw, 62px); font-weight: 650; letter-spacing: -.045em; line-height: 1; }
.ws-section-heading p { max-width: 430px; margin: 0; color: var(--ws-muted); }
.ws-workspace-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.ws-workspace-card { position: relative; display: flex; min-height: 280px; grid-column: span 4; flex-direction: column; overflow: hidden; padding: 25px; border: 1px solid var(--ws-line); border-radius: 22px; background: var(--ws-card); color: var(--ws-ink); text-decoration: none; box-shadow: 0 8px 30px rgba(40, 37, 34, .05); transition: transform .18s ease, box-shadow .18s ease; }
.ws-workspace-card:first-child,
.ws-workspace-card:nth-child(2) { grid-column: span 6; min-height: 330px; }
.ws-workspace-card:hover { transform: translateY(-4px); box-shadow: var(--ws-shadow); }
.ws-workspace-card[data-tone="style"] { background: #f2ecef; }
.ws-workspace-card[data-tone="beauty"] { background: #f7ece8; }
.ws-workspace-card[data-tone="occasion"] { background: #f7f0dc; }
.ws-workspace-card[data-tone="wellness"] { background: #eaf2ed; }
.ws-workspace-card[data-tone="everyday"] { background: #eaf0f4; }
.ws-card-number { color: var(--ws-muted); font-size: 12px; font-weight: 850; }
.ws-workspace-card h3 { max-width: 420px; margin: auto 0 10px; font-family: Fraunces, Georgia, serif; font-size: clamp(28px, 3.1vw, 45px); font-weight: 650; letter-spacing: -.04em; line-height: 1; }
.ws-workspace-card p { max-width: 520px; margin: 0; color: #54514d; }
.ws-card-link { margin-top: 20px; font-weight: 800; }

.ws-legacy-grid,
.ws-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ws-tool-card { display: flex; min-height: 210px; flex-direction: column; padding: 21px; border: 1px solid var(--ws-line); border-radius: 18px; background: #fff; color: var(--ws-ink); text-decoration: none; }
.ws-tool-card:hover { border-color: var(--ws-plum); }
.ws-tool-card small { color: var(--ws-plum); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ws-tool-card h3 { margin: auto 0 8px; font-size: 24px; letter-spacing: -.035em; line-height: 1.1; }
.ws-tool-card p { margin: 0; color: var(--ws-muted); }
.ws-tool-card b { margin-top: 18px; }

.ws-workspace-hero { padding: 62px 0 34px; }
.ws-workspace-hero h1 { max-width: 950px; font-size: clamp(54px, 7vw, 88px); }
.ws-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; color: var(--ws-muted); font-size: 13px; }
.ws-breadcrumbs a { color: inherit; }

.ws-tool-header { padding: 44px 0 24px; }
.ws-tool-title { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
.ws-tool-title h1 { font-size: clamp(46px, 6vw, 74px); }
.ws-tool-title p { max-width: 680px; margin: 16px 0 0; color: var(--ws-muted); font-size: 17px; }
.ws-version { align-self: start; padding: 8px 12px; border: 1px solid var(--ws-line); border-radius: 999px; background: #fff; color: var(--ws-muted); font-size: 12px; font-weight: 750; }
.ws-app { padding: 0 0 72px; }
.ws-app-grid { display: grid; grid-template-columns: minmax(330px, .78fr) minmax(500px, 1.22fr); gap: 18px; align-items: start; }
.ws-app-grid[data-layout="list"] { grid-template-columns: minmax(360px, .72fr) minmax(540px, 1.28fr); }
.ws-panel { min-width: 0; padding: 22px; border: 1px solid var(--ws-line); border-radius: 20px; background: #fff; box-shadow: 0 8px 26px rgba(45, 40, 36, .04); }
.ws-panel.is-sticky { position: sticky; top: 102px; }
.ws-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.ws-panel-heading h2,
.ws-panel-heading h3 { margin: 0; font-size: 22px; letter-spacing: -.035em; }
.ws-panel-heading p { margin: 4px 0 0; color: var(--ws-muted); font-size: 13px; }
.ws-field { display: grid; gap: 6px; margin-bottom: 14px; }
.ws-field > span { font-size: 13px; font-weight: 800; }
.ws-field small { color: var(--ws-muted); font-size: 11px; }
.ws-field input,
.ws-field select,
.ws-field textarea { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #bab6af; border-radius: 10px; background: #fff; color: var(--ws-ink); outline: 0; }
.ws-field textarea { min-height: 92px; resize: vertical; }
.ws-field input:focus,
.ws-field select:focus,
.ws-field textarea:focus { border-color: var(--ws-focus); box-shadow: 0 0 0 3px rgba(36, 93, 168, .16); }
.ws-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ws-check { display: flex; gap: 9px; align-items: flex-start; margin: 10px 0; font-size: 13px; }
.ws-check input { width: 19px; height: 19px; margin-top: 1px; accent-color: var(--ws-plum); }
.ws-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.ws-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 9px 14px; border: 1px solid var(--ws-ink); border-radius: 10px; background: var(--ws-ink); color: #fff; font-weight: 800; text-decoration: none; cursor: pointer; }
.ws-button:hover { background: var(--ws-plum); }
.ws-button.is-secondary { background: #fff; color: var(--ws-ink); }
.ws-button.is-secondary:hover { background: var(--ws-plum-soft); }
.ws-button.is-quiet { border-color: var(--ws-line); background: #f7f6f3; color: var(--ws-ink); }
.ws-button.is-danger { border-color: #a5483c; background: #fff; color: #8e3329; }
.ws-button:disabled { cursor: not-allowed; opacity: .48; }
.ws-status { min-height: 24px; margin: 10px 0 0; color: var(--ws-muted); font-size: 12px; }
.ws-status[data-tone="error"] { color: #8e3329; }
.ws-status[data-tone="success"] { color: #356044; }

.ws-drop-zone { display: grid; min-height: 140px; place-items: center; padding: 22px; border: 1.5px dashed #aaa49b; border-radius: 14px; background: #faf9f6; text-align: center; cursor: pointer; }
.ws-drop-zone strong { display: block; }
.ws-drop-zone span { color: var(--ws-muted); font-size: 12px; }
.ws-drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ws-drop-zone[data-state="preparing"] { border-color: var(--ws-plum); background: var(--ws-plum-soft); }
.ws-drop-zone[data-state="ready"] { border-style: solid; border-color: #5f8169; background: #f1f7f1; }
.ws-file-preview { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; margin-top: 10px; padding: 10px; border: 1px solid var(--ws-line); border-radius: 13px; background: #fff; }
.ws-file-preview[hidden] { display: none; }
.ws-file-preview img { width: 72px; height: 72px; border-radius: 10px; background: var(--ws-plum-soft); object-fit: cover; }
.ws-file-preview strong { display: block; overflow-wrap: anywhere; }
.ws-file-preview span { display: block; margin-top: 3px; color: var(--ws-muted); font-size: 12px; }
.ws-page-nav { justify-content: space-between; margin: 0 0 12px; }
body[data-women-tool="bra"] .ws-tool-title h1 { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 750; letter-spacing: -.045em; }
.ws-bra-size { margin: 8px 0 18px; font: 750 clamp(58px, 9vw, 104px)/1 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -.045em; }
.ws-empty { display: grid; min-height: 230px; place-items: center; padding: 30px; border: 1px dashed #c9c5bd; border-radius: 15px; background: #faf9f6; color: var(--ws-muted); text-align: center; }
.ws-list { display: grid; gap: 10px; }
.ws-list-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px; border: 1px solid var(--ws-line); border-radius: 13px; background: #fff; }
.ws-list-item img,
.ws-item-placeholder { width: 72px; height: 72px; border-radius: 10px; background: var(--ws-plum-soft); object-fit: cover; }
.ws-list-item h3 { margin: 0; font-size: 16px; }
.ws-list-item p { margin: 3px 0 0; color: var(--ws-muted); font-size: 12px; }
.ws-item-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.ws-icon-button { min-width: 42px; min-height: 42px; padding: 7px 9px; border: 1px solid var(--ws-line); border-radius: 9px; background: #fff; color: var(--ws-ink); font-weight: 800; cursor: pointer; }
.ws-icon-button:hover { border-color: var(--ws-plum); background: var(--ws-plum-soft); }
.ws-chip-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 16px; }
.ws-chip { display: inline-flex; min-height: 36px; align-items: center; padding: 6px 11px; border: 1px solid var(--ws-line); border-radius: 999px; background: #fff; font-size: 12px; font-weight: 750; cursor: pointer; }
.ws-chip[aria-pressed="true"] { border-color: var(--ws-plum); background: var(--ws-plum-soft); color: #493143; }

.ws-preview-shell { overflow: auto; padding: 22px; border: 1px solid #cec9c1; border-radius: 16px; background-color: #e8e5df; background-image: linear-gradient(45deg, rgba(255,255,255,.55) 25%, transparent 25%), linear-gradient(-45deg, rgba(255,255,255,.55) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255,255,255,.55) 75%), linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.55) 75%); background-position: 0 0, 0 10px, 10px -10px, -10px 0; background-size: 20px 20px; }
.ws-preview-shell canvas { display: block; width: min(100%, 720px); height: auto; margin: auto; background: #fff; box-shadow: 0 14px 35px rgba(30, 28, 26, .16); }
.ws-template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ws-template-button { min-height: 70px; padding: 11px; border: 1px solid var(--ws-line); border-radius: 11px; background: #fff; text-align: left; cursor: pointer; }
.ws-template-button strong,
.ws-template-button span { display: block; }
.ws-template-button span { margin-top: 3px; color: var(--ws-muted); font-size: 11px; }
.ws-template-button[aria-pressed="true"] { border-color: var(--ws-plum); background: var(--ws-plum-soft); box-shadow: inset 0 0 0 1px var(--ws-plum); }
.ws-color-input { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 9px; align-items: center; }
.ws-color-input input[type="color"] { width: 48px; min-height: 46px; padding: 3px; }
.ws-swatches { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.ws-swatch { overflow: hidden; border: 1px solid var(--ws-line); border-radius: 11px; background: #fff; }
.ws-swatch-color { height: 74px; background: var(--swatch, #ddd); }
.ws-swatch label { display: block; padding: 7px; }
.ws-swatch input { width: 100%; border: 0; outline: 0; font-size: 11px; }

.ws-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.ws-summary > div { padding: 14px; border: 1px solid var(--ws-line); border-radius: 12px; background: #faf9f6; }
.ws-summary span { display: block; color: var(--ws-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.ws-summary strong { display: block; margin-top: 3px; font-size: 22px; }
.ws-table-wrap { overflow-x: auto; border: 1px solid var(--ws-line); border-radius: 13px; background: #fff; }
.ws-table { width: 100%; min-width: 660px; border-collapse: collapse; }
.ws-table th,
.ws-table td { padding: 11px 12px; border-right: 1px solid var(--ws-line); border-bottom: 1px solid var(--ws-line); font-size: 12px; text-align: left; }
.ws-table th:last-child,
.ws-table td:last-child { border-right: 0; }
.ws-table tr:last-child td { border-bottom: 0; }
.ws-table th { background: #f3f1ed; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.ws-note { padding: 13px 14px; border: 1px solid #d6c7a5; border-radius: 12px; background: #fbf5e7; color: #5d5139; font-size: 12px; }
.ws-routine-simple { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ws-danger-zone { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--ws-line); }

.ws-print-report { display: none; }
.ws-help { padding: 62px 0; border-top: 1px solid var(--ws-line); background: #fff; }
.ws-help-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ws-help article { padding: 20px; border: 1px solid var(--ws-line); border-radius: 16px; }
.ws-help h2 { margin: 0 0 8px; font-size: 21px; }
.ws-help p { margin: 0; color: var(--ws-muted); }

@media (max-width: 980px) {
  .ws-hero-grid,
  .ws-app-grid,
  .ws-app-grid[data-layout="list"] { grid-template-columns: 1fr; }
  .ws-panel.is-sticky { position: static; }
  .ws-workspace-card,
  .ws-workspace-card:first-child,
  .ws-workspace-card:nth-child(2) { grid-column: span 6; }
  .ws-tool-grid,
  .ws-legacy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .ws-shell { width: min(100% - 24px, 1180px); }
  .ws-nav-links a:not(:last-child) { display: none; }
  .ws-hero { padding-top: 48px; }
  .ws-hero h1 { font-size: 54px; }
  .ws-section { padding: 46px 0; }
  .ws-section-heading,
  .ws-tool-title { align-items: start; flex-direction: column; grid-template-columns: 1fr; }
  .ws-section-heading { display: flex; }
  .ws-workspace-card,
  .ws-workspace-card:first-child,
  .ws-workspace-card:nth-child(2) { min-height: 250px; grid-column: 1 / -1; }
  .ws-tool-grid,
  .ws-legacy-grid,
  .ws-help-grid,
  .ws-field-grid { grid-template-columns: 1fr; }
  .ws-panel { padding: 16px; border-radius: 16px; }
  .ws-actions { flex-direction: column; }
  .ws-actions .ws-button { width: 100%; }
  .ws-list-item { grid-template-columns: 60px minmax(0, 1fr); }
  .ws-list-item img,
  .ws-item-placeholder { width: 60px; height: 60px; }
  .ws-item-actions { grid-column: 1 / -1; }
  .ws-item-actions button { flex: 1; }
  .ws-icon-button { min-height: 44px; }
  .ws-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ws-summary { grid-template-columns: 1fr; }
  .ws-routine-simple { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .ws-hero h1 { font-size: 47px; }
  .ws-workspace-hero h1,
  .ws-tool-title h1 { font-size: 44px; }
  .ws-version { justify-self: start; }
  .ws-preview-shell { padding: 10px; }
  .ws-template-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

@media print {
  @page { size: Letter portrait; margin: .55in; }
  body.women-studio { background: #fff; color: #000; }
  body.women-studio.has-women-print-report #womenStudioApp > .site-header,
  body.women-studio.has-women-print-report #womenStudioApp > main,
  body.women-studio.has-women-print-report #womenStudioApp > .site-footer { display: none !important; }
  body.women-studio.has-women-print-report #womenStudioApp > .ws-print-report { display: block !important; font: 10pt/1.45 Inter, Arial, sans-serif; }
  .ws-print-report h1 { margin: 0; font-size: 21pt; }
  .ws-print-report h2 { margin: 18pt 0 7pt; font-size: 13pt; }
  .ws-print-report header { margin-bottom: 18pt; padding-bottom: 10pt; border-bottom: 1px solid #222; }
  .ws-print-report table { width: 100%; border-collapse: collapse; }
  .ws-print-report th,
  .ws-print-report td { padding: 6pt; border: 1px solid #777; text-align: left; vertical-align: top; }
  .ws-print-report thead { display: table-header-group; }
  .ws-print-report tr { break-inside: avoid; }
  .ws-print-report .print-note { margin-top: 16pt; padding-top: 8pt; border-top: 1px solid #aaa; color: #555; font-size: 8.5pt; }
}
