/* Shared semantic tokens. Brand assets and printable PDFs keep their own palette. */
:root,[data-theme="light"]{
 color-scheme:light;
 --ink:#193744;--muted:#657984;--text-secondary:#47626e;
 --bg:#f4f7f8;--paper:#fff;--input-bg:#fff;--line:#d7e1e4;
 --surface-secondary:#eef3f5;--hover-bg:#edf5f3;
 --teal:#137469;--button-bg:#137469;--button-hover:#0c6056;
 --sidebar-bg:#153d4b;--nav:var(--sidebar-bg);--focus-ring:#137469;
 --success-bg:#e9f7ef;--success-border:#bcdccb;--success-text:#216653;
 --warning-bg:#fff6df;--warning-border:#ead9a3;--warning-text:#795700;
 --danger:#aa3541;--danger-bg:#fff0ed;--danger-border:#efcac4;
 --info-bg:#eaf2f8;--info-text:#315f7a;
 --switch-track:#d9e2e8;--switch-active:#087fc9;--switch-knob:#fff;
 --shadow:0 4px 22px #14394407;
}
[data-theme="dark"]{
 color-scheme:dark;
 --ink:#f4f7f8;--muted:#aab8c0;--text-secondary:#c1ced5;
 --bg:#10181d;--paper:#182229;--input-bg:#121b20;--line:#3b4d57;
 --surface-secondary:#1d2930;--hover-bg:#20343d;
 --teal:#60d5c7;--button-bg:#116e65;--button-hover:#155c56;
 --sidebar-bg:#092f3c;--focus-ring:#60d5c7;
 --success-bg:#173b32;--success-border:#326755;--success-text:#97e2bb;
 --warning-bg:#3c321a;--warning-border:#74613b;--warning-text:#f3d283;
 --danger:#ffadb4;--danger-bg:#40272d;--danger-border:#79505a;
 --info-bg:#1d3444;--info-text:#a1d2ef;
 --switch-track:#435965;--switch-active:#087fc9;
 --shadow:0 4px 22px #00000020;
}
html{background:var(--bg)}
body,dialog{background:var(--bg);color:var(--ink)}
dialog{background:var(--paper)}
input,select,textarea{color-scheme:inherit}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=checkbox],input[type=radio]{accent-color:var(--button-bg)}
input:disabled,select:disabled,textarea:disabled{background:var(--surface-secondary);color:var(--muted);opacity:1}
main a:not(.primary):not(.secondary){color:var(--teal)}
button:not([class]){color:var(--ink);background:var(--surface-secondary)}
.appearance-selector{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.appearance-selector>span{color:var(--muted);font-weight:400}
.appearance-selector>span.selected{color:var(--ink);font-weight:650}
.appearance-switch{position:relative;flex:0 0 52px;width:52px;height:28px;border:1px solid var(--muted);border-radius:20px;background:var(--switch-track);padding:0;cursor:pointer}
.appearance-switch::before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border:1px solid var(--muted);border-radius:50%;background:var(--switch-knob);box-shadow:0 1px 3px #0003;transition:transform 180ms ease}
.appearance-switch[aria-checked=true]{background:var(--switch-active)}
.appearance-switch[aria-checked=true]::before{transform:translateX(24px)}
.appearance-switch:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.appearance-status{min-height:1.5em;margin-bottom:0}
body,.card,.panel,dialog,input,select,textarea,.secondary,.appearance-switch,th,td{transition:background-color 180ms ease,border-color 180ms ease,color 120ms ease}
@media(prefers-reduced-motion:reduce){body,.card,.panel,dialog,input,select,textarea,.secondary,.appearance-switch,.appearance-switch::before,th,td{transition:none}}
@media(max-width:400px){.appearance-selector{gap:10px}.appearance-selector>span{font-size:12px}}
