/* FitRole design system v3 — "Calm OS": quiet, spacious, precise. Primary: FitRole orange. */
:root{
  --c-bg:#f7f8fa;--c-surface:#ffffff;--c-surface-2:#f3f4f6;--c-surface-3:#eceef2;
  --c-fg:#111827;--c-fg-2:#374151;--c-muted:#6b7280;
  --c-border:rgba(17,24,39,.08);--c-border-strong:rgba(17,24,39,.16);
  --c-primary:#b4472a;--c-primary-2:#c9552f;--c-primary-soft:#fbeee8;--c-primary-ring:rgba(180,71,42,.18);--c-primary-fg:#fff;
  --c-success:#047857;--c-success-soft:#e7f6ef;--c-success-line:#bfe6d3;
  --c-info:#1e5aa8;--c-info-soft:#e9f1fc;--c-info-line:#c6daf5;
  --c-warn:#92600a;--c-warn-soft:#fdf4dd;--c-warn-line:#f2deaa;
  --c-danger:#b4412f;--c-danger-soft:#fcece8;--c-danger-line:#f3cbc2;
  --c-purple:#6d3fc0;--c-purple-soft:#f2ecfd;--c-purple-line:#dccdf8;
  --shadow-card:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --shadow-raised:0 6px 16px -4px rgba(16,24,40,.10),0 2px 4px rgba(16,24,40,.05);
  --r-card:16px;--r-ctl:8px;--r-pill:6px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  /* legacy aliases used across pages */
  --ink:var(--c-fg);--ink-2:var(--c-fg-2);--muted:var(--c-muted);--paper:var(--c-bg);--card:var(--c-surface);--line:var(--c-border);--line-2:var(--c-border-strong);
  --fit:var(--c-primary);--fit-2:var(--c-primary-2);--fit-bright:var(--c-primary-2);--fit-soft:var(--c-primary-soft);
  --ok:var(--c-success);--ok-soft:var(--c-success-soft);--warn:var(--c-warn);--warn-soft:var(--c-warn-soft);--bad:var(--c-danger);--bad-soft:var(--c-danger-soft);
  --fr-font:var(--font);--fr-display:var(--font);--serif:var(--font);--sans:var(--font);--radius:var(--r-card);
  color-scheme:light
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --c-bg:#15171c;--c-surface:#1c1f26;--c-surface-2:#242832;--c-surface-3:#2c313c;
  --c-fg:#e7e9ee;--c-fg-2:#c4c9d2;--c-muted:#8e95a1;
  --c-border:rgba(255,255,255,.08);--c-border-strong:rgba(255,255,255,.16);
  --c-primary:#e27b57;--c-primary-2:#ea8c6a;--c-primary-soft:rgba(226,123,87,.14);--c-primary-ring:rgba(226,123,87,.28);--c-primary-fg:#1a1208;
  --c-success:#5fd3a2;--c-success-soft:rgba(95,211,162,.12);--c-success-line:rgba(95,211,162,.28);
  --c-info:#8fb8f3;--c-info-soft:rgba(143,184,243,.12);--c-info-line:rgba(143,184,243,.28);
  --c-warn:#f0c46b;--c-warn-soft:rgba(240,196,107,.12);--c-warn-line:rgba(240,196,107,.28);
  --c-danger:#f29a88;--c-danger-soft:rgba(242,154,136,.12);--c-danger-line:rgba(242,154,136,.28);
  --c-purple:#bfa3f5;--c-purple-soft:rgba(191,163,245,.12);--c-purple-line:rgba(191,163,245,.28);
  --shadow-card:0 1px 2px rgba(0,0,0,.3);--shadow-raised:0 8px 20px -6px rgba(0,0,0,.5);color-scheme:dark}}
:root[data-theme="dark"]{
  --c-bg:#15171c;--c-surface:#1c1f26;--c-surface-2:#242832;--c-surface-3:#2c313c;
  --c-fg:#e7e9ee;--c-fg-2:#c4c9d2;--c-muted:#8e95a1;
  --c-border:rgba(255,255,255,.08);--c-border-strong:rgba(255,255,255,.16);
  --c-primary:#e27b57;--c-primary-2:#ea8c6a;--c-primary-soft:rgba(226,123,87,.14);--c-primary-ring:rgba(226,123,87,.28);--c-primary-fg:#1a1208;
  --c-success:#5fd3a2;--c-success-soft:rgba(95,211,162,.12);--c-success-line:rgba(95,211,162,.28);
  --c-info:#8fb8f3;--c-info-soft:rgba(143,184,243,.12);--c-info-line:rgba(143,184,243,.28);
  --c-warn:#f0c46b;--c-warn-soft:rgba(240,196,107,.12);--c-warn-line:rgba(240,196,107,.28);
  --c-danger:#f29a88;--c-danger-soft:rgba(242,154,136,.12);--c-danger-line:rgba(242,154,136,.28);
  --c-purple:#bfa3f5;--c-purple-soft:rgba(191,163,245,.12);--c-purple-line:rgba(191,163,245,.28);
  --shadow-card:0 1px 2px rgba(0,0,0,.3);--shadow-raised:0 8px 20px -6px rgba(0,0,0,.5);color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;background:var(--c-bg);color:var(--c-fg);font:14px/1.6 var(--font);font-feature-settings:"cv11","ss01"}
a{color:var(--c-primary);text-decoration:none;transition:color .15s}
a:hover{color:var(--c-primary-2)}
img{max-width:100%}
::selection{background:var(--c-primary-soft)}
.tnum,.kpi b,.stat b,td.num,.num{font-variant-numeric:tabular-nums}
.tnum,.kpi b,.stat b,td.num{font-family:var(--mono);letter-spacing:-.01em}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.narrow{max-width:800px}
@media (min-width:768px){.wrap{padding:0 40px}}
@keyframes frUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
main>*,.appbody>*{animation:frUp .2s var(--ease) both}

