:root {
  /* ============================================================
     PHASE 9 — Zayn Snack dark enterprise + blue accent palette.
     These are the canonical color values for the whole app.
     ============================================================ */
  --bg-main: #070A12;
  --bg-sidebar: #050814;
  --bg-topbar: #080B14;

  --surface-1: #111522;
  --surface-2: #171B2A;
  --surface-3: #1E2436;

  --border-soft: #252B3D;
  --border-strong: #35405A;

  --primary: #4F6DFF;
  --primary-hover: #6D84FF;
  --primary-soft: rgba(79, 109, 255, 0.16);
  --primary-border: rgba(79, 109, 255, 0.45);

  --accent-blue: #38BDF8;
  --accent-blue-soft: rgba(56, 189, 248, 0.14);

  --text-main: #F8FAFC;
  --text-muted: #A7B0C3;
  --text-soft: #7F8AA3;
  --text-disabled: #566074;

  --success: #22C55E;
  --success-soft: rgba(34, 197, 94, 0.14);
  --success-border: rgba(34, 197, 94, 0.35);

  --warning: #F59E0B;
  --warning-soft: rgba(245, 158, 11, 0.16);
  --warning-border: rgba(245, 158, 11, 0.38);

  --danger: #EF4444;
  --danger-hover: #F87171;
  --danger-soft: rgba(239, 68, 68, 0.14);
  --danger-border: rgba(239, 68, 68, 0.36);

  --info: #38BDF8;
  --info-soft: rgba(56, 189, 248, 0.14);
  --info-border: rgba(56, 189, 248, 0.34);

  --payroll-thp: #4F6DFF;
  --payroll-base: #38BDF8;
  --payroll-overtime: #8B5CF6;
  --payroll-bonus: #22C55E;
  --payroll-deduction: #EF4444;
  --payroll-cash-advance: #F59E0B;
  --payroll-loan: #FB923C;

  /* ============================================================
     Legacy variable names — kept as aliases so every existing
     CSS/JS file that already references --color-* keeps working
     without any find/replace across the codebase (Phase 9 rule:
     don't rewrite from scratch, stay backward compatible).
     Do not add new colors here — add them above and alias them.
     ============================================================ */
  --color-bg: var(--bg-main);
  --color-surface: var(--surface-1);
  --color-surface-alt: var(--surface-2);
  --color-border: var(--border-strong);
  --color-border-subtle: var(--border-soft);
  --color-text: var(--text-main);
  --color-text-muted: var(--text-muted);
  --color-text-dim: var(--text-soft);
  --color-primary: var(--primary);
  --color-primary-hover: var(--primary-hover);
  --color-primary-contrast: #ffffff;
  --color-success: var(--success);
  --color-danger: var(--danger);
  --color-danger-bg: var(--danger-soft);
  --color-warning: var(--warning);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-8: 48px;

  --font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-md: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 20px;
  --font-size-2xl: 28px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);

  --sidebar-width: 280px;
  --topbar-height: 64px;

  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;
}
