/* Taskman design tokens. Components use these only — never raw hex.
   Light palette on :root, dark on :root[data-theme="dark"] (set before paint by js/theme-boot.js).
   Identity: pine green on green-biased neutrals; Bricolage Grotesque for display, IBM Plex for UI. */
:root{
  color-scheme:light;
  /* neutrals */
  --bg:#F3F5F2; --side:#EAEEE9; --surface:#FFFFFF; --card:#FFFFFF; --sunken:#E9EDE8; --hover:#E1E7E1;
  --line:#D6DDD6; --line-strong:#B9C4BB; --line-input:#84918A; --ink:#14201A; --ink-2:#2D3933; --muted:#55635B;
  /* brand */
  --accent:#1D6B58; --accent-hover:#175A4A; --accent-ink:#FFFFFF; --accent-soft:#DAECE3; --accent-text:#185E4D;
  --focus:#1D6B58;
  /* status (text colours pass 4.5:1 on their soft backgrounds) */
  --good:#25703A; --good-soft:#DCEEDC; --warn:#875000; --warn-soft:#FAEACD;
  --bad:#AE2F29; --bad-soft:#F8DEDB; --bad-solid:#B3312B; --info:#2C5A98; --info-soft:#DDE7F5;
  /* outreach channels: SMS (lagoon blue), Email (ochre), AI Call (heather) */
  --ch-sms:#24609C; --ch-sms-soft:#DFEAF6; --ch-email:#835507; --ch-email-soft:#F5E9D2; --ch-call:#713F89; --ch-call-soft:#EEE3F3;
  /* chart marks per channel (validated: dataviz validate_palette, light on #FFF, dark on #161E1B) */
  --ch-sms-mark:#24609C; --ch-email-mark:#835507; --ch-call-mark:#713F89;
  /* board colours carry white text */
  --b-pine:#1D6B58; --b-sky:#2B67A0; --b-plum:#6A4789; --b-clay:#9C4E2C; --b-sand:#735F31; --b-slate:#475764;
  --on-board:#FFFFFF; --on-board-ink:#14201A;
  /* card labels (non-text marks) */
  --l-green:#3E9B5A; --l-yellow:#C9A227; --l-orange:#D9822B; --l-red:#C8463D; --l-purple:#8456B0; --l-blue:#3A78C2;
  --ty-story:#2E7D4F; --ty-bug:#B83C2C; --ty-task:#3767A8;
  /* elevation: hairlines first, shadows only for things that float */
  --shadow-1:0 1px 2px rgba(16,32,24,.07);
  --shadow-2:0 1px 2px rgba(16,32,24,.06),0 8px 20px -8px rgba(16,32,24,.18);
  --shadow-3:0 24px 56px -16px rgba(16,32,24,.34),0 2px 6px rgba(16,32,24,.08);
  --scrim:rgba(10,20,15,.46);
  --toast-bg:#14201A; --toast-ink:#F3F5F2;
  --shimmer:rgba(255,255,255,.55);
  --tint-on-color:rgba(255,255,255,.16); --tint-on-color-2:rgba(255,255,255,.28);

  /* type */
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --t-xs:.75rem; --t-sm:.8125rem; --t-md:.9375rem; --t-lg:1.125rem; --t-xl:1.5rem; --t-2xl:2rem; --t-kpi:2.25rem;
  /* space (4px grid, dense dashboard scale) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px; --s-12:48px;
  /* radius: small controls < cards < panels < dialogs */
  --r-xs:5px; --r-sm:7px; --r-md:10px; --r-lg:14px; --r-xl:18px; --r-pill:999px;
  /* sizes */
  --side-w:252px; --control-h:36px; --control-h-sm:30px; --touch:44px;

  /* motion */
  --dur-instant:50ms; --dur-fast:100ms; --dur-base:150ms; --dur-medium:200ms; --dur-slow:300ms; --dur-chart:400ms;
  --ease-out:cubic-bezier(.2,0,0,1); --ease-emph:cubic-bezier(.05,.7,.1,1); --ease-in:cubic-bezier(.3,0,1,1); --ease-panel:cubic-bezier(0,.4,0,1);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1412; --side:#111916; --surface:#161E1B; --card:#1E2925; --sunken:#1A2420; --hover:#24302B;
  --line:#2A3631; --line-strong:#3D4A44; --line-input:#6A7972; --ink:#E3EBE6; --ink-2:#C9D4CE; --muted:#9AA9A1;
  --accent:#5FC4A5; --accent-hover:#7AD3B7; --accent-ink:#06201A; --accent-soft:#163A30; --accent-text:#74D0B2;
  --focus:#7AD3B7;
  --good:#7CCB8D; --good-soft:#18321F; --warn:#E8AE4A; --warn-soft:#33270E;
  --bad:#F2877E; --bad-soft:#3A1D1B; --bad-solid:#B8362F; --info:#93B9EF; --info-soft:#19283B;
  --ch-sms:#8BBAEC; --ch-sms-soft:#16273A; --ch-email:#E3B566; --ch-email-soft:#30250F; --ch-call:#D1A6E3; --ch-call-soft:#2B1E34;
  --ch-sms-mark:#4F93DE; --ch-email-mark:#BF8628; --ch-call-mark:#AE75CC;
  --b-pine:#1A5D4D; --b-sky:#285E92; --b-plum:#5C3E78; --b-clay:#874428; --b-sand:#66552C; --b-slate:#3E4C58;
  --l-green:#4CAF69; --l-yellow:#D4AE35; --l-orange:#E08F3D; --l-red:#D9574D; --l-purple:#9767C2; --l-blue:#4A88D1;
  --ty-story:#2F8452; --ty-bug:#BD4231; --ty-task:#3C6DB0;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 1px 2px rgba(0,0,0,.4),0 10px 24px -10px rgba(0,0,0,.6);
  --shadow-3:0 28px 64px -16px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.04);
  --scrim:rgba(2,6,4,.62);
  --toast-bg:#E3EBE6; --toast-ink:#0E1412;
  --shimmer:rgba(255,255,255,.06);
}