/* Header (site) */
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--c-bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--c-border)}
.top .wrap{display:flex;align-items:center;gap:24px;height:68px}
.brand{font:700 20px/1 var(--font);color:var(--c-fg);letter-spacing:-.03em;display:inline-flex;align-items:center}
.brand::before{content:"";width:24px;height:24px;border-radius:7px;margin-right:9px;background:var(--c-primary);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.brand span{color:var(--c-primary)}
.brand small{margin-left:8px;font:600 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);padding:4px 6px;border:1px solid var(--c-border);border-radius:var(--r-pill)}
.brand:hover{color:var(--c-fg)}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto;font-weight:500;font-size:14px}
.nav a{color:var(--c-fg-2);padding:8px 12px;border-radius:var(--r-ctl);white-space:nowrap;transition:background .15s,color .15s}
.nav a:hover{background:var(--c-surface-2);color:var(--c-fg)}
.nav a.cta{margin-left:6px;color:var(--c-primary-fg);background:var(--c-primary);font-weight:600;padding:9px 16px}
.nav a.cta:hover{background:var(--c-primary-2);color:var(--c-primary-fg)}
.theme-tg{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg-2);border-radius:var(--r-ctl);cursor:pointer;margin-left:4px;font-size:15px;transition:background .15s}
.theme-tg:hover{background:var(--c-surface-2)}
.theme-tg .moon{display:none}
:root[data-theme="dark"] .theme-tg .sun{display:none}:root[data-theme="dark"] .theme-tg .moon{display:inline}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-tg .sun{display:none}:root:not([data-theme="light"]) .theme-tg .moon{display:inline}}
@media (max-width:760px){.nav a:not(.cta):not(.keep){display:none}.top .wrap{gap:10px;height:60px}.nav a{padding:8px}.nav a.cta{padding:8px 12px}}

/* Type */
h1,h2,h3{font-family:var(--font);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 .45em;color:var(--c-fg)}
h1{font-size:28px}
h2{font-size:19px;margin-top:8px}
h3{font-size:15px;letter-spacing:-.01em}
p{margin:0 0 12px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary);margin-bottom:14px;padding:6px 9px;border-radius:var(--r-pill);background:var(--c-primary-soft);border:1px solid color-mix(in srgb,var(--c-primary) 18%,transparent)}
.lead{font-size:16px;color:var(--c-fg-2);max-width:680px;line-height:1.65}
.muted{color:var(--c-muted)}
.small{font-size:13px}
code{font:12.5px var(--mono);background:var(--c-surface-2);padding:2px 6px;border-radius:5px}
hr{border:none;border-top:1px solid var(--c-border);margin:20px 0}

/* Hero (home) */
.hero{padding:32px 0 8px}
.hero .wrap>.heroCard{position:relative;overflow:hidden;border-radius:var(--r-card);padding:clamp(28px,5vw,56px);background:radial-gradient(70% 90% at 100% 0%,var(--c-primary-soft) 0%,transparent 60%),var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-card)}
.heroCard h1{font-size:clamp(30px,4.2vw,46px);letter-spacing:-.03em;max-width:820px;line-height:1.1}
.search{display:flex;gap:8px;margin-top:28px;flex-wrap:wrap;background:var(--c-surface);padding:6px;border-radius:12px;border:1px solid var(--c-border-strong);box-shadow:var(--shadow-card);max-width:820px}
.search input,.search select{flex:1 1 220px;border:0!important;box-shadow:none!important;background-color:transparent}
.search select{flex:0 1 200px;border-left:1px solid var(--c-border)!important;border-radius:0}
.search .btn{flex:none}
.stats{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.stat{padding:14px 18px;border-radius:12px;background:var(--c-surface-2);border:1px solid var(--c-border);min-width:150px}
.stat b{display:block;font-size:24px;font-weight:600;line-height:1.1;color:var(--c-fg)}
.stat span{font-size:11.5px;color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}
.heroCard .chips a.chip{background:var(--c-surface);border-color:var(--c-border-strong)}

/* Forms */
input,select,textarea{font:400 14px/1.4 var(--font);color:var(--c-fg);background-color:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-ctl);padding:10px 12px;min-height:40px;width:100%;transition:border-color .15s,box-shadow .15s;outline:none}
input::placeholder,textarea::placeholder{color:var(--c-muted)}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--c-fg) 28%,transparent)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}
select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
textarea{min-height:110px;resize:vertical}
input[type=checkbox],input[type=radio]{accent-color:var(--c-primary);width:16px;height:16px;min-height:0}
input[type=range]{min-height:0}
label{display:block;font-weight:500;font-size:12px;color:var(--c-muted);margin:16px 0 6px;letter-spacing:.01em}
label.check{display:block;position:relative;padding:11px 14px 11px 40px!important;font-weight:400;font-size:13.5px;color:var(--c-fg-2);border:1px solid var(--c-border);border-radius:var(--r-ctl);background:var(--c-surface);cursor:pointer;transition:border-color .15s,background .15s;margin:10px 0 0;letter-spacing:0}
label.check:hover{border-color:var(--c-border-strong)}
label.check:has(input:checked){border-color:color-mix(in srgb,var(--c-primary) 35%,transparent);background:var(--c-primary-soft)}
label.check input{position:absolute;left:14px;top:13px;margin:0;padding:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
@media (max-width:720px){.grid2,.grid3{grid-template-columns:1fr}}
.drop{position:relative;display:flex;align-items:center;gap:14px;padding:18px;border:1.5px dashed var(--c-border-strong);border-radius:12px;background:var(--c-surface);cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--c-primary);background:var(--c-primary-soft)}
.drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop i{font-style:normal;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary);font-size:19px;flex:none}
.drop b{display:block;color:var(--c-fg);font-size:14px;font-weight:600}
.drop small{color:var(--c-muted);font-size:12.5px}
.drop.has{border-style:solid;border-color:var(--c-success-line);background:var(--c-success-soft)}
.drop.has i{background:var(--c-surface);color:var(--c-success)}

