/* Jobber — design tokens
   Ported verbatim from jobber.html :root (base palette + owner's Excel
   palette used by the .wt weekly grid) plus the font stacks. Nothing in
   this file renders anything — it only defines custom properties consumed
   by app.css. */

:root{
  --bg:#EEF1F5; --surface:#FFFFFF; --sidebar:#16202E; --sidebar-2:#1E2B3C;
  --ink:#182230; --muted:#6B7686; --faint:#96A0AD; --line:#E2E7ED; --line-strong:#CDD5DE;
  --accent:#4F46E5; --accent-hover:#4338CA; --accent-soft:#E4E7FB;
  --ok:#1F9D6B; --ok-bg:#E7F5EE; --review:#2F6FB0; --review-bg:#E9F1F9;
  --attn:#CF8A12; --attn-bg:#FBF1DB; --rej:#C64232; --rej-bg:#FBE8E5;

  /* owner's Excel palette (Timebelt demo.xlsx) — the weekly .wt grid renders in these */
  --xl-navy:#1F3864; --xl-head:#2E5496; --xl-amber:#B26B00; --xl-zebra:#E8EEF7;
  --xl-otbg:#FFF3E6; --xl-ottx:#843C0C; --xl-add:#F2F2F2;

  /* semantic tokens absorbing literals that used to be hardcoded per call-site */
  --surface-2:#F6F8FA; --canvas:#F1F4F7;
  --ondark-1:#C7D0DB; --ondark-2:#AEB9C6; --ondark-3:#9AA6B4; --ondark-hover:#E7ECF2; --ondark-strong:#D5DCE4;
  --onaccent:#FFFFFF; --accent-deep:#3730A3; --accent-ink:#4338CA;
  --code-bg:#EDF2FA; --code-border:#C9D6EA; --uncoded-bg:#F4F6F8; --attn-border:#EBD9AE; --review-hover:#265E96;
  --avatar-bg:#33445A; --avatar-bg-hover:#3E5169;
  --daygrp-border:#D3DFEC; --daygrp-bg:#EDF3FA; --daygrp-today-bg:#F2F3FE;
  --highlight-ring:#BCC2F5; --xl-faint:#AEB8C4; --xl-ot-faint:#D8BC9C;
  --wt-foot-bg:#EEF2F7; --flash-bg:#DBDFFB; --track-bg:#EAEEF2;
  --tag-bg:#EEF2F6; --tag-ink:#516074;
  --dchip-ok-ink:#0F6B48; --dchip-review-ink:#215489; --dchip-attn-ink:#9A6608; --dchip-rej-ink:#9C3123;
  --shadow-rgb:20,32,46; --accent-rgb:79,70,229; --accent-soft-rgb:228,231,251; --surface-rgb:255,255,255; --rej-rgb:198,66,50;

  --ui:"Liberation Sans","DejaVu Sans",Arial,sans-serif;
  --cond:"DejaVu Sans Condensed","Liberation Sans",Arial,sans-serif;
  --mono:"DejaVu Sans Mono",Menlo,monospace;
}

/* ===== dark theme override — same custom-property names, dark values.
   Sidebar/rail chrome (--sidebar*, --ondark-*, --onaccent, --avatar-bg*,
   --accent-deep) and the .wt opaque header bars (--xl-head, --xl-amber) are
   intentionally UNCHANGED — see DARK-MODE plan part 4. ===== */
:root[data-theme="dark"]{
  --bg:#0F151D; --surface:#1A2330;
  --ink:#E7ECF2; --muted:#96A3B3; --faint:#66748A; --line:#2A3444; --line-strong:#3A4658;
  --accent:#6366F1; --accent-hover:#818CF8; --accent-soft:#252A4E; --accent-deep:#4338CA;
  --ok:#35C88A; --ok-bg:#123625; --review:#5B9FE0; --review-bg:#172B40;
  --attn:#E3A93B; --attn-bg:#3A2E10; --rej:#E8695A; --rej-bg:#3A1815;

  --xl-navy:#16233B; --xl-zebra:#212C3D; --xl-otbg:#3A2A14; --xl-ottx:#F0A868; --xl-add:#26303F;

  --surface-2:#212B3A; --canvas:#232D3A;
  --accent-ink:#A5B4FC;
  --code-bg:#1C2A40; --code-border:#33496B; --uncoded-bg:#232C38; --attn-border:#5A431C; --review-hover:#6FAEEA;
  --daygrp-border:#2E3A4C; --daygrp-bg:#1B2431; --daygrp-today-bg:#20244A;
  --highlight-ring:#4C55A0; --xl-faint:#4A5568; --xl-ot-faint:#6B4A2E;
  --wt-foot-bg:#1C2635; --flash-bg:#3A4290; --track-bg:#263242;
  --tag-bg:#232E3C; --tag-ink:#A9B7C7;
  --dchip-ok-ink:#4FE3A6; --dchip-review-ink:#8AC0F2; --dchip-attn-ink:#F0C468; --dchip-rej-ink:#F29488;
  --shadow-rgb:0,0,0; --accent-rgb:99,102,241; --accent-soft-rgb:37,42,78; --surface-rgb:26,35,48;
}
/* No @media(prefers-color-scheme) fallback needed here: the anti-FOUC inline
   script in index.html <head> always resolves the effective theme (stored
   choice, else matchMedia) and sets data-theme="dark"|"light" explicitly
   before first paint, so the attribute selector above is always authoritative. */
