/* TradeCPO Theme System V2.3 — Surgical Light Mode Reset
   Scope: V2 visual modules only.
   Policy: no engine/API mutation, no dark-mode redesign, no universal typography overrides. */

/* -----------------------------
   V2 shared tokens
----------------------------- */

:root{
  --v23-shell-dark:linear-gradient(180deg,rgba(9,23,42,.98),rgba(6,15,29,.99));
  --v23-card-dark:
    linear-gradient(rgba(69,102,148,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(69,102,148,.045) 1px,transparent 1px),
    rgba(8,19,35,.78);
  --v23-panel-dark:rgba(8,19,35,.86);
  --v23-strong-dark:#f4f8ff;
  --v23-text-dark:#d8e7ff;
  --v23-muted-dark:#9aa8bd;
  --v23-border-dark:rgba(69,102,148,.28);
  --v23-border-soft-dark:rgba(69,102,148,.18);
  --v23-track-dark:rgba(69,102,148,.15);

  --v23-shell-light:linear-gradient(180deg,#fffdf8,#f6efe3);
  --v23-card-light:
    linear-gradient(rgba(105,92,70,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(105,92,70,.045) 1px,transparent 1px),
    #fffaf1;
  --v23-panel-light:#fffaf1;
  --v23-panel-light-2:#f7efe2;
  --v23-strong-light:#14241b;
  --v23-text-light:#263830;
  --v23-muted-light:#5d6f66;
  --v23-border-light:rgba(145,125,92,.34);
  --v23-border-soft-light:rgba(145,125,92,.22);
  --v23-track-light:rgba(67,84,76,.14);

  --v23-green-dark:#00ff9d;
  --v23-green-light:#087d4e;
  --v23-blue-light:#2b7daf;
  --v23-red-light:#b73d4d;
  --v23-yellow-light:#a46b00;
}

/* -----------------------------
   Dark mode: keep institutional current state
----------------------------- */

:root[data-theme="dark"] #insightMeaningV2,
:root[data-theme="dark"] #decisionCapitalV2,
:root[data-theme="dark"] #memoryVisualsV2{
  background:var(--v23-shell-dark);
  border-color:var(--v23-border-dark);
  color:var(--v23-text-dark);
}

:root[data-theme="dark"] #insightMeaningV2 .im2-card,
:root[data-theme="dark"] #decisionCapitalV2 .dc2-card,
:root[data-theme="dark"] #memoryVisualsV2 .mv2-card{
  background:var(--v23-card-dark);
  border-color:var(--v23-border-soft-dark);
}

/* -----------------------------
   Light mode: surgical V2 reset
----------------------------- */

:root[data-theme="light"] #insightMeaningV2,
:root[data-theme="light"] #decisionCapitalV2,
:root[data-theme="light"] #memoryVisualsV2{
  background:var(--v23-shell-light) !important;
  border-color:var(--v23-border-light) !important;
  color:var(--v23-text-light) !important;
  box-shadow:0 14px 34px rgba(57,45,25,.07);
}

/* Main module headers */
:root[data-theme="light"] #insightMeaningV2 .im2-head,
:root[data-theme="light"] #decisionCapitalV2 .dc2-head,
:root[data-theme="light"] #memoryVisualsV2 .mv2-head{
  background:var(--v23-panel-light) !important;
  border-color:var(--v23-border-soft-light) !important;
}

/* Module titles */
:root[data-theme="light"] #insightMeaningV2 .im2-title,
:root[data-theme="light"] #decisionCapitalV2 .dc2-title,
:root[data-theme="light"] #memoryVisualsV2 .mv2-title,
:root[data-theme="light"] #insightMeaningV2 .im2-eyebrow,
:root[data-theme="light"] #insightMeaningV2 .im2-card-head b,
:root[data-theme="light"] #decisionCapitalV2 .dc2-card-head b,
:root[data-theme="light"] #memoryVisualsV2 .mv2-card-head b{
  color:var(--v23-green-light) !important;
}

