/* ETC MS · Ledger theme tokens · v1.0
   All text/background pairs used in the designs meet WCAG AA (4.5:1) unless marked "shape only". */
@font-face { font-family: 'Zilla Slab'; src: url('/fonts/ZillaSlab-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Zilla Slab'; src: url('/fonts/ZillaSlab-MediumItalic.woff2') format('woff2'); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: 'Zilla Slab'; src: url('/fonts/ZillaSlab-SemiBold.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Zilla Slab'; src: url('/fonts/ZillaSlab-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Public Sans'; src: url('/fonts/PublicSans-Variable.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }

:root {
  /* Surfaces */
  --paper: #FBFAF7;            /* page background */
  --surface: #FFFFFF;          /* cards, bars, drawers */
  --border: #E3E8EE;           /* card borders, top bar */
  --divider: #EEF1F4;          /* table row separators, progress tracks */
  --input-border: #CBD5E0;     /* inputs, secondary buttons, score buttons */
  --muted-disabled: #9AA7B4;   /* "—", "Pending" (large text only) */

  /* Text */
  --ink: #1E2B3A;              /* primary text · 14.4:1 on white */
  --muted: #5B6B7C;            /* secondary text · 5.6:1 */

  /* Action */
  --action: #3A6496;           /* primary buttons, links, selected scores · 6.1:1 */
  --action-hover: #335A88;
  --action-tint: #EAF0F7;      /* selected nav/step rows, avatar */
  --action-tint-soft: #F4F7FA; /* selected radio cards, final-score row, drop zones */

  /* Brand bars (from the logo) */
  --bar-blue: #5081BB;         /* Sales · progress · charts (shape only) */
  --bar-purple: #82639C;       /* Service · current step · 5.0:1 */
  --bar-green: #99BD65;        /* Parts · charts (shape only) */
  --steel: #9AB2CC;            /* wordmark, lower-rank bars, drop-zone dash (shape only) */

  /* Role text & tints */
  --purple-text: #6A4F82;      /* section kickers, current-item code */
  --purple-tint: #F3EEF7;
  --purple-tint-soft: #F6F3F9; /* current item row */
  --green-text: #4E7426;       /* success text · 5.5:1 */
  --green-tint: #EEF5E4;

  /* Status */
  --amber-text: #A15C00;       /* placeholder, follow-up due · 5.2:1 */
  --amber-bg: #FFF4E0;
  --amber-bg-soft: #FFF9EE;
  --error: #9B2C2C;
  --error-bg: #FBEAEA;
  --error-bg-soft: #FDF4F4;
  --live: #D64545;             /* on-call dot (shape only) */

  /* Type */
  --font-display: 'Zilla Slab', Georgia, serif;
  --font-ui: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  /* Radius */
  --r-xs: 4px; --r-sm: 6px; --r-md: 8px; --r-lg: 10px; --r-xl: 12px; --r-pill: 999px;

  /* Spacing (4-based, plus the 6/10/14/18/22 half-steps used in dense rows) */
  --s-1: 4px; --s-1h: 6px; --s-2: 8px; --s-2h: 10px; --s-3: 12px; --s-3h: 14px; --s-4: 16px; --s-4h: 18px;
  --s-5: 20px; --s-5h: 22px; --s-6: 24px; --s-7: 28px; --s-8: 32px; --s-10: 40px; --s-16: 64px;

  /* Elevation */
  --shadow-drawer: -12px 0 32px rgba(30,43,58,.08);
  --shadow-thumb: 0 1px 2px rgba(30,43,58,.12);
  --shadow-preview: 0 8px 24px rgba(0,0,0,.12);

  /* Motion */
  --ease-out: cubic-bezier(.2,.8,.2,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);
  --dur-fast: 150ms; --dur-base: 200ms; --dur-slow: 400ms;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur-base: 0ms; --dur-slow: 0ms; }
}

a { color: var(--action); }
a:hover { color: var(--ink); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-ui); font-size: 15px; line-height: 1.45; }
.num { font-variant-numeric: tabular-nums; }