/* Range slider */
.range{margin-top:16px}
.range-head{display:flex;justify-content:space-between;align-items:baseline}
.range-head label{margin:0 0 8px}
.range-out{font-size:12px;color:var(--c-fg-2);font-weight:500}
.range-track{position:relative;height:22px}
.range-track::before{content:"";position:absolute;left:0;right:0;top:9px;height:4px;border-radius:99px;background:var(--c-surface-3)}
.range-fill{position:absolute;top:9px;height:4px;border-radius:99px;background:var(--c-primary)}
.range input[type=range]{position:absolute;inset:0;width:100%;height:22px;margin:0;padding:0;border:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;box-shadow:none!important}
.range input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--c-surface);border:2px solid var(--c-primary);box-shadow:var(--shadow-card);cursor:grab}
.range input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--c-surface);border:2px solid var(--c-primary);cursor:grab}
.range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--c-primary-ring)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 14px/1 var(--font);height:40px;padding:0 16px;border-radius:var(--r-ctl);border:1px solid transparent;background:var(--c-fg);color:var(--c-bg);cursor:pointer;box-shadow:var(--shadow-card);transition:transform .15s var(--ease),box-shadow .15s,background .15s,border-color .15s;text-decoration:none;white-space:nowrap}
.btn:hover{color:var(--c-bg);transform:translateY(-1px);box-shadow:var(--shadow-raised)}
.btn:active{transform:none}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-primary-ring)}
.btn.fit{background:var(--c-primary);color:var(--c-primary-fg)}
.btn.fit:hover{background:var(--c-primary-2);color:var(--c-primary-fg)}
.btn.ghost{background:var(--c-surface);color:var(--c-fg);border-color:var(--c-border-strong);box-shadow:none}
.btn.ghost:hover{color:var(--c-fg);background:var(--c-surface-2)}
.btn.bad{background:var(--c-surface);color:var(--c-danger);border-color:var(--c-danger-line);box-shadow:none}
.btn.bad:hover{color:var(--c-danger);background:var(--c-danger-soft)}
.btn.sm{height:32px;padding:0 12px;font-size:13px}
.btn[disabled]{opacity:.55;pointer-events:none}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;align-items:center}
.actions form{margin:0}

/* Layout */
.layout{display:grid;grid-template-columns:272px 1fr;gap:32px;padding:32px 0 72px}
@media (max-width:900px){.layout{grid-template-columns:1fr}}
.filters{position:sticky;top:88px;align-self:start;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);padding:4px 18px 18px;box-shadow:var(--shadow-card)}
.filters>label:first-of-type{margin-top:16px}
@media (max-width:900px){.filters{position:static}}
.tabs{display:inline-flex;gap:2px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:10px;padding:3px;margin-bottom:16px}
.tabs a{padding:7px 14px;color:var(--c-muted);font-weight:500;font-size:13.5px;border-radius:7px;transition:all .15s}
.tabs a:hover{color:var(--c-fg)}
.tabs a.on{background:var(--c-surface);color:var(--c-fg);box-shadow:var(--shadow-card)}

/* Cards */
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);padding:20px 24px;box-shadow:var(--shadow-card)}
.card h3:first-child{margin-top:0}
.job{position:relative;display:block;color:inherit;margin-bottom:12px;padding-left:80px;transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}
.job:hover{color:inherit;border-color:var(--c-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-raised)}
.job .av{position:absolute;left:22px;top:20px;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font:600 14px/1 var(--font);color:var(--c-fg-2);background:var(--c-surface-2);border:1px solid var(--c-border)}
.job h3{font-size:15.5px;margin:0 0 2px;transition:color .15s}
.job:hover h3{color:var(--c-primary)}
.job .co{color:var(--c-fg-2);font-weight:500;font-size:13.5px}
.job::after{content:"\2192";position:absolute;right:22px;top:20px;color:var(--c-muted);opacity:.5;font-size:16px;transition:transform .15s,opacity .15s,color .15s}
.job:hover::after{transform:translateX(3px);opacity:1;color:var(--c-primary)}
@media (max-width:560px){.job{padding-left:20px}.job .av{position:static;margin-bottom:10px}}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--c-muted);font-size:13px;margin-top:8px}
.meta span+span::before{content:"\00b7";margin-right:12px;opacity:.6}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chip,.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:3px 8px;border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-fg-2);border:1px solid var(--c-border);white-space:nowrap;line-height:1.5}
a.chip:hover{background:var(--c-surface-3);color:var(--c-fg)}
.chip.fit,.pill.good{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}
.chip.warn,.pill.warn{background:var(--c-warn-soft);color:var(--c-warn);border-color:var(--c-warn-line)}
.chip.bad,.pill.bad{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}
.pill.info{background:var(--c-info-soft);color:var(--c-info);border-color:var(--c-info-line)}
.pill.ai{background:var(--c-purple-soft);color:var(--c-purple);border-color:var(--c-purple-line)}
.pill{margin:1px 2px 1px 0}
.verified{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;color:var(--c-success);background:var(--c-success-soft);border:1px solid var(--c-success-line);padding:3px 8px;border-radius:var(--r-pill)}
.verified::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.unverified-card{opacity:.8}
.feature i{font-style:normal;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary);font-size:16px;margin-bottom:12px}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:16px 0;background:linear-gradient(90deg,var(--c-primary-soft),var(--c-surface) 70%)}

