/* theme-light.css — genuine light skin for the /app dashboard.
 *
 * 2026-06-11 — activated by body[data-qtheme="light"], which is set by an
 * early inline snippet (reads quantor.pref.theme: dark | light | system) and
 * kept in sync at runtime by window.qTheme (format-prefs.js). The dashboard's
 * dark styles are hardcoded hexes across styles.css + app.html's inline
 * <style>; rather than rewrite them, this sheet overrides the recurring
 * building blocks with a consistent light palette. Selectors deliberately use
 * TWO attributes (data-qtheme + data-quantor-surface) so they beat the
 * single-attribute dark rules regardless of stylesheet order.
 *
 * Palette:
 *   page bg      #eef2f8     panel bg     #ffffff     inset bg   #f4f7fc
 *   border       #d8e0ee     border-soft  #e4eaf4
 *   text         #16213a     text-soft    #3c4c6b     muted      #64748f
 *   accents (green/red/yellow/blue/purple) unchanged — they read fine on white.
 * Charts re-theme natively via chart.applyOptions (live-cockpit-chart.js).
 * v1 coverage: core surfaces on every page; deliberately conservative —
 * anything not covered stays dark rather than half-styled.
 */

/* ── page chrome ─────────────────────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] {
  background: #eef2f8;
  color: #16213a;
  color-scheme: light;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qPageHead h1,
body[data-qtheme="light"][data-quantor-surface="app"] #qPageTitle {
  color: #101a30;
}
body[data-qtheme="light"][data-quantor-surface="app"] #qPageSub,
body[data-qtheme="light"][data-quantor-surface="app"] .muted {
  color: #64748f;
}

/* ── sidebar ─────────────────────────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .qSidebar {
  background: #ffffff;
  border-right: 1px solid #d8e0ee;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__item {
  color: #3c4c6b;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__item:hover {
  background: #f0f4fa;
  color: #101a30;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__item.is-active {
  background: #e8eefb;
  color: #1b2a4a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__foot,
body[data-qtheme="light"][data-quantor-surface="app"] .qSbAcct {
  color: #3c4c6b;
}

/* ── shared panel / card surfaces ────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .card,
body[data-qtheme="light"][data-quantor-surface="app"] .cpPanel,
body[data-qtheme="light"][data-quantor-surface="app"] .accCard,
body[data-qtheme="light"][data-quantor-surface="app"] .qbTableWrap,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine,
body[data-qtheme="light"][data-quantor-surface="app"] .jrTableWrap,
body[data-qtheme="light"][data-quantor-surface="app"] .jrDetail,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartWrap,
body[data-qtheme="light"][data-quantor-surface="app"] .cpMission,
body[data-qtheme="light"][data-quantor-surface="app"] .cpDecBox,
body[data-qtheme="light"][data-quantor-surface="app"] .insCard,
body[data-qtheme="light"][data-quantor-surface="app"] .btTile,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell,
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionRow,
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi {
  background: #ffffff;
  border-color: #d8e0ee;
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell,
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell__ic {
  background: #f4f7fc;
  border-color: #e4eaf4;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell__k {
  color: #64748f;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpPanel__title,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartHead__title {
  color: #3c4c6b;
}
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartHead,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartRail {
  border-color: #e4eaf4;
}

/* ── tables (bots fleet, journal) ────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .qbTable thead th,
body[data-qtheme="light"][data-quantor-surface="app"] .jrTable thead th {
  background: #ffffff;
  color: #64748f;
  border-bottom: 1px solid #d8e0ee;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qbTable tbody td,
body[data-qtheme="light"][data-quantor-surface="app"] .jrTable tbody td {
  border-color: #edf1f8;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qbBot__name,
body[data-qtheme="light"][data-quantor-surface="app"] .jrBot__name,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__name {
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qbTableWrap--grid .qbRow {
  background: #ffffff;
  border-color: #d8e0ee;
}

/* ── inputs / selects / buttons ──────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .input,
body[data-qtheme="light"][data-quantor-surface="app"] select,
body[data-qtheme="light"][data-quantor-surface="app"] .accInput,
body[data-qtheme="light"][data-quantor-surface="app"] .accSelect,
body[data-qtheme="light"][data-quantor-surface="app"] .qbSel,
body[data-qtheme="light"][data-quantor-surface="app"] .qbSearch input,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSearch input {
  background: #f4f7fc;
  border-color: #d8e0ee;
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qbSearch input:focus,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSearch input:focus {
  border-color: #9db4dd;
}
body[data-qtheme="light"][data-quantor-surface="app"] .btn,
body[data-qtheme="light"][data-quantor-surface="app"] .accBtn,
body[data-qtheme="light"][data-quantor-surface="app"] .qbIconBtn,
body[data-qtheme="light"][data-quantor-surface="app"] .cpMcBtn,
body[data-qtheme="light"][data-quantor-surface="app"] .qbResetBtn {
  border-color: #c9d5ea;
  color: #2c3a55;
}
body[data-qtheme="light"][data-quantor-surface="app"] .btn:hover,
body[data-qtheme="light"][data-quantor-surface="app"] .accBtn:hover,
body[data-qtheme="light"][data-quantor-surface="app"] .qbIconBtn:hover {
  background: #f0f4fa;
}

/* ── key-value rows, dividers, notes ─────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .cpKv,
body[data-qtheme="light"][data-quantor-surface="app"] .accRow,
body[data-qtheme="light"][data-quantor-surface="app"] .cpDecRow {
  border-color: #edf1f8;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpKv__k,
body[data-qtheme="light"][data-quantor-surface="app"] .accRowLabel,
body[data-qtheme="light"][data-quantor-surface="app"] .cpDecRow__k,
body[data-qtheme="light"][data-quantor-surface="app"] .accNote,
body[data-qtheme="light"][data-quantor-surface="app"] .accEditHint,
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionMeta {
  color: #64748f;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpKv__v,
body[data-qtheme="light"][data-quantor-surface="app"] .accRowValueText,
body[data-qtheme="light"][data-quantor-surface="app"] .accIdentityName,
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionName {
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpPolicy__list li,
body[data-qtheme="light"][data-quantor-surface="app"] .cpPosNote,
body[data-qtheme="light"][data-quantor-surface="app"] .dtCheck__detail {
  color: #3c4c6b;
}

/* ── decision tape ───────────────────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .lcTape,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeWrap {
  background: #ffffff;
  border-color: #d8e0ee;
}
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeRow {
  border-color: #edf1f8;
}
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeReason {
  color: #3c4c6b;
}

/* ── status pills / banners (keep accent hues, lift backgrounds) ─── */
body[data-qtheme="light"][data-quantor-surface="app"] .qbBanner,
body[data-qtheme="light"][data-quantor-surface="app"] #betaWelcomeBanner {
  background: #f4f7fc;
  border-color: #d8e0ee;
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__btn {
  border-color: #c9d5ea;
  color: #2c3a55;
}

