/*
 * MODELSPEND / MINERAL CIRCUIT v1
 * Signature: Tidal Graphite (dark), Linen Slate (light), copper + mineral teal.
 * Component tokens are deliberately flatter and warmer than generic neon AI UIs.
 * Keep alert/error/success colours reserved for meaning, never decoration.
 */
:root,html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101d23;--side:#101b20;--panel:#18282e;--panel-hover:#21363b;
  --line:#33484a;--line-subtle:#283b40;--muted:#a5b7b4;--muted-2:#819994;
  --text:#e9eee8;--violet:#b8c6d1;--violet-bright:#aec0cc;--cyan:#8abec0;
  --green:#84d0b1;--amber:#ddbd82;--red:#ed91a0;
  --ms-bg:#101d23;--ms-side:#101b20;--ms-surface:#18282e;--ms-surface-alt:#20343a;
  --ms-raised:#253a41;--ms-divider:#33484a;--ms-text:#e9eee8;--ms-muted:#a5b7b4;
  --ms-soft:#839b98;--ms-accent:#8bcec0;--ms-accent-soft:#183f3d;
  --ms-secondary:#c9a27f;--ms-secondary-soft:#44362d;
  --ms-quiet:#a8bdc9;--ms-chip:#233c40;
  --ms-shadow:0 15px 40px rgba(1,17,22,.13);
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f2f4ef;--side:#eaf0e9;--panel:#fffefa;--panel-hover:#f4f7f2;
  --line:#cddbd5;--line-subtle:#d8e3db;--muted:#617874;--muted-2:#788d88;
  --text:#24383e;--violet:#426d77;--violet-bright:#295e69;--cyan:#237c82;
  --green:#147b68;--amber:#98632e;--red:#ac424d;
  --ms-bg:#f2f4ef;--ms-side:#eaf0e9;--ms-surface:#fffefa;--ms-surface-alt:#f4f7f2;
  --ms-raised:#e7eee8;--ms-divider:#cddbd5;--ms-text:#24383e;--ms-muted:#617874;
  --ms-soft:#788d88;--ms-accent:#115f57;--ms-accent-soft:#dcece4;
  --ms-secondary:#85532f;--ms-secondary-soft:#f1e4d4;
  --ms-quiet:#526b77;--ms-chip:#e4efed;
  --ms-shadow:0 14px 38px rgba(27,62,52,.06);
}
body{background:var(--ms-bg);color:var(--ms-text)}
button,select,input{font-family:var(--font)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ms-accent);outline-offset:3px}
.sidebar{background:var(--ms-side);border-color:var(--ms-divider)}
.main-content{background:radial-gradient(ellipse 720px 230px at 90% -60px,color-mix(in srgb,var(--ms-accent) 8%,transparent),transparent 84%),var(--ms-bg)}
.topbar{background:color-mix(in srgb,var(--ms-bg) 94%,var(--ms-surface));border-bottom-color:var(--ms-divider)}
.metric-card,.panel{background:var(--ms-surface);border-color:var(--ms-divider);box-shadow:var(--ms-shadow)}
.brand-mark span{border-color:var(--ms-accent)!important;border-radius:4px}
.brand-mark span:nth-child(2){opacity:.48}.brand-mark span:nth-child(3){opacity:.77}.brand-mark span:nth-child(4){opacity:.28}
.brand-name span,.wave-dot{color:var(--ms-secondary)}
.brand-caption,.nav-label,.side-foot small,.breadcrumb,.intro p,.last-sync{color:var(--ms-muted)}
.workspace-switch{background:var(--ms-surface);border-color:var(--ms-divider)}
.workspace-avatar,.avatar{background:var(--ms-accent-soft);color:var(--ms-accent);border:1px solid var(--ms-divider)}
.side-nav .nav-link{color:var(--ms-muted)}
.side-nav .nav-link:hover{color:var(--ms-text);background:var(--ms-raised)}
.side-nav .nav-link.active{background:var(--ms-accent-soft);border-color:var(--ms-divider);color:var(--ms-accent);box-shadow:inset 3px 0 var(--ms-accent)}
.nav-count,.environment,.environment .icon{color:var(--ms-muted)}
.nav-new{background:var(--ms-secondary-soft)!important;color:var(--ms-secondary)!important}
.nav-notice{background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.sidebar-promo{background:linear-gradient(145deg,var(--ms-surface-alt),var(--ms-surface));border-color:var(--ms-divider)}
.sidebar-promo-icon{background:var(--ms-accent-soft);color:var(--ms-accent)}
.sidebar-promo p,.sidebar-promo>span{color:var(--ms-muted)}
.breadcrumb strong{color:var(--ms-text)}
.eyebrow,.section-kicker{color:var(--ms-secondary)}.eyebrow-line{background:var(--ms-secondary)}
.metric-header,.metric-foot,.metric-value span,.panel-head p{color:var(--ms-muted)}
.metric-icon.lavender,.metric-icon.cyan{background:var(--ms-chip);color:var(--ms-quiet)}
.metric-icon.green{background:var(--ms-accent-soft);color:var(--ms-accent)}
.metric-icon.amber{background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.trend.down,.trend.up,.trend.stable{background:var(--ms-accent-soft);color:var(--ms-accent)}
.icon-button,.more-button,.command-trigger{background:var(--ms-surface);border-color:var(--ms-divider);color:var(--ms-muted)}
.icon-button:hover,.more-button:hover,.command-trigger:hover{border-color:var(--ms-accent);color:var(--ms-text)}
.command-trigger kbd{background:var(--ms-raised);border-color:var(--ms-divider);color:var(--ms-muted)}
.live-toggle{background:var(--ms-accent-soft);border-color:var(--ms-divider);color:var(--ms-accent)}
.live-toggle.paused{background:var(--ms-secondary-soft);border-color:var(--ms-divider);color:var(--ms-secondary)}
.demo-pill{border-color:var(--ms-divider);background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.notice-banner{background:var(--ms-surface-alt);border-color:var(--ms-divider);color:var(--ms-muted)}
.notice-banner strong{color:var(--ms-text)}.notice-banner>.icon{color:var(--ms-accent)}
.feature-callout{background:linear-gradient(100deg,var(--ms-surface-alt),var(--ms-surface));border-color:var(--ms-divider)}
.feature-glow,.feature-callout:after{display:none}
.feature-orbit{background:var(--ms-accent-soft);border-color:var(--ms-divider);color:var(--ms-accent);box-shadow:none}
.feature-label{color:var(--ms-secondary)}.feature-copy>span:last-child{color:var(--ms-muted)}
.feature-button,.decision-tour-btn,.receipt-btn{background:var(--ms-accent);color:var(--ms-bg);border-color:var(--ms-accent);box-shadow:none}
.feature-secondary{background:transparent;color:var(--ms-text);border-color:var(--ms-divider)}
.feature-button:hover,.decision-tour-btn:hover,.receipt-btn:hover{filter:brightness(1.06)}
.feature-ctas .feature-secondary{background:var(--ms-surface-alt)!important;border-color:var(--ms-divider)!important;color:var(--ms-text)!important}
.feature-ctas .savings-feature-button{background:var(--ms-accent)!important;border-color:var(--ms-accent)!important;color:var(--ms-bg)!important}
.forecast-presets button,.segmented,.policy-switch{border-color:var(--ms-divider);background:var(--ms-surface-alt)}
.forecast-presets button,.segmented button,.policy-switch button{color:var(--ms-muted)}
.forecast-presets button.active,.segmented button.active,.policy-switch button.active{background:var(--ms-accent-soft);color:var(--ms-accent);border-color:var(--ms-divider)}
.route-drill,.route-drill:hover{color:var(--ms-accent)}
.forecast-icon,.route-callout-icon{color:var(--ms-accent);background:var(--ms-accent-soft)}
.decision-section{background:var(--ms-surface);border-color:var(--ms-divider);box-shadow:var(--ms-shadow)}
.decision-section:before{background:radial-gradient(ellipse,color-mix(in srgb,var(--ms-accent) 7%,transparent),transparent 72%)}
.decision-section-head,.decision-summary,.request-rail{border-color:var(--ms-divider)}
.decision-section-head .section-kicker,.decision-section-head h2 span{color:var(--ms-secondary)}
.decision-section-head p,.decision-summary small,.request-rail-head small{color:var(--ms-muted)}
.decision-tour-btn{background:var(--ms-accent-soft);color:var(--ms-accent);border-color:var(--ms-divider)}
.decision-summary{background:var(--ms-surface-alt)}
.decision-summary-icon,.decision-summary-icon.cyan{background:var(--ms-chip);color:var(--ms-quiet)}
.decision-summary-icon.green{background:var(--ms-accent-soft);color:var(--ms-accent)}
.decision-summary-icon.amber{background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.request-rail{background:var(--ms-surface-alt)}
.request-search{background:var(--ms-surface);border-color:var(--ms-divider);color:var(--ms-muted)}
.request-search input{color:var(--ms-text)}.request-search input::placeholder{color:var(--ms-soft)}
.request-search kbd,.request-filters,.request-rail-foot{border-color:var(--ms-divider);color:var(--ms-muted)}
.request-filter{color:var(--ms-muted)}.request-filter.active{background:var(--ms-accent-soft);color:var(--ms-accent);border-color:var(--ms-divider)}
.request-item{color:var(--ms-text)}.request-item:hover{background:var(--ms-raised)}
.request-item.active{background:var(--ms-accent-soft);border-color:var(--ms-divider);box-shadow:inset 3px 0 var(--ms-accent)}
.request-item-mark{background:var(--ms-chip);color:var(--ms-accent)}
.request-item-id,.request-item-foot span,.request-item-time{color:var(--ms-muted)}
.request-item-status.routed{background:var(--ms-accent-soft);color:var(--ms-accent)!important}
.request-item-status.blocked{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)!important}
/* Decision Explorer: same distinctive visual grammar as the overview. */
.decision-workspace{background:var(--ms-surface)}
.decision-trace-label,.decision-subtitle code{color:var(--ms-secondary)}
.decision-subtitle,.journey-header,.journey-step small,.score-cell small,.score-cell em,
.decision-panel-head p,.candidate-main small,.candidate-side small,.candidate-plot-label span,
.plot-legend,.policy-preview-control,.reason-lead,.policy-check,.comparison-empty,
.comparison-help,.resilience-header small,.decision-disclaimer{color:var(--ms-muted)}
.outcome-pill{color:var(--ms-accent);background:var(--ms-accent-soft);border-color:var(--ms-divider)}
.outcome-pill.blocked{color:var(--red);border-color:var(--ms-divider);background:color-mix(in srgb,var(--red) 15%,transparent)}
.receipt-btn,.policy-preview-control select,.resilience-header select{background:var(--ms-surface-alt);color:var(--ms-text);border-color:var(--ms-divider)}
.journey-wrapper{background:var(--ms-surface-alt);border-color:var(--ms-divider)}
.journey-header span:last-child{color:var(--ms-secondary)}
.journey-step:not(:last-child):after{background:linear-gradient(90deg,var(--ms-accent),var(--ms-divider))}
.journey-step>div:first-child{background:var(--ms-accent-soft);color:var(--ms-accent);border-color:var(--ms-divider);box-shadow:0 0 0 4px var(--ms-surface-alt)}
.journey-step.final>div:first-child{background:var(--ms-accent);color:var(--ms-bg);border-color:var(--ms-accent);box-shadow:0 0 0 4px var(--ms-surface-alt)}
.journey-step.blocked>div:first-child{background:color-mix(in srgb,var(--red) 25%,var(--ms-surface));color:var(--red);border-color:var(--red)}
.journey-track:before{background:var(--ms-secondary);box-shadow:0 0 6px var(--ms-secondary)}
.decision-scoreboard .score-cell{background:var(--ms-surface-alt);border-color:var(--ms-divider)}
.score-cell strong,.score-cell.violet strong{color:var(--ms-text)}
.score-cell.green strong{color:var(--ms-accent)}
.score-cell.amber strong{color:var(--ms-secondary)}
.score-cell strong .unit{color:var(--ms-muted)}
.simulation-label{background:var(--ms-secondary-soft);border-color:var(--ms-divider);color:var(--ms-secondary)}
.candidate-card{background:var(--ms-surface-alt);border-color:var(--ms-divider);color:var(--ms-text)}
.candidate-card:not(:disabled):hover{background:var(--ms-raised);border-color:var(--ms-accent)}
.candidate-card.selected{background:var(--ms-accent-soft);border-color:var(--ms-accent)}
.candidate-card.considered{background:var(--ms-accent-soft);border-color:var(--ms-divider)}
.candidate-side strong,.candidate-main strong{color:var(--ms-text)}
.candidate-select-badge{background:var(--ms-accent);color:var(--ms-bg)}
.candidate-select-badge.alt{background:var(--ms-secondary);color:var(--ms-bg)}
.candidate-plot-card{background:var(--ms-surface-alt);border-color:var(--ms-divider)}
.plot-legend{border-color:var(--ms-divider)}.plot-legend i{background:var(--ms-secondary)}
.plot-legend i:nth-of-type(2){background:var(--ms-accent)}
.decision-recommendation{background:var(--ms-secondary-soft);border-color:var(--ms-divider);color:var(--ms-muted)}
.decision-recommendation>.icon,.decision-recommendation strong{color:var(--ms-secondary)}
.decision-recommendation button{background:var(--ms-secondary);color:var(--ms-bg)}
.decision-insight{background:var(--ms-surface-alt);border-color:var(--ms-divider)}
.insight-icon{background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.insight-icon.green{background:var(--ms-accent-soft);color:var(--ms-accent)}
.decision-insight-head span:not(.insight-icon){color:var(--ms-secondary)}
.policy-check-icon{background:var(--ms-accent-soft);color:var(--ms-accent)}
.choice-pill,.comparison-stat{background:var(--ms-surface);border-color:var(--ms-divider);color:var(--ms-text)}
.comparison-stat small{color:var(--ms-muted)}
.comparison-stat.green strong{color:var(--ms-accent)}
.comparison-stat.neutral strong{color:var(--ms-quiet)}
.comparison-warning{background:color-mix(in srgb,var(--red) 12%,var(--ms-surface));border-color:var(--ms-divider);color:var(--red)}
.resilience-lab{background:var(--ms-surface-alt);border-color:var(--ms-divider)}
.resilience-icon{background:var(--ms-accent-soft);color:var(--ms-accent)}
.resilience-header label,.resilience-result{color:var(--ms-muted)}
.resilience-result{border-color:var(--ms-divider)}
.resilience-result .icon,.resilience-result strong{color:var(--ms-accent)}
.requested-route-bar{background:var(--ms-accent-soft);border-color:var(--ms-divider)}
.route-compare-model small{color:var(--ms-accent)}
.route-compare-model strong,.route-compare-saving strong{color:var(--ms-text)}
.route-compare-model span,.route-compare-saving small{color:var(--ms-muted)}
.route-compare-arrow,.route-compare-saving.saving strong{color:var(--ms-accent)}
.route-compare-saving{border-color:var(--ms-divider)}
.request-item-status.optimised{color:var(--ms-accent)!important;background:var(--ms-accent-soft)}
.request-item-status.locked{color:var(--ms-secondary)!important;background:var(--ms-secondary-soft)}
.request-item-status.protected{color:var(--ms-quiet)!important;background:var(--ms-chip)}
.request-item-status.fallback{color:var(--ms-quiet)!important;background:var(--ms-chip)}
.metric-grid .mini-spark.purple svg{filter:hue-rotate(95deg) saturate(.65)}
.savings-hero-badges span:last-child{background:#304039;border-color:#4b6157;color:#cad8cb}
.saving-protection{background:#1f322f;border-color:#3d6358}
.saving-protection .icon{color:#a3d9bf}
.footer,.chart-period,.chart-legend,.chart-foot,.forecast-confidence{color:var(--ms-muted)}
.chart-tooltip{background:var(--ms-surface-alt);border-color:var(--ms-divider);color:var(--ms-text)}
.chart-tooltip span{color:var(--ms-muted)}
.legend-purple{background:var(--ms-secondary)}.legend-cyan{background:var(--ms-accent)}
.chart-foot .tiny-dot,.footer-dot{background:var(--ms-secondary);box-shadow:none}
.forecast-insight{background:var(--ms-accent-soft);border-color:var(--ms-divider);color:var(--ms-accent)}
.forecast-panel input[type=range]{background:var(--ms-divider);accent-color:var(--ms-accent)}
.forecast-panel input[type=range]::-webkit-slider-thumb{background:var(--ms-accent);border-color:var(--ms-surface);box-shadow:0 0 0 1px var(--ms-divider)}
.forecast-panel input[type=range]::-moz-range-thumb{background:var(--ms-accent);border-color:var(--ms-surface)}
.route-callout{background:var(--ms-accent-soft);border-color:var(--ms-divider)}
.route-callout strong{color:var(--ms-accent)}.route-callout p{color:var(--ms-muted)}
.route-callout-icon{background:var(--ms-raised);color:var(--ms-accent)}
.agent-total{background:var(--ms-accent-soft);color:var(--ms-accent)}
.agent-item:hover{background:var(--ms-surface-alt)}
.agent-symbol,.agent-symbol.alt{background:var(--ms-chip);color:var(--ms-quiet)}
.agent-symbol.warn{background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.agent-copy small,.agent-item>.icon,.agent-status.idle{color:var(--ms-muted)}
.agent-status.running{color:var(--ms-accent)}.agent-status.waiting{color:var(--ms-secondary)}
.panel-bottom-link{color:var(--ms-accent)}
.alert-filter-btn{color:var(--ms-muted);border-color:var(--ms-divider)}
.alert-filter-btn.active{color:var(--ms-accent);background:var(--ms-accent-soft);border-color:var(--ms-divider)}
.alert-icon.critical{background:color-mix(in srgb,var(--red) 15%,var(--ms-surface));color:var(--red)}
.alert-icon.warning{background:var(--ms-secondary-soft);color:var(--ms-secondary)}
.alert-icon.info{background:var(--ms-chip);color:var(--ms-quiet)}
.alert-body p,.alert-body small{color:var(--ms-muted)}
.ack-btn{background:var(--ms-surface-alt);color:var(--ms-text);border-color:var(--ms-divider)}
.ack-btn:hover{background:var(--ms-raised)}
.donut-chart:before{background:var(--ms-surface)}
.donut-centre strong{color:var(--ms-text)}.donut-centre small,.mix-name,.mix-data small,.mix-foot{color:var(--ms-muted)}
.mix-foot .icon{color:var(--ms-accent)}
.detail-drawer{background:var(--ms-surface);border-left-color:var(--ms-divider);color:var(--ms-text)}
.drawer-head{color:var(--ms-secondary)}.drawer-head button{color:var(--ms-muted)}
.drawer-sub,.detail-row span,.detail-event span{color:var(--ms-muted)}
.detail-card{background:var(--ms-surface-alt);border-color:var(--ms-divider)}
.detail-row{border-color:var(--ms-divider)}.detail-event{border-color:var(--ms-accent)}
.mobile-menu span{background:var(--ms-text)}
html[data-theme="light"]{--ms-muted:#536a65}
html[data-theme="light"] .saving-disclaimer{color:#afc9c4}
@media(max-width:470px){.topbar .breadcrumb>span:first-child,.topbar .breadcrumb>.icon{display:none}.topbar .breadcrumb strong{font-size:10px}.top-actions{gap:6px}.mobile-menu{margin-right:8px}.live-toggle{padding:7px}.theme-control select{min-width:62px}}
@media(max-width:360px){.command-trigger{display:none}}
.command-overlay{background:rgba(8,21,22,.6)}
.command-palette{background:var(--ms-surface);border-color:var(--ms-divider)}
.command-input-wrap,.command-footer{border-color:var(--ms-divider)}
.command-input-wrap input{color:var(--ms-text)}
.command-result:hover,.command-result.selected{background:var(--ms-accent-soft)}
.command-result-info strong{color:var(--ms-text)}
.command-result-info small,.command-footer{color:var(--ms-muted)}
.theme-control{display:flex;gap:7px;align-items:center;flex:none;position:relative}
.theme-control .icon{height:15px;width:15px;color:var(--ms-secondary)}
.theme-control select{appearance:none;background:var(--ms-surface);border:1px solid var(--ms-divider);border-radius:8px;color:var(--ms-text);padding:8px 22px 8px 10px;font-size:10px;font-weight:800;min-width:76px;cursor:pointer}
.theme-control:after{content:'⌄';position:absolute;right:9px;top:4px;color:var(--ms-muted);pointer-events:none;font-size:16px}
.theme-control select:hover{border-color:var(--ms-accent)}
.brand-terms .brand-term{position:relative}
.brand-term-heading{display:flex;gap:9px;align-items:center}
.brand-term-heading>strong{font:800 17px var(--display);letter-spacing:-.4px;color:#e5fff2}
.brand-term:nth-child(2) .brand-term-heading>strong{color:#c1d7d5}
.brand-term:nth-child(3) .brand-term-heading>strong{color:#d9c29e}
.brand-term-glyph{display:grid;place-items:center;width:31px;height:31px;border:1px solid #477166;border-radius:8px;background:#1a403d;color:#92d9be}
.brand-term-glyph .icon{height:19px;width:19px}
.brand-term:nth-child(3) .brand-term-glyph{background:#41352c;border-color:#67503d;color:#e4be91}
.savings-section{background:linear-gradient(120deg,#15272b,#121f26);border-color:#33514d}
.savings-section .brand-term{background:#1a3033;border-color:#345451}
.saving-meter-fill.requested{background:linear-gradient(90deg,#65737e,#99a9ac)}
.saving-meter-fill.optimised{background:linear-gradient(90deg,#307b70,#8ed1b8)}
.saving-difference-icon{background:#25574d;color:#bce6d2}
.saving-hero-figure>strong{color:#b5e5c6}
.saving-hero-figure{background:linear-gradient(135deg,#1d4a43,#1b3437);border-color:#45766b}
.saving-hero-figure .icon,.saving-hero-trend{color:#bee6d0}
.savings-hero h2 span{color:#b1e4c3}
.savings-kicker,.saving-panel-kicker{color:#a9d5c3}
.saving-stat>strong.saving-safe{color:#afdac3}
.saving-count-chip{color:#bcddc9}
/* Functional workflow widgets use a dark instrument surface in both modes. */
html[data-theme="light"] .savings-section{box-shadow:0 20px 52px rgba(24,60,50,.12)}
html[data-theme="light"] .savings-section .saving-panel,
html[data-theme="light"] .savings-section .saving-workloads-panel{box-shadow:0 10px 30px rgba(0,0,0,.075)}
html[data-theme="light"] .decision-workspace{background:var(--ms-surface)}
html[data-theme="light"] .decision-workspace h3,
html[data-theme="light"] .decision-workspace strong{color:var(--ms-text)}
html[data-theme="light"] .decision-workspace p,
html[data-theme="light"] .decision-workspace small{color:var(--ms-muted)}
html[data-theme="light"] .decision-workspace .outcome-pill{color:var(--ms-accent)}
html[data-theme="light"] .decision-detail-head,
html[data-theme="light"] .decision-panel-head{border-color:var(--ms-divider)}
html[data-theme="light"] .decision-section .request-item-title,
html[data-theme="light"] .decision-section .journey-step strong{color:var(--ms-text)}
html[data-theme="light"] .decision-section .candidate-model-avatar{color:#14282d}
html[data-theme="light"] .request-item-mark.blocked{background:#f6e0df;color:var(--red)}
.theme-icon-gallery{color:var(--ms-text);background:var(--ms-bg)}
.glyph-tile{border:1px solid var(--ms-divider);background:var(--ms-surface);border-radius:12px;padding:21px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--ms-accent)}
.glyph-tile .icon{width:32px;height:32px}
.glyph-tile small{font:700 11px var(--font);color:var(--ms-muted)}
@media(max-width:1150px){.top-actions{gap:9px}.theme-control .icon{display:none}}
@media(max-width:700px){.theme-control select{min-width:68px;padding:7px 19px 7px 7px;font-size:9px}.theme-control:after{right:6px}.top-date{display:none}}
@media(prefers-reduced-motion:reduce){.feature-callout:after{animation:none}}