/* Gate */
.gate{position:relative;margin-top:4px}
.gate-blur{filter:blur(5px);opacity:.55;pointer-events:none;user-select:none;max-height:280px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 30%,transparent);mask-image:linear-gradient(#000 30%,transparent)}
.gate-card{position:relative;margin:-150px auto 0;max-width:520px;text-align:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);padding:28px;box-shadow:var(--shadow-raised)}
.gate-ic{width:44px;height:44px;margin:0 auto 12px;border-radius:12px;display:grid;place-items:center;background:var(--c-primary-soft);font-size:18px}
.gate-card h3{font-size:18px}

/* Job page */
.jobhead{margin:28px 0 0;padding:clamp(22px,4vw,36px);border-radius:var(--r-card);background:radial-gradient(60% 90% at 100% 0%,var(--c-primary-soft) 0%,transparent 60%),var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-card)}
.jobhead h1{font-size:clamp(24px,3vw,30px)!important;letter-spacing:-.025em}
.jobhead .co{color:var(--c-fg-2);font-weight:500;font-size:15px!important}
.jobbody{display:grid;grid-template-columns:1fr 340px;gap:40px;padding:28px 0 72px}
@media (max-width:900px){.jobbody{grid-template-columns:1fr}}
.jobbody article h3{margin-top:28px}
.jobbody ul{padding-left:0;list-style:none;margin:0}
.jobbody li{position:relative;margin:8px 0;padding-left:22px;color:var(--c-fg-2)}
.jobbody li::before{content:"";position:absolute;left:4px;top:.65em;width:6px;height:6px;border-radius:2px;background:var(--c-primary)}
.facts{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:0;border:1px solid var(--c-border);border-radius:12px;background:var(--c-surface);margin:18px 0 6px;overflow:hidden}
.facts div{padding:12px 14px;border-left:1px solid var(--c-border)}
.facts div:first-child{border-left:0}
.facts span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--c-muted);font-weight:500}
.facts b{font-size:13.5px;font-weight:600}
@media (max-width:640px){.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(3){border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--c-border)}}
.side{position:sticky;top:88px;align-self:start}
.side .card+.card{margin-top:12px}
.notice,.ok,.err{position:relative;padding:12px 14px 12px 42px;border-radius:12px;font-size:13.5px;margin:14px 0;border:1px solid transparent}
.notice::before,.ok::before,.err::before{position:absolute;left:14px;top:12px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}
.notice{background:var(--c-warn-soft);color:var(--c-warn);border-color:var(--c-warn-line)}
.notice::before{content:"!";background:var(--c-warn-line)}
.ok{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}
.ok::before{content:"\2713";background:var(--c-success-line)}
.err{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}
.err::before{content:"\00d7";background:var(--c-danger-line)}

/* Tables */
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);overflow:hidden;font-size:13.5px;box-shadow:var(--shadow-card)}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--c-border);vertical-align:middle;height:48px}
td{vertical-align:top}
tr:last-child td{border-bottom:0}
tr:hover td{background:color-mix(in srgb,var(--c-surface-2) 60%,transparent)}
th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--c-muted);background:var(--c-surface-2);font-weight:500;height:40px}
th.num,td.num{text-align:right}
.table-wrap{overflow-x:auto;border-radius:var(--r-card)}
table.kv{box-shadow:none;border:0}
table.kv th{width:38%;background:none;text-transform:none;letter-spacing:0;font-size:13px;color:var(--c-muted);height:auto;padding:9px 0}
table.kv td{padding:9px 0;height:auto}
table.kv tr:hover td{background:none}

/* Metrics */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:8px 0 32px}
.kpi{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:6px;color:inherit;padding:18px 20px;transition:transform .15s var(--ease),box-shadow .15s}
a.kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow-raised);color:inherit}
.kpi b{font-size:24px;font-weight:600;line-height:1.1;color:var(--c-fg)}
.kpi span{font-size:11px;color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:500;line-height:1.4}
.kpi.alert{background:linear-gradient(180deg,var(--c-danger-soft),var(--c-surface) 70%);border-color:var(--c-danger-line)}
.kpi.alert b{color:var(--c-danger)}
.pagination{display:flex;gap:8px;margin-top:18px}
pre.card{overflow:auto;font:12.5px/1.55 var(--mono)}

