/* Shared sober palette. Dashboard keeps its existing responsive layout. */
:root[data-theme=light]{color-scheme:light;--page:#fff;--panel:#f5f6f8;--control:#fff;--line:#d8dde5;--fg:#14181f;--secondary-text:#596373;--accent:#193d76;--button-bg:#172a43;--button-text:#fff;--notice-bg:#eef3f9;--error-bg:#fff0f0;--error-fg:#a12222}
:root[data-theme=dark]{color-scheme:dark;--page:#08090b;--panel:#15171c;--control:#1c1f25;--line:#333944;--fg:#f4f5f7;--secondary-text:#acb3bf;--accent:#d5e3f8;--button-bg:#edf1f7;--button-text:#111827;--notice-bg:#171f2b;--error-bg:#361c21;--error-fg:#ffb5bc}
html[data-theme] {--bg:var(--page)!important;--surface:var(--panel)!important;--field:var(--control)!important;--text:var(--fg)!important;--main-text:var(--fg)!important;--ink:var(--fg)!important;--muted:var(--secondary-text)!important;--stroke:var(--line)!important;--soft:var(--button-bg)!important}
html[data-theme] body{background:var(--page);color:var(--fg)}
html[data-theme] .login-screen{background:var(--page)}
.ambient{display:none}.identity img{filter:none}.identity p,.intro{color:var(--secondary-text)}
html[data-theme] .shell,html[data-theme] .shell.admin{background:var(--page);border-color:var(--line)}
html[data-theme] :is(.field label,.input-wrap label,.check,.check strong,.cms-field,.legal-card,.cms-item-title strong){color:var(--fg)}
html[data-theme] :is(.input-wrap input,.field input,.field select,.authbox input,.cms-field input,.cms-field textarea){background:var(--control);color:var(--fg);border-color:var(--line);box-shadow:none;font-size:16px}
html[data-theme] :is(.field select option){background:var(--control);color:var(--fg)}
html[data-theme] :is(.card,.choice,.note,.capture,.tile,.cms-main,.cms-sidebar,.cms-array-item,.statline span){background:var(--panel);border-color:var(--line);color:var(--fg)}
html[data-theme] :is(.notice,.privacy-reading,.identity-ready){background:var(--notice-bg);border-color:var(--line);color:var(--fg)}
html[data-theme] :is(.identity-ready span,.version,.cms-sidebar button,.muted,.subtitle,.note,.footer,.disclaimer,.eyebrow){color:var(--secondary-text)}
html[data-theme] :is(.privacy-link,.authbox a,.forgot-link){color:var(--accent)}
html[data-theme] :is(.primary,.authbox button,.submit-login,.admin button){background:var(--button-bg);color:var(--button-text);border:1px solid var(--button-bg);box-shadow:none}
html[data-theme] :is(.secondary,.admin button.outline,.admin button.current){background:var(--panel);color:var(--fg);border:1px solid var(--line)}
html[data-theme] .admin button.accent{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}
html[data-theme] :is(.error,.form-error,.authbox .err){background:var(--error-bg);color:var(--error-fg);border-color:var(--error-fg)}
html[data-theme] .admin-toast{color:var(--accent)}
html[data-theme] .admin-toast.err{color:var(--error-fg)}
.appearance-switch{position:fixed;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:80;padding:9px 12px;border-radius:20px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:600 12px system-ui;box-shadow:0 2px 10px #0001;min-height:38px}
body{padding-bottom:52px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.simulation-context{margin:0;padding:8px 16px;text-align:center;font:500 11px system-ui;color:var(--secondary-text);border-bottom:1px solid var(--line);letter-spacing:.1px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

html[data-theme] :is(.join,.back-link,.site-footnote){color:var(--secondary-text)}
html[data-theme] :is(.join a,.aux-row a,.show-pass){color:var(--accent)}
