/* ==========================================================================
   S2A Portal — Dark mode layer (v3.8.0)
   Loaded after frontend.css, admin-frontend.css and owner-dashboard.css.
   Every rule is scoped to html[data-s2a-theme="dark"], so Light mode is untouched.
   Older dark rules lost to later light-only rules (white cards with white text);
   this layer restores one consistent dark surface system for the Student portal,
   the Admin portal and the Owner dashboard.
   ========================================================================== */

html[data-s2a-theme="dark"] {
  color-scheme: dark;
  --dk-bg: #07111f;
  --dk-panel: #0b1a2d;
  --dk-panel-2: #0e2036;
  --dk-raise: #12283f;
  --dk-input: #0a182a;
  --dk-line: rgba(143, 176, 222, .14);
  --dk-line-2: rgba(143, 176, 222, .24);
  --dk-text: #eef4ff;
  --dk-text-2: #c4d1e4;
  --dk-muted: #93a6c0;
  --dk-accent: #5b9bff;
  --dk-accent-strong: #2a68dc; /* filled buttons/tabs: white text stays above 4.5:1 */
  --dk-link: #8fbaff;
  --dk-blue-bg: rgba(76, 141, 255, .15);   --dk-blue-line: rgba(110, 160, 255, .32);  --dk-blue-tx: #b8d1ff;
  --dk-green-bg: rgba(45, 212, 150, .13);  --dk-green-line: rgba(45, 212, 150, .32);  --dk-green-tx: #8ff0c6;
  --dk-red-bg: rgba(248, 113, 113, .13);   --dk-red-line: rgba(248, 113, 113, .34);   --dk-red-tx: #fecaca;
  --dk-amber-bg: rgba(251, 191, 36, .12);  --dk-amber-line: rgba(251, 191, 36, .34);  --dk-amber-tx: #fde68a;
  --dk-shadow: 0 18px 40px -18px rgba(0, 0, 0, .7);
  /* the portal's own tokens, so components that already use them follow dark mode */
  --s2a-text: #eef4ff; --s2a-muted: #a5b6cd; --s2a-border: rgba(143, 176, 222, .16); --s2a-bg: #07111f; --s2a-card: #0b1a2d;
  --af-bg: #06111f; --af-panel: #0b1a2d; --af-panel-2: #0e2036; --af-text: #eef4ff; --af-muted: #a5b6cd; --af-line: rgba(143, 176, 222, .14);
}
html[data-s2a-theme="dark"] body.s2a-portal-page,
html[data-s2a-theme="dark"] .s2a-portal-page { background: var(--dk-bg) !important; color: var(--dk-text); }
html[data-s2a-theme="dark"] .s2a-portal-page ::selection { background: rgba(91, 155, 255, .35); color: #fff; }

/* --------------------------------------------------------------------------
   1. Shells, sidebars, top bars
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-dashboard-shell,
html[data-s2a-theme="dark"] .s2a-dashboard-main,
html[data-s2a-theme="dark"] .s2a-dashboard-content,
html[data-s2a-theme="dark"] .s2a-front-admin,
html[data-s2a-theme="dark"] .s2a-front-admin__main,
html[data-s2a-theme="dark"] .s2a-front-admin__content,
html[data-s2a-theme="dark"] .s2a-owner-shell,
html[data-s2a-theme="dark"] .s2a-owner-main,
html[data-s2a-theme="dark"] .s2a-owner-content { background: var(--dk-bg) !important; color: var(--dk-text) !important; }

html[data-s2a-theme="dark"] .s2a-dashboard-sidebar,
html[data-s2a-theme="dark"] .s2a-front-admin__sidebar,
html[data-s2a-theme="dark"] .s2a-owner-sidebar { background: linear-gradient(180deg, #091729, #071321) !important; border-color: var(--dk-line) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-dashboard-topbar,
html[data-s2a-theme="dark"] .s2a-front-admin__topbar,
html[data-s2a-theme="dark"] .s2a-owner-topbar { background: rgba(7, 18, 33, .92) !important; border-color: var(--dk-line) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
html[data-s2a-theme="dark"] .s2a-dashboard-topbar h1, html[data-s2a-theme="dark"] .s2a-dashboard-topbar h2,
html[data-s2a-theme="dark"] .s2a-front-admin__topbar h1,
html[data-s2a-theme="dark"] .s2a-owner-topbar h1, html[data-s2a-theme="dark"] .s2a-owner-topbar h2 { color: var(--dk-text) !important; }

/* brand + profile text that used navy ink */
html[data-s2a-theme="dark"] .s2a-dashboard-brand strong,
html[data-s2a-theme="dark"] .s2a-front-admin__brand strong,
html[data-s2a-theme="dark"] .s2a-owner-brand strong,
html[data-s2a-theme="dark"] .s2a-sidebar-profile strong,
html[data-s2a-theme="dark"] .s2a-front-admin__sidebar-footer strong,
html[data-s2a-theme="dark"] .s2a-owner-sidebar__footer strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-dashboard-brand small,
html[data-s2a-theme="dark"] .s2a-front-admin__brand small,
html[data-s2a-theme="dark"] .s2a-sidebar-profile small,
html[data-s2a-theme="dark"] .s2a-front-admin__sidebar-footer small,
html[data-s2a-theme="dark"] .s2a-owner-sidebar__footer small { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-sidebar-profile,
html[data-s2a-theme="dark"] .s2a-owner-sidebar__footer { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; }

/* navigation: inactive + active items */
html[data-s2a-theme="dark"] .s2a-nav-link,
html[data-s2a-theme="dark"] .s2a-front-admin__nav a,
html[data-s2a-theme="dark"] .s2a-owner-nav a { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-nav-link:hover,
html[data-s2a-theme="dark"] .s2a-front-admin__nav a:hover,
html[data-s2a-theme="dark"] .s2a-owner-nav a:hover { background: rgba(255, 255, 255, .05) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-nav-link.is-active,
html[data-s2a-theme="dark"] .s2a-front-admin__nav a.is-active,
html[data-s2a-theme="dark"] .s2a-owner-nav a.is-active { background: linear-gradient(135deg, rgba(76, 141, 255, .24), rgba(76, 141, 255, .1)) !important; color: #fff !important; box-shadow: inset 0 0 0 1px var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-nav-link.is-active *,
html[data-s2a-theme="dark"] .s2a-front-admin__nav a.is-active b,
html[data-s2a-theme="dark"] .s2a-owner-nav a.is-active span { color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__nav a > span,
html[data-s2a-theme="dark"] .s2a-front-admin__mini-avatar { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__nav a.is-active > span { background: var(--dk-accent-strong) !important; color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-owner-nav small { background: var(--dk-green-bg) !important; color: var(--dk-green-tx) !important; border-color: var(--dk-green-line) !important; }
html[data-s2a-theme="dark"] .s2a-nav-label,
html[data-s2a-theme="dark"] .s2a-owner-nav__label { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__logout-link { background: var(--dk-red-bg) !important; border-color: var(--dk-red-line) !important; color: var(--dk-red-tx) !important; }

/* avatars + icon tiles */
html[data-s2a-theme="dark"] .s2a-avatar,
html[data-s2a-theme="dark"] .s2a-admin-student-photo,
html[data-s2a-theme="dark"] .s2a-owner-recent__avatar,
html[data-s2a-theme="dark"] .s2a-owner-student-person > span { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-icon-btn,
html[data-s2a-theme="dark"] .s2a-topbar-website,
html[data-s2a-theme="dark"] .s2a-notification-toggle,
html[data-s2a-theme="dark"] .s2a-admin-notification-btn,
html[data-s2a-theme="dark"] .s2a-mobile-menu-toggle,
html[data-s2a-theme="dark"] .s2a-front-admin__menu { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-topbar-profile { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }

/* theme switch itself */
html[data-s2a-theme="dark"] .s2a-portal-theme-switch { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-portal-theme-switch__track { background: rgba(255, 255, 255, .06) !important; }
html[data-s2a-theme="dark"] .s2a-portal-theme-switch__track b { background: var(--dk-accent) !important; }

/* --------------------------------------------------------------------------
   2. Neutral cards and panels (were white / near-white)
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-dashboard-card,
html[data-s2a-theme="dark"] .s2a-front-admin__card,
html[data-s2a-theme="dark"] .s2a-front-admin__kpi,
html[data-s2a-theme="dark"] .s2a-front-admin__hero,
html[data-s2a-theme="dark"] .s2a-owner-card,
html[data-s2a-theme="dark"] .s2a-owner-kpi,
html[data-s2a-theme="dark"] .s2a-performance-v4__metrics > article,
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-card,
html[data-s2a-theme="dark"] .s2a-notice-list > article,
html[data-s2a-theme="dark"] .s2a-ops-notices > article,
html[data-s2a-theme="dark"] .s2a-ops-notice-admin > article,
html[data-s2a-theme="dark"] .s2a-ops-result-list > article,
html[data-s2a-theme="dark"] .s2a-ops-center-list > article,
html[data-s2a-theme="dark"] .s2a-ops-support-actions > a,
html[data-s2a-theme="dark"] .s2a-ops-export-grid > a,
html[data-s2a-theme="dark"] .s2a-full-export-grid > article,
html[data-s2a-theme="dark"] .s2a-phase2-list > article,
html[data-s2a-theme="dark"] .s2a-phase2-list details,
html[data-s2a-theme="dark"] .s2a-front-admin details,
html[data-s2a-theme="dark"] .s2a-profile-mini > div,
html[data-s2a-theme="dark"] .s2a-subject-panel,
html[data-s2a-theme="dark"] .s2a-class-video-group,
html[data-s2a-theme="dark"] .s2a-bank-grid > article,
html[data-s2a-theme="dark"] .s2a-payment-form,
html[data-s2a-theme="dark"] .s2a-payment-guide-v3,
html[data-s2a-theme="dark"] .s2a-online-payment-method,
html[data-s2a-theme="dark"] .s2a-live-edit-form,
html[data-s2a-theme="dark"] .s2a-student-stats__summary,
html[data-s2a-theme="dark"] .s2a-student-stats__legacy-summary,
html[data-s2a-theme="dark"] .s2a-front-admin__form-grid > div,
html[data-s2a-theme="dark"] .s2a-front-admin__links > a,
html[data-s2a-theme="dark"] .s2a-front-admin__student-list > a,
html[data-s2a-theme="dark"] .s2a-front-admin__roadmap > div,
html[data-s2a-theme="dark"] .s2a-qr-empty,
html[data-s2a-theme="dark"] .s2a-owner-status-grid > article,
html[data-s2a-theme="dark"] .s2a-owner-integrity-grid > article,
html[data-s2a-theme="dark"] .s2a-owner-status-list > article,
html[data-s2a-theme="dark"] .s2a-owner-month-compare > article,
html[data-s2a-theme="dark"] .s2a-owner-enrollment-health > article,
html[data-s2a-theme="dark"] .s2a-owner-payment-mini-stats > article,
html[data-s2a-theme="dark"] .s2a-owner-segments > article,
html[data-s2a-theme="dark"] .s2a-owner-flow > article,
html[data-s2a-theme="dark"] .s2a-owner-flow__current,
html[data-s2a-theme="dark"] .s2a-owner-coverage__list > article,
html[data-s2a-theme="dark"] .s2a-owner-analytics-class-grid > article,
html[data-s2a-theme="dark"] .s2a-owner-report-preview__grid > article,
html[data-s2a-theme="dark"] .s2a-owner-tracking-note,
html[data-s2a-theme="dark"] .s2a-owner-payment-class-grid article,
html[data-s2a-theme="dark"] .s2a-owner-class-flow-grid article,
html[data-s2a-theme="dark"] .s2a-owner-current-class-bars article,
html[data-s2a-theme="dark"] .s2a-owner-report-card { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text) !important; box-shadow: none !important; }
html[data-s2a-theme="dark"] .s2a-class-video-group__content,
html[data-s2a-theme="dark"] .s2a-upload-field,
html[data-s2a-theme="dark"] .s2a-owner-sidebar__footer,
html[data-s2a-theme="dark"] .s2a-owner-analytics-class-grid__stats > span,
html[data-s2a-theme="dark"] .s2a-owner-report-card__top > b,
html[data-s2a-theme="dark"] .s2a-pack-count-pill,
html[data-s2a-theme="dark"] .s2a-class-video-counts > span,
html[data-s2a-theme="dark"] .s2a-pack-store-card__meta > span,
html[data-s2a-theme="dark"] .s2a-pack-content-count,
html[data-s2a-theme="dark"] .s2a-owner-payment-state,
html[data-s2a-theme="dark"] .s2a-owner-change,
html[data-s2a-theme="dark"] .s2a-owner-kpi__top > em,
html[data-s2a-theme="dark"] .s2a-owner-card__head > strong,
html[data-s2a-theme="dark"] .s2a-center-student-count { background: var(--dk-raise) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-owner-card__head > strong,
html[data-s2a-theme="dark"] .s2a-center-student-count strong,
html[data-s2a-theme="dark"] .s2a-center-student-count b { color: var(--dk-text) !important; }

/* hover states of clickable cards */
html[data-s2a-theme="dark"] .s2a-ops-support-actions > a:hover,
html[data-s2a-theme="dark"] .s2a-ops-export-grid > a:hover,
html[data-s2a-theme="dark"] .s2a-front-admin__links > a:hover,
html[data-s2a-theme="dark"] .s2a-front-admin__student-list > a:hover,
html[data-s2a-theme="dark"] .s2a-online-payment-method:hover { background: var(--dk-raise) !important; border-color: var(--dk-blue-line) !important; }

/* headline + body text inside every dark card */
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login, .s2a-qr-shell) :is(h1, h2, h3, h4, h5) { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) :where(.s2a-dashboard-card, .s2a-front-admin__card, .s2a-owner-card, article, details, .s2a-subject-panel, .s2a-payment-form, .s2a-payment-guide-v3) :is(p, small, em, li) { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) :where(article, details, .s2a-owner-flow__current, .s2a-student-stats__summary, .s2a-student-stats__legacy-summary, .s2a-owner-tracking-note) :is(strong, b) { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) :where(article, .s2a-owner-flow__current, .s2a-owner-tracking-note) > span { color: var(--dk-text-2) !important; }

/* --------------------------------------------------------------------------
   3. Hero / welcome panels (light-blue gradients)
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-welcome-panel,
html[data-s2a-theme="dark"] .s2a-ops-admin__head,
html[data-s2a-theme="dark"] .s2a-phase2-admin__head,
html[data-s2a-theme="dark"] .s2a-qr-pro-hero,
html[data-s2a-theme="dark"] .s2a-register-intro,
html[data-s2a-theme="dark"] .s2a-learning-hero,
html[data-s2a-theme="dark"] .s2a-pack-hero,
html[data-s2a-theme="dark"] .s2a-delivery-hero { background: radial-gradient(120% 140% at 100% 0%, rgba(76, 141, 255, .22), transparent 55%), linear-gradient(135deg, #0f2440, #0b1a2f 60%) !important; border-color: var(--dk-blue-line) !important; color: var(--dk-text) !important; box-shadow: var(--dk-shadow) !important; }
html[data-s2a-theme="dark"] .s2a-welcome-panel p,
html[data-s2a-theme="dark"] .s2a-ops-admin__head p,
html[data-s2a-theme="dark"] .s2a-phase2-admin__head p,
html[data-s2a-theme="dark"] .s2a-register-intro p,
html[data-s2a-theme="dark"] .s2a-learning-hero p,
html[data-s2a-theme="dark"] .s2a-delivery-hero p { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-student-tags > span,
html[data-s2a-theme="dark"] .s2a-account-status { background: rgba(255, 255, 255, .06) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-account-status.is-approved { background: var(--dk-green-bg) !important; border-color: var(--dk-green-line) !important; color: var(--dk-green-tx) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__hero-mark { background: rgba(255, 255, 255, .92) !important; border-color: transparent !important; } /* keeps the colour logo readable */
html[data-s2a-theme="dark"] .s2a-delivery-hero__carrier { background: var(--dk-blue-bg) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-hero__carrier small { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-hero__carrier strong { color: var(--dk-blue-tx) !important; }

/* --------------------------------------------------------------------------
   4. Blue tints: icon tiles, chips, tabs, steppers
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-auth-icon,
html[data-s2a-theme="dark"] .s2a-section-head > span,
html[data-s2a-theme="dark"] .s2a-performance-v4__metric-icon,
html[data-s2a-theme="dark"] .s2a-performance-v4__legend,
html[data-s2a-theme="dark"] .s2a-quick-action > span,
html[data-s2a-theme="dark"] .s2a-next-live-ready__icon,
html[data-s2a-theme="dark"] .s2a-notice-icon,
html[data-s2a-theme="dark"] .s2a-subject-panel__head > span,
html[data-s2a-theme="dark"] .s2a-live-card__date,
html[data-s2a-theme="dark"] .s2a-resource-choice > span,
html[data-s2a-theme="dark"] .s2a-online-payment-method__icon,
html[data-s2a-theme="dark"] .s2a-dashboard-card > span,
html[data-s2a-theme="dark"] .s2a-front-admin__kpi > span,
html[data-s2a-theme="dark"] .s2a-ops-center-pin,
html[data-s2a-theme="dark"] .s2a-pack-admin-thumb,
html[data-s2a-theme="dark"] .s2a-owner-login__badge,
html[data-s2a-theme="dark"] .s2a-owner-kpi__icon,
html[data-s2a-theme="dark"] .s2a-owner-rank,
html[data-s2a-theme="dark"] .s2a-owner-subject-badge,
html[data-s2a-theme="dark"] .s2a-owner-report-card__footer > a,
html[data-s2a-theme="dark"] .s2a-status-chip,
html[data-s2a-theme="dark"] .s2a-status-chip--blue,
html[data-s2a-theme="dark"] .s2a-pack-store-card__image { background: var(--dk-blue-bg) !important; border-color: var(--dk-blue-line) !important; color: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-live-card__date strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-live-card__date span { color: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-live-card__link,
html[data-s2a-theme="dark"] .s2a-live-schedule-box,
html[data-s2a-theme="dark"] .s2a-notice-target-box { background: rgba(76, 141, 255, .08) !important; border-color: var(--dk-blue-line) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-live-card__link span,
html[data-s2a-theme="dark"] .s2a-notice-target-box strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-notice-target-box small,
html[data-s2a-theme="dark"] .s2a-notice-target-box p { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-notice-target-box.is-active { background: var(--dk-blue-bg) !important; box-shadow: inset 0 0 0 1px var(--dk-accent) !important; }
/* status chips keep their meaning */
html[data-s2a-theme="dark"] .s2a-status-chip--green, html[data-s2a-theme="dark"] .s2a-status-chip.is-approved, html[data-s2a-theme="dark"] .s2a-status-chip.is-active, html[data-s2a-theme="dark"] .s2a-status-chip.is-completed, html[data-s2a-theme="dark"] .s2a-status-chip.is-delivered { background: var(--dk-green-bg) !important; border-color: var(--dk-green-line) !important; color: var(--dk-green-tx) !important; }
html[data-s2a-theme="dark"] .s2a-status-chip--red, html[data-s2a-theme="dark"] .s2a-status-chip.is-rejected, html[data-s2a-theme="dark"] .s2a-status-chip.is-failed, html[data-s2a-theme="dark"] .s2a-status-chip.is-cancelled { background: var(--dk-red-bg) !important; border-color: var(--dk-red-line) !important; color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-status-chip--amber, html[data-s2a-theme="dark"] .s2a-status-chip--orange, html[data-s2a-theme="dark"] .s2a-status-chip.is-pending, html[data-s2a-theme="dark"] .s2a-status-chip.is-waiting { background: var(--dk-amber-bg) !important; border-color: var(--dk-amber-line) !important; color: var(--dk-amber-tx) !important; }

/* segmented tabs */
html[data-s2a-theme="dark"] .s2a-ops-tabs,
html[data-s2a-theme="dark"] .s2a-mode-switch,
html[data-s2a-theme="dark"] .s2a-qr-pro-tabs,
html[data-s2a-theme="dark"] .s2a-delivery-tabs { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-ops-tabs a,
html[data-s2a-theme="dark"] .s2a-ops-tabs button,
html[data-s2a-theme="dark"] .s2a-mode-switch a,
html[data-s2a-theme="dark"] .s2a-mode-switch button,
html[data-s2a-theme="dark"] .s2a-paper-class-tabs > a,
html[data-s2a-theme="dark"] .s2a-payment-channel-tabs > a,
html[data-s2a-theme="dark"] .s2a-performance-v4__tabs button,
html[data-s2a-theme="dark"] .s2a-performance-v4__tabs a { background: transparent !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-paper-class-tabs > a,
html[data-s2a-theme="dark"] .s2a-payment-channel-tabs > a { background: var(--dk-panel-2) !important; }
html[data-s2a-theme="dark"] .s2a-ops-tabs .is-active,
html[data-s2a-theme="dark"] .s2a-mode-switch .is-active,
html[data-s2a-theme="dark"] .s2a-paper-class-tabs > a.is-active,
html[data-s2a-theme="dark"] .s2a-payment-channel-tabs > a.is-active,
html[data-s2a-theme="dark"] .s2a-performance-v4__tabs .is-active { background: var(--dk-accent-strong) !important; border-color: transparent !important; color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-payment-channel-tabs > a span,
html[data-s2a-theme="dark"] .s2a-payment-channel-tabs > a b { background: rgba(255, 255, 255, .12) !important; color: inherit !important; }

/* registration stepper */
html[data-s2a-theme="dark"] .s2a-register-topbar { background: rgba(7, 18, 33, .94) !important; border-color: var(--dk-line) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-register-topbar a { color: var(--dk-link) !important; }
html[data-s2a-theme="dark"] .s2a-stepper > button { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-stepper > button b,
html[data-s2a-theme="dark"] .s2a-stepper > button span:first-child { background: rgba(255, 255, 255, .08) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-stepper > button.is-active { background: var(--dk-blue-bg) !important; border-color: var(--dk-blue-line) !important; color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-stepper > button.is-active b,
html[data-s2a-theme="dark"] .s2a-stepper > button.is-active span:first-child { background: var(--dk-accent-strong) !important; color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-stepper > button.is-done b { background: var(--dk-green-bg) !important; color: var(--dk-green-tx) !important; }

/* --------------------------------------------------------------------------
   5. Green / red / amber tints
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-empty-state__icon,
html[data-s2a-theme="dark"] .s2a-phase2-ready,
html[data-s2a-theme="dark"] .s2a-payment-duplicate-clear,
html[data-s2a-theme="dark"] .s2a-owner-live,
html[data-s2a-theme="dark"] .s2a-owner-integrity-icon,
html[data-s2a-theme="dark"] .s2a-owner-status,
html[data-s2a-theme="dark"] .s2a-owner-integrity-grid > article.is-ok > b,
html[data-s2a-theme="dark"] .s2a-front-admin__roadmap > div.is-ready > b,
html[data-s2a-theme="dark"] .is-ready > b { background: var(--dk-green-bg) !important; border-color: var(--dk-green-line) !important; color: var(--dk-green-tx) !important; }
html[data-s2a-theme="dark"] .s2a-owner-flow__split > article.is-good { background: rgba(45, 212, 150, .07) !important; border-color: var(--dk-green-line) !important; }
html[data-s2a-theme="dark"] .s2a-owner-flow__split > article { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-owner-flow__split > article.is-risk { background: rgba(248, 113, 113, .07) !important; border-color: var(--dk-red-line) !important; }
html[data-s2a-theme="dark"] .s2a-owner-flow__split > article :is(span, small) { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-owner-status.is-pending { background: var(--dk-amber-bg) !important; border-color: var(--dk-amber-line) !important; color: var(--dk-amber-tx) !important; }
html[data-s2a-theme="dark"] .s2a-owner-status.is-rejected, html[data-s2a-theme="dark"] .s2a-owner-status.is-inactive { background: var(--dk-red-bg) !important; border-color: var(--dk-red-line) !important; color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-owner-kpi__top > em.is-up, html[data-s2a-theme="dark"] .s2a-owner-change.is-up { background: var(--dk-green-bg) !important; color: var(--dk-green-tx) !important; }
html[data-s2a-theme="dark"] .s2a-owner-kpi__top > em.is-down, html[data-s2a-theme="dark"] .s2a-owner-change.is-down { background: var(--dk-red-bg) !important; color: var(--dk-red-tx) !important; }

html[data-s2a-theme="dark"] .s2a-payment-rejection-alert { background: linear-gradient(135deg, rgba(248, 113, 113, .16), rgba(248, 113, 113, .06)) !important; border-color: var(--dk-red-line) !important; }
html[data-s2a-theme="dark"] .s2a-payment-rejection-alert__icon { background: rgba(248, 113, 113, .22) !important; color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-payment-rejection-alert__copy small { color: #fca5a5 !important; }
html[data-s2a-theme="dark"] .s2a-payment-rejection-alert__copy h3 { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-payment-rejection-alert__copy :is(p, span) { color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-btn--danger,
html[data-s2a-theme="dark"] a.s2a-btn--danger { background: var(--dk-red-bg) !important; border-color: var(--dk-red-line) !important; color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-btn--danger:hover { background: rgba(248, 113, 113, .24) !important; }

html[data-s2a-theme="dark"] .s2a-payment-reference-alert,
html[data-s2a-theme="dark"] .s2a-payment-help-note,
html[data-s2a-theme="dark"] .s2a-owner-integrity-status,
html[data-s2a-theme="dark"] .s2a-owner-integrity-grid > article.is-warning > b,
html[data-s2a-theme="dark"] .s2a-front-admin__student-list em,
html[data-s2a-theme="dark"] .s2a-owner-integrity-grid > article.is-warning .s2a-owner-integrity-icon { background: var(--dk-amber-bg) !important; border-color: var(--dk-amber-line) !important; color: var(--dk-amber-tx) !important; }
html[data-s2a-theme="dark"] .s2a-payment-reference-alert strong,
html[data-s2a-theme="dark"] .s2a-payment-help-note strong { color: #fff3c4 !important; }
html[data-s2a-theme="dark"] .s2a-slip-instructions__body p { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-slip-instructions__body .is-danger strong,
html[data-s2a-theme="dark"] .is-danger > strong { color: var(--dk-red-tx) !important; }

/* totals on the payment page keep the blue gradient but need readable labels */
html[data-s2a-theme="dark"] .s2a-class-payment-total small,
html[data-s2a-theme="dark"] .s2a-class-payment-total.is-online small,
html[data-s2a-theme="dark"] .is-online > small { color: rgba(255, 255, 255, .82) !important; }

/* --------------------------------------------------------------------------
   6. Forms: labels, inputs, selects, uploads, checkboxes
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-front-admin label,
html[data-s2a-theme="dark"] .s2a-front-admin__form-grid label,
html[data-s2a-theme="dark"] .s2a-ops-form label,
html[data-s2a-theme="dark"] .s2a-phase2-form label,
html[data-s2a-theme="dark"] .s2a-phase2-check span,
html[data-s2a-theme="dark"] .s2a-paper-setup-grid label,
html[data-s2a-theme="dark"] .s2a-video-time-search label,
html[data-s2a-theme="dark"] .s2a-id-check-form label,
html[data-s2a-theme="dark"] .s2a-field > span,
html[data-s2a-theme="dark"] .s2a-check,
html[data-s2a-theme="dark"] .s2a-check > span,
html[data-s2a-theme="dark"] .s2a-login-shell .s2a-auth-card .s2a-field > span,
html[data-s2a-theme="dark"] .s2a-login-shell .s2a-auth-card .s2a-check,
html[data-s2a-theme="dark"] .s2a-login-shell .s2a-auth-options .s2a-check span,
html[data-s2a-theme="dark"] .s2a-form-grid label,
html[data-s2a-theme="dark"] .s2a-owner-filters label { color: var(--dk-text-2) !important; }

html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login, .s2a-qr-shell, .s2a-login-shell) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="color"]), select, textarea) {
  background: var(--dk-input) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; box-shadow: none !important; }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login, .s2a-qr-shell, .s2a-login-shell) :is(input, textarea)::placeholder { color: #7187a4 !important; opacity: 1; }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login, .s2a-qr-shell, .s2a-login-shell) :is(input, select, textarea):focus { border-color: var(--dk-accent) !important; box-shadow: 0 0 0 3px rgba(91, 155, 255, .22) !important; outline: none; }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login) :is(input, select, textarea):disabled,
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login) input[readonly] { background: rgba(255, 255, 255, .03) !important; color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] select option { background: #0e2036; color: var(--dk-text); }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell, .s2a-auth-shell, .s2a-register-shell, .s2a-owner-login) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--dk-accent); }
html[data-s2a-theme="dark"] input[type="file"]::file-selector-button { background: var(--dk-raise); color: var(--dk-text); border: 1px solid var(--dk-line-2); border-radius: 8px; padding: 6px 12px; margin-right: 10px; }
html[data-s2a-theme="dark"] .s2a-upload-field small,
html[data-s2a-theme="dark"] .s2a-upload-field p { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-upload-field strong,
html[data-s2a-theme="dark"] .s2a-upload-field b { color: var(--dk-text) !important; }

/* --------------------------------------------------------------------------
   7. Buttons + links
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-btn--secondary,
html[data-s2a-theme="dark"] .s2a-btn--ghost,
html[data-s2a-theme="dark"] .s2a-btn--light,
html[data-s2a-theme="dark"] .s2a-btn--outline,
html[data-s2a-theme="dark"] .s2a-notice-read-btn,
html[data-s2a-theme="dark"] .s2a-payment-manage-packs,
html[data-s2a-theme="dark"] .s2a-owner-filter-actions > a,
html[data-s2a-theme="dark"] .s2a-front-admin .s2a-btn:not(.s2a-btn--primary):not(.s2a-btn--danger),
html[data-s2a-theme="dark"] .s2a-dashboard-shell .s2a-btn:not(.s2a-btn--primary):not(.s2a-btn--danger) { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-btn--secondary:hover,
html[data-s2a-theme="dark"] .s2a-btn--ghost:hover,
html[data-s2a-theme="dark"] .s2a-notice-read-btn:hover,
html[data-s2a-theme="dark"] .s2a-owner-filter-actions > a:hover,
html[data-s2a-theme="dark"] .s2a-front-admin .s2a-btn:not(.s2a-btn--primary):not(.s2a-btn--danger):hover,
html[data-s2a-theme="dark"] .s2a-dashboard-shell .s2a-btn:not(.s2a-btn--primary):not(.s2a-btn--danger):hover { background: var(--dk-raise) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-pack-hero__actions .s2a-btn--ghost span { background: rgba(255, 255, 255, .1) !important; color: inherit !important; }
html[data-s2a-theme="dark"] .s2a-delivery-card__head > a,
html[data-s2a-theme="dark"] .s2a-delivery-table td > a,
html[data-s2a-theme="dark"] .s2a-front-admin__card-head a,
html[data-s2a-theme="dark"] .s2a-card-head a:not(.s2a-btn),
html[data-s2a-theme="dark"] .s2a-owner-card__head a { color: var(--dk-link) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-hero__carrier strong,
html[data-s2a-theme="dark"] .s2a-delivery-webhook-status strong { color: var(--dk-blue-tx) !important; }

/* --------------------------------------------------------------------------
   8. Tables
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) table { background: var(--dk-panel) !important; color: var(--dk-text-2) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) th { background: #0f2742 !important; color: var(--dk-text) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) td { background: transparent !important; color: var(--dk-text-2) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] :is(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) tbody tr:hover td { background: rgba(255, 255, 255, .025) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__table,
html[data-s2a-theme="dark"] .s2a-front-admin__tr { background: var(--dk-panel) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__tr.is-head { background: #0f2742 !important; color: var(--dk-text) !important; }

/* --------------------------------------------------------------------------
   9. Charts + data viz (tracks become dark, data colours stay)
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-student-stats__month-grid article > i { background: linear-gradient(180deg, #0f2238, #0b1a2d) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-student-stats__year-grid article > i,
html[data-s2a-theme="dark"] .s2a-owner-top-class-bars__track,
html[data-s2a-theme="dark"] .s2a-owner-student-class-bars__track,
html[data-s2a-theme="dark"] .s2a-owner-class-bars__track,
html[data-s2a-theme="dark"] .s2a-owner-current-class-bars__track,
html[data-s2a-theme="dark"] .s2a-owner-class-flow-grid__bar,
html[data-s2a-theme="dark"] .s2a-owner-status-stack,
html[data-s2a-theme="dark"] .s2a-owner-student-class-bars__track + div,
html[data-s2a-theme="dark"] .s2a-owner-bars-track { background: rgba(143, 176, 222, .14) !important; }
html[data-s2a-theme="dark"] .s2a-owner-bar__plot { background: linear-gradient(to top, rgba(143, 176, 222, .08), transparent) !important; }
html[data-s2a-theme="dark"] .s2a-owner-bar__plot span b { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-owner-pie { box-shadow: 0 14px 34px rgba(0, 0, 0, .35) !important; }
html[data-s2a-theme="dark"] .s2a-owner-pie.is-donut::after { background: var(--dk-panel) !important; box-shadow: 0 0 0 1px var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-owner-pie.is-solid { border-color: var(--dk-panel) !important; }
html[data-s2a-theme="dark"] .s2a-owner-pie__center strong,
html[data-s2a-theme="dark"] .s2a-owner-ring strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-owner-pie__center span,
html[data-s2a-theme="dark"] .s2a-owner-ring span,
html[data-s2a-theme="dark"] .s2a-owner-ring small { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-owner-ring { background: conic-gradient(#5b9bff calc(var(--ring-value) * 1%), rgba(143, 176, 222, .16) 0) !important; }
html[data-s2a-theme="dark"] .s2a-owner-ring::before { background: var(--dk-panel) !important; box-shadow: inset 0 0 0 1px var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-card svg text { fill: var(--dk-muted); }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-card svg line,
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-card svg .grid,
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-card svg [class*="grid"] { stroke: rgba(143, 176, 222, .16); }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-card :is(header, .s2a-performance-v4__chart-head) { border-color: var(--dk-line) !important; }

/* --------------------------------------------------------------------------
   10. Auth + registration + owner login
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-auth-card,
html[data-s2a-theme="dark"] .s2a-register-card { background: var(--dk-panel) !important; border-color: var(--dk-line) !important; color: var(--dk-text) !important; box-shadow: 0 24px 70px rgba(0, 0, 0, .45) !important; }
html[data-s2a-theme="dark"] .s2a-auth-card__head h2 { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-auth-card p,
html[data-s2a-theme="dark"] .s2a-register-card p { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-auth-card a:not(.s2a-btn),
html[data-s2a-theme="dark"] .s2a-register-card a:not(.s2a-btn) { color: var(--dk-link) !important; }
html[data-s2a-theme="dark"] .s2a-brand-mark,
html[data-s2a-theme="dark"] .s2a-auth-brand-logo { background: rgba(255, 255, 255, .94) !important; } /* colour logo needs a light plate */
html[data-s2a-theme="dark"] .s2a-owner-login { background: var(--dk-bg) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-owner-login__form-wrap { background: radial-gradient(circle at 100% 0, rgba(76, 141, 255, .16), transparent 45%), var(--dk-bg) !important; }
html[data-s2a-theme="dark"] .s2a-owner-login__card { background: var(--dk-panel) !important; border-color: var(--dk-line) !important; box-shadow: 0 24px 70px rgba(0, 0, 0, .45) !important; }
html[data-s2a-theme="dark"] .s2a-owner-login__card :is(p, small, .s2a-owner-login__security) { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-owner-login__card label { color: var(--dk-text-2) !important; }

/* --------------------------------------------------------------------------
   11. Pop-overs, menus, toasts, modals
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] :is(.s2a-notification-popover__panel, .s2a-notification-panel, .s2a-notification-dropdown, .s2a-admin-notification-panel, .s2a-admin-notification-dropdown, .s2a-popover, .s2a-modal__dialog, .s2a-modal-card, .s2a-toast) { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; box-shadow: 0 24px 60px rgba(0, 0, 0, .55) !important; }
html[data-s2a-theme="dark"] :is(.s2a-notification-popover__panel, .s2a-notification-panel, .s2a-notification-dropdown, .s2a-admin-notification-panel, .s2a-admin-notification-dropdown) :is(a, li, article) { border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] :is(.s2a-notification-popover__panel, .s2a-notification-panel, .s2a-notification-dropdown, .s2a-admin-notification-panel, .s2a-admin-notification-dropdown) :is(strong, h3, h4) { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-dashboard-overlay,
html[data-s2a-theme="dark"] .s2a-front-admin__overlay { background: rgba(2, 8, 16, .7) !important; }

/* empty states + misc text */
html[data-s2a-theme="dark"] .s2a-empty-state { background: transparent !important; color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-empty-state strong,
html[data-s2a-theme="dark"] .s2a-empty-state h3 { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-my-classes-student > span,
html[data-s2a-theme="dark"] .s2a-ops-score > span,
html[data-s2a-theme="dark"] .s2a-delivery-track span,
html[data-s2a-theme="dark"] .s2a-tute-delivery-card span,
html[data-s2a-theme="dark"] .s2a-delivery-card span { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-eyebrow,
html[data-s2a-theme="dark"] .s2a-kicker { color: var(--dk-accent) !important; }
html[data-s2a-theme="dark"] hr,
html[data-s2a-theme="dark"] .s2a-divider { border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-portal-page :is(code, kbd) { background: rgba(255, 255, 255, .07); color: var(--dk-text); }

/* scrollbars */
html[data-s2a-theme="dark"] .s2a-portal-page * { scrollbar-color: rgba(143, 176, 222, .28) transparent; }

/* --------------------------------------------------------------------------
   12. Remaining components (round 2 of the audit)
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-topbar-profile strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-topbar-profile small { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-register-shell, .s2a-auth-shell, .s2a-front-admin, .s2a-owner-shell) label,
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-register-shell, .s2a-auth-shell, .s2a-front-admin, .s2a-owner-shell) label > span:first-child { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-bank-grid > article b,
html[data-s2a-theme="dark"] .s2a-bank-grid > article code { background: rgba(255, 255, 255, .06) !important; border-color: var(--dk-line) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-bank-grid > article img { background: #fff; border-radius: 8px; padding: 3px; } /* bank logos are designed for white */
html[data-s2a-theme="dark"] .s2a-front-admin__student-list > a > span { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-student-stats__summary > span,
html[data-s2a-theme="dark"] .s2a-student-stats__legacy-summary > span { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-owner-location-list > article > div,
html[data-s2a-theme="dark"] .s2a-owner-class-compare-bars > div > i { background: rgba(143, 176, 222, .14) !important; }
html[data-s2a-theme="dark"] .s2a-class-video-group__toggle { background: linear-gradient(135deg, #123a6a, #0f2d52) !important; }
html[data-s2a-theme="dark"] .s2a-class-video-group__toggle em { color: rgba(255, 255, 255, .82) !important; }
html[data-s2a-theme="dark"] .s2a-ops-tabs a.is-active,
html[data-s2a-theme="dark"] .s2a-ops-tabs button.is-active,
html[data-s2a-theme="dark"] .s2a-ops-tabs .is-active,
html[data-s2a-theme="dark"] .s2a-mode-switch .is-active,
html[data-s2a-theme="dark"] .s2a-mode-switch a.is-active,
html[data-s2a-theme="dark"] .s2a-paper-class-tabs > a.is-active,
html[data-s2a-theme="dark"] .s2a-payment-channel-tabs > a.is-active,
html[data-s2a-theme="dark"] .s2a-delivery-manager .s2a-delivery-tabs a.is-active { background: var(--dk-accent-strong) !important; border-color: transparent !important; color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-id-check-form i,
html[data-s2a-theme="dark"] .s2a-student-id-check i { background: var(--dk-accent-strong) !important; color: #fff !important; }
html[data-s2a-theme="dark"] .s2a-btn--primary,
html[data-s2a-theme="dark"] .s2a-front-admin .s2a-btn--primary { background: linear-gradient(135deg, #3478f0, #2459c9) !important; border-color: transparent !important; color: #fff !important; }
/* mobile chrome */
html[data-s2a-theme="dark"] .s2a-mobile-bottom-nav { background: rgba(8, 21, 38, .96) !important; border-color: var(--dk-line-2) !important; box-shadow: 0 16px 42px rgba(0, 0, 0, .55) !important; }
html[data-s2a-theme="dark"] .s2a-mobile-bottom-nav a,
html[data-s2a-theme="dark"] .s2a-mobile-bottom-nav button { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-mobile-bottom-nav a.is-active,
html[data-s2a-theme="dark"] .s2a-mobile-bottom-nav button.is-active { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-mobile-more-sheet,
html[data-s2a-theme="dark"] .s2a-mobile-more-sheet__panel { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-mobile-more-sheet a { color: var(--dk-text-2) !important; border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-owner-menu { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-phase2-list > article > span { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin details > summary,
html[data-s2a-theme="dark"] .s2a-front-admin details > summary > span,
html[data-s2a-theme="dark"] .s2a-ops-manage-grid summary span { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin details > summary small { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-pipeline b { background: linear-gradient(90deg, #4f8ff7 var(--s2a-pipe), rgba(143, 176, 222, .16) var(--s2a-pipe)) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-pipeline span { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-wrap { background: linear-gradient(180deg, rgba(76, 141, 255, .07), transparent) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__gridline { stroke: rgba(143, 176, 222, .14) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__ylabel,
html[data-s2a-theme="dark"] .s2a-performance-v4__xlabel { fill: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__value { fill: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__point { fill: var(--dk-panel-2) !important; stroke: #5b9bff !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__line { stroke: #5b9bff !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-wrap.is-preview .s2a-performance-v4__line { stroke: rgba(143, 176, 222, .5) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-head strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__chart-head small { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-performance-v4__preview-chip { background: rgba(255, 255, 255, .05) !important; border-color: var(--dk-line) !important; color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-register-shell::before { background-image: linear-gradient(rgba(5, 16, 31, .9), rgba(6, 18, 35, .95)), var(--s2a-register-bg, url('../images/auth-chemistry-bg.svg')) !important; opacity: 1 !important; }
html[data-s2a-theme="dark"] .s2a-register-shell { background: var(--dk-bg) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-ops-manage summary::after,
html[data-s2a-theme="dark"] .s2a-front-admin summary::after { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-ops-export-grid > a > span,
html[data-s2a-theme="dark"] .s2a-full-export-grid > article > span { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; border-color: var(--dk-blue-line) !important; }

/* --------------------------------------------------------------------------
   13. Interactive states + Admin Student 360 page (round 3)
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-notification-dropdown { background: var(--dk-panel-2) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; box-shadow: 0 24px 60px rgba(0, 0, 0, .55) !important; }
html[data-s2a-theme="dark"] .s2a-notification-dropdown__head,
html[data-s2a-theme="dark"] .s2a-notification-dropdown__foot { border-color: var(--dk-line) !important; }
html[data-s2a-theme="dark"] .s2a-notification-dropdown__list,
html[data-s2a-theme="dark"] .s2a-notification-dropdown__foot a,
html[data-s2a-theme="dark"] .s2a-notification-dropdown__head a { background: transparent !important; border-color: var(--dk-line) !important; color: var(--dk-link) !important; }
html[data-s2a-theme="dark"] .s2a-notification-dropdown__list :is(a, article, li) { background: transparent !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-notification-dropdown__list :is(a, article, li):hover { background: rgba(255, 255, 255, .04) !important; }
html[data-s2a-theme="dark"] .s2a-notification-dropdown :is(strong, h3, h4) { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-notification-dropdown :is(small, p, time) { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-mobile-more-sheet__head strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-mobile-more-close { background: rgba(255, 255, 255, .08) !important; border-color: var(--dk-line-2) !important; color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-choice-grid > label,
html[data-s2a-theme="dark"] .s2a-registration-photo-note { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-choice-grid > label b,
html[data-s2a-theme="dark"] .s2a-choice-grid > label strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-choice-grid > label:has(input:checked) { background: var(--dk-blue-bg) !important; border-color: var(--dk-accent) !important; }
/* Admin → Manage Students → student detail */
html[data-s2a-theme="dark"] .s2a-front-admin__detail-head,
html[data-s2a-theme="dark"] .s2a-front-admin__note,
html[data-s2a-theme="dark"] .s2a-front-admin__info > div,
html[data-s2a-theme="dark"] .s2a-student-verification-item,
html[data-s2a-theme="dark"] .s2a-student-editor-section,
html[data-s2a-theme="dark"] .s2a-student-pack-access__assign,
html[data-s2a-theme="dark"] .s2a-ops-student360__cols > div,
html[data-s2a-theme="dark"] .s2a-student-delete-zone__check { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text) !important; box-shadow: none !important; }
html[data-s2a-theme="dark"] .s2a-student-verification-preview,
html[data-s2a-theme="dark"] .s2a-student-admin-file-grid > label,
html[data-s2a-theme="dark"] .s2a-student-verification-file > b { background: var(--dk-raise) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-student-verification-empty { background: rgba(76, 141, 255, .08) !important; border-color: var(--dk-blue-line) !important; color: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-front-admin__detail-avatar { background: var(--dk-blue-bg) !important; color: var(--dk-blue-tx) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-student-backup-zone__body { background: rgba(76, 141, 255, .08) !important; border-color: var(--dk-blue-line) !important; }
html[data-s2a-theme="dark"] .s2a-student-delete-zone__warning { background: var(--dk-red-bg) !important; border-color: var(--dk-red-line) !important; color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-student-delete-zone__warning strong { color: #fff !important; }
html[data-s2a-theme="dark"] :where(.s2a-front-admin__detail-head, .s2a-front-admin__note, .s2a-front-admin__info, .s2a-student-verification-item, .s2a-student-editor-section, .s2a-student-pack-access__assign, .s2a-ops-student360__cols, .s2a-student-backup-zone__body, .s2a-front-admin__detail-copy) :is(strong, h2, h3, h4, dd) { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] :where(.s2a-front-admin__detail-head, .s2a-front-admin__note, .s2a-front-admin__info, .s2a-student-verification-item, .s2a-student-editor-section, .s2a-student-pack-access__assign, .s2a-ops-student360__cols, .s2a-student-backup-zone__body, .s2a-front-admin__detail-copy) :is(p, small, dt) { color: var(--dk-muted) !important; }

/* --------------------------------------------------------------------------
   14. Deep screens found by crawling every portal link (round 4)
   -------------------------------------------------------------------------- */
/* neutral panels */
html[data-s2a-theme="dark"] .s2a-payment-review-info > div,
html[data-s2a-theme="dark"] .s2a-payment-reference-edit,
html[data-s2a-theme="dark"] .s2a-approved-combination-preview,
html[data-s2a-theme="dark"] .s2a-resource-library-head > div,
html[data-s2a-theme="dark"] .s2a-tute-group,
html[data-s2a-theme="dark"] .s2a-tute-group > div,
html[data-s2a-theme="dark"] .s2a-pack-detail-card__stats > span,
html[data-s2a-theme="dark"] .s2a-pack-access-note,
html[data-s2a-theme="dark"] .s2a-pack-active-check,
html[data-s2a-theme="dark"] .s2a-phase2-check,
html[data-s2a-theme="dark"] .s2a-qr-security-metrics > span,
html[data-s2a-theme="dark"] .s2a-qr-security-note,
html[data-s2a-theme="dark"] .s2a-wa-status { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; box-shadow: none !important; }
html[data-s2a-theme="dark"] :where(.s2a-payment-review-info, .s2a-payment-reference-edit, .s2a-approved-combination-preview, .s2a-resource-library-head, .s2a-tute-group, .s2a-pack-access-note, .s2a-qr-security-note, .s2a-pack-detail-card) :is(strong, b, h3, h4) { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] :where(.s2a-payment-review-info, .s2a-payment-reference-edit, .s2a-approved-combination-preview, .s2a-resource-library-head, .s2a-tute-group, .s2a-pack-access-note, .s2a-qr-security-note) :is(small, p, li, em) { color: var(--dk-muted) !important; }
/* blue tints */
html[data-s2a-theme="dark"] .s2a-learning-empty > span,
html[data-s2a-theme="dark"] .s2a-study-pack-payment-pill__thumb,
html[data-s2a-theme="dark"] .s2a-pack-payment-summary__thumb,
html[data-s2a-theme="dark"] .s2a-pack-detail-card__visual { background: radial-gradient(120% 120% at 100% 0, rgba(76, 141, 255, .28), transparent 60%), #10284a !important; border-color: var(--dk-blue-line) !important; color: var(--dk-blue-tx) !important; }
html[data-s2a-theme="dark"] .s2a-pack-detail-card__visual > span { color: #fff !important; }
/* green / amber / red */
html[data-s2a-theme="dark"] .s2a-duplicate-check { background: var(--dk-green-bg) !important; border-color: var(--dk-green-line) !important; color: var(--dk-green-tx) !important; }
html[data-s2a-theme="dark"] .s2a-duplicate-check :is(strong, b) { color: #d7fbe9 !important; }
html[data-s2a-theme="dark"] .s2a-duplicate-check.is-warning, html[data-s2a-theme="dark"] .s2a-duplicate-check.is-duplicate { background: var(--dk-amber-bg) !important; border-color: var(--dk-amber-line) !important; color: var(--dk-amber-tx) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-note { background: var(--dk-amber-bg) !important; border-color: var(--dk-amber-line) !important; color: var(--dk-amber-tx) !important; }
html[data-s2a-theme="dark"] .s2a-delivery-note strong { color: #fff3c4 !important; }
html[data-s2a-theme="dark"] .s2a-payment-reject-reason-box { background: linear-gradient(135deg, rgba(248, 113, 113, .12), rgba(248, 113, 113, .04)) !important; border-color: var(--dk-red-line) !important; color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-payment-reject-reason-box :is(label, strong, span) { color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-payment-correction-banner { background: linear-gradient(135deg, rgba(248, 113, 113, .16), rgba(248, 113, 113, .05)) !important; border-color: var(--dk-red-line) !important; }
html[data-s2a-theme="dark"] .s2a-payment-correction-banner small { color: #fca5a5 !important; }
html[data-s2a-theme="dark"] .s2a-payment-correction-banner h3 { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-payment-correction-banner p { color: var(--dk-red-tx) !important; }
/* student detail: danger + backup zones used dark ink */
html[data-s2a-theme="dark"] .s2a-student-delete-zone span,
html[data-s2a-theme="dark"] .s2a-student-delete-zone__head span,
html[data-s2a-theme="dark"] [class*="delete-zone"] > span:first-child { color: #fca5a5 !important; }
html[data-s2a-theme="dark"] .s2a-student-delete-zone__warning > span { color: var(--dk-red-tx) !important; }
html[data-s2a-theme="dark"] .s2a-student-backup-zone__info > span { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-student-verification-file > span { color: var(--dk-muted) !important; }
/* labels inside blue payment totals */
html[data-s2a-theme="dark"] .s2a-class-payment-total em,
html[data-s2a-theme="dark"] .s2a-class-payment-total small { color: rgba(255, 255, 255, .84) !important; }
html[data-s2a-theme="dark"] .s2a-payment-guide-v3 li,
html[data-s2a-theme="dark"] .s2a-slip-instructions li { color: var(--dk-text-2) !important; }
html[data-s2a-theme="dark"] .s2a-tute-group__toggle em,
html[data-s2a-theme="dark"] [class$="-group__toggle"] em { color: rgba(255, 255, 255, .82) !important; }
html[data-s2a-theme="dark"] .s2a-registration-photo-note strong { color: var(--dk-text) !important; }
html[data-s2a-theme="dark"] .s2a-registration-photo-note :is(small, p, span) { color: var(--dk-muted) !important; }
html[data-s2a-theme="dark"] .s2a-tute-group > button em,
html[data-s2a-theme="dark"] .s2a-class-video-group > button em { color: rgba(255, 255, 255, .82) !important; }

/* --------------------------------------------------------------------------
   15. Inline light blocks printed by PHP (style="background:#f8fbff" etc.)
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) [style*="background:#f"],
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) [style*="background: #f"],
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) [style*="background:#e"],
html[data-s2a-theme="dark"] :where(.s2a-dashboard-shell, .s2a-front-admin, .s2a-owner-shell) [style*="background:white"] { background: var(--dk-panel-2) !important; border-color: var(--dk-line) !important; color: var(--dk-text-2) !important; }

/* --------------------------------------------------------------------------
   16. v3.8.2 — Logo plates: the colour S2A logo sits on a white rounded plate
   -------------------------------------------------------------------------- */
html[data-s2a-theme="dark"] .s2a-dashboard-brand img,
html[data-s2a-theme="dark"] .s2a-owner-brand img {
  box-sizing: content-box; padding: 5px 9px; border-radius: 12px; background: #ffffff;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .5), 0 6px 18px -6px rgba(0, 0, 0, .55);
}
html[data-s2a-theme="dark"] .s2a-dashboard-brand img { max-width: 78px !important; max-height: 34px !important; }
html[data-s2a-theme="dark"] .s2a-owner-brand img { width: 64px !important; max-height: 34px !important; }
html[data-s2a-theme="dark"] .s2a-front-admin .s2a-front-admin__sidebar .s2a-front-admin__brand > .s2a-front-admin__brand-logo,
html[data-s2a-theme="dark"] .s2a-front-admin .s2a-front-admin__sidebar .s2a-front-admin__brand > span {
  background: #ffffff !important; border-radius: 14px !important; padding: 5px !important; box-sizing: border-box;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .5), 0 6px 18px -6px rgba(0, 0, 0, .55) !important;
}
html[data-s2a-theme="dark"] .s2a-front-admin__brand-logo img { width: 100%; height: 100%; object-fit: contain; }
html[data-s2a-theme="dark"] .s2a-dashboard-brand { gap: 10px !important; }
html[data-s2a-theme="dark"] .s2a-dashboard-brand > div { min-width: 0; }
html[data-s2a-theme="dark"] .s2a-dashboard-brand strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