/* Main readable text */
:root[data-theme="light"] #insightMeaningV2 h2,
:root[data-theme="light"] #insightMeaningV2 h3,
:root[data-theme="light"] #insightMeaningV2 h4,
:root[data-theme="light"] #insightMeaningV2 b,
:root[data-theme="light"] #decisionCapitalV2 h2,
:root[data-theme="light"] #decisionCapitalV2 h3,
:root[data-theme="light"] #decisionCapitalV2 h4,
:root[data-theme="light"] #decisionCapitalV2 b,
:root[data-theme="light"] #memoryVisualsV2 h2,
:root[data-theme="light"] #memoryVisualsV2 h3,
:root[data-theme="light"] #memoryVisualsV2 h4,
:root[data-theme="light"] #memoryVisualsV2 b{
  color:var(--v23-strong-light) !important;
}

/* Sub-labels only, not universal spans */
:root[data-theme="light"] #insightMeaningV2 .im2-sub,
:root[data-theme="light"] #insightMeaningV2 .im2-card-head span,
:root[data-theme="light"] #insightMeaningV2 .im2-label,
:root[data-theme="light"] #insightMeaningV2 .im2-firewall-cell span,
:root[data-theme="light"] #insightMeaningV2 .im2-sovereignty-row span,
:root[data-theme="light"] #decisionCapitalV2 .dc2-sub,
:root[data-theme="light"] #decisionCapitalV2 .dc2-card-head span,
:root[data-theme="light"] #decisionCapitalV2 .dc2-kpi span,
:root[data-theme="light"] #decisionCapitalV2 .dc2-kpi small,
:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-table th,
:root[data-theme="light"] #memoryVisualsV2 .mv2-meta,
:root[data-theme="light"] #memoryVisualsV2 .mv2-card-head span,
:root[data-theme="light"] #memoryVisualsV2 .mv2-kpi span,
:root[data-theme="light"] #memoryVisualsV2 .mv2-label{
  color:var(--v23-muted-light) !important;
}

/* Cards and panels */
:root[data-theme="light"] #insightMeaningV2 .im2-card,
:root[data-theme="light"] #decisionCapitalV2 .dc2-card,
:root[data-theme="light"] #memoryVisualsV2 .mv2-card{
  background:var(--v23-card-light) !important;
  background-size:34px 34px !important;
  border-color:var(--v23-border-soft-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-mini,
:root[data-theme="light"] #insightMeaningV2 .im2-firewall-cell,
:root[data-theme="light"] #insightMeaningV2 .im2-change,
:root[data-theme="light"] #insightMeaningV2 .im2-count,
:root[data-theme="light"] #decisionCapitalV2 .dc2-tile,
:root[data-theme="light"] #decisionCapitalV2 .dc2-gate,
:root[data-theme="light"] #decisionCapitalV2 .dc2-mdse-row,
:root[data-theme="light"] #memoryVisualsV2 .mv2-kpi{
  background:var(--v23-panel-light) !important;
  border-color:var(--v23-border-soft-light) !important;
  color:var(--v23-text-light) !important;
}