/* App shell (admin) */
body.app{background:var(--c-bg)}
.shell{display:grid;grid-template-columns:256px 1fr;min-height:100vh}
.sidenav{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--c-surface);border-right:1px solid var(--c-border);padding:22px 14px;display:flex;flex-direction:column;gap:22px}
.sidenav .brand{padding:0 10px 4px}
.sn-group{display:flex;flex-direction:column;gap:2px}
.sn-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);padding:0 10px 6px}
.sn-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--r-ctl);color:var(--c-fg-2);font-weight:500;font-size:13.5px;transition:background .15s,color .15s}
.sn-item i{font-style:normal;width:18px;text-align:center;color:var(--c-muted);font-size:13px}
.sn-item:hover{background:var(--c-surface-2);color:var(--c-fg)}
.sn-item.on{background:var(--c-primary-soft);color:var(--c-primary)}
.sn-item.on i{color:var(--c-primary)}
.sn-foot{margin-top:auto}
.appmain{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:20;height:80px;display:flex;align-items:center;gap:16px;padding:0 40px;background:color-mix(in srgb,var(--c-bg) 85%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--c-border)}
.tb-q{flex:1;max-width:520px}
.tb-q input{background-color:var(--c-surface);padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.tb-user{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--c-surface-2);border:1px solid var(--c-border);font-size:0}
.tb-user::before{content:"A";font:600 13px var(--font);color:var(--c-fg-2)}
.appbody{width:100%;max-width:1440px;margin:0 auto;padding:32px 40px 72px}
.pagehead{margin-bottom:28px}
.pagehead h1{font-size:28px;margin:0}
.appbody h2{margin-top:32px;font-size:15px}
.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px 14px;align-items:end;margin-bottom:16px}
.toolbar .tb-wide{grid-column:span 2}
.toolbar .range{margin-top:0}
.toolbar label.check{margin:0}
@media (max-width:1100px){.toolbar{grid-template-columns:1fr 1fr}.toolbar .tb-search{grid-column:1/-1}}
@media (max-width:900px){.shell{grid-template-columns:1fr}.sidenav{position:static;height:auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:10px 14px;gap:6px;border-right:0;border-bottom:1px solid var(--c-border)}.sn-group{flex-direction:row}.sn-label,.sn-foot{display:none}.sidenav .brand{padding:6px 10px 6px 0}.topbar{height:64px;padding:0 16px}.appbody{padding:24px 16px 56px}}

