:root {
  color-scheme: light;
  --navy-1000:#041220; --navy-950:#071a30; --navy-900:#0b2545; --navy-800:#12375f;
  --blue:#24699f; --blue-100:#e8f1f8; --blue-200:#c8ddec; --green:#43cb80; --green-dark:#176b48;
  --orange:#cf4f25; --orange-soft:#fff0e9; --paper:#f5f7f9; --surface:#fff; --ink:#11263a;
  --muted:#62768a; --line:#dce4ea; --shadow:0 18px 50px rgba(8,31,52,.09);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
button { color:inherit; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.hidden { display:none !important; }
.skip-link { position:fixed; z-index:1000; left:18px; top:-80px; padding:11px 15px; border-radius:8px; background:#fff; color:var(--navy-950); }
.skip-link:focus { top:18px; }
.brand { display:inline-flex; align-items:center; gap:11px; color:var(--navy-950); text-decoration:none; font-size:.86rem; font-weight:900; letter-spacing:.14em; }
.brand-light { color:#fff; }
.brand-mark { position:relative; width:34px; aspect-ratio:1; overflow:hidden; border:1.5px solid #86b3dc; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 6px,rgba(126,179,228,.5) 7px 8px); }
.brand-mark::before { content:""; position:absolute; left:50%; top:50%; width:45%; height:2px; transform:rotate(-34deg); transform-origin:left center; background:var(--green); box-shadow:0 0 9px rgba(67,203,128,.8); }
.brand-mark::after { content:""; position:absolute; right:20%; top:22%; width:5px; height:5px; border-radius:50%; background:#ff7545; }
.eyebrow { margin:0 0 10px; color:var(--blue); font-size:.69rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow.light { color:#89e9b2; }
.muted { color:var(--muted); }
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:10px 16px; border:1px solid transparent; border-radius:9px; background:transparent; cursor:pointer; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease,border-color .18s ease; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:var(--orange); color:#fff; border-color:#ad3f1c; box-shadow:0 9px 22px rgba(207,79,37,.17); }
.button.primary:hover { background:#df5b2d; }
.button.secondary { border-color:#bfcdd8; background:#fff; color:#1b4f78; }
.button.secondary:hover { border-color:#7fa5c3; }
.button.ghost { color:var(--muted); }
.button.full { width:100%; }
.text-link { padding:0; border:0; background:none; color:var(--blue); cursor:pointer; font-weight:800; }
label { color:#334c63; font-size:.79rem; font-weight:750; }
input,textarea,select { width:100%; margin-top:7px; padding:11px 12px; border:1px solid #c9d5df; border-radius:8px; background:#fff; color:var(--ink); }
input:focus,textarea:focus,select:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(36,105,159,.12); }
.auth-view { min-height:100svh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr); }
.auth-copy { position:relative; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:clamp(48px,8vw,120px); color:#d3dfeb; background:radial-gradient(circle at 76% 18%,rgba(42,120,184,.25),transparent 27rem),linear-gradient(145deg,#04121f,#08213a 60%,#06182a); }
.auth-copy::after { content:""; position:absolute; right:-110px; bottom:-160px; width:520px; height:520px; border:1px solid rgba(126,179,228,.32); border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 64px,rgba(126,179,228,.18) 65px 67px); }
.auth-copy .brand { position:absolute; left:clamp(48px,8vw,120px); top:48px; }
.auth-copy h1 { position:relative; z-index:1; max-width:700px; margin:0; color:#fff; font-size:clamp(3rem,6vw,6.2rem); line-height:.94; letter-spacing:-.065em; text-wrap:balance; }
.auth-copy > p:not(.eyebrow) { position:relative; z-index:1; max-width:620px; margin:26px 0 0; font-size:1.12rem; line-height:1.65; }
.trust-list { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:12px 24px; margin:32px 0 0; padding:0; list-style:none; color:#9cb2c6; font-size:.79rem; font-weight:750; }
.trust-list li::before { content:"✓"; margin-right:8px; color:var(--green); }
.auth-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:48px; background:#eef3f6; }
.auth-card { width:min(100%,470px); padding:clamp(28px,5vw,48px); border:1px solid #d5e0e7; border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.auth-card h2 { margin:0; font-size:2rem; line-height:1.08; letter-spacing:-.035em; }
.auth-card > p { line-height:1.55; }
.auth-card form { display:grid; gap:14px; margin-top:26px; }
.auth-card .consent-check { margin-top:0; padding:11px 12px; font-size:.72rem; font-weight:650; }
.auth-card .optional-consent { border:1px solid #d9e4ea; background:#f8fbfd; }
.auth-card .consent-check a { color:var(--blue); }
.form-status { min-height:1.25em; margin:0; color:var(--green-dark); font-size:.8rem; line-height:1.4; }
.form-status.is-busy { display:flex; align-items:center; gap:9px; }
.form-status.is-busy::before { content:""; flex:none; width:14px; height:14px; border:2px solid #b8c9d6; border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
@media (prefers-reduced-motion: reduce) { .form-status.is-busy::before { animation:none; } }
.divider { display:flex; align-items:center; gap:12px; margin:24px 0; color:#8c9ba8; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.divider::before,.divider::after { content:""; flex:1; height:1px; background:var(--line); }
.fixture-note { margin:12px 0 0; color:#8292a0; font-size:.72rem; line-height:1.45; text-align:center; }
.legal-note { max-width:430px; margin:18px 0 0; color:#7b8c9b; font-size:.72rem; text-align:center; }
.product-view { min-height:100svh; }
.sidebar { position:fixed; z-index:30; inset:0 auto 0 0; width:250px; display:flex; flex-direction:column; justify-content:space-between; padding:29px 20px 20px; color:#b6c8d8; background:linear-gradient(180deg,var(--navy-950),#061827); }
.sidebar .brand { margin-left:8px; }
.synthetic-badge { display:flex; align-items:center; gap:8px; margin:28px 5px 22px; padding:8px 10px; border:1px solid rgba(67,203,128,.22); border-radius:8px; background:rgba(67,203,128,.07); color:#86dfa9; font-size:.64rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.synthetic-badge span { width:6px; height:6px; border-radius:50%; background:var(--green); }
.primary-nav { display:grid; gap:5px; }
.primary-nav button { width:100%; display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:8px; min-height:45px; padding:8px 11px; border:0; border-radius:8px; background:transparent; color:#9eb3c7; cursor:pointer; text-align:left; font-size:.81rem; font-weight:750; }
.primary-nav button:hover { color:#fff; background:rgba(255,255,255,.05); }
.primary-nav button.active { color:#fff; background:#13395e; box-shadow:inset 3px 0 var(--green); }
.nav-icon { display:grid; place-items:center; width:23px; height:23px; color:#7fa9cc; font-size:1rem; }
.nav-count { min-width:24px; padding:2px 6px; border-radius:999px; background:rgba(255,255,255,.1); color:#a9c3d9; font-size:.64rem; text-align:center; }
.sidebar-footer { display:grid; gap:8px; }
.profile-chip { display:grid; grid-template-columns:37px 1fr auto; align-items:center; gap:9px; width:100%; padding:10px 6px; border:0; border-top:1px solid rgba(255,255,255,.1); background:none; color:#fff; cursor:pointer; text-align:left; }
.profile-chip span:nth-child(2) { display:grid; gap:2px; }
.profile-chip strong { font-size:.76rem; }.profile-chip small { color:#819bb3; font-size:.65rem; }
.avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#d9ecf7; color:#174e78; font-size:.72rem; font-weight:900; }
.sign-out { justify-self:start; padding:5px 6px; border:0; background:none; color:#7691aa; cursor:pointer; font-size:.7rem; }
.workspace { min-height:100svh; margin-left:250px; }
.mobile-header { display:none; }
.workspace-main { width:min(100%,1500px); margin:0 auto; padding:38px clamp(28px,4vw,66px) 80px; }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:28px; }
.page-heading.compact { align-items:center; }
.page-heading > div:first-child { max-width:900px; }
.page h1 { max-width:880px; margin:0; color:var(--ink); font-size:clamp(2rem,3.3vw,3.65rem); line-height:1.02; letter-spacing:-.055em; text-wrap:balance; }
.page-lede { max-width:800px; margin:15px 0 0; color:var(--muted); font-size:.98rem; line-height:1.62; }
.panel { border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 8px 30px rgba(14,43,66,.05); }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.panel-heading h2 { margin:0; font-size:1.25rem; letter-spacing:-.025em; }
.welcome-shell { max-width:1050px; margin:5vh auto 0; }
.welcome-shell > h1 { max-width:950px; font-size:clamp(3rem,5.8vw,6rem); }
.welcome-shell .page-lede { max-width:760px; font-size:1.08rem; }
.beta-status-shell { max-width:900px; }
.status-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:32px 0 18px; }
.status-grid article { display:grid; gap:7px; padding:21px; }
.status-grid span { color:var(--muted); font-size:.66rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.status-grid strong { color:var(--ink); font-size:1.35rem; }
.status-grid small { color:var(--muted); font-size:.68rem; line-height:1.45; }
.beta-status-shell .callout { max-width:760px; }
.button:disabled,.upload-card.disabled { cursor:not-allowed; opacity:.55; transform:none; }
.intro-copy { display:grid; max-width:780px; margin-top:36px; border-top:1px solid var(--line); }
.intro-copy p { margin:0; padding:16px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.88rem; line-height:1.6; }
.intro-copy strong { color:var(--ink); }
.welcome-action { display:flex; align-items:center; gap:18px; margin-top:30px; }.welcome-action span { color:#738596; font-size:.76rem; }
.setup-progress { width:190px; color:var(--muted); font-size:.7rem; text-align:right; }.setup-progress div { height:5px; margin-top:9px; border-radius:999px; background:#dbe4ea; }.setup-progress span { display:block; width:33%; height:100%; border-radius:inherit; background:var(--green); transition:width .25s ease; }
#onboarding-form { max-width:970px; padding:30px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.form-section-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:25px; }.form-section-heading > span { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; background:var(--blue-100); color:var(--blue); font-weight:900; }.form-section-heading h2 { margin:1px 0 4px; font-size:1.35rem; }.form-section-heading p { margin:0; color:var(--muted); font-size:.82rem; }
.upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.upload-card { display:grid; place-items:center; min-height:150px; padding:20px; border:1.5px dashed #adc5d8; border-radius:11px; background:#f8fbfd; cursor:pointer; text-align:center; }.upload-card:hover { border-color:var(--blue); }.upload-card.optional { background:#fcfcfb; }.upload-card input { position:absolute; width:1px; height:1px; opacity:0; }.upload-card strong { margin-top:7px; color:var(--ink); font-size:.9rem; }.upload-card small { margin-top:4px; color:var(--muted); font-weight:500; }.upload-icon { color:var(--blue); font-size:1.8rem; font-weight:400; }
.resume-text-field { display:grid; gap:5px; margin-bottom:20px; }.resume-text-field textarea { min-height:260px; resize:vertical; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.76rem; line-height:1.55; }.resume-text-field small { color:var(--muted); font-size:.67rem; font-weight:500; }
.loaded-file { display:grid; grid-template-columns:43px 1fr auto; align-items:center; gap:12px; margin-top:14px; padding:13px; border:1px solid #cce6d7; border-radius:9px; background:#f4fbf7; }.loaded-file span:nth-child(2) { display:grid; gap:3px; }.loaded-file strong { font-size:.8rem; }.loaded-file small { color:var(--muted); font-size:.7rem; }.loaded-file > b { color:var(--green-dark); font-size:.7rem; }.file-icon { display:grid; place-items:center; height:38px; border-radius:6px; background:#e85c36; color:#fff; font-size:.58rem; font-weight:900; }
.upload-privacy { margin:14px 0 0; color:var(--muted); font-size:.68rem; line-height:1.5; }.uploaded-documents { display:grid; gap:8px; }.uploaded-documents .loaded-file { margin-top:0; }.uploaded-documents .loaded-file:first-child { margin-top:14px; }.loaded-file-actions { display:flex; gap:7px; }.loaded-file-actions button { padding:6px 8px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--blue); cursor:pointer; font-size:.62rem; font-weight:800; }.empty-upload { margin:14px 0 0; padding:13px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:.72rem; }.builder-upload { display:grid; gap:3px; padding:11px; border:1px dashed #9dbbd1; border-radius:7px; background:#f6fafc; cursor:pointer; }.builder-upload strong { font-size:.72rem; }.builder-upload small { color:var(--muted); font-size:.6rem; line-height:1.4; }.builder-upload input { position:absolute; width:1px; height:1px; opacity:0; }.button.danger { border-color:#9d2e22; background:#b83c2d; color:#fff; }.account-dialog hr { margin:24px 0; border:0; border-top:1px solid var(--line); }.account-dialog label { display:grid; gap:7px; margin-top:14px; color:var(--ink); font-size:.75rem; }.account-dialog input { width:100%; margin:8px 0 12px; }.account-dialog .button + hr { margin-top:24px; }
.callout { margin-top:18px; padding:14px 16px; border-radius:8px; font-size:.77rem; line-height:1.5; }.callout.info { border-left:3px solid var(--blue); background:#eef6fb; }.callout strong { display:block; margin-bottom:3px; }.callout p { margin:0; color:var(--muted); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.field-grid .wide { grid-column:1/-1; }.field-grid fieldset { margin:0; padding:0; border:0; }.choice-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }.choice-row label { display:flex; align-items:center; gap:8px; padding:10px 13px; border:1px solid var(--line); border-radius:8px; background:#fafcfd; }.choice-row input { width:auto; margin:0; }.money-input { position:relative; }.money-input span { position:absolute; z-index:1; left:12px; top:18px; color:var(--muted); }.money-input input { padding-left:27px; }
.review-list { display:grid; gap:10px; }.review-list article { display:grid; grid-template-columns:minmax(145px,190px) 1fr; gap:24px; padding:18px 20px; border:1px solid var(--line); border-radius:9px; }.review-list span { padding-top:3px; color:var(--blue); font-size:.65rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.review-list strong { display:block; margin:0 0 5px; font-size:.88rem; line-height:1.35; }.review-list p { margin:0; color:var(--muted); font-size:.73rem; line-height:1.55; }
.candidate-profile { max-width:970px; padding:28px; }.candidate-profile > header { padding-bottom:22px; border-bottom:1px solid var(--line); }.candidate-profile > header h2 { margin:0; font-size:1.65rem; }.candidate-profile > header p { max-width:760px; color:var(--muted); line-height:1.6; }.candidate-profile > header small { color:var(--blue); font-weight:800; }.candidate-profile section { padding:22px 0 4px; border-bottom:1px solid var(--line); }.candidate-profile section:last-child { border:0; }.candidate-profile section h2 { margin:0 0 12px; font-size:1rem; }.candidate-profile section article { margin:0 0 18px; padding:14px; border-radius:8px; background:#f7f9fa; }.candidate-profile h3 { margin:0; font-size:.82rem; }.candidate-profile section p { margin:5px 0; color:var(--muted); font-size:.7rem; }.candidate-profile ul { margin:8px 0 14px; padding-left:20px; color:#425a70; font-size:.74rem; line-height:1.55; }.profile-review-actions { display:grid; grid-template-columns:1fr 1fr; gap:26px; max-width:970px; margin-top:18px; padding:25px; }.profile-review-actions h2 { margin:0 0 7px; font-size:1rem; }.profile-review-actions p { color:var(--muted); font-size:.74rem; line-height:1.5; }.profile-review-actions .form-status { grid-column:1/-1; }
.api-plan { margin-top:18px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }.api-plan > div { display:flex; align-items:center; gap:13px; padding:13px 15px; border-bottom:1px solid var(--line); }.api-plan > div:last-child { border:0; }.api-plan div > span:last-child { display:grid; gap:2px; }.api-plan strong { font-size:.78rem; }.api-plan small { color:var(--muted); font-size:.68rem; }.api-number { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:50%; background:var(--orange); color:#fff; font-size:.72rem; font-weight:900; }.muted-number { background:#dfe6eb; color:#647687; }.consent-check { display:flex; align-items:flex-start; gap:10px; margin-top:18px; padding:13px; border-radius:8px; background:#f7f9fa; line-height:1.45; }.consent-check input { width:auto; margin:2px 0 0; }
.form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.processing-shell { max-width:670px; margin:8vh auto 0; text-align:center; }.processing-shell h1 { margin-inline:auto; }.processing-radar { position:relative; width:120px; height:120px; margin:0 auto 25px; overflow:hidden; border:1px solid #78a5ca; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 19px,rgba(62,126,179,.25) 20px 21px); }.processing-radar::after { content:""; position:absolute; left:50%; top:50%; width:44%; height:2px; transform-origin:left center; background:var(--green); animation:sweep 2s linear infinite; }.processing-radar span { position:absolute; right:24%; top:21%; width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgba(207,79,37,.14); }.processing-list { display:grid; gap:0; margin:30px auto 0; text-align:left; }.processing-list > div { display:grid; grid-template-columns:28px 1fr; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); }.processing-list > div > span { display:grid; place-items:center; width:25px; height:25px; border:2px solid #c8d3dc; border-radius:50%; color:#fff; font-size:.7rem; }.processing-list p { display:grid; gap:3px; margin:0; }.processing-list strong { font-size:.82rem; }.processing-list small { color:var(--muted); font-size:.7rem; }.processing-list .done > span { border-color:var(--green); background:var(--green); }.processing-list .active > span { border-color:var(--blue); border-top-color:transparent; animation:spin .8s linear infinite; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:16px; }.stat-grid article { display:grid; gap:5px; padding:18px; border:1px solid var(--line); border-radius:11px; background:#fff; }.stat-grid span { color:var(--muted); font-size:.69rem; font-weight:800; }.stat-grid strong { font-size:1.45rem; letter-spacing:-.035em; }.stat-grid small { color:#7e909f; font-size:.68rem; }
.summary-flow { display:grid; gap:16px; }.identity-card { padding:24px; }.identity-card > p { color:var(--muted); font-size:.87rem; line-height:1.6; }.confidence-pill,.coverage-label { padding:5px 9px; border-radius:999px; background:#e3f4eb; color:var(--green-dark); font-size:.63rem; font-weight:900; }.signal-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }.signal-row span { padding:6px 9px; border-radius:6px; background:var(--blue-100); color:#245c87; font-size:.68rem; font-weight:750; }.evidence-note { display:flex; gap:10px; margin-top:20px; padding:13px; border-left:3px solid #d79a45; background:#fff9ef; font-size:.72rem; line-height:1.45; }.evidence-note span { color:#735d3e; }.next-step-card { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(280px,1.15fr) auto; align-items:center; gap:28px; padding:25px; color:#d8e4ee; background:linear-gradient(145deg,var(--navy-900),#0c3152); }.next-step-card .eyebrow { color:#8fe7b3; }.next-step-card h2 { margin:0; color:#fff; font-size:1.55rem; }.next-step-card p:not(.eyebrow) { margin:0; color:#adbed0; font-size:.8rem; line-height:1.55; }.next-step-card .button { margin:0; white-space:nowrap; }
.recommendations { padding:24px; }.recommendation-list { display:grid; gap:0; margin-top:15px; }.recommendation-list article { display:grid; grid-template-columns:90px 1fr; gap:16px; padding:17px 0; border-top:1px solid var(--line); }.recommendation-list h3 { margin:0 0 4px; font-size:.9rem; }.recommendation-list p { margin:0; color:var(--muted); font-size:.75rem; line-height:1.5; }.priority { align-self:start; padding:4px 7px; border-radius:5px; font-size:.6rem; font-weight:900; text-align:center; }.priority.high { background:#ffe7df; color:#a73f1f; }.priority.medium { background:#fff0cf; color:#835e0e; }.priority.low { background:#e8f1f8; color:#2c628b; }
.fixture-chip,.coming-chip,.api-budget { padding:7px 10px; border:1px solid #cbd6de; border-radius:7px; background:#fff; color:var(--muted); font-size:.68rem; font-weight:750; }.api-budget b { color:var(--blue); }
.analytics-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:15px; }.chart-panel,.coverage-panel,.salary-panel,.skill-demand { padding:24px; }.bar-chart { display:grid; gap:18px; margin-top:28px; }.bar-chart > div { display:grid; grid-template-columns:75px 1fr 24px; align-items:center; gap:11px; font-size:.72rem; }.bar-chart i { height:12px; overflow:hidden; border-radius:4px; background:#edf1f4; }.bar-chart i b { display:block; height:100%; background:linear-gradient(90deg,#2a6ea3,#4e9dd2); }.bar-chart i.warm b { background:#d99662; }.chart-note { margin:22px 0 0; color:var(--muted); font-size:.72rem; line-height:1.5; }.coverage-score { display:flex; align-items:baseline; margin-top:19px; }.coverage-score strong { color:var(--green-dark); font-size:3.8rem; line-height:.9; letter-spacing:-.07em; }.coverage-score span { color:var(--muted); }.coverage-panel h2,.salary-panel h2 { margin:17px 0 7px; font-size:1.25rem; }.coverage-panel > p:not(.eyebrow),.salary-panel > p:not(.eyebrow) { color:var(--muted); font-size:.76rem; line-height:1.5; }.salary-track { position:relative; height:7px; margin:34px 3px 20px; border-radius:999px; background:#e4eaee; }.salary-track b { position:absolute; height:100%; border-radius:inherit; background:#77acd3; }.salary-track span { position:absolute; z-index:2; top:-5px; width:3px; height:17px; background:var(--orange); }.salary-track i { position:absolute; top:16px; color:var(--orange); font-size:.61rem; font-style:normal; transform:translateX(-35%); }.skill-demand { grid-column:1/-1; }.skill-table { display:grid; margin-top:18px; }.skill-table > div { display:grid; grid-template-columns:1fr 1.2fr .7fr; align-items:center; gap:16px; padding:11px; border-top:1px solid var(--line); font-size:.72rem; }.skill-table > div:first-child { border:0; background:#f5f8fa; color:#627687; font-size:.63rem; }.meter { height:7px; border-radius:999px; background:#e7ecef; }.meter b { display:block; height:100%; border-radius:inherit; background:#51a87b; }.meter.warm b { background:#d99561; }
.selection-count { min-width:125px; padding:11px 14px; border:1px solid var(--line); border-radius:9px; background:#fff; }.selection-count strong { display:block; color:var(--blue); font-size:1.45rem; }.selection-count span { color:var(--muted); font-size:.63rem; }.radar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }.radar-tabs { display:flex; gap:3px; padding:4px; border:1px solid var(--line); border-radius:9px; background:#fff; }.radar-tabs button { padding:8px 10px; border:0; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; font-size:.7rem; font-weight:750; }.radar-tabs button span { margin-left:4px; color:#8aa0b2; }.radar-tabs button.active { background:var(--navy-900); color:#fff; }.filters { display:flex; align-items:center; gap:12px; }.filters label { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.67rem; }.filters select { width:auto; margin:0; padding:8px; font-size:.68rem; }.toggle input { width:auto; margin:0; }.radar-list { display:grid; gap:10px; padding-bottom:80px; }
.role-card { display:grid; grid-template-columns:44px minmax(220px,1fr) minmax(240px,.9fr) auto; align-items:center; gap:16px; padding:17px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 5px 18px rgba(10,36,57,.04); }.role-card.selected { border-color:#75b392; box-shadow:0 0 0 2px rgba(67,203,128,.12); }.role-rank { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--navy-900); color:#fff; font-size:.72rem; font-weight:900; }.role-main h2 { margin:0; font-size:.95rem; }.role-main p { margin:4px 0; color:#435d73; font-size:.73rem; font-weight:700; }.role-main small { color:var(--muted); font-size:.66rem; }.role-evidence { padding-left:16px; border-left:1px solid var(--line); }.role-score { display:inline-block; padding:4px 7px; border-radius:999px; background:#e2f3e9; color:var(--green-dark); font-size:.62rem; font-weight:900; }.role-evidence p { margin:7px 0 0; color:var(--muted); font-size:.68rem; line-height:1.45; }.role-action { display:grid; gap:6px; min-width:118px; }.role-action button { padding:8px 9px; border:1px solid #b8c8d4; border-radius:7px; background:#fff; color:#245c87; cursor:pointer; font-size:.68rem; font-weight:850; }.role-action button.select-role.selected { border-color:#62ae84; background:#e7f5ed; color:#176b48; }.role-action span { color:var(--muted); font-size:.61rem; text-align:center; }.sticky-selection { position:fixed; z-index:20; right:35px; bottom:24px; display:flex; align-items:center; gap:24px; padding:12px 13px 12px 18px; border-radius:11px; background:var(--navy-950); color:#fff; box-shadow:0 14px 40px rgba(4,18,32,.28); }.sticky-selection > span { display:grid; gap:2px; }.sticky-selection strong { font-size:.75rem; }.sticky-selection small { color:#91a8bd; font-size:.62rem; }
.builder-layout { display:grid; grid-template-columns:315px 1fr; gap:18px; }.builder-controls { padding:20px; }.builder-controls select { margin-bottom:16px; }.builder-controls hr { margin:17px 0; border:0; border-top:1px solid var(--line); }.template-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.template { padding:7px; border:1px solid var(--line); border-radius:7px; background:#fff; cursor:pointer; text-align:left; }.template.active { border-color:var(--blue); box-shadow:0 0 0 2px rgba(36,105,159,.1); }.template strong,.template small { display:block; margin-top:5px; font-size:.64rem; }.template small { color:var(--muted); font-size:.58rem; }.template-preview { display:block; height:65px; border:1px solid #d7dfe5; border-radius:3px; background:repeating-linear-gradient(to bottom,#8fa1af 0 2px,transparent 2px 7px); opacity:.65; }.template-preview.modern { border-top:10px solid #2a6da1; }.template-preview.compact { background-size:auto 5px; }.mode-list { display:grid; gap:8px; }.mode-list label { display:grid; grid-template-columns:18px 1fr; gap:2px 7px; padding:10px; border:1px solid var(--line); border-radius:7px; }.mode-list input { width:auto; margin:1px 0 0; grid-row:1/3; }.mode-list small { color:var(--muted); font-size:.61rem; line-height:1.4; }.builder-controls > .button { margin-top:17px; }.resume-canvas { min-width:0; min-height:650px; display:grid; place-items:center; padding:35px; border:1px solid var(--line); border-radius:13px; background:#dfe5e9; }.resume-canvas.has-draft { display:block; }.empty-builder { max-width:430px; text-align:center; }.empty-builder > span { color:#8fa3b4; font-size:2.5rem; }.empty-builder h2 { margin:15px 0 7px; }.empty-builder p { color:var(--muted); font-size:.8rem; line-height:1.55; }.draft-preview { display:grid; justify-items:center; gap:16px; width:100%; }.draft-toolbar,.draft-review { width:min(100%,700px); }.draft-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border-radius:9px; background:var(--navy-900); color:#fff; }.draft-toolbar > div { display:grid; gap:2px; }.draft-toolbar span { color:#8fe7b3; font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.draft-toolbar strong { font-size:.77rem; }.draft-toolbar small { color:#aebfd0; font-size:.61rem; }.draft-toolbar .button { flex:0 0 auto; padding:9px 12px; border-color:#8aa4b9; background:transparent; color:#fff; }.draft-review { padding:15px 17px; border-left:3px solid #d79a45; background:#fff9ef; }.draft-review > strong { font-size:.75rem; }.draft-review ul { margin:8px 0 0; padding-left:18px; color:#735f43; font-size:.68rem; line-height:1.5; }.resume-paper { width:min(100%,700px); min-height:900px; padding:55px; background:#fff; box-shadow:0 12px 35px rgba(12,34,51,.14); }.resume-paper header { border-bottom:2px solid var(--ink); padding-bottom:15px; }.resume-paper h2 { margin:0; font-size:2rem; }.resume-paper header p,.resume-paper section p { color:#485c6d; font-size:.72rem; line-height:1.55; }.resume-paper .resume-metadata { margin-top:-4px; color:#6c7d8a; font-size:.65rem; font-style:italic; }.resume-paper h3 { margin:22px 0 8px; color:var(--blue); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }.resume-paper ul { padding-left:18px; }.resume-paper li { margin:6px 0; font-size:.72rem; line-height:1.45; }.resume-change { background:#e7f5ed; box-shadow:0 0 0 2px #e7f5ed; }.change-note { display:block; margin-top:5px; color:var(--green-dark); font-size:.58rem; font-weight:800; }
.salary-track em { position:absolute; top:-25px; color:var(--green-dark); font-size:.61rem; font-style:normal; font-weight:800; transform:translateX(-20%); }.salary-caveat { display:block; margin-top:31px; color:#8293a1; font-size:.65rem; line-height:1.45; }
.role-description { grid-column:2/-1; border-top:1px solid var(--line); }.role-description summary { width:max-content; margin-top:2px; padding:12px 0 1px; color:var(--blue); cursor:pointer; font-size:.68rem; font-weight:850; list-style-position:outside; }.role-description[open] summary { margin-bottom:14px; }.role-description-body { padding:17px 18px; border-radius:9px; background:#f6f9fb; }.role-description-body > p { margin:0; color:#43596d; font-size:.76rem; line-height:1.6; }.role-description-body > div { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:17px; }.role-description-body h3 { margin:0 0 8px; font-size:.76rem; }.role-description-body ul { margin:0; padding-left:18px; color:var(--muted); font-size:.7rem; line-height:1.55; }.role-description-body li { margin:5px 0; }.role-description-body .job-source { margin-top:18px; padding-top:11px; border-top:1px solid var(--line); color:#8797a4; font-size:.62rem; font-weight:750; }
.resume-health { margin-bottom:18px; padding:24px; }.resume-health .panel-heading > div:first-child { max-width:760px; }.resume-health .panel-heading p:not(.eyebrow) { margin:8px 0 0; color:var(--muted); font-size:.76rem; line-height:1.5; }.resume-health-score { display:grid; grid-template-columns:auto auto; align-items:baseline; min-width:105px; text-align:right; }.resume-health-score strong { color:var(--green-dark); font-size:2.6rem; letter-spacing:-.06em; }.resume-health-score > span { color:var(--muted); font-size:.8rem; }.resume-health-score small { grid-column:1/-1; color:#8a6721; font-size:.61rem; font-weight:850; }.resume-health-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:20px; }.resume-health-grid article { padding:14px; border:1px solid var(--line); border-radius:8px; }.resume-health-grid article > strong { display:block; margin:10px 0 5px; font-size:.76rem; }.resume-health-grid article p { margin:0; color:var(--muted); font-size:.66rem; line-height:1.5; }.health-status { padding:3px 6px; border-radius:4px; font-size:.55rem; font-weight:900; text-transform:uppercase; }.health-status.good { background:#e2f3e9; color:var(--green-dark); }.health-status.warn { background:#fff0d6; color:#825d16; }.resume-health-action { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:15px; padding:13px 15px; border-left:3px solid #d79a45; background:#fff9ef; }.resume-health-action > span { display:grid; gap:3px; }.resume-health-action strong { font-size:.75rem; }.resume-health-action small { color:#735f43; font-size:.68rem; }.mode-card { position:relative; display:grid; grid-template-columns:24px 1fr auto; gap:2px 7px; padding:11px; border:1px solid #81b498; border-radius:7px; background:#f3faf6; }.mode-card .mode-check { grid-row:1/3; display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:var(--green); color:#fff; font-size:.68rem; }.mode-card > strong { font-size:.74rem; }.mode-card > small { grid-column:2/-1; color:var(--muted); font-size:.61rem; line-height:1.4; }.mode-card > b { color:var(--green-dark); font-size:.54rem; text-transform:uppercase; }
.future-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.future-grid article { padding:25px; }.future-grid article > span { color:var(--orange); font-size:.7rem; font-weight:900; }.future-grid h2 { margin:28px 0 8px; font-size:1.1rem; }.future-grid p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.bridge-map { display:grid; grid-template-columns:1fr 180px 1fr; align-items:center; gap:0; margin-bottom:17px; }.bridge-map > article { min-height:260px; padding:28px; border-radius:14px; }.bridge-map article > p { color:#7890a4; font-size:.68rem; font-weight:850; text-transform:uppercase; }.bridge-map h2 { margin:12px 0 25px; font-size:1.5rem; }.bridge-current { color:#d8e4ee; background:var(--navy-900); }.bridge-current h2 { color:#fff; }.bridge-current > span { display:inline-block; margin:3px; padding:6px 8px; border-radius:5px; background:rgba(255,255,255,.08); font-size:.67rem; }.bridge-line { position:relative; height:2px; background:#80a9c8; text-align:center; }.bridge-line::after { content:"→"; position:absolute; right:-3px; top:-13px; color:var(--blue); font-size:1.3rem; }.bridge-line span { position:relative; top:-27px; padding:5px; background:var(--paper); color:var(--blue); font-size:.63rem; font-weight:800; }.bridge-next { border:1px solid var(--line); background:#fff; }.bridge-next > div { display:grid; gap:3px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }.bridge-next strong { color:var(--green-dark); font-size:.68rem; }.bridge-next span { color:var(--muted); font-size:.73rem; }.gap-list { padding:24px; }.gap-list > article { display:grid; grid-template-columns:100px 1fr 80px; align-items:start; gap:16px; padding:18px 0; border-top:1px solid var(--line); }.gap-list h3 { margin:0 0 4px; font-size:.88rem; }.gap-list article p { margin:0; color:var(--muted); font-size:.73rem; line-height:1.5; }.gap-list article > strong { color:var(--blue); font-size:.69rem; text-align:right; }.gap-type { padding:5px 7px; border-radius:5px; font-size:.59rem; font-weight:900; text-align:center; }.gap-type.evidence { background:#fff0d6; color:#8a621c; }.gap-type.real { background:#ffe6df; color:#a44022; }.gap-type.wording { background:#e5f0f8; color:#2d6189; }
dialog { max-width:560px; padding:30px; border:1px solid var(--line); border-radius:14px; color:var(--ink); box-shadow:0 25px 80px rgba(4,18,32,.3); }.dialog-close { position:absolute; right:15px; top:12px; border:0; background:none; color:var(--muted); cursor:pointer; font-size:1.5rem; }dialog h2 { margin:0; font-size:1.6rem; }dialog h3 { margin:22px 0 7px; font-size:.88rem; }dialog p,dialog li { color:var(--muted); font-size:.8rem; line-height:1.55; }dialog::backdrop { background:rgba(4,18,32,.55); }.resume-report-dialog { max-width:680px; }.report-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:20px 0; }.report-facts article { display:grid; gap:3px; padding:12px; border:1px solid var(--line); border-radius:7px; background:#f6f9fb; }.report-facts strong { color:var(--blue); font-size:1.25rem; }.report-facts span { color:var(--muted); font-size:.61rem; }
.customer-result-card .role-action a { padding:8px 9px; border:1px solid #b8c8d4; border-radius:7px; background:#fff; color:#245c87; font-size:.68rem; font-weight:850; text-align:center; text-decoration:none; }
.customer-result-card .role-action { grid-template-columns:1fr; }
.customer-result-card.new-customer-result { border-color:#45b985; box-shadow:0 0 0 2px rgba(67,203,128,.14),0 5px 18px rgba(10,36,57,.04); }
.new-result-badge { display:inline-block; margin-bottom:6px; padding:4px 8px; border-radius:999px; background:#e2f3e9; color:#176b48; font-size:.62rem; font-weight:900; }
.customer-results-controls { display:flex; flex-wrap:wrap; gap:8px; margin:15px 0; }
.customer-results-controls button { padding:9px 13px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); cursor:pointer; font-size:.72rem; font-weight:800; }
.customer-results-controls button.active { background:var(--navy-900); color:#fff; }
#customer-results-more { margin:16px 0; }
#customer-resume-lab { display:grid; gap:12px; max-width:900px; margin-top:28px; padding:28px; }
#customer-resume-lab.hidden { display:none; }
#customer-resume-lab h2,#customer-resume-lab p { margin:0; }
#customer-resume-lab label { color:var(--ink); font-size:.76rem; font-weight:800; }
#customer-resume-lab input { max-width:520px; }
#customer-resume-lab .welcome-action { margin-top:4px; }
.resume-print-sheet { padding:46px 52px; border:1px solid var(--line); background:#fff; color:#172033; font:11pt/1.42 Georgia,serif; }
.resume-print-sheet h1 { margin:0; font:700 22pt/1.1 Georgia,serif; letter-spacing:0; }
.resume-print-sheet h2 { margin:20px 0 7px !important; padding-bottom:3px; border-bottom:1px solid #54677b; font:700 11pt/1.2 Arial,sans-serif; text-transform:uppercase; }
.resume-print-sheet h3 { margin:13px 0 3px; font:700 11pt/1.25 Georgia,serif; }
.resume-print-sheet p { margin:3px 0 9px !important; }
.resume-print-sheet ul { margin:4px 0 10px; padding-left:21px; }
.resume-print-sheet li { margin:3px 0; }
.resume-print-sheet .resume-contact { margin:7px 0 13px !important; color:#45586b; font:9pt/1.3 Arial,sans-serif; }
.resume-print-sheet .resume-job { break-inside:avoid-page; }
@media print {
  @page { size:letter; margin:.65in; }
  body * { visibility:hidden !important; }
  #resume-print-sheet,#resume-print-sheet * { visibility:visible !important; }
  #resume-print-sheet { position:absolute; top:0; left:0; width:100%; padding:0; border:0; box-shadow:none; }
}
@keyframes sweep { to { transform:rotate(360deg); } } @keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:1100px) { .stat-grid { grid-template-columns:1fr 1fr; }.role-card { grid-template-columns:42px 1fr auto; }.role-evidence { grid-column:2; border:0; padding:0; }.analytics-layout { grid-template-columns:1fr; }.skill-demand { grid-column:auto; }.next-step-card { grid-template-columns:1fr auto; }.next-step-card > p { grid-column:1/-1; grid-row:2; }.builder-layout { grid-template-columns:280px 1fr; }.radar-toolbar { align-items:flex-start; flex-direction:column; }.radar-tabs { flex-wrap:wrap; } }
@media (max-width:820px) { .auth-view { grid-template-columns:1fr; }.auth-copy { min-height:48svh; padding:90px 30px 50px; }.auth-copy .brand { left:30px; top:30px; }.auth-copy h1 { font-size:clamp(2.8rem,12vw,5rem); }.auth-panel { padding:30px 20px 50px; }.sidebar { transform:translateX(-100%); transition:transform .2s ease; box-shadow:none; }.sidebar.open { transform:translateX(0); box-shadow:20px 0 50px rgba(4,18,32,.2); }.workspace { margin-left:0; }.mobile-header { position:sticky; z-index:25; top:0; display:flex; align-items:center; justify-content:space-between; min-height:64px; padding:0 18px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }.menu-button { width:38px; height:38px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:pointer; }.mobile-brand { font-size:.75rem; font-weight:900; letter-spacing:.14em; }.workspace-main { padding:28px 20px 70px; }.page-heading { align-items:flex-start; flex-direction:column; }.future-grid { grid-template-columns:1fr; }.builder-layout { grid-template-columns:1fr; }.resume-canvas { min-height:420px; }.bridge-map { grid-template-columns:1fr; }.bridge-line { width:2px; height:80px; margin:auto; }.bridge-line::after { content:"↓"; right:-8px; top:auto; bottom:-5px; }.bridge-line span { display:none; } }
@media (max-width:600px) { .auth-copy { min-height:55svh; }.trust-list { display:grid; }.auth-card { padding:26px 22px; }.page h1 { font-size:2.35rem; }.upload-grid,.field-grid,.stat-grid,.status-grid,.profile-review-actions { grid-template-columns:1fr; }.field-grid .wide { grid-column:auto; }.review-list article { grid-template-columns:1fr; gap:8px; }.form-actions { flex-wrap:wrap; }.form-actions .button { flex:1; }.recommendation-list article,.next-step-card { grid-template-columns:1fr; gap:8px; }.next-step-card > p { grid-column:auto; grid-row:auto; }.next-step-card .button { margin-top:10px; }.role-card { grid-template-columns:38px 1fr; }.role-evidence,.role-action { grid-column:2; }.role-action { grid-template-columns:1fr auto; }.radar-tabs { width:100%; overflow:auto; flex-wrap:nowrap; }.radar-tabs button { white-space:nowrap; }.filters { align-items:flex-start; flex-direction:column; }.sticky-selection { left:15px; right:15px; bottom:15px; justify-content:space-between; }.template-grid { grid-template-columns:repeat(3,1fr); }.resume-canvas { padding:15px; }.draft-toolbar { align-items:stretch; flex-direction:column; }.draft-toolbar .button { width:100%; }.resume-paper { padding:28px 22px; min-height:700px; }.gap-list > article { grid-template-columns:1fr; gap:8px; }.gap-list article > strong { text-align:left; } }
@media (max-width:1100px) { .resume-health-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:820px) { .resume-health .panel-heading { flex-direction:column; }.resume-health-score { text-align:left; }.resume-health-action { align-items:flex-start; flex-direction:column; }.role-description-body > div { grid-template-columns:1fr; gap:14px; } }
@media (max-width:600px) { .resume-health-grid { grid-template-columns:1fr; }.report-facts { grid-template-columns:1fr 1fr; }.role-description { grid-column:1/-1; }.role-description summary { width:auto; }.salary-track em { top:-33px; transform:none; }.salary-track i { transform:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; transition-duration:.001ms !important; } }
