/*
 * The DARK THEME for the agent portal (the new look only). GENERATED by tools/build-dark.mjs from every page's own CSS, admin.css and the kit stylesheets, plus the
 * hand-written tools/dark-extra*.css: do not edit by hand, run `node tools/build-dark.mjs` (a test fails when this file is out of date). Every rule is scoped to
 * html[data-ui="2"][data-theme="dark"], so nothing here applies in the light theme or to a browser that opted out of the new look. Wrapped in @media screen: a printout stays light.
 */
@media screen {
html[data-ui="2"][data-theme="dark"] {
  color-scheme: dark;
  --dk-bg: #0a191e;
  --dk-bg-2: #0e2229;
  --dk-surface: #12272f;
  --dk-surface-2: #17323b;
  --dk-surface-3: #1e3d48;
  --dk-strong: #eaf5f6;
  --dk-text: #dfecee;
  --dk-muted: #9bb3b9;
  --dk-faint: #6f898f;
  --dk-line: #263f48;
  --dk-line-2: #365560;
  --dk-primary: #24808e;
  --dk-primary-deep: #1b6874;
  --dk-teal: #8acdd1;
  --dk-teal-deep: #5fb0b6;
  --dk-teal-tint: #163a42;
  --dk-good: #6fd39a;
  --dk-good-bg: #15331f;
  --dk-good-solid: #2b8a57;
  --dk-bad: #ff9d94;
  --dk-bad-bg: #3b1d1c;
  --dk-bad-solid: #c4483f;
  --dk-warn: #ffc9a8;
  --dk-warn-bg: #3b2a17;
  --dk-amber: #f2c36b;
  --dk-amber-bg: #3a2d12;
  --navy: var(--dk-primary);
  --navy-deep: var(--dk-primary-deep);
  --ink: var(--dk-text);
  --grey: var(--dk-muted);
  --line: var(--dk-line);
  --teal: var(--dk-teal);
  --teal-deep: var(--dk-teal-deep);
  --teal-tint: var(--dk-teal-tint);
  --teal-ink: var(--dk-teal);
  --warn-bg: var(--dk-warn-bg);
  --warn-ink: var(--dk-warn);
  --warn-fg: var(--dk-warn);
  --good: var(--dk-good);
  --good-bg: var(--dk-good-bg);
  --bad: var(--dk-bad);
  --bad-bg: var(--dk-bad-bg);
  --amber: var(--dk-amber);
  --amber-bg: var(--dk-amber-bg);
  --paper: var(--dk-bg);
  --k-ink: var(--dk-text);
  --k-grey: var(--dk-muted);
  --k-line: var(--dk-line);
  --k-line-2: var(--dk-line-2);
  --k-teal-tint: var(--dk-teal-tint);
  --k-teal-ink: var(--dk-teal);
  --k-teal-deep: var(--dk-teal-deep);
  --k-good: var(--dk-good);
  --k-good-bg: var(--dk-good-bg);
  --k-warn-ink: var(--dk-warn);
  --k-warn-bg: var(--dk-warn-bg);
  --k-danger: var(--dk-bad);
  --k-danger-bg: var(--dk-bad-bg);
  --k-amber: var(--dk-amber);
  --k-amber-bg: var(--dk-amber-bg);
  --k-shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 28px -18px rgba(0, 0, 0, .7);
  --k-shadow-2: 0 2px 4px rgba(0, 0, 0, .35), 0 26px 46px -24px rgba(0, 0, 0, .8);
  --k-shadow-3: 0 6px 14px rgba(0, 0, 0, .4), 0 46px 90px -32px rgba(0, 0, 0, .9);
}

/* ---- my-application.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] header a { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] section.card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] section.card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .closed-note { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .milestone { border-top-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .milestone.done .dot { background-color: var(--dk-good-solid); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .milestone.pending .dot { background-color: var(--dk-surface-2); background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .milestone.done { color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .milestone.pending { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .field label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .field input[type=text] { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .saved-note { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .badge-status { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .booked-note { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .muted { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .mini-progress { background-color: var(--line); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .mini-fill { background-color: var(--teal-deep); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] footer { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero { background-color: var(--dk-surface); background-image: none; border-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero .nh-kicker { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero p { color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero .nh-after { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action { background-color: var(--dk-primary); background-image: none; border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action .nh-kicker { color: var(--teal); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action h2,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action p { color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action p { color: #dcecee; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action .btn { background-color: var(--teal); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.action .nh-after { color: #a9c8cd; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.done { border-color: var(--good); background-color: var(--good-bg); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.done .nh-kicker { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.closed { border-color: #e6c8bf; background-color: var(--warn-bg); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .next-hero.closed .nh-kicker { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch { background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch li { border-top-color: var(--line); color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch .lk { background-color: var(--dk-surface-2); background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch li.done .lk { background-color: var(--dk-good-solid); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch li.info .lk { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch .lt { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .launch .ld { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .tz-note { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .week-nav button { background-color: var(--dk-surface); background-image: none; border-color: var(--line); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .week-nav .week-label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .day-header { color: var(--dk-strong); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .day-header .today-mark { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .day-slots { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .day-slot-btn { background-color: var(--dk-surface); background-image: none; border-color: var(--line); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .day-slot-btn:hover { border-color: var(--teal-deep); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .day-empty { color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .schedule-description { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .confirm-panel .slot-recap { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .confirm-actions .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .success-check { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .success-panel h3 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .success-panel .recap { color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-home"] .success-panel .email-note { color: var(--grey); }

/* ---- my-training.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] header nav a { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] section.card,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .closed-note { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .progress-head { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .bar { background-color: var(--line); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .bar-fill { background-color: var(--teal-deep); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .all-done { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .group-label { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod-head { background-color: transparent; background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod-head:hover { background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod-head:focus-visible,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les:focus-visible,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard:focus-visible,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow:focus-visible,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .btn:focus-visible,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tab:focus-visible { outline-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod.current > .mod-head { background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod-num { background-color: var(--dk-surface-2); background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod.started .mod-num { background-color: var(--teal); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod.done .mod-num { background-color: var(--dk-good-solid); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mod-meta { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .chev { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lessons { border-left-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les { background-color: transparent; background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les:hover { background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les.active { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); box-shadow: inset 3px 0 0 var(--navy); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .dot { background-color: var(--dk-surface-2); background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les.started .dot,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow.started .dot { background-color: var(--teal); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les.done .dot,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow.done .dot { background-color: var(--dk-good-solid); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .les-time { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mini-bar { background-color: var(--line); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mini-bar > i { background-color: var(--teal-deep); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .done .mini-bar > i { background-color: var(--dk-good-solid); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .stage h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .crumbs { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .linkbtn { background-color: transparent; background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .linkbtn:focus-visible { outline-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero .kicker { color: var(--teal); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero h2 { color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero p { color: #cfe7ea; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero .btn { background-color: var(--teal); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard { background-color: var(--dk-surface); background-image: none; border-color: var(--line); color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard:hover { border-color: var(--teal-deep); box-shadow: 0 2px 10px rgba(9, 49, 63, .07); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard.current { border-color: var(--dk-primary); box-shadow: inset 0 0 0 1px var(--navy); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard-title { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard-sum { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard-foot { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .chip { background-color: var(--dk-surface-2); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .chip.done { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .chip.progress { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .modhead-sum { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow { background-color: var(--dk-surface); background-image: none; border-color: var(--line); color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow:hover { border-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow-text { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow-sub { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow.done .lrow-sub { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow-go { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lesson-nav .btn.secondary { background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .nextup { background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .nextup b { color: var(--dk-strong); }
@media (max-width: 899px) {
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"].in-lesson .mobile-bar { background-color: var(--dk-surface); background-image: none; border-top-color: var(--line); box-shadow: 0 -4px 16px rgba(9, 49, 63, .08); }
}
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .sheet-back { background-color: rgba(6, 34, 44, .45); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .sheet { background-color: var(--dk-surface); background-image: none; box-shadow: 0 -8px 30px rgba(9, 49, 63, .25); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .sheet-top { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tabs { border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tab { background-color: transparent; background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tab:hover { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tab[aria-selected="true"] { color: var(--dk-strong); border-bottom-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .here-card { background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .here-card b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .pm-mod { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .pm-mod.current { border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .pm-top { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .pm-state { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .pm-mod.done .pm-state { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .pm-mod.done .bar-fill { background-color: var(--dk-good-solid); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .new-tag { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .retrain-note { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .video-frame { background-color: #000; background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .watch-hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .watch-hint.error { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .complete-row { border-top-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .done-badge { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .time-advice { color: var(--ink); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .time-advice b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lesson-meta { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .receipt { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .receipt-tick { background-color: var(--dk-good-solid); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .receipt-sub { color: #d0dfd6; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .complete-note { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .agreement-intro { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .agreement-body { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .agreement-version { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .sign-field label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .sign-field input[type=text] { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .sign-error { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] footer { color: var(--grey); }

/* ---- my-details.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] header nav a { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .lead { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .card .hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field input[type=tel],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field select { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field input:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field select:focus { border-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field.invalid input,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field.invalid select { border-color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .field .msg { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .notice.changes { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .notice.good { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .notice.wait { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .photo-preview { border-color: var(--teal); background-color: var(--dk-surface-2); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .photo-empty { border-color: var(--line); color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] details.pp-box { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] details.pp-box > summary { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] details.pp-box[open] > summary { border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .photo-check.ok { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .photo-check.warn { background-color: #463b1e; background-image: none; color: #f0e8d2; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .doc-block { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .doc-block h3 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .doc-status { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .doc-status.ok { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .doc-status.err { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .doc-status a { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .savebar { background-color: rgba(23, 50, 59, 0.95); background-image: none; border-top-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .save-state { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .save-state.err { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .needed-card { border-color: #e9b8ab; background-color: var(--warn-bg); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .needed-card h2 { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .needed-card a { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] dl.summary dt { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] footer { color: var(--grey); }

/* ---- my-contract.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] header nav a { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .closed-note { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .good-note { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .intro { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .agreement-body { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .agreement-body h3 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .resign-note { background-color: var(--teal-tint); background-image: none; border-color: var(--teal); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .fields-box { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .fields-box h3 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .fields-box .why { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .field textarea { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .field .hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .party { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .party img { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .party .who { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .party .who b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .party .tag { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .read-hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .read-hint.done { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .version { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .field label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .field input[type=text] { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .sig-wrap { border-color: var(--teal-deep); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .sig-line { border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .sig-x { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .sig-tools span { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] .sign-error { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-contract"] footer { color: var(--grey); }

/* ---- my-profile.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .lead { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .card .hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .who img,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .who .noimg { background-color: var(--dk-surface-2); background-image: none; border-color: var(--teal); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .who .noimg { color: var(--dk-strong); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .who .mail { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .chip { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .chip.good { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] dl.grid dt { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .group { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .field label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .field input[type=text] { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .field input:focus { border-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .saved-note { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .note { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .note.warn { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .dash-msg { background-color: #232f33; background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .dash-msg a { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .dash-subject { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-form { border-color: var(--line); background-color: #232f33; background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-form p { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-form textarea { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-warn { background-color: #4d3b1f; background-image: none; color: #ebd9c3; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-item { border-top-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-item b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-status.open { color: #ebd9c3; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .pv-status.completed { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] footer { color: var(--grey); }

/* ---- badge-submit.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .subtitle { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] section.card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .field label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .field input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .field select { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .photo-drop { border-color: var(--line); color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .photo-drop:hover { border-color: var(--teal-deep); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .photo-preview { border-color: var(--teal); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .error-note { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .notice.rejected { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] .notice.pending { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] #stateScreen p,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] #successScreen p { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-badge"] footer { color: var(--grey); }

/* ---- test.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] { background-color: var(--dk-surface); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] header .headline .kicker { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] header .headline h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .progress-track { background-color: var(--line); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .progress-fill { background-color: var(--teal-deep); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .progress-label { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-kicker { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-question { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage input[type=email] { border-bottom-color: var(--line); color: var(--ink); background-color: transparent; background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage input:focus { border-bottom-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-select { border-bottom-color: var(--line); color: var(--ink); background-color: transparent; background-image: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c7079' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-select:focus { border-bottom-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-select:invalid { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage textarea { border-color: var(--line); color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage textarea:focus { border-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .opt { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .opt:hover { border-color: var(--teal-deep); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .opt.selected { border-color: var(--dk-primary); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .opt .badge { border-color: var(--line); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .opt.selected .badge { background-color: var(--dk-primary); background-image: none; border-color: var(--dk-primary); color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .btn.teal { background-color: var(--teal-deep); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .btn-back { background-color: transparent; background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .btn-back:hover { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .key-hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .key-hint kbd { background-color: var(--teal-tint); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .stage-error { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .callout { background-color: var(--teal-tint); background-image: none; border-left-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .callout.warn { background-color: var(--warn-bg); background-image: none; border-left-color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .callout strong { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .callout.warn strong { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] section.result { background-color: var(--dk-surface); background-image: none; box-shadow: 0 1px 4px rgba(9,49,63,0.07); border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] h2 { color: var(--dk-strong); border-bottom-color: var(--teal); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .score-box { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .score-box .big { color: var(--teal); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .summary-box { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .copied-note { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate { border-color: var(--teal); background-image: linear-gradient(180deg, var(--dk-surface) 0%, var(--teal-tint) 100%); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate .cert-kicker { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate h3 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate .cert-name { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate .cert-line { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate .cert-meta { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate .cert-meta > div { border-left-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .certificate .cert-meta strong { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .booking-card p { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] footer { color: var(--grey); }

/* ---- interview-pick.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] header .who { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .lede { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .note.good { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .note.warn { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .note.info { background-color: var(--teal-tint); background-image: none; color: var(--teal-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .field label,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .field .lbl { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .field .hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] input[type=email],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] textarea,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] select { border-color: var(--line); background-color: var(--dk-surface); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] input:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] textarea:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(138,205,209,.3); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .err { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .kv dt { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] footer { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .slot { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .slot:hover { border-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .slot:has(input:checked) { border-color: var(--teal-deep); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .slot:has(input:focus-visible) { outline-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .slot b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-interview"] .big { color: var(--dk-strong); }

/* ---- scorecard.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] header .who { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .lede { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .note.good { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .note.warn { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .note.info { background-color: var(--teal-tint); background-image: none; color: var(--teal-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .field label,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .field .lbl { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .field .hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] input[type=email],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] textarea,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] select { border-color: var(--line); background-color: var(--dk-surface); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] input:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] textarea:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(138,205,209,.3); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .err { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .kv dt { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] footer { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .who-line { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .crit { border-top-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .crit .nm { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .crit .guide { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .rates label { border-color: var(--line); background-color: var(--dk-surface); background-image: none; color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .rates label b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .rates label:has(input:checked) { border-color: var(--teal-deep); background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .rates label:has(input:focus-visible) { outline-color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .app-answer b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-scorecard"] .rules { background-color: var(--teal-tint); background-image: none; color: var(--teal-ink); }

/* ---- offer.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] header { background-color: var(--dk-surface); background-image: none; border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] header .who { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .lede { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .card { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .card h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .note.good { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .note.warn { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .note.info { background-color: var(--teal-tint); background-image: none; color: var(--teal-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .field label,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .field .lbl { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .field .hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] input[type=email],
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] textarea,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] select { border-color: var(--line); background-color: var(--dk-surface); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] input:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] textarea:focus,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(138,205,209,.3); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .err { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .kv dt { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] footer { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .letter { border-color: var(--line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .read-hint { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .read-hint.done { color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .sig-wrap { border-color: var(--teal-deep); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .sig-line { border-bottom-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .sig-x { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .sig-tools span { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-offer"] .deadline { background-color: #44381d; background-image: none; color: #e7ddc6; }

/* ---- book-interview.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] #screen { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] #screen h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] #screen p { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] #screen input { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .error { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .countdown { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .booked-note { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] footer { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .tz-note { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .week-nav button { background-color: var(--dk-surface); background-image: none; border-color: var(--line); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .week-nav .week-label { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .day-header { color: var(--dk-strong); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .day-header .today-mark { color: var(--teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .day-slots { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .day-slot-btn { background-color: var(--dk-surface); background-image: none; border-color: var(--line); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .day-slot-btn:hover { border-color: var(--teal-deep); background-color: var(--teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .day-empty { color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .schedule-description { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .confirm-panel .slot-recap { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .confirm-actions .btn.secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); border-color: var(--dk-primary); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .success-check { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .success-panel .recap { color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-booking"] .success-panel .email-note { color: var(--grey); }

/* ---- respond-invite.html ---- */
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] { background-color: var(--dk-surface-2); background-image: none; color: var(--ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] #screen { background-color: var(--dk-surface); background-image: none; border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] #screen h1 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] #screen p { color: var(--grey); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] .slot-recap { background-color: var(--teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] textarea { border-color: var(--line); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] .btn { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] .btn.decline { background-color: var(--dk-bad-solid); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] .error { color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] .status-note.accepted { background-color: var(--good-bg); background-image: none; color: var(--good); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] .status-note.declined { background-color: var(--warn-bg); background-image: none; color: var(--warn-ink); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-respond"] footer { color: var(--grey); }

/* ---- inline colours ---- */
html[data-ui="2"][data-theme="dark"] [style^="color: rgb(179, 38, 30)"],
html[data-ui="2"][data-theme="dark"] [style*=" color: rgb(179, 38, 30)"],
html[data-ui="2"][data-theme="dark"] [style*=";color: rgb(179, 38, 30)"] { color: #d9aca9 !important; }

/* ---- kit.css ---- */
html[data-ui="2"][data-theme="dark"] .k-layer { color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-backdrop { background-color: rgba(6, 34, 44, .46); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-kbd { border-color: var(--k-line); background-color: #283636; background-image: none; color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-primary { background-color: var(--dk-primary); background-image: none; color: #fff; box-shadow: 0 10px 20px -12px rgba(9, 49, 63, .8); }
html[data-ui="2"][data-theme="dark"] .k-primary:hover:not(:disabled) { background-color: var(--dk-primary-deep); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-secondary { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); box-shadow: inset 0 0 0 1.5px var(--k-line-2); }
html[data-ui="2"][data-theme="dark"] .k-secondary:hover:not(:disabled) { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-danger { background-color: var(--dk-bad-solid); background-image: none; color: #fff; box-shadow: 0 10px 20px -12px rgba(179, 38, 30, .8); }
html[data-ui="2"][data-theme="dark"] .k-danger:hover:not(:disabled) { background-color: #9c1f18; background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-ghost { background-color: transparent; background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-ghost:hover:not(:disabled) { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-busy { color: transparent !important; }
html[data-ui="2"][data-theme="dark"] .k-busy::after { border-color: var(--dk-line); border-right-color: transparent; }
html[data-ui="2"][data-theme="dark"] .k-secondary.k-busy::after,
html[data-ui="2"][data-theme="dark"] .k-ghost.k-busy::after { border-color: var(--dk-primary); border-right-color: transparent; }
html[data-ui="2"][data-theme="dark"] .k-btn:focus-visible,
html[data-ui="2"][data-theme="dark"] .k-x:focus-visible,
html[data-ui="2"][data-theme="dark"] .k-mi:focus-visible,
html[data-ui="2"][data-theme="dark"] .k-prow:focus-visible { outline-color: var(--k-teal-deep); }
html[data-ui="2"][data-theme="dark"] .k-dialog { background-color: var(--dk-surface); background-image: none; border-color: var(--k-line); box-shadow: var(--k-shadow-3); color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-dicon { background-color: var(--k-teal-tint); background-image: none; color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-tone-danger .k-dicon { background-color: var(--k-danger-bg); background-image: none; color: var(--k-danger); }
html[data-ui="2"][data-theme="dark"] .k-tone-warning .k-dicon { background-color: var(--k-amber-bg); background-image: none; color: var(--k-amber); }
html[data-ui="2"][data-theme="dark"] .k-tone-success .k-dicon { background-color: var(--k-good-bg); background-image: none; color: var(--k-good); }
html[data-ui="2"][data-theme="dark"] .k-dtitle { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-dbody { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-dbody a:not(.k-btn) { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-type { color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-type code { background-color: var(--k-teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-input { border-color: var(--k-line-2); background-color: var(--dk-surface); background-image: none; color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-input:focus { border-color: var(--k-teal-deep); box-shadow: 0 0 0 4px rgba(95, 176, 182, .22); }
html[data-ui="2"][data-theme="dark"] .k-err { color: var(--k-danger); }
@media (max-width: 640px) {
html[data-ui="2"][data-theme="dark"] .k-grab { background-color: var(--k-line-2); background-image: none; }
}
html[data-ui="2"][data-theme="dark"] .k-panel { background-color: var(--dk-surface); background-image: none; border-left-color: var(--k-line); box-shadow: -34px 0 70px -36px rgba(6, 34, 44, .6); color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-phead { border-bottom-color: var(--k-line); }
html[data-ui="2"][data-theme="dark"] .k-phead h2 { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-psub { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-x { border-color: var(--k-line); background-color: #253333; background-image: none; color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-x:hover { background-color: var(--k-teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-pfoot { border-top-color: var(--k-line); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-psec > h3 { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-list a,
html[data-ui="2"][data-theme="dark"] .k-list .k-li { color: inherit; }
html[data-ui="2"][data-theme="dark"] .k-list a:hover { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-list a:focus-visible { outline-color: var(--k-teal-deep); }
html[data-ui="2"][data-theme="dark"] .k-av { background-color: var(--k-teal-tint); background-image: none; color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-mt b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-mt small { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-chipn { background-color: var(--k-teal-tint); background-image: none; color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-chipn.k-hot { background-color: var(--k-warn-bg); background-image: none; color: var(--k-warn-ink); }
html[data-ui="2"][data-theme="dark"] .k-empty { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-menu { background-color: var(--dk-surface); background-image: none; border-color: var(--k-line); box-shadow: var(--k-shadow-2); }
html[data-ui="2"][data-theme="dark"] .k-msec { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-msep { background-color: var(--k-line); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-mhead b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-mhead span { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-mi { background-color: transparent; background-image: none; color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-mi svg { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-mi:hover,
html[data-ui="2"][data-theme="dark"] .k-mi:focus-visible { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-mi.k-cur { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-mi.k-cur b::after { background-color: var(--k-teal-deep); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-mi.k-mdanger,
html[data-ui="2"][data-theme="dark"] .k-mi.k-mdanger svg { color: var(--k-danger); }
html[data-ui="2"][data-theme="dark"] .k-mi.k-mdanger:hover,
html[data-ui="2"][data-theme="dark"] .k-mi.k-mdanger:focus-visible { background-color: var(--k-danger-bg); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-palette { background-color: var(--dk-surface); background-image: none; border-color: var(--k-line); box-shadow: var(--k-shadow-3); }
html[data-ui="2"][data-theme="dark"] .k-psearch { border-bottom-color: var(--k-line); color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-pin { background-color: transparent; background-image: none; color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-pin::placeholder { color: #99aaaf; }
html[data-ui="2"][data-theme="dark"] .k-pgroup { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-prow { background-color: transparent; background-image: none; color: var(--k-ink); }
html[data-ui="2"][data-theme="dark"] .k-prow svg { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-pdot { background-color: var(--k-teal); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-prow.k-on { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-ptag { color: var(--k-teal-ink); background-color: var(--dk-surface); background-image: none; border-color: var(--k-line); }
html[data-ui="2"][data-theme="dark"] .k-pnone { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-phint { border-top-color: var(--k-line); color: var(--k-grey); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-recap { background-color: var(--k-teal-tint); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-recap svg { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] .k-recap small { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-skel { color: transparent !important; background-image: linear-gradient(100deg, var(--dk-surface-2) 25%, #243131 50%, var(--dk-surface-2) 75%); }
html[data-ui="2"][data-theme="dark"] .k-preview { border-color: rgba(138, 205, 209, .5); background-color: rgba(9, 49, 63, .92); background-image: none; color: #e8f4f5; box-shadow: var(--k-shadow-2); }
html[data-ui="2"][data-theme="dark"] .k-preview-go { background-color: transparent; background-image: none; color: inherit; }
html[data-ui="2"][data-theme="dark"] .k-preview-x { background-color: rgba(255, 255, 255, .1); background-image: none; color: #cfe6e9; }
html[data-ui="2"][data-theme="dark"] .k-preview-x:hover { background-color: rgba(255, 255, 255, .22); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] .k-preview-go:focus-visible,
html[data-ui="2"][data-theme="dark"] .k-preview-x:focus-visible { outline-color: var(--dk-line); }
html[data-ui="2"][data-theme="dark"] .k-preview i { background-color: var(--k-teal); background-image: none; box-shadow: 0 0 0 4px rgba(138, 205, 209, .25); }
html[data-ui="2"][data-theme="dark"] .k-preview u { color: var(--k-teal); }
html[data-ui="2"][data-theme="dark"] .k-preview-go:hover u { color: #fff; }
html[data-ui="2"][data-theme="dark"] .pb-toast { background-color: rgba(9, 49, 63, .94); background-image: none; box-shadow: var(--k-shadow-2); }
html[data-ui="2"][data-theme="dark"] .pb-toast.error { background-color: rgba(122, 42, 27, .96); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-secretrow { border-color: var(--k-teal-deep); background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-secret { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-seg { border-color: var(--k-line); background-color: #283636; background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-segb { background-color: transparent; background-image: none; color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-segb:hover { background-color: var(--dk-surface); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-segb.k-on { background-color: var(--dk-primary); background-image: none; color: #fff; box-shadow: 0 10px 18px -12px rgba(9, 49, 63, .8); }
html[data-ui="2"][data-theme="dark"] .k-segb:focus-visible { outline-color: var(--k-teal-deep); }
html[data-ui="2"][data-theme="dark"] .k-appear-note { color: var(--k-grey); }

/* ---- kit-portal.css ---- */
html[data-ui="2"][data-theme="dark"] body { background-image: linear-gradient(165deg, #293939 0%, #443b2a 55%, #2b373a 100%); }
html[data-ui="2"][data-theme="dark"] body::before { background-image: radial-gradient(60vmax 50vmax at 0% -10%, rgba(138, 205, 209, .5), transparent 70%), radial-gradient(50vmax 44vmax at 105% 20%, rgba(95, 75, 41, 0.38), transparent 70%); }
html[data-ui="2"][data-theme="dark"] header { border-color: rgba(38, 63, 72, 0.8); border-bottom-color: rgba(38, 63, 72, 0.8); background-color: rgba(18, 39, 47, 0.9); background-image: none; box-shadow: var(--k-shadow-2); }
@media (min-width: 761px) {
html[data-ui="2"][data-theme="dark"] header { background-color: rgba(18, 39, 47, 0.74); background-image: none; }
}
html[data-ui="2"][data-theme="dark"] .pnav a:hover { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .pnav a[aria-current="page"] { background-color: var(--dk-primary); background-image: none; color: #fff; box-shadow: 0 8px 18px -12px rgba(9, 49, 63, .8); }
html[data-ui="2"][data-theme="dark"] .pnav-badge { background-color: var(--k-teal); background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .pnav a.pnav-out { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .pnav a.pnav-out:hover { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .pnav-bar { background-color: transparent; background-image: none; }
html[data-ui="2"][data-theme="dark"] .pnav .k-themebtn { background-color: transparent; background-image: none; color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .pnav .k-themebtn:hover,
html[data-ui="2"][data-theme="dark"] .pnav .k-themebtn[aria-expanded="true"] { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] .pnav .k-themebtn:focus-visible { outline-color: var(--k-teal-deep); }
@media (max-width: 760px) {
html[data-ui="2"][data-theme="dark"] .k-tabs { background-color: rgba(9, 49, 63, .95); background-image: none; box-shadow: var(--k-shadow-3); }
html[data-ui="2"][data-theme="dark"] .k-tab { color: #cfe6e9; }
html[data-ui="2"][data-theme="dark"] .k-tab[aria-current="page"] { background-color: var(--k-teal); background-image: none; color: #e6f1f5; }
html[data-ui="2"][data-theme="dark"] .k-tab:focus-visible { outline-color: var(--dk-line); }
html[data-ui="2"][data-theme="dark"] .k-tbadge { background-color: #584226; background-image: none; color: #f6f0e4; }
}
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] h1 { color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero { border-color: rgba(38, 63, 72, 0.9); background-color: rgba(18, 39, 47, 0.86); background-image: none; box-shadow: var(--k-shadow-2); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero .nh-kicker { background-color: var(--k-teal-tint); background-image: none; color: var(--k-teal-ink); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero .nh-kicker::before { background-color: transparent; background-image: none; box-shadow: 0 0 0 4px rgba(95, 176, 182, .25); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action { box-shadow: var(--k-shadow-3); background-image: radial-gradient(120% 140% at 100% 0%, rgba(138, 205, 209, .38) 0%, rgba(138, 205, 209, 0) 55%), linear-gradient(140deg, #0e4453 0%, #09313f 58%, #0b3a49 100%); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action::before,
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action::after { border-color: rgba(138, 205, 209, .12); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action::after { border-color: rgba(138, 205, 209, .07); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action .nh-kicker { background-color: rgba(138, 205, 209, .16); background-image: none; color: var(--k-teal); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action .btn { background-color: var(--k-teal); background-image: none; color: var(--dk-strong); box-shadow: 0 14px 26px -14px rgba(0, 0, 0, .6); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.action .btn:hover { background-color: #37595b; background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.done { background-image: linear-gradient(150deg, #223e27, #283c2e); border-color: #324938; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.done .nh-kicker { background-color: rgba(47, 122, 77, .13); background-image: none; color: var(--k-good); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .next-hero.closed { background-image: linear-gradient(150deg, #41241b, #4c2a20); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .launch { background-color: rgba(18, 39, 47, 0.96); background-image: none; box-shadow: var(--k-shadow-1); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] section.card { border-color: rgba(38, 63, 72, 0.9); background-color: rgba(18, 39, 47, 0.86); background-image: none; box-shadow: var(--k-shadow-1); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] section.card:hover { box-shadow: var(--k-shadow-2); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .btn { box-shadow: 0 12px 22px -14px rgba(9, 49, 63, .85); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .btn.secondary { background-color: var(--dk-surface); background-image: none; box-shadow: inset 0 0 0 1.5px var(--k-line-2); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .btn.secondary:hover { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .btn:focus-visible { outline-color: var(--k-teal-deep); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .mini-progress { background-color: #2a3738; background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .mini-fill { background-image: linear-gradient(90deg, var(--k-teal-deep), var(--k-teal)); }
html[data-ui="2"][data-theme="dark"] .k-steps p { color: var(--k-grey); }
html[data-ui="2"][data-theme="dark"] .k-steps p b { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-steps-bar { background-color: #2a3738; background-image: none; }
html[data-ui="2"][data-theme="dark"] .k-steps-bar i { background-image: linear-gradient(90deg, var(--k-teal-deep), var(--k-teal)); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .milestone::before { background-color: #2c393b; background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .milestone.done::before { background-color: var(--k-teal); background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .milestone .dot { box-shadow: 0 0 0 4px var(--dk-surface); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .milestone.done .dot { background-image: linear-gradient(145deg, #3a8f5e, #2f7a4d); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .milestone.pending .dot { background-color: var(--dk-surface-2); background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .week-nav button { border-color: var(--k-line-2); }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .week-nav button:not(:disabled):hover { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] [data-page="portal-home"] .day-header { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) section.card,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .card,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) details.pp-box,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .doc-block,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .fields-box,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .mcard,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .pm-mod,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .here-card { border-color: rgba(38, 63, 72, 0.9); background-color: rgba(18, 39, 47, 0.88); background-image: none; box-shadow: var(--k-shadow-1); }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .doc-block,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .fields-box,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) details.pp-box,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .pm-mod { border-color: var(--k-line); box-shadow: none; background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .btn { box-shadow: 0 12px 22px -14px rgba(9, 49, 63, .85); }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .btn:disabled { box-shadow: none; }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .btn.secondary { background-color: var(--dk-surface); background-image: none; box-shadow: inset 0 0 0 1.5px var(--k-line-2); }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .btn.secondary:hover { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .btn:focus-visible { outline-color: var(--k-teal-deep); }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) input[type=text],
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) input[type=tel],
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) input[type=email],
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) input[type=password],
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) input[type=number],
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) select,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) textarea { background-color: var(--dk-surface); }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) input:focus:not([type=checkbox]):not([type=radio]),
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) select:focus,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) textarea:focus { border-color: var(--k-teal-deep); box-shadow: 0 0 0 4px rgba(95, 176, 182, .22); }
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .bar-fill,
html[data-ui="2"][data-theme="dark"] body[data-page^="portal-"]:not([data-page="portal-home"]) .progress-fill { background-image: linear-gradient(90deg, var(--k-teal-deep), var(--k-teal)); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero { box-shadow: var(--k-shadow-3); background-image: radial-gradient(120% 140% at 100% 0%, rgba(138, 205, 209, .38) 0%, rgba(138, 205, 209, 0) 55%), linear-gradient(140deg, #0e4453 0%, #09313f 58%, #0b3a49 100%); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero::before { border-color: rgba(138, 205, 209, .12); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero .btn { background-color: var(--k-teal); background-image: none; color: var(--dk-strong); box-shadow: 0 14px 26px -14px rgba(0, 0, 0, .6); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .hero .btn:hover { background-color: #37595b; background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .mcard:hover { box-shadow: var(--k-shadow-2); background-color: var(--dk-surface); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .lrow:hover { box-shadow: var(--k-shadow-1); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tab:hover { background-color: var(--k-teal-tint); background-image: none; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .tab[aria-selected="true"] { background-color: var(--dk-primary); background-image: none; color: #fff; }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"] .video-frame { box-shadow: var(--k-shadow-2); }
@media (max-width: 760px) {
html[data-ui="2"][data-theme="dark"] body[data-page="portal-training"].in-lesson .mobile-bar { border-color: rgba(38, 63, 72, 0.9); box-shadow: var(--k-shadow-2); }
}
html[data-ui="2"][data-theme="dark"] body[data-page="portal-details"] .savebar { border-color: rgba(38, 63, 72, 0.9); background-color: rgba(18, 39, 47, 0.94); background-image: none; box-shadow: var(--k-shadow-2); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .who img,
html[data-ui="2"][data-theme="dark"] body[data-page="portal-profile"] .who .noimg { box-shadow: var(--k-shadow-1); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .opt:hover { box-shadow: var(--k-shadow-1); }
html[data-ui="2"][data-theme="dark"] body[data-page="portal-test"] .score-box { box-shadow: var(--k-shadow-3); }

/* ---- dark-extra.css (written by hand) ---- */
/* Hand-written parts of the dark theme, shared by the team pages and the portal (appended to both generated files by tools/build-dark.mjs). Everything here is scoped to
   html[data-ui="2"][data-theme="dark"]. The generated rules come from each page's own CSS; this file is for what a script paints or what a generator can't know. */

/* the page itself: a deep teal-black with the same soft washes of colour as the light theme has */
html[data-ui="2"][data-theme="dark"] body[data-page] { background-color: var(--dk-bg); background-image: linear-gradient(160deg, #0a191e 0%, #0c1e24 55%, #0a1a20 100%); background-attachment: fixed; color: var(--dk-text); }
html[data-ui="2"][data-theme="dark"] body[data-page]::before {
  background-image: radial-gradient(48vmax 48vmax at 2% -8%, rgba(36, 128, 142, .30), transparent 70%), radial-gradient(42vmax 42vmax at 102% 16%, rgba(150, 110, 50, .13), transparent 70%), radial-gradient(36vmax 36vmax at 28% 112%, rgba(36, 128, 142, .16), transparent 70%);
}
html[data-ui="2"][data-theme="dark"] ::selection { background-color: rgba(138, 205, 209, .35); }
html[data-ui="2"][data-theme="dark"] a { color: var(--dk-teal); }

/* the notification bell and its drop-down (their CSS is written by notifications-bell.js) */
html[data-ui="2"][data-theme="dark"] .pb-bell-btn { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .pb-bell-btn:hover, html[data-ui="2"][data-theme="dark"] .pb-bell-btn[aria-expanded="true"] { background: var(--dk-teal-tint); }
html[data-ui="2"][data-theme="dark"] .pb-bell-panel { background: var(--dk-surface); border-color: var(--dk-line-2); box-shadow: var(--k-shadow-3); }
html[data-ui="2"][data-theme="dark"] .pb-bell-head, html[data-ui="2"][data-theme="dark"] .pb-bell-item { background: var(--dk-surface); border-color: var(--dk-line); }
html[data-ui="2"][data-theme="dark"] .pb-bell-head strong { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .pb-bell-item:hover { background: var(--dk-surface-2); }
html[data-ui="2"][data-theme="dark"] .pb-bell-item.unread { background: var(--dk-teal-tint); }

/* messages (toast.js) are already dark: give them an edge so they stand off a dark page */
html[data-ui="2"][data-theme="dark"] .pb-toast { border: 1px solid var(--dk-line-2); }

/* the portal menu (portal-nav.js writes its CSS) */
html[data-ui="2"][data-theme="dark"] .pnav a { color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .pnav a:hover { background: var(--dk-teal-tint); }
html[data-ui="2"][data-theme="dark"] .pnav a[aria-current="page"] { background: var(--dk-primary); color: #fff; }
html[data-ui="2"][data-theme="dark"] .pnav a.pnav-out { color: var(--dk-muted); }
html[data-ui="2"][data-theme="dark"] .pnav-bar { background: transparent; border-color: var(--dk-line); }

/* the pop-ups' dimmer is a little stronger on a dark page */
html[data-ui="2"][data-theme="dark"] .k-backdrop { background: rgba(2, 10, 14, .62); }
html[data-ui="2"][data-theme="dark"] .k-dialog, html[data-ui="2"][data-theme="dark"] .k-panel, html[data-ui="2"][data-theme="dark"] .k-menu, html[data-ui="2"][data-theme="dark"] .k-palette { border-color: var(--dk-line-2); }
html[data-ui="2"][data-theme="dark"] .k-input { background: var(--dk-bg); }
html[data-ui="2"][data-theme="dark"] .k-pin::placeholder { color: var(--dk-faint); }

/* the theme switcher itself */
html[data-ui="2"][data-theme="dark"] .k-seg { background: var(--dk-bg); border-color: var(--dk-line-2); }
html[data-ui="2"][data-theme="dark"] .k-segb { color: var(--dk-muted); }
html[data-ui="2"][data-theme="dark"] .k-segb:hover { background: var(--dk-surface-2); color: var(--dk-strong); }
html[data-ui="2"][data-theme="dark"] .k-segb.k-on { background: var(--dk-primary); color: #fff; }

/* ---- dark-extra-portal.css (written by hand) ---- */
/* portal-only hand-written dark rules */
html[data-ui="2"][data-theme="dark"] .k-themebtn { color: var(--dk-strong); }
}
