/* ==================================================
   VARIABLES.CSS
   Design tokens for the Payroll Management System.
   No selectors/components here — only :root tokens.
   Tailwind handles utility classes; these variables
   drive our custom component classes (components.css,
   dashboard.css) so the whole theme can be swapped
   (e.g. future dark mode) by editing this file only.
================================================== */

:root {
  /* ---------- Brand / Primary ---------- */
  --color-primary: #2563EB;
  --color-primary-hover: #1D4ED8;
  --color-primary-active: #1E40AF;
  --color-primary-light: #DBEAFE;   /* tints, chips, active nav bg */
  --color-primary-50: #EFF6FF;

  /* ---------- Surfaces ---------- */
  --color-bg: #F8FAFC;              /* page background */
  --color-card: #FFFFFF;            /* card / panel background */
  --color-surface-muted: #F1F5F9;   /* table stripes, hover rows */

  /* ---------- Text ---------- */
  --color-text: #1E293B;            /* primary text */
  --color-text-muted: #64748B;      /* secondary text, labels */
  --color-text-subtle: #94A3B8;     /* placeholders, disabled text */
  --color-text-inverse: #FFFFFF;    /* text on colored backgrounds */

  /* ---------- Border ---------- */
  --color-border: #E2E8F0;
  --color-border-strong: #CBD5E1;

  /* ---------- Status ---------- */
  --color-success: #16A34A;
  --color-success-light: #DCFCE7;
  --color-warning: #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger: #DC2626;
  --color-danger-light: #FEE2E2;
  --color-info: #0EA5E9;
  --color-info-light: #E0F2FE;

  /* ---------- Typography ---------- */
  --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --font-size-xs: 0.75rem;    /* 12px - table meta, hints */
  --font-size-sm: 0.875rem;   /* 14px - body default in dense UI */
  --font-size-base: 1rem;     /* 16px - default body */
  --font-size-lg: 1.125rem;   /* 18px - card titles */
  --font-size-xl: 1.25rem;    /* 20px - section headings */
  --font-size-2xl: 1.5rem;    /* 24px - page titles */
  --font-size-3xl: 1.875rem;  /* 30px - dashboard stat numbers */

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* ---------- Spacing (4px base unit) ---------- */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */

  /* ---------- Border Radius ---------- */
  --radius-sm: 6px;    /* badges, small chips */
  --radius-md: 8px;    /* inputs, buttons */
  --radius-lg: 12px;   /* cards, modals */
  --radius-xl: 16px;   /* large panels, stat cards */
  --radius-full: 9999px; /* pills, avatars */

  /* ---------- Shadows (soft, premium feel) ---------- */
  --shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.06), 0 2px 4px -2px rgba(15, 23, 42, 0.05);
  --shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.10), 0 8px 10px -6px rgba(15, 23, 42, 0.06);

  /* ---------- Layout ---------- */
  --sidebar-width: 260px;
  --sidebar-width-collapsed: 76px;
  --navbar-height: 64px;
  --footer-height: 48px;
  --content-max-width: 1440px;

  /* ---------- Sidebar (dark navy theme) ---------- */
  --sidebar-bg: #0F172A;
  --sidebar-bg-hover: #1E293B;
  --sidebar-text: #CBD5E1;
  --sidebar-text-muted: #64748B;
  --sidebar-text-active: #FFFFFF;
  --sidebar-border: #1E293B;
  --sidebar-active-bg: #2563EB;

  /* ---------- Transitions ---------- */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
}