/* Profile sheet (printable) */
.sheet{background:#fff;color:#111827;border:1px solid var(--c-border);padding:32px;max-width:800px;margin:24px auto;border-radius:12px}
.sheet h2{font-size:20px;color:#111827}
.sheet table{border:none;box-shadow:none;background:#fff}
.sheet tr:hover td{background:none}
.sheet th{width:34%;background:none;text-transform:none;letter-spacing:0;font-size:13px;color:#374151}
@media print{.top,.foot,.noprint,.sidenav,.topbar{display:none!important}.shell{display:block}.appbody{padding:0;max-width:none}body{background:#fff}.sheet{border:none;margin:0}main>*,.appbody>*{animation:none}}

/* Footer */
.foot{border-top:1px solid var(--c-border);padding:32px 0 44px;color:var(--c-muted);font-size:13px}
.foot .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot a{color:var(--c-fg-2)}
.foot a:hover{color:var(--c-primary)}

/* CV autofill */
.drop-lg{padding:24px 20px;margin-bottom:6px}
.scan{margin:10px 0 4px;padding:11px 14px;border-radius:10px;background:var(--c-surface-2);border:1px solid var(--c-border);font-size:13.5px;font-weight:500;color:var(--c-fg-2)}
.scan-bar{height:3px;border-radius:99px;background:var(--c-surface-3);overflow:hidden;margin-bottom:9px;display:none}
.scan-bar span{display:block;height:100%;width:40%;border-radius:99px;background:var(--c-primary);animation:frScan 1.1s ease-in-out infinite}
@keyframes frScan{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.scan.busy .scan-bar{display:block}
.scan.done{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}
.scan.warn{background:var(--c-warn-soft);color:var(--c-warn);border-color:var(--c-warn-line)}
.scan.bad{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}
.found{margin:10px 0 2px;padding:14px 16px;border-radius:12px;border:1px dashed var(--c-purple-line);background:var(--c-purple-soft)}
.found-h{font-weight:600;font-size:13.5px}
.found-h small{display:block;font-weight:400;color:var(--c-muted);font-size:12px}
.found .chips{margin-top:8px}
.ai-f{position:relative}
.ai-f.ai input{border-color:var(--c-purple-line);background-color:var(--c-purple-soft)}
.ai-f.ai label::after{content:"\2728  from CV";margin-left:8px;font-size:10.5px;font-weight:600;color:var(--c-purple);background:var(--c-purple-soft);border:1px solid var(--c-purple-line);padding:1px 6px;border-radius:var(--r-pill)}
.shimmer input{color:transparent!important;background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface) 50%,var(--c-surface-2) 75%)!important;background-size:200% 100%!important;animation:frShim 1.1s linear infinite!important}
@keyframes frShim{to{background-position:-200% 0}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.btn:hover,.job:hover,a.kpi:hover{transform:none}}

.me label.me-f,.me label.me-pill,.me .me-seg label,.me label.me-switch{margin:0;letter-spacing:0}
.me label.me-f{font-size:inherit;color:inherit;font-weight:inherit}

/* v12 admin helpers */
.seg{display:inline-flex;flex-wrap:wrap;gap:2px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:10px;padding:3px}
.seg-i{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;color:var(--c-muted);font-weight:500;font-size:13px}
.seg-i span{font-size:11.5px;color:var(--c-muted);background:var(--c-surface-3);padding:0 6px;border-radius:5px}
.seg-i:hover{color:var(--c-fg)}
.seg-i.on{background:var(--c-surface);color:var(--c-fg);box-shadow:var(--shadow-card)}
.seg-i.on span{background:var(--c-primary-soft);color:var(--c-primary)}
details.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::before{content:"+";width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}
details.fold[open]>summary::before{content:"\2212"}
details.fold h3{margin-top:4px}
.bulkbar{position:sticky;top:88px;z-index:15;display:none;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border-radius:12px;background:var(--c-surface);border:1px solid color-mix(in srgb,var(--c-primary) 30%,transparent);box-shadow:var(--shadow-raised)}
.bulkbar.on{display:flex}
.bulkbar>span{font-size:13px;margin-right:6px}
.rowacts{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.rowacts form{margin:0}
details.menu{position:relative}
details.menu>summary{list-style:none;cursor:pointer}
details.menu>summary::-webkit-details-marker{display:none}
.menu-pop{position:absolute;right:0;top:36px;z-index:25;min-width:210px;display:flex;flex-direction:column;padding:6px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;box-shadow:var(--shadow-raised)}
.menu-pop button{all:unset;cursor:pointer;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--c-fg-2)}
.menu-pop button:hover{background:var(--c-surface-2);color:var(--c-fg)}
.menu-pop button.danger{color:var(--c-danger)}
.loading{opacity:.55;transition:opacity .15s}
td input[type=checkbox],th input[type=checkbox]{margin:0}

/* v13 landing page */
.btn.lg{height:46px;padding:0 20px;font-size:15px}
.lp-hero{padding:56px 0 24px;background:radial-gradient(50% 70% at 85% 10%,var(--c-primary-soft) 0%,transparent 70%)}
.lp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.lp-hero h1{font-size:clamp(34px,4.6vw,54px);letter-spacing:-.035em;line-height:1.06;margin-bottom:18px}
.lp-hero .hl{color:var(--c-primary)}
.lp-hero .lead{font-size:17px}
.lp-proof{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.lp-proof .dot{width:7px;height:7px;border-radius:50%;background:var(--c-success);box-shadow:0 0 0 4px var(--c-success-soft)}
.lp-stack{position:relative;display:flex;flex-direction:column;gap:12px}
.lp-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-raised);transform:translateX(calc(var(--i) * 14px));animation:frUp .4s var(--ease) both;animation-delay:calc(var(--i) * 80ms)}
.lp-card .chips{margin-top:10px}
.lp-card-top{display:flex;gap:12px;align-items:center}
.lp-card .av{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-weight:600;font-size:13px;background:var(--c-surface-2);border:1px solid var(--c-border);color:var(--c-fg-2);flex:none}
.lp-card b{font-size:14px}
.lp-check{display:flex;flex-direction:column;gap:6px;max-width:300px}
.lp-meter{height:6px;border-radius:99px;background:var(--c-surface-3);overflow:hidden}
.lp-meter span{display:block;height:100%;background:var(--c-success);border-radius:99px}
.lp-sec{padding-top:36px;padding-bottom:36px}
.lp-head{margin-bottom:20px}
.lp-head h2{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}
.lp-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.lp-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lp-feat h3{margin:10px 0 6px}
.lp-feat p{margin:0;font-size:13.5px}
.lp-k{font:500 12px var(--mono);color:var(--c-primary)}
.lp-aud{display:flex;flex-wrap:wrap;gap:10px}
.lp-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-fg);font-weight:500;transition:all .15s}
.lp-pill span{color:var(--c-muted);transition:transform .15s}
.lp-pill:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-1px)}
.lp-pill:hover span{transform:translateX(2px);color:var(--c-primary)}
.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.lp-step{position:relative;padding:22px 22px 18px;border-radius:var(--r-card);background:var(--c-surface);border:1px solid var(--c-border)}
.lp-step b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--c-primary);color:var(--c-primary-fg);font-size:14px;margin-bottom:10px}
.lp-step p{margin:0;font-size:13.5px}
.lp-jobs{margin-bottom:8px}
.lp-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);font-weight:500;text-align:center;margin-bottom:14px}
.lp-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}
.lp-logos span{font-weight:600;font-size:15px;color:var(--c-muted);letter-spacing:-.01em}
.lp-split{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;padding:28px 32px}
.lp-split h2{font-size:24px}
.lp-bars{display:flex;flex-direction:column;gap:12px}
.lp-bars div{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:12px}
.lp-bars i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--c-primary-soft),var(--c-primary))}
.lp-faq{display:grid;gap:10px;max-width:860px}
.lp-faq details{padding:14px 18px}
.lp-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";color:var(--c-muted);font-weight:500}
.lp-faq details[open] summary::after{content:"\2212"}
.lp-faq p{margin:10px 0 0}
.lp-final{text-align:center;padding:44px 24px;background:radial-gradient(60% 100% at 50% 0%,var(--c-primary-soft) 0%,transparent 70%),var(--c-surface)}
.lp-final h2{font-size:28px;letter-spacing:-.025em}
.lp-final p{max-width:560px;margin:0 auto}
@media (max-width:980px){.lp-hero-grid{grid-template-columns:1fr;gap:28px}.lp-stack{max-width:520px}.lp-grid4{grid-template-columns:1fr 1fr}.lp-split{grid-template-columns:1fr}}
@media (max-width:640px){.lp-hero{padding:32px 0 8px}.lp-grid4,.lp-steps{grid-template-columns:1fr}.lp-card{transform:none}.lp-split{padding:22px}.btn.lg{width:100%}}
.lp-marquee{position:relative;overflow:hidden;padding:4px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.lp-track{display:flex;width:max-content;animation:frMarq var(--dur,40s) linear infinite}.lp-marquee:hover .lp-track,.lp-marquee:focus-within .lp-track{animation-play-state:paused}@keyframes frMarq{to{transform:translateX(-50%)}}.lp-logos2{display:flex;gap:12px;margin:0;padding:0 6px;list-style:none}.lp-logos2 a{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 7px;border:1px solid var(--c-border);border-radius:12px;background:var(--c-surface);color:var(--c-fg-2);font-weight:600;font-size:14px;white-space:nowrap;box-shadow:var(--shadow-card);transition:border-color .15s,color .15s}.lp-logos2 a:hover,.lp-logos2 a:focus-visible{border-color:var(--c-primary);color:var(--c-fg)}.lp-lg{position:relative;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;overflow:hidden;background:var(--c-surface-2);border:1px solid var(--c-border);font-size:11px;font-weight:600;color:var(--c-muted)}.lp-lg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;background:#fff}@media (prefers-reduced-motion:reduce){.lp-marquee{-webkit-mask-image:none;mask-image:none}.lp-track{width:auto;justify-content:center}.lp-logos2{flex-wrap:wrap;justify-content:center}.lp-logos2[aria-hidden=true]{display:none}}.av{overflow:hidden}.lp-card .av{position:relative}@media (max-width:560px){.job .av{position:relative}}.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:5px;background:#fff;border-radius:inherit}
.fulljd{margin:28px 0 0;border:1px solid var(--line);border-radius:12px;background:var(--card)}.fulljd>summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}.fulljd>summary::-webkit-details-marker{display:none}.fulljd>summary::after{content:'+';font-size:20px;color:var(--muted)}.fulljd[open]>summary::after{content:'−'}.fulljd-body{padding:0 18px 16px;font-size:14.5px;line-height:1.65;color:var(--ink-2)}.fulljd-body h4{margin:18px 0 6px;font-size:14px;color:var(--ink)}.fulljd-body p{margin:0 0 8px}.fulljd-body ul{margin:0 0 10px;padding-left:20px}
.frsel{position:relative;width:100%}.frsel-native{position:absolute!important;inset:0;opacity:0;pointer-events:none;width:1px!important;height:1px!important}.frsel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0 12px;border:1px solid var(--c-border-strong);border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-fg);font:inherit;font-size:14px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.frsel-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frsel-btn::after{content:'';flex:none;width:7px;height:7px;border-right:1.5px solid var(--c-muted);border-bottom:1.5px solid var(--c-muted);transform:translateY(-2px) rotate(45deg);transition:transform .15s var(--ease)}.frsel.open .frsel-btn::after{transform:translateY(2px) rotate(225deg)}.frsel-btn:hover{border-color:var(--c-fg-2)}.frsel-btn:focus-visible,.frsel.open .frsel-btn{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}.frsel-btn.ph span{color:var(--c-muted)}.frsel-pop{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 32px));background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;box-shadow:var(--shadow-raised);padding:6px;animation:frselIn .12s var(--ease)}@keyframes frselIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.frsel-q{width:100%;height:36px;margin:0 0 6px;padding:0 10px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-2);color:var(--c-fg);font:inherit;font-size:14px}.frsel-q:focus{outline:none;border-color:var(--c-primary);background:var(--c-surface)}.frsel-list{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto;overscroll-behavior:contain}.frsel-list li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 10px;border-radius:8px;font-size:14px;line-height:1.3;cursor:pointer;color:var(--c-fg)}.frsel-list li:hover,.frsel-list li:focus{background:var(--c-surface-2);outline:none}.frsel-list li[aria-selected=true]{background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}.frsel-list li em{font-style:normal;font-size:12px;font-weight:500;color:var(--c-muted);background:var(--c-surface-3);padding:1px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.frsel-list li[aria-selected=true] em{background:transparent;color:var(--c-primary)}.frsel-list li.empty{color:var(--c-muted);cursor:default;justify-content:center}
.tabbar{display:none}@media (max-width:760px){.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;justify-content:space-around;align-items:stretch;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--c-surface) 92%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--c-border)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:12px;color:var(--c-muted);text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}.tabbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabbar a.on{color:var(--c-primary)}.tabbar a.on svg{stroke-width:2.2}.tabbar a:active{background:var(--c-surface-2)}body.site{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.nav a.keep{display:none}}@media (display-mode:standalone){.top{padding-top:env(safe-area-inset-top)}}.fitcard{margin-bottom:16px}.fit-top{display:flex;gap:14px;align-items:center}.fit-top h3{margin:0 0 2px}.fit-top p{margin:0}.fit-ring{--p:50;width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--fitc) calc(var(--p)*1%),var(--c-surface-3) 0)}.fit-ring b{width:50px;height:50px;border-radius:50%;background:var(--c-surface);display:grid;place-items:center;font-size:15px;font-variant-numeric:tabular-nums}.fitcard.good{--fitc:var(--c-success)}.fitcard.mid{--fitc:#d08a1c}.fitcard.low{--fitc:var(--c-danger)}.fit-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;font-size:13.5px}.fit-list li{display:flex;gap:8px;align-items:flex-start}.fitcard .fit-list li{position:static;padding:0;margin:0}.fitcard .fit-list li::before{position:static;flex:none;width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;line-height:1;font-weight:700;margin-top:2px}.fitcard .fit-list.fit-ok li::before{content:'\2713';background:var(--c-success-soft);color:var(--c-success)}.fitcard .fit-list.fit-gap li::before{content:'!';background:var(--c-warn-soft);color:var(--c-warn)}.chips a.fitchip{text-decoration:none;font-weight:600}.chips a.fitchip.good{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}.chips a.fitchip.mid{background:var(--c-warn-soft);color:var(--c-warn);border-color:var(--c-warn-line)}.chips a.fitchip.low{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}#fit{scroll-margin-top:84px}
.frbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none;opacity:0;transition:opacity .2s}
.frbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-2));box-shadow:0 0 8px var(--c-primary-ring);border-radius:0 3px 3px 0}
.frgo .frbar{opacity:1}.frgo .frbar i{animation:frbar 8s cubic-bezier(.1,.7,.2,1) forwards}
@keyframes frbar{0%{width:0}10%{width:35%}40%{width:70%}100%{width:94%}}
.frsk{display:none}
@media (max-width:760px){
.frload .frsk{display:block;position:fixed;inset:0 0 0 0;z-index:80;background:var(--c-bg);padding:72px 16px calc(96px + env(safe-area-inset-bottom));overflow:hidden;opacity:0;visibility:hidden;transition:opacity .18s var(--ease),visibility 0s .18s}
.frload.on .frsk{opacity:1;visibility:visible;transition:opacity .18s var(--ease)}
.frsk-h,.frsk-c{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);padding:16px;margin-bottom:12px}
.frsk-h{background:transparent;border:0;padding:4px 0 8px}
.frsk-h b,.frsk-h span,.frsk-c b,.frsk-c span{display:block;height:12px;border-radius:6px;margin:8px 0;background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface-3) 50%,var(--c-surface-2) 75%);background-size:200% 100%;animation:frsh 1.1s linear infinite}
.frsk b{height:16px;width:62%}.frsk span{width:88%}.frsk span.s{width:40%}.frsk-h b{height:22px;width:50%}
@keyframes frsh{0%{background-position:200% 0}100%{background-position:-200% 0}}
.frtip{position:absolute;left:16px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));margin:0;padding:12px 14px;border-radius:12px;background:var(--c-primary-soft);color:var(--c-fg-2);font-size:13px;line-height:1.45;animation:frup .3s var(--ease)}
.frtip strong{color:var(--c-primary);display:block;margin-bottom:2px}.frtip q{quotes:none}
.frmsg{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0 0;color:var(--c-muted);font-size:14px;font-weight:600}.frmsg em{font-style:normal}.frmsg i{width:16px;height:16px;border-radius:50%;border:2px solid var(--c-primary-ring);border-top-color:var(--c-primary);animation:frspin .7s linear infinite}
@keyframes frspin{to{transform:rotate(360deg)}}
@keyframes frup{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.tabbar a.tap svg{animation:frpop .35s var(--ease)}
@keyframes frpop{0%{transform:scale(1)}40%{transform:scale(.82)}100%{transform:scale(1)}}
.tabbar a{transition:color .15s,background .15s}
.frgo .tabbar a.on::after{content:'';position:absolute;top:2px;left:50%;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--c-primary);animation:frdot .9s ease-in-out infinite alternate}
.tabbar a{position:relative}
@keyframes frdot{from{opacity:.35;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1.4)}}
}
@media (prefers-reduced-motion:reduce){.frgo .frbar i{animation:none;width:70%}.frsk-h b,.frsk-c b,.frsk-c span,.frmsg i,.tabbar a.tap svg,.frgo .tabbar a.on::after{animation:none}}