/* Insight verdict and lifecycle */
:root[data-theme="light"] #insightMeaningV2 .im2-verdict{
  background:
    radial-gradient(circle at 10% 20%,rgba(8,125,78,.07),transparent 24%),
    var(--v23-shell-light) !important;
  border-color:var(--v23-border-soft-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-verdict h2{
  color:var(--v23-strong-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-life-step{
  background:var(--v23-panel-light) !important;
  border-color:var(--v23-border-soft-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-life-step span{
  color:var(--v23-muted-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-life-step b{
  color:var(--v23-green-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-life-step:before{
  background:var(--v23-green-light) !important;
  box-shadow:none !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-life-step:after{
  background:rgba(8,125,78,.26) !important;
}

/* Chips / pills */
:root[data-theme="light"] #insightMeaningV2 .im2-chip,
:root[data-theme="light"] #insightMeaningV2 .im2-pill,
:root[data-theme="light"] #decisionCapitalV2 .dc2-pill,
:root[data-theme="light"] #decisionCapitalV2 .dc2-status,
:root[data-theme="light"] #decisionCapitalV2 .dc2-tag{
  background:var(--v23-panel-light-2) !important;
  border-color:var(--v23-border-light) !important;
  color:var(--v23-text-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-chip b,
:root[data-theme="light"] #insightMeaningV2 .im2-pill.good,
:root[data-theme="light"] #decisionCapitalV2 .dc2-pill.good,
:root[data-theme="light"] #decisionCapitalV2 .dc2-status.good{
  color:var(--v23-green-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-pill.warn,
:root[data-theme="light"] #decisionCapitalV2 .dc2-pill.warn,
:root[data-theme="light"] #decisionCapitalV2 .dc2-status.warn{
  color:var(--v23-yellow-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-pill.bad,
:root[data-theme="light"] #decisionCapitalV2 .dc2-pill.bad,
:root[data-theme="light"] #decisionCapitalV2 .dc2-status.bad{
  color:var(--v23-red-light) !important;
}

/* Bars / tracks */
:root[data-theme="light"] #insightMeaningV2 .im2-track,
:root[data-theme="light"] #decisionCapitalV2 .dc2-track,
:root[data-theme="light"] #memoryVisualsV2 .mv2-track,
:root[data-theme="light"] #memoryVisualsV2 .mv2-mini-track{
  background:var(--v23-track-light) !important;
  border-color:rgba(105,92,70,.22) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-fill,
:root[data-theme="light"] #decisionCapitalV2 .dc2-fill,
:root[data-theme="light"] #memoryVisualsV2 .mv2-fill,
:root[data-theme="light"] #memoryVisualsV2 .mv2-mini-fill{
  background:linear-gradient(90deg,#0abf85,#2b8fcc) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-fill.bad,
:root[data-theme="light"] #decisionCapitalV2 .dc2-fill.bad,
:root[data-theme="light"] #decisionCapitalV2 .dc2-fill.risk{
  background:linear-gradient(90deg,#c94355,#df6b78) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-fill.warn,
:root[data-theme="light"] #decisionCapitalV2 .dc2-fill.warn,
:root[data-theme="light"] #memoryVisualsV2 .mv2-fill.alt{
  background:linear-gradient(90deg,#d58a00,#df6b78) !important;
}

/* Tables */
:root[data-theme="light"] #insightMeaningV2 .im2-persona-table th,
:root[data-theme="light"] #insightMeaningV2 .im2-persona-table td,
:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-table th,
:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-table td{
  color:var(--v23-text-light) !important;
  border-color:var(--v23-border-soft-light) !important;
}

/* Guard / summary banners */
:root[data-theme="light"] #insightMeaningV2 .im2-guard-banner{
  background:rgba(164,107,0,.08) !important;
  border-color:rgba(164,107,0,.32) !important;
  color:var(--v23-yellow-light) !important;
}

:root[data-theme="light"] #insightMeaningV2 .im2-summary,
:root[data-theme="light"] #decisionCapitalV2 .dc2-summary,
:root[data-theme="light"] #memoryVisualsV2 .mv2-summary,
:root[data-theme="light"] #memoryVisualsV2 .mv2-insight{
  background:linear-gradient(90deg,rgba(8,125,78,.10),rgba(255,253,248,.96)) !important;
  border-color:rgba(8,125,78,.24) !important;
  color:var(--v23-text-light) !important;
}

/* Memory gauge: intentional dark center for contrast */
:root[data-theme="light"] #memoryVisualsV2 .mv2-gauge-core{
  background:#071321 !important;
}

:root[data-theme="light"] #memoryVisualsV2 .mv2-gauge-core b{
  color:#00ff9d !important;
}

:root[data-theme="light"] #memoryVisualsV2 .mv2-gauge-core span{
  color:#b8c7d9 !important;
}

/* IIG: use existing core variables; only improve light surfaces */
:root[data-theme="light"] .iig-main,
:root[data-theme="light"] .iig-side,
:root[data-theme="light"] .iig-bottom > div,
:root[data-theme="light"] .iig-growth-panel{
  background:var(--panel) !important;
  border-color:var(--line) !important;
}

:root[data-theme="light"] .iig-head,
:root[data-theme="light"] .iig-doctrine,
:root[data-theme="light"] .iig-growth-card,
:root[data-theme="light"] .iig-filterbar{
  background:var(--panel-2) !important;
  border-color:var(--line) !important;
}

:root[data-theme="light"] .iig-canvas-wrap{
  background:
    linear-gradient(rgba(120,138,155,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,138,155,.13) 1px,transparent 1px),
    var(--panel) !important;
  background-size:32px 32px !important;
}

:root[data-theme="light"] .iig-node text{
  fill:var(--text) !important;
}

:root[data-theme="light"] .iig-node .sub{
  fill:var(--muted) !important;
}

/* Decision Capital Light Mode V2.1 — Surgical Readability Fix
   Scope: Decision Capital V2 only. No engine/API mutation. */

:root[data-theme="light"] #decisionCapitalV2{
  background:linear-gradient(180deg,#fffdf8,#f7f0e5) !important;
  border-color:rgba(145,125,92,.34) !important;
  color:#263830 !important;
}

/* Top KPI tiles: remove dark island behavior */
:root[data-theme="light"] #decisionCapitalV2 .dc2-kpi{
  background:linear-gradient(180deg,#fffaf1,#f4eadb) !important;
  border-color:rgba(145,125,92,.30) !important;
  color:#263830 !important;
  box-shadow:0 10px 24px rgba(57,45,25,.055);
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-icon{
  background:rgba(8,125,78,.10) !important;
  border-color:rgba(8,125,78,.26) !important;
  color:#087d4e !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-kpi span{
  color:#5d6f66 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-kpi b{
  color:#087d4e !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-kpi small{
  color:#263830 !important;
}

/* Cards and rows */
:root[data-theme="light"] #decisionCapitalV2 .dc2-card{
  background:
    linear-gradient(rgba(105,92,70,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(105,92,70,.04) 1px,transparent 1px),
    #fffaf1 !important;
  background-size:34px 34px !important;
  border-color:rgba(145,125,92,.24) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-card-head{
  border-color:rgba(145,125,92,.22) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-card-head b{
  color:#087d4e !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-card-head span{
  color:#5d6f66 !important;
}

/* Confirmation / invalidation gates */
:root[data-theme="light"] #decisionCapitalV2 .dc2-gate{
  border-color:rgba(145,125,92,.18) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-num{
  background:#f4eadb !important;
  border-color:rgba(145,125,92,.30) !important;
  color:#263830 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-gate h4{
  color:#14241b !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-gate p{
  color:#5d6f66 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-val{
  color:#263830 !important;
}

/* Evidence quality */
:root[data-theme="light"] #decisionCapitalV2 .dc2-quality-row span{
  color:#263830 !important;
}

/* Hypothesis panel */
:root[data-theme="light"] #decisionCapitalV2 .dc2-hypo-mark{
  background:rgba(8,125,78,.06) !important;
  border-color:rgba(8,125,78,.28) !important;
  color:#087d4e !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-hypo h3{
  color:#087d4e !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-hypo p{
  color:#5d6f66 !important;
}

/* MDSE driver table readability */
:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-table{
  color:#263830 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-table th{
  color:#5d6f66 !important;
  border-color:rgba(145,125,92,.18) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-table td{
  color:#263830 !important;
  border-color:rgba(145,125,92,.16) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-driver-name{
  color:#14241b !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-tag{
  background:#f4eadb !important;
  border-color:rgba(145,125,92,.30) !important;
  color:#5d6f66 !important;
}

/* Pills/status */
:root[data-theme="light"] #decisionCapitalV2 .dc2-pill{
  background:#f4eadb !important;
  border-color:rgba(145,125,92,.32) !important;
  color:#5d6f66 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-pill.good{
  background:rgba(8,125,78,.08) !important;
  border-color:rgba(8,125,78,.34) !important;
  color:#087d4e !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-pill.warn{
  background:rgba(164,107,0,.08) !important;
  border-color:rgba(164,107,0,.34) !important;
  color:#a46b00 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-pill.bad{
  background:rgba(183,61,77,.08) !important;
  border-color:rgba(183,61,77,.34) !important;
  color:#b73d4d !important;
}

/* Tracks and fills */
:root[data-theme="light"] #decisionCapitalV2 .dc2-track{
  background:rgba(67,84,76,.14) !important;
  border-color:rgba(105,92,70,.22) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-fill{
  background:linear-gradient(90deg,#0abf85,#2b8fcc) !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-fill.risk{
  background:linear-gradient(90deg,#c94355,#d68a00) !important;
}

/* Summary */
:root[data-theme="light"] #decisionCapitalV2 .dc2-summary{
  background:linear-gradient(90deg,rgba(8,125,78,.10),rgba(255,253,248,.96)) !important;
  border-color:rgba(8,125,78,.24) !important;
  color:#263830 !important;
}

:root[data-theme="light"] #decisionCapitalV2 .dc2-summary b{
  color:#087d4e !important;
}
