/* TeamCreator app — design tokens lifted verbatim from product/teamsync-landing/index.html.
   Landing and product are two deploys, one design system (strategy/MVP-SCOPE.md). */

:root {
  --paper:#f7f1e8; --paper-2:#efe7da; --card:#fffdf9; --ink:#241f1a; --ink-2:#4a4139;
  --muted:#8b8177; --line:#e7dccc;
  --fit:#2f9c74; --fit-soft:#e4f1ea; --blue:#2f57e0; --warn:#d8862f; --soft:#cabfae; --edge:#d8cbb4;
  --clay:#2f9c74;
  --display:'Manrope',system-ui,sans-serif; --serif:'Fraunces',Georgia,serif;
  --body:'Inter',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1320px; --ease:cubic-bezier(.19,1,.22,1);
  --shadow:0 2px 6px rgba(70,50,30,.05),0 26px 50px -26px rgba(70,50,30,.28);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-weight:450}
h1,h2,h3{margin:0;line-height:1.05;letter-spacing:-.03em;font-family:var(--display)}
p{margin:0} a{color:inherit;text-decoration:none}
:focus-visible{outline:2.5px solid var(--fit);outline-offset:2px;border-radius:6px}
::selection{background:var(--fit);color:#fff}
.wrap{width:min(100% - 40px,var(--maxw));margin-inline:auto}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:500}

/* ---------- shell ---------- */
.nav{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.nav-in{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:10px}
.brand .wm{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.brand small{font-family:var(--mono);font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;border-left:1px solid var(--line);padding-left:10px;line-height:1.3}
.tabs{display:flex;gap:4px;margin-left:auto}
.tab{font-family:var(--display);font-weight:600;font-size:14px;padding:8px 16px;border-radius:2px;border:1.5px solid transparent;background:none;cursor:pointer;color:var(--ink-2);transition:.25s var(--ease)}
.tab:hover{background:var(--paper-2)}
.tab.on{background:var(--ink);color:var(--paper)}
.nav-more{position:relative}
.nav-more-summary{display:inline-flex}
.nav-more-menu{position:absolute;top:calc(100% + 8px);right:0;display:grid;min-width:210px;padding:6px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);z-index:35;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s}
.nav-more:hover .nav-more-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.nav-more-menu .tab{width:100%;text-align:left;white-space:nowrap}
.nav-more-menu .tab.on{background:var(--ink);color:var(--paper)}
main{padding:32px 0 80px}
.page{display:none} .page.on{display:block}
.head{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.head h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.04em}
.head .sub{color:var(--muted);font-size:13.5px;margin-top:6px}
.head .spacer{margin-left:auto}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:13.5px;padding:11px 18px;border-radius:2px;border:1.5px solid transparent;cursor:pointer;transition:.25s var(--ease);line-height:1}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--clay)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-danger{background:transparent;color:var(--warn);border-color:var(--warn)}
.btn-danger:hover{background:var(--warn);color:#fff}
.btn-sm{padding:7px 12px;font-size:12px}
.btn:disabled{opacity:.45;cursor:not-allowed}
input,select,textarea{font-family:var(--body);font-size:14px;padding:10px 12px;border:1.5px solid var(--line);border-radius:2px;background:var(--card);color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--fit)}
label{display:block;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.field{margin-bottom:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}
@media(max-width:760px){.row3{grid-template-columns:1fr}}

/* ---------- table ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow)}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:500}
td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--paper-2)}
.name{font-weight:600}
.dim{color:var(--muted);font-size:13px}
.right{text-align:right;white-space:nowrap}

/* ---------- chips ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;padding:4px 8px;border-radius:2px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);margin-right:4px}
.chip.sync{background:var(--fit-soft);color:#1c6b4d;border-color:#bfe0d0}
.chip.friction{background:#fbf0e2;color:#9a5c14;border-color:#eed9bc}
.chip.neutral{background:var(--paper-2);color:var(--ink-2)}
.chip.lv{background:var(--card)}

/* ---------- big five bars ---------- */
.ocean{display:flex;flex-direction:column;gap:9px}
.ocean .t{display:grid;grid-template-columns:120px 1fr 40px;gap:10px;align-items:center}
.ocean .t .k{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.ocean .t .bar{height:6px;background:var(--paper-2);border-radius:3px;overflow:hidden}
.ocean .t .bar i{display:block;height:100%;background:var(--fit);border-radius:3px}
.ocean .t .v{font-family:var(--mono);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
input[type=range]{padding:0;border:none;background:none;accent-color:var(--fit)}

/* ---------- fitmap ---------- */
.fitgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
@media(max-width:980px){.fitgrid{grid-template-columns:1fr}}
.skywrap{background:var(--ink);border-radius:6px;padding:12px;box-shadow:var(--shadow)}
#fitsvg{width:100%;height:auto;display:block;cursor:default}
#fitsvg text{font-family:var(--mono);font-size:9px;letter-spacing:.05em;fill:rgba(247,241,232,.8)}
#fitsvg .edge{cursor:pointer;transition:opacity .2s,stroke-width .2s}
#fitsvg .edge:hover,#fitsvg .edge.hot{opacity:1!important;stroke-width:5}
#fitsvg .edge.friction{animation:dash-flow 22s linear infinite}
#fitsvg .node{cursor:pointer}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
.legend span{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.legend i{width:15px;height:3px;border-radius:2px}
.inspector{padding:22px}
.inspector h3{font-size:19px;font-weight:700}
.ev{border-left:2px solid var(--line);padding:10px 0 10px 14px;margin-top:14px}
.ev .f{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--clay)}
.ev .n{font-size:13.5px;color:var(--ink-2);margin-top:5px}
.ev .w{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:4px}
.empty{color:var(--muted);font-size:13.5px;padding:28px 0;text-align:center}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(36,31,26,.42);backdrop-filter:blur(3px)}
.modal.on{display:flex}
.modal-in{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);width:min(100%,560px);max-height:88vh;overflow-y:auto;padding:26px}
.modal-in h3{font-size:21px;font-weight:800;letter-spacing:-.03em;margin-bottom:18px}
.modal-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}

