/* Native RiskMetrica shell theme: slate surfaces, rm-theme persistence, html.dark. */
:root{--serl-surface:#fff;--serl-raised:#f8fafc;--serl-text:#0f172a;--serl-muted:#475569;--serl-border:#cbd5e1;--serl-link:#1d4ed8;--serl-chart-grid:#cbd5e1;--serl-chart-axis:#334155;--serl-focus:#2563eb;color-scheme:light}
html.dark{--navy:#e2e8f0;--border:#334155;--page:#0f172a;--muted:#94a3b8;--serl-surface:#1e293b;--serl-raised:#0f172a;--serl-text:#e2e8f0;--serl-muted:#94a3b8;--serl-border:#475569;--serl-link:#93c5fd;--serl-chart-grid:#475569;--serl-chart-axis:#cbd5e1;--serl-focus:#93c5fd;color-scheme:dark}
body{background:var(--page);color:var(--serl-text)}
header,aside{background:#0f172a;color:#cbd5e1}
header .brand{color:#fff}
.serl-header-actions{display:flex;align-items:center;gap:16px;flex:none}
.serl-theme-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;width:36px;height:36px;padding:8px;color:#94a3b8;flex:none}
.serl-theme-toggle:hover{background:#1e293b}
.serl-theme-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.serl-theme-sun{color:#fbbf24}.serl-theme-moon{color:#94a3b8}
.serl-entry-theme{display:flex;justify-content:flex-end;margin-bottom:12px}
#serl-theme-status:empty{display:none}
#serl-theme-status{font-size:12px;color:var(--serl-text);background:var(--serl-surface);margin:0;padding:8px 24px}
.card,.login-card,.context-panel,.v4-panel,.v4-asset{background:var(--serl-surface);color:var(--serl-text);border-color:var(--serl-border)}
.demo-profile,.detail,.v4-detail,th{background:var(--serl-raised);color:var(--serl-text);border-color:var(--serl-border)}
label,.context-choice label,summary{color:var(--serl-text)}
.muted,.eyebrow,footer,.v4-legend,.graph-node small{color:var(--serl-muted)}
input,textarea,select{background:var(--serl-surface);color:var(--serl-text);border-color:var(--serl-border)}
input[type=checkbox]{accent-color:#2563eb}
pre,code,dd,dt{color:inherit}
td,th,footer,.v5-report-row,#v5-service-config fieldset,#v5-report-preview{border-color:var(--serl-border)}
a,td button{color:var(--serl-link)}
.secondary{background:var(--serl-surface);color:var(--serl-link);border-color:var(--serl-link)}
.v4-panel button:not(.primary):not(.secondary),.v5-report-row button{background:var(--serl-raised);color:var(--serl-text);border:1px solid var(--serl-border);border-radius:6px;padding:8px 12px}
.v5-workflow button{background:#0f172a!important;color:#e2e8f0!important}
.v5-workflow small{color:#cbd5e1}
.primary{background:#2563eb;color:#fff;border-color:#2563eb}
html.dark .notice{background:#422006;border-color:#854d0e;color:#fef3c7}
html.dark .pill{background:#172554;color:#bfdbfe}
html.dark .pill.amber{background:#422006;color:#fde68a}
html.dark .pill.green{background:#064e3b;color:#a7f3d0}
html.dark .path button{background:#172554;border-color:#1e40af;color:#bfdbfe}
html.dark .path span{color:#94a3b8}
html.dark .graph-board{background:radial-gradient(#475569 1px,transparent 1px);background-size:16px 16px}
html.dark .graph-node{background:#1e293b;color:#e2e8f0;border-color:#475569}
html.dark .graph-node.chosen{background:#172554;border-color:#60a5fa}
.v4-panel svg{background:var(--serl-raised)}
.v4-panel svg text{fill:var(--serl-chart-axis)}
.v4-panel svg line[stroke="#cbd5e1"]{stroke:var(--serl-chart-grid)}
.v4-panel svg line[stroke="#334155"]{stroke:var(--serl-chart-axis)}
.v4-panel svg [role=button]:focus{outline:2px solid var(--serl-focus)}
html.dark .v4-panel svg path[stroke="#075d76"]{stroke:#38bdf8}
html.dark .v4-panel svg g[role=button] text:first-of-type{fill:#0f172a}
html.dark .v4-panel svg [stroke="#94a3b8"]{stroke:#94a3b8}
html.dark #v5-report-preview{color:#e2e8f0}
html.dark #v5-report-preview td,html.dark #v5-report-preview th{border-color:#475569}
#bpmn-canvas{background:var(--serl-raised);border-color:var(--serl-border)!important}
html.dark #bpmn-canvas .djs-container{background:#0f172a}
html.dark #bpmn-canvas .djs-palette,html.dark #bpmn-canvas .djs-context-pad .entry{background:#1e293b;border-color:#475569;color:#e2e8f0}
html.dark #bpmn-canvas .djs-palette .entry:hover,html.dark #bpmn-canvas .djs-context-pad .entry:hover{background:#334155;color:#93c5fd}
html.dark #bpmn-canvas .djs-palette .entry svg,html.dark #bpmn-canvas .djs-context-pad .entry svg{background:transparent}
html.dark #bpmn-canvas .djs-palette .entry svg path,html.dark #bpmn-canvas .djs-context-pad .entry svg path{fill:#e2e8f0!important;stroke:#e2e8f0!important}
html.dark #bpmn-canvas .djs-visual>rect,html.dark #bpmn-canvas .djs-visual>circle,html.dark #bpmn-canvas .djs-visual>ellipse,html.dark #bpmn-canvas .djs-visual>polygon{fill:#1e293b!important;stroke:#cbd5e1!important}
html.dark #bpmn-canvas .djs-visual path{stroke:#cbd5e1!important}
html.dark #bpmn-canvas .djs-visual text,html.dark #bpmn-canvas .djs-label,html.dark #bpmn-canvas .djs-label tspan{fill:#e2e8f0!important;stroke:none!important}
html.dark #bpmn-canvas .djs-visual [fill="#000"],html.dark #bpmn-canvas .djs-visual [fill="black"],html.dark #bpmn-canvas marker path{fill:#cbd5e1!important}
html.dark #bpmn-canvas .djs-outline{stroke:#60a5fa!important}
html.dark #bpmn-canvas .djs-popup{background:#1e293b;color:#e2e8f0;border-color:#475569}
html.dark #bpmn-canvas .djs-popup .entry:hover{background:#334155}
html.dark #bpmn-canvas .bjs-powered-by{color:#e2e8f0;background:#fff;border-radius:4px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--serl-focus);outline-offset:3px}
@media(max-width:700px){.serl-header-actions{gap:8px}.serl-theme-toggle{width:40px;height:40px}}
@media print{#v5-report-preview{background:#fff!important;color:#0f172a!important}#v5-report-preview svg{background:#fff!important}#v5-report-preview svg text{fill:#334155!important}#v5-report-preview th{background:#f8fafc!important;color:#0f172a!important}}
[data-stage="inventory"]{order:-1}
.formula-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.formula-grid textarea{width:100%;font-family:ui-monospace,monospace;background:#0a1628;color:#e2e8f0;border-radius:8px;padding:14px}.formula-grid input,.formula-grid select{width:100%;margin-bottom:10px}@media(max-width:800px){.formula-grid{grid-template-columns:1fr}}
.v4-panel summary,.v4-panel summary *{font-style:normal!important}
i{font-style:normal}
#serl-purpose .login-wrap{max-width:1160px}
.login-screen{position:relative;isolation:isolate;background:#0f172a}
.serl-banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.login-screen:after{content:"";position:absolute;inset:0;background:rgba(15,23,42,.65);z-index:-1;pointer-events:none}
.login-screen .login-brand,.login-screen .login-caption{color:#fff}
@media(prefers-reduced-motion:reduce){.serl-banner-video{display:none}}
#serl-purpose .login-card{padding:32px}
.purpose-map{margin:28px 0;padding-top:24px;border-top:1px solid var(--serl-border)}
.purpose-map svg{display:block;width:100%;height:auto;font-family:"Helvetica Neue",Arial,sans-serif}
.purpose-map .map-box{fill:var(--serl-raised);stroke:var(--serl-border);stroke-width:1}
.purpose-map .map-title{fill:var(--serl-text);font-size:15px;font-weight:700}
.purpose-map .map-note{fill:var(--serl-muted);font-size:14px}
@media(max-width:700px){.purpose-map{overflow-x:auto}.purpose-map svg{min-width:900px}#serl-purpose .login-card{padding:20px}}
button:not(.serl-theme-toggle){background:#ff8a80!important;color:#000!important;border-color:#ff8a80!important}
button:not(.serl-theme-toggle):hover{background:#ff7068!important;border-color:#ff7068!important}
header button:not(.serl-theme-toggle),nav button{background:transparent!important;color:#cbd5e1!important;border-color:transparent!important}
header button:not(.serl-theme-toggle):hover,nav button:hover{background:#1e293b!important;color:#fff!important}
nav button.active{background:#1e3a8a55!important;color:#bfdbfe!important;border-left-color:#60a5fa!important}
nav button:not(.serl-theme-toggle){background:transparent!important;color:#cbd5e1!important;border-color:transparent!important}
nav button:not(.serl-theme-toggle):hover{background:#1e293b!important;color:#fff!important}
nav button:not(.serl-theme-toggle).active{background:#1e3a8a55!important;color:#bfdbfe!important;border-left-color:#60a5fa!important}
main button:not(.serl-theme-toggle),main button:not(.serl-theme-toggle) *, .login-card button,.login-card button *, .salmon,.salmon *{color:#000!important}
main button:not(.serl-theme-toggle) svg text{fill:#000!important}
