/* SignWindowsCRM design tokens — Adminbase-modernised.
   Every feature styles ONLY via these. No invented hex anywhere. */
:root{
  --accent:#0170B9; --accent-dark:#015a92; --accent-tint:#e8f2f9;
  --canvas:#f4f6f8; --panel:#ffffff; --panel-alt:#fafbfc;
  --ink:#1c2530; --ink-soft:#5b6b7b; --ink-faint:#667888;
  --line:#dde3ea; --line-soft:#eef2f6;
  --ok:#138a52; --ok-tint:#e6f4ec;
  --warn:#b9770a; --warn-tint:#fbf1df;
  --bad:#c0392b; --bad-tint:#fbe9e7;
  --info:#0170B9; --info-tint:#e8f2f9;
  /* leave semantics: sick = amber, unpaid = slate (used by timesheet + holiday) */
  --sick:#b45309; --sick-tint:#fdecd6;
  --unpaid:#475569; --unpaid-tint:#e7ebf0;
  --r:6px; --r-lg:10px; --r-pill:999px;
  --shadow:0 1px 2px rgba(20,40,60,.06),0 1px 3px rgba(20,40,60,.05);
  --shadow-lg:0 6px 24px rgba(20,40,60,.12);
  --sp:8px; --sp2:16px; --sp3:24px;
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs:13px; --fs-sm:12px; --fs-xs:11px; --fs-md:14px; --fs-lg:15px; --fs-xl:20px; --fs-xxl:26px;
  /* ---- single source of truth: heading scale ----
     Change a value here and EVERY h1..h6 across all pages updates.
     Swapping a page from <h2> to <h3> is enough — sizes stay consistent. */
  --h1:22px; --h2:17px; --h3:14px; --h4:12px; --h5:11px; --h6:11px;
  --sidebar:236px; --topbar:52px;
  /* ---- compatibility aliases ----
     Earlier feature work referenced these names with random hex fallbacks,
     so pages rendered off-palette. Aliasing them to the canonical tokens
     makes every page consistent again and keeps ONE source of truth. */
  --bg-soft:var(--panel-alt);
  --bg:var(--canvas);
  --border:var(--line);
  --muted:var(--ink-soft);
  --text-muted:var(--ink-soft);
  --surface:var(--panel);
  --surface-alt:var(--panel-alt);
  --surface2:var(--panel-alt);
  --success:var(--ok);
  --warn-light:var(--warn-tint);
  --sp1:var(--sp); --sp4:32px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);font-size:var(--fs);color:var(--ink);
  background:var(--canvas);-webkit-font-smoothing:antialiased;line-height:1.45}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,h6{margin:0 0 var(--sp) 0;font-weight:650;letter-spacing:-.01em;line-height:1.3}
h1{font-size:var(--h1)} h2{font-size:var(--h2)} h3{font-size:var(--h3)}
h4{font-size:var(--h4)} h5{font-size:var(--h5)} h6{font-size:var(--h6)}
h5,h6{font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}
