/* M909: light theme. Loaded last on every page; everything is scoped to html[data-theme="light"], so dark stays the
   default and is untouched. Colours are chosen for contrast (WCAG AA body text) for older eyes. */

/* ---------- the switch (both themes) */
.sv-m909-theme{display:inline-flex;align-items:center;gap:6px;margin-right:12px;padding:6px 11px;border-radius:999px;border:1px solid var(--ds-line-2,rgba(255,255,255,.14));background:transparent;color:var(--ds-ink-2,#C9C5E2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;vertical-align:middle}
.sv-m909-theme svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sv-m909-theme:hover{border-color:var(--ds-violet,#7C5CFF);color:var(--ds-ink,#fff)}
.sv-m909-theme.floating{position:fixed;top:14px;right:16px;z-index:100}

/* ---------- tokens */
html[data-theme="light"]{color-scheme:light;
 --ds-bg:#F4F5FA;--ds-bg-2:#ECEEF6;--ds-surface:#FFFFFF;--ds-surface-2:#F7F8FC;--ds-raise:#EEF0F8;
 --ds-line:rgba(20,24,48,.09);--ds-line-2:rgba(20,24,48,.16);
 --ds-ink:#15172B;--ds-ink-2:#3B3F5C;--ds-mute:#62677F;
 --ds-violet:#6A46F5;--ds-violet-2:#5A37E0;--ds-violet-soft:rgba(106,70,245,.10);
 --ds-teal:#0B8C7D;--ds-teal-soft:rgba(11,140,125,.11);--ds-amber:#A8650B;--ds-amber-soft:rgba(232,160,40,.16);
 --ds-coral:#D3264A;--ds-coral-soft:rgba(211,38,74,.10);--ds-blue:#2563EB;
 --ds-shadow:0 1px 2px rgba(20,24,48,.06),0 10px 28px -18px rgba(20,24,48,.25);
 --sv-midnight:#F4F5FA;--sv-panel:#FFFFFF;--sv-ink:#15172B;--sv-muted:#62677F;--sv-brand:#6A46F5;
 --sv-bg:#F4F5FA;--sv-surface:#FFFFFF;--sv-elevated:#F7F8FC;--sv-border:rgba(20,24,48,.16);--sv-purple:#6A46F5;--sv-glow:#6A46F5;
 --sv-text:#15172B;--sv-green:#0B8C7D;--sv-blue:#2563EB}

/* ---------- page, header, navigation */
html[data-theme="light"] body{background:radial-gradient(1200px 500px at 85% -10%,rgba(106,70,245,.07),transparent 60%),var(--ds-bg)!important;color:var(--ds-ink)!important}
html[data-theme="light"] .sv-top{background:rgba(255,255,255,.88)!important;border-bottom-color:var(--ds-line)!important}
html[data-theme="light"] .sv-brand,html[data-theme="light"] .sv-brand *{color:var(--ds-ink)!important}
html[data-theme="light"] .sv-mainnav a{color:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-mainnav a.active,html[data-theme="light"] .sv-mainnav a[aria-current=page]{color:var(--ds-violet-2)!important;background:var(--ds-violet-soft)!important;box-shadow:inset 0 0 0 1px rgba(106,70,245,.25)!important}
html[data-theme="light"] .sv-tabs{background:#fff!important}
html[data-theme="light"] .sv-tabs a{color:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-tabs a:hover:not(.active){background:var(--ds-violet-soft)!important;color:var(--ds-ink)!important}
html[data-theme="light"] .sv-tabs a.active,html[data-theme="light"] .sv-tabs a[aria-current=page]{color:#fff!important}
html[data-theme="light"] .sv-m844-subnav,html[data-theme="light"] .sv-m856-subtabs,html[data-theme="light"] .sv-m854-tabs{background:#fff!important;border-color:var(--ds-line)!important}
html[data-theme="light"] .sv-m844-subnav button,html[data-theme="light"] .sv-m856-subtabs button,html[data-theme="light"] .sv-m854-tabs button{color:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-m844-subnav button.active,html[data-theme="light"] .sv-m856-subtabs button.active,html[data-theme="light"] .sv-m854-tabs button.active{background:var(--ds-violet-soft)!important;color:var(--ds-violet-2)!important;border-color:rgba(106,70,245,.3)!important}
html[data-theme="light"] .sv-breadcrumb,html[data-theme="light"] .sv-breadcrumb a{color:var(--ds-ink-2)!important}

/* ---------- cards, heroes, tiles */
html[data-theme="light"] .sv-hero,html[data-theme="light"] .sv-m574-household-hero,html[data-theme="light"] .sv-m824-section,html[data-theme="light"] #sv-m771-exploratory,
html[data-theme="light"] .sv-panel,html[data-theme="light"] .sv-section,html[data-theme="light"] .sv-m647-workspace,html[data-theme="light"] .sv-m856-card,html[data-theme="light"] .sv-m856-side,
html[data-theme="light"] .sv-m856-kpi,html[data-theme="light"] .sv-m893,html[data-theme="light"] .sv-c-card,html[data-theme="light"] .sv-m867-plan,html[data-theme="light"] .sv-m869-top{
 background:var(--ds-surface)!important;border-color:var(--ds-line)!important;box-shadow:var(--ds-shadow)!important;color:var(--ds-ink)}
html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3,html[data-theme="light"] h4,html[data-theme="light"] strong,html[data-theme="light"] b{color:var(--ds-ink)}
html[data-theme="light"] p,html[data-theme="light"] li,html[data-theme="light"] .sv-m824-section p,html[data-theme="light"] .sv-chartnote{color:var(--ds-ink-2)}
html[data-theme="light"] .sv-m824-tile,html[data-theme="light"] .sv-m856-fact,html[data-theme="light"] .sv-m856-facts > div,html[data-theme="light"] .sv-m906-col,html[data-theme="light"] .sv-m908-ledger,
html[data-theme="light"] .sv-m896,html[data-theme="light"] .sv-m896-bucket,html[data-theme="light"] .sv-m906-panel,html[data-theme="light"] .sv-m906-item > summary{background:var(--ds-surface-2)!important;border-color:var(--ds-line)!important}
html[data-theme="light"] .sv-m824-tile-label{color:var(--ds-mute)!important}
html[data-theme="light"] .sv-m824-tile-value{color:var(--ds-ink)!important}
html[data-theme="light"] .sv-m824-tile.good .sv-m824-tile-value{color:var(--ds-teal)!important}
html[data-theme="light"] .sv-m824-tile.warn .sv-m824-tile-value{color:var(--ds-amber)!important}
html[data-theme="light"] .sv-m824-tile.bad .sv-m824-tile-value{color:var(--ds-coral)!important}
html[data-theme="light"] .sv-m824-tile-note{color:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-m824-badge{color:var(--ds-amber)!important;background:var(--ds-amber-soft)!important}
html[data-theme="light"] .sv-m824-warning,html[data-theme="light"] .sv-m867-revisit{background:var(--ds-amber-soft)!important;color:#6B3F00!important;border-color:rgba(168,101,11,.3)!important}

/* ---------- tables */
html[data-theme="light"] table,html[data-theme="light"] .sv-m824-tablewrap,html[data-theme="light"] .sv-m547-tablewrap{background:transparent!important;color:var(--ds-ink)!important;border-color:var(--ds-line)!important}
html[data-theme="light"] th{background:var(--ds-bg-2)!important;color:var(--ds-ink-2)!important;border-color:var(--ds-line)!important}
html[data-theme="light"] td{color:var(--ds-ink)!important;border-color:var(--ds-line)!important;background:transparent!important}
html[data-theme="light"] tr.sv-m824-focus td,html[data-theme="light"] tr.focus td{background:var(--ds-violet-soft)!important}
html[data-theme="light"] tr.sv-m824-bad td{color:var(--ds-coral)!important}

/* ---------- forms and buttons */
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff!important;color:var(--ds-ink)!important;border-color:var(--ds-line-2)!important}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:#8A8FA8!important}
html[data-theme="light"] .sv-btn.secondary,html[data-theme="light"] .sv-btn.ghost,html[data-theme="light"] .sv-m856-link,html[data-theme="light"] .sv-m899-toggle,html[data-theme="light"] .sv-m898-chip,html[data-theme="light"] .sv-m900-toggle button{color:var(--ds-ink)!important;background:#fff!important;border-color:var(--ds-line-2)!important}
html[data-theme="light"] .sv-m900-toggle{background:#fff!important}
html[data-theme="light"] .sv-m900-toggle button.active{background:var(--ds-violet-soft)!important;color:var(--ds-violet-2)!important}
html[data-theme="light"] .sv-btn:not(.secondary):not(.ghost):not(.danger),html[data-theme="light"] .sv-m856-link.primary{color:#fff!important}
html[data-theme="light"] details > summary{color:var(--ds-ink-2)}
html[data-theme="light"] .sv-m895-input{background:#fff!important}
html[data-theme="light"] .sv-m895-list{background:#fff!important}

/* ---------- charts: axes, grids and light strokes drawn for a dark background */
html[data-theme="light"] .sv-m824-axis,html[data-theme="light"] svg text{fill:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-m824-grid,html[data-theme="light"] .sv-m844-axisline{stroke:rgba(20,24,48,.12)!important}
html[data-theme="light"] svg [style*="255,255,255"],html[data-theme="light"] svg [stroke="#fff"],html[data-theme="light"] svg [stroke="white"]{stroke:rgba(20,24,48,.55)!important}
html[data-theme="light"] .sv-m899-timeline .sv-m844-evt{stroke:#fff!important}

/* ---------- client portal, IPS, sign-in */
html[data-theme="light"] .sv-portal-page,html[data-theme="light"] .sv-auth-page{background:var(--ds-bg)!important;color:var(--ds-ink)!important}
html[data-theme="light"] .sv-p-top{background:rgba(255,255,255,.92)!important;border-color:var(--ds-line)!important}
html[data-theme="light"] .sv-auth-logo,html[data-theme="light"] .sv-p-acct,html[data-theme="light"] .sv-p-acct a,html[data-theme="light"] .sv-p-acct button{color:var(--ds-ink)!important}
html[data-theme="light"] .sv-portal [class*="sv-p-card"],html[data-theme="light"] .sv-portal section,html[data-theme="light"] .sv-auth form,html[data-theme="light"] .sv-auth-card{background:var(--ds-surface)!important;border-color:var(--ds-line)!important;color:var(--ds-ink)!important;box-shadow:var(--ds-shadow)!important}

/* ---------- the M899 footer and banners */
html[data-theme="light"] .sv-m899-footer{color:var(--ds-mute)!important}
html[data-theme="light"] .sv-m877-banner{color:var(--ds-ink)!important}

/* ---------- light-mode fixes from the screen audit */
html[data-theme="light"] body[data-research-tab] .sv-tabs a.active,html[data-theme="light"] body[data-research-tab] .sv-tabs a[aria-current="page"],html[data-theme="light"] .sv-tabs a.active{
 background:linear-gradient(135deg,#6A46F5,#5A37E0)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 6px 16px -8px rgba(106,70,245,.6)!important}
html[data-theme="light"] .sv-tabs a:not(.active){background:transparent!important;border-color:transparent!important}
html[data-theme="light"] .sv-m828-tabs button,html[data-theme="light"] .sv-m828-tab{color:var(--ds-ink-2)!important;background:transparent!important}
html[data-theme="light"] .sv-m828-tabs button.active,html[data-theme="light"] .sv-m828-tab.active{background:var(--ds-violet-soft)!important;color:var(--ds-violet-2)!important}
html[data-theme="light"] .sv-c-slider input[type=range],html[data-theme="light"] .sv-cmp-slider input[type=range]{background:linear-gradient(90deg,var(--ds-violet) var(--p,0%),rgba(20,24,48,.14) var(--p,0%))!important}
html[data-theme="light"] .sv-m908-k.plan{border-top-color:rgba(20,24,48,.55)!important}
html[data-theme="light"] .sv-m856-cmp [class*="tag"],html[data-theme="light"] .sv-m856-cmp .sv-m856-model-tag,html[data-theme="light"] .sv-m856-cmp > span:first-child{color:var(--ds-violet-2)!important;opacity:1!important}
html[data-theme="light"] .sv-account-mix,html[data-theme="light"] .sv-account-mix *{color:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-m869-top{box-shadow:none!important;border:0!important}
html[data-theme="light"] .sv-m824-legend,html[data-theme="light"] .sv-m824-legend span,html[data-theme="light"] .sv-c-keys span{color:var(--ds-ink-2)!important}
html[data-theme="light"] .sv-c-map-col,html[data-theme="light"] .sv-c-map-group,html[data-theme="light"] .sv-c-side,html[data-theme="light"] .sv-c-toolbar{background:transparent!important;border-color:var(--ds-line)!important}
html[data-theme="light"] .sv-c-map-total{background:var(--ds-surface-2)!important}
html[data-theme="light"] .sv-m867-bar{background:linear-gradient(135deg,rgba(106,70,245,.06),rgba(11,140,125,.05))!important;border-color:rgba(106,70,245,.25)!important}
html[data-theme="light"] .sv-m867-status{color:var(--ds-amber)!important}
html[data-theme="light"] .sv-m867-status.good,html[data-theme="light"] .sv-m867-status.adopted{color:var(--ds-teal)!important}

/* ---------- automatic light-mode fixes (classes added by sovelian_theme_m909.js only in light mode) */
/* :not(#…) adds ID weight so the safety net also beats older id-scoped rules such as "#wizard input" */
html[data-theme="light"] body .m909-light.m909-light:not(#m909a):not(#m909b){background:var(--ds-surface)!important;background-image:none!important;border-color:var(--ds-line)!important;color:var(--ds-ink)!important}
html[data-theme="light"] body .m909-ink.m909-ink:not(#m909a):not(#m909b){color:var(--ds-ink)!important}
html[data-theme="light"] body input:not([type=checkbox]):not([type=radio]):not([type=range]):not(#m909a):not(#m909b),html[data-theme="light"] body select:not(#m909a):not(#m909b),html[data-theme="light"] body textarea:not(#m909a):not(#m909b){background-color:#fff!important;color:var(--ds-ink)!important;border-color:#CFD3E3!important}
html[data-theme="light"] .m909-light .sv-btn:not(.secondary):not(.ghost),html[data-theme="light"] .m909-light button[class*="primary"]{color:#fff!important}
/* the home page banner */
html[data-theme="light"] .sv-m856-hero,html[data-theme="light"] [class*="m856-hero"]{background:linear-gradient(135deg,#FFFFFF 0%,#F1ECFF 55%,#E6F7F4 100%)!important;color:var(--ds-ink)!important;border:1px solid var(--ds-line)!important}
html[data-theme="light"] [class*="m856-hero"] h1,html[data-theme="light"] [class*="m856-hero"] p{color:var(--ds-ink)!important}
/* Monte Carlo median and other white chart lines */
html[data-theme="light"] svg .median,html[data-theme="light"] svg [class*="median"]:not([class*="hist"]){stroke:#3B3F5C!important}
html[data-theme="light"] .sv-m824-legend i.median,html[data-theme="light"] .sv-m824-legend [class*="median"]:not([class*="hist"]){background:#3B3F5C!important;border-color:#3B3F5C!important}
/* setup wizard header */
html[data-theme="light"] .m223-header{background:rgba(255,255,255,.95)!important;border-bottom:1px solid var(--ds-line)!important}
html[data-theme="light"] .m223-header *{color:var(--ds-ink)!important}

/* M909 home polish (light) */
html[data-theme="light"] body .sv-m856-hero-text:not(#m909a):not(#m909b),html[data-theme="light"] body .sv-m856-hero-art:not(#m909a):not(#m909b){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html[data-theme="light"] .sv-m893-hh,html[data-theme="light"] .sv-m893-chip{border-color:#DCDFEB!important}
html[data-theme="light"] .sv-m893-chip.active{border-color:#6D4AFF!important}
html[data-theme="light"] .sv-m893-hh:hover{border-color:#B9AEF5!important}
html[data-theme="light"] .sv-m893-high .sv-m893-kind{color:#C2412F}html[data-theme="light"] .sv-m893-medium .sv-m893-kind{color:#8A6100}
html[data-theme="light"] .sv-m893-pill.high{color:#B4321F}html[data-theme="light"] .sv-m893-pill.medium{color:#7A5600}html[data-theme="light"] .sv-m893-pill.low{color:#5B6080}

/* M909 guided intake (light): step tiles keep their coloured top edge on a white tile */
html[data-theme="light"] body .sv-guided-intake .steps > .step:not(#m909a):not(#m909b){background:#fff!important;background-image:none!important;color:var(--ds-ink)!important;border-left-color:#DCDFEB!important;border-right-color:#DCDFEB!important;border-bottom-color:#DCDFEB!important;box-shadow:0 1px 2px rgba(20,22,45,.06)!important}
html[data-theme="light"] body .sv-guided-intake .steps > .step.current:not(#m909a):not(#m909b){background:#F1EDFF!important;color:#3F2BB0!important;border-color:#8B74FF!important;outline:none}
html[data-theme="light"] body .m909-mute.m909-mute:not(#m909a):not(#m909b){color:#5B6080!important}

/* M920: native dropdown lists follow the theme (they were showing light text on a white list in dark mode) */
html:not([data-theme="light"]),html:not([data-theme="light"]) select{color-scheme:dark}
html:not([data-theme="light"]) select option,html:not([data-theme="light"]) select optgroup{background-color:#1B2040;color:#E8EAF6}
html:not([data-theme="light"]) select option:checked{background-color:#3B2F86;color:#fff}
html:not([data-theme="light"]) select option:disabled{color:#7C82A8}
html[data-theme="light"] select{color-scheme:light}
html[data-theme="light"] select option,html[data-theme="light"] select optgroup{background-color:#fff;color:#0F172A}