/* Ultimate QC — THE color token set (GR-16: single source of truth).
   Every color on every page and in every chart comes from these tokens;
   no hex literals anywhere else in web_live/ (lint-enforced).

   Dark is the product identity and the default; the light palette exists
   for vision comfort/accessibility. The active theme follows the
   browser's prefers-color-scheme until the person chooses manually
   (static/theme.js persists the choice and flips data-theme on <html>).
   theme.js always stamps data-theme, so tokens key off it alone. */

:root, :root[data-theme="dark"] { color-scheme: dark;
  --bg:#0b141b; --panel:#101f29; --panel2:#0e1a23; --edge:#1c3242;
  --ink:#dfe9ef; --muted:#7e95a3; --accent:#2fb3c4; --accent-dim:#17596b;
  --on-accent:#06222a;
  --amber:#e0a458; --pass:#3ba98c; --pass-soft:#123c33;
  --warn:#e0a458; --warn-soft:#3d2f16; --fail:#ef6461; --fail-soft:#43191e;
  --notrun:#5c707c; --notrun-soft:#18262f; --grid:#182b37; --band:#12333d;
  --plan:#2fb3c4; --actual:#e0a458; --abi:#9b7bd4; --offset:#5c707c;
  --offset2:#8aa1b1; --offset3:#4a6a7d; --chip:#22384a;
  --shadow:rgba(0,0,0,0.45); }

:root[data-theme="light"] { color-scheme: light;
  --bg:#eef2f5; --panel:#ffffff; --panel2:#e3ebf0; --edge:#bfd0da;
  --ink:#16242e; --muted:#516a78; --accent:#0c7d8f; --accent-dim:#a9d8df;
  --on-accent:#ffffff;
  --amber:#8f5d0d; --pass:#14775c; --pass-soft:#d7efe5;
  --warn:#8f5d0d; --warn-soft:#f3e6cb; --fail:#bd352c; --fail-soft:#f8dcd9;
  --notrun:#647885; --notrun-soft:#dfe7ec; --grid:#d8e1e7; --band:#cbe2e7;
  --plan:#0c7d8f; --actual:#a4650f; --abi:#6a4cb3; --offset:#647885;
  --offset2:#7d95a4; --offset3:#4a6a7d; --chip:#d2dde4;
  --shadow:rgba(30,50,64,0.18); }

/* the theme toggle button (markup: <button class="themebtn" ...>) */
.themebtn { font:inherit; line-height:1; padding:4px 9px; border-radius:6px;
  border:1px solid var(--edge); background:var(--panel); color:var(--muted);
  cursor:pointer; font-size:14px; }
.themebtn:hover { color:var(--ink); border-color:var(--accent); }