/* ---------- misc ---------- */
.banner{background:var(--fit-soft);border:1px solid #bfe0d0;border-radius:3px;padding:10px 14px;font-size:12.5px;color:#1c6b4d;margin-bottom:22px;display:flex;gap:9px;align-items:center}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:3px;font-size:13.5px;z-index:80;transition:.3s var(--ease);opacity:0;pointer-events:none}
.toast.on{transform:translateX(-50%);opacity:1}
.toast.err{background:var(--warn)}
.skills-pick{display:flex;flex-wrap:wrap;gap:7px}
.skills-pick .sk{border:1.5px solid var(--line);border-radius:2px;padding:6px 10px;cursor:pointer;font-size:12.5px;background:var(--card);user-select:none;transition:.2s}
.skills-pick .sk.on{border-color:var(--fit);background:var(--fit-soft);color:#1c6b4d;font-weight:600}

/* ---------- shared spacing/utility classes (replace one-off inline styles) ---------- */
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-width:0;display:inline-block;vertical-align:bottom}
.name.truncate{max-width:240px}
td.right .btn+.btn{margin-left:6px}
.picker-wrap{min-width:240px}
.picker-wrap-sm{min-width:220px}
.roster-foot{padding:16px}
.legend-dot{width:15px;height:3px;border-radius:2px;display:inline-block}
.legend-dot.sync{background:var(--fit)} .legend-dot.neutral{background:var(--soft)} .legend-dot.friction{background:var(--warn)}
.inspector-empty{padding:8px 0}
.inspector-meta{margin-top:10px}
.inspector-note{margin-top:14px}
.inspector-actions{display:flex;gap:8px;margin-top:20px}
.fc-empty{padding:24px 0}
.mt-sm{margin-top:10px}
.mt-md{margin-top:16px}
.mb-sm{margin-bottom:14px}
.banner.friction{background:#fbf0e2;border-color:#eed9bc;color:#9a5c14}
.login-error{color:var(--warn)}
.login-note{margin-top:18px}

/* ---------- FitMap micro-interactions ---------- */
#fitsvg .node{transition:r .15s var(--ease)}
#fitsvg .node:hover{cursor:pointer}
@keyframes dash-flow{to{stroke-dashoffset:-200}}
@media (prefers-reduced-motion: reduce){#fitsvg .edge.friction{animation:none}}

/* ---------- forecast panel ---------- */
.fc-score{display:flex;align-items:baseline;gap:14px}
.fc-total{font-family:var(--display);font-weight:800;font-size:56px;letter-spacing:-.04em;color:var(--fit);line-height:1}
.fc-unit{font-size:28px}
.fc-delta{font-family:var(--mono);font-size:15px;font-weight:600;padding:4px 10px;border-radius:3px}
.fc-delta.up{background:var(--fit-soft);color:#1c6b4d}
.fc-delta.down{background:#fbf0e2;color:#9a5c14}
.fc-breakdown{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.fc-row{display:grid;grid-template-columns:1fr 2fr 44px;gap:12px;align-items:center}
.fc-label{font-size:13px;color:var(--ink-2)}
.fc-bar{height:8px;background:var(--paper-2);border-radius:4px;overflow:hidden}
.fc-bar i{display:block;height:100%;background:var(--fit);border-radius:4px;transition:width .5s var(--ease)}
.fc-pct{font-family:var(--mono);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}

/* ---------- Owner decision room ---------- */
.eyebrow{margin-bottom:8px;color:var(--fit);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.project-brief{display:grid;gap:34px;padding:clamp(22px,4vw,42px);background:linear-gradient(145deg,var(--paper),#f5ede1)}
.project-brief section{display:grid;gap:14px}
.project-brief section+section{padding-top:30px;border-top:1px solid var(--line)}
.project-brief textarea{min-height:100px;resize:vertical}
.requirement-summary{display:flex;align-items:baseline;gap:10px;color:var(--ink-2)}
.requirement-summary strong{color:var(--ink);font-family:var(--display);font-size:30px}
.form-actions{display:flex;justify-content:flex-end}
.form-actions{gap:10px}.form-actions .btn-danger{margin-right:auto}
.btn-danger{color:#8a2f25;border-color:#d9aaa2;background:#fff8f5}
.project-switcher{align-items:flex-end}.project-switcher-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.project-switcher-actions select{min-width:min(360px,75vw)}
.requirements-workspace{margin-top:34px}.requirements-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.requirement-panel{padding:24px;display:grid;gap:18px;align-content:start}
.requirement-list{display:grid;gap:8px}.requirement-row{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.requirement-row div{display:grid;gap:4px}.requirement-row small{color:var(--ink-2)}
.requirement-form{display:grid;gap:12px;padding-top:10px}.check{display:flex;align-items:center;gap:8px}
.check input{width:auto}.icon-btn{border:0;background:transparent;font-size:24px;color:var(--ink-2);cursor:pointer}
.candidate-actions{display:flex;gap:8px;flex-wrap:wrap}.cv-stage{padding:24px;display:grid;gap:16px;margin-bottom:18px}.cv-stage-intro{display:grid;gap:8px;padding-bottom:4px}.cv-stage-intro p{max-width:62ch;color:var(--ink-2);font-size:13px}.field-help{display:block;margin-top:6px;color:var(--muted);font-family:var(--body);font-size:11px;letter-spacing:0;text-transform:none}.cv-review-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px}.cv-review-footer .sub{margin:0}
@media(max-width:900px){.requirements-grid{grid-template-columns:1fr}}
.candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.business-outcome{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.4fr);gap:24px;margin:0 0 28px;padding:24px;background:linear-gradient(135deg,#fffdf9,#e8f2eb)}
.business-outcome-main{display:grid;align-content:start;gap:10px}.business-outcome-main h3{font-size:28px}.business-outcome-main p:last-child{color:var(--ink-2);font-size:14px;line-height:1.6}
.business-outcome-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.business-outcome-facts>div{border-top:1px solid var(--line);padding-top:9px}.business-outcome-facts dt{color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.business-outcome-facts dd{margin:8px 0 0;font-size:13px;font-weight:600}.business-outcome-facts ul{display:grid;gap:4px;margin:0;padding-left:16px;font-weight:450}.business-outcome-blockers{grid-column:2;padding-top:2px;color:#8a551d;font-size:12px}.business-outcome-blockers ul{margin:10px 0 0;padding-left:18px}
.team-formats{margin:4px 0 34px}
.team-formats-head{margin-bottom:16px}
.team-formats-head h3{font-size:24px;font-weight:800}
.team-format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}
.team-format-card{position:relative;display:grid;gap:14px;padding:20px;background:linear-gradient(155deg,#fffdf8,#edf5ef)}
.team-format-card.is-blocked{background:linear-gradient(155deg,#fffdf8,#fbf0e2)}
.team-format-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.team-format-score{font-family:var(--display);font-size:44px;font-weight:800;letter-spacing:-.05em}
.team-format-score small{color:var(--muted);font-size:12px;letter-spacing:0}
.team-members{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.team-members li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}
.team-members li span{color:var(--muted);text-align:right}
.team-format-breakdown{margin:0}
.team-format-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.team-format-meta span{display:grid;gap:3px;border-top:1px solid var(--line);padding-top:7px;color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.team-format-meta strong{color:var(--ink);font-family:var(--body);font-size:12px;letter-spacing:0;text-transform:none}
.team-format-note{min-height:44px;margin:0;color:#1c6b4d;font-size:12px}
.candidate-card{position:relative;overflow:hidden;padding:24px;background:linear-gradient(155deg,#fffdf8,#f3eadc)}
.candidate-card::after{content:"";position:absolute;width:130px;height:130px;right:-78px;bottom:-86px;border:1px solid color-mix(in srgb,var(--fit) 38%,transparent);border-radius:50%}
.candidate-card.is-excluded{background:var(--paper-2);opacity:.72}
.candidate-rank{color:var(--fit);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.candidate-card h3{margin-top:16px;font-size:22px}
.candidate-score{margin:22px 0 18px;font-family:var(--display);font-size:48px;font-weight:800;letter-spacing:-.05em}
.candidate-score small{color:var(--muted);font-size:13px;letter-spacing:0}
.score-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}
.score-breakdown div{border-top:1px solid var(--line);padding-top:8px}
.score-breakdown dt{color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.score-breakdown dd{margin:4px 0 0;font-weight:700}
.candidate-warnings{min-height:44px;margin:0 0 20px;padding-left:18px;color:#8a551d;font-size:12px}
.ai-actions{display:flex;flex-wrap:wrap;gap:10px}
.ai-proposal,.cv-review{padding:clamp(22px,4vw,36px);background:linear-gradient(150deg,#fffdf8,#edf5ef)}
.proposal-body{margin:20px 0;padding:18px;border-left:3px solid var(--fit);background:rgba(255,255,255,.58);line-height:1.7}
.proposal-body pre{overflow:auto;white-space:pre-wrap}
.crm-section{margin-top:18px}
.crm-section .head{padding:18px 20px 0}

/* ---------- locale controls ---------- */
.shell-locale,.locale-switch{display:inline-flex;align-items:center;border:1px solid currentColor}
.shell-locale button,.locale-switch button{border:0;background:transparent;color:inherit;font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.1em;padding:6px 8px;cursor:pointer}
.shell-locale button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}

/* ---------- Swiss auth ---------- */
#login-root{min-height:100vh}
.auth-page{
  --auth-ink:#211a17;
  --auth-ink-soft:#342923;
  --auth-ivory:#f5efe5;
  --auth-ivory-deep:#ebe0d0;
  --auth-line:#d8cab8;
  --auth-fit:#5fb78f;
  --auth-cobalt:#5e7cf2;
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(520px,1.08fr);
  min-height:100vh;
  background:var(--auth-ivory);
}
.auth-ink{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(28px,5vw,72px);background:var(--auth-ink);color:#f8f0e5}
.auth-ink::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px}
.auth-ink::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-260px;bottom:-210px;border:1px solid rgba(95,183,143,.4);border-radius:50%;box-shadow:0 0 0 88px rgba(95,183,143,.05),0 0 0 176px rgba(95,183,143,.025)}
.auth-brand{display:inline-flex;align-items:center;gap:11px;width:max-content;font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-.03em}
.auth-brand b{color:var(--auth-fit);font-weight:800}
.auth-story{max-width:560px;margin-block:64px}
.auth-kicker{display:block;margin-bottom:20px;color:#bbaea2;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.auth-story h1{max-width:8ch;font-size:clamp(54px,7vw,96px);font-weight:700;letter-spacing:-.065em}
.auth-story p{max-width:38ch;margin-top:24px;color:#c9bbb0;font-size:clamp(15px,1.4vw,18px);line-height:1.65}
.auth-principle{color:#9f9085;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.auth-signal{display:grid;grid-template-columns:42px minmax(36px,92px) 64px minmax(36px,92px) 42px;align-items:center;width:min(100%,340px);margin-top:48px}
.signal-person,.signal-core{display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(248,240,229,.42);border-radius:50%;font-family:var(--mono);font-size:9px}
.signal-core{border-color:var(--auth-fit);background:rgba(95,183,143,.12);color:#c6f0dc;font-weight:500}
.signal-line{height:1px;background:linear-gradient(90deg,rgba(248,240,229,.25),var(--auth-fit))}
.signal-core + .signal-line{background:linear-gradient(90deg,var(--auth-fit),rgba(248,240,229,.25))}
.signal-two{border-color:rgba(94,124,242,.8)}

.auth-ivory{display:flex;min-width:0;flex-direction:column;padding:clamp(22px,4vw,48px);background:var(--auth-ivory);color:var(--auth-ink)}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.auth-topbar>a{border-bottom:1px solid currentColor;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.locale-switch{color:#72655b}
.locale-switch button[aria-pressed="true"]{background:var(--auth-ink);color:var(--auth-ivory)}
.auth-panel{width:min(100%,500px);margin:auto;padding-block:50px}
.auth-form-section h2{font-size:clamp(36px,5vw,58px);font-weight:750;letter-spacing:-.055em}
.auth-lede{max-width:45ch;margin-top:14px;color:#71665d;font-size:15px;line-height:1.65}
#login-form{margin-top:34px}
.auth-field{margin-bottom:18px}
.auth-field label{margin-bottom:8px;color:#766a60;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.auth-field input{height:52px;border:1px solid var(--auth-line);border-radius:0;background:#fffaf2;padding:13px 14px;color:var(--auth-ink)}
.auth-field input:focus{border-color:var(--auth-ink);box-shadow:0 0 0 1px var(--auth-ink)}
.auth-submit,.owner-demo-button{width:100%;min-height:50px;border:1px solid var(--auth-ink);border-radius:0;background:var(--auth-ink);color:var(--auth-ivory);font-family:var(--display);font-size:13px;font-weight:700;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}
.auth-submit:hover,.owner-demo-button:hover{background:var(--auth-fit);border-color:var(--auth-fit);color:#12241c}
.auth-submit:disabled,.owner-demo-button:disabled{cursor:wait;opacity:.65}
.auth-status{min-height:22px;margin:4px 0 8px;color:#a0482f;font-size:13px}
.auth-status:not(.visible){visibility:hidden}
.auth-divider{display:flex;align-items:center;gap:14px;margin:30px 0;color:#93877d;font-family:var(--mono);font-size:9px;letter-spacing:.12em}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--auth-line)}
.owner-demo-card{position:relative;border:1px solid var(--auth-line);background:rgba(255,250,242,.58);padding:24px}
.owner-demo-tag{position:absolute;right:20px;top:20px;border:1px solid var(--auth-fit);padding:4px 7px;color:#287452;font-family:var(--mono);font-size:8px;letter-spacing:.14em}
.owner-demo-card h3{font-size:22px;font-weight:750}
.owner-demo-card>p{max-width:40ch;margin-top:9px;color:#71665d;font-size:13px;line-height:1.55}
.owner-demo-card dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.owner-demo-card dl div{min-width:0}
.owner-demo-card dt{color:#8a7d72;font-family:var(--mono);font-size:8px;letter-spacing:.11em;text-transform:uppercase}
.owner-demo-card dd{overflow:hidden;margin:5px 0 0;font-family:var(--mono);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.owner-demo-button{min-height:44px;background:transparent;color:var(--auth-ink)}
.auth-privacy{margin-top:18px;color:#8a7d72;font-size:11px;line-height:1.55}

@media(max-width:900px){
  .auth-page{grid-template-columns:1fr}
  .auth-ink{min-height:330px;padding:30px}
  .auth-story{margin-block:54px 30px}
  .auth-story h1{font-size:52px}
  .auth-signal{display:none}
  .auth-principle{display:none}
  .auth-ivory{padding:24px}
  .auth-panel{padding-block:54px 24px}
}
@media(max-width:640px){
  .nav-in{gap:10px}
  .shell-locale{display:none}
  .nav-more-menu{right:-8px}
  .business-outcome{grid-template-columns:1fr}
  .business-outcome-facts{grid-template-columns:1fr}
  .business-outcome-blockers{grid-column:auto}
  .cv-review-footer{align-items:flex-start;flex-direction:column}
  .auth-ink{min-height:280px}
  .auth-story h1{font-size:44px}
  .owner-demo-card dl{grid-template-columns:1fr}
}
