/* ============================================================
   ALOP - Master Color Tokens
   /assets/css/tokens.css
   v1.0.0 | 2026-04-07

   THIS IS THE SINGLE SOURCE OF TRUTH for all color values.
   No other CSS file should contain hardcoded palette hex values.
   All files reference these tokens via var(--token-name).

   To change the site palette, edit only this file.

   Palette: Concept B - Steel Blue + Warm Sand + Amber
   CVD-safe (deuteranopia/protanopia): blue is universally
   distinguishable; amber in yellow-brown range; no red-green pairs.
   All primary text pairs pass WCAG AA (4.5:1 minimum).
============================================================ */

:root {

  /* ── Primary blue family ──────────────────────────────── */
  --blue:          #1a5a8a;   /* 7.8:1 on white  - CTAs, brand, nav links       */
  --blue-dark:     #144a7a;   /* 10.2:1 on white - footer bg, hover states       */
  --blue-deeper:   #0e3a6a;   /* 14.1:1 on white - deepest accent                */
  --blue-light:    #e8f0f8;   /* section tints, icon backgrounds                 */
  --blue-mid:      #d0e2f2;   /* borders on blue-tinted areas                    */

  /* ── Portal sidebar aliases (map to blue family) ─────── */
  --forest:        #1a5a8a;   /* alias for --blue    - portal nav, headings       */
  --forest-mid:    #144a7a;   /* alias for --blue-dark - hover, active states     */
  --forest-light:  #e8f0f8;   /* alias for --blue-light - subtle bg tints         */
  --forest-deep:   #0e3a6a;   /* alias for --blue-deeper                          */

  /* ── Amber accent family ──────────────────────────────── */
  --amber:         #7a4a00;   /* 7.8:1 on white  - italic headings, blockquotes  */
  --amber-light:   #c08820;   /* 3.5:1           - large heading accents only     */
  --amber-xlight:  #fdf8ee;   /* badge bg, warm tint                             */
  --amber-border:  #d8c890;   /* badge/card borders                              */

  /* ── Gold aliases (used by portal/intake/pickup CSS) ─── */
  --gold:          #c08820;   /* alias for --amber-light                          */
  --gold-light:    #f5d980;   /* bright amber highlight (footer addr, seals)      */

  /* ── Warm sand / neutral family ──────────────────────── */
  --sand:          #faf8f4;   /* hero left panel, warm section bg                */
  --sand-dark:     #f2ede4;   /* alternate section bg                            */
  --sand-darker:   #e8e0d2;   /* card edges, deeper borders                      */
  --white:         #ffffff;   /* card bg, navbar bg                              */

  /* ── Cream aliases (used by portal/intake/pickup CSS) ── */
  --cream:         #faf8f4;   /* alias for --sand                                 */
  --cream-dark:    #f2ede4;   /* alias for --sand-dark                            */

  /* ── Text hierarchy ───────────────────────────────────── */
  --ink:           #1a1810;   /* 17.5:1 on white - H1/H2 headings                */
  --ink-mid:       #3a3028;   /* 11.2:1 on white - body text, paragraphs         */
  --ink-soft:      #5a5040;   /* 5.8:1 on white  - captions, large text only     */

  /* ── Text aliases (used by portal/ops/staff CSS) ─────── */
  --text:          #1a1810;   /* alias for --ink                                  */
  --text-mid:      #3a3028;   /* alias for --ink-mid                              */
  --text-soft:     #5a5040;   /* alias for --ink-soft                             */
  --text-dark:     #1a1810;   /* alias for --ink (used in ops/staff tables)       */

  /* ── Borders ──────────────────────────────────────────── */
  --border:        #ddd8cc;   /* general borders                                  */
  --border-light:  #eae5dc;   /* subtle dividers                                  */

  /* ── Semantic status colors ───────────────────────────── */
  /* These are functional, not brand — kept intentionally  */
  /* distinct so status meaning is clear for all users.    */
  --status-ok:          #059669;
  --status-ok-bg:       #d1fae5;
  --status-ok-border:   #6ee7b7;
  --status-warn:        #d97706;
  --status-warn-bg:     #fef3c7;
  --status-warn-border: #fcd34d;
  --status-danger:      #dc2626;
  --status-danger-bg:   #fef2f2;
  --status-danger-border: #fecaca;
  --status-stopped:     #9ca3af;
  --status-stopped-bg:  #f3f4f6;
  --status-stopped-border: #e5e7eb;

  /* ── Red alias (used by intake/pickup for form errors) ── */
  --red:           #b91c1c;

}