.tr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.tr-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;color:inherit;transition:border-color .2s,transform .15s}
.tr-tile:hover{border-color:var(--c-primary);transform:translateY(-1px)}
.tr-tile.on{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-soft)}
.tr-tile b{font-size:14.5px}.tr-tile small{font-size:12.5px;line-height:1.35}
.tr-n{margin-top:6px;font-size:12px;font-weight:600;color:var(--c-primary)}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.pr-card{padding:26px;display:flex;flex-direction:column;gap:10px}
.pr-card.pro{border:2px solid var(--c-primary)}
.pr-price{font:600 34px/1.1 var(--fr-display, inherit);letter-spacing:-.02em}
.pr-price s{font-size:18px;color:var(--c-muted);font-weight:500;margin-left:8px}
.pr-badge{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--c-primary);color:var(--c-primary-fg,#fff);width:max-content}
.pr-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:8px}
.pr-list li{padding-left:24px;position:relative;font-size:14.5px}
.pr-list li:before{content:"✓";position:absolute;left:0;color:var(--c-primary);font-weight:700}
.pr-list li.no{color:var(--c-muted)}.pr-list li.no:before{content:"–";color:var(--c-muted)}
.al-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--c-border)}
.al-row:first-child{border-top:none}
.al-opts{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.al-opts label{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--c-border);border-radius:12px;cursor:pointer}
.al-opts label:has(input:checked){border-color:var(--c-primary);background:var(--c-primary-soft)}
.al-opts label{margin:0;font-size:14px;font-weight:400;color:var(--c-fg);text-transform:none;letter-spacing:0;line-height:1.4}
.al-opts label b{font-weight:600;color:var(--c-fg)}
.al-opts input{margin-top:3px;flex:none}
.al-grid2{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
.saverow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 12px}
@media (max-width:820px){.tr-grid{grid-template-columns:1fr 1fr}.pr-grid{grid-template-columns:1fr}}
@media (max-width:560px){.al-grid2{grid-template-columns:1fr}}
@media (max-width:420px){.tr-grid{grid-template-columns:1fr}}
@media (max-width:560px){.job .av{left:0;top:0}}
.f-tg{display:none}
@media (max-width:820px){.f-tg{display:flex;width:100%;justify-content:center;margin:12px 0 0}.filters:not(.open) .f-more{display:none}.filters.open .f-tg{margin-bottom:6px}}
.hw-sec{margin:40px 0 0}.hw-sec h2{margin:0 0 10px}
.hw-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.hw-grid .card{padding:18px 20px}.hw-grid b{display:block;margin-bottom:4px}
.hw-stat{display:flex;gap:28px;flex-wrap:wrap;margin:18px 0 0}.hw-stat b{font-size:28px;display:block}
.fit-tips{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:var(--c-surface-2);font-size:13px}
.fit-tips b{display:block;margin-bottom:4px}
@media (max-width:640px){.hw-grid{grid-template-columns:1fr}}
@media (max-width:560px){.tr-grid{grid-template-columns:1fr 1fr!important;gap:8px}.tr-tile{padding:12px 13px}.tr-tile small{display:none}.tr-tile b{font-size:13.5px;line-height:1.25}}