/*
 * Routzell Admin Design Tokens — single source of truth.
 *
 * Pinned for Phase A P0 on 2026-04-24. Existing admin.html still ships its
 * own :root vars for backward compatibility; new pages (P1: Dashboard,
 * Orders; P3: Van Ops) read tokens from *here* and can be restyled in a
 * single file without touching the 1,600-line admin.html during Phase A.
 *
 * Mockup spec (routzell_admin_mockups.zip):
 *  - Palette:  navy #172B4D · orange #F97316 · off-white #F8FAFC
 *  - Typography: Inter 400 / 600 / 700 · tabular-nums on currency
 *  - Icons:   Lucide stroke, 18px default, 20px in sidebar
 *  - Spacing: 4 · 8 · 12 · 16 · 24 · 32 px scale (no arbitrary values)
 *  - Radius:  6 (chips) · 10 (panels) · 14 (hero)
 *  - Shadows: 0 1px 2px rgba(15,23,42,.04) · 0 8px 30px rgba(15,23,42,.07)
 */

:root {
  /* === Brand === */
  --rz-navy:           #172B4D;
  --rz-navy-2:         #0F1F38;
  --rz-navy-hover:     #1E3A68;
  --rz-accent:         #F97316;
  --rz-accent-2:       #EA580C;
  --rz-accent-soft:    #FFF7ED;

  /* === Surfaces === */
  --rz-bg:             #F8FAFC;
  --rz-card:           #FFFFFF;
  --rz-border:         #E5E7EB;
  --rz-border-strong:  #CBD5E1;
  --rz-border-subtle:  #F1F5F9;

  /* === Text === */
  --rz-text:           #0F172A;
  --rz-text-muted:     #64748B;
  --rz-text-subtle:    #94A3B8;
  --rz-text-inverse:   #FFFFFF;

  /* === Semantic === */
  --rz-success:        #10B981;
  --rz-success-soft:   #DCFCE7;
  --rz-success-ink:    #065F46;
  --rz-danger:         #EF4444;
  --rz-danger-soft:    #FEE2E2;
  --rz-danger-ink:     #991B1B;
  --rz-warn:           #F59E0B;
  --rz-warn-soft:      #FEF3C7;
  --rz-warn-ink:       #92400E;
  --rz-info:           #3B82F6;
  --rz-info-soft:      #DBEAFE;
  --rz-info-ink:       #1E3A8A;

  /* === Spacing (4/8 grid) === */
  --rz-s1:  4px;
  --rz-s2:  8px;
  --rz-s3:  12px;
  --rz-s4:  16px;
  --rz-s6:  24px;
  --rz-s8:  32px;

  /* === Radius === */
  --rz-r-chip:   6px;
  --rz-r-panel:  10px;
  --rz-r-hero:   14px;
  --rz-r-pill:   999px;

  /* === Shadows === */
  --rz-shadow-1: 0 1px 2px rgba(15,23,42,.04);
  --rz-shadow-2: 0 8px 30px rgba(15,23,42,.07);
  --rz-shadow-3: 0 20px 60px rgba(15,23,42,.14);

  /* === Typography === */
  --rz-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                  Roboto, sans-serif;
  --rz-font-mono: 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace;

  /* === Layout === */
  --rz-sidebar-w:       230px;   /* Phase A — current admin */
  --rz-sidebar-icon-w:  68px;    /* Mockup target */
  --rz-topbar-h:        60px;

  /* === Z-index === */
  --rz-z-topbar:  50;
  --rz-z-drawer:  60;
  --rz-z-modal:   100;
}

/* Tabular numerals on all money/stat readouts (pixel-lock) */
.tabular-nums,
.kpi b,
.panel [data-currency],
td[data-currency] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}

/* Lucide icons default sizing */
[data-lucide] {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
  vertical-align: -3px;
}
.sidebar [data-lucide] { width: 20px; height: 20px; }
