/* SELF-HOSTED FONTS (Batch: render determinism, 2026-07-11) — local woff2 kills the
   network dependency. Declared in design-system.css (loaded AFTER the frames' Google
   <link>) so these local faces WIN the cascade. font-display:block => never a fallback.
   The renderer additionally blocks fonts.googleapis/gstatic so these are the ONLY source. */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:block;src:url(fonts/hanken-grotesk-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:block;src:url(fonts/hanken-grotesk-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:block;src:url(fonts/hanken-grotesk-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:block;src:url(fonts/hanken-grotesk-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:800;font-display:block;src:url(fonts/hanken-grotesk-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:800;font-display:block;src:url(fonts/hanken-grotesk-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:block;src:url(fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:block;src:url(fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:block;src:url(fonts/inter-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:block;src:url(fonts/inter-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:block;src:url(fonts/inter-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:block;src:url(fonts/inter-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:block;src:url(fonts/inter-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:block;src:url(fonts/inter-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:block;src:url(fonts/inter-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:block;src:url(fonts/inter-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ============================================================================
   LiveRec 510-Gallery — LOCKED DESIGN SYSTEM (single source of truth)
   Every rebuilt frame inherits this file. No frame defines its own styling.
   Tokens + components carry the elected decisions (E-numbers) from the
   finalized mocks + final-r3-index.html. Frame 300 matches frame 5 because
   both compose from here.
   ========================================================================= */

:root{
  /* Brand + ink (identity/nav/CTA only — never on a data metric) */
  --brand:#2164F4;            /* elected brand blue */
  /* Batch 5: ONE blue gradient standard for every progress/strength/match bar fill.
     Light cornflower -> brand blue. Every bar variant consumes this single token;
     no per-bar gradient is hand-authored. (Categorical CHART bars are not bars here.) */
  --bar-fill:linear-gradient(90deg,#AEC8FC 0%,#2164F4 100%);
  --brand-press:#143C96;
  --brand-tint:#E8EEFE;       /* active-nav pill + soft accents */
  --ink:#1D1D1F;
  --ink-2:#33343A;
  --mut:#6E6E73;
  --mut-2:#8A8F98;
  --line:#E7E9F2;
  --line-2:#EDEFF5;
  --page:#FFFFFF;
  --card:#FFFFFF;
  --soft:#F7F8FB;             /* table header / inset */
  --tint-panel:#EEF3FF;       /* help side cards / soft blocks */

  /* Footer is ONE plain-dark band — .darkfoot #1D1D1F (guarded, founder-locked
     2026-07-06). Batch 6 (2026-07-10): removed the abandoned per-role footer colour
     tokens (--footer-lr/emp/aff, blue/navy/near-black) — never consumed, and they
     contradicted the single plain-dark standard. No role-tinted footer exists. */
  --rail:#424245;             /* affiliate rail — measured from the frame ORIGINALS (per-frame band law) */
  --rail-emp:#0E1746;         /* employer navy rail */
  --rail-ink:#FFFFFF;
  --rail-mut:#C6C8CE;
  --rail-active-bg:#E8EEFE;
  --rail-active-ink:#2164F4;

  /* Functional / status palette (frozen meaning-colours).
     AUDIT NOTE: these hexes + the dv-extras exist in no authority doc on disk
     (the index names the palettes without values) — awaiting an authority home. */
  --ok-bg:#E6F6EC;  --ok-ink:#1F7A44;
  --warn-bg:#FEF3D6; --warn-ink:#9A6B00;
  --neu-bg:#EEF0F5; --neu-ink:#5A5F6B;
  --bad-bg:#FDECEC; --bad-ink:#C0362C;
  --up:#1F9254; --down:#D0342C;

  /* Data-viz palette (harmonised, on-brand) */
  --dv-1:#2164F4; --dv-2:#6E9BF3; --dv-3:#AEC5F9; --dv-4:#DCE7FD;
  --dv-pink:#E86FA0; --dv-purple:#9B7EDE; --dv-teal:#3Fb6c4;

  /* Shape + elevation */
  --r-card:14px; --r-tile:12px; --r-field:10px; --r-pill:999px;
  --notch:10px;               /* elected corner-notch token @10px */
  --sh-card:0 1px 2px rgba(16,24,64,.05), 0 8px 24px rgba(20,30,80,.05);
  --sh-soft:0 1px 2px rgba(16,24,64,.04);
  --sh-pop:0 12px 34px rgba(18,26,64,.16);

  --font-head:'Hanken Grotesk','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* Role watermark tokens (ported from the elected mocks). The lander frames already
   carry .wm-emp / .tok-iter3 in their class list; without these the var() calls
   fall through and the banner renders unstyled. */
.wm-lr{--wm-bg:#2164F4;--wm-img:url(wm-arrow-lr.svg);--wm-hi:url(wm-arrow-lr-hi.svg);--wm-op:.50}
.wm-emp{--wm-bg:#0E1746;--wm-img:url(wm-arrow-emp.svg);--wm-hi:url(wm-arrow-emp-hi.svg);--wm-op:.28}
.wm-aff{--wm-bg:#181818;--wm-img:url(wm-arrow-aff.svg);--wm-hi:url(wm-arrow-aff-hi.svg);--wm-op:.55}

.tok-iter3{--cta-fill:#1A52C4;--cta-press:#143C96;--cta-text:#FFFFFF;--cta-pv:13px;--cta-ph:26px;--cta-label:16px;--cta-radius:16px;--cta-shadow:0 6px 16px rgba(30,70,200,.18);--cta-width:100%;--cta-arrow:inline-flex;--sec-bg:#D6E2FD;--sec-text:#1A52C4;--sec-border:transparent;--r-card:18px;--r-pill:14px;--r-tile:14px;--sh-card:0 14px 38px rgba(30,45,110,.10);--sh-soft:0 5px 14px rgba(30,45,110,.07);--tint:#E3ECFE;--tint2:#B1C6F5;--page-bg:#F6F9FF;--card:#FAFCFF;--line:#D9E2F3;--accent-bg:#D6E2FD;--footer:#172643;--viz-tint:#A7BEF0;--panel-deepen:0.45;--icon-stroke:1.9;--icon-join:round;--icon-cap:round;--icon-chip-radius:13px;--icon-chip-fill:var(--tint2);--icon-glyph:var(--brand)}

/* E34 glow host. Structure only — the cursor driver sets --mx/--my and toggles
   .hot; both land in the motion pass. opacity:0 means this renders nothing yet. */
.arrow-spot{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  background:var(--wm-hi,url(arrow-wm.png)) 0 0/32px 32px repeat;
  -webkit-mask:radial-gradient(circle 96px at var(--mx,-300px) var(--my,-300px),#000 0%,#000 32%,transparent 74%);
          mask:radial-gradient(circle 96px at var(--mx,-300px) var(--my,-300px),#000 0%,#000 32%,transparent 74%);
  filter:drop-shadow(0 0 .6px rgba(0,0,0,.45))}
.mkt-hero .arrow-spot{z-index:2}
.mkt-cta .arrow-spot{z-index:1}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font-body);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---- The frame canvas: originals are 1684px wide ---------------------- */
.frame{width:1684px;background:#fff;position:relative;overflow:hidden}
.frame.fixed{height:1052px}           /* portal/auth app screens */

/* ---- Wordmark + arrow mark (brand identity) -------------------------- */
.wm{font-family:var(--font-head);font-weight:800;letter-spacing:-.02em;color:var(--ink);display:inline-flex;align-items:center}
.wm .r{color:var(--brand)}
.arrow-mk{display:inline-block;color:var(--brand)}
.arrow-mk svg{display:block}

/* ============================ PORTAL SHELL ============================= */
.portal{display:flex;height:100%;width:100%}
/* rail right edge = the originals' absolute x333 (compact x118); border strip renders as band */
.rail{width:333px;flex:none;background:var(--rail);color:var(--rail-ink);display:flex;flex-direction:column;position:relative}
.rail.emp{background:var(--rail-emp)}
.rail-top{height:96px;display:flex;align-items:center;padding:0 34px 0 74px}
.rail-x{width:26px;height:26px;color:#fff;opacity:.9}
.rail-nav{padding:14px 16px 14px 56px;display:flex;flex-direction:column;gap:6px}
.rail-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;color:var(--rail-mut);font-size:15px;font-weight:500;white-space:nowrap}
.rail-item svg{width:20px;height:20px;flex:none}
.rail-item.active{background:var(--rail-active-bg);color:var(--rail-active-ink);font-weight:600}
.rail-item.active svg{color:var(--rail-active-ink)}
/* rail watermark — the LOCKED brand-arrow asset (arrow-nav-alpha.png), 66px INK
   landed at right:63 bottom:61 via the 90px box (asset has internal alpha margins).
   ARROW COLOUR = PER-PORTAL TOKEN (founder 2026-07-09, supersedes FIX B / LEARNINGS #23's
   "elected blue everywhere"): each portal's corner arrow is the shade its OWN SOURCE shows,
   tone-on-tone with that portal's rail. CONSUMED (measured) from the source arrows:
     Affiliate #6E6E73 (base) · Candidate #E7EDFC · Employer #172888 · Admin #000000.
   Shape = the asset consumed as a mask (byte-identical, never redrawn); only the fill varies. */
.rail-wm{position:absolute;right:53px;bottom:50px;width:90px;height:90px;background:#6E6E73;
  -webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;
  mask:url(arrow-nav-alpha.png) center/contain no-repeat}
/* compact (collapsed) rail */
.rail.compact{width:118px}
.rail.compact .rail-top{padding:0 0 0 40px;justify-content:center}
/* compact items = 44x44 tiles centred on the design span (orig tiles x58..100, centre 79) */
.rail.compact .rail-nav{padding:14px 0}
.rail.compact .rail-item{justify-content:center;padding:12px 0;width:44px;margin:0 0 4px 57px}
.rail.compact .rail-item span{display:none}
/* compact rail — its ORIGINAL: 36px mark, centred, 8px above band bottom */
.rail.compact .rail-wm{right:16px;bottom:3px;width:45px;height:45px}

/* ---- per-role rail treatment (bg/ink/arrow MEASURED from Other Actions/Menu
   originals; nav content from lib.NAV). Affiliate = default .rail (#424245). */
.rail.cand{background:#F5F7FE;color:#050045}                 /* seeker: light lavender */
.rail.cand .rail-item{color:#3A3A5C}
.rail.cand .rail-x{color:#050045}
.rail.emp{background:#050045}                                /* employer: deep navy (measured) */
.rail.adm{background:#1D1D1F}                                /* admin: ink near-black */
/* PER-PORTAL arrow colour (2026-07-09) — each matches its rail, measured from source. */
.rail.cand .rail-wm{background:#E7EDFC}                      /* seeker: faint lavender on light rail */
.rail.emp  .rail-wm{background:#172888}                      /* employer: mid-blue on navy rail */
.rail.adm  .rail-wm{background:#000000}                      /* admin: black on charcoal rail */

/* ---- account dropdown (lib.profile_menu) — elected treatment matches the
   eye-passed affiliate Menu; grouped rows + name/email/avatar header. */
.pmenu{position:absolute;right:40px;top:104px;width:300px;background:#fff;border-radius:14px;box-shadow:var(--sh-pop);z-index:30;overflow:hidden;border:1px solid var(--line)}
.pm-head{display:flex;align-items:center;gap:12px;padding:15px 18px}
.pm-name{font-weight:700;font-size:16px;color:var(--ink)}
.pm-mail{color:var(--mut);font-size:13px}
.pm-sec{border-top:1px solid var(--line);padding:5px 0}
.pm-row{display:flex;align-items:center;gap:14px;padding:11px 18px;font-size:15px;color:var(--ink)}
.pm-row svg{width:22px;height:22px;color:var(--ink);flex:none}
.pm-row.danger,.pm-row.danger svg{color:var(--down)}
.pm-av{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;overflow:hidden}

/* ---- loader (Icon Library) — the brand arrow ASSET (arrow-blue.png),
   consumed, centred; never drawn. Dark variant on the elected ink surface. */
.loaderpage{width:1684px;height:1052px;display:flex;align-items:center;justify-content:center;background:#fff}
.loaderpage.dark{background:#1D1D1F}
/* FIX 2 (founder 2026-07-08): loader is the LOCKED brand-arrow asset rendered
   FULL-BLEED at the original's scale, in ELECTED BLUE (#2164F4) — supersedes the
   earlier "consume the violet as-is" ruling. Shape = loader-arrow.png consumed as
   a mask (byte-identical alpha, never redrawn); only the fill colour is elected. */
.loader-mark{width:1052px;height:1052px;background:var(--brand);
  -webkit-mask:url(loader-arrow.png) center/contain no-repeat;
  mask:url(loader-arrow.png) center/contain no-repeat}

.portal-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff}
.topbar{height:96px;flex:none;display:flex;align-items:center;padding:0 40px 0 24px;border-bottom:1px solid var(--line);gap:18px}
.topbar .logo-wm{width:152px;height:34px;align-self:flex-start;margin-top:19px;background-image:url(logo-liverec-topbar.png)} /* the topbar instance, extracted 1:1 from the Analytics original */
.topbar .wm{font-size:26px}
.topbar .tb-mark{display:flex;align-items:center;gap:9px}
.topbar-icons{margin-left:auto;display:flex;align-items:center;gap:26px;color:var(--ink)}
.topbar-icons svg{width:24px;height:24px}
.topbar-icons .tb-btn{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.topbar-icons .tb-btn.hot{background:var(--brand-tint)}
.content{flex:1;min-height:0;overflow:hidden;padding:40px 48px;position:relative}
.pfoot{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-top:1px solid var(--line);color:var(--mut);font-size:14px}
.pfoot a,.pfoot .fl{color:var(--mut);text-decoration:none;margin-left:34px}

.page-title{font-family:var(--font-head);font-weight:800;font-size:30px;letter-spacing:-.01em;margin:0 0 20px}
.page-sub{color:var(--mut);font-size:15px;margin:-14px 0 22px}
.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:16px;margin:0 0 14px}
.breadcrumb .cur{color:var(--ink)}
.breadcrumb svg{width:16px;height:16px;opacity:.6}

/* ============================ TABS ==================================== */
.tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);margin:0 0 26px}
.tab{padding:0 2px 16px;font-size:17px;color:var(--mut);font-weight:500;position:relative;white-space:nowrap}
.tab.active{color:var(--brand);font-weight:600}
.tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);border-radius:2px}

/* ============================ BUTTONS ================================= */
/* E35 states sheet + frame originals: radius 12, weight 600, 1.5px border, 53px height.
   (tok-iter3's #1A52C4/r16 is that stamp's iteration skin, not the system election.) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:16px;border-radius:12px;padding:16px 24px;border:1.5px solid transparent;cursor:default;white-space:nowrap;line-height:1.1}
.btn svg{width:20px;height:20px}
.btn-primary{background:var(--brand);color:#fff}
.btn-ghost{background:#fff;color:var(--brand);border-color:#C7D6FB}
.btn-outline{background:#fff;color:var(--brand);border-color:var(--brand)} /* OI-34 UNIVERSAL BUTTON LAW sweep (founder-sequenced, event 23→24): white-bg buttons are NEVER ink-on-line — blue outline + blue text (the D8 lineage: events 10/17/18). Named exemptions: .g-google / .btn-bjf below */
.btn-outline.g-google{color:var(--ink);border-color:var(--line)} /* event-23 founder exemption: Continue-with-Google keeps the industry white/dark form */
.btn-bjf{color:var(--ink)!important;border-color:var(--line)!important} /* event-23 founder exemption: "Browse jobs for free" (Account created + Choose Plan - Detailed) stays black-on-white */
.btn-dd{color:var(--ink);border-color:var(--line)} /* event-27: dropdown-TRIGGER chips built as .btn (affiliate Filters) are dropdowns, not buttons — the law is buttons-only; they keep the approved dark form */
.btn-lg{padding:16px 30px;font-size:17px}
.btn-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--soft);color:var(--ink);font-weight:700;font-size:15px;border-radius:10px;padding:16px;margin:6px 0 18px;cursor:default}
.btn-add svg{width:18px;height:18px}
.btn-block{width:100%}
.link{color:var(--brand);font-weight:600;text-decoration:none}

/* ============================ STAT TILES ============================= */
.tiles{display:grid;gap:16px;margin:0 0 26px}
.tile{border:1px solid var(--line);border-radius:var(--r-tile);padding:20px 22px;background:#fff}
.tile .row{display:flex;align-items:center;gap:10px}
.tile .num{font-family:var(--font-head);font-weight:800;font-size:30px;letter-spacing:-.01em}
.tile .delta{font-size:16px;font-weight:600;display:inline-flex;align-items:center;gap:3px}
.tile .delta.up{color:var(--up)} .tile .delta.down{color:var(--down)}
.tile .lab{color:var(--ink-2);font-size:15px;margin-top:6px}

/* ============================ DATA TABLE ============================= */
.tablecard{border-top:1px solid var(--line)}
.dtable{width:100%;border-collapse:collapse;font-size:15px}
.dtable thead th{background:var(--soft);color:var(--ink);font-weight:700;text-align:left;padding:16px 14px;font-size:14px;letter-spacing:.01em;white-space:nowrap}
.dtable thead th:first-child{border-top-left-radius:8px;padding-left:22px}
.dtable thead th:last-child{border-top-right-radius:8px}
.dtable tbody td{padding:18px 14px;border-bottom:1px solid var(--line-2);color:var(--ink);vertical-align:middle}
.dtable tbody td:first-child{padding-left:22px}
.dtable .lead{color:var(--brand);font-weight:600}
.dtable .sub{color:var(--mut);font-size:13px}
.cellflex{display:flex;align-items:center;gap:12px}
.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;background:#DCE3F1}
.avatar.a-r{background:#E9563F;color:#fff} .avatar.a-g{background:#2FA36B;color:#fff}
.avatar.mono{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.logoic{width:30px;height:30px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
/* Referral logos/avatars: real brand marks + photos CONSUMED 1:1 from the
   Referrals originals (standing rule — never recreated as text-tiles). */
.reflogo,.refav{width:34px;height:34px;flex:none;background-position:center;background-repeat:no-repeat;background-size:contain}
/* Company logo images (real, consumed) — class-only + !important so they can be
   reused on the larger job-card/company-bar tiles (.jc-logo/.cd-logo), whose
   base `background:` shorthand would otherwise win. Never recreated as glyphs. */
.lg-sprig{background-image:url(reflogo-sprig.png)!important}
.lg-stripe{background-image:url(reflogo-stripe.png)!important}
.lg-notion{background-image:url(reflogo-notion.png)!important}
.lg-slack{background-image:url(reflogo-slack.png)!important}
.lg-ever{background-image:url(reflogo-ever.png)!important}
.lg-eventual{background-image:url(reflogo-eventual.png)!important}
.lg-openai{background-image:url(reflogo-openai.png)!important}
.lg-ramp{background-image:url(reflogo-ramp.png)!important}
/* .reflg turns a styled logo tile into a real-logo image holder (keeps the
   tile's size/radius; drops its bg colour + glyph text). */
.reflg{background-color:transparent!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;color:transparent!important;font-size:0!important}
.refav.av-annie{background-image:url(refav-annie.png)}
.refav.av-andrew{background-image:url(refav-andrew.png)}
.refav.av-robert{background-image:url(refav-robert.png)}
.refav.av-jenny{background-image:url(refav-jenny.png)}
.refav.av-albert{background-image:url(refav-albert.png)}
.refav.av-marta{background-image:url(refav-marta.png)}
.refav.av-david{background-image:url(refav-david.png)}
.refav.av-talentbridge{background-image:url(refav-talentbridge.png)}
.refav.av-george{background-image:url(refav-george.png)}
.refav.av-sprigj{background-image:url(refav-sprigj.png)}
.check{color:var(--brand)}
.chk{width:20px;height:20px}

.pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--r-pill);font-size:13px;font-weight:600;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok-ink)}
.pill.warn{background:var(--warn-bg);color:var(--warn-ink)}
.pill.neu{background:var(--neu-bg);color:var(--neu-ink)}
.pill.bad{background:var(--bad-bg);color:var(--bad-ink)}
.pill.paid{background:#fff;color:var(--ok-ink);border:1px solid #BfE4CC}
.pill.lav{background:#EDE9FE;color:#6D4FC7}   /* Shortlisted */
.pill.blue{background:#E3F0FE;color:#2164F4}  /* In review */
/* candidate Jobs (application tracking) table */
.jt-title{display:flex;flex-direction:column}
.jt-title .lead{color:var(--brand);font-weight:600;font-size:15.5px}
.jt-loc{color:var(--ink);font-size:14px;margin-top:3px}
.jm-search{display:flex;align-items:center;gap:12px;border:1.5px solid #DDE2F0;border-radius:12px;padding:16px 18px;color:var(--mut-2);font-size:16px;margin:0 0 10px}
.jm-search svg{color:var(--ink)}

.toolbar{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.search{flex:1;display:flex;align-items:center;gap:12px;border:1.5px solid #DDE2F0;border-radius:12px;padding:14px 16px;color:var(--mut-2);font-size:15px}
.search svg{width:22px;height:22px;flex:none}
.iconbtn{width:52px;height:52px;border:1px solid var(--line);border-radius:var(--r-field);display:flex;align-items:center;justify-content:center;color:var(--ink);flex:none}
.iconbtn svg{width:22px;height:22px}
.rowcheck{width:20px;height:20px;border:1.6px solid var(--mut-2);border-radius:5px;flex:none}
.rowactions{display:flex;align-items:center;gap:8px}
.ract{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}
.ract.y{background:var(--ok-bg);color:var(--ok-ink)} .ract.n{background:var(--bad-bg);color:var(--bad-ink)}
.ract.g{background:var(--brand-tint);color:var(--brand)} .ract.mute{background:#F1F2F6;color:var(--mut-2)}
.ract svg{width:18px;height:18px}
.pager{display:flex;align-items:center;justify-content:space-between;padding:22px 4px 0;color:var(--mut);font-size:15px}
.pager-pin{position:absolute;left:48px;right:48px;bottom:49px;padding:0}/* P5: originals pin the pager above the footer — pill bottom 113px above canvas bottom, measured uniform */
.pager .pages{display:flex;align-items:center;gap:10px}
.pg{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--mut);border:1px solid var(--line)}
.pg.on{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ============================ CARDS / PANELS ========================= */
.panel{border:1px solid var(--line);border-radius:var(--r-card);padding:26px;background:#fff}
.panel-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}
.panel-h h3{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0}
.select{border:1px solid var(--line);border-radius:9px;padding:9px 14px;font-size:14px;color:var(--ink);display:inline-flex;align-items:center;gap:10px} /* event-27 founder catch: the universal button law is for BUTTONS ONLY — dropdown/select chips keep their approved treatment (the event-24 sweep wrongly painted them; retracted). Founder-ruled blue selects stay via their scoped classes (.au-bl) */
.select svg{width:16px;height:16px;opacity:.6}
/* FIX D: per-row candidate status = bordered dropdown w/ purple text (matches the
   original), not a filled lavender pill. */
.select.st-lav{color:#6D4FC7;font-weight:600;padding:7px 12px;font-size:13.5px}
/* frame 30: the Shortlisted status pill's dropdown chevron read as MISSING because
   .select svg is 60% opacity in faint lavender — make it fully visible (founder catch). */
.select.st-lav svg{opacity:1}
.section-h{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 20px;display:flex;align-items:center;gap:14px}

/* ============================ FORMS ================================== */
.field{margin:0 0 26px}
.field label{display:block;font-size:15px;font-weight:700;margin:0 0 10px}
.field .inp{border:1.5px solid #DDE2F0;border-radius:12px;padding:16px 16px;font-size:16px;color:var(--ink);min-height:57px;display:flex;align-items:center;justify-content:space-between;background:#fff} /* E37 */
.field .inp.ph{color:var(--mut-2)}
.field .hint{color:var(--mut);font-size:13.5px;margin-top:8px}
.field .verify{color:var(--brand);font-weight:600}
.field .inp{justify-content:flex-start;gap:0}
.field .inp .verify{margin-left:auto}
.field .inp .sel-chev{margin-left:auto;color:var(--ink-2);flex:none;display:flex} /* CHEVRON token: visible dropdown chevron (was --mut, hard to see) */
.field .inp .pre-ico{color:var(--ink);flex:none;display:flex;margin-right:8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.kv{margin:0 0 26px}
.kv .k{color:var(--mut);font-size:15px;margin:0 0 8px}
.kv .v{font-size:17px;display:flex;align-items:center;gap:8px}
.formfoot{display:flex;justify-content:flex-end;gap:14px;border-top:1px solid var(--line);padding-top:24px;margin-top:8px}

/* toggle (E35) */
.switch{width:46px;height:26px;border-radius:999px;background:var(--brand);position:relative;flex:none}
.switch.off{background:#CDD2DC}
.switch::after{content:"";position:absolute;top:3px;left:23px;width:20px;height:20px;border-radius:50%;background:#fff}
.switch.off::after{left:3px}
.togrow{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid var(--line-2)}
.togrow .tt{font-size:16px;font-weight:600;margin:0 0 6px}
.togrow .td{color:var(--mut);font-size:14px;max-width:820px}
.togroup{font-family:var(--font-head);font-weight:800;font-size:17px;margin:26px 0 4px}

/* connect card (google) */
.connect{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:26px;margin-top:8px}
.connect .g{width:34px;height:34px;flex:none}
.connect .ct{font-weight:700;font-size:16px}
.connect .cd{color:var(--mut);font-size:14px;margin-top:3px}

/* ============================ MODAL ================================== */
.overlay{position:absolute;inset:0;background:rgba(15,17,22,.55);display:flex;align-items:center;justify-content:center;z-index:20}
.modal{width:660px;background:#fff;border-radius:18px;box-shadow:var(--sh-pop);padding:34px 38px;position:relative}
.modal .x{position:absolute;top:26px;right:28px;color:var(--ink);width:24px;height:24px}
.modal h3{font-family:var(--font-head);font-size:26px;font-weight:800;margin:0 0 18px}
.modal .mrow{display:flex;align-items:center;justify-content:space-between;font-size:16px;margin:0 0 10px}
.modal .mrow b{font-weight:700}
.modal p{color:var(--ink-2);font-size:16px;line-height:1.55;margin:0}

/* ============================ CHARTS ================================= */
.bars{display:flex;align-items:flex-end;gap:14px;height:300px;padding:0 4px}
.bars .bcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;height:100%;justify-content:flex-end}
.bars .bar{width:60%;border-radius:6px 6px 0 0;background:var(--dv-3)}
.bars .bar.hot{background:var(--brand)}
.bars .bx{color:var(--mut);font-size:13px}
.yax{display:flex;flex-direction:column;justify-content:space-between;color:var(--mut-2);font-size:12px;height:300px;padding-bottom:24px;text-align:right;margin-right:14px}
.legend{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin-top:20px;color:var(--ink);font-size:14px}
.legend .lg{display:flex;align-items:center;gap:8px}
.dot{width:10px;height:10px;border-radius:50%;flex:none}
.donut-wrap{display:flex;align-items:center;gap:34px}
.donut{width:230px;height:230px;border-radius:50%;flex:none;position:relative}
.donut::after{content:"";position:absolute;inset:56px;background:#fff;border-radius:50%}
.donut .dc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.donut .dc .dl{color:var(--mut);font-size:14px} .donut .dc .dn{font-family:var(--font-head);font-weight:800;font-size:30px}
.dkeys{display:flex;flex-direction:column;gap:18px}
.dkey .dk-l{display:flex;align-items:center;gap:9px;color:var(--mut);font-size:14px}
.dkey .dk-n{font-weight:700;font-size:17px;margin-left:19px}
.funnel-row{display:flex;align-items:center;gap:16px;margin:14px 0}
.funnel-row .fl{width:130px;color:var(--mut);font-size:14px;flex:none}
.funnel-row .segs{flex:1;display:flex;gap:8px}
.funnel-row .seg{height:40px;border-radius:8px}

/* ============================ FAQ / HELP ============================ */
.faq .q{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px;border-bottom:1px solid var(--line);font-size:18px;font-weight:600}
.faq .q svg{width:22px;height:22px;color:var(--mut);flex:none}
.faq .a{color:var(--mut);font-size:15px;line-height:1.6;padding:0 2px 22px;border-bottom:1px solid var(--line);max-width:820px}
.helpcard{position:relative;background:var(--tint-panel);border-radius:16px;padding:34px;overflow:hidden}
/* Corner-cutout: square notch at TOP-RIGHT + BOTTOM-LEFT (~30px), placement from
   the Help & Support original. P7 (2026-07-13): razor clip-path RETIRED — cut-outs
   render as rounded overlay squares at the elected 10px (R3), the home-page
   treatment. Guarded by guard_notch.py corner-arc probe. */
.helpcard.notch::before{content:"";position:absolute;top:0;right:0;width:35px;height:35px;background:#fff;border-bottom-left-radius:8px;z-index:4}/* P11: rail 35x35/36x36 measured from originals (base 30 was never measured); r8 = R7 bucket <=45 */
.helpcard.notch::after{content:"";position:absolute;bottom:0;left:0;width:36px;height:36px;background:#fff;border-top-right-radius:8px;z-index:4}
.helpcard h3{font-family:var(--font-head);font-size:26px;font-weight:800;margin:0 0 22px;line-height:1.2}
/* right-column cards ("Didn't find…" / "Need quick assistance?") — measured from
   the original: fixed ~310px height, content vertically centred, left pad 56px.
   Own class so base .helpcard + the "Still need help?" card are untouched. */
.helpcard.rc{min-height:310px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:34px 56px}
/* "Still need help?" watermark — 105px, vertically centred on the card's left
   (measured from the original: ~105px @ left ~56px, card v-centre). */
.helpcard .wmk{position:absolute;left:56px;top:50%;transform:translateY(-50%);opacity:.14;width:105px;height:105px;background:url(arrow-nav-alpha.png) center/contain no-repeat}

/* ============================ CHAT WIDGET ========================== */
.chatw{position:absolute;right:34px;top:150px;width:420px;height:560px;background:#fff;border-radius:16px 16px 0 0;box-shadow:var(--sh-pop);display:flex;flex-direction:column;overflow:hidden;z-index:15}
.chatw .ch-h{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
.chatw .ch-h h4{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0}
.chatw .ch-b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;gap:12px}
.chatw .day{text-align:center;color:var(--mut);font-size:13px;margin-bottom:6px}
.bubble{background:#F1F3F7;border-radius:12px;padding:12px 15px;font-size:15px;max-width:80%;align-self:flex-end}
.bubble.bot{align-self:flex-start}
.chatw .ch-f{padding:16px;display:flex;gap:10px;align-items:center}
.chatw .ch-f .inp{flex:1;border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--mut-2);font-size:15px}
.chatw .ch-send{width:52px;height:50px;background:var(--brand);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
/* Bot avatar — the brand arrow ASSET (arrow-nav-alpha) recoloured brand-blue on
   a #E0E8FB tile (measured from the original); consumed, never redrawn. */
.ch-av{width:44px;height:44px;border-radius:12px;background:#E0E8FB;flex:none;display:flex;align-items:center;justify-content:center}
.ch-av .mk-arrow{width:22px;height:22px;filter:brightness(0) saturate(100%) invert(29%) sepia(94%) saturate(2476%) hue-rotate(216deg) brightness(97%) contrast(96%)}
.chatw .ch-msg{display:flex;gap:10px;align-items:flex-start}
.chatw .ch-time{color:var(--mut);font-size:12px;margin-top:6px}

/* ============================ AUTH LAYOUTS ========================= */
.auth{height:100%;display:flex;flex-direction:column}
.auth-top{height:128px;flex:none;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;padding:68px 60px 0 157px}
/* the REAL logo asset, extracted 1:1 from the sign-in original (never typed) */
.logo-wm{display:block;width:149px;height:32px;background:url(logo-liverec.png) center/contain no-repeat}
.auth-top .wm{font-size:28px}
.auth-top .r-link{font-size:18px;color:var(--ink)}
/* Auth dark band — PER-FRAME LAW: each auth frame's band is a 1:1 crop of
   THAT FRAME'S ORIGINAL (original-design/, band region under the 110px
   header; raw pixels, never drawn/recomposed — build/make_band_assets.py).
   The live card renders over the original card zone. Gate: wm_diff.py
   pixel-diffs every rebuilt band against its own original at build time. */
.auth-body{flex:1;display:flex;position:relative;background:#424245}
.wm-fig{position:absolute;inset:0;z-index:0;pointer-events:none;background:#424245 top left/1684px 923px no-repeat}
.wm-fig.b-signin{background-image:url(band-aff-signin.png)}
.wm-fig.b-signup{background-image:url(band-aff-signup.png)}
.wm-fig.b-verify{background-image:url(band-aff-verify.png)}
.wm-fig.b-success{background-image:url(band-aff-success.png)}
.auth-body>.auth-split,.auth-body>.auth-center{position:relative;z-index:3}
.auth-split{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:0 90px}
.auth-center{flex:1;display:flex;align-items:center;justify-content:center}
/* auth cards — measured per-frame from the originals (faithful content geometry) */
.authcard{position:absolute;z-index:2;background:#fff;border-radius:16px;padding:44px 48px} /* shadow lives in the band asset (the original's own) */
.authcard.g-signin{left:855px;top:133px;width:668px;min-height:618px}
.authcard.g-signup{left:855px;top:59px;width:668px;min-height:766px}
.authcard.g-verify{left:588px;top:213px;width:507px;min-height:458px;text-align:center;padding:52px 40px}
.authcard.g-success{left:588px;top:206px;width:507px;min-height:472px;text-align:center;padding:52px 40px}
.authcard h2{font-family:var(--font-head);font-size:30px;font-weight:800;text-align:center;margin:0 0 8px}
.authcard .lead{text-align:center;color:var(--ink-2);font-size:17px;margin:0 0 26px}
.gbtn{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:16px;font-size:17px;font-weight:600;margin:0 0 22px}
.gbtn .g{width:24px;height:24px}
.divider{display:flex;align-items:center;gap:16px;color:var(--mut);font-size:15px;margin:0 0 26px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.authcard .badge{width:78px;height:78px;margin:0 auto 24px;border-radius:50%;background:var(--ok-ink);display:flex;align-items:center;justify-content:center;color:#fff}
.authcard .badge svg{width:44px;height:44px}

.m2{margin-top:2px}.mt8{margin-top:8px}.mb0{margin-bottom:0}
.grow{flex:1}

.mk-arrow{display:inline-block;background:url(arrow-nav-alpha.png) center/contain no-repeat}

/* ============================ CANDIDATE AUTH (light, own watermark instance) ===
   Job Seeker auth is a DISTINCT instance from Affiliate's dark-band auth:
   light #F7F9FE canvas, own watermark position/orientation/opacity — never
   unified with the dark-band instance or any other locked instance. */
.cauth{width:1683px;min-height:1051px;background:#fff;position:relative}
.cauth-top{height:128px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 60px}
.cauth-top .r-link{font-size:16px;color:var(--ink)}
.cauth-top .r-link b{color:var(--brand);font-weight:600}
.cauth-body{min-height:923px;background:#F5F7FE;display:flex;align-items:center;position:relative;overflow:hidden}
.cauth-split{flex:1;display:flex;align-items:center;justify-content:space-between;padding:0 90px 0 277px;gap:60px;position:relative;z-index:1}
.cauth-mkt{max-width:600px;position:relative}
.cauth-mkt .logo-wm{width:330px;height:71px;margin-bottom:30px;background-image:url(logo-liverec-alpha.png)}
.cauth-mkt h2{font-family:var(--font-head);font-weight:800;font-size:34px;margin:0 0 26px}
.cauth-mkt ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
.cauth-mkt li{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;color:var(--ink-2)}
.cauth-mkt li svg{color:var(--up);flex:none;margin-top:2px}
/* Sign-up watermark — OWN locked instance, CONSUMED 1:1 from the original's own
   left panel (cauth-watermark.png = the original's faint diagonal-diamond + tall
   rectangle, text erased). Anchored to the panel (.cauth-body) at the original's
   absolute position, BEHIND all content. Faint by construction (it IS the
   original's pixels). Never redrawn as solid shapes, never unified with any other. */
.cauth-wm{position:absolute;left:0;top:0;width:1010px;height:100%;z-index:0;
  background:url(cauth-watermark.png) left top no-repeat;pointer-events:none}
.cauth-card{width:500px;flex:none;background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-card);padding:40px 44px;position:relative;z-index:1}
.cauth-center{flex:1;display:flex;align-items:center;justify-content:center}
.cauth-card.center{width:460px;text-align:center;padding:48px 42px}
.cauth-card h2{font-family:var(--font-head);font-size:25px;font-weight:800;text-align:center;margin:0 0 8px}
.cauth-card .lead{text-align:center;color:var(--mut);font-size:14.5px;margin:0 0 24px;line-height:1.5}
.cauth-card .badge{width:74px;height:74px;margin:0 auto 22px;border-radius:50%;background:var(--ok-ink);display:flex;align-items:center;justify-content:center;color:#fff}
.cauth-card .badge svg{width:40px;height:40px}
.cauth-otp{display:flex;gap:10px;justify-content:center;margin:18px 0}
.cauth-otp span{width:50px;height:54px;border:1.5px solid var(--line);border-radius:10px}
.cauth-field{margin-bottom:16px;text-align:left}
.cauth-field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.cauth-note{font-size:12.5px;color:var(--mut);margin-top:6px}

/* ---- onboarding accordion (8-step wizard, one component, step = param) --- */
.cwiz{max-width:1300px;margin:0 auto;padding:40px 60px;width:100%}
.cwiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:15px;color:var(--mut)}
.cwiz-step{border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--brand-tint)}
.cwiz-step.done{background:var(--brand-tint)}
.cwiz-hd{display:flex;align-items:center;gap:14px;padding:25px 24px;font-family:var(--font-head);font-weight:800;font-size:17px}  /* orig accordion row pitch ~80px */
.cwiz-num{width:28px;height:28px;border-radius:8px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}
.cwiz-step.done .cwiz-num{background:var(--up);color:#fff}
.cwiz-hd .chev{margin-left:auto;color:var(--mut)}
.cwiz-body{background:#fff;padding:8px 24px 32px;border-left:2.5px solid var(--up)}
.cwiz-body h3{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 8px}
.cwiz-body .sub{color:var(--mut);font-size:14.5px;margin:0 0 22px}
.cwiz-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.cwiz-row.date-row{align-items:start}
.end-cell .field{margin-bottom:0}
.still-here{display:flex;gap:10px;align-items:center;margin:12px 0 0;font-size:14.5px;color:var(--ink-2)}
.field.dis .inp{background:#F2F3F7;border-color:#E6E9F2}
.field.dis .inp .pre-ico{color:var(--mut-2)}
/* divider between experience blocks: checked blue checkbox + hairline rule (original) */
.exp-div{display:flex;align-items:center;gap:0;margin:4px 0 24px}
.exp-cb{width:22px;height:22px;background:var(--brand);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.exp-rule{flex:1;height:1px;background:var(--line)}
.cwiz-foot{display:flex;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.cwiz-actions{display:flex;gap:10px}

/* ============================ EMPLOYER AUTH (dark navy, own watermark instance) ===
   Employer auth is its OWN distinct instance from both Job Seeker's light auth
   and Affiliate's dark-band auth: dark navy canvas with the canonical brand
   arrow TILED as a repeating pattern (consumed asset, never redrawn) fading
   toward the form card — its own locked treatment, not unified with any
   other instance. */
.eauth{width:1683px;min-height:1051px;background:#fff;position:relative}
.eauth-top{height:128px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 60px}
.eauth-top .r-link{font-size:16px;color:var(--ink)}
.eauth-top .r-link b{color:var(--brand);font-weight:600}
.eauth-body{min-height:923px;background:#050045;position:relative;display:flex;align-items:center;overflow:hidden}
/* dark-auth pattern — SAME technique as the Affiliate bands (.wm-fig): the bold
   arrow composition is the ORIGINAL's own pixels, cropped 1:1 (band-emp-*.png),
   placed no-repeat — NOT a live low-opacity CSS tile (which renders faint/muddy). */
.eauth-mosaic{position:absolute;inset:0;z-index:0;pointer-events:none;background:#050045 top left/1684px 923px no-repeat}
.eauth-mosaic.b-signin{background-image:url(band-emp-signin.png)}
.eauth-mosaic.b-signup{background-image:url(band-emp-signup.png)}
.eauth-mosaic.b-verify{background-image:url(band-emp-verify.png)}
.eauth-mosaic.b-emailok{background-image:url(band-emp-emailok.png)}
.eauth-mosaic.b-profileok{background-image:url(band-emp-profileok.png)}
.eauth-mosaic.b-docok{background-image:url(band-emp-docok.png)}
.eauth-split{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:0 90px;position:relative;z-index:1}
.eauth-card{width:520px;flex:none;background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-pop);padding:40px 44px}
.eauth-card h2{font-family:var(--font-head);font-size:25px;font-weight:800;text-align:center;margin:0 0 8px}
.eauth-card .lead{text-align:center;color:var(--mut);font-size:14.5px;margin:0 0 24px;line-height:1.5}
.eauth-center{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
/* SUCCESS-CARD token (frames 16/18): wider card + bigger headline than the tight 460 */
.eauth-card.center{width:500px;text-align:center;padding:48px 46px}
.eauth-card.center h2{font-size:27px}
/* SUBTEXT-CONTRAST token: success/redirect helper text readable (was --mut 14.5px) */
.eauth-card.center .lead{color:var(--ink-2);font-size:15.5px}
/* SUCCESS-CARD badge = canonical PLAIN ROUND green circle + white check (--ok-ink),
   identical to the candidate success cards. The scalloped seal was ruled wrong. */
.eauth-card .badge{width:74px;height:74px;margin:0 auto 22px;border-radius:50%;background:var(--ok-ink);display:flex;align-items:center;justify-content:center;color:#fff}
.eauth-card .badge svg{width:40px;height:40px}
/* light variant — Claim company / Account verification (no mosaic, plain white) */
.eauth-light{width:1683px;min-height:1051px;background:#fff;position:relative}
.eauth-light-top{height:128px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 60px}
.eauth-light-body{padding:70px 60px;display:flex;justify-content:center}
.eauth-light-card{max-width:670px;width:100%}
.eauth-light-card h2{font-family:var(--font-head);font-size:28px;font-weight:800;margin:0 0 8px}
.eauth-light-card .sub{color:var(--mut);font-size:15px;margin:0 0 26px}
/* DROPZONE token (frame 17): dashed border must read as an interactive dropzone
   (was --line #E7E9F2, near-invisible) + an upload-glyph chip affordance. */
.eauth-upload{border:1.5px dashed #C2CADB;border-radius:12px;padding:58px 40px;text-align:center;color:var(--mut);margin-bottom:22px}
.up-chip{display:inline-flex;width:56px;height:56px;border-radius:12px;background:#F1F4FB;align-items:center;justify-content:center;color:#7C86A0;animation:up-bob 2.2s ease-in-out infinite}
.up-chip svg{width:26px;height:26px}
@keyframes up-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* plan banner atop the Employer onboarding wizard */
.cwiz-plan{display:flex;justify-content:space-between;align-items:center;background:var(--brand-tint);border-radius:12px;padding:16px 24px;margin-bottom:20px;font-size:15px}
.cwiz-plan b{font-family:var(--font-head);font-weight:800;margin-right:10px}
.cwiz-plan .price{font-weight:700}
.cwiz-exists{display:flex;align-items:center;justify-content:space-between;background:#EAF1FE;border:1px solid var(--brand-tint);border-radius:10px;padding:12px 16px;margin:-6px 0 16px;font-size:14.5px;color:var(--brand)}

/* ============================ CANDIDATE CHROME ========================= */
/* originals 1683x1051; white header to y127; logo asset at absolute (160,71) */
.frame.cand{width:1683px;height:1051px;background:#fff}
.pubnav{height:127px;background:#fff;display:flex;align-items:center;justify-content:flex-start;
  padding:0 60px 0 157px;border-bottom:1px solid var(--line);position:relative;z-index:5}
.pn-links{display:flex;gap:44px;margin-left:56px;font-size:17px;color:var(--ink)}
.pn-link{color:var(--ink);font-weight:500}
.pn-link.on{font-weight:700}
.pn-cta{margin-left:auto;display:flex;align-items:center;gap:18px}
.pn-cta .btn{padding:13px 22px;font-size:16px}
.pn-cta.icons{gap:26px;color:var(--ink)}

/* ---- candidate job-search shell (frame originals: search bar y150..222, chips y262..300) */
.js-bar{background:#fff;border-bottom:1px solid var(--line);padding:22px 60px 26px 157px}
.js-search{display:flex;gap:14px;align-items:center}
.js-field{display:flex;align-items:center;gap:12px;border:1.5px solid #DDE2F0;border-radius:12px;padding:14px 16px;font-size:16px;color:var(--ink);width:390px}
.js-field:nth-child(2){width:260px}
.js-find{padding:15px 30px}
.js-ai{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #C7D6FB;border-radius:12px;padding:13px 18px;color:var(--brand);font-weight:600;font-size:16px}
.js-ai .pro{background:#F5853F;color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}
.js-alert{display:inline-flex;align-items:center;gap:9px;margin-left:26px;font-size:16px;color:var(--ink)}
.js-chips{display:flex;gap:12px;margin-top:24px;flex-wrap:nowrap}
.js-chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14.5px;color:var(--ink);white-space:nowrap}
.js-chip.on{background:var(--brand-tint);border-color:var(--brand-tint);color:var(--ink)}
.js-main{padding:30px 60px 0 157px;position:relative;min-height:800px}
.js-rhead{display:flex;justify-content:space-between;font-size:15px;color:var(--ink);margin-bottom:16px}
.js-rhead .js-sort{color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.js-cols{display:flex;gap:26px}
.js-left{width:698px}.js-right{width:660px;flex:none}
.jcard{border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.jc-cur{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:13.5px;margin-bottom:12px}
.jc-row{display:flex;gap:14px;align-items:flex-start}
.jc-logo{width:56px;height:56px;border-radius:10px;background:#FBF3DC;color:#B98A2C;display:flex;align-items:center;justify-content:center;font-size:13px;font-style:italic;font-weight:700;flex:none}
.jc-co{font-size:14.5px;color:var(--ink)}
.jc-title{font-weight:700;font-size:17px;color:var(--ink);margin-top:3px}
.jc-title.big{font-size:20px}
.jc-age{color:var(--mut);font-size:13.5px;margin-left:auto}
.jdetail{border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.jd-meta{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:14.5px;margin-top:16px}
/* fogged state + account gate (Jobs without login original) */
.fogged .js-cols{opacity:.35;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);mask-image:linear-gradient(180deg,#000 0%,transparent 78%)}
.js-gate{position:absolute;left:0;right:0;top:290px;text-align:center;z-index:3}
.js-gate h2{font-family:var(--font-head);font-weight:800;font-size:32px;margin:0 0 12px}
.js-gate p{color:var(--mut);font-size:16px;margin:0 0 30px}
.gate-btns{width:436px;margin:0 auto;position:relative;z-index:2}
.gate-btns .g-google{width:100%;margin-bottom:16px;font-weight:600}
.gate-btns .g-google .g{width:20px;height:20px;margin-right:10px}
.gate-legal{margin-top:18px;font-size:14.5px;color:var(--ink)}
/* create-account gate watermark instance — locked DOWN-LEFT, centred behind the
   "Create an account" copy block (own locked position, independent of the
   footer/sidebar/modal instances) */
.gate-ghost{position:absolute;left:50%;top:-114px;transform:translateX(-50%) scaleX(-1);width:340px;height:340px;
  background:url(arrow-nav-alpha.png) center/contain no-repeat;opacity:.10;z-index:1;pointer-events:none}

/* ---- candidate two-pane jobs shell (Jobs without Plan / Jobs 2 originals) */
.js-cols{align-items:flex-start}
.js-left{width:698px;display:flex;flex-direction:column;gap:0}
.jcard{border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:22px}
.jcard.warm{background:#FBF6ED;border-color:#F0E6D2}
.jc-cur{display:flex;align-items:center;gap:8px;color:#E08A2B;font-size:14px;font-weight:600;margin-bottom:14px}
.jc-cur .mk-arrow{filter:brightness(0) saturate(100%) invert(58%) sepia(60%) saturate(900%) hue-rotate(350deg)}
.jc-cur.urgent{color:var(--brand)}
.jc-row{display:flex;gap:16px;align-items:flex-start}
.jc-logo{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-style:italic;flex:none}
.jc-main{flex:1;min-width:0}
.jc-co{font-size:15px;color:var(--ink);display:flex;align-items:center;gap:10px}
.jc-age{color:var(--mut);font-size:14px;margin-left:auto;font-style:normal;font-weight:400}
.jc-title{font-weight:700;font-size:18px;color:var(--ink);margin-top:4px}
.jc-title.big{font-size:22px}
.jd-meta{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:14.5px;margin:16px 0 0;flex-wrap:wrap}
.jd-meta.wide{gap:10px}
.jd-meta .mk-arrow,.jd-meta svg{opacity:.7}
.jc-desc{color:var(--mut);font-size:14.5px;line-height:1.55;margin:14px 0 16px}
.jc-actions{display:flex;gap:12px}
.jc-apply{flex:1;justify-content:center;color:var(--brand);border-color:#C7D6FB}
.jc-save{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #A9BFF3;border-radius:12px;padding:0 20px;color:var(--brand);font-weight:600;font-size:15px} /* AUDIT-FIX: border was --line (blended into card) → visible light-blue (source ~#97B0F4) */
/* match ring — 4-level registry component (own classes; never collides with the
   affiliate analytics .donut). Level drives colour (set inline per level). */
.match-ring{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}
.mr-ring{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mr-pct{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13.5px;color:var(--ink)}
.mr-lab{font-size:12px;font-weight:600}
/* detail pane */
.js-right{width:660px;flex:none}
.jdetail{border:1px solid var(--line);border-radius:14px;padding:24px 26px}
.jd-head .jc-cur{color:#E08A2B}
.jd-hiring{color:#1F9254;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.dot-g{width:8px;height:8px;border-radius:50%;background:#1F9254;display:inline-block}
.jd-hot{display:inline-flex;align-items:center;gap:6px;color:var(--mut);font-size:14px}
.jd-cta{display:flex;gap:12px;margin:18px 0 0}
.jd-apply{flex:1;justify-content:center}
.jd-cta .btn-outline{color:var(--brand);border-color:var(--line)}
.jd-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;padding:22px 0;border-bottom:1px solid var(--line);margin-top:20px}
.jd-k{color:var(--mut);font-size:14px;margin-bottom:5px}
.jd-v{color:var(--ink);font-size:15.5px;font-weight:600}
.jd-body{padding-top:18px;position:relative}
.jd-about{font-family:var(--font-head);font-weight:800;font-size:17px;margin:8px 0 10px}
.jd-body p{color:var(--ink);font-size:16px;line-height:1.65;margin:0 0 14px}
.jd-ul{margin:0;padding-left:20px;color:var(--ink);font-size:16px;line-height:1.65}
.jd-body.faded{-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 92%);mask-image:linear-gradient(180deg,#000 0%,transparent 92%)}
.jd-gate{text-align:center;padding:10px 20px 20px}
.jd-gate h3{font-family:var(--font-head);font-weight:800;font-size:24px;margin:0 0 10px}
.jd-gate p{color:var(--mut);font-size:15px;margin:0 0 22px;line-height:1.5}

/* ---- candidate pricing (Choose Plan originals) — light-blue page ---- */
.frame.cand:has(.pr-main){background:#F3F6FE}
.price-top{height:82px;background:#fff;display:flex;align-items:center;padding:0 60px 0 76px;border-bottom:1px solid var(--line)}
.pr-main{padding:44px 72px 60px;background:#F3F6FE}
.pr-hero{text-align:center;margin-bottom:30px}
.pr-hero h1{font-family:var(--font-head);font-weight:800;font-size:40px;margin:0 0 12px}
.pr-hero p{color:var(--mut);font-size:16px;margin:0 auto 22px;max-width:640px}
.pr-toggle{display:inline-flex;background:var(--brand-tint);border-radius:999px;padding:5px}
.pr-toggle span{padding:8px 22px;border-radius:999px;font-size:14px;font-weight:600;color:var(--brand)}
.pr-toggle .on{background:var(--brand);color:#fff}
.plan-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.plan{padding:28px 28px 32px;border-right:1px solid var(--line);position:relative}
.plan:last-child{border-right:none}
.plan.feat{background:#F5F7FE;overflow:hidden} /* index-elected --tint (final-pricing) */
.plan-name{font-family:var(--font-head);font-weight:800;font-size:22px}
.plan-top{margin-bottom:12px}
.plan-sub{color:var(--mut);font-size:14.5px;line-height:1.5;margin-bottom:22px;min-height:44px}
.plan-price{font-size:16px;color:var(--mut);margin-bottom:20px}
.plan-price b{font-size:34px;color:var(--ink);font-family:var(--font-head)}
.plan .btn-block{margin-bottom:22px}
.plan-head{font-weight:700;font-size:14.5px;margin-bottom:14px}
.plan-bul{list-style:none;margin:0;padding:0}
.plan-bul li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink);margin-bottom:12px}
.plan-bul li svg{color:#1F9254;flex:none;margin-top:1px}
/* RIBBON-CASE token: the source ribbon reads "Most Popular" (title case) on Step-18
   AND the pricing page — not all-caps. */
.popular{position:absolute;top:34px;right:-54px;left:auto;width:200px;transform:rotate(45deg);transform-origin:center;background:#F5853F;color:#fff;text-align:center;font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:.01em;padding:6px 0;box-shadow:0 2px 6px rgba(15,23,42,.18);z-index:3;white-space:nowrap}
/* E14: description flows AROUND the ribbon corner (index-elected) */
.plan.feat .plan-sub::before{content:"";float:right;width:86px;height:62px;shape-outside:polygon(0 0,100% 0,100% 100%)}
.cmp-link{text-align:center;color:var(--brand);font-weight:600;font-size:16px;margin:26px 0;display:flex;align-items:center;justify-content:center;gap:10px}
.cmp-link svg{color:var(--brand)}
/* compare table */
.cmp{background:transparent}
.cmp-head,.cmp-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;align-items:center}
.cmp-head{padding:14px 8px;font-weight:700;font-size:16px;border-bottom:1px solid var(--line)}
.cmp-head span:not(:first-child),.cmp-row span:not(.cmp-feat){text-align:center}
.cmp-sec{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-family:var(--font-head);font-size:16px;padding:22px 8px 12px;border-bottom:1px solid var(--line)}
.cmp-sec svg{color:var(--mut)}
.cmp-row{padding:14px 8px;font-size:14.5px;border-bottom:1px solid var(--line-2)}  /* index-elected final-pricing .cmp td (compact) */
.cmp-feat{color:var(--ink);display:flex;align-items:flex-start;gap:8px;padding-right:20px}
.cmp-i{width:15px;height:15px;border-radius:50%;border:1px solid var(--mut-2);color:var(--mut-2);font-size:10px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}
.cmp-ck svg{color:#1F9254}
.cmp-dash{color:var(--mut-2)}
.cmp-txt{color:var(--ink);font-size:14px}

/* ---- candidate Company Details template ---- */
.cd-hero{margin:0 60px;border-radius:16px;padding:44px 60px 90px;text-align:center;position:relative;
  background:linear-gradient(120deg,#F3EEE6 0%,#F6EFD9 45%,#FBE7CF 100%)}
.cd-hero h1{font-family:var(--font-head);font-weight:800;font-size:38px;line-height:1.15;margin:0 auto 14px;max-width:820px}
.cd-hero p{color:var(--ink-2);font-size:16px;line-height:1.55;margin:0 auto;max-width:720px}
.cd-hero.ghost{background:#EAF0FB}
/* P7: Q&A(2) placeholder-hero cut-outs — placement+size from the ORIGINAL (inventory: TL ~70x75, BR ~65x40). P11 R7: TL 70x75 -> 12px; BR 65x40 STRADDLE (12/8) min-rule -> 8px, founder rules at gate. */
.cd-hero.ghost::before{content:"";position:absolute;left:0;top:0;width:70px;height:75px;background:#fff;border-bottom-right-radius:12px;z-index:0}
.cd-hero.ghost::after{content:"";position:absolute;right:0;bottom:0;width:65px;height:40px;background:#fff;border-top-left-radius:8px;z-index:0}/* z0: sits above the band, under the later-DOM cd-bar card that overlaps the hero (as in the original) */
.cd-hero.ghost h1,.cd-hero.ghost p{visibility:hidden}
.cd-play{position:absolute;left:50%;top:120px;transform:translateX(-50%);width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center}
.cd-play svg{margin-left:3px}
.cd-bar{margin:-56px 72px 0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-card);padding:22px 26px;display:flex;align-items:center;gap:20px;position:relative;z-index:2}
.cd-logo{width:70px;height:70px;border-radius:12px;background:#FBF3DC;color:#B98A2C;display:flex;align-items:center;justify-content:center;font-style:italic;font-weight:700;font-size:15px;flex:none}
.cd-bmain{flex:1}
.cd-bco{font-family:var(--font-head);font-weight:800;font-size:20px;display:flex;align-items:center;gap:12px}
.cd-btag{color:var(--ink);font-size:15px;margin:5px 0 6px}
.cd-verified{display:inline-flex;align-items:center;gap:6px;color:var(--up);font-size:14px;font-weight:600}
.cd-bcta{display:flex;gap:12px}
.cd-bcta .btn-outline{color:var(--brand);border-color:#C7D6FB}
.cd-wrap{padding:0 72px}
.cd-tabs{display:flex;gap:38px;border-bottom:1px solid var(--line);margin:30px 0 28px}
.cd-tab{padding:0 2px 16px;font-size:17px;color:var(--ink);position:relative}
.cd-tab.on{color:var(--brand);font-weight:700}
.cd-tab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand)}
.cd-cols{display:flex;gap:34px;align-items:flex-start}
.cd-left{flex:1;min-width:0}
.cd-rail{width:280px;flex:none;display:flex;flex-direction:column;gap:20px}
.cd-h{font-family:var(--font-head);font-weight:800;font-size:19px;margin:0 0 14px}
.cd-body>p{color:var(--ink);font-size:16px;line-height:1.7;margin:0 0 18px}
.cd-body .cd-h:not(:first-child){margin-top:26px}
.cd-card{border:1px solid var(--line);border-radius:14px;padding:20px}
.cd-hirow{display:flex;gap:13px;margin-bottom:16px}
.cd-hirow:last-child{margin-bottom:0}
.cd-hirow svg{color:var(--brand);flex:none;margin-top:2px}
.cd-hk{font-weight:700;font-size:15px}
.cd-hv{color:var(--mut);font-size:13px;line-height:1.4;margin-top:2px}
.cd-facts{background:#F7F9FE;position:relative;overflow:hidden}
/* page/sidebar watermark orientation = DOWN-LEFT (LEARNINGS #10); same canonical
   asset as every other instance, mirrored via transform — never a rotated copy. */
.cd-fghost{position:absolute;right:-10px;top:20px;width:90px;height:90px;background:url(arrow-nav-alpha.png) center/contain no-repeat;opacity:.10;transform:scaleX(-1)}
.cd-fact{margin-bottom:15px;position:relative;z-index:1}
.cd-fk{color:var(--mut);font-size:13px;margin-bottom:3px}
.cd-fv{font-size:15px;font-weight:600}
.cd-fv.link{color:var(--brand)}
.cd-awards{border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}
.cd-aw{display:flex;gap:13px}
.cd-aw svg{color:var(--brand);flex:none;margin-top:2px}
.cd-awt{font-weight:700;font-size:15px}
.cd-awd{color:var(--mut);font-size:13px;margin-top:3px;line-height:1.4}
.cd-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cd-panel{border:1px solid var(--line);border-radius:14px;padding:20px}
.cd-ph{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cd-ph b{font-size:17px}
.cd-sel{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--mut)}
.cd-line{width:100%}
.cd-line svg{display:block;width:100%;height:auto}
.cd-bars{display:flex;flex-direction:column;gap:26px;padding-top:8px}
.cd-bar-row{display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:var(--ink)}
.cd-track{position:relative;height:14px;border-radius:4px;background-color:#F7F8FB;
  background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:25% 100%}
.cd-hb{position:absolute;left:0;top:0;height:100%;border-radius:4px;background:var(--brand)}
.cd-bar-row:nth-child(2) .cd-hb{background:var(--dv-2)}
.cd-bar-row:nth-child(3) .cd-hb{background:var(--dv-3)}
.cd-bar-row:nth-child(n+4) .cd-hb{background:var(--dv-4)}
.cd-axis-row{display:flex;justify-content:space-between;margin-top:12px;padding:0 1px;font-size:12px;color:var(--mut-2)}
/* dark footer */
/* footer height matches the LOCKED affiliate source (~606px band, not 515) */
.darkfoot{background:#1D1D1F;color:#C6C8CE;padding:96px 72px 60px 155px;margin-top:44px;position:relative;overflow:hidden}
.df-top{display:flex;gap:0}
.df-brand{width:656px;flex:none}
.df-logo{width:149px;height:32px;background-image:url(logo-liverec-white.png);margin-bottom:16px} /* real white wordmark, extracted 1:1 from the dark footer */
.df-brand p{font-size:15px;color:#C6C8CE;margin:0}
/* LOCKED footer watermark (LEARNINGS #1): the approved AFFILIATE footer arrow —
   footer-arrow.png (affiliate original's diagonal corner arrow, 1:1), 220px
   square, bottom-left (left 120 / bottom 112 → 142px above footer bottom),
   white asset @16.5% over #1D1D1F band ≈ #414144. Size+position FIXED forever;
   colour is the only variant (lib.footer arrow_color → inline filter). */
.df-arrow{position:absolute;left:120px;bottom:142px;width:220px;height:220px;background:url(footer-arrow.png) left bottom/contain no-repeat;opacity:.165;z-index:0;pointer-events:none}
.darkfoot .df-top,.darkfoot .df-bot{position:relative;z-index:1}
.df-cols{flex:1;display:grid;grid-template-columns:392px 1fr;row-gap:64px;column-gap:0;align-content:start}

.df-col h5{color:#fff;font-size:16px;font-weight:700;margin:0 0 16px}
.df-col a{display:block;color:#C6C8CE;font-size:14.5px;margin-bottom:12px;text-decoration:none}
.df-bot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #333;margin-top:40px;padding-top:20px;font-size:13.5px;color:#8A8F98}
.df-social{display:flex;gap:16px}
.df-si{color:#C6C8CE;display:inline-flex}.df-si svg{width:20px;height:20px}

/* ---- Jobs Full detail extras ---- */
.js-pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:22px 0 8px;margin-top:6px}
.js-pager .pg,.js-pager .pg-prev,.js-pager .pg-next{min-width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:14.5px;color:var(--ink)}
.js-pager .pg.on{background:var(--brand);color:#fff;font-weight:600}
.js-pager .pg-dot{color:var(--mut)}
.js-pager .pg-prev svg,.js-pager .pg-next svg{color:var(--mut)}
.jd-chips{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 8px}
.jd-chip{border:1px solid var(--line);border-radius:8px;padding:9px 14px;font-size:14px;color:var(--ink)}
.jd-gap{background:#EFF3FE;border-radius:14px;padding:20px 22px;display:flex;align-items:center;gap:20px;margin:22px 0 8px}
.jd-gapt{font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:5px}
.jd-gapd{color:var(--mut);font-size:14px;line-height:1.45}
.jd-gap .btn{white-space:nowrap;margin-left:auto}
.jd-benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin:6px 0 10px}
.jd-ben{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--ink)}
.jd-ben svg{color:var(--brand);flex:none}
.jd-byline{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--mut);font-size:14px}
.jd-report{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:8px 14px;color:var(--ink)}

/* ---- Jobs Full Essential/Professional detail extras ---- */
.jd-boost{background:#EFF3FE;border-radius:14px;padding:20px 22px;margin:18px 0}
.jd-bt{font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:6px}
.jd-bd{color:var(--mut);font-size:14px;line-height:1.5;margin-bottom:16px}
.jd-bstr{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:8px}
.jd-bar83{height:8px;border-radius:5px;background:#DCE3F1;overflow:hidden;margin-bottom:16px}
.jd-bar83 i{display:block;width:83%;height:100%;background:var(--bar-fill)}
.jd-bchk{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--ink);margin-bottom:11px}
.jd-radio{width:16px;height:16px;border-radius:50%;border:1.6px solid var(--mut-2);flex:none}
.jd-jro{background:#F5F7FB;border-radius:12px;padding:16px 18px;margin:12px 0 4px}
.jd-jrot{font-weight:700;font-size:15px;margin-bottom:7px}
.jd-jro p{color:var(--mut);font-size:14px;line-height:1.55;margin:0}
.jd-stat{display:inline-flex;gap:2px;vertical-align:middle}
.jd-stat svg{color:#1F9254}
.jd-stat.mut svg{color:var(--mut-2)} /* event-10 re-eye: Industry/Specialization checks are grey (unweighted), per the original */
.jd-varr{display:inline-flex;vertical-align:middle;color:var(--brand)} /* event-10 re-eye: blue zigzag trend arrow rides the VALUE (Mid-Senior level / 5-7 years / Full-time) */
.jd-sal{margin:6px 0 4px}
.jd-salt{font-weight:700;font-size:15px;margin-bottom:16px}
.jd-salbar{position:relative;padding-top:22px}
.jd-sallo,.jd-salhi,.jd-salmid{position:absolute;top:0;font-size:13px;color:var(--ink);font-weight:600}
.jd-sallo{left:0}.jd-salhi{right:0}.jd-salmid{left:46%;color:var(--brand)}
.jd-saltrack{height:8px;border-radius:5px;background:#DCE3F1;position:relative}
.jd-saltrack i{position:absolute;left:8%;right:8%;top:0;bottom:0;background:var(--brand);border-radius:5px}
.jd-sklegend{display:flex;gap:16px;margin:2px 0 12px;font-size:12.5px}
.jd-sklegend .lg{display:inline-flex;align-items:center;gap:5px}
.jd-sklegend .green{color:#1F9254}.jd-sklegend .amber{color:#B5820E}.jd-sklegend .red{color:#C0362C}
.jd-skchips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.jd-skc{display:inline-flex;align-items:center;gap:7px;border:1px solid;border-radius:8px;padding:10px 16px;font-size:14.5px}
.jd-skc.green{border-color:#BFE4CC;color:#1F7A44}.jd-skc.amber{border-color:#F0DFB0;color:#B5820E}.jd-skc.red{border-color:#F2C9C4;color:#C0362C}
.jd-match{display:flex;gap:24px;align-items:center;background:#F5F8FF;border-radius:14px;padding:20px 22px;margin-bottom:18px}
.jd-mbbars{flex:1;display:flex;flex-direction:column;gap:12px}
.jd-mbrow{display:flex;align-items:center;gap:12px;font-size:14px}
.jd-mbrow span{width:130px;color:var(--ink)}
.jd-mbrow b{width:42px;text-align:right;font-weight:700}
.jd-mbtrack{flex:1;height:8px;border-radius:5px;background:#DCE3F1}
.jd-mbtrack i{display:block;height:100%;background:var(--bar-fill);border-radius:5px} /* event-21: match bars sweep the ONE --bar-fill gradient standard (was flat brand — the sole violator of the §--bar-fill law; only consumer = AI Search) */
.jd-mbdonut{text-align:center}
.jd-mbdonut .mr-ring{width:74px;height:74px}
.jd-mbdonut .mr-pct{width:56px;height:56px;font-size:16px}
.jd-mbdonut .mr-lab{font-size:13px;margin-top:6px}

/* ---- modal overlay over dimmed jobs (10/11/12) ---- */
.dim-base{position:absolute;inset:0;overflow:hidden}
.modal-scrim{position:absolute;inset:0;background:rgba(20,22,30,.34);z-index:10}
.modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(10,15,40,.28);z-index:11;padding:34px 38px}
.modal-x{position:absolute;top:22px;right:24px;color:var(--ink);cursor:pointer}
/* AI search modal */
.ai-modal{width:880px}
.ai-head{display:flex;gap:18px;margin-bottom:22px}
.ai-spark{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#FBD8B0,#F5A65B);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.ai-head h2{font-family:var(--font-head);font-weight:800;font-size:30px;margin:0 0 8px}
.ai-head p{color:var(--mut);font-size:15px;margin:0}
.ai-modal .pr-toggle{display:flex;width:max-content;margin:0 auto 22px}
.pm-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pm-cards .plan{border:1px solid var(--line);border-radius:16px;padding:26px 26px 30px;position:relative;overflow:hidden}
.pm-cards .plan.feat{background:#F5F7FE}
.plan-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pm-chip{background:#EEF0F5;color:var(--ink);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}
.pm-cards .plan .plan-sub{min-height:44px}
/* upgrade modal */
.up-modal{width:440px;text-align:center;overflow:hidden}
/* modal watermark instance — locked DOWN-RIGHT, centred behind the modal text (own locked position, independent of the footer/sidebar/gate instances) */
.up-ghost{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:230px;height:230px;background:url(arrow-nav-alpha.png) center/contain no-repeat;opacity:.09}
.up-modal h2{font-family:var(--font-head);font-weight:800;font-size:26px;margin:6px 0 12px}
.up-modal p{color:var(--mut);font-size:15px;margin:0 0 24px;line-height:1.5}
/* verify modal */
.vf-modal{width:480px;text-align:center}
.vf-modal h2{font-family:var(--font-head);font-weight:800;font-size:26px;margin:6px 0 14px}
.vf-modal p{color:var(--ink);font-size:15px;margin:0 0 10px}
.vf-sub{color:var(--mut)!important;font-size:14px!important;line-height:1.55;margin-bottom:20px!important}
.vf-still{font-weight:700;font-size:15px;margin-bottom:14px}
.vf-help{margin-top:16px;color:var(--mut);font-size:14px}

/* ---- Company Details · Reviews tab ---- */
.cd-revcols{display:flex;gap:30px;align-items:flex-start}
.cd-ratewrap{width:246px;flex:none}
.cd-revlist{flex:1;min-width:0}
.cd-rate{border:1px solid var(--line);border-radius:14px;padding:20px}
.cd-rt{font-weight:700;font-size:15px;margin-bottom:12px}
.cd-rbig{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.cd-rbig svg{color:var(--brand)}
.cd-rbig b{font-size:26px;font-family:var(--font-head)}
.cd-rbig span{color:var(--mut);font-size:15px}
.cd-rbase{color:var(--mut);font-size:13px;margin-bottom:18px}
.cd-rt2{font-weight:700;font-size:14px;margin-bottom:12px}
.cd-drow{display:flex;align-items:center;gap:8px;font-size:13.5px;margin-bottom:11px;white-space:nowrap}
.cd-drow svg{color:var(--brand);flex:none}
.cd-drow span{color:var(--ink)}
.cd-rsearch{display:flex;gap:12px;margin-bottom:16px}
.cd-rfield{flex:1;display:flex;align-items:center;gap:10px;border:1.5px solid #DDE2F0;border-radius:12px;padding:13px 15px;color:var(--mut);font-size:14.5px}
.cd-rfield:nth-child(2){flex:.7}
.cd-rsearch .btn{padding:13px 26px}
.cd-rcount{display:flex;justify-content:space-between;font-size:14px;color:var(--ink);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:8px}
.cd-rev{padding:28px 0;border-bottom:1px solid var(--line-2)}
.cd-revh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cd-revsc{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px}
.cd-revsc svg{color:var(--brand)}
.cd-revd{color:var(--mut);font-size:13.5px}
.cd-revt{font-weight:700;font-size:16px;margin-bottom:4px}
.cd-revm{display:flex;justify-content:space-between;color:var(--mut);font-size:13.5px;margin-bottom:10px}
.cd-rev p{color:var(--ink);font-size:15.5px;line-height:1.85;margin:0}

/* ---- pricing compare control: INDEX-ELECTED (final-pricing.html #8) ---- */
.pr-cmp-h{color:var(--ink);font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;gap:12px;margin:28px 0}
.pr-cmp-h::before,.pr-cmp-h::after{content:"";height:1px;flex:1;max-width:210px;background:var(--line)}
.cmp-chev{display:inline-flex;align-items:center}
.cmp-chev svg{display:block}

/* ============================ P1a CORE-LOOP FRAMES ============================ */
/* Dashboard */
.dash-cols{display:flex;gap:24px;align-items:flex-start;margin-top:8px}
.dash-main{flex:1;min-width:0}
.dash-side{width:360px;flex:none;display:flex;flex-direction:column;gap:20px}
.dash-h{display:flex;align-items:center;justify-content:space-between;margin:10px 0 16px}
.dash-h h3{font-family:var(--font-head);font-size:19px;font-weight:800;margin:0}
.ds-card{border:1px solid var(--line);border-radius:14px;padding:24px}
.ds-boost{background:var(--tint-panel);border:none}
.ds-t{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0 0 10px}
.ds-p{color:var(--ink-2);font-size:15px;line-height:1.5;margin:0 0 16px}
.ds-str{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:8px}
.ds-bar{height:6px;background:#D8E0F5;border-radius:3px;overflow:hidden;margin-bottom:16px}
.ds-bar i{display:block;height:100%;background:var(--bar-fill);border-radius:3px} /* AUDIT-FIX: source strength bar is a light blue→lavender gradient, not solid brand */
.ds-checks{margin-bottom:6px}
.ds-chk{display:flex;align-items:center;gap:12px;font-size:15px;padding:7px 0}
.ds-radio{width:18px;height:18px;border:1.6px solid #B9C2D8;border-radius:50%;flex:none}
.ds-sub{font-family:var(--font-head);font-size:18px;font-weight:800;margin:18px 0 10px}
.ds-iv{border-radius:10px;background:#EEF3FF;padding:14px 16px;margin-bottom:12px}
.ds-ivh{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px}
.ds-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex:none}
.ds-ivd{font-size:13.5px;color:var(--ink-2);margin:6px 0 4px}
.ds-ivn{font-size:13px;color:var(--mut);line-height:1.45}
/* Jobs Details - Overview */
.jdo-crumb{font-size:15px;color:var(--mut);margin-bottom:12px}
.jdo-crumb .cur{color:var(--ink)}
.jdo-crumb svg{vertical-align:middle;margin:0 2px}
.jdo-bar{display:flex;gap:16px;align-items:flex-start;padding:6px 0 22px;border-bottom:1px solid var(--line)}
.jc-dlogo{width:56px;height:56px;border-radius:12px;flex:none}
.jdo-main{flex:1;min-width:0}
.jdo-co{font-size:15px;color:var(--ink)}
.jdo-title{font-weight:700;font-size:20px;margin:2px 0 8px}
/* 1.5: Jobs Details - Overview actions (Shortlisted + Message/Share/Save) right-aligned
   on the meta row, per the original; .jdo-act centres each icon with its label. */
.jdo-actions{margin-left:auto;display:inline-flex;align-items:center;gap:20px}
.jdo-act{display:inline-flex;align-items:center;gap:6px}
/* 1.5 d4: Benefits & perks 4-col icon+label grid (added to match the original). */
.jdo-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 26px;margin:14px 0 22px}
.jdo-ben{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink)}
.jdo-ben .jdo-ben-ic{color:#050045;display:inline-flex;flex:none}/* measured original icon navy */
.jdo-resp{color:var(--up);font-size:14.5px;margin-top:8px;display:inline-flex;align-items:center;gap:6px} /* AUDIT-FIX: info icon was baseline-aligned (sat too low) → center it with the text */
.jdo-act{display:flex;align-items:center;gap:20px;flex:none}
.jdo-a{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-weight:600;font-size:15px}
.jdo-match{display:flex;align-items:center;gap:70px;padding:26px 0;border-bottom:1px solid var(--line)}
.jdo-bars{flex:1;max-width:430px}
.jdo-brow{display:flex;justify-content:space-between;font-size:15px;margin-bottom:6px}
.jdo-btrack{height:6px;background:#E7E9F2;border-radius:3px;overflow:hidden;margin-bottom:18px}
.jdo-btrack i{display:block;height:100%;background:var(--bar-fill);border-radius:3px} /* AUDIT-FIX: match bars are a light→dark blue GRADIENT (measured from source), not solid */
.jdo-ring{text-align:center}
.jdo-rlab{font-weight:700;font-size:16px;margin-top:6px}
/* event-12 (founder): the two Jobs Details - Overview frames carry the original-size
   match ring (orig 80px @1603 -> 84px) + label; opt-in .jdo-lg — the Employer
   Job Seeker - Overview (passed, closed) has no .jdo-lg and keeps the 56px ring. */
.jdo-lg .mr-ring{width:84px;height:84px}
.jdo-lg .mr-pct{width:62px;height:62px;font-size:22px}
.jdo-lg .jdo-rlab{font-size:21px;margin-top:10px}
/* Apply drawer */
.ap-dim{position:absolute;inset:0;background:rgba(28,28,38,.34);z-index:20}
.ap-drawer{position:absolute;top:0;right:0;width:680px;height:100%;background:#fff;box-shadow:var(--sh-pop);padding:32px 40px;overflow:hidden;display:flex;flex-direction:column;z-index:21}
.ap-head{display:flex;align-items:center;gap:12px}
.ap-warn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:800;font-size:19px;color:var(--ink)}
.ap-warn svg{color:#E75B5C} /* AUDIT-FIX: source triangle is coral-red (231,91,92), not amber */
.ap-pct{margin-left:auto;font-weight:700}
.ap-x{color:var(--ink)}
.ap-bar{height:5px;background:#D8E0F5;border-radius:3px;overflow:hidden;margin:14px 0 12px}
.ap-bar i{display:block;height:100%;background:var(--bar-fill)} /* AUDIT-FIX: source fill is a light blue→lavender gradient, not solid brand blue */
.ap-div{height:1px;background:var(--line);margin:16px 0}
.cp-edit-ta{flex-direction:column} /* .inp is display:flex → stack the paragraphs, don't lay them in columns */
.cp-edit-ta p{margin:0 0 9px} .cp-edit-ta p:last-child{margin:0} /* edit-form textareas: tight paragraph spacing */
.ap-sub{color:var(--ink-2);font-size:15px;line-height:1.5;margin:0 0 18px}
.ap-job{background:#EEF3FF;border-radius:10px;padding:14px 18px;margin-bottom:20px}
.ap-jt{font-weight:600;font-size:16px}
.ap-jc{color:var(--mut);font-size:14px;margin-top:3px}
.ap-box{border:1.5px solid var(--brand);border-radius:12px;padding:16px 18px;margin:2px 0 18px}
.ap-boxh{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:10px}
.ap-check,.ap-radio{display:flex;align-items:center;gap:12px;font-size:15.5px;padding:9px 0}
.ap-cbox{width:20px;height:20px;border:1.6px solid #B9C2D8;border-radius:5px;flex:none}
.ap-rdot{width:20px;height:20px;border:1.6px solid #B9C2D8;border-radius:50%;flex:none}
.ap-q{font-weight:700;font-size:16px;margin:16px 0 4px}
.ap-foot{margin-top:auto;display:flex;justify-content:flex-end;gap:14px;padding-top:18px}
.ap-dis{background:#E7E9F2;color:var(--mut-2)}

/* ============================ P1a EMPLOYER FRAMES ============================ */
.ecrumb{font-size:15px;color:var(--mut);margin-bottom:2px}
.ecrumb .cur{color:var(--ink)} .ecrumb svg{vertical-align:middle}
.ewz-h{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:24px}
.ewz-h h3{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0}
.ewz-l{display:block;font-weight:700;font-size:15px;margin:0 0 14px}
.ewz-sec{margin-bottom:34px}
/* INPUT-FIELD token (frame 25 Add-skills): the "Type a skill…" field must render a
   bordered box like every other input (matches .field .inp — it sits outside .field). */
.ewz-sec .inp{border:1.5px solid #DDE2F0;border-radius:12px;padding:16px 16px;font-size:16px;color:var(--ink);min-height:57px;display:flex;align-items:center;background:#fff}
.ewz-sec .inp.ph{color:var(--mut-2)}
/* CHECKBOX token (frame 14 Multiselect): crisp bordered box; checked = brand-blue fill + white check */
.ckbox{width:18px;height:18px;border:1.6px solid #B9C2D8;border-radius:4px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#fff}
.ckbox.on{background:var(--brand);border-color:var(--brand)}
.ckbox svg{width:13px;height:13px}
/* CARD-ELEVATION token (frame 15 Step-18 plans): the onboarding plan-row is raised */
.plan-row.ewz-plans{box-shadow:0 6px 22px rgba(18,26,64,.09)}
.ewz-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}
.ewz-r{display:flex;gap:14px}
.rte{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rte-tb{display:flex;align-items:center;gap:22px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)}
.rte-tb b,.rte-tb i,.rte-tb u{font-family:var(--font-head)}
.rte-body{min-height:150px;padding:18px;color:var(--mut-2);font-size:16px}
.skchips{display:flex;flex-wrap:wrap;gap:12px}
.skchip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 15px;font-size:14.5px;color:var(--ink);background:#FAFBFD}
.skchip.add{background:#fff}
.ewz-cols{display:flex;gap:36px;align-items:flex-start}
.ewz-main{flex:1;min-width:0}.ewz-side{width:360px;flex:none}
.ewz-q{display:flex;gap:14px;margin-bottom:24px}
.ewz-cb{width:22px;height:22px;border:1.6px solid #B9C2D8;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.ewz-cb.on{background:var(--brand);border-color:var(--brand)}
.ewz-qt{font-weight:700;font-size:16px;margin-bottom:12px}
.ewz-opt{display:flex;align-items:center;gap:12px;font-size:15px;padding:6px 0;color:var(--ink)}
.ewz-radio{width:20px;height:20px;border:1.6px solid #C2CADB;border-radius:50%;flex:none;position:relative}
.ewz-radio.on{border-color:var(--brand)}
.ewz-radio.on::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--brand)}
/* AUDIT-FIX: Admin Post-a-job = template-selection page (not a job-details form) */
.apj-sub{color:var(--mut);font-size:15px;margin-bottom:22px}
.apj-rem{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-bottom:26px}
.apj-rem .n{font-family:var(--font-head);font-size:22px;font-weight:800;margin-right:8px}
.apj-rem>div{display:flex;flex-direction:column}
.apj-how{margin-bottom:24px}
.apj-radio{display:flex;align-items:center;gap:11px;font-size:15px;padding:9px 0}
.apj-toolbar{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.apj-search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px 15px;color:var(--ink);font-size:15px}
.apj-count{color:var(--ink-2);font-size:14px;margin-bottom:14px}
.apj-job{display:flex;justify-content:space-between;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:14px}
.apj-job.sel{border:1.5px solid var(--brand);background:#F5F8FF}
.apj-jt{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--brand);margin-bottom:8px}
.apj-jm{color:var(--mut);font-size:14px;display:inline-flex;align-items:center;gap:5px}
.apj-jr{display:flex;flex-direction:column;align-items:flex-end;gap:14px;color:var(--mut);font-size:14px}
.apj-age{color:var(--mut);font-size:14px}
.apj-chk{color:var(--brand);display:flex}
/* AUDIT-FIX (Admin Post-a-job 1.1): the template list is a DIVIDER LIST (source), not
   bordered cards — scoped to `.apjl` so the shared `.apj-job` card (employer frame) is
   untouched. Titles are ink (source), the highlight band sits on the focused row. */
.apjl .apj-job{border:0;border-radius:0;border-bottom:1px solid #E6E6EC;margin:0;padding:18px 8px}
.apjl .apj-job.hl{background:#F5F7FE;border-radius:10px}
.apjl .apj-jt{color:var(--ink)}
.apj-div{height:1px;background:#E6E6EC;margin:26px 0}
/* frame 26 (Post a job 9): the Selected-questions cards were UNSTYLED (.ewz-scard had
   no rule) so they collapsed borderless — the original shows spaced bordered cards.
   This is the "excess whitespace / spacing" the founder flagged. */
.ewz-scard{position:relative;border:1px solid #DDE2F0;border-radius:12px;padding:18px 20px 14px;margin-bottom:18px}
.ewz-drag{position:absolute;left:16px;top:20px;color:var(--mut-2)}
.ewz-sq{font-weight:700;font-size:15px;line-height:1.4;padding-left:26px;margin-bottom:16px}
.ewz-sf{display:flex;align-items:center;gap:16px;border-top:1px solid #E3E6EF;padding-top:12px}
.ewz-del{color:var(--mut)} .ewz-req{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mut)}
.ewz-acard{border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px;position:relative}
.ewz-acard.sel{border:1.5px solid var(--brand);background:#F5F8FF}
.ewz-acard h4{font-family:var(--font-head);font-size:19px;font-weight:800;margin:0 0 16px}
.ewz-ck{position:absolute;right:24px;top:24px;color:var(--brand)}
.ewz-afoot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font-size:15px}
.ewz-score{border:1px solid var(--line);border-radius:8px;padding:7px 16px;font-weight:700}
.ewz-iqcard{border:1px solid #DDE2F0;border-radius:14px;padding:30px} /* frame 28: --line #E7E9F2 read as no border; source card border is visible */
.ewz-iqh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}
.ewz-iqt{font-family:var(--font-head);font-size:24px;font-weight:800} /* TYPE-SCALE (frame 28): was 20px */
.ewz-iqd{color:var(--ink-2);font-size:17px;margin-top:5px}            /* TYPE-SCALE: was 15px */
.ewz-iqscore{border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-weight:700;font-size:19px} /* was 17px */
.ewz-iqscore span{color:var(--mut);font-weight:500}
.ewz-strack{position:relative;height:8px;background:#E3E8F4;border-radius:4px;margin:8px 0}
.ewz-strack i{display:block;height:100%;background:var(--bar-fill);border-radius:4px}
.ewz-sknob{position:absolute;left:70%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;background:var(--brand);border:3px solid #fff;border-radius:50%;box-shadow:var(--sh-soft)}
.ewz-sticks{display:flex;justify-content:space-between;color:var(--mut);font-size:16px;margin-top:14px} /* TYPE-SCALE: was 14px */
.ewz-band{background:var(--soft);border-radius:10px;padding:16px 20px;margin-top:24px;font-size:16px} /* was 15px */
.ewz-band b{margin-right:12px}
.ewz-boost{border:1.5px solid var(--brand);border-radius:12px;padding:18px 22px;margin-top:20px}
.ewz-boosth{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:12px}
.ewz-check,.ap-check{display:flex;align-items:center;gap:12px;font-size:15.5px}
.ewz-cbox{width:20px;height:20px;border:1.6px solid #B9C2D8;border-radius:5px;flex:none}
/* success */
.es-wrap{display:flex;align-items:center;justify-content:center;min-height:820px}
.esuccess{text-align:center;max-width:520px}
.es-badge{width:88px;height:88px;border-radius:50%;background:var(--ok-bg);color:var(--ok-ink);display:flex;align-items:center;justify-content:center;margin:0 auto 26px}
.esuccess h2{font-family:var(--font-head);font-size:28px;font-weight:800;margin:0 0 14px}
.esuccess p{color:var(--ink-2);font-size:16px;line-height:1.6;margin:0 0 28px}
.es-actions{display:flex;gap:14px;justify-content:center}
.es-t{font-family:var(--font-head);font-size:18px;font-weight:800}
/* Posted Job Details */
.pjd-cols{display:flex;gap:32px;align-items:flex-start}
.pjd-main{flex:1;min-width:0}.pjd-side{width:340px;flex:none}
.pjd-by{color:var(--mut);font-size:14.5px}
.pjd-th{display:flex;align-items:center;gap:14px}
.pjd-open{border:1px solid #BfE4CC;background:var(--ok-bg);color:var(--ok-ink);border-radius:8px;padding:6px 12px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px}
.pjd-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}
.pjd-tile{border:1.5px solid;border-radius:12px;padding:16px 18px}
.pjd-tile b{font-family:var(--font-head);font-size:26px;font-weight:800;display:block}
.pjd-tile span{font-size:14px;color:var(--ink)}
.pjd-tile.t-blue{border-color:#BcD3F7;background:#F2F7FE}.pjd-tile.t-lav{border-color:#D6CEF3;background:#F6F3FE}
.pjd-tile.t-amber{border-color:#EBD79A;background:#FEF9EC}.pjd-tile.t-green{border-color:#B7E0C6;background:#F0FaF4}.pjd-tile.t-red{border-color:#F0C0C0;background:#FEF2F2}
.pjd-filt{display:flex;gap:12px;margin-bottom:14px}
.pjd-rh{display:flex;justify-content:space-between;font-size:15px;color:var(--ink);margin-bottom:8px}
/* FIX C (founder 2026-07-08): candidate rows match the ORIGINAL density/columns —
   the match ring lives in its OWN left column UNDER the avatar (was crammed on the
   right, inline); rows given the original's breathing room. */
.pjd-app{display:flex;gap:20px;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--line)}
.pjd-lcol{flex:none;width:56px;display:flex;flex-direction:column;align-items:center;gap:12px}
.pjd-photo{width:52px;height:52px;border-radius:10px;flex:none}
.pjd-amain{flex:1;min-width:0}
.pjd-arow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pjd-arow b{font-size:16px}
.pjd-tag{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;color:var(--ink-2)}
.pjd-tag svg{color:var(--mut)}
/* EYE-GATE (applicant-row token): Open-to-work / IQ / weeks sit in ONE bordered pill */
.pjd-tagpill{display:inline-flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:999px;padding:6px 15px}
.pjd-atitle{font-size:15px;color:var(--ink);margin:8px 0 4px}
.pjd-aloc{color:var(--mut);font-size:14px}
.pjd-acontact{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:14px;margin:6px 0}
/* EYE-GATE (applicant-row token): verified seals — email gray, phone BLUE (was a copy glyph) */
.pjd-vok{color:var(--up);display:inline-flex}
.pjd-vph{color:var(--up);display:inline-flex}
.pjd-applied{color:var(--mut);font-size:14px}
.pjd-sched{background:var(--warn-bg);border-radius:8px;padding:10px 14px;margin-top:10px;font-size:14px;display:inline-flex;align-items:center;gap:8px;color:#8A6D1A}
/* AUDIT-FIX: express-interest application message box */
/* frame 31: source express-interest message = light-GRAY bubble + DARK raised-hand icon
   (was green-on-green, which hid the icon) */
.pjd-msg{background:#F5F5F7;border-radius:8px;padding:11px 14px;margin-top:10px;font-size:14px;line-height:1.5;color:var(--ink-2);display:flex;gap:9px;align-items:flex-start;max-width:660px}
.pjd-msg svg{color:var(--ink-2);flex:none;margin-top:2px}
.pjd-aside{flex:none;text-align:center;padding-top:6px}
/* EYE-GATE (applicant-row token): the match label is centered/based under the ring */
.pjd-ring{display:flex;flex-direction:column;align-items:center;text-align:center}
.pjd-rlab{font-size:13px;font-weight:700;margin-top:4px;text-align:center;line-height:1.25}
.pjd-astatus{flex:none;display:flex;align-items:flex-start;gap:8px;position:relative}
.pjd-dots{color:var(--mut);display:inline-flex}
/* 1.4: Posted Job Details ONLY (scoped via .pjd-fixed) — divider under the shortlisted-
   applicants row + vertical centring, matching the original. Shared .pjd-rh/.pjd-astatus
   are untouched so frozen View responses / View job (same helper) stay byte-identical. */
.pjd-fixed .pjd-rh{align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:0}
.pjd-fixed .pjd-rh .js-sort{display:inline-flex;align-items:center;gap:6px}
.pjd-fixed .pjd-astatus{align-items:center}
/* EYE-GATE (frame 30): the status dropdown the source opens (Shortlisted/Interviewed/Offered
   /Rejected, colored dots) — floats below the Shortlisted button */
.pjd-statusmenu{position:absolute;top:calc(100% + 8px);right:26px;width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-pop);padding:8px;z-index:20}
.psm{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--ink)}
.psm.on{background:#EEF3FF;color:var(--brand);font-weight:600}
.psm-dot{width:9px;height:9px;border-radius:50%;flex:none}
/* FIX C: match-strength breakdown — FULL-WIDTH 3-column row (was absent/narrow),
   matching the original's Experience/Skills/Pay layout for expanded candidates. */
.pjd-mb{display:flex;gap:40px;margin-top:12px}
.pjd-mbi{flex:1;min-width:0}
.pjd-mbi .l{display:flex;justify-content:space-between;font-size:14px;color:var(--ink);margin-bottom:7px}
.pjd-mbbar{height:6px;border-radius:3px;background:#EAECF5;overflow:hidden}
.pjd-mbbar span{display:block;height:100%;border-radius:3px;background:var(--bar-fill)} /* AUDIT-FIX: match bars gradient, consistent with .jdo-btrack (PJD/Express/Admin PJD) */
.pjd-sh{display:flex;justify-content:space-between;color:var(--mut);font-size:14px;margin-bottom:14px}
.pjd-repost{display:flex;gap:10px;margin-bottom:22px}
.pjd-meta{background:var(--tint-panel);border-radius:14px;padding:22px}
.pjd-mrow{margin-bottom:18px}.pjd-mrow:last-child{margin-bottom:0}
.pjd-mk{color:var(--mut);font-size:14px}.pjd-mv{font-weight:700;font-size:15px;margin-top:2px}
/* AUDIT-FIX: modal-over-dimmed-page (View job, Job Posted) — restore modal presentation */
/* frame 32 EDIT: extra top space so the close-X sits on its own top-right row, clear of the
   "1w" timestamp on the Sprig row (source layout — was colliding: "1w✕"). */
.vj-modal{width:640px;max-height:84%;overflow-y:scroll;padding-top:56px}
.vj-modal .modal-x{top:18px;right:20px}
/* frame 32 FIX 2: --hide-scrollbars suppresses the real scrollbar in the render, so draw a
   VISIBLE one as a real element (track + thumb) on the modal's right edge (source layout). */
.vj-sb{position:absolute;top:56px;right:10px;height:788px;width:9px;background:#E7E9F0;border-radius:5px;z-index:6}
.vj-sb-thumb{display:block;width:100%;height:33%;background:#8B90A0;border-radius:5px}
.vj-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin:22px 0 6px}
.jps-modal{width:440px;text-align:center}
/* Job Posted Successfully: canonical solid-green round check (matches the other success cards) */
.jps-modal .badge{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:var(--ok-ink);color:#fff;display:flex;align-items:center;justify-content:center}
.jps-modal .badge svg{width:38px;height:38px}
.jps-modal h2{font-family:var(--font-head);font-size:23px;font-weight:800;line-height:1.3;margin:0 0 12px}
.jps-modal p{color:var(--mut);font-size:15px;margin:0}
/* PRIORITY-GRAD token (frame 30/31): source card carries a soft blue→lavender gradient
   + subtle border, not a flat fill. */
.pjd-priority{background:linear-gradient(150deg,#EAF1FF 0%,#EFEBFF 100%);border:1px solid #9DBEF3;border-radius:14px;padding:22px;margin-top:20px}
/* SHARE-ICON token: the PJD Repost-row icon button is the brand-blue share glyph */
.pjd-repost .iconbtn{color:var(--brand);border-color:#C9D8FB}
.pjd-priority p{color:var(--ink-2);font-size:14.5px;line-height:1.5;margin:8px 0 16px}
/* View responses modal */
.vr-modal{width:720px;max-width:720px;text-align:left}
.vr-head{background:#F5F8FF;border-radius:10px;padding:16px 20px;margin-bottom:20px}
.vr-head b{font-size:16px}.vr-head div{color:var(--ink-2);font-size:14px;margin-top:2px}
.vr-title{text-align:center;font-family:var(--font-head);font-size:24px;font-weight:800;margin:0 0 22px}
.vr-stats{display:flex;justify-content:center;gap:60px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:20px;text-align:center}
.vr-stats span{display:block;color:var(--mut);font-size:14px;margin-bottom:6px}
.vr-stats b{font-size:22px;font-weight:800}
.vr-pass{color:var(--up)}
.vr-q{color:var(--mut);font-size:14px;margin:16px 0 8px}
.vr-qt{font-weight:700;font-size:16px;margin-bottom:14px;line-height:1.4}
.vr-opt{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;font-size:15px}
.vr-opt.right{background:var(--ok-bg);border-color:#BfE4CC}
.vr-opt.wrong{background:var(--bad-bg);border-color:#F0C0C0}
.vr-rd{width:20px;height:20px;border:1.6px solid #C2CADB;border-radius:50%;flex:none}
.vr-opt.right .vr-rd{border-color:var(--up);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 8px var(--up)}
.vr-opt.wrong .vr-rd{border-color:var(--down);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 8px var(--down)}
/* Company profile */
.cp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cp-h .page-title{margin:0}
.cp-sub{display:flex;align-items:center;gap:16px;margin:24px 0 20px}
.cp-sub h3{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0}
.cp-sec{font-weight:700;font-size:15px;margin:30px 0 16px}
.cp-fl{color:var(--mut);font-size:14px;margin:0 0 6px}
.cp-sec + .cp-fl,.cp-fl{margin-top:0}
.jd-body .cp-fl{margin-top:20px}
.cp-badge{margin-bottom:22px}
.cp-bk{color:var(--mut);font-size:14px;margin-bottom:4px}
.cp-bv{font-size:15px;color:var(--ink)}
/* Subscriptions & billing */
.lg-visa{background-image:url(reflogo-visa.png)!important}
.lg-mc{background-image:url(reflogo-mc.png)!important} /* event-18: Mastercard mark consumed 1:1 from the 291554 original */
.lg-tb{background-image:url(reflogo-talentbridge.png)!important;background-color:#fff!important} /* event-19: TalentBridge mark consumed 1:1 from the LR-Details original */
.sb-visa{width:46px;height:30px;flex:none;display:inline-block}
.sb-h{font-family:var(--font-head);font-size:20px;font-weight:800;margin:28px 0 16px}
.sb-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.sb-card{border:1px solid var(--line);border-radius:14px;padding:32px 30px} /* CARD-SCALE: toward source proportions */
.sb-ct{font-family:var(--font-head);font-size:19px;font-weight:800;margin-bottom:20px}
.sb-prow{display:flex;align-items:center;gap:12px}
.sb-pn{font-weight:700;font-size:18px}
.sb-price{margin-left:auto;font-family:var(--font-head);font-size:22px;font-weight:800}
.sb-price span{color:var(--mut);font-size:15px;font-weight:500}
.sb-renew{color:var(--ink-2);font-size:15px;margin:10px 0 22px}
.sb-links{display:flex;align-items:center;gap:26px;font-size:15px}
.sb-mut{color:var(--ink);font-weight:500}
.sb-cardrow{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.sb-cn{font-weight:600;font-size:16px;display:flex;align-items:center;gap:10px}
.sb-exp{color:var(--mut);font-size:14px;margin-top:4px}
.sb-agrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.sb-addon{border:1px solid var(--line);border-radius:14px;padding:24px}
.sb-at{font-family:var(--font-head);font-size:18px;font-weight:800;margin-bottom:8px}
.sb-addon p{color:var(--ink-2);font-size:14.5px;line-height:1.5;margin:0 0 18px}
.sb-abot{display:flex;align-items:center;justify-content:space-between}
.sb-abot b{font-family:var(--font-head);font-size:22px}
/* AUDIT-FIX: add-on usage rows (match original list, not generic tiles) */
.sb-usage{display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:16px}
.sb-usage .sb-un{flex:1;min-width:0}
.sb-usage .sb-un b{font-family:var(--font-head);font-size:16px;display:block}
.sb-usage .sb-uv{color:var(--mut);font-size:13.5px;margin-top:4px}
.usering{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--ink);background:conic-gradient(#6B89DA calc(var(--p)*1%),#E7ECF7 0)} /* AUDIT-FIX: source arc is soft periwinkle #6B89DA (not bold brand) + DARK % text (not blue) */
.usering i{width:34px;height:34px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-style:normal}
.sb-usage .sb-us{font-size:14px;color:var(--ink-2);white-space:nowrap}
.sb-usage .sb-up{font-size:14px;font-weight:600;white-space:nowrap}
.sb-usage .btn-outline,.sb-availcard .btn-outline{color:var(--brand);border-color:#C9D8FB} /* AUDIT-FIX: source Purchase = blue outline (usage rows + available cards) */
.sb-subh{font-family:var(--font-head);font-size:16px;font-weight:800;margin:22px 0 12px}
.sb-avail{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sb-availcard{border:1px solid var(--line);border-radius:12px;padding:18px}
.sb-availcard .t{font-weight:700;font-size:14.5px;margin-bottom:6px}
.sb-availcard p{color:var(--ink-2);font-size:13px;line-height:1.45;margin:0 0 14px}
.sb-availcard .b{display:flex;align-items:center;justify-content:space-between}
/* Employer Home & Pricing (marketing) */
.mkt-nav{height:82px;display:flex;align-items:center;padding:0 56px;border-bottom:1px solid var(--line);gap:36px}
.mkt-links{display:flex;gap:34px;font-size:16px;color:var(--ink)}
.mkt-signin{margin-left:auto;padding:11px 26px}
/* .mkt-hero is the lander banner (hosts .arrow-spot); .mkt-pagehead is the pricing
   page header. One class served both until the BID-1 split. */
.mkt-hero{text-align:center;padding:56px 20px 10px;max-width:840px;margin:0 auto;position:relative;overflow:hidden;background:var(--wm-bg,var(--cta-fill))}
.mkt-pagehead{text-align:center;padding:56px 20px 10px;max-width:840px;margin:0 auto}
.mkt-hero h1,.mkt-pagehead h1{font-family:var(--font-head);font-size:42px;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}
.mkt-hero p,.mkt-pagehead p{color:var(--ink-2);font-size:17px;line-height:1.6;margin:0}
.mkt-toggle{display:flex;justify-content:center;margin:26px 0 30px}
.mkt-cta{margin:60px 56px;background:#050045;border-radius:20px;padding:64px 70px;position:relative;overflow:hidden}/* P7: razor clip retired — the rule razored its own 20px outers off */
.mkt-cta::before{content:"";position:absolute;top:0;right:0;width:71px;height:71px;background:#fff;border-bottom-left-radius:12px;z-index:4}/* P17 D9-D11b: 71x71 MEASURED off all four pricing originals (P7 rounded but never resized the 40x40); r12 = R7 bucket 46-75 */
.mkt-cta::after{content:"";position:absolute;bottom:0;left:0;width:71px;height:71px;background:#fff;border-top-right-radius:12px;z-index:4}
.mkt-cta-wm{position:absolute;left:64px;top:50%;transform:translateY(-50%);width:150px;height:150px;background:url(arrow-nav-alpha.png) center/contain no-repeat;filter:brightness(0) invert(13%) sepia(96%) saturate(1900%) hue-rotate(213deg) brightness(1.1)}
.mkt-cta-in{margin-left:220px;color:#fff;max-width:820px}
.mkt-cta-in h2{font-family:var(--font-head);font-size:34px;font-weight:800;margin:0 0 14px}
.mkt-cta-in p{color:#C6C8E0;font-size:16px;line-height:1.6;margin:0 0 24px}
.mkt-faqwrap{padding:20px 56px 70px}
.mkt-faq{display:grid;grid-template-columns:360px 1fr;gap:40px}
.mkt-faq h2{font-family:var(--font-head);font-size:40px;font-weight:800;letter-spacing:-.02em;margin:0}
.mkt-q{display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700;font-size:17px;padding:22px 0;border-bottom:1px solid var(--line)}
.mkt-a{color:var(--ink-2);font-size:15.5px;line-height:1.6;padding:0 0 22px;border-bottom:1px solid var(--line);margin-top:-8px}
.mkt-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1160px;margin:20px auto 40px;padding:0 56px}
.mkt-feat{border:1px solid var(--line);border-radius:14px;padding:26px}
.mkt-fic{width:52px;height:52px;border-radius:12px;background:var(--brand-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.mkt-feat h4{font-family:var(--font-head);font-size:17px;font-weight:800;margin:0 0 8px}
.mkt-feat p{color:var(--ink-2);font-size:14.5px;line-height:1.5;margin:0}
.mkt-refbanner{background:var(--brand-tint);color:var(--ink);text-align:center;padding:14px;font-size:15px}
/* ===== Employer landing pages (Become / Referral) — full section parity ===== */
/* split hero: navy + the REAL arrow asset tiled (its native (16,40,136) arrow on
   #050045 reproduces the original's faint arrow grid — asset consumed, not drawn) */
.mkt-lead{background:#050045 url(arrow-nav-alpha.png) 8px 10px/92px 92px;padding:58px 56px 74px;display:flex;justify-content:center}
.mkt-lead-in{display:flex;gap:44px;max-width:1300px;width:100%;align-items:flex-start}
.mkt-lead-l{flex:1;color:#fff;padding-top:22px;max-width:600px}
.mkt-lead-mk{width:42px;height:42px;background:var(--brand);-webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat;margin-bottom:22px}
.mkt-lead-l h1{font-family:var(--font-head);font-size:46px;font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:0 0 18px}
.mkt-lead-l>p{color:#C9CBE4;font-size:16.5px;line-height:1.6;margin:0 0 30px;max-width:450px}
.mkt-lead-btns{display:flex;gap:14px}
.mkt-lead-btns .btn{padding:13px 26px;font-size:15px}
.btn-hero-dark{background:#0B0940;color:#fff;border:1px solid #23205e}
.mkt-signup{width:396px;flex:none;background:#fff;border-radius:16px;padding:30px}
.mkt-signup h3{font-family:var(--font-head);font-size:23px;font-weight:800;line-height:1.3;margin:0 0 20px}
.mkt-gbtn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:13px;font-weight:600;font-size:15px}
.mkt-gbtn .g{width:18px;height:18px}
.mkt-or{display:flex;align-items:center;gap:14px;color:var(--mut);font-size:13.5px;margin:16px 0}
.mkt-or::before,.mkt-or::after{content:"";flex:1;height:1px;background:var(--line)}
.mkt-fl{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.mkt-inp{border:1px solid #DDE2F0;border-radius:10px;height:48px;margin-bottom:18px}
.mkt-signup .btn-block{width:100%;justify-content:center;padding:13px}
.mkt-terms{color:var(--mut);font-size:12.5px;line-height:1.55;margin-top:14px}
.mkt-terms a{color:var(--brand)}
/* stats band */
.mkt-stats{padding:60px 56px;display:flex;gap:44px;align-items:flex-start;max-width:1300px;margin:0 auto}
.mkt-stats-h{flex:none;width:360px}
.mkt-stats-h h2{font-family:var(--font-head);font-size:40px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;line-height:1.1}
.mkt-stats-h p{color:var(--ink-2);font-size:15.5px;line-height:1.6;margin:0}
.mkt-stat-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mkt-stat{border:1px solid var(--line);border-radius:14px;padding:26px 28px}
.mkt-stat b{font-family:var(--font-head);font-size:40px;font-weight:800;display:block}
.mkt-stat b i{color:var(--brand);font-style:normal}
.mkt-stat span{color:var(--ink);font-size:16px;font-weight:600;display:block;margin-top:6px}
/* hub diagram */
.mkt-hub{padding:24px 56px 66px;text-align:center}
.mkt-hub h2{font-family:var(--font-head);font-size:40px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}
.mkt-hub>p{color:var(--ink-2);font-size:16px;margin:0 auto 46px;max-width:720px}
.mkt-hub-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:0 70px;align-items:center;max-width:1180px;margin:0 auto}
.mkt-hub-col{display:flex;flex-direction:column;gap:24px}
.mkt-spoke{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:15px 18px;text-align:left;background:#fff;position:relative}
.mkt-spoke .ic{width:40px;height:40px;border-radius:10px;background:var(--brand-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.mkt-spoke span{font-size:14.5px;font-weight:600;line-height:1.3}
.mkt-hub-col.l .mkt-spoke::after,.mkt-hub-col.r .mkt-spoke::before{content:"";position:absolute;top:50%;width:70px;height:1px;background:#C7D0E8}
.mkt-hub-col.l .mkt-spoke::after{right:-70px}
.mkt-hub-col.r .mkt-spoke::before{left:-70px}
.mkt-node{width:150px;height:150px;background:#0B0F3B;border-radius:22px;display:flex;align-items:center;justify-content:center}
.mkt-node .lg{width:100px;height:24px;background:url(logo-liverec-white.png) center/contain no-repeat}
/* why-choose */
.mkt-why{background:#EEF2FB;padding:66px 56px;margin-top:24px}
.mkt-why-in{max-width:1200px;margin:0 auto}
.mkt-why-top{display:flex;gap:60px;margin-bottom:46px}
.mkt-why-top h2{font-family:var(--font-head);font-size:38px;font-weight:800;letter-spacing:-.02em;margin:0;flex:none;width:410px;line-height:1.15}
.mkt-why-top p{color:var(--ink-2);font-size:16px;line-height:1.6;margin:0;align-self:center}
.mkt-why-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.mkt-why-col .ic{color:var(--brand);margin-bottom:20px}
.mkt-why-col h4{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0 0 10px}
.mkt-why-col p{color:var(--ink-2);font-size:14.5px;line-height:1.55;margin:0}
/* recruiting made easy — stepper */
.mkt-steps{padding:66px 56px;display:flex;gap:60px;max-width:1200px;margin:0 auto}
.mkt-steps-h{flex:none;width:400px}
.mkt-steps-h h2{font-family:var(--font-head);font-size:38px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px}
.mkt-steps-h p{color:var(--ink-2);font-size:15.5px;line-height:1.6;margin:0}
.mkt-steps-list{flex:1;display:flex;flex-direction:column}
.mkt-step{display:flex;gap:22px;align-items:flex-start;position:relative;padding-bottom:34px}
.mkt-step:not(:last-child)::before{content:"";position:absolute;left:27px;top:58px;bottom:0;width:1px;background:var(--line)}
.mkt-step-ic{width:56px;height:56px;border-radius:14px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;background:#fff;color:var(--mut);z-index:1}
.mkt-step.on .mkt-step-ic{background:#0B0F3B;color:#fff;border-color:#0B0F3B}
.mkt-step-t h4{font-family:var(--font-head);font-size:20px;font-weight:800;margin:0 0 6px}
.mkt-step.off .mkt-step-t h4,.mkt-step.off .mkt-step-t p{color:var(--mut)}
.mkt-step-t p{color:var(--ink-2);font-size:14.5px;line-height:1.55;margin:0;max-width:430px}
/* testimonials */
.mkt-tst{padding:24px 56px 68px;text-align:center}
.mkt-tst h2{font-family:var(--font-head);font-size:40px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}
.mkt-tst>p{color:var(--ink-2);font-size:16px;margin:0 auto 40px}
.mkt-tst-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1320px;margin:0 auto;align-items:start}
.mkt-tcard{border:1px solid var(--line);border-radius:14px;padding:22px;text-align:left}
.mkt-tcard.feat{background:#EEF2FB;border-color:#D8E0F5}
.mkt-tcard .q{color:var(--brand);opacity:.45;margin-bottom:8px}
.mkt-tcard>p{font-size:13.5px;line-height:1.55;color:var(--ink);margin:0 0 18px}
.mkt-who{display:flex;align-items:center;gap:10px}
.mkt-who .av{width:34px;height:34px;border-radius:50%;flex:none;background-size:cover}
.mkt-who b{font-size:13.5px;display:block}
.mkt-who span{font-size:12px;color:var(--mut)}
.mkt-tdots{display:flex;gap:7px;justify-content:center;margin-top:28px}
.mkt-tdots i{width:8px;height:8px;border-radius:50%;background:#D0D5E5}
.mkt-tdots i.on{background:var(--brand)}
.mkt-cta.lead .mkt-cta-wm{background:var(--brand);-webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat;filter:none}
.mkt-step.first .mkt-step-ic{color:var(--brand)}
.mkt-who .mkt-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;background:#DCE4FA;color:var(--brand)}
.cmp-table{max-width:1080px;margin:30px auto 0}
.cmp-head{display:grid;grid-template-columns:2fr 1fr 1fr;padding:14px 0;font-weight:700;border-bottom:2px solid var(--line)}
.cmp-head div:not(:first-child){text-align:center}
.cmp-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:16px 0;border-bottom:1px solid var(--line-2);align-items:center}
.cmp-row .cmp-txt{text-align:center}
/* event-10 re-eye: this 3-col rule (employer tables) was silently clobbering the candidate
   4-col compare table (css:720) — the 4th (Enterprise) cell wrapped under Features. Restore
   the 4-col grid for the cauth-context table (Choose Plan - Detailed). */
.cauth .cmp-head,.cauth .cmp-row{grid-template-columns:2fr 1fr 1fr 1.4fr;padding:14px 8px}
/* event-10 re-eye (founder universal button law): white-bg plan CTAs are blue outline +
   blue text, never black-on-white — scoped to the two cauth plan frames; "Browse jobs for
   free" (outside .plan) stays per founder. */
.cauth .plan .btn-outline{color:var(--brand);border-color:var(--brand)}
/* Admin jobs moderation */
.ad-tb{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ad-acts{display:flex;align-items:center;gap:16px;color:var(--mut)}
/* AUDIT-FIX (Admin Jobs): rows 1/3/6 render disabled (grayed) Actions per source. */
.ad-acts.dis{color:#C6CAD3}
/* AUDIT-FIX: toolbar Filters + ⋮ are brand-blue (source), not gray. Scoped to .ad-tb. */
.ad-tb .btn-outline{color:var(--brand);border-color:#C9D8FB}
.ad-tb .iconbtn{color:var(--brand);border-color:#C9D8FB}
.ad-tb .apj-addbtn{gap:8px}
/* AUDIT-FIX: the shared `.rowcheck` is an inline <span> that collapses to a bar inside a
   table cell — render it as the source's bordered checkbox square, scoped to admin tables
   (`.admtbl`) so eye-passed Affiliate `.dtable` checkboxes are untouched. */
.admtbl .rowcheck{display:inline-block;vertical-align:middle}
/* AUDIT-FIX (Select Employer Popup): dismiss X sits centered BELOW the modal (navy). */
.sel-belowx{position:absolute;left:50%;top:912px;transform:translateX(-50%);color:#171456;display:flex}
.refav.ad-av{width:30px;height:30px;border-radius:50%}
.dtable .refav,.dtable .reflogo,.dtable .reflg{vertical-align:middle}
.se-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;font-weight:500}
.se-row b{font-size:15px}.se-mail{color:var(--mut);font-size:13px}
.se-row .reflg,.se-row .reflogo{width:34px;height:34px;flex:none}
.ad-logo{width:28px;height:28px}
.dtable .cellflex .ad-logo{flex:none}

/* ==================== P1 SEEKER — Resumes (build_p1_seeker.py) ==================== */
.res-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.res-actions{display:flex;gap:16px;flex:none}
/* Upload-resume outline button: source uses a visible blue-grey outline (#CAD8F9), not the
   faint default grey --line. Matches the established outline-button pattern (.cd-bcta/.sb-usage). */
.res-actions .btn-outline{border-color:#C9D8FB}
.res-sub{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 4px}
.res-body{display:flex;gap:34px;align-items:flex-start;margin-top:26px}
.res-grid{display:grid;grid-template-columns:repeat(3,192px);gap:24px 30px;align-content:start}
.res-card{position:relative;width:192px}
.res-thumb{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;height:246px}
.res-thumb img{display:block;width:100%;object-fit:cover;object-position:top center}
.res-card.sel .res-thumb{border:2px solid var(--brand)}
.res-check{position:absolute;top:8px;right:8px;color:var(--brand);background:#fff;border-radius:50%;line-height:0}
.res-dots{position:absolute;top:8px;right:8px;color:var(--ink);cursor:pointer}
.res-fname{font-weight:700;font-size:16px;margin-top:14px;color:var(--ink)}
.res-added{color:var(--mut);font-size:14px;margin-top:5px}
.res-menu{position:absolute;top:44px;left:132px;width:250px;background:#fff;border-radius:12px;box-shadow:var(--sh-pop);border:1px solid var(--line);z-index:6;padding:6px 0}
.res-menu .rm-row{display:flex;align-items:center;gap:14px;padding:12px 18px;font-size:15px;color:var(--ink);white-space:nowrap}
.res-menu .rm-row svg{width:20px;height:20px;flex:none;color:var(--ink-2)}
.res-menu .rm-row.ai{color:var(--brand)}.res-menu .rm-row.ai svg{color:var(--brand)}
.res-menu .rm-row.danger,.res-menu .rm-row.danger svg{color:var(--down)}
.res-pro{background:#E8622C;color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;margin-left:auto}
.res-levelup{width:340px;flex:none;background:linear-gradient(180deg,#FCFDFF 0%,#E1E9FB 100%);border:1px solid #CAD8F9;border-radius:16px;padding:26px 28px;margin-left:auto}
.res-levelup h4{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 12px;color:var(--ink)}
.res-levelup p{color:var(--ink-2);font-size:16px;line-height:1.5;margin:0 0 22px}
.res-tips{color:var(--brand);font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #C7D6FB;border-radius:10px;padding:12px 18px}

/* resume preview card */
.rprev{border:1px solid #E6E9F2;border-radius:12px;overflow:hidden;background:#fff}
.rprev-hd{display:flex;gap:24px;align-items:center;padding:26px 30px 22px}
.rprev-photo{width:120px;height:120px;border-radius:12px;object-fit:cover;flex:none}
.rprev-id{flex:1;min-width:0}
.rprev-name{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:33px;color:#17235E;line-height:1.05;border-bottom:1.5px solid #17235E;padding-bottom:12px}
.rprev-role{font-weight:700;font-size:16px;color:var(--ink);margin:14px 0 12px}
.rprev-contact{display:flex;flex-wrap:nowrap;gap:16px;font-size:13px;color:var(--ink-2)}
.rprev-contact span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.rprev-contact svg{width:15px;height:15px}
.rprev-contact svg{color:var(--brand);flex:none}
.rprev-band{background:#EEF0F8;color:#17235E;font-weight:700;font-size:14px;letter-spacing:.06em;padding:11px 30px}
.rprev-p{padding:16px 30px;font-size:15px;line-height:1.6;color:var(--ink-2);margin:0}
.rprev-chips{display:flex;flex-wrap:wrap;gap:9px;padding:15px 30px}
.rprev-chips .jd-chip{padding:6px 12px;font-size:13px}
.rprev-exp{display:flex;gap:16px;padding:16px 30px 6px}
.rprev-exp>img{width:34px;height:34px;border-radius:7px;flex:none}
.rprev-co{font-size:14px;color:var(--ink-2)}
.rprev-rt{font-weight:700;font-size:15px;color:var(--ink)}
.rprev-rt .dt{font-weight:500;color:var(--mut);margin-left:10px}
.rprev-desc{font-size:14px;color:var(--ink-2);line-height:1.55;margin:7px 0 0;display:flex;gap:8px}
.rprev-desc span:first-child:only-child{margin:0}
.rprev-edu{display:flex;gap:16px;padding:14px 30px 6px}
.rprev-ini{width:34px;height:34px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.rprev-foot{padding:18px 30px 22px;border-top:1px solid #EEF0F6;margin-top:10px}

/* View Popup modal */
.rvp-modal{width:684px;height:918px;padding:28px 34px;display:flex;flex-direction:column}
.rvp-title{font-family:var(--font-head);font-weight:800;font-size:26px;margin:0 0 18px;flex:none}
.rvp-scroll{flex:1;min-height:0;overflow:hidden}
.rvp-scroll .rprev{border-radius:12px 12px 0 0;border-bottom:none}
/* tighten the preview rhythm inside the modal so BOTH experiences (Intel + Slack) show,
   matching source (Slack's description clips at the modal's bottom edge). Scoped to the
   popup — the AI-Tips resume card keeps its roomier spacing. */
.rvp-scroll .rprev-hd{padding:20px 30px 14px}
.rvp-scroll .rprev-band{padding:8px 30px}
.rvp-scroll .rprev-p{padding:11px 30px;line-height:1.45;font-size:14px}
.rvp-scroll .rprev-chips{padding:11px 30px}
.rvp-scroll .rprev-exp{padding:12px 30px 2px}
.rvp-foot{display:flex;gap:18px;margin-top:22px;flex:none}
.rvp-foot .btn{flex:1;justify-content:center;color:var(--brand);border-color:#C7D6FB}

/* AI analysis result (AI Tips) */
.ai-cols{display:flex;gap:34px;align-items:flex-start}
.ai-left{width:648px;flex:none}
.ai-right{flex:1;background:#F5F8FE;border:1px solid #E1E9FB;border-radius:16px;padding:32px 34px}
.ai-right h3{font-family:var(--font-head);font-weight:800;font-size:26px;margin:0 0 12px}
.ai-intro{color:var(--ink-2);font-size:16px;line-height:1.5;margin:0 0 22px}
.ai-tips{list-style:none;margin:0;padding:0}
.ai-tips li{padding-left:22px;position:relative;margin:0 0 20px}
.ai-tips li::before{content:"•";position:absolute;left:3px;top:-1px;color:var(--ink);font-weight:700;font-size:17px}
.ai-tips b{display:block;font-size:16px;color:var(--ink);margin-bottom:6px}
.ai-tips span{display:block;font-size:15px;color:var(--ink-2);line-height:1.5}
.ai-cta-sec{border-top:1px solid #DCE7FB;margin-top:8px;padding-top:24px}
.ai-cta-sec h4{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 10px}
.ai-cta-sec p{color:var(--ink-2);font-size:15px;line-height:1.5;margin:0 0 20px}

/* build resume: template chooser + progress */
.res-rule{border-top:1px solid var(--line);margin:34px 0 0}
.res-cont{display:flex;justify-content:flex-end;margin-top:28px}
/* fixed source-width columns (~187px, left-packed) so the hi-res preview crops render 1:1
   with no upscale — matches the source screenshot's card size + legibility. */
.tpl-grid{display:grid;grid-template-columns:repeat(5,187px);gap:28px;justify-content:start;margin-top:22px}
.tpl-badge{display:inline-block;font-size:13px;font-weight:600;padding:6px 13px;border-radius:8px;margin-bottom:14px;background:#EEF1F6;color:var(--ink-2)}
.tpl-badge.pop{background:var(--brand);color:#fff}
.tpl-card{position:relative;border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.tpl-card.sel{border:2px solid var(--brand)}
.tpl-card img{display:block;width:100%}
.tpl-check{position:absolute;top:10px;right:10px;color:var(--brand);background:#fff;border-radius:50%;line-height:0;padding:1px}
.tpl-name{font-weight:700;font-size:16px;margin-top:16px;color:var(--ink)}
.tpl-name.sel{color:var(--brand)}
.tpl-desc{font-size:15px;color:var(--mut);margin-top:6px;line-height:1.4}
.res-prog{display:flex;align-items:center;justify-content:space-between;margin-top:44px}
.res-prog .pp-l{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--ink)}
.res-prog .pp-l svg{color:#E8622C}
.res-prog-pct{font-weight:700;font-size:19px;color:var(--ink)}
.res-progbar{height:8px;background:#E8ECF6;border-radius:5px;margin:14px 0 0;position:relative;overflow:hidden}
/* PROGRESS-BAR GRADIENT — STANDING DESIGN-SYSTEM RULE (Batch 5, 2026-07-10):
   ALL progress/strength/match bars consume the ONE blue gradient standard --bar-fill
   (defined in :root: #AEC8FC → brand #2164F4). --prog-fill now aliases --bar-fill so
   every bar variant is identical by construction, never hand-edited per frame. */
:root{--prog-fill:var(--bar-fill)}
.res-progbar i{position:absolute;left:0;top:0;bottom:0;width:43%;background:var(--prog-fill);border-radius:5px}
.res-prog-txt{margin-top:16px;font-size:16px;color:var(--ink-2)}

/* resume preview modal (Build Resume - Resume Preview) */
.rpv-modal{width:548px;padding:0;overflow:visible;background:transparent;box-shadow:none}
.rpv-doc{display:block;width:548px;border-radius:6px;box-shadow:0 10px 40px rgba(20,30,60,.16)}
.rpv-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:11px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;z-index:25}
.rpv-nav.l{left:-190px}.rpv-nav.r{right:-190px}
.rpv-foot{position:absolute;left:50%;transform:translateX(-50%);bottom:44px;display:flex;gap:18px}
.rpv-foot .btn{padding:15px 40px}
.rpv-ai{background:#fff;color:var(--brand);border-color:#C7D6FB}

/* AI-building sweep-fill — ABSTRACT SKELETON of a resume being built (bars = text lines,
   never real content). Geometry HARD-LOCKED to the source: card 258x309 with explicit
   height + every element absolutely positioned, so no rhythm edit can resize the card
   (the pass-2 shrink regression guard). Three layers share ONE 3s linear timeline:
   the wash (white->#EEF2FD, deepest at the line) grows 0->100%, the built skin
   clip-reveals in sync (#D8E2FB bars + the one solid #507AEE bar; the thin bars deepen
   #E0E8FB -> #D8E2FB as the line passes = content building behind the sweep), and the
   2.5px #507AEE line rides the leading edge, overhanging the card ~26px each side (as
   source). In the renderer the frame's inline phase-lock script freezes the loop at
   exactly 50% — the source still's mid-animation moment (see the comment below). */
.aib-modal{width:506px;padding:74px 0 70px;display:flex;flex-direction:column;align-items:center}
/* Phase-lock: headless Chrome self-identifies (navigator.webdriver / HeadlessChrome
   UA); the frame's inline script then REPLACES the three animations with their
   t=1500ms state as static styles (keyframes are linear -> the 50% state is exact by
   construction: wash height 50%, built clip 50%, line top 50% opacity 1). Animation
   clocks are bypassed — they proved non-deterministic under the renderer's virtual
   clock. Live browsers run the 3s loop untouched. ?aibt=<ms> freezes any loop time. */
.aib-card{position:relative;width:258px;height:309px;background:#fff;border:1px solid #D9DAE0;border-radius:10px;box-shadow:0 10px 34px rgba(20,30,60,.10)}
.aib-title{position:absolute;left:19px;top:20px;font-weight:700;font-size:15.5px;color:var(--ink);z-index:2}
.aib-stack{position:absolute;inset:0}
.aib-stack i{position:absolute;border-radius:4.5px}
.aib-stack.unbuilt i{background:#E0E8FB}
.aib-stack.built i{background:#D8E2FB}
.aib-stack.built .b-solid{background:#507AEE}
.aib-wash{position:absolute;left:0;right:0;top:0;height:0;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#FFFFFF 0%,#EEF2FD 100%);animation:aib-wash 3s linear infinite}
.aib-stack.built{clip-path:inset(0 0 100% 0);animation:aib-build 3s linear infinite}
.aib-line{position:absolute;left:-26px;right:-26px;top:0;height:2.5px;border-radius:2px;background:#507AEE;animation:aib-sweep 3s linear infinite;z-index:3} /* crisp, no glow — source shows clean white below the line */
@keyframes aib-wash{0%{height:0}100%{height:100%}}
@keyframes aib-build{0%{clip-path:inset(0 0 100% 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes aib-sweep{0%{top:0;opacity:0}2%{opacity:1}98%{opacity:1}100%{top:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){
  .aib-wash{animation:none;height:50%}
  .aib-stack.built{animation:none;clip-path:inset(0 0 50% 0)}
  .aib-line{animation:none;top:50%;opacity:1}}
.aib-load{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:30px;font-size:18px;font-weight:600;color:var(--ink)}
.aib-spin{width:22px;height:22px;border:3px solid #D8E0F2;border-top-color:var(--brand);border-radius:50%;flex:none}

/* ==================== P1 SEEKER — Account Settings (build_p1_seeker.py) ==================== */
.as-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 20px}
.as-vpp{font-size:17px}
.as-tabs{gap:38px;margin:0 0 30px}
.as-tabs .tab{font-size:19px;padding-bottom:16px}
.as-prog{margin:0 0 46px}
.as-prog-h{display:flex;align-items:center;justify-content:space-between}
.as-prog-h .pp-l{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--ink)}
.as-prog-h .pp-l svg{color:#E8622C}
.as-prog .res-progbar{margin:14px 0 0}
.as-prog-t{margin-top:16px;font-size:16px;color:var(--ink-2);line-height:1.7}
.as-sec{font-family:var(--font-head);font-weight:800;font-size:23px;margin:0 0 24px;display:flex;align-items:center;gap:14px}
.as-sec .link{font-size:16px;font-weight:600}
.as-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 56px;margin-bottom:8px}
.as-stack{display:grid;gap:30px;max-width:1180px}
.as-f{min-width:0}
.as-lbl{color:var(--mut);font-size:16px;margin-bottom:10px}
.as-val{font-size:18px;color:var(--ink);line-height:1.55;display:flex;align-items:center;gap:8px}
.as-stack .as-val{display:block}
.as-ck{color:var(--up);flex:none;display:inline-flex}
.as-ck.grey{color:#B7BECE}
.as-rule{border-top:1px solid var(--line);margin:34px 0}
.as-save{display:flex;justify-content:flex-end;gap:18px}
.as-cancel{color:var(--brand);border-color:#C7D6FB}
.as-google{display:flex;align-items:center;justify-content:space-between;gap:24px}
.as-gl{display:flex;align-items:center;gap:16px}
.as-gl .g{width:34px;height:34px;flex:none}
.as-gname{font-weight:700;font-size:18px;color:var(--ink)}
.as-gd{font-size:16px;color:var(--ink-2);margin-top:4px}
.as-row{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.as-row.date-row{align-items:start}
/* "I still work here" (Account-Settings Edit-Experience only — the passed Step-3 wizard
   uses <input>, untouched): breathing room below so it never crowds the next row's
   label, and a crisper, squarer box so its left edge reads flush with the End-date
   input (geometrically both sit at the same x; the faint round border read as inset). */
.as-row .still-here{margin:12px 0 26px}
.as-row .still-here .cbx{border-radius:4px;border-color:#AEB7CE}
.as-ta{height:auto;min-height:150px;align-items:flex-start!important;padding-top:16px!important;line-height:1.6;color:var(--ink)}
.as-fl{font-size:15px;font-weight:700;color:var(--ink)}
.as-expn{font-weight:700;font-size:17px;color:var(--ink);margin:0 0 22px;display:flex;justify-content:space-between}
.as-remove{font-size:16px}
.as-add{background:#F5F6FA;border-radius:12px;text-align:center;padding:18px;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 8px}
/* experience list (view) */
.as-explist{display:flex;flex-direction:column;gap:26px}
.as-exp{display:flex;gap:20px}
.as-exp>img{width:42px;height:42px;border-radius:9px;flex:none}
.as-exp-co{font-size:16px;color:var(--ink-2)}
.as-exp-rt{font-weight:700;font-size:18px;color:var(--ink);margin:2px 0 6px}
.as-exp-rt .dt{font-weight:500;font-size:15px;color:var(--mut);margin-left:12px}
.as-exp-d{font-size:16px;color:var(--ink-2);line-height:1.55;max-width:1170px}
/* education list */
.as-edulist{display:flex;flex-direction:column;gap:22px;margin-bottom:8px}
.as-edu{display:flex;gap:20px;align-items:flex-start}
.as-ini{width:42px;height:42px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.as-edu-sch{font-size:16px;color:var(--ink)}
.as-edu-deg{font-weight:700;font-size:18px;color:var(--ink);margin:2px 0 4px}
.as-edu-dt{font-size:15px;color:var(--mut)}
/* skills + IQ */
.as-chips{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px}
.as-iq{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.as-iq-l{max-width:900px}
.as-iq-d{font-size:16px;color:var(--ink-2);line-height:1.5;margin:0}
.as-iq-r{text-align:center;flex:none}
.as-iq-score{background:#EEF4FE;color:var(--brand);font-weight:700;font-size:18px;border-radius:8px;padding:8px 18px;margin-bottom:8px}
/* verification */
.as-verif-p{font-size:17px;color:var(--ink-2);line-height:1.6;max-width:1010px;margin:0 0 26px}
.as-vq{margin:0 0 24px}
.as-vq-t{font-weight:700;font-size:18px;color:var(--ink);margin-bottom:14px}
.as-vq-o{display:flex;gap:44px}
.as-rd{display:inline-flex;align-items:center;gap:12px;font-size:17px;color:var(--ink)}
.rdo{width:22px;height:22px;border-radius:50%;border:2px solid #C4CBDC;flex:none;position:relative}
.rdo.on{border-color:var(--brand)}
.rdo.on::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--brand)}
.as-doc{display:flex;align-items:center;gap:14px;padding:12px 0}
.pdf-ic{color:#E5484D;flex:none;display:inline-flex}
.as-doc-n{font-size:17px;color:var(--ink);flex:1}
.as-doc-v{display:inline-flex;align-items:center;gap:8px;color:var(--up);font-weight:600;font-size:16px}
/* notifications */
.nt-grp{font-weight:700;font-size:18px;color:var(--ink);margin:26px 0 6px}
.nt-grp:first-child{margin-top:0}
.nt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding:22px 0;border-bottom:1px solid var(--line)}
.nt-t{font-weight:700;font-size:18px;color:var(--ink);margin-bottom:6px}
.nt-d{font-size:16px;color:var(--ink-2);max-width:1080px}
/* checkboxes + day picker + time */
.cbx{width:22px;height:22px;border-radius:6px;border:1.5px solid #C4CBDC;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.cbx.on{background:var(--brand);border-color:var(--brand)}
.as-chklist{display:flex;flex-direction:column;gap:18px}
.as-chk{display:flex;align-items:center;gap:14px;font-size:17px;color:var(--ink)}
.daypick{display:flex;gap:12px}
.dp{width:58px;height:54px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:17px;color:var(--ink)}
.dp.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.as-time{display:flex;align-items:center;gap:16px}
.as-time .inp{flex:1}
.as-to{color:var(--ink-2);font-size:16px}
/* verification wizard chrome (Upload Documents) */
.vw-wrap{background:#fff;min-height:1052px}
.vw-top{display:flex;align-items:center;justify-content:space-between;padding:30px 150px;border-bottom:1px solid var(--line)}
.vw-welcome{font-weight:700;font-size:17px;color:var(--ink)}
.vw-main{padding:40px 150px 44px}
.vw-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}
.vw-h1{font-family:var(--font-head);font-weight:800;font-size:30px;margin:0 0 8px}
.vw-sub{font-size:17px;color:var(--ink-2);margin:0}
.vw-acc{display:flex;align-items:center;justify-content:space-between;background:#F5F7FC;border-radius:12px;padding:20px 24px;margin-bottom:16px}
.vw-acc.open{background:#EDF1FB}
.vw-acc-l{display:flex;align-items:center;gap:18px;font-weight:700;font-size:19px;color:var(--ink)}
.vw-badge{width:34px;height:34px;border-radius:8px;background:#DDE4F5;color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:none}
.vw-badge.ok{background:#3BA55D;color:#fff}
.vw-body{padding:14px 0 0}
.vw-up{margin-bottom:34px}
.vw-up-t{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 8px}
.vw-up-d{font-size:16px;color:var(--ink-2);margin:0 0 18px}
.vw-drop{border:1.6px dashed #C4CBDC;border-radius:12px;padding:52px;display:flex;flex-direction:column;align-items:center;gap:6px}
.vw-drop-ic{width:56px;height:56px;border-radius:10px;background:#F0F3FA;display:flex;align-items:center;justify-content:center;color:#8A93AC;margin-bottom:12px}
.vw-drop-t{font-weight:700;font-size:17px;color:var(--ink)}
.vw-drop-s{font-size:15px;color:var(--mut)}

/* RENDER DETERMINISM (2026-07-11): freeze ALL at-rest animations/transitions under
   reduced-motion so a screenshot never catches a mid-animation frame (e.g. .up-chip
   up-bob, the aib sweep). The renderer emulates prefers-reduced-motion:reduce; the
   LIVE design is unaffected (motion still plays in a normal browser). */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0s!important;animation-delay:0s!important;
    animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important}
}

/* Company Details — Benefits tab body (Phase-1 build, 2026-07-11). 2-col benefit grid,
   each item = elected glyph + bold title + grey description. Consumes the CD shell
   (hero/bar/tabs/rail/footer) unchanged. */
.cd-bengrid{display:grid;grid-template-columns:1fr 1fr;gap:32px 56px;padding-top:6px}
.cd-ben{display:flex;gap:14px}
.cd-ben svg{color:var(--brand);flex:none;margin-top:1px}
.cd-ben-t{font-weight:700;font-size:16px;color:var(--ink);margin:0 0 5px}
.cd-ben-d{font-size:14px;color:var(--mut);line-height:1.55;margin:0}

/* Company Details — Q&A tab body + Ask-a-question modal (Phase-1 build, 2026-07-11).
   Reuses the CD shell + the elected .modal / .modal-scrim / .field / pagination. */
.cd-qa-top{display:flex;gap:16px;margin:0 0 6px}
.cd-qa-search{flex:1;display:flex;align-items:center;gap:10px;border:1.5px solid #DDE2F0;border-radius:12px;padding:0 16px;min-height:57px;color:var(--mut-2);font-size:16px}
.cd-qa-search svg{color:var(--mut);flex:none}
.cd-qa-ask{flex:none;display:inline-flex;align-items:center;padding:0 24px;border:1.5px solid var(--brand);color:var(--brand);border-radius:12px;font-weight:600;font-size:16px}
.cd-qarow{padding:24px 0;border-bottom:1px solid var(--line)}
.cd-qarow:first-child{padding-top:22px}
.cd-qa-q{font-weight:700;font-size:16px;color:var(--ink);margin:0 0 10px}
.cd-qa-a{font-size:15px;color:var(--ink-2);line-height:1.6;margin:0 0 12px}
.cd-qa-age{font-size:13px;color:var(--mut)}
.cd-qa-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:11}
.cd-qa-modal{width:540px;padding:32px 34px}
.cd-qa-modal h2{font-family:var(--font-head);font-size:24px;font-weight:800;text-align:center;margin:0 0 24px;color:var(--ink)}
.cd-qa-modal .modal-x{position:absolute;top:20px;right:22px;color:var(--mut);display:inline-flex}
.cd-qa-ta{min-height:120px;align-items:flex-start!important;padding-top:16px!important;color:var(--mut-2)}
.cd-qa-notify{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2);margin:16px 0 22px}
.cd-qa-notify .cbox{width:18px;height:18px;border:1.6px solid #B9C2D8;border-radius:5px;flex:none}

/* Company Details — Jobs tab (Phase-1 build, 2026-07-11). Two-pane company-scoped
   job list embedded in the CD shell's cd-left; reuses cd-rsearch / jc-cur / jd-meta /
   detail_meta / pagination. Compact cards (no donut/apply), first card selected. */
.cd-jobs-head{display:flex;justify-content:space-between;align-items:center;font-size:14.5px;color:var(--ink);margin:6px 0 18px}
.cd-jobs-head .js-sort{color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.cd-jobs-cols{display:flex;gap:26px;align-items:flex-start}
.cd-jobs-list{width:392px;flex:none}
.cd-jc{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:16px}
.cd-jc.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.cd-jc .jc-cur{margin-bottom:11px;font-size:13.5px}
.cd-jc-co{display:flex;justify-content:space-between;font-size:14px;color:var(--ink)}
.cd-jc-age{color:var(--mut);font-size:13px}
.cd-jc-title{font-weight:700;font-size:16px;color:var(--ink);margin:3px 0 0;line-height:1.3}
.cd-jc-meta{display:flex;align-items:center;gap:7px;color:var(--mut);font-size:13.5px;margin-top:11px}
.cd-jc-meta svg{opacity:.75;flex:none}
.cd-jc-meta .cd-jc-sep{display:inline-flex;align-items:center;gap:7px;margin-left:5px}
.cd-jc-desc{color:var(--mut);font-size:13.5px;line-height:1.5;margin:12px 0 0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cd-jobs-detail{flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;
  padding:24px 26px 0;height:830px;overflow:hidden;position:relative}
/* event-12 (founder, per the original): fixed scrolled viewport under the pinned CTA —
   content offset so the grid's last values row peeks cut at the top; elected vj-sb
   scrollbar (View job precedent) runs the scroll area's height at the pane edge. */
.cd-jd-pin{position:relative;z-index:2;background:#fff;margin:0 -26px;padding:0 26px 14px;
  box-shadow:0 10px 14px -8px rgba(30,34,50,.16)} /* event-13: content slides UNDER the pinned block — white strip below the buttons, then the shadow (per original) */
.cd-jd-scroll{position:relative;overflow:hidden;height:600px}
.cd-jd-off{margin-top:-198px} /* grid labels hidden; the last values row peeks top-clipped (DOM-tuned) */
.cd-jd-sb{position:absolute;top:206px;right:8px;bottom:10px;width:6px;background:#E7E9F0;border-radius:3px}
.cd-jd-sb i{display:block;width:100%;height:38%;margin-top:20%;background:#8B90A0;border-radius:3px}
.cd-jd-head{display:flex;gap:14px;align-items:flex-start}
.cd-jd-head .jc-logo{width:46px;height:46px;border-radius:10px;flex:none}
.cd-jd-main{flex:1;min-width:0}
.cd-jd-co{display:flex;justify-content:space-between;font-size:15px;color:var(--ink)}
.cd-jd-title{font-weight:700;font-size:20px;color:var(--ink);margin-top:3px}
.cd-jobs-detail .jd-meta{margin-top:16px}
.cd-jd-cta{display:flex;gap:12px;align-items:center;margin:18px 0 4px}
.cd-jd-cta .btn-primary{flex:1;justify-content:center}
.cd-jd-ib{width:46px;height:46px;border:1px solid var(--line);border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;color:var(--brand);flex:none}
.cd-jd-body{border-top:1px solid var(--line);margin-top:18px;padding-top:6px}

/* Company Details — Photos tab (Phase-1 build, 2026-07-11). 5-col photo wall; tiles
   consumed 1:1 from the original mock (cd-photos/p01–p25.png) — content, not brand. */
.cd-photos-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}
.cd-photos-top .js-sort{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.cd-photogrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cd-photogrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}

/* Company Details — Photos Gallery lightbox (Phase-1 build, 2026-07-11). Scrim below
   the (undimmed) topnav + hi-res office photo (hero.png) + blue arrow nav buttons,
   matching the source. Reuses the CD Photos page as the dimmed base. */
.cd-gal-scrim{position:absolute;left:0;right:0;top:128px;bottom:0;background:rgba(20,22,30,.55);z-index:10}
.cd-gallery{position:absolute;left:0;right:0;top:128px;height:923px;display:flex;align-items:center;justify-content:center;z-index:11}
.cd-gal-img{width:1140px;max-height:78%;object-fit:contain;box-shadow:0 30px 80px rgba(10,15,40,.5);display:block}
.cd-gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background:var(--brand);
  color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center}
.cd-gal-nav.left{left:155px}
.cd-gal-nav.right{right:155px}
.cd-gal-nav.left svg{transform:scaleX(-1)}

/* Express Interest slide-over drawer (Phase-1 build, 2026-07-11). NET-NEW layout;
   treatment is OURS — elected .field/.inp fields, .cbox checkbox, elected glyphs,
   brand-blue buttons, tint/grey tokens. Sits over the dimmed jobs base (modal-scrim). */
.ei-drawer{position:absolute;top:0;right:0;bottom:0;width:640px;background:#fff;z-index:11;
  box-shadow:-24px 0 70px rgba(10,15,40,.20);display:flex;flex-direction:column}
.ei-x{position:absolute;top:22px;right:28px;color:var(--ink-2);display:inline-flex;z-index:2}
.ei-body{flex:1;overflow:hidden;padding:34px 40px 12px}
.ei-jobchip{background:#F3F6FE;border-radius:12px;padding:16px 18px;margin:6px 0 24px}
.ei-jc-t{font-weight:700;font-size:16px;color:var(--ink)}
.ei-jc-s{font-size:14px;color:var(--mut);margin-top:4px}
.ei-f{margin:0 0 8px}
.ei-f label{font-size:15px;font-weight:700;margin-bottom:9px}
.ei-sel{color:var(--mut-2)}
.ei-upload{text-align:right;margin:2px 0 0}
.ei-hr{border-top:1px solid var(--line);margin:22px 0}
.ei-box{border:1.5px solid var(--brand);border-radius:14px;padding:22px 22px 24px}
.ei-box-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;color:var(--ink)}
.ei-box-h svg{color:var(--mut);flex:none}
.ei-chk{display:flex;align-items:center;gap:11px;font-size:15px;color:var(--ink);margin:16px 0 16px}
.ei-chk.sm{font-size:14px;color:var(--ink-2);margin:14px 0 18px}
.ei-chk .cbox{width:19px;height:19px;border:1.6px solid #B9C2D8;border-radius:5px;flex:none;display:inline-block}
.ei-chk .cbox.on{background:var(--brand);border-color:var(--brand);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.ei-ta-wrap{position:relative}
.ei-ta{min-height:104px;align-items:flex-start!important;padding-top:15px!important;color:var(--mut-2);position:relative}
.ei-tmpl{position:absolute;right:14px;bottom:12px;display:inline-flex;align-items:center;gap:5px;
  font-size:14px;color:var(--ink-2);font-weight:500}
.ei-help{font-size:13.5px;color:var(--mut);margin:12px 0 0;line-height:1.5}
.ei-pay{background:#F5F6FA;border-radius:12px;padding:20px 22px;margin-top:18px}
.ei-pay-h{font-weight:700;font-size:16px;color:var(--ink);text-align:center;margin-bottom:16px}
.ei-card{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--ink)}
.ei-radio{width:20px;height:20px;border:1.6px solid #B9C2D8;border-radius:50%;flex:none}
.ei-card-no{letter-spacing:.06em}
.ei-visa{width:38px;height:24px;background-size:contain!important;background-repeat:no-repeat!important;
  background-position:center!important;margin-left:auto;flex:none}
.ei-addcard{margin-top:14px}
.ei-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ei-paynow{margin-top:6px;justify-content:center}
.ei-paid{display:flex;align-items:center;gap:12px;background:#F5F6FA;border-radius:12px;
  padding:20px 22px;margin-top:18px;font-weight:700;font-size:16px;color:var(--ink)}
.ei-paid svg{color:var(--up);flex:none}
.ei-tmpl-pop{position:absolute;right:0;bottom:-8px;transform:translateY(100%);width:236px;background:#fff;
  border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 46px rgba(10,15,40,.16);padding:12px;z-index:3}
.ei-tmpl-add{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.ei-tmpl-add .inp{flex:1;min-height:42px;padding:8px 12px;font-size:14px}
.ei-tmpl-ok{width:42px;height:42px;border:1.5px solid var(--brand);border-radius:9px;color:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;flex:none}
.ei-tmpl-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--ink-2);padding:9px 4px}
.ei-tmpl-del{color:var(--mut);display:inline-flex}
.ei-q{margin-top:26px}
.ei-q-h{font-weight:700;font-size:16px;color:var(--ink);line-height:1.45;margin-bottom:14px}
.ei-radio-row{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink);margin-bottom:14px}
.ei-as-h{font-weight:800;font-family:var(--font-head);font-size:18px;margin-top:6px}
.ei-as-sub{font-size:14.5px;color:var(--ink-2);margin:6px 0 16px}
.ei-as{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.ei-as-l{flex:1;min-width:0}
.ei-as-t{font-weight:700;font-size:15px;color:var(--ink)}
.ei-as-note{font-weight:500;font-size:13px;color:var(--mut);margin-left:8px}
.ei-as-d{font-size:13.5px;color:var(--mut);margin-top:4px;line-height:1.45}
.ei-as-r{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px}
.ei-as-btn{padding:9px 18px;color:var(--brand);border-color:#C7D6FB;white-space:nowrap}
.ei-as-pass{color:var(--up);font-weight:700;font-size:14px}
.ei-as-score{color:var(--up);font-size:13px}
.ei-as-fail{color:#E75B5C;font-weight:700;font-size:14px}
.ei-as-retest{font-size:13px}
.ei-foot{display:flex;justify-content:flex-end;gap:14px;border-top:1px solid var(--line);padding:18px 40px}
.ei-cancel{color:var(--brand);border-color:#C7D6FB}
.ei-submit{background:var(--line);color:var(--mut-2)}
.ei-radio.on{border:6px solid var(--brand)}

/* Jobs Details variants (Phase-1 build, 2026-07-11): Screening / Job offer / Visa.
   Reuse the jdo header + elected .ei-radio/.ei-as/.pill; treatment is OURS. */
.jds-cols{display:flex;gap:0;align-items:flex-start;margin-top:20px}
.jds-main{flex:1;min-width:0;padding-right:44px}
.jds-side{width:520px;flex:none;padding-left:44px}
.jds-screen{border-right:1px solid var(--line)}
.jds-qh,.jds-ah{font-family:var(--font-head);font-weight:800;font-size:20px;margin:0 0 22px}
.jds-asub{font-size:15px;color:var(--ink-2);margin:-14px 0 20px}
.jds-screen .ei-q-h{font-size:16px}
.jds-qhr{border-top:1px solid var(--line);margin:14px 0 18px}
.jds-qsubmit{display:flex;justify-content:flex-end}
.jds-submit{background:var(--line);color:var(--mut-2);padding:12px 40px}
.jds-assess .ei-as{padding:18px 20px}
/* Job offer timeline */
.jds-offh{font-family:var(--font-head);font-weight:800;font-size:20px;margin:24px 0 20px}
.jds-timeline{position:relative}
.jds-timeline::before{content:"";position:absolute;left:23px;top:34px;bottom:70px;width:2px;background:var(--line)}
.jds-tl-row{display:flex;gap:26px;margin-bottom:22px;position:relative}
.jds-tl-mark{width:48px;flex:none;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.jds-tl-av{width:44px;height:44px;border-radius:50%}
.jds-tl-logo{width:44px;height:44px;border-radius:10px}
.jds-tl-dot{display:none}
.jds-offer{flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.jds-off-head{display:flex;align-items:center;gap:16px}
.jds-ofwhen{font-size:15px;color:var(--mut)}
.jds-ofwhen b{color:var(--ink);font-weight:700}
.jds-off-acts{margin-left:auto;display:flex;gap:10px}
.jds-decline{color:#E75B5C;border:1.5px solid #F3C9C9;background:#fff}
.jds-counter{color:var(--brand);border:1.5px solid #C7D6FB;background:#fff}
.jds-accept{background:var(--up);color:#fff}
.jds-off-hr{border-top:1px solid var(--line);margin:18px 0}
.jds-off-grid{display:grid;grid-template-columns:1.05fr 1fr 1.1fr .9fr 1.5fr;gap:18px}
.jds-ofk{font-size:13px;color:var(--mut);margin-bottom:7px}
.jds-ofv{font-size:15px;font-weight:700;color:var(--ink)}
.jds-ofnote .jds-ofnv{font-size:14px;font-weight:400;color:var(--ink-2);line-height:1.5}
.jds-off-dl{display:flex;gap:12px;margin-top:22px}
.jds-dlb{color:var(--brand);border-color:#C7D6FB;padding:9px 16px}
.jds-dlb svg{color:var(--brand)}
/* Visa requirements */
.jds-doc-card{border:1px solid var(--line);border-radius:16px;padding:26px 30px}
.jds-doc-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:18px;border-bottom:1px solid var(--line)}
.jds-doc-h{font-family:var(--font-head);font-weight:800;font-size:19px}
.jds-doc-count{font-size:15px;color:var(--ink-2)}
.jds-doc-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.jds-doc-row:last-child{border-bottom:none;padding-bottom:2px}
.jds-doc-name{font-size:16px;font-weight:700;color:var(--ink)}
.jds-doc-sub{font-size:13.5px;color:var(--mut);margin-top:5px}
.jds-verified{display:inline-flex;align-items:center;gap:8px;color:var(--up);font-weight:600;font-size:15px}
.jds-review{display:inline-flex;align-items:center;gap:8px;color:#E08A2B;font-weight:600;font-size:15px}
.jds-upl{color:var(--brand);border-color:#C7D6FB;padding:9px 16px}
.jds-upl svg{color:var(--brand)}
.jds-vrail{display:flex;flex-direction:column;gap:20px;width:320px;padding-left:0}
.jds-promo{background:#EFF3FE;border:1.5px solid #3563EC;border-radius:16px;padding:24px 24px}/* P2: stroke per original Visa-requirements measurement (53,99,236) — was 1px #C7D6FB, visually sub-threshold */
.jds-promo-t{font-family:var(--font-head);font-weight:800;font-size:19px;margin-bottom:8px}
.jds-promo-d{font-size:14.5px;color:var(--ink-2);line-height:1.5;margin-bottom:18px}
.jds-promo-btn{padding:11px 20px}

/* Employer Company Profile view tabs (Phase-1 build, 2026-07-11): About/Branding/
   Locations/Benefits/Public. Reuse cp header + employer portal; treatment is OURS. */
.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 80px;max-width:1180px;margin-top:4px}
.cp-fitem{min-width:0}
.cp-fk{color:var(--mut);font-size:14px;margin-bottom:8px}
.cp-fv{font-size:16px;color:var(--ink);line-height:1.45}
/* Profile-completeness banner (About tab) — treatment = the eye-passed Apply-Job
   banner (.ap-warn coral triangle, --bar-fill gradient); employer-facing copy. */
.cp-banner{margin:0 0 34px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.cp-bn-h{display:flex;align-items:center}
.cp-bn-warn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:800;font-size:19px;color:var(--ink)}
.cp-bn-warn svg{color:#E75B5C}
.cp-bn-pct{margin-left:auto;font-weight:700}
.cp-bn-bar{height:5px;background:#D8E0F5;border-radius:3px;overflow:hidden;margin:14px 0 12px}
.cp-bn-bar i{display:block;height:100%;background:var(--bar-fill)}
.cp-bn-p{font-size:15px;color:var(--ink-2);margin:0 0 8px}
.cp-loc-h{font-weight:700;font-size:16px;color:var(--ink);margin:30px 0 18px}
.cp-loc-h:first-child{margin-top:8px}
.cp-loc-grid{gap:22px 80px;margin-bottom:6px}
.cp-brand-logo{width:180px;height:180px;border-radius:16px;background-size:contain;background-repeat:no-repeat;background-position:center;margin:6px 0 4px}
/* hi-res logo at the 180px Branding size — 177px crop consumed 1:1 from the Branding
   ORIGINAL (approved consume-real-assets rule); the shared 46px reflogo stays for tiles */
.cp-brand-logo.lg-sprig{background-image:url(reflogo-sprig-hi.png)!important}
.cp-cover{max-width:940px;margin-top:6px}
.cp-cover .cd-hero{width:100%;margin:0}
.cp-ben-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 70px;max-width:1200px;margin-top:2px}
.cp-ben-t{color:var(--mut);font-size:14px;margin-bottom:7px}
.cp-ben-d{font-size:16px;color:var(--ink);line-height:1.5}
/* Public profile = employer's preview of the candidate-facing company page */
.pp-h{justify-content:flex-end;margin-bottom:20px}
.pp-wrap{padding:0}
.pp-wrap .cd-tabs{margin-top:28px}
/* Company Profile EDIT tabs (Phase-1 build) — reuse elected .field/.inp + .formfoot */
.cp-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.cp-editlogo{position:relative;width:180px}
.cp-logo-x{position:absolute;top:10px;right:10px;width:30px;height:30px;background:#fff;border-radius:8px;
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(10,15,40,.14);color:var(--ink)}
.cp-help{font-size:14px;color:var(--mut);margin:0 0 14px}
.cp-dropzone{border:1.5px dashed var(--line);border-radius:14px;padding:52px 40px;text-align:center;color:var(--mut)}
.cp-dropzone svg{color:var(--mut-2)}
.cp-dz-t{font-weight:700;color:var(--ink);font-size:16px;margin-top:12px}
.cp-dz-s{font-size:13.5px;margin-top:6px}
.cp-loc-eh{display:flex;align-items:center;gap:14px;margin:6px 0 18px}
.cp-loc-en{font-weight:700;font-size:16px;color:var(--ink)}
.cp-loc-et{font-size:15px;color:var(--mut)}
.cp-loc-et.link{color:var(--brand);font-weight:600}
.cp-loc-rm{margin-left:auto}
.cp-loc-div{border-top:1px solid var(--line);margin:26px 0}
.cp-add-btn{background:#F5F6FA;border-radius:12px;padding:16px;display:flex;align-items:center;
  justify-content:center;gap:10px;font-weight:600;color:var(--ink);margin:10px 0 6px}
.cp-add-btn svg{color:var(--ink)}
.cp-ben-row{margin-bottom:22px}
.cp-ben-row label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:9px}
.cp-ben-inp{display:flex;align-items:center;gap:18px}
.cp-ben-inp .inp{flex:1;border:1.5px solid #DDE2F0;border-radius:12px;padding:15px 16px;
  min-height:56px;display:flex;align-items:center;font-size:16px;color:var(--ink)}
.cp-ben-x{color:var(--ink-2);display:inline-flex;flex:none}

/* P1 T1 batch (2026-07-11): job-alert modals + notifications panel + assessment pages.
   Additive, namespaced (ja-/sja-/ntf-/tq-/tr-). Treatment = eye-passed siblings. */
.ja-modal{width:506px;text-align:center;padding:40px 44px}
.ja-modal h2{font-family:var(--font-head);font-weight:800;font-size:26px;margin:6px 0 14px;line-height:1.3}
.ja-modal p{color:var(--mut);font-size:15.5px;margin:0 0 26px;line-height:1.6}
.ja-cta{display:inline-flex;padding:13px 30px}
.sja-modal{width:506px;text-align:center;padding:40px 44px}
.sja-modal h2{font-family:var(--font-head);font-weight:800;font-size:26px;margin:6px 0 12px}
.sja-modal p{color:var(--mut);font-size:15px;margin:0 0 18px;line-height:1.6}
.sja-q b{color:var(--ink)}
.sja-f{text-align:left;margin-bottom:20px}
.ntf-panel{position:absolute;top:128px;right:172px;width:496px;background:#fff;border-radius:16px;
  box-shadow:0 24px 70px rgba(10,15,40,.18);z-index:11;overflow:hidden}
.ntf-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 14px}
.ntf-head b{font-family:var(--font-head);font-size:20px;font-weight:800}
.ntf-list{position:relative;max-height:640px}
.ntf-row{display:flex;gap:14px;padding:18px 22px;border-top:1px solid var(--line)}
.ntf-row:first-child{background:#F7F9FE}
.ntf-ic{width:46px;height:46px;border-radius:10px;background:var(--brand-tint);color:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;flex:none}
.ntf-main{flex:1;min-width:0}
.ntf-t{font-weight:700;font-size:15.5px;color:var(--ink)}
.ntf-d{font-size:14px;color:var(--ink-2);line-height:1.5;margin-top:3px}
.ntf-age{font-size:13px;color:var(--mut);margin-top:6px}
.ntf-dots{color:var(--mut);flex:none}
.ntf-sb{position:absolute;right:5px;top:8px;width:6px;height:120px;border-radius:3px;background:#C9CEDC}
.tq-head{display:flex;align-items:center;padding:44px 160px 0}
.tq-head span:first-child{font-size:16px;color:var(--ink)}
.tq-mid{flex:1;text-align:center;font-weight:700;color:var(--mut);font-size:16px}
.tq-exit{min-width:80px;text-align:right}
.tq-main{max-width:1180px;margin:0 auto;padding:60px 40px}
.tq-q{font-family:var(--font-head);font-weight:800;font-size:30px;line-height:1.35;text-align:center;
  max-width:1000px;margin:0 auto 56px}
.tq-opts{max-width:668px;margin:0 auto}
.tq-opt{display:flex;align-items:center;gap:14px;border:1.5px solid #DDE2F0;border-radius:10px;
  padding:0 20px;min-height:76px;font-size:16px;color:var(--ink);margin-bottom:22px}
.tq-opt.on{border-color:var(--brand)}
.tq-foot{max-width:668px;margin:36px auto 0;display:flex;justify-content:space-between}
.tq-prev{color:var(--brand);border-color:#C7D6FB}
.tq-larr{display:inline-flex;transform:scaleX(-1)}
.tr-stats{display:flex;justify-content:center;gap:0;text-align:center;margin:30px 0 10px}
.tr-stats>div:not(.tr-div){padding:0 64px}
.tr-k{color:var(--mut);font-size:15px;margin-bottom:8px}
.tr-v{font-family:var(--font-head);font-weight:800;font-size:26px;color:var(--ink)}
.tr-pass{color:var(--up)}
.tr-div{width:1px;background:var(--line)}
.tr-rule{border-top:1px solid var(--line);max-width:1130px;margin:40px auto 46px}
.tr-ansh{display:flex;justify-content:space-between;align-items:center;max-width:1130px;margin:0 auto 26px}
.tr-ansh>b{font-family:var(--font-head);font-size:21px;font-weight:800}
.tr-leg{display:inline-flex;align-items:center;gap:8px;font-size:15px}
.tr-leg i{width:16px;height:16px;border-radius:3px;display:inline-block}
.tr-leg i.ok{background:var(--ok-ink)}
.tr-leg i.bad{background:var(--bad-ink);margin-left:26px}
.tr-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:22px 8px;max-width:1130px;margin:0 auto}
.tr-cell{width:52px;height:48px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:16px}
.tr-cell.ok{background:var(--ok-bg);color:var(--ok-ink);border:1px solid #BFE3CC}
.tr-cell.bad{background:var(--bad-bg);color:var(--bad-ink);border:1px solid #F3C9C9}
.tr-cta{text-align:center;margin-top:46px}

/* P1 T1-B (2026-07-11): Real-agent modal + SV questionnaire + candidate public profile.
   Additive, namespaced (raa-/svq-/cpp-). Treatment = eye-passed siblings. */
.raa-modal{width:672px;padding:36px 40px}
.raa-h{font-family:var(--font-head);font-weight:800;font-size:28px;margin:0 0 22px}
.raa-ta{min-height:110px;align-items:flex-start!important;padding-top:14px!important}
.raa-cta{text-align:right;margin-top:4px}
.svq-q{font-weight:700;font-size:17px;color:var(--ink);margin:22px 0 12px}
.svq-opts{display:flex;gap:56px}
.svq-o{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink)}
.svq-decl{display:flex;align-items:center;gap:11px;font-size:15px;color:var(--ink-2);margin:28px 0 4px}
.cpp-exit{text-align:right;margin:2px 0 16px}
.cpp-cols{display:flex;gap:36px;align-items:flex-start}
.cpp-left{flex:1;min-width:0}
.cpp-rail{width:320px;flex:none;display:flex;flex-direction:column;gap:20px}
.cpp-head{display:flex;gap:22px;margin-bottom:30px}
.cpp-av{width:118px;height:118px;border-radius:14px}
.cpp-name{font-family:var(--font-head);font-weight:800;font-size:27px;display:flex;align-items:center;gap:12px}
.cpp-otw{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;
  padding:5px 11px;font:600 13px var(--font-body);color:var(--ink)}
.cpp-otw .dot-g{width:8px;height:8px}
.cpp-wk{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;
  padding:5px 11px;font:600 13px var(--font-body);color:var(--ink)}
.cpp-role{font-size:16px;color:var(--ink);margin-top:8px}
.cpp-loc{font-size:14px;color:var(--mut);margin-top:4px}
.cpp-contact{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink);margin-top:10px}
.cpp-h{font-family:var(--font-head);font-weight:800;font-size:20px;margin:26px 0 14px}
.cpp-p{font-size:15.5px;line-height:1.65;color:var(--ink);margin:0}
.cpp-card{background:#F5F7FE;border-radius:14px;padding:22px 24px}
.cpp-card h4{font-family:var(--font-head);font-weight:800;font-size:18px;margin:0 0 14px}
.cpp-card .as-f{margin-bottom:14px}

/* P1 T1-C (2026-07-11): Job Seeker family (jsk-). Additive, namespaced. Treatment =
   eye-passed siblings: cpp head/cards, jds offer/doc components, jdo-match, ei-pay. */
.jsk-head{margin-bottom:8px}
.jsk-head .cpp-name{font-size:25px}
.jsk-status{display:flex;align-items:center;gap:12px;margin-top:14px}
.jsk-dd{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;
  padding:9px 14px;font:600 14px var(--font-body);color:var(--ink)}
.jsk-dd.lav{border-color:#D9CBF3;background:#F6F1FD;color:#6B4CB0}
.jsk-applied{margin-left:auto;color:var(--mut);font-size:14px}
.jsk-tabs{margin:4px 0 6px}
.jsk-railwrap{width:320px;flex:none;display:flex;flex-direction:column;gap:20px}
.jsk-railwrap .cpp-rail{width:auto}
.jsk-acts .btn{justify-content:center;margin-bottom:12px}
.jsk-dl{color:var(--brand);border-color:#C7D6FB}
.jsk-mss{display:flex;justify-content:space-between;color:var(--brand);font-weight:600;font-size:14.5px;padding:2px 4px}
.jsk-mss span{display:inline-flex;align-items:center;gap:7px}
.jsk-match{margin-top:20px}
.jsk-match .jdo-ring{flex:1} /* event-7 D3: ring centers in the leftover column width (original: ring ~mid between bars-end and rail) instead of hugging the bars */
.jdo-match .jdo-ring{flex:1} /* event-9 D3: same rule promoted to every jdo-match Overview (founder scope ruling 2026-07-16) — computed no-op where jsk-match already applied (Employer/Admin), fixes the bare-jdo-match Candidate/Jobs frame */
.jsk-jobsel{border:1.5px solid #DDE2F0;border-radius:12px;min-height:57px;display:flex;align-items:center;
  padding:0 16px;font-size:16px;margin-top:20px}
.jsk-jobsel .sel-chev{margin-left:auto;color:var(--ink-2);display:flex} /* event-7 D2: chevron pins to the box's far right, matching every .inp select */
.jsk-pdf{display:flex;align-items:center;gap:12px;font-size:15.5px;font-weight:600}
.jsk-pdf svg{color:#E5484D}
.jsk-tp{background:linear-gradient(135deg,#F3F7FF, #E8EEFE);border:1px solid #C7D6FB;border-radius:14px;
  padding:24px 26px;margin-top:26px}
.jsk-tp h4{font-family:var(--font-head);font-weight:800;font-size:19px;margin:0 0 10px}
.jsk-tp p{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin:0 0 18px}
.jsk-ans{color:var(--ink-2);font-size:15px;margin:0 0 4px}
.jsk-test{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);
  padding:16px 2px;font-size:15.5px}
.jsk-test-r{display:inline-flex;align-items:center;gap:16px}
.jsk-score{min-width:34px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px}
.jsk-score.ok{background:var(--ok-bg);color:var(--ok-ink)}
.jsk-score.bad{background:var(--bad-bg);color:var(--bad-ink)}
.jsk-sk-h{font-weight:700;font-size:14px;color:var(--ink-2);margin:14px 0 10px}
.jsk-chip.ok{border-color:#BFE3CC;color:var(--ok-ink)}
.jsk-chip.ok svg{color:var(--ok-ink)}
.jsk-chip.bad{border-color:#F3C9C9;color:var(--bad-ink)}
.jsk-chip.bad svg{color:var(--bad-ink)}
.jsk-comp{margin-top:26px}
.jsk-comp h4{font-family:var(--font-head);font-weight:800;font-size:19px;margin:0 0 14px}
.jsk-cb-row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--brand);font-weight:600;margin-bottom:8px}
.jsk-cb-mid{color:var(--brand)}
.jsk-cb-off{height:12px;border-radius:4px;background:#C9D8FB}
.jsk-cb-dwrap{margin:6px 0}
.jsk-cb-delta{display:block;height:18px;border-radius:5px;color:#fff;font:700 12px/18px var(--font-body);text-align:center}
.jsk-cb-delta.blue{background:var(--brand)}
.jsk-cb-delta.teal{background:#2E9E8F}
.jsk-cb-delta.red{background:#E75B5C}
.jsk-cb-prow{margin:6px 0 8px}
.jsk-cb-pref{display:block;height:12px;border-radius:4px;background:#E4DBF9}
.jsk-cb-pcap{color:#7C5FC9;font-weight:600}
.jsk-cb-plab{color:#7C5FC9}
.jsk-stars{display:inline-flex;gap:3px;vertical-align:middle;margin-left:10px}
.jsk-star svg{color:#1D1D1F}
.jsk-star.off svg{color:#C9CEDC}
.jsk-fb-h{display:flex;justify-content:space-between;align-items:center}
.jsk-fb-btn{margin-top:20px}
.jsk-fb{border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin-top:20px}
.jsk-fb-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.jsk-fb-t{font-family:var(--font-head);font-weight:800;font-size:19px}
.jsk-fb-dt{margin-left:auto;color:var(--mut);font-size:14px}
.jsk-fb-rates{display:flex;gap:34px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px;font-size:14.5px}
.jsk-fb-by{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:15px}
.jsk-fb-av{width:44px;height:44px;border-radius:50%}
.jsk-fb-role{color:var(--mut);font-size:13.5px;margin-top:2px}
.jsk-fb-when{margin-left:auto;color:var(--mut);font-size:14px}
.jsk-wf-modal{width:672px;padding:32px 38px}
.jsk-wf-modal .ei-jobchip{margin-top:30px} /* event-7 D5: chip top clears the absolute close-x (bottom 46) by ~12px, as the original */
.ei-drawer .ei-jobchip{margin-top:24px} /* event-9 D5: drawer chip top (was 40, x-overlap 12x6) clears the close-x bottom (46) by the same ~12px */
.jsk-wf-rates{display:flex;gap:30px;margin-bottom:20px}
.jsk-wf-rates label{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px}
.jsk-wf-rates .jsk-stars{margin-left:0}
.jsk-dz-l{font-size:15px;font-weight:700;margin-bottom:9px}
.jsk-dz{padding:40px 30px}
.jsk-off-cta{display:flex;justify-content:flex-end;gap:14px;margin-top:24px}
.jds-offer.acc{border-color:#2FA85E;box-shadow:inset 0 0 0 1px #BFE3CC}
.jsk-imm-card{margin-top:22px}
.jsk-dlchk{margin:18px 0 4px}
.jsk-req{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;
  padding:9px 16px;color:var(--mut);font-weight:600;font-size:14px;background:#F7F8FB}
.jsk-ready{background:#fff;border:1px solid #C7D6FB;border-radius:14px;padding:22px 24px}
.jsk-ready h4{font-family:var(--font-head);font-weight:800;font-size:19px;margin:0 0 10px}
.jsk-ready p{font-size:14px;color:var(--ink-2);line-height:1.5;margin:0 0 16px}
.jsk-ready .btn{width:100%;justify-content:center}
.jsk-ready .btn.btn-disabled{background:var(--soft);color:var(--mut);cursor:default} /* event-7 re-eye: quote CTA stays disabled while documents are under review (source shows it grayed until all verified); elected neutrals, not the original's */
.jsk-qs-modal{width:506px;text-align:center;padding:44px 46px}
.jsk-qs-modal h2{font-family:var(--font-head);font-weight:800;font-size:26px;margin:18px 0 12px;line-height:1.3}
.jsk-qs-modal p{color:var(--mut);font-size:15px;margin:0}
.jsk-qs-modal .badge{margin:0 auto}
.jsk-quote{margin-top:20px}
.jsk-q-head{display:flex;justify-content:space-between;align-items:flex-start}
.jsk-q-head b{font-family:var(--font-head);font-weight:800;font-size:19px}
.jsk-q-amt{font-family:var(--font-head);font-weight:800;font-size:27px;color:var(--brand)}
.jsk-q-grid{grid-template-columns:1fr 1fr 1fr}
.jsk-q-acts{display:flex;justify-content:flex-end;gap:14px;margin-top:20px;align-items:center}
.jsk-cbk{margin-top:20px}
.jsk-cbk>b{font-family:var(--font-head);font-weight:800;font-size:19px;display:block;margin-bottom:14px}
.jsk-cbk-row{display:flex;justify-content:space-between;font-size:15px;padding:7px 0}
.jsk-cbk-total{font-weight:700;font-size:17px}
.jsk-notes{margin-top:20px}
.jsk-notes>b{font-family:var(--font-head);font-weight:800;font-size:19px}
.jsk-pay-modal{width:560px;padding:36px 40px}
.jsk-pay-sub{color:var(--mut);font-size:15px;margin:-12px 0 20px}
.jsk-msg{padding:14px 18px;max-height:560px;overflow:hidden}
.jsk-m{display:flex;gap:10px;margin-top:14px}
.jsk-m.them{justify-content:flex-end}
.jsk-m-b{background:#F2F3F7;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;max-width:300px}
.jsk-m-b.blue{background:#DCE6FC}
.jsk-m-av{width:34px;height:34px;border-radius:50%;flex:none;align-self:flex-end}
.jsk-m-av.sq{border-radius:8px}
.jsk-m-t{font-size:12px;color:var(--mut);margin:6px 46px 0}
.jsk-m-t.right{text-align:right}
.jsk-m-day{display:flex;align-items:center;gap:12px;color:var(--mut);font-size:13px;margin:16px 0 2px}
.jsk-m-day span{flex:1;border-top:1px solid var(--line)}
.jsk-dock{position:absolute;right:26px;top:340px;bottom:24px;width:452px;background:#fff;border-radius:16px;
  box-shadow:0 24px 70px rgba(10,15,40,.22);z-index:11;display:flex;flex-direction:column}
.jsk-dock-h{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.jsk-dock-av{width:44px;height:44px;border-radius:50%}
.jsk-dock-x{margin-left:auto;color:var(--ink-2);display:inline-flex}
.jsk-dock-f{display:flex;gap:10px;align-items:center;padding:12px 16px 6px;margin-top:auto}
.jsk-dock-inp{flex:1;min-height:48px}
.jsk-dock-send{width:48px;height:48px;background:var(--brand);color:#fff;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;flex:none}
.jsk-dock-tools{display:flex;align-items:center;gap:14px;padding:0 18px 14px;color:var(--ink-2);font-size:13.5px}
.jsk-dock-tools span{display:inline-flex;align-items:center;gap:5px}
.jsk-sc-modal{width:1120px;padding:34px 40px}
.jsk-sc-cols{display:flex;gap:34px;margin-top:8px}
.jsk-sc-left{width:340px;flex:none}
.jsk-sc-right{flex:1;min-width:0}
.jsk-sc-tabs{margin:0 0 18px}
.jsk-sc-nav{display:flex;align-items:center;gap:16px;font-size:15px;margin-bottom:12px}
.jsk-sc-arrows{display:inline-flex;gap:10px;color:var(--ink-2)}
.jsk-sc-nav .link{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.jsk-cal{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;height:330px}
.jsk-cal-hours{width:52px;flex:none;border-right:1px solid var(--line);padding-top:44px}
.jsk-cal-h{font-size:10.5px;color:var(--mut);height:28px;text-align:right;padding-right:6px}
.jsk-cal-col{flex:1;border-right:1px solid var(--line);position:relative}
.jsk-cal-col:last-child{border-right:none}
.jsk-cal-d{text-align:center;font-size:12px;color:var(--mut);padding:6px 0;border-bottom:1px solid var(--line)}
.jsk-cal-d b{display:inline-block;font-size:13px;color:var(--ink);margin-top:2px}
.jsk-cal-d b.cur{background:var(--brand);color:#fff;border-radius:6px;padding:1px 7px}
.jsk-cal-body{position:relative;height:calc(100% - 44px)}
.jsk-cal-av{position:absolute;left:6px;right:6px;border:1.5px solid #A9C1F8;background:#F3F7FF;border-radius:6px}
.jsk-cal-av.av1{top:8px;bottom:12px}
.jsk-cal-av.av2{top:96px;bottom:12px}
.jsk-cal-av.av3{top:8px;bottom:8px}
.jsk-cal-av.av4{top:8px;bottom:64px}
.jsk-cal-bk{position:absolute;left:6px;right:6px;bottom:28px;height:30px;background:var(--brand);border-radius:6px}
/* event-16 (founder, per the original) — opt-in grid for the employer Messages calendars:
   hour lines every 28px row; the booked box snaps INTO the Fri 4-5pm cell (row 224-252). */
.jsk-cal-grid .jsk-cal-body{background:repeating-linear-gradient(180deg,var(--line-2) 0,var(--line-2) 1px,transparent 1px,transparent 28px)}
.jsk-cal-grid .jsk-cal-bk{bottom:auto;top:225px;height:26px}
.jsk-cal-grid .jsk-cal-av.dk{border-color:var(--brand);background:#F5F7FE} /* event-16 amendment: Thu+Fri blocks — darker (brand) outline, elected tint interior (founder, per the original) */
.field .inp.em-msgta{min-height:116px;align-items:flex-start} /* event-16: Message Annie Spratt is the biggest field (original ~110px) */
.em-seldate{color:var(--brand)!important;border-color:var(--brand)!important} /* event-16 D8 button law: Select date */
.mp-bl .btn-outline{color:var(--brand);border-color:var(--brand)} /* event-17 D8: admin Membership-plans Edit-plan CTAs */
.usering.grad{background:conic-gradient(#AEC8FC 0deg,var(--brand) calc(var(--p)*3.6deg),#E7ECF7 0)} /* event-20: gradient arc (elected --bar-fill endpoints) — opt-in; passed usage pages keep the flat arc */
.sb-usage .au-usw{width:110px} /* event-20: fixed columns so the Purchase/Save buttons align across rows */
.sb-usage .au-upw{width:170px}
.sb-usage .au-actw{width:123px;flex:none;display:flex;justify-content:center} /* event-21: text-Save sits centred in a column the exact rendered Purchase-button width, so the three rings align */
.sb-availcard .b b .link{margin-left:12px} /* event-20: air between the price and its Edit link */
.au-stb{color:var(--brand)!important;border-color:var(--brand)!important} /* event-17 D8: Screening Pending Start test buttons */
.au-bl{color:var(--brand)!important;border-color:var(--brand)!important} /* event-18 D8: admin blue-outline buttons (Visa Upload, S&B Filters) */
.jds-tl-aujo::before{bottom:234px} /* event-18: Admin Job offer — line ends at the Sprig dot (DOM-measured: container 895.1, dot2 center 660.8) */
.aucp-prow{display:flex;align-items:center;justify-content:space-between;margin:14px 0 18px} /* event-18 Change plan (admin edit view, per the original) */
.aucp-edit{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid #DDE2F0;border-radius:12px;padding:14px 16px;font-weight:800;font-size:22px;margin:14px 0 18px}
.jsk-sc-leg{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px}
.jsk-leg-av{width:16px;height:16px;border:1.5px solid #A9C1F8;background:#F3F7FF;border-radius:4px}
.jsk-leg-bk{width:16px;height:16px;background:var(--brand);border-radius:4px;margin-left:20px}
.jsk-sc-upsell{border:1px solid #C7D6FB;border-radius:12px;padding:16px 20px;margin-top:22px}
.jsk-sc-upsell b{display:inline-flex;align-items:center;gap:8px;font-size:15.5px}
.jsk-sc-upsell svg{color:var(--mut)}
/* quote-submitted success badge = the approved .jps-modal .badge sibling exactly */
.jsk-qs-modal .badge{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:var(--ok-ink);color:#fff;display:flex;align-items:center;justify-content:center}
.jsk-qs-modal .badge svg{width:38px;height:38px}

/* ===== P1 T2-e: Employer Teams & Permissions (tp-*) — additive, scoped.
   TREATMENT = elected table/toolbar/pill/modal registry; matrix checkboxes at
   the census checkbox spec (brand fill, white tick @3; empty #B9C2D8 border). */
.tp-toolbar{display:flex;gap:12px;margin:0 0 16px;align-items:center}
.tp-kebab{width:52px;height:52px;border:1.5px solid #C7D6FB;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);flex:none}
.tp-cbx{width:18px;height:18px;border:1.6px solid #B9C2D8;border-radius:5px;flex:none;display:inline-block;background:#fff;vertical-align:middle}
.tp-av{width:34px;height:34px;border-radius:50%;flex:none;background-position:center;background-repeat:no-repeat;background-size:cover}
.tp-avstack{display:inline-flex;align-items:center;gap:0}
.tp-avstack .tp-av{width:30px;height:30px;border:2px solid #fff;margin-left:-10px}
.tp-avstack .tp-av:first-child{margin-left:0}
.tp-avn{margin-left:8px;font-weight:600}
.tp-sprig{display:inline-flex;align-items:center;gap:8px}
.tp-sprig .reflg{width:24px;height:24px;border-radius:6px}
.tp-upsell{text-align:center;padding:120px 0 150px}
.tp-upsell h2{font-family:var(--font-head);font-size:30px;font-weight:800;margin:30px 0 10px}
.tp-upsell p{color:var(--ink-2);font-size:16px;margin:0 0 28px}
.tp-ill{position:relative;width:170px;height:120px;margin:0 auto}
.tp-ill .tp-ill-card{position:absolute;right:0;top:0;width:135px;height:92px;background:#F3F6FE;border-radius:14px}
.tp-ill .tp-ill-bar{position:absolute;right:16px;top:56px;width:80px;height:10px;background:#DDE2F0;border-radius:5px}
.tp-ill .tp-ill-tile{position:absolute;left:0;top:14px;width:62px;height:62px;background:var(--brand);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 24px rgba(33,100,244,.28)}
.tp-ill .tp-ill-arr{position:absolute;right:6px;bottom:0;width:38px;height:38px;background:#C7D6FB;
  -webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat}
.tp-mx{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:8px}
.tp-mx-head,.tp-mx-sec,.tp-mx-row{display:grid;grid-template-columns:1fr 150px 150px 150px 150px 150px;align-items:center}
.tp-mx-head{padding:16px 22px;font-weight:700;font-size:15px}
.tp-mx-head div{text-align:center}.tp-mx-head div:first-child{text-align:left}
.tp-mx-sec{background:#EFF3FE;padding:14px 22px;font-weight:700;font-size:15px;margin:10px 12px;border-radius:10px}
.tp-mx-sec .tp-sec-t{display:flex;align-items:center;gap:10px}
.tp-mx-sec div,.tp-mx-row div{text-align:center}
.tp-mx-sec div:first-child,.tp-mx-row div:first-child{text-align:left}
.tp-mx-row{padding:13px 22px 13px 44px;border-bottom:1px solid var(--line-2);font-size:15px}
.tp-ck{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}
.tp-ck.on,.tp-ck.ind{background:var(--brand);color:#fff}
.tp-ck.off{border:1.6px solid #B9C2D8;background:#fff}
.tp-ck .tp-dash{width:10px;height:2.6px;background:#fff;border-radius:2px}
.tp-pop{position:absolute;background:#fff;border-radius:14px;box-shadow:var(--sh-pop);padding:20px 22px;width:250px;z-index:12}
.tp-pop .tp-pt{font-weight:700;margin-bottom:14px}
.tp-pop .tp-pr{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:15px}
.tp-pop .tp-av{width:26px;height:26px}

/* ===== P1 T2-f: Candidate/Employer Messages (msg-*) — additive, scoped.
   Fresh 2-pane messages surface built from the originals; TREATMENT from the
   elected registry: chatw bubble family (bubble/bot tones), jds-offer cards,
   reflg logo tiles, refav photos, tp-upsell empty-state grammar, census
   strokes (search/chat/bell 1.8 · send 2 · check-circle 2.4). */
.msg-page{background:#F5F6FA;padding:0 0 0}
.frame.cand.msg-auto{height:auto}
.msg-page .darkfoot{margin-top:60px}
.msg-h1{font-family:var(--font-head);font-weight:800;font-size:30px;margin:44px 0 26px}
.msg-wrap{display:grid;grid-template-columns:405px 1fr;background:#fff;border-radius:6px;min-height:846px;align-items:stretch}
.msg-left{border-right:1px solid var(--line);display:flex;flex-direction:column}
.msg-tools{display:flex;gap:12px;padding:24px 24px 20px;border-bottom:1px solid var(--line)}
.msg-tools .jm-search{flex:1;margin:0}
.msg-filter{width:52px;height:52px;border:1px solid var(--line);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);flex:none}
.msg-item{display:flex;gap:14px;padding:18px 24px;align-items:flex-start;position:relative}
.msg-item.on{background:#EFF3FE}
.msg-item .reflg{width:48px;height:48px;border-radius:10px;flex:none;background-size:contain}
.msg-in{min-width:0;flex:1}
.msg-in .nm{font-weight:700;font-size:16px;margin:2px 0 6px}
.msg-in .sn{color:var(--ink-2);font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-item .tm{color:var(--mut);font-size:13px;flex:none;margin-top:4px}
.msg-dot{position:absolute;right:24px;bottom:26px;width:8px;height:8px;border-radius:50%;background:var(--brand)}
.msg-newconv{display:flex;align-items:center;gap:14px;padding:22px 24px;font-weight:700}
.msg-newconv .pl{width:40px;height:40px;border-radius:10px;background:#EFF3FE;color:var(--brand);display:inline-flex;align-items:center;justify-content:center}
.msg-right{display:flex;flex-direction:column;min-width:0}
.msg-head{display:flex;align-items:center;gap:16px;padding:20px 26px;border-bottom:1px solid var(--line)}
.msg-head .reflg{width:52px;height:52px;border-radius:10px;flex:none;background-size:contain}
.msg-head .hn{font-weight:700;font-size:17px;margin-bottom:4px}
.msg-head .hd{color:var(--ink-2);font-size:14.5px}
.msg-head .mk{margin-left:auto;color:var(--ink)}
.msg-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:16px 26px}
.msg-day{display:flex;align-items:center;gap:16px;color:var(--ink-2);font-size:14px;margin:6px 0}
.msg-day:before,.msg-day:after{content:"";flex:1;height:1px;background:var(--line)}
.msg-row{display:flex;gap:10px;align-items:flex-end}
.msg-row.me{justify-content:flex-end}
.msg-row .reflg{width:44px;height:44px;border-radius:9px;flex:none;background-size:contain;align-self:flex-start}
.msg-row .refav{width:40px;height:40px;border-radius:50%;flex:none}
.msg-bub{max-width:460px;background:#F5F6FA;border-radius:4px;padding:14px 16px;font-size:15px;line-height:1.5}
.msg-row.me .msg-bub{background:#C9D7FB}
.msg-tm{color:var(--mut);font-size:13px;margin:5px 0 7px}
.msg-tm.me{text-align:right;margin-right:54px}
.msg-tm.bot{margin-left:54px}
.msg-file{width:185px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.msg-file img{width:100%;display:block}
.msg-file .fn{border-top:1px solid var(--line);padding:9px 12px;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-warn{display:flex;align-items:center;gap:10px;background:var(--warn-bg);color:#7A5A17;border:1px solid #EAD9A8;border-radius:8px;padding:12px 16px;font-size:14.5px;margin:8px 0}
.msg-inrow{display:flex;gap:12px;padding:18px 26px 24px;align-items:center}
.msg-inp{flex:1;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:15px 16px;color:var(--mut-2);font-size:15px}
.msg-inp .grow{flex:1}
.msg-send{width:52px;height:52px;border-radius:10px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}
.msg-inrow.dis{opacity:.55}
.msg-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.msg-empty h2{font-family:var(--font-head);font-weight:800;font-size:30px;margin:28px 0 10px}
.msg-empty p{color:var(--ink-2);font-size:16px;margin:0}
.msg-eill{position:relative;width:170px;height:120px}
.msg-eill .c1{position:absolute;left:0;top:0;width:135px;height:64px;background:#F3F6FE;border-radius:12px}
.msg-eill .b1{position:absolute;left:14px;top:14px;width:106px;height:36px;background:var(--brand);opacity:.85;border-radius:8px}
.msg-eill .b1 i{position:absolute;left:12px;top:10px;width:60px;height:5px;background:#fff;border-radius:3px}
.msg-eill .b1 em{position:absolute;left:12px;top:22px;width:40px;height:5px;background:#fff;opacity:.7;border-radius:3px}
.msg-eill .c2{position:absolute;left:44px;top:52px;width:118px;height:44px;background:#fff;border-radius:10px;box-shadow:0 8px 22px rgba(20,30,70,.10)}
.msg-eill .c2 i{position:absolute;left:14px;top:14px;width:66px;height:5px;background:#DDE2F0;border-radius:3px}
.msg-eill .arr{position:absolute;right:6px;bottom:0;width:36px;height:36px;background:#C7D6FB;
  -webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat}
.msg-offer{border:1px solid var(--line);border-radius:10px;background:#fff;max-width:840px;margin:4px 0}
.msg-offer.acc{border-color:#2E9E5B}
.msg-offer .oh{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-2)}
.msg-offer .oh .ttl{font-size:15px;color:var(--ink-2)}
.msg-offer .oh b{color:var(--ink)}
.msg-offer .oh .acts{margin-left:auto;display:flex;gap:10px}
.msg-ometa{display:grid;grid-template-columns:1.1fr 1fr 1.2fr 1fr;gap:8px 20px;padding:16px 20px 6px}
.msg-ometa .k{color:var(--mut);font-size:14px;margin-bottom:6px}
.msg-ometa .v{font-weight:700;font-size:15.5px}
.msg-odocs{display:flex;gap:12px;padding:12px 20px 18px}
.msg-invite{width:410px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px;margin:6px 0}
.msg-invite h3{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 6px}
.msg-invite .sub{color:var(--ink-2);font-size:15px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.msg-invite .dur{display:flex;align-items:center;gap:10px;font-size:15px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.msg-invite .note-t{font-weight:700;margin-bottom:6px}
.msg-invite .note-d{color:var(--ink-2);font-size:14.5px;margin-bottom:18px}
.msg-invite .btn{display:flex;justify-content:center}
/* schedule-interview pages (public shell, 2-col) */
.sch-cols{display:grid;grid-template-columns:478px 1fr;gap:20px;align-items:start}
.sch-card{background:#fff;border-radius:6px;padding:26px 28px}
.sch-job .jt{font-family:var(--font-head);font-weight:800;font-size:20px;margin-bottom:6px}
.sch-job .jc{color:var(--ink-2);font-size:15px}
.sch-card h3{font-family:var(--font-head);font-weight:800;font-size:22px;margin:0 0 18px}
.sch-vrow{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;margin-bottom:16px}
.sch-vrow .ic{color:var(--ink);flex:none;margin-top:1px}
.sch-note-t{font-weight:700;margin:2px 0 6px}
.sch-note-d{color:var(--ink-2);font-size:14.5px}
.sch-prog{height:6px;border-radius:3px;background:#E8ECF6;overflow:hidden;margin-bottom:18px}
.sch-prog i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#1F3C9C,#C7D6FB)}
.sch-step{display:flex;align-items:center;gap:10px;font-size:15px;margin-bottom:18px}
.sch-h2{font-family:var(--font-head);font-weight:800;font-size:24px;margin:0 0 14px}
.sch-tz{display:flex;align-items:center;gap:10px;font-size:15px;margin-bottom:20px}
.sch-grid{display:grid;grid-template-columns:116px 1px 1fr;gap:0 22px}
.sch-days{display:flex;flex-direction:column;gap:12px}
.sch-day{border:1px solid var(--line);border-radius:10px;text-align:center;padding:10px 6px;font-size:14px;color:var(--ink-2)}
.sch-day b{display:block;color:var(--ink);font-size:15px;margin-bottom:3px}
.sch-day.on{background:#EFF3FE;border-color:var(--brand)}
.sch-vline{background:var(--line);width:1px}
.sch-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:start}
.sch-slot{border:1px solid var(--line);border-radius:10px;text-align:center;padding:14px 8px;font-size:14.5px}
.sch-slot.on{background:#EFF3FE;border:1.6px solid var(--brand)}
.sch-foot{display:flex;justify-content:flex-end;gap:14px;margin-top:26px}
.sch-info{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px;margin:6px 0 24px}
.sch-info .k{color:var(--mut);font-size:14.5px;margin-bottom:8px}
.sch-info .v{font-size:16px}
.sch-info .sub{color:var(--ink-2);font-size:14px;margin-top:4px}
.sch-ok{display:flex;align-items:center;gap:12px;font-size:15.5px;margin-bottom:14px}
.sch-ok .ok{color:var(--up);flex:none;display:flex}
.sch-tips{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0 24px}
.sch-tip{border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.sch-tip .t{font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:8px}
.sch-tip p{color:var(--ink-2);font-size:14.5px;margin:0 0 16px}
.sch-tip .link{display:inline-flex;align-items:center;gap:6px} /* event-14: the blue arrow centers with its link text (was baseline-adrift on both tip cards) */
.sch-fmj{color:var(--brand)!important;border-color:var(--brand)!important} /* event-14 D8 button law: Find more jobs ONLY — a .sch-foot-wide rule would recolor Step 3's PASSED Decline */
.msg-offer .btn-outline{color:var(--brand);border-color:var(--brand)} /* event-14 D8 button law: Counteroffer / Offer letter / Contract (First Offer + Accepted Offer) */

/* ===== P1 T2-g: Employer Messages (em-*) — additive, scoped. In-portal
   2-pane over the msg-* family; roles reversed (employer = blue right +
   Sprig tile, candidate = grey left + refav photo). */
.em-wrap{display:grid;grid-template-columns:428px 1fr;position:absolute;inset:0;background:#fff}
.em-left{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}
.em-left .msg-tools{border-bottom:1px solid var(--line)}
.em-left .msg-item .refav{width:52px;height:52px;border-radius:10px;flex:none}
.em-right{display:flex;flex-direction:column;min-width:0}
.em-head{display:flex;align-items:center;gap:14px;padding:16px 26px;border-bottom:1px solid var(--line)}
.em-head .refav{width:56px;height:56px;border-radius:12px;flex:none}
.em-head .hn{font-weight:700;font-size:17px;margin-bottom:3px}
.em-head .hd{color:var(--ink-2);font-size:14.5px}
.em-head .em-acts{margin-left:auto;display:flex;align-items:center;gap:18px;color:var(--ink)}
.em-jobs{display:inline-flex;align-items:center;gap:8px;background:#DDF3EA;color:#17845A;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}
.em-jobs i{width:8px;height:8px;border-radius:50%;background:#17845A}
.em-row{display:flex;gap:10px;align-items:flex-end}
.em-row .refav{width:44px;height:44px;border-radius:50%;flex:none;align-self:flex-end}
.em-row .reflg{width:44px;height:44px;border-radius:9px;flex:none;background-size:contain;align-self:flex-end}
.em-row.me{justify-content:flex-end}
.em-row.me .msg-bub{background:#C9D7FB;text-align:right}
.em-inrow{display:flex;gap:12px;padding:16px 26px 20px;align-items:center}
.em-inp{flex:1;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--mut-2);font-size:15px}
.em-inp .grow{flex:1}
.em-inp .em-tpl{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:15px;border-left:1px solid var(--line);padding-left:14px;white-space:nowrap}
.em-invite{width:320px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px 22px;margin:4px 0}
.em-invite h3{font-family:var(--font-head);font-weight:800;font-size:21px;margin:12px 0 4px}
.em-invite .sub{color:var(--ink-2);font-size:15px;margin:0 0 10px}
.em-invite .dt{font-size:15px}
.em-jobpop{position:absolute;right:105px;top:74px;width:395px;background:#fff;border-radius:14px;box-shadow:var(--sh-pop);padding:10px 0;z-index:14}
.em-jobpop .jp-row{display:flex;gap:12px;padding:14px 20px}
.em-jobpop .reflg{width:44px;height:44px;border-radius:9px;flex:none;background-size:contain}
.em-jobpop .jp-t{font-weight:700;font-size:16px;margin:2px 0 8px}
.em-jobpop .jp-co{font-size:14px;color:var(--ink-2)}
.em-jobpop .jp-age{float:right;color:var(--mut);font-size:13px}
.em-jobpop .jp-meta{display:flex;gap:16px;color:var(--ink-2);font-size:13.5px;align-items:center}
.em-uppop{position:absolute;right:91px;bottom:92px;width:210px;background:#fff;border-radius:12px;box-shadow:var(--sh-pop);padding:8px 0;z-index:14}
.em-uppop .up-row{display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:15px}
.em-uppop .up-row.on{background:#EFF3FE;color:var(--brand)}
/* edit-availability modal */
.em-av-modal{width:1200px;padding:34px 40px}
.em-av-cols{display:grid;grid-template-columns:430px 1fr;gap:40px;margin-top:10px}
.em-av-h{font-family:var(--font-head);font-weight:800;font-size:19px;margin:0 0 6px}
.em-av-sub{color:var(--ink-2);font-size:14.5px;margin:0 0 16px}
.em-av-row{display:grid;grid-template-columns:44px 1fr 24px 1fr 34px 22px;gap:8px;align-items:center;margin-bottom:12px;font-size:15px}
.em-av-row b{font-weight:700}
.em-av-inp{border:1.5px solid #DDE2F0;border-radius:9px;padding:11px 12px;font-size:14.5px;text-align:center}
.em-av-plus{width:26px;height:26px;border-radius:7px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.em-av-x{color:var(--ink);display:inline-flex}
.em-av-un{color:var(--ink-2)}
.em-av-sec{border-top:1px solid var(--line);margin:18px 0 0;padding-top:18px}

/* ===== P1 T2-h: Admin Users (au-*) — additive, scoped. */
.au-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 40px;background:#EFF3FE;border-radius:12px;padding:20px 26px;margin:14px 0 26px}
.au-band .k{color:var(--ink-2);font-size:14px;margin-bottom:8px}
.au-band .v{font-weight:600;font-size:15.5px}
.au-eband{background:#EFF3FE;border-radius:12px;padding:16px 22px;margin:12px 0 20px}
.au-eband b{display:block;margin-bottom:4px}
.au-eband span{color:var(--ink-2);font-size:14.5px}
.au-logo-tile{width:96px;height:96px;border-radius:12px;background:#F5F7FE;display:flex;align-items:center;justify-content:center;margin:10px 0 18px}
.au-logo-tile .reflg{width:64px;height:64px;background-size:contain}
.au-cover{max-width:520px;border-radius:12px;background:linear-gradient(120deg,#FDF6DF,#F4D9A0);padding:36px 30px;text-align:center;margin:6px 0 18px}
.au-cover .t{font-family:var(--font-head);font-weight:800;font-size:20px;margin-bottom:8px}
.au-cover p{font-size:12.5px;color:var(--ink-2);margin:0}
.au-cover .play{width:34px;height:34px;border-radius:50%;background:rgba(20,22,40,.55);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin:10px 0 8px}
.au-doc{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-2)}
.au-doc .dn{font-weight:700;font-size:16px;margin-bottom:6px}
.au-doc .dd{color:var(--ink-2);font-size:14px}
.au-doc .ok{color:var(--up);display:inline-flex;align-items:center;gap:8px;font-weight:600}
.au-doc .rev{color:#C77414;display:inline-flex;align-items:center;gap:8px;font-weight:600}
.au-scard{border:1.5px solid var(--brand);background:linear-gradient(180deg,#FCFDFF 0%,#E1E9FB 100%);border-radius:14px;padding:24px;margin-bottom:22px}/* 1.6: gradient = the founder-approved .res-levelup precedent (line 1447), which matches the original visa cards' measured 180deg #FCFDFF->#E1E9FB; was a too-light 160deg wash. Button/outline untouched. */
.au-scard .t{font-family:var(--font-head);font-weight:800;font-size:20px;margin-bottom:8px}
.au-scard p{color:var(--ink-2);font-size:14.5px;margin:0 0 16px}
.au-chip{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-size:14px;margin-right:10px;background:#F5F6FA}
/* 1.8: Employer Requests approve/reject is a SEGMENTED PILL (✓|✗) whose halves are
   NEUTRAL by default and coloured by the ROW STATUS (mutually exclusive) — matches the
   original. Was two fixed-colour boxes (✓ always dark-ink, ✗ always red) that read as
   both-active on every row. */
.au-req{display:inline-flex;border:1.5px solid var(--line);border-radius:8px;overflow:hidden}
.au-req-half{width:38px;height:31px;display:inline-flex;align-items:center;justify-content:center;color:var(--mut)}
.au-req-half+.au-req-half{border-left:1.5px solid var(--line)}
.au-req-half.ok-on{color:var(--up);background:#EAF7EE}
.au-req-half.rej-on{color:#E5484D;background:#FDECEC}
/* 1.9: "Add group name" popover on Edit Plan - Candidate (was missing entirely). */
.af-wrap{position:relative}
.af-pop{position:absolute;top:84px;right:0;width:296px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-pop);padding:6px 0 8px;z-index:5}
.af-pop-top{display:flex;align-items:center;gap:10px;padding:14px 16px 12px}
.af-pop-inp{flex:1;border:1.5px solid #DDE2F0;border-radius:9px;padding:11px 14px;font-size:15px;color:var(--mut-2);background:#fff}
.af-pop-ok{width:42px;height:42px;flex:none;border:1.5px solid var(--brand);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand)}
.af-pop-item{padding:11px 18px;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.au-asmt{border:1px solid #D2D2D7;border-radius:12px;padding:20px 22px;display:flex;gap:20px;align-items:flex-start;margin-bottom:14px}/* 1.3: border colour = the ORIGINAL's measured card border (1px #D2D2D7, off Screening Pending/Done); was var(--line) #E7E9F2 which read as too-thin/faint */
.au-asmt .t{font-weight:700;font-size:16px;margin-bottom:6px}
.au-asmt p{color:var(--ink-2);font-size:14px;margin:0}
.au-asmt .right{margin-left:auto;text-align:right;flex:none}
.au-vsplit{display:grid;grid-template-columns:1fr 1px 1fr;gap:0 30px}
.au-vline{background:var(--line)}
.au-dense td{padding-top:11px!important;padding-bottom:11px!important}

/* ===== P1 T3 · Candidate CMS Pages (scoped cms-) — additive-only block ===== */
.cms-main{padding:26px 158px 60px}
.cms-h1{font-family:var(--font-head);font-size:44px;font-weight:800;letter-spacing:-.02em;margin:26px 0 24px}
.cms-h1c{font-family:var(--font-head);font-size:40px;font-weight:800;text-align:center;margin:30px 0 44px}
.cms-h2c{text-align:center;font-family:var(--font-head);font-size:34px;font-weight:800;margin:56px 0 36px}
.cms-chiprow{display:flex;align-items:center;gap:12px;margin:0 0 32px}
.cms-chips{display:flex;gap:12px;flex-wrap:wrap}
.cms-chip{background:#F3F4F8;border-radius:6px;padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--ink)}
.cms-search{margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:11px 14px;width:280px;color:#9AA0AC;font-size:14px;background:#fff}
.cms-card{border:1px solid var(--line);border-radius:10px;background:#fff}
.cms-cat{color:var(--brand);font-size:13.5px;font-weight:600;margin:0 0 8px;display:flex;align-items:center;gap:6px}
.cms-cat svg{color:#E8871E}
.cms-ct{font-size:16.5px;font-weight:700;line-height:1.45}
.cms-sub{color:var(--ink-2);font-size:14px;margin-top:8px;line-height:1.55}
.cms-gcard img{width:100%;object-fit:cover;border-radius:8px;display:block;margin-bottom:14px}
.cms-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 26px;margin:44px 0 30px}
.cms-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;margin:0 0 50px}
.cms-pager{display:flex;justify-content:center;align-items:center;gap:8px;margin:24px 0 20px;color:#9AA0AC}
.cms-pg{min-width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--ink-2)}
.cms-pg.on{background:var(--brand);color:#fff}
/* blogs listing */
.cms-feat{display:grid;grid-template-columns:415px 1fr;overflow:hidden;margin:2px 0 26px}
.cms-feat img{width:100%;height:100%;object-fit:cover;display:block}
.cms-feat-tx{padding:58px 36px}
.cms-feat-tx h2,.cms-big-tx h2,.cms-gfeat-tx h2{font-family:var(--font-head);font-size:25px;font-weight:800;line-height:1.35;margin:10px 0 12px}
.cms-feat-tx p,.cms-big-tx p,.cms-gfeat-tx p{color:var(--ink-2);font-size:15px;line-height:1.6;margin:0}
.cms-split{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:46px}
.cms-splcol{display:flex;flex-direction:column;gap:26px}
.cms-mini{display:grid;grid-template-columns:209px 1fr;overflow:hidden}
.cms-mini img{width:100%;height:100%;object-fit:cover;display:block}
.cms-mini>div{padding:20px 22px}
.cms-big img{width:100%;height:235px;object-fit:cover;display:block}
.cms-big-tx{padding:26px 30px 30px}
/* breadcrumb */
.cms-bc{display:flex;align-items:center;gap:8px;font-size:14px;padding:26px 158px 4px;color:var(--ink)}
.cms-bc.c{justify-content:center}
.cms-bc .cur{color:#9AA0AC}
.cms-bc svg{color:#9AA0AC;flex:none}
/* article pages */
.cms-article{width:902px;margin:0 auto;padding:6px 0 70px}
.cms-ahead{text-align:center;padding:26px 0 4px}
.cms-ahead .cms-cat{justify-content:center}
.cms-ahead h1{font-family:var(--font-head);font-size:33px;font-weight:800;line-height:1.35;margin:8px auto 14px;max-width:780px}
.cms-asub{font-size:16px;color:var(--ink);margin:0 0 12px}
.cms-upd{font-size:13px;color:#9AA0AC;margin-bottom:16px}
.cms-ahero{width:100%;border-radius:8px;display:block;margin:24px 0 36px}
.cms-article>p{font-size:15.5px;line-height:1.78;color:var(--ink);margin:0 0 26px}
.cms-article h3{font-family:var(--font-head);font-size:21px;font-weight:800;margin:34px 0 12px}
.cms-fade p{font-size:15.5px;line-height:1.78;color:var(--ink);margin:0 0 26px}
.cms-rel2 h2{font-family:var(--font-head);font-size:30px;font-weight:800;text-align:center;margin:52px 0 32px}
.cms-relrow{display:grid;grid-template-columns:1fr 1fr;gap:30px}
/* guide tint band + premium chip */
.cms-tintband{background:var(--tint-panel);padding:1px 0 236px;position:relative}
.cms-tintband+.cms-article{margin-top:-248px;position:relative}
.cms-tb-notch{position:absolute;inset:0;pointer-events:none}
.cms-tb-notch::before{content:"";position:absolute;left:0;top:0;width:89px;height:89px;background:#fff;border-bottom-right-radius:16px}/* R10 (P12): 89x89 MEASURED from the originals (Guest+Premium+GD all read 89x89/89x89); 88/86 family values retired — measured is the law */
.cms-tb-notch::after{content:"";position:absolute;right:0;bottom:0;width:89px;height:89px;background:#fff;border-top-left-radius:16px}/* R10 (P12): BR white bite 89x89 measured; radius 16 untouched per R8 */
.cms-premchip{display:inline-flex;align-items:center;gap:8px;border:1px solid #EBB98A;background:#FDF3EA;color:#B4690E;border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600}
.cms-premchip svg{color:#E8871E}
/* gated guides */
.cms-fade{-webkit-mask-image:linear-gradient(#000 0%,transparent 82%);mask-image:linear-gradient(#000 0%,transparent 82%)}
.cms-fade h3.ghost{margin-bottom:0}
.cms-gate{position:relative;text-align:center;padding:34px 0 6px}
.cms-gate h2{font-family:var(--font-head);font-size:22px;font-weight:800;margin:0 0 10px}
.cms-gate>p{font-size:15px;color:var(--ink-2);margin:0 0 28px}
.cms-gate-wm{position:absolute;left:50%;top:-30px;transform:translateX(-50%);width:300px;height:300px;background:var(--brand);opacity:.05;-webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat;pointer-events:none}
.cms-gate .gbtn{width:430px;margin:0 auto 16px}
.cms-gate .btn-primary{width:430px;margin:0 auto;display:flex;align-items:center;justify-content:center;height:54px;font-size:16px}
.cms-legal{font-size:13.5px;color:var(--ink-2);margin-top:20px}
.cms-legal span{color:var(--brand)}
/* career-guides blue band (our stepped-notch grammar + tiled elected arrow wm) */
.cms-band{background:var(--brand);color:#fff;text-align:center;margin:0 68px 0 66px;height:267px;box-sizing:border-box;padding:58px 20px 0;position:relative;overflow:hidden;border-radius:0}/* P8: band geometry per wm_cg.py MEASURED constants — inset 66/68, height 267 (was full-bleed h228) */
.cms-band .cms-notch.nt-tl{width:52px;height:53px;border-bottom-right-radius:12px}.cms-band .cms-notch.nt-br{width:52px;height:53px;border-top-left-radius:12px}/* P11 R7: 52x53 -> 12px */
.cms-hcband .cms-notch.nt-tl{width:89px;height:89px;border-bottom-right-radius:16px}.cms-hcband .cms-notch.nt-br{width:89px;height:89px;border-top-left-radius:16px}/* R10 closed out P13: 89x89 MEASURED (two-inset cross-check); radius 16 untouched per R8 */
.cms-band h1{font-family:var(--font-head);font-size:67px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;position:relative}/* P17 D5: original heading ink measures 46px tall vs 30px shipped at 44px font — 67px matches the measurement (render-verified) */
.cms-band p{color:#D9E3FD;font-size:15px;margin:0;position:relative}
.cms-band-wm{position:absolute;top:26px;bottom:26px;width:420px;background:url(arrow-nav-alpha.png) 0 0/34px 34px space;opacity:.25;filter:brightness(0) invert(1)}
.cms-band-wm.l{left:36px}
.cms-band-wm.r{right:36px}
/* featured guides */
.cms-featrow{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:0 0 58px}
.cms-gfeat{overflow:hidden}
.cms-gfeat img{width:100%;height:296px;object-fit:cover;display:block}
.cms-gfeat-tx{padding:30px 32px}
.cms-sidecol{display:flex;flex-direction:column;gap:14px}
.cms-scard{display:grid;grid-template-columns:162px 1fr;overflow:hidden;align-items:center}
.cms-scard img{width:100%;height:100%;min-height:94px;object-fit:cover;display:block}
.cms-scard>div{padding:16px 20px}
.cms-scard .cms-ct{font-size:15.5px}
.cms-sechead{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 26px}
.cms-sechead h2{font-family:var(--font-head);font-size:32px;font-weight:800;margin:0}
.cms-readall{color:var(--brand);font-weight:600;font-size:14.5px}
/* about us */
.cms-hero{background:var(--tint-panel);text-align:center;padding:172px 20px 148px;position:relative;overflow:hidden}
.cms-hero-in{max-width:780px;margin:0 auto;position:relative}
.cms-hero-in>svg{color:var(--brand)}
.cms-hero h1{font-family:var(--font-head);font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin:14px 0 18px}
.cms-hero-in>p{color:var(--ink-2);font-size:15.5px;line-height:1.65;margin:0 auto 28px;max-width:660px}
.cms-ctas{display:flex;gap:14px;justify-content:center}
.cms-chipcard{position:absolute;width:250px;background:#fff;border-radius:10px;box-shadow:0 14px 32px rgba(20,30,80,.10);padding:13px 15px;text-align:left;z-index:1}
.cms-chipcard b{font-size:12px;display:block}
.cms-chipcard .hc-row{display:flex;gap:8px;align-items:center;margin-top:9px}
.cms-chipcard .hc-row img{width:26px;height:26px;border-radius:50%}
.cms-chipcard .hc-dot{width:26px;height:26px;border-radius:50%;background:#E4E9F5;flex:none}
.cms-chipcard i{display:block;height:7px;border-radius:4px;background:#EDF1F8}
.cms-chipcard .b1{width:130px;margin-bottom:5px}
.cms-chipcard .b2{width:84px}
.cms-chipcard.tl{left:118px;top:66px;transform:rotate(-8deg)}
.cms-chipcard.tr{right:108px;top:58px;transform:rotate(7deg)}
.cms-chipcard.ml{left:148px;top:448px;transform:rotate(6deg)}
.cms-chipcard.mr{right:138px;top:436px;transform:rotate(-6deg)}
.cms-2col{display:grid;grid-template-columns:420px 1fr;gap:60px;padding:82px 170px 36px}
.cms-2col h2,.cms-csec h2,.cms-why h2,.cms-team h2{font-family:var(--font-head);font-size:36px;font-weight:800;letter-spacing:-.01em;margin:0}
.cms-2col-tx p{font-size:14.5px;line-height:1.7;margin:0 0 18px;color:var(--ink)}
.cms-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:58px 170px;text-align:center}
.cms-stat{border-left:1px solid var(--line)}
.cms-stat:first-child{border-left:0}
.cms-stat .n{font-family:var(--font-head);font-size:44px;font-weight:800}
.cms-stat .n span{color:var(--brand)}
.cms-stat .l{color:var(--ink-2);font-size:14px;margin-top:6px}
.cms-csec{text-align:center;padding:42px 170px 30px}
.cms-csec>p{color:var(--ink-2);font-size:14.5px;line-height:1.6;margin:14px auto 0;max-width:760px}
.cms-vid{position:relative;margin-top:38px}
.cms-vid img{width:100%;border-radius:10px;display:block}
.cms-why{background:var(--tint-panel);padding:72px 170px;margin-top:44px}
.cms-why-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:46px}
.cms-why-head p{color:var(--ink-2);font-size:14.5px;line-height:1.65;margin:0}
.cms-why-row{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.cms-why-card svg{color:var(--brand)}
.cms-why-card h3{font-family:var(--font-head);font-size:20px;font-weight:800;margin:16px 0 10px}
.cms-why-card p{font-size:13.5px;line-height:1.68;color:var(--ink-2);margin:0}
.cms-team{padding:82px 0 36px 170px}
.cms-team>p{color:var(--ink-2);font-size:14.5px;margin:14px 0 0}
.cms-team-rail{display:flex;gap:26px;margin-top:38px;overflow:hidden}
.cms-team-rail img{width:355px;height:367px;border-radius:12px;flex:none;object-fit:cover;display:block}
.cms-tnav{display:flex;gap:12px;margin-top:28px}
.cms-tnav span{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2)}
.cms-qrail{display:flex;gap:22px;margin-top:42px;justify-content:center;align-items:stretch;padding:8px 0}
.cms-qcard{flex:none;width:300px;border:1px solid var(--line);border-radius:12px;padding:24px;text-align:left;background:#fff}
.cms-qcard svg{color:#C9D2E4}
.cms-qcard.mid svg{color:var(--brand)}
.cms-qcard.mid{width:340px;background:var(--tint-panel);border-color:transparent}
.cms-qcard p{font-size:13.5px;line-height:1.62;color:var(--ink);margin:12px 0 20px}
.cms-qa{display:flex;gap:10px;align-items:center}
.cms-qa img{width:36px;height:36px;border-radius:50%}
.cms-qa b{display:block;font-size:13.5px}
.cms-qa span{font-size:12px;color:var(--ink-2)}
.cms-qdots{display:flex;gap:8px;justify-content:center;margin-top:28px}
.cms-qdots i{width:8px;height:8px;border-radius:99px;background:#D6DCEA}
.cms-qdots i.on{background:var(--brand);width:22px}
.cms-cta{margin:70px 170px 30px;background:var(--tint-panel);padding:66px 80px;position:relative;overflow:hidden}
.cms-cta-wm{position:absolute;left:72px;top:50%;transform:translateY(-50%);width:130px;height:130px;background:var(--brand);opacity:.2;-webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat}
.cms-cta-in{margin-left:244px;max-width:820px}
.cms-cta-in h2{font-family:var(--font-head);font-size:33px;font-weight:800;margin:0 0 12px}
.cms-cta-in p{color:var(--ink-2);font-size:15px;line-height:1.6;margin:0 0 26px}
.cms-cta-in .cms-ctas{justify-content:flex-start}
.cms-faq .mkt-faq{grid-template-columns:330px 1fr}
.cms-faq .mkt-faq h2{font-size:34px}
.cms-brands{width:100%;display:block;margin:26px 0 0}
/* help center */
.cms-hcband{background:var(--tint-panel);text-align:center;padding:76px 20px 92px;margin:0 68px;position:relative}
.cms-hcband h1{font-family:var(--font-head);font-size:44px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px}
.cms-hcband>p{color:var(--ink-2);font-size:15px;margin:0 0 34px}
.cms-hcsearch{display:flex;align-items:stretch;background:#fff;border-radius:12px;box-shadow:0 16px 36px rgba(20,30,80,.08);padding:12px;width:900px;margin:0 auto}
.cms-hcsearch .cms-search{flex:1;margin:0;border-radius:8px}
.cms-hcsearch .btn{margin-left:12px;padding:0 36px;display:flex;align-items:center}
.cms-pop{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:28px;font-size:14px}
.cms-pop .lab{color:var(--ink-2)}
.cms-pop .cms-chip{background:#fff;font-weight:500}
.cms-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 46px;margin:0 0 26px}
.cms-topic{display:flex;gap:16px;align-items:flex-start}
.cms-topic b{font-size:16.5px}
.cms-topic p{color:var(--ink-2);font-size:14px;line-height:1.6;margin:6px 0 0}
.cms-tile{flex:none;width:46px;height:46px;border-radius:10px;background:#EFF4FF;border:1px solid #D6E2FD;color:var(--brand);display:inline-flex;align-items:center;justify-content:center}
.cms-tile.big{width:54px;height:54px}
.cms-hl{display:grid;grid-template-columns:1fr 1fr;gap:0 46px;margin-bottom:36px}
.cms-hlrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 4px;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:600}
.cms-hlrow svg{color:var(--brand);flex:none}
/* hc category + article */
.cms-hctop{background:#fff;border-bottom:1px solid var(--line);padding:28px 0 36px}
.cms-hctop .cms-hcsearch{border:1px solid #EEF0F6;box-shadow:0 10px 28px rgba(20,30,80,.07)}
.cms-cathead{text-align:center;padding:44px 0 8px}
.cms-cathead h1{font-family:var(--font-head);font-size:38px;font-weight:800;margin:20px 0 12px}
.cms-cathead p{color:var(--ink-2);font-size:15px;margin:0}
.cms-accwrap{width:1000px;margin:28px auto 80px}
.cms-acc-h{font-family:var(--font-head);font-size:26px;font-weight:800;display:flex;justify-content:space-between;align-items:center;padding:26px 4px 18px;border-bottom:1px solid var(--line);margin-top:28px}
.cms-accwrap .cms-hlrow{font-weight:400;padding:23px 4px}
.cms-hcart{display:grid;grid-template-columns:1fr 320px;gap:64px;padding:44px 158px 80px;align-items:start}
.cms-hcart-main h1{font-family:var(--font-head);font-size:30px;font-weight:800;margin:0 0 32px}
.cms-hcart-main h3{font-size:17.5px;font-weight:700;margin:28px 0 10px}
.cms-hcart-main p{font-size:15px;line-height:1.7;margin:0 0 14px}
.cms-hcart-main ul{margin:0 0 14px;padding-left:24px}
.cms-hcart-main li{font-size:15px;line-height:1.85}
.cms-tip{color:#9AA0AC}
.cms-relbox{background:var(--tint-panel);border-radius:10px;padding:24px;position:relative;overflow:hidden}
.cms-relbox b{font-size:17px;display:block;margin-bottom:4px;position:relative}
.cms-relrow-i{padding:17px 0;border-bottom:1px solid #DDE4F5;font-size:14.5px;line-height:1.5;position:relative}
.cms-relrow-i:last-child{border-bottom:0;padding-bottom:6px}
.cms-rel-wm{position:absolute;right:28px;top:28px;width:70px;height:70px;background:var(--brand);opacity:.07;-webkit-mask:url(arrow-nav-alpha.png) center/contain no-repeat;mask:url(arrow-nav-alpha.png) center/contain no-repeat;transform:scaleX(-1)}/* P4: MEASURED off HC Article Details original — ink 70x68 contained, 28px from box TR, points down-LEFT (was 120px bleeding -18px, rotate180, invisible at .1) */

/* ===== P1 T3 · Admin Content CMS editors (scoped cc-) — additive-only ===== */
.cc-head{display:flex;align-items:center;gap:18px;margin:6px 0 6px}
.cc-head h1{margin:0}
.cc-head .sp{flex:1}
.cc-collapse{color:var(--brand);font-size:13.5px;font-weight:600}
.cc-sec{background:#EEF3FF;border-radius:8px;padding:13px 18px;font-family:var(--font-head);font-weight:700;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;margin:26px 0 2px}
.cc-sec svg{color:var(--ink-2)}
.cc-vis{display:flex;align-items:center;gap:8px;font-size:13px;margin:16px 0 0}
.cc-vis .switch,.cc-ft .switch{transform:scale(.72);transform-origin:left center;margin-right:-6px}
.cc-lab{font-size:12.5px;color:var(--ink);margin:16px 0 8px}
.cc-inp{border:1px solid #DDE2F0;border-radius:8px;padding:11px 14px;font-size:13.5px;color:var(--ink);background:#fff;min-height:43px;display:flex;align-items:center}
.cc-inp.cc-ta{display:block;line-height:1.65}
.cc-g2{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}
.cc-browse{display:flex;align-items:center;gap:14px}
.cc-browse .btn{padding:9px 22px;font-size:13.5px;color:var(--brand);border:1px solid #C7D6FB;background:#fff;border-radius:8px}
.cc-fn{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}
.cc-fn svg{color:var(--ink-2)}
.cc-fn .logom{color:var(--brand);display:inline-flex}
.cc-swatch{width:26px;height:14px;border-radius:3px;background:#0E1746;display:inline-block}
.cc-ft{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;margin:22px 0 0}
.cc-sub{font-family:var(--font-head);font-weight:700;font-size:14.5px;margin:24px 0 0}
.cc-link{color:var(--brand)}
/* add-forms · master · legal hub · activity log (same additive cc-/al- family) */
.cc-rte{border:1px solid #DDE2F0;border-radius:8px;overflow:hidden}
.cc-rte .bar{display:flex;gap:18px;align-items:center;padding:10px 14px;border-bottom:1px solid #E8ECF5;background:#FAFBFE;color:var(--ink-2);font-size:13px;flex-wrap:wrap}
.cc-rte .bar b,.cc-rte .bar i,.cc-rte .bar s{font-size:14px;width:16px;text-align:center}
.cc-rte .bar .sel{display:inline-flex;align-items:center;gap:6px;border:1px solid #E3E8F4;border-radius:6px;padding:4px 10px;font-size:12.5px;background:#fff}
/* P4: consumed-asset arrow tints — same filter law as .jc-cur (orange) / .ch-av (brand) */
.cms-premchip .mk-arrow,.cms-cat.prem .mk-arrow,.lh-prem .mk-arrow{filter:brightness(0) saturate(100%) invert(58%) sepia(60%) saturate(900%) hue-rotate(350deg)}
.cms-scb .mk-arrow{filter:brightness(0) invert(1)}
.cc-fn .logom .mk-arrow{filter:brightness(0) saturate(100%) invert(29%) sepia(94%) saturate(2476%) hue-rotate(216deg) brightness(97%) contrast(96%)}
.cms-premchip .mk-arrow,.cms-cat.prem .mk-arrow,.lh-prem .mk-arrow,.cms-scb .mk-arrow,.cc-fn .logom .mk-arrow{flex:none}
.cc-rte .bar .bardiv{width:1px;height:16px;background:#D8DEEC;flex:none}/* 1.7: tool-group separator, per the original */
.cc-rte .bar .ch{font-size:14.5px;font-weight:600;width:16px;text-align:center}
.cc-rte .bar .lbl{font-size:12.5px;font-weight:700;letter-spacing:.2px}
.cc-rte .body{height:230px;background:#fff}
.cc-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#F5F6FA;border-radius:6px;padding:8px 13px;font-size:13.5px;margin:0 10px 0 0}
.cc-chip svg{color:var(--ink-2)}
.cc-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 40px;margin-top:8px}
.cc-colh{font-family:var(--font-head);font-weight:800;font-size:17px;margin:14px 0 22px}
.tbl-sub{color:var(--ink-2);font-size:12.5px;margin-top:7px;display:flex;gap:10px;align-items:center}
.tbl-sub i{width:1px;height:12px;background:var(--line)}
.lh-prem{display:inline-flex;align-items:center;gap:7px}
.lh-prem svg{color:#E8871E}
.al-filters{display:flex;gap:24px;align-items:flex-end;margin:6px 0 34px}
.al-search{width:57px;height:57px;border-radius:10px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}
.al-row{display:grid;grid-template-columns:150px 40px 1fr;gap:0 22px;margin-bottom:30px}
.al-date{display:inline-block;width:100%;border:1px solid var(--line);border-radius:10px;padding:14px 0;text-align:center;font-weight:700;font-size:14.5px;background:#fff}
.al-mid{position:relative}
.al-dot{position:absolute;left:50%;top:16px;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--brand);border:3.5px solid #C9D8FB}
.al-line{position:absolute;left:50%;top:34px;bottom:-46px;width:1.5px;background:#E3E8F4}
.al-events{background:#EEF3FF;border-radius:10px;padding:12px 26px}
.al-ev{display:flex;gap:34px;padding:14px 0;font-size:14.5px;align-items:baseline}
.al-ev .t{color:var(--ink-2);flex:none;width:70px;font-size:14px}

/* ===== FIX-16 (founder eye-gate pass) — every selector below reaches ONLY the
   named failed frames via opt-in marker classes (jsk-fx / jsk-fxb / jsk-imfx /
   tp-fx / chat-dock / jaf-fx / lr variants). Additive-only. ===== */
/* Employer/Jobs jsk (5): timeline dots — filled dot beside avatar/logo, line
   runs between the dots (original placement) */
.jsk-fx .jds-tl-mark,.jds-tl-fx .jds-tl-mark{flex-direction:row;align-items:flex-start;gap:14px;width:76px}
.jsk-fx .jds-tl-dot,.jds-tl-fx .jds-tl-dot{display:block;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px #DCE7FD;margin-top:17px;position:relative;z-index:1}
.jsk-fx .jds-timeline::before,.jds-tl-fx::before{left:62px;top:24px;bottom:230px} /* .jds-tl-fx (event-8): same dot treatment opt-in per timeline, not per frame — line ends at the LAST dot; both timelines end on the same card so one bottom serves */
.jds-tl-joff::before{bottom:228px} /* event-14: Candidate/Jobs Job offer — line ends at the Sprig dot (DOM-measured: container 890.6, dot2 center 662.6) */
/* named darkenings (First Job Offer + Job Offer List only) */
.jsk-fxb .field .inp{border-color:#B9C2D8}
.jsk-fxb .btn-outline{border-color:#9DB6F7}
.jsk-fxb .jds-counter{border-color:#9DB6F7}
.jsk-fxb .jds-decline{border-color:#E9A9A9}
.jsk-fxb .jds-dlb{border-color:#9DB6F7}
.jsk-fxb .jds-offer{border-color:#C3CADB}
/* dashed dropzone: KEEP DASHED — darker, much tighter (gradient dashes; the
   shared .cp-dropzone stays untouched) */
.jsk-fxb .jsk-dz{border:none;border-radius:14px;background-image:
 repeating-linear-gradient(90deg,#8E9BBD 0 7px,transparent 7px 12px),
 repeating-linear-gradient(90deg,#8E9BBD 0 7px,transparent 7px 12px),
 repeating-linear-gradient(0deg,#8E9BBD 0 7px,transparent 7px 12px),
 repeating-linear-gradient(0deg,#8E9BBD 0 7px,transparent 7px 12px);
 background-position:0 0,0 100%,0 0,100% 0;
 background-size:100% 1.6px,100% 1.6px,1.6px 100%,1.6px 100%;
 background-repeat:no-repeat}
/* Immigration Empty only: button gap + equal heights + filled Saved bookmark */
.jsk-imfx .jsk-dlchk{display:flex;gap:14px;align-items:stretch}
.jsk-imfx .jsk-dlchk .btn{height:48px;display:inline-flex;align-items:center;box-sizing:border-box}
.jsk-imfx .jsk-mss span:last-child svg{fill:currentColor}
/* T&P (4 named frames): Filters matches Add + kebab size and aligns; named
   outline darkenings; matrix section-row columns realigned to header/rows;
   unchecked matrix checkboxes darkened */
/* P6 (L4, 2026-07-13): the founder-gated fix-16 toolbar geometry PROMOTED TO BASE —
   every .tp-toolbar (admin au_toolbar + employer tp_toolbar) now gets the equal-52px
   treatment the eye passed on the 4 T&P frames. The .tp-fx marker stays in those
   frames' markup as a vestige; its toolbar rules live here now (values unchanged
   byte-for-byte, so the fx frames render pixel-identical). fx-only darkenings below. */
.tp-toolbar .select{height:52px;box-sizing:border-box;padding:0 22px;border:1.5px solid #9DB6F7;border-radius:12px;color:var(--brand);font-weight:600;font-size:15px}
.tp-toolbar .btn-primary{height:52px;box-sizing:border-box;display:inline-flex;align-items:center}
.tp-toolbar .tp-kebab{border-color:#9DB6F7}
.tp-fx .jm-search{border-color:#B9C2D8}
.tp-fx .tablecard{border-color:#C3CADB}
.tp-fx .tp-mx{border-color:#C3CADB}
.tp-fx .tp-mx-sec{padding:14px 10px}
.tp-fx .tp-ck.off{border-color:#94A1C0}
/* LR Pricing (2 named frames): banner = APPROVED lighter-blue treatment
   (brand fill · white button · light watermark arrow); card border lines +
   right-card outline button made visible. Employer band/cards untouched. */
.mkt-cta.lrb{background:var(--brand)}
.mkt-cta.lrb .mkt-cta-in p{color:#D8E3FC}
.mkt-cta.lrb .btn-primary{background:#fff;color:var(--brand)}
.mkt-cta.lrb .mkt-cta-wm{filter:brightness(0) invert(1);opacity:.32}
.lr-planfx{border-color:#C3CADB}
.lr-planfx .plan{border-color:#C3CADB}
.lr-planfx .btn-outline{border:1.5px solid #9DB6F7;color:var(--brand)}
/* Candidate results variants (3 named frames): white Save on the warm
   featured card (was blending into the beige fill) */
.jaf-fx .jcard.warm .jc-save{background:#fff}
/* Chat with us (2 named frames): dock the widget bottom-right like a chat
   widget (frozen .chatw base untouched — affiliate chat keeps its position) */
.chat-dock .chatw{top:auto;bottom:0}

/* ===== FIX-4 (founder re-gate of the fix-16 frames) — same opt-in marker
   discipline as FIX-16 above; every selector reaches ONLY named frames. ===== */
/* LR Pricing Default only (lr-togfx on the .mkt-toggle wrapper): rebuilt
   segmented toggle — EQUAL-width/height segments via 1fr/1fr grid, gap keeps
   them separated (no overlap, no fade-through), active keeps the brand fill */
.lr-togfx .pr-toggle{display:inline-grid;grid-template-columns:1fr 1fr;gap:5px}
.lr-togfx .pr-toggle span{display:flex;align-items:center;justify-content:center;padding:8px 30px}
/* Job Offer List only (jsk-svfx): filled Saved bookmark — same fill already
   shipped on Immigration Empty via jsk-imfx */
.jsk-svfx .jsk-mss span:last-child svg{fill:currentColor}
/* CHIP-CARD RULE (the 5 fx jsk frames — wrapper emitted only with fx): the
   "Open to work · 132 IQ · 6 weeks" header row sits inside ONE outlined card
   at our card radius — never three separate outlines */
.jsk-chipcard{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:14px}
.jsk-chipcard .cpp-otw,.jsk-chipcard .cpp-wk{border:none;border-radius:0;padding:8px 14px}

/* ===== FIX-CMS6 (founder eye-gate pass: Candidate CMS + Admin Content) — same
   opt-in marker discipline as FIX-16/FIX-4 above. Every selector reaches ONLY
   the 5 named frames (About Us / Blogs Listing / Career Guides Listing / Help
   center / Admin Content) via markers their builders emit. Additive-only. ===== */
/* G6 — ROUNDED-NOTCH treatment from the ELECTED home banner (mocks/final-home
   .mkt-ctaband + .cta-notch/.cn-*): notch SHAPE kept exactly where it was; the
   razor clip-path is swapped for overlay notch squares whose inner corner
   carries the banner's 18px radius; inset bands get the banner's 20px outer
   radius. Marker: cms-nfx on the band + cms-notch spans in its markup. */
.cms-nfx{clip-path:none}
.cms-cta.cms-nfx,.cms-hcband.cms-nfx{border-radius:20px}
.cms-notch{position:absolute;background:#fff;z-index:4}
.cms-notch.nt-tl{left:0;top:0;width:40px;height:40px;border-bottom-right-radius:8px}/* P11 R7: base 40x40 -> 8px (every live consumer overrides size+radius; kept coherent) */
.cms-notch.nt-br{right:0;bottom:0;width:40px;height:40px;border-top-left-radius:8px}
/* FIX-UP3 (founder eye-gate 2026-07-13): the CTA notch was NOT DEEP ENOUGH —
   the About Us mock's corner cut measures 71x71 (band 1363x339). Depth only;
   the 18px inner-corner radius above is untouched; band/HC notches stay 40px. */
.cms-cta.cms-nfx .cms-notch.nt-tl{width:71px;height:71px;border-bottom-right-radius:12px}.cms-cta.cms-nfx .cms-notch.nt-br{width:71px;height:71px;border-top-left-radius:12px}/* P11 R7: 71x71 -> 12px */
/* G7 — search-box outlines darkened to the already-shipped tp-fx/jsk-fxb weight
   (Blogs / Career Guides / Help center ONLY — HC Category + HC Article keep the
   frozen weight, so the marker rides the label, never the shared class) */
.cms-search.cms-sfx{border-color:#B9C2D8}
/* G8 — Career Guides band watermark rebuilt to the ORIGINAL's clustered tiling:
   24px glyphs on a 36px pitch, 1-col/3-col/2-col clusters mirrored both sides,
   7 rows from 16px under the band top; the step notches occlude the edge
   columns exactly as the original's steps crop theirs. Asset byte-identical
   (arrow-nav-alpha.png), recolour-only per the standing arrow law. */
/* FIX-UP3 (founder eye-gate 2026-07-13): glyph size re-measured off the mock —
   ink is 26-27px, ours rendered 19px (the asset pads ink to 19/24 of its box).
   Box 24 -> 33.5px puts ink at 26.5px.
   FIX-UP4: selector GATED under the band marker (was naked — audit finding);
   lattice re-derived for the 33.5px box lives in band_wm() (build_p1_cms.py). */
.cms-nfx .cms-bwm{position:absolute;width:33px;height:33px;background:url(arrow-nav-alpha.png) center/contain no-repeat;filter:brightness(0) invert(1);opacity:.25}/* P8: box 33 = measured ink 26 x 24/19 asset padding, per wm_cg.py */
/* G8 — About CTA watermark arrow to the ORIGINAL's treatment: ~101px visible
   ink anchored top-left (75px,73px from the band corner), ~7% brand over the
   tint band (130px contain-box → ink offset ~14px, so box sits at 61/59) */
.cms-cta.cms-ctafx .cms-cta-wm{left:61px;top:59px;transform:none;width:130px;height:130px;opacity:.07}
/* About hero — the LOGO ARROW is the brand ASSET (never drawn); elected brand
   recolour (same filter law as .ch-av .mk-arrow) */
.cms-harr{filter:brightness(0) saturate(100%) invert(29%) sepia(94%) saturate(2476%) hue-rotate(216deg) brightness(97%) contrast(96%);margin-bottom:10px}
/* About hero — REAL consumed job card (Sprig · Software Engineer, Fullstack
   (AI), same registry pieces as the candidate jcard: reflg logo asset, jc-*,
   jd-meta glyphs) + REAL mini search cards; placeholder bars retired */
.cms-jobcard{width:330px;padding:15px 17px}
.cms-jobcard .cms-jc-age{position:absolute;right:15px;top:13px;color:var(--mut);font-size:11.5px}
.cms-jobcard .jc-row{display:flex;gap:10px;align-items:center}
.cms-jobcard .jc-logo{width:36px;height:36px;border-radius:8px;font-size:10px}
.cms-jobcard .jc-co{font-size:11.5px;color:var(--ink-2)}
.cms-jobcard .jc-title{font-size:13.5px;font-weight:700;margin-top:2px}
.cms-jobcard .jd-meta{font-size:11px;margin-top:9px;gap:5px}
.cms-jobcard .jd-meta svg{width:12px;height:12px}
.cms-jobcard .cms-jc-acts{display:flex;align-items:center;gap:8px;margin-top:11px}
.cms-jobcard .cms-jc-acts .btn-primary{font-size:11px;padding:7px 13px;border-radius:8px;gap:5px}
.cms-jobcard .cms-jc-acts .btn-primary svg{width:11px;height:11px}
.cms-jc-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:11px;font-weight:600;color:var(--ink-2)}
.cms-jc-chip svg{width:12px;height:12px}
.cms-srchcard{width:250px}

/* ===== FIX-UP3 (founder eye-gate pass 2026-07-13) — same opt-in marker
   discipline as FIX-16/FIX-4/FIX-CMS6 above. Every selector reaches ONLY the
   5 named frames (Admin/Content About us / Become an Employer / Become an
   Affiliate + Candidate/CMS Career Guides Listing / About Us) via markers
   their builders emit. Additive-only. ===== */
/* Admin/Content editors: Browse-row thumbnail = the ORIGINAL's real upload
   thumb, consumed 1:1 at native size (assets/cc-thumbs/, extracted verbatim
   from the source mocks — never redrawn, never substituted). */
.cc-th{display:block;flex:none}
/* Career Guides Listing: the ORIGINAL's blue bottom-edge wash on every image
   card, measured off the mock — linear ramp over the bottom 21% of the image
   (38px of a 180px grid card, 30px of a 157px sidecol card), transparent ->
   rgba(45,84,200,.8). The colour is the wash already baked into the consumed
   featured asset (couple-laptop), so all cards on the frame agree. */
.cms-imwrap{position:relative;display:block}
.cms-scard .cms-imwrap{height:100%}
.cms-imw{position:absolute;left:0;right:0;bottom:0;height:21%;background:linear-gradient(180deg,rgba(45,84,200,0),rgba(45,84,200,.8));border-radius:0 0 8px 8px;pointer-events:none}
.cms-srchcard b{font-size:12.5px}
.cms-scf{display:flex;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid var(--line)}
.cms-scf svg{color:var(--mut);flex:none;width:14px;height:14px}
.cms-scf i{display:block;font-style:normal;font-size:10px;font-weight:700;color:var(--ink)}
.cms-scf span{display:block;font-size:10.5px;color:var(--mut);margin-top:2px}
.cms-scb{width:100%;margin-top:11px;font-size:12px;padding:9px 0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px}
.cms-scb svg{width:12px;height:12px}
