/* ═══════════════════════════════════════════════════════
   YOUNG NOLA — BRAND TOKENS (single source of truth)
   ───────────────────────────────────────────────────────
   The values that are TRULY shared across every surface — the
   staff PWA (app.css), the admin (style.css) and the kiosk
   (clock.php). Surface-specific values (page backgrounds, card
   colours, dark vs light grounds) stay in each surface's own
   stylesheet; only genuinely global brand + status colours live
   here so a rebrand is a one-file change.

   Each surface aliases its existing token names to these, e.g.
   `--primary: var(--brand-gold, #C9A84C)` — the literal fallback
   means nothing breaks if this file ever fails to load.
═══════════════════════════════════════════════════════ */
:root {
  /* Gold ramp — the brand accent */
  --brand-gold:        #C9A84C;
  --brand-gold-light:  #E8D48B;
  --brand-gold-deep:   #8A7324;

  /* Slate — admin chrome ink / sidebar */
  --brand-slate:       #1E293B;

  /* Status — semantic, kept separate from the accent */
  --brand-ok:          #22C55E;
  --brand-warn:        #F59E0B;
  --brand-bad:         #EF4444;
  --brand-info:        #3B82F6;

  /* ── Type scale (approved 7-step) ─────────────────────────
     One name per step; every surface maps its text onto these. */
  --fs-display:  1.85rem;   /* big stats / money        800 */
  --fs-title:    1.15rem;   /* page & modal titles      700 */
  --fs-heading:  1rem;      /* card / section headings  700 */
  --fs-body:     0.9rem;    /* default text             500/600 */
  --fs-label:    0.78rem;   /* form labels / meta caps  700 */
  --fs-caption:  0.72rem;   /* badges / timestamps      600 */
  --fs-micro:    0.65rem;   /* tiny tags caps           700 */

  /* ── Control radii ────────────────────────────────────── */
  --r-btn:     11px;
  --r-btn-sm:  9px;
}