/* ── modals / dialogs ────────────────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] .modalOverlay [class*="modal"],
body[data-qtheme="light"][data-quantor-surface="app"] [role="dialog"] .card {
  background: #ffffff;
  border-color: #d8e0ee;
  color: #16213a;
}

/* ── cockpit polish (v1.1, found in live verification 2026-06-11) ── */
/* Today strip was still dark; Risk-Gate labels were near-white on white. */
body[data-qtheme="light"][data-quantor-surface="app"] .todayCard {
  background: #ffffff;
  border-color: #d8e0ee;
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpRow {
  border-color: #edf1f8;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpRow__label {
  color: #3c4c6b;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpReason {
  background: #f4f7fc;
  border-color: #e4eaf4;
  color: #3c4c6b;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpReason__k {
  color: #64748f;
}
body[data-qtheme="light"][data-quantor-surface="app"] .liveCockpitPanel summary,
body[data-qtheme="light"][data-quantor-surface="app"] details > summary {
  color: #3c4c6b;
}

/* ── v1.2 — full-app contrast sweep (2026-06-11, Pavel: «часть текста
   остаётся белой»). Built from an automated luminance audit across all 10
   pages: every class that rendered light-on-light, grouped by colour family.
   Accent hues stay semantic but switch to dark-on-light variants. */

/* A. near-white body text → dark slate */
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val,
body[data-qtheme="light"][data-quantor-surface="app"] .qbStat__lbl,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__title,
body[data-qtheme="light"][data-quantor-surface="app"] .jrCell--pair,
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val,
body[data-qtheme="light"][data-quantor-surface="app"] .insPanel__title,
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__name,
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__num,
body[data-qtheme="light"][data-quantor-surface="app"] .dtHead__title,
body[data-qtheme="light"][data-quantor-surface="app"] .accCardTitle,
body[data-qtheme="light"][data-quantor-surface="app"] .accCheckLabel,
body[data-qtheme="light"][data-quantor-surface="app"] .accNotifLabel,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode__title,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__name,
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__val,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartPrice,
body[data-qtheme="light"][data-quantor-surface="app"] main strong {
  color: #16213a;
}

/* B. secondary copy → readable slate */
body[data-qtheme="light"][data-quantor-surface="app"] .qbBanner__txt,
body[data-qtheme="light"][data-quantor-surface="app"] .jrBanner__txt,
body[data-qtheme="light"][data-quantor-surface="app"] .insBetaBar__txt,
body[data-qtheme="light"][data-quantor-surface="app"] .accLead,
body[data-qtheme="light"][data-quantor-surface="app"] .jrReason,
body[data-qtheme="light"][data-quantor-surface="app"] .jrPrice,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine span,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks li,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__lines span,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkBtn--ghost,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartRefreshBtn,
body[data-qtheme="light"][data-quantor-surface="app"] .accChecklist a {
  color: #2c3a55;
}

/* C. muted / meta text → mid slate */
body[data-qtheme="light"][data-quantor-surface="app"] .jrCell--time,
body[data-qtheme="light"][data-quantor-surface="app"] .jrTag--soon,
body[data-qtheme="light"][data-quantor-surface="app"] .jrReset,
body[data-qtheme="light"][data-quantor-surface="app"] .insTag--soon,
body[data-qtheme="light"][data-quantor-surface="app"] .insBadge,
body[data-qtheme="light"][data-quantor-surface="app"] .btPreset,
body[data-qtheme="light"][data-quantor-surface="app"] .btTag--soon,
body[data-qtheme="light"][data-quantor-surface="app"] .btFoot__export,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode__sub,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPill--off,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__tf,
body[data-qtheme="light"][data-quantor-surface="app"] .todayCard__label,
body[data-qtheme="light"][data-quantor-surface="app"] .dashStatusPill__label,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartPriceSymbol,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__fleet,
body[data-qtheme="light"][data-quantor-surface="app"] .jrTable .material-symbols-rounded,
body[data-qtheme="light"][data-quantor-surface="app"] .jrReset .material-symbols-rounded,
body[data-qtheme="light"][data-quantor-surface="app"] .btFoot__export .material-symbols-rounded {
  color: #5b6b8c;
}

/* D. accents — same hue, dark-on-light strength */
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell__v.cpTone-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .lcLiveBadge,
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--ok,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSig--BUY,
body[data-qtheme="light"][data-quantor-surface="app"] .accStatus.acc-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .accStatus.acc-ok .material-symbols-rounded,
body[data-qtheme="light"][data-quantor-surface="app"] .accBadge--current,
body[data-qtheme="light"][data-quantor-surface="app"] .accSaveMsg,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkBadge--active,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks__ok,
body[data-qtheme="light"][data-quantor-surface="app"] .accChecklist .material-symbols-rounded,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--ok,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartLegend__chip--candle,
body[data-qtheme="light"][data-quantor-surface="app"] main strong[style*="86efac"],
body[data-qtheme="light"][data-quantor-surface="app"] .billingFreeNote strong {
  color: #0e9f6e;
}
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartPriceDir--up,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartPriceChange--up {
  color: #15803d;
}
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell__v.cpTone-warn,
body[data-qtheme="light"][data-quantor-surface="app"] .jrAct--supp,
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__txt,
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__txt strong,
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__link,
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .btDisclaimer__txt,
body[data-qtheme="light"][data-quantor-surface="app"] .btDisclaimer__ic {
  color: #92610a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .jrGate,
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--tf,
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--new,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPill--soon,
body[data-qtheme="light"][data-quantor-surface="app"] .insBetaBar__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .jrBanner__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .btPreset.is-active {
  color: #1d4ed8;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--strat {
  color: #6d28d9;
}

/* v1.2 residuals (post-deploy re-audit): journal KPI cards stayed dark;
   HOLD / NO-ACTION pills + detail placeholder were too pale. */
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi {
  background: #ffffff;
  border-color: #d8e0ee;
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi [class*="__val"],
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi [class*="__num"] {
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi [class*="__lbl"],
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi [class*="__sub"],
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi [class*="__hint"] {
  color: #5b6b8c;
}
body[data-qtheme="light"][data-quantor-surface="app"] .jrSig--HOLD,
body[data-qtheme="light"][data-quantor-surface="app"] .jrAct--none,
body[data-qtheme="light"][data-quantor-surface="app"] .jrDetail__phT {
  color: #5b6b8c;
}

/* E. bug-report FAB — amber pill goes solid-light so the label reads */
body[data-qtheme="light"] .bugReportFab {
  background: #fef3c7;
  border-color: #d9a514;
  color: #92610a;
}
body[data-qtheme="light"] .bugReportFab__label {
  color: #92610a;
}

/* ── v1.3 full-app contrast sweep #2 (live audit 2026-06-12) ─────── */
/* Pavel: «часть текста остаётся белой». Root causes found live:
   (a) status pills / sidebar PAPER box kept dark-ish translucent chrome,
   (b) a long tail of muted-grey label classes from styles.css,
   (c) pastel accent colors (light green/red/blue/purple/yellow) unreadable
       on white. Bulk rules first, tone-specific after (later wins ties). */

/* (b) bulk muted-label lift — attribute-substring catch for label families */
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__lbl"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__sub"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__label"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__meta"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__hint"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__k"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__id"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__ph"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__count"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__item"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__ctx"],
body[data-qtheme="light"][data-quantor-surface="app"] main th,
body[data-qtheme="light"][data-quantor-surface="app"] main code,
body[data-qtheme="light"][data-quantor-surface="app"] .accIdentityEmail,
body[data-qtheme="light"][data-quantor-surface="app"] .accCardSub,
body[data-qtheme="light"][data-quantor-surface="app"] .btPreset,
body[data-qtheme="light"][data-quantor-surface="app"] .insBadge,
body[data-qtheme="light"][data-quantor-surface="app"] .jrReset,
body[data-qtheme="light"][data-quantor-surface="app"] .btFoot__export {
  color: #44536f;
}
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="--soon"] {
  color: #5d6e8c;
}
body[data-qtheme="light"][data-quantor-surface="app"] .accCheckLabel {
  color: #16213a;
}

/* (a) chips / pills / sidebar boxes that kept dark chrome */
body[data-qtheme="light"][data-quantor-surface="app"] .dashStatusPill {
  background: #ffffff;
  border-color: #d8e0ee;
  color: #16213a;
}
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__paper {
  background: rgba(109, 40, 217, .07);
  border-color: rgba(109, 40, 217, .25);
}
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__paperTop { color: #6d28d9; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__paperSub { color: #5d6e8c; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__acctName { color: #16213a; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__acctEnv  { color: #64748f; }

/* (c) accent text darkened to readable-on-white shades.
   Greens. */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .lcLiveBadge,
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--ok,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--ok,
body[data-qtheme="light"][data-quantor-surface="app"] .jrAct--exec,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSig--BUY,
body[data-qtheme="light"][data-quantor-surface="app"] .acc-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .accBadge--current,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkBadge--active,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks__ok,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartLegend__chip--candle,
body[data-qtheme="light"][data-quantor-surface="app"] #quickCheckoutPanel strong {
  color: #047857;
}
/* Reds. */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-bad,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--bad,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSig--SELL,
body[data-qtheme="light"][data-quantor-surface="app"] .jrResult--loss,
body[data-qtheme="light"][data-quantor-surface="app"] .qbPill--bad {
  color: #dc2626;
}
/* Blues. */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-info,
body[data-qtheme="light"][data-quantor-surface="app"] .qbPill--paper,
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--tf,
body[data-qtheme="light"][data-quantor-surface="app"] .jrGate,
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .insPanel__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .qbBanner__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .jrBanner__ic,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode__ic {
  color: #1d4ed8;
}
/* Yellows / warnings. */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-warn,
body[data-qtheme="light"][data-quantor-surface="app"] .jrAct--supp {
  color: #b45309;
}
/* Purples. */
body[data-qtheme="light"][data-quantor-surface="app"] .accLink,
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--strat,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartLegend__chip--rsi {
  color: #6d28d9;
}
/* Today card P&L strongs (pastel green/red on white card). */
body[data-qtheme="light"][data-quantor-surface="app"] .todayCard strong {
  filter: brightness(.62) saturate(1.6);
}

/* ── v1.4 enforcement layer (live matched-rule audit 2026-06-12) ───
   Root cause of the lingering washed-out text: earlier light-theme PRs
   (#367/#371) accreted HIGHER-specificity rules in THIS file (e.g.
   `.cpCell__v.cpTone-ok` = 2 classes) that out-rank the v1.3 single-class
   overrides, so the lighter colors kept winning. Rather than chase every
   compound selector, this layer pins the readable values with !important.
   Justified: a theme skin deliberately overriding an accreted base. All
   values verified ≥4.5:1 on the white (#fff) panels. */

/* (A) muted / mono / table-head / label families → readable slate */
body[data-qtheme="light"][data-quantor-surface="app"] .muted,
body[data-qtheme="light"][data-quantor-surface="app"] .lcMono,
body[data-qtheme="light"][data-quantor-surface="app"] .lcRange,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeTime,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeStatus,
body[data-qtheme="light"][data-quantor-surface="app"] main th,
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__lbl"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__sub"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__meta"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__hint"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__ctx"],
body[data-qtheme="light"][data-quantor-surface="app"] main [class*="__count"] {
  color: #41506c !important;
}

/* (B) green status tones */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .lcLiveBadge,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeSignal--BUY,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--exec,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--ok,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSig--BUY,
body[data-qtheme="light"][data-quantor-surface="app"] .jrAct--exec,
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--ok,
body[data-qtheme="light"][data-quantor-surface="app"] .acc-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .accBadge--current,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkBadge--active,
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks__ok {
  color: #047857 !important;
}

/* (C) red status tones */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-bad,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeSignal--SELL,
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--bad,
body[data-qtheme="light"][data-quantor-surface="app"] .jrSig--SELL,
body[data-qtheme="light"][data-quantor-surface="app"] .jrResult--loss,
body[data-qtheme="light"][data-quantor-surface="app"] .qbPill--bad {
  color: #dc2626 !important;
}

/* (D) blue / info tones + accent icons */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-info,
body[data-qtheme="light"][data-quantor-surface="app"] .qbPill--paper,
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--tf,
body[data-qtheme="light"][data-quantor-surface="app"] .jrGate,
body[data-qtheme="light"][data-quantor-surface="app"] main .material-symbols-rounded[class*="__ic"] {
  color: #1d4ed8 !important;
}

/* (E) amber / warn tones */
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-warn,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--supp,
body[data-qtheme="light"][data-quantor-surface="app"] .jrAct--supp {
  color: #b45309 !important;
}

/* (F) purple accents */
body[data-qtheme="light"][data-quantor-surface="app"] .accLink,
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--strat,
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartLegend__chip--rsi {
  color: #6d28d9 !important;
}

/* (G) low-contrast translucent state badges (rgba ~0.7 on white) */
body[data-qtheme="light"][data-quantor-surface="app"] .lcStateBadge,
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeClearBtn {
  color: #41506c !important;
}

/* ── scroll / selection niceties ─────────────────────────────────── */
body[data-qtheme="light"][data-quantor-surface="app"] ::selection {
  background: rgba(96, 165, 250, .25);
}

/* ===================================================================
   v1.5 GENERATED contrast layer (gen_light_contrast.py, 2026-06-12)
   Deterministic sweep: every app.html-inline rule that set a TEXT color
   too light for the white light-theme panels, reclassified by saturation
   to a readable dark tone. Rules that paint their own background are
   skipped (co-designed chip/badge fg+bg pairs stay intact). Regenerate
   with: python3 gen_light_contrast.py
   =================================================================== */
/* generated: 322 contrast overrides */
body[data-qtheme="light"][data-quantor-surface="app"] .accAvatarInitials { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accBtn--danger { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accCardSub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accCardTitle { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accCheck.acc-muted .accCheckLabel { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accCheck.acc-muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accCheck.acc-ok .accCheckLabel { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accCheck.acc-ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accEditHint { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accEditLabel { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accEditStatus { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accEditStatus--err { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accEditStatus--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accIdentityEmail { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accIdentityName { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accLead { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accLink { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accLink:hover { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accLoading { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accMono { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accNote { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accNotifIcon { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accNotifLabel { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accRowLabel { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accRowValue { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accSaveMsg { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionIcon { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionMeta { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionName { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accStatus.acc-muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accStatus.acc-ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accStatus.acc-warn { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btCtl__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btDisclaimer__ic { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btDisclaimer__txt strong { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btDisclaimer__txt { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btFoot__meta { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btFoot__sep { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__ic { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__link { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__txt strong { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btGate__txt { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btMini__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btMini__v { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btNote { color: #41506c !important; }
/* 2026-06-12 - backtest equity/underwater legend + distribution heatmap (light theme) */
body[data-qtheme="light"][data-quantor-surface="app"] .btChartLegend { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHmNote { color: #5b6b86 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__day,
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__hr { color: #5b6b86 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell { background: rgba(20,40,80,.05) !important; color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell--none { background: rgba(20,40,80,.03) !important; color: #aab6cb !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell--l0 { background: rgba(220,38,38,.6) !important; color: #fff !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell--l1 { background: rgba(220,38,38,.22) !important; color: #b91c1c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell--l2 { background: rgba(217,119,6,.26) !important; color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell--l3 { background: rgba(5,150,105,.24) !important; color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btHm__cell--l4 { background: rgba(5,150,105,.55) !important; color: #fff !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btPlaceholder .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btPlaceholder__s { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btPlaceholder__t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btPreset:hover { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btPresets__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btSection__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btSection__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btSection__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btStat__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btStat__v { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btStat__v--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btStat__v--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__val { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__val--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__val--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btTile__val--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapAllocEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapAllocNote { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapAlloc__pct { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapAlloc__sym { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapCard__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapCard__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapChartEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapEmpty__s { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapEmpty__t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapStat__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapStat__v { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapStat__v--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapStat__v--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapStat__v--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapTab:hover:not(.is-active) { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpDecRow__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpDiagWrap > summary { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpKv__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpMcLabel { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPolicy__h { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPolicy__list li { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpTitleIc { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-info { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpTone-warn { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCard__ic .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCard__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCard__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCheck__detail { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCheck__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtGate__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtHead__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtHead__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtMetric__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtMetric__val { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtStamp { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtState__reason { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtState__val--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtState__val--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtState__val--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtState__val--warn { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtSym__ic .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtSym__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtSym__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__ic { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__ic--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__ic--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__ic--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__lbl--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell__tf { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfSummary { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insBetaBar__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insBetaBar__txt strong { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insBetaBar__txt { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--calm { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--dang { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--new { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--off { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard__val--vol { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insConclusion .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insEmpty__t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__ctx { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__num { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__num--calm { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__num--dang { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__num--off { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__num--vol { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGauge__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGauge__title { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGauge__val { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGauge__val--calm { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGauge__val--dang { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGauge__val--vol { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insLeg { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insMeta { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insPanel__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insPanel__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insPanel__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insQuote__mark { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow--soon .insRow__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow__t { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow__t--calm { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow__t--dang { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow__t--off { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insRow__t--vol { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insStripBar__empty { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insStrip__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insStrip__title { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insSummary__fine { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insSummary__note { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrBanner__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrBanner__txt strong { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrBanner__txt { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrBot__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrCell--pair { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrCell--time { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__check { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__checkIc.is-off { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__checkIc.is-ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__close:hover { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__expl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__sec { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__soonBox .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__soonTxt span { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__soonTxt strong { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__v { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrD__when { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrDetail__phT { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrDetail__placeholder .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrDetail__placeholder { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrEmpty { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrEmpty__t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrFoot__count { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__val { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__val--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__val--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi__val--warn { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrMuted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrPrice { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrReason { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrResult--loss { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrResult--ok { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrResult--win { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrSearch .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartBar { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartHead__title { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartRail .t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcLiveBadge { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--exec { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--none { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--supp { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--wait { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeOutcome--block { color: #b91c1c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeReason { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeSignal--BUY { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeSignal--HOLD { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeSignal--SELL { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcTapeTime { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qHelp:focus-visible { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qPageHead h1 { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__acctEnv { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__acctName { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__item { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__item.is-active .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__paperSub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__paperTop { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbBanner__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbBanner__txt strong { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbBanner__txt { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbBot__id { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbBot__meta { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbBot__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbChip--tf { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEmpty { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEmpty__t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__fleet { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__note .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__state { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__dot { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__live { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__paper { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBotsHead { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBots__empty { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBots__more { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqChartEmpty .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqEmpty__s { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqEmpty__t { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__k { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__v { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__v--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__v--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__v--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqTab:hover:not(.is-active) { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEquity__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEquity__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbFoot__count { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__lbl { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--muted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi__val--warn { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbMuted { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbPg:hover:not(:disabled):not(.is-active) { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbPgEll { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbResetBtn:hover { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbSearch .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbStat__lbl { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbStat__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbTable thead th { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkCard__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkCard__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks li { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks__dot { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkChecks__ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkConsent__head { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkConsent__row strong { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__line .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__line { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__line--bad .material-symbols-rounded { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__line--bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__market { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkExchCard__name { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkField > span { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkFooter .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkLink { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkLink[aria-disabled="true"] { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkLiveRow__note { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkLockNote .material-symbols-rounded { color: #b45309 !important; }
/* 2026-06-12 - the LIVE-not-enabled banner TEXT (Settings) only had its icon
   lightened; the message span inherited the dark-theme near-white colour and
   was near-invisible on the light amber banner. Match it to the icon amber. */
body[data-qtheme="light"][data-quantor-surface="app"] .qbkLockNote { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode--live .qbkMode__ic { color: #b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode__ic { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPerms li { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPerms__bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPerms__na { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPerms__ok { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPrinc .material-symbols-rounded { color: #1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPrinc span { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPrinc strong { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkPrinc--compact .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkShow { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStat__lbl { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStat__sub { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStep__title { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStep__txt strong { color: #16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStep__txt { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkVerifyState .material-symbols-rounded { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkVerifyState { color: #41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkVerifyState.is-bad .material-symbols-rounded { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkVerifyState.is-bad { color: #dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkVerifyState.is-ok .material-symbols-rounded { color: #047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkVerifyState.is-ok { color: #047857 !important; }

/* ===================================================================
   v1.6 GENERATED surface layer (gen_light_bg.py, 2026-06-12)
   Completes the light theme: every app-surface panel/card/inset that the
   v1 theme left DARK now gets a light background, soft border and dark
   base text (the base color also fixes inherited leaves like cpRow__val).
   Sidebar, avatars and the chart-annotation editor are excluded.
   Regenerate with: python3 gen_light_bg.py
   =================================================================== */
/* generated: 53 background overrides */
body[data-qtheme="light"][data-quantor-surface="app"] .accCard { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accInput { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .accSessionRow { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btRun.is-locked { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btSection { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btSel { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapCard { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapTab { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapTab.is-active { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCell__ic { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpMission { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCard { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCheck { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtGate { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtMetric { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtSym { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtTfCell { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insCard { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insFactor__ic { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insGaugeBar { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insPanel { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insStripBar { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrDetail { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrKpi { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrSearch input { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrSel { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrTable thead th { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrTableWrap { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcChartRail .t:hover { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .lcRange--on { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qHamb:active { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qHamb:hover { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qHelp:focus-visible::after { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__btn { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__btn:hover { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEngine__ic { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqTab { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqTab.is-active { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbKpi { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbPg { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbPg.is-active { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbSearch input { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbSel { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbTableWrap { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbTableWrap--grid .qbRow { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbView__b { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbView__b.is-active { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkCard { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkInput { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkMode { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStep:not(:last-child)::before { background: #e7edf8 !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkStep__num { background: #ffffff !important; border-color: #d9e1ee !important; color: #1b2740 !important; }

/* ===================================================================
   v1.7 canvas fix (2026-06-12) — THE dark-canvas root cause.
   styles.css paints body::before + body::after as fixed full-viewport
   dark radial gradients. The v1 light theme lit the body but not these
   pseudo layers, so they showed through transparent panels (the whole
   Insights page read as dark) and in the gaps between opaque cards.
   Neutralise them + pin the light canvas. Plus 3 rgba insets the #hex
   scan missed. =================================================== */
body[data-qtheme="light"][data-quantor-surface="app"] { background: #eef2f8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"]::before,
body[data-qtheme="light"][data-quantor-surface="app"]::after { background: none !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btFoot__item code { background: #f1f5fb !important; border-color: #d9e1ee !important; color: #1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapAlloc__track { background: #f1f5fb !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .insQuote { background: #f1f5fb !important; border-color: #d9e1ee !important; color: #1b2740 !important; }

/* ===================================================================
   v1.8 Insights (qi*) layer — insights-page.js injects its own <style>
   with dark qiCard/qiKpi/qiTone classes that none of the app.html-based
   generators could see. Light overrides for the full qi* palette.
   =================================================================== */
body[data-qtheme="light"][data-quantor-surface="app"] .qiCard{ background:#ffffff !important; border-color:#d9e1ee !important; box-shadow:0 8px 22px rgba(20,40,80,.06) !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiCard__h{ color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiCard__h .material-symbols-rounded{ color:#1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiCard__sub{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiKpi__v{ color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiKpi__s{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTone-ok{ color:#047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTone-warn{ color:#b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTone-bad{ color:#dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTone-info{ color:#1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTone-muted{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiPill{ background:#eef2f8 !important; border-color:#d9e1ee !important; color:#1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiRow__k{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiRow__v{ color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTable th{ color:#41506c !important; background:#f4f7fc !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTf__cell{ background:#f4f7fc !important; border-color:#e2e8f3 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiTf__k{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiInsight{ background:#f4f7fc !important; border-color:#e2e8f3 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiInsight__t{ color:#16213a !important; }
/* 2026-06-12 - keep the semantic tone colours (red/green/amber) in the detail
   rows + rule-based insights. The single-class .qiRow__v/.qiInsight__t overrides
   above have EQUAL specificity to .qiTone-* and come later in the cascade, which
   would otherwise flatten every tone to navy. Two-class selectors win by
   specificity, restoring the at-a-glance colour coding. (muted stays grey.) */
body[data-qtheme="light"][data-quantor-surface="app"] .qiRow__v.qiTone-ok,
body[data-qtheme="light"][data-quantor-surface="app"] .qiInsight__t.qiTone-ok{ color:#047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiRow__v.qiTone-warn,
body[data-qtheme="light"][data-quantor-surface="app"] .qiInsight__t.qiTone-warn{ color:#b45309 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiRow__v.qiTone-bad,
body[data-qtheme="light"][data-quantor-surface="app"] .qiInsight__t.qiTone-bad{ color:#dc2626 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiRow__v.qiTone-info,
body[data-qtheme="light"][data-quantor-surface="app"] .qiInsight__t.qiTone-info{ color:#1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qiEmpty{ color:#41506c !important; border-color:#cdd7e8 !important; }

/* ===================================================================
   v1.9 targeted residuals (live dual-audit 2026-06-12) — SAFE set only:
   leaves currently light-on-light (darken text) + the bots equity panel
   (re-assert white). NO broad catch-all: it created dark-on-dark on the
   still-dark per-module sub-panels (live-cockpit.js lcRules*, etc.).
   =================================================================== */
/* cockpit pale leaves (light text on now-light panels) */
body[data-qtheme="light"][data-quantor-surface="app"] .cpRow__val{ color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPanel__title{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPanel__foot{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPosEmpty__t{ color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPosEmpty__r{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpOpsBar{ color:#047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpPanel .cpRow__icon{ background:#eef2f8 !important; color:#41506c !important; }
/* bots equity panel (qbEq*) — re-assert light + dark text */
body[data-qtheme="light"][data-quantor-surface="app"] .qbEquity,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqChartWrap{ background:#ffffff !important; border-color:#d9e1ee !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat{ background:#f4f7fc !important; border-color:#e2e8f3 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEquity__title,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__v,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqBot__name{ color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEquity__sub,
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqStat__k{ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqTab{ background:#eef2f8 !important; color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqTab.is-active{ background:#e1e8f5 !important; color:#1d4ed8 !important; }
/* pills/badges: darken text (their tint bg is light) */
body[data-qtheme="light"][data-quantor-surface="app"] .dtPill--bad{ color:#b4253f !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .dtCheck__badge--ok{ color:#047857 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbkBadge--locked{ color:#b4253f !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .btChip.is-active{ color:#1d4ed8 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrTag--soon{ color:#5d6e8c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapCard__tag{ color:#5d6e8c !important; }

/* ===================================================================
   v2.0 remaining dark section-panels (live computed-style scan across
   all 10 pages, 2026-06-12). Only 4 panels stayed dark: checkoutBox +
   nextActionPanel (Settings: NEXT ACTION / Telegram / 2FA), cpDiagWrap
   (cockpit Advanced Diagnostics) + lcRulesWrap (cockpit Strategy Rules).
   White panel + dark text, scoped so buttons/accents inside keep theirs.
   =================================================================== */
body[data-qtheme="light"][data-quantor-surface="app"] :is(.checkoutBox,.nextActionPanel,.cpDiagWrap,.lcRulesWrap){ background:#ffffff !important; border-color:#d9e1ee !important; color:#1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] :is(.checkoutBox,.nextActionPanel,.cpDiagWrap,.lcRulesWrap) :is(span,div,p,td,th,li,label,small,b,strong,code,h1,h2,h3,h4,h5):not([class*="Btn"]):not([class*="btn"]):not([class*="Tone"]):not([class*="--ok"]):not([class*="--bad"]):not([class*="--warn"]):not([class*="--up"]):not([class*="--down"]){ color:#1b2740 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] :is(.checkoutBox,.nextActionPanel,.cpDiagWrap,.lcRulesWrap) :is([class*="__sub"],[class*="__k"],[class*="__lbl"],[class*="__hint"],[class*="__meta"]){ color:#41506c !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbResetBtn{ background:#eef2f8 !important; color:#41506c !important; border-color:#d9e1ee !important; }

/* ===================================================================
   v2.1 canvas root — the <html> element itself stayed dark (only <body>
   was lit), so the dark showed at the top band / overscroll / wherever
   page content did not fully cover (most visible on cockpit). Lighten
   html ONLY when the app is in light mode (scoped via :has so the
   marketing site dark theme is untouched).
   =================================================================== */
html:has(body[data-qtheme="light"][data-quantor-surface="app"]){ background:#eef2f8 !important; }

/* ===================================================================
   v2.2 grey rgba insets + plan cards (Pavel screens 2026-06-12).
   The bg generator skipped dark rgba fills whose effective luminance
   over white was ~0.58 — they render as visible MID-GREY, not white
   (Capital KPI tiles, Settings exchange cards, Insights factors, etc.).
   Plus the Pick-your-plan cards (.planTierCard) rendered dark grey;
   Pro (.is-recommended) was already light. Text was already darkened
   by the v1.5 layer — this is background-only.
   =================================================================== */
body[data-qtheme="light"][data-quantor-surface="app"] :is(.cpCapStat,.qbEqStat,.qbkExchCard,.qbkConsent,.qbkFooter,.insFactor,.insEmpty,.btTile,.btTile--soon,.btPlaceholder,.cpDecBox){ background:#f4f7fc !important; border-color:#e2e8f3 !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .planTierCard{ background:#ffffff !important; border-color:#d9e1ee !important; color:#16213a !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .planTierCard.is-recommended{ background:#eff3fc !important; border-color:#c9d6f5 !important; }

/* v2.3 — sidebar foot actions (Back to site / Log out) 2026-06-12 */
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__action{ color:#41506c; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__action:hover{ background:#eef2f8; color:#16213a; }
body[data-qtheme="light"][data-quantor-surface="app"] .qSb__action--out:hover{ background:rgba(220,38,38,.08); color:#dc2626; }

/* v2.4 — Capital equity chart: the wrap had rgba(0,0,0,.18) (grey on white).
   The lightweight-charts canvas is transparent, so a transparent wrap lets the
   white card show through; chart text/grid are re-skinned in capital-page.js. */
body[data-qtheme="light"][data-quantor-surface="app"] .cpCapChartWrap{ background:transparent !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .qbEqChartWrap{ background:transparent !important; }

/* v2.5 — Journal muted chips/icons were #9aa6bd (~2.2:1) with dark borders on
   the white table. Darken the muted text + soften the dark borders for light. */
body[data-qtheme="light"][data-quantor-surface="app"] :is(.jrSig--HOLD,.jrAct--none,.jrTag--soon){ color:#566179 !important; background:#eef1f7 !important; border-color:#d6deec !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrIconBtn{ color:#5d6b86 !important; border-color:#d6deec !important; }
body[data-qtheme="light"][data-quantor-surface="app"] .jrIconBtn:hover{ background:#eef2f8 !important; color:#16213a !important; }
