/* TOKENS-BEGIN */
/* ===== Theme tokens (generated, V3.44) — every surface reads these. Tone: body[data-tone=light|dark] (set by setTheme). ===== */
body[data-theme="midnight"],:root{color-scheme:dark;
  --bg-0:#0b1120;--bg-1:#111827;--bg-2:#1a2332;--bg-3:#243044;--border:rgba(255,255,255,.10);--text-0:#f1f5f9;--text-1:#c3cddb;--text-2:#a3b1c4;
  --accent:#38bdf8;--accent-dim:color-mix(in srgb,#38bdf8 16%,transparent);--accent-btn:#f59e0b;--on-accent:#0b1120;--accent-ink:#7dd3fc;--link:#7dd3fc;
  --green:#4ade80;--amber:#fbbf24;--rose:#fca5a5;--ok-ink:#4ade80;--warn-ink:#fbbf24;--bad-ink:#fca5a5;--info-ink:#7dd3fc;
  --panel-bg:#111827;--card-bg:#1a2332;--input-bg:#0b1120;--input-text:#f1f5f9;
  --wm-elev-bg:#2b3240;--wm-elev-bg2:#343c4c;--wm-elev-border:rgba(148,163,184,.32);--wm-backdrop:rgba(2,6,23,.62);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#2b3240;--win-card:#343c4c;--win-border:rgba(148,163,184,.32);
  --wm-bg:#0b1120;--wm-surface:#2b3240;--wm-surface-2:#343c4c;--wm-text:#f1f5f9;--wm-muted:#a3b1c4;--wm-border:rgba(148,163,184,.32);--wm-accent:#38bdf8;--wm-link:#7dd3fc;--wm-input-bg:#0b1120;--wm-input-text:#f1f5f9}
body[data-theme="enterprise"]{color-scheme:light;
  --bg-0:#f1f5f9;--bg-1:#ffffff;--bg-2:#f8fafc;--bg-3:#e2e8f0;--border:#d5dce5;--text-0:#0f172a;--text-1:#334155;--text-2:#4b5563;
  --accent:#0ea5e9;--accent-dim:color-mix(in srgb,#0ea5e9 16%,transparent);--accent-btn:#0369a1;--on-accent:#ffffff;--accent-ink:#0369a1;--link:#0369a1;
  --green:#166534;--amber:#92400e;--rose:#b91c1c;--ok-ink:#166534;--warn-ink:#92400e;--bad-ink:#b91c1c;--info-ink:#0369a1;
  --panel-bg:#ffffff;--card-bg:#f8fafc;--input-bg:#ffffff;--input-text:#0f172a;
  --wm-elev-bg:#f3f6f9;--wm-elev-bg2:#e6ebf1;--wm-elev-border:#bfc9d6;--wm-backdrop:rgba(15,23,42,.38);--wm-elev-shadow:0 18px 48px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.06);
  --win-bg:#f3f6f9;--win-card:#e6ebf1;--win-border:#bfc9d6;
  --wm-bg:#f1f5f9;--wm-surface:#f3f6f9;--wm-surface-2:#e6ebf1;--wm-text:#0f172a;--wm-muted:#4b5563;--wm-border:#bfc9d6;--wm-accent:#0ea5e9;--wm-link:#0369a1;--wm-input-bg:#ffffff;--wm-input-text:#0f172a}
body[data-theme="ocean"]{color-scheme:dark;
  --bg-0:#0c1929;--bg-1:#0f2744;--bg-2:#163a5f;--bg-3:#1e4d7b;--border:rgba(56,189,248,.16);--text-0:#e0f2fe;--text-1:#bae6fd;--text-2:#9fd2f0;
  --accent:#22d3ee;--accent-dim:color-mix(in srgb,#22d3ee 16%,transparent);--accent-btn:#06b6d4;--on-accent:#06202e;--accent-ink:#67e8f9;--link:#67e8f9;
  --green:#5eead4;--amber:#fcd34d;--rose:#fda4af;--ok-ink:#5eead4;--warn-ink:#fcd34d;--bad-ink:#fda4af;--info-ink:#7dd3fc;
  --panel-bg:#0f2744;--card-bg:#163a5f;--input-bg:#0c1929;--input-text:#e0f2fe;
  --wm-elev-bg:#183553;--wm-elev-bg2:#20436a;--wm-elev-border:rgba(125,211,252,.30);--wm-backdrop:rgba(2,12,27,.62);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#183553;--win-card:#20436a;--win-border:rgba(125,211,252,.30);
  --wm-bg:#0c1929;--wm-surface:#183553;--wm-surface-2:#20436a;--wm-text:#e0f2fe;--wm-muted:#9fd2f0;--wm-border:rgba(125,211,252,.30);--wm-accent:#22d3ee;--wm-link:#67e8f9;--wm-input-bg:#0c1929;--wm-input-text:#e0f2fe}
body[data-theme="forest"]{color-scheme:dark;
  --bg-0:#0a1f14;--bg-1:#0f2e1f;--bg-2:#164a32;--bg-3:#1e6343;--border:rgba(52,211,153,.16);--text-0:#ecfdf5;--text-1:#bbf7d0;--text-2:#a8e6c4;
  --accent:#34d399;--accent-dim:color-mix(in srgb,#34d399 16%,transparent);--accent-btn:#10b981;--on-accent:#04140c;--accent-ink:#6ee7b7;--link:#86efac;
  --green:#86efac;--amber:#fcd34d;--rose:#fecdd3;--ok-ink:#86efac;--warn-ink:#fcd34d;--bad-ink:#fecdd3;--info-ink:#a5f3fc;
  --panel-bg:#0f2e1f;--card-bg:#164a32;--input-bg:#0a1f14;--input-text:#ecfdf5;
  --wm-elev-bg:#173a29;--wm-elev-bg2:#1f4a35;--wm-elev-border:rgba(110,231,183,.30);--wm-backdrop:rgba(3,15,9,.62);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#173a29;--win-card:#1f4a35;--win-border:rgba(110,231,183,.30);
  --wm-bg:#0a1f14;--wm-surface:#173a29;--wm-surface-2:#1f4a35;--wm-text:#ecfdf5;--wm-muted:#a8e6c4;--wm-border:rgba(110,231,183,.30);--wm-accent:#34d399;--wm-link:#86efac;--wm-input-bg:#0a1f14;--wm-input-text:#ecfdf5}
body[data-theme="sunset"]{color-scheme:dark;
  --bg-0:#1a0f0a;--bg-1:#2a1810;--bg-2:#3d2418;--bg-3:#52301f;--border:rgba(251,146,60,.16);--text-0:#fff7ed;--text-1:#fed7aa;--text-2:#f2c095;
  --accent:#fb923c;--accent-dim:color-mix(in srgb,#fb923c 16%,transparent);--accent-btn:#f97316;--on-accent:#1a0f0a;--accent-ink:#fdba74;--link:#fdba74;
  --green:#86efac;--amber:#fcd34d;--rose:#fda4af;--ok-ink:#86efac;--warn-ink:#fcd34d;--bad-ink:#fda4af;--info-ink:#93c5fd;
  --panel-bg:#2a1810;--card-bg:#3d2418;--input-bg:#1a0f0a;--input-text:#fff7ed;
  --wm-elev-bg:#35231a;--wm-elev-bg2:#432d22;--wm-elev-border:rgba(253,186,116,.30);--wm-backdrop:rgba(15,7,3,.62);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#35231a;--win-card:#432d22;--win-border:rgba(253,186,116,.30);
  --wm-bg:#1a0f0a;--wm-surface:#35231a;--wm-surface-2:#432d22;--wm-text:#fff7ed;--wm-muted:#f2c095;--wm-border:rgba(253,186,116,.30);--wm-accent:#fb923c;--wm-link:#fdba74;--wm-input-bg:#1a0f0a;--wm-input-text:#fff7ed}
body[data-theme="wht"]{color-scheme:dark;
  --bg-0:#0a1628;--bg-1:#0f1f38;--bg-2:#162a4a;--bg-3:#1e3a5f;--border:rgba(249,115,22,.18);--text-0:#f8fafc;--text-1:#c7d2e0;--text-2:#a7b4c6;
  --accent:#f97316;--accent-dim:color-mix(in srgb,#f97316 16%,transparent);--accent-btn:#f97316;--on-accent:#0a1628;--accent-ink:#fdba74;--link:#7dd3fc;
  --green:#86efac;--amber:#fcd34d;--rose:#fca5a5;--ok-ink:#86efac;--warn-ink:#fcd34d;--bad-ink:#fca5a5;--info-ink:#7dd3fc;
  --panel-bg:#0f1f38;--card-bg:#162a4a;--input-bg:#0a1628;--input-text:#f8fafc;
  --wm-elev-bg:#1a2b45;--wm-elev-bg2:#233653;--wm-elev-border:rgba(148,163,184,.32);--wm-backdrop:rgba(2,8,20,.62);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#1a2b45;--win-card:#233653;--win-border:rgba(148,163,184,.32);
  --wm-bg:#0a1628;--wm-surface:#1a2b45;--wm-surface-2:#233653;--wm-text:#f8fafc;--wm-muted:#a7b4c6;--wm-border:rgba(148,163,184,.32);--wm-accent:#f97316;--wm-link:#7dd3fc;--wm-input-bg:#0a1628;--wm-input-text:#f8fafc}
body[data-theme="pearl"]{color-scheme:light;
  --bg-0:#f8fafc;--bg-1:#ffffff;--bg-2:#f1f5f9;--bg-3:#e2e8f0;--border:#dfe3ec;--text-0:#0f172a;--text-1:#334155;--text-2:#4b5563;
  --accent:#6366f1;--accent-dim:color-mix(in srgb,#6366f1 16%,transparent);--accent-btn:#4f46e5;--on-accent:#ffffff;--accent-ink:#4338ca;--link:#4338ca;
  --green:#166534;--amber:#92400e;--rose:#b91c1c;--ok-ink:#166534;--warn-ink:#92400e;--bad-ink:#b91c1c;--info-ink:#1d4ed8;
  --panel-bg:#ffffff;--card-bg:#f1f5f9;--input-bg:#ffffff;--input-text:#0f172a;
  --wm-elev-bg:#f6f7fb;--wm-elev-bg2:#eaedf5;--wm-elev-border:#c7cede;--wm-backdrop:rgba(15,23,42,.35);--wm-elev-shadow:0 18px 48px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.06);
  --win-bg:#f6f7fb;--win-card:#eaedf5;--win-border:#c7cede;
  --wm-bg:#f8fafc;--wm-surface:#f6f7fb;--wm-surface-2:#eaedf5;--wm-text:#0f172a;--wm-muted:#4b5563;--wm-border:#c7cede;--wm-accent:#6366f1;--wm-link:#4338ca;--wm-input-bg:#ffffff;--wm-input-text:#0f172a}
body[data-theme="cupertino"]{color-scheme:light;
  --bg-0:#f5f5f7;--bg-1:#ffffff;--bg-2:#fbfbfd;--bg-3:#e8e8ed;--border:#d9d9df;--text-0:#1d1d1f;--text-1:#3a3a3c;--text-2:#5c5c61;
  --accent:#0071e3;--accent-dim:color-mix(in srgb,#0071e3 16%,transparent);--accent-btn:#0066cc;--on-accent:#ffffff;--accent-ink:#0060c0;--link:#0060c0;
  --green:#166534;--amber:#8a4500;--rose:#c41e1e;--ok-ink:#166534;--warn-ink:#8a4500;--bad-ink:#c41e1e;--info-ink:#0060c0;
  --panel-bg:#ffffff;--card-bg:#fbfbfd;--input-bg:#ffffff;--input-text:#1d1d1f;
  --wm-elev-bg:#f9f9fb;--wm-elev-bg2:#ececf0;--wm-elev-border:#c7c7cf;--wm-backdrop:rgba(0,0,0,.32);--wm-elev-shadow:0 18px 48px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.06);
  --win-bg:#f9f9fb;--win-card:#ececf0;--win-border:#c7c7cf;
  --wm-bg:#f5f5f7;--wm-surface:#f9f9fb;--wm-surface-2:#ececf0;--wm-text:#1d1d1f;--wm-muted:#5c5c61;--wm-border:#c7c7cf;--wm-accent:#0071e3;--wm-link:#0060c0;--wm-input-bg:#ffffff;--wm-input-text:#1d1d1f}
body[data-theme="neon"]{color-scheme:dark;
  --bg-0:#05050a;--bg-1:#0c0c16;--bg-2:#141424;--bg-3:#1e1e33;--border:rgba(0,245,212,.14);--text-0:#f4f4ff;--text-1:#c9c9e6;--text-2:#a6a6c8;
  --accent:#00f5d4;--accent-dim:color-mix(in srgb,#00f5d4 16%,transparent);--accent-btn:#00f5d4;--on-accent:#05050a;--accent-ink:#00f5d4;--link:#5eead4;
  --green:#4ade80;--amber:#fde047;--rose:#fda4af;--ok-ink:#4ade80;--warn-ink:#fde047;--bad-ink:#fda4af;--info-ink:#67e8f9;
  --panel-bg:#0c0c16;--card-bg:#141424;--input-bg:#05050a;--input-text:#f4f4ff;
  --wm-elev-bg:#16162a;--wm-elev-bg2:#1f1f38;--wm-elev-border:rgba(123,47,247,.45);--wm-backdrop:rgba(0,0,5,.7);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#16162a;--win-card:#1f1f38;--win-border:rgba(123,47,247,.45);
  --wm-bg:#05050a;--wm-surface:#16162a;--wm-surface-2:#1f1f38;--wm-text:#f4f4ff;--wm-muted:#a6a6c8;--wm-border:rgba(123,47,247,.45);--wm-accent:#00f5d4;--wm-link:#5eead4;--wm-input-bg:#05050a;--wm-input-text:#f4f4ff}
body[data-theme="paper"]{color-scheme:light;
  --bg-0:#f5f4ee;--bg-1:#faf9f5;--bg-2:#fdfcf8;--bg-3:#ebe9e0;--border:#e3e0d6;--text-0:#2b2a27;--text-1:#45433e;--text-2:#5f5d57;
  --accent:#c96442;--accent-dim:color-mix(in srgb,#c96442 16%,transparent);--accent-btn:#b5532f;--on-accent:#ffffff;--accent-ink:#a8492b;--link:#a8492b;
  --green:#3f6b2a;--amber:#8a5a12;--rose:#a8322b;--ok-ink:#3f6b2a;--warn-ink:#8a5a12;--bad-ink:#a8322b;--info-ink:#2f5f86;
  --panel-bg:#faf9f5;--card-bg:#fdfcf8;--input-bg:#faf9f5;--input-text:#2b2a27;
  --wm-elev-bg:#fbfaf6;--wm-elev-bg2:#f0eee6;--wm-elev-border:#d4d0c4;--wm-backdrop:rgba(43,42,39,.32);--wm-elev-shadow:0 18px 48px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.06);
  --win-bg:#fbfaf6;--win-card:#f0eee6;--win-border:#d4d0c4;
  --wm-bg:#f5f4ee;--wm-surface:#fbfaf6;--wm-surface-2:#f0eee6;--wm-text:#2b2a27;--wm-muted:#5f5d57;--wm-border:#d4d0c4;--wm-accent:#c96442;--wm-link:#a8492b;--wm-input-bg:#faf9f5;--wm-input-text:#2b2a27}
body[data-theme="dusk"]{color-scheme:dark;
  --bg-0:#262624;--bg-1:#30302e;--bg-2:#383835;--bg-3:#43433f;--border:rgba(237,235,228,.10);--text-0:#edebe4;--text-1:#d3d0c7;--text-2:#bdbab1;
  --accent:#d97757;--accent-dim:color-mix(in srgb,#d97757 16%,transparent);--accent-btn:#d97757;--on-accent:#1c1c1a;--accent-ink:#eba585;--link:#eba585;
  --green:#a3cf8f;--amber:#e8c070;--rose:#f0a596;--ok-ink:#a3cf8f;--warn-ink:#e8c070;--bad-ink:#f0a596;--info-ink:#a9c7e6;
  --panel-bg:#30302e;--card-bg:#383835;--input-bg:#262624;--input-text:#edebe4;
  --wm-elev-bg:#33332f;--wm-elev-bg2:#3d3d39;--wm-elev-border:rgba(237,235,228,.20);--wm-backdrop:rgba(10,10,9,.6);--wm-elev-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03);
  --win-bg:#33332f;--win-card:#3d3d39;--win-border:rgba(237,235,228,.20);
  --wm-bg:#262624;--wm-surface:#33332f;--wm-surface-2:#3d3d39;--wm-text:#edebe4;--wm-muted:#bdbab1;--wm-border:rgba(237,235,228,.20);--wm-accent:#d97757;--wm-link:#eba585;--wm-input-bg:#262624;--wm-input-text:#edebe4}
body[data-theme="sage"]{color-scheme:light;
  --bg-0:#eef1ec;--bg-1:#f8faf6;--bg-2:#fbfcf9;--bg-3:#e1e7de;--border:#d7ded3;--text-0:#1f2a24;--text-1:#36443c;--text-2:#4f5c54;
  --accent:#3d7a6a;--accent-dim:color-mix(in srgb,#3d7a6a 16%,transparent);--accent-btn:#3d7a6a;--on-accent:#ffffff;--accent-ink:#2f6656;--link:#2f6656;
  --green:#2f6b33;--amber:#835b12;--rose:#a3332b;--ok-ink:#2f6b33;--warn-ink:#835b12;--bad-ink:#a3332b;--info-ink:#2d5f7f;
  --panel-bg:#f8faf6;--card-bg:#fbfcf9;--input-bg:#f8faf6;--input-text:#1f2a24;
  --wm-elev-bg:#f7f9f4;--wm-elev-bg2:#e9ede5;--wm-elev-border:#c4cdbf;--wm-backdrop:rgba(31,42,36,.30);--wm-elev-shadow:0 18px 48px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.06);
  --win-bg:#f7f9f4;--win-card:#e9ede5;--win-border:#c4cdbf;
  --wm-bg:#eef1ec;--wm-surface:#f7f9f4;--wm-surface-2:#e9ede5;--wm-text:#1f2a24;--wm-muted:#4f5c54;--wm-border:#c4cdbf;--wm-accent:#3d7a6a;--wm-link:#2f6656;--wm-input-bg:#f8faf6;--wm-input-text:#1f2a24}
/* TOKENS-END */

/* ===== V3.44 components on theme tokens (loaded after brand-overrides.css) ===== */
html,body{background:var(--bg-0);color:var(--text-0)}
a{color:var(--link)}
.btn-accent,.btn.btn-accent{background:var(--accent-btn);color:var(--on-accent)!important;border-color:transparent}
.btn-ghost{background:var(--card-bg);color:var(--text-1);border-color:var(--border)}
.btn-ghost:hover{background:var(--bg-3);color:var(--text-0)}
.modal,.wsr-box,.ws-modal{color:var(--text-0)}
.modal .sub,.modal p.sub,.muted,.wsr-note,.wp-line,.wp-lim,.wp-p small,.wp-price small{color:var(--text-2)!important}
.modal :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),
.wsr-box :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),
.address-input,.form-group input:not([type=checkbox]):not([type=radio]):not([type=range]),.form-group select{background:var(--input-bg);color:var(--input-text)}
::placeholder{color:var(--text-2);opacity:.85}
select option{background:var(--input-bg);color:var(--input-text)}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent-btn)}
/* settings: label and control on one row (the generic .form-group input{width:100%} made checkboxes full width above their text) */
.form-group input[type=checkbox],.form-group input[type=radio]{width:auto;padding:0;margin:0;flex:0 0 auto;width:16px;height:16px}
.form-group label:has(> input[type=checkbox]),.form-group label:has(> input[type=radio]){display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-0);cursor:pointer}
.form-group label{color:var(--text-1)}
#settingsOverlay .form-group label[data-i18n],#settingsOverlay .form-group > label:not(:has(input)){color:var(--text-0)}
.theme-btn,.lang-btn{color:var(--text-1);background:var(--card-bg);border-color:var(--border)}
.theme-btn.active,.lang-btn.active{color:var(--accent-ink)!important;border-color:var(--accent)!important;background:var(--wm-elev-bg2)!important}
/* menu overlay */
.mm-modal .sub,.mm-h{color:var(--text-2)!important}
.mm-card{color:var(--text-0)!important;background:var(--wm-elev-bg2)!important;border-color:var(--wm-elev-border)!important}
.mm-card b{color:var(--text-0)!important}.mm-card small{color:var(--text-2)!important}.mm-card i{color:var(--accent-ink)!important}
/* plans sheet */
.wp-card{background:var(--wm-elev-bg2);color:var(--text-0);border-color:var(--wm-elev-border)}
.wp-card h4,.wp-card p,.wp-p b{color:var(--text-0)}
.wp-card li{color:var(--text-1)}
.wp-card.cur{background:var(--wm-elev-bg2);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}
.wp-tag{background:transparent;color:var(--accent-ink);border:1px solid currentColor}
.wp-badge,.wp-lock{background:transparent;color:var(--warn-ink);border:1px solid currentColor}
.wp-cur,.wp-ok{color:var(--ok-ink)}.wp-err{color:var(--bad-ink)}
.wp-plans-h em,.wp-period em,.wp-card em{color:var(--ok-ink)}
.wp-period button[aria-pressed="true"]{background:var(--accent-btn);color:var(--on-accent)}
.wp-msg{color:var(--text-0)}
/* sign-in / account sheet */
.ac-modal{color:var(--text-0)}
.ac-h{margin:0 26px 8px 0;font-size:19px;line-height:1.25}
.ac-steps{display:flex;gap:6px;list-style:none;margin:0 0 10px;padding:0;font-size:11.5px;font-weight:700}
.ac-steps li{padding:3px 10px;border-radius:999px;border:1px solid var(--wm-elev-border);color:var(--text-2)}
.ac-steps li.on{border-color:var(--accent);color:var(--accent-ink)}.ac-steps li.done{color:var(--ok-ink)}
.ac-lead,.ac-any{margin:0 0 6px;font-size:13px;line-height:1.45}
#acBuyNote ~ .ac-any{display:none}
.ac-buy{margin:0 0 8px;padding:7px 10px;border-radius:8px;border:1px solid var(--accent);color:var(--text-0);font-size:13px}
.ac-modal .ac-f{display:block;margin:10px 0}
.ac-modal .ac-f > span{display:block;font-size:12.5px;font-weight:600;color:var(--text-0);margin-bottom:4px}
.ac-modal .ac-f .address-input{margin-top:0}
.ac-modal .ac-rem{display:flex!important;align-items:center;gap:8px;font-size:13px;color:var(--text-0)}
.ac-other[hidden]{display:none!important}
.ac-msg{color:var(--info-ink)}.ac-msg.bad{color:var(--bad-ink)}
.ac-plan{color:var(--text-0)}
/* WaiSpace */
.ws-scope,.ws-nav-h,.ws-nav-sum small,.ws-nav-sum,.ws-emptybox small,.ws-sub,.ws-lead,.ws-foot small,.ws-dhelp p,.ws-dhelp li,.ws-empty{color:var(--text-2)!important}
.ws-nav-i{color:var(--text-1)}.ws-nav-i.on{color:var(--accent-ink);background:var(--wm-elev-bg2)}
.ws-nav-i em{color:var(--text-2)}
.ws-nav-link,.ws-nav-link span{color:var(--accent-ink)!important}
.ws-emptybox b,.ws-page h4{color:var(--text-0)}
.ws-rep{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}
.ws-rep-i{border:1px solid var(--wm-elev-border);border-radius:10px;padding:10px 12px;background:var(--wm-elev-bg2)}
.ws-rep-h{display:flex;align-items:center;gap:10px}.ws-rep-h > i{color:var(--accent-ink);font-size:18px}
.ws-rep-h .ws-meta{flex:1;min-width:0;display:flex;flex-direction:column}.ws-rep-h .ws-meta b{color:var(--text-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-rep-h .ws-meta small{color:var(--text-2)}.ws-rep-h code{color:var(--text-1);font-size:11px}
.ws-rep-st{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid currentColor;color:var(--text-1);white-space:nowrap}
.ws-rep-st.st-active{color:var(--ok-ink)}.ws-rep-st.st-requested{color:var(--warn-ink)}.ws-rep-st.st-expired,.ws-rep-st.st-revoked{color:var(--bad-ink)}
.ws-rep-a{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.ws-rep-a .btn{font-size:11.5px;padding:5px 10px}
.ws-rep-hide{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-1);margin-left:auto}
.ws-rep-hint{margin-top:8px;font-size:12px;color:var(--text-1);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ws-rep-hint > i{color:var(--info-ink)}
/* report panels (wsr-*) and My Circle */
.wsr-box label,.wsr-box fieldset > label,.wsr-box legend{color:var(--text-1)}
.wsr-head small,.wsr-box small{color:var(--text-2)}
/* side panels / layer list */
.mh-desc,.wf-more > summary,.wf-all,.lp-rec,.lc-meta,#offList > div,#impDrop small{color:var(--text-2)!important}
.off-net.on{color:var(--ok-ink)!important}
/* top bar brand */
.brand-title{color:var(--text-0)}
.brand-sub{color:var(--accent-ink)!important}
#waiVersionBadge{-webkit-text-fill-color:var(--accent-ink)!important;color:var(--accent-ink)!important;background:var(--wm-elev-bg2)!important;border-color:var(--wm-elev-border)!important}
/* sample-run dock (admin only) on tokens */
.sc-dock{background:var(--wm-elev-bg);color:var(--text-0);border-color:var(--accent)}
.sc-dock-h button{color:var(--text-0)}.sc-dock-h span,.sc-dock-cur small{color:var(--text-2)}.sc-dock-h i{color:var(--accent-ink)}
/* app chrome: the premium layer (brand-overrides.css) hard-codes the Midnight look with !important; these follow the tokens */
.topnav{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-1) 96%,transparent),color-mix(in srgb,var(--bg-1) 90%,transparent))!important;border-bottom:1px solid var(--border)!important}
body[data-tone="light"] .topnav{box-shadow:0 4px 20px rgba(15,23,42,.06)}
.brand-title{background:linear-gradient(135deg,var(--text-0) 0%,var(--accent-ink) 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
body[data-theme="midnight"] .brand-title{background:linear-gradient(135deg,#e0f2fe 0%,#7dd3fc 50%,#67e8f9 100%)!important;-webkit-background-clip:text!important;background-clip:text!important}
.brand-logo{background:var(--logo-bg,var(--bg-2))}
.search-bar{background:var(--input-bg)!important;border:1px solid var(--border)!important}
.search-bar input{color:var(--input-text)}.search-bar button{color:var(--text-1)}
.btn-ghost{background:color-mix(in srgb,var(--text-0) 5%,transparent)!important;border:1px solid color-mix(in srgb,var(--text-0) 14%,transparent)!important;color:var(--text-1)}
.btn-ghost:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)!important;border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important;color:var(--accent-ink)!important}
body:not([data-theme="midnight"]) .btn-accent{background:var(--accent-btn)!important;color:var(--on-accent)!important;box-shadow:0 4px 14px color-mix(in srgb,var(--accent-btn) 32%,transparent)}
.sidebar{background:linear-gradient(180deg,var(--bg-1),color-mix(in srgb,var(--bg-1) 70%,var(--bg-0)))!important}
.sidebar-left{border-right-color:var(--border)!important}.sidebar-right{border-left-color:var(--border)!important}
.mode-tabs{background:var(--bg-2)!important}
.mode-tab{color:var(--text-1)}.mode-tab.active{background:var(--wm-elev-bg2)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important}
.ms-btn{color:var(--text-1)}.ms-btn.active{background:var(--accent-btn)!important;color:var(--on-accent)!important}
.layer-card,.base-btn,.data-group,.modules-box,.poi-container{background:var(--card-bg)!important;border-color:var(--border)!important;color:var(--text-0)}
.layer-card:hover,.base-btn:hover{background:color-mix(in srgb,var(--accent) 9%,var(--card-bg))!important}
.layer-card.active,.base-btn.active{background:color-mix(in srgb,var(--accent) 15%,var(--card-bg))!important;border-color:var(--accent)!important}
.lc-name,.lp-title,.lm-view,.section-title{color:var(--text-0)}
.wf-tip,.wf-tip span{color:var(--text-1)!important}
.overlay{background:var(--wm-backdrop)!important}
.modal{background:var(--wm-elev-bg)!important;border:1px solid var(--wm-elev-border)!important;box-shadow:var(--wm-elev-shadow)!important}
.coord-badge,#status{color:var(--text-0)}
body[data-tone="light"] #status{background:color-mix(in srgb,var(--bg-1) 94%,transparent)!important}
.sidebar-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 70%,transparent)}
/* My Circle note links (V3.39 colours were per light theme) */
/* theme picker buttons carry data-theme="<id>": keep the page's tokens (the [data-theme] token rules must not re-target them) */
.theme-btn[data-theme]{--wm-elev-bg:inherit;--wm-elev-bg2:inherit;--win-bg:inherit;--win-card:inherit;--win-border:inherit}
.seismic-detail-box h4{color:var(--accent-ink)}
.np-best{color:var(--accent-ink)!important}
#wstPanel .wst-tab.on{background:var(--accent-btn)!important;color:var(--on-accent)!important;border-color:var(--accent-btn)!important}
#aboutCapabilities a{color:var(--link)!important}
/* 901–950 px: the off-canvas sidebar toggles sat on top of the top bar (☰ / account); keep them below it */
@media (max-width:950px){#toggleLeft,#toggleRight{top:72px}}

/* ===== V3.46 result tables never wider than their panel (side panel + floating tool panels): values wrap, long tokens break ===== */
#sidebarRight .section,#sidebarRight .data-group,#sidebarRight details,#sidebarRight .sidebar-scroll>*,[role=dialog] details,.wsr-box details{min-width:0;max-width:100%}
#sidebarRight table,[role=dialog] table,.wsr-box table,.wm-fit table{max-width:100%}
#sidebarRight td,#sidebarRight th,[role=dialog] td,[role=dialog] th,.wsr-box td,.wsr-box th,.wm-fit td,.wm-fit th{overflow-wrap:anywhere;word-break:break-word}
#sidebarRight .rc-tl td:first-child{overflow:visible;text-overflow:clip}
#sidebarRight .rc-tl td:last-child,.wsr-box .rc-tl td:last-child{white-space:normal;width:auto}
#sidebarRight select,#sidebarRight input:not([type=checkbox]):not([type=radio]):not([type=range]),#sidebarRight textarea,.wsr-box select,.wsr-box input:not([type=checkbox]):not([type=radio]):not([type=range]){max-width:100%;min-width:0}
.wsr-box .btn-row,#sidebarRight .btn-row{flex-wrap:wrap}
#sidebarRight pre,[role=dialog] pre,.wsr-box pre{white-space:pre-wrap;overflow-wrap:anywhere}
#sidebarRight svg[viewBox],.wsr-box svg[viewBox]{max-width:100%;height:auto}
/* V3.46 map background = theme background (failed tiles are transparent, see wm-02-map.js) */
#map.leaflet-container{background:var(--bg-1,#0b1120)}
#map .leaflet-tile.wm-tile-miss{visibility:hidden}
/* V3.46 the one reminder per session (wai-plan.js WaiPlan.remind) and the quiet locked-mode line */
.wp-remind{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:1600;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:6px 8px 6px 12px;border-radius:999px;background:var(--wm-elev-bg,#111827);color:var(--text-0,#e5e7eb);border:1px solid var(--border,rgba(148,163,184,.3));box-shadow:0 6px 20px rgba(0,0,0,.3);font-size:12.5px;white-space:nowrap}
.wp-remind>span{overflow:hidden;text-overflow:ellipsis}
.wp-remind>i{color:var(--text-1,#cbd5e1)}
.wp-remind button{background:none;border:0;cursor:pointer;font:inherit;padding:2px 6px;color:var(--link,#7dd3fc);font-weight:600}
.wp-remind .wp-remind-x{color:var(--text-1,#cbd5e1);font-size:16px;line-height:1}
.wp-modebar{color:var(--text-1)}
