:root {
  /* Typography colors */
  --text-primary: #212529;
  --text-secondary: #6C757D;
  --text-muted: #ADB5BD;
  --text-inverse: #FFFFFF;

  /* Neutral scale (legacy fallback) */
  --primary-900: var(--text-primary);
  --primary-800: #343A40;
  --primary-700: #495057;
  --primary-600: var(--text-secondary);
  --primary-500: var(--text-muted);

  /* Accent Colors */
  --accent-blue: #0066CC;
  --accent-green: #00A86B;
  --accent-amber: #FFB000;
  --accent-red: #DC3545;
  --accent-purple: #6F42C1;

  /* Hover states */
  --accent-blue-hover: #0052A3;
  --accent-green-hover: #008B57;
  --accent-amber-hover: #E69F00;
  --accent-red-hover: #BD2130;
  --accent-purple-hover: #5A32A3;

  /* Surface system */
  --surface-base: #F8F9FA;
  --surface-panel: #FFFFFF;
  --surface-card: #FFFFFF;
  --surface-subtle: #F1F3F5;
  --surface-hover: #E7EEF6;
  --surface-inset: #E9ECEF;

  --bg-primary: var(--surface-panel);
  --bg-secondary: var(--surface-base);
  --bg-tertiary: var(--surface-subtle);
  --bg-hover: var(--surface-hover);

  /* Border system */
  --border-subtle: #DEE2E6;
  --border-strong: #CED4DA;

  /* Buttons */
  --button-primary-bg: var(--accent-blue);
  --button-primary-hover: #0052A3;
  --button-primary-color: var(--text-inverse);
  --button-outline-border: #495057;
  --button-outline-text: var(--text-primary);
  --button-outline-hover-bg: rgba(0, 102, 204, 0.08);

  /* Toggles & focus */
  --toggle-track: #CED4DA;
  --toggle-track-active: var(--accent-blue);
  --toggle-thumb: #FFFFFF;
  --toggle-thumb-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  --focus-ring: rgba(0, 102, 204, 0.24);
  --focus-ring-strong: rgba(0, 102, 204, 0.36);
  --overlay-scrim: rgba(33, 37, 41, 0.55);

  /* Utility Colors */
  --white: #FFFFFF;

  /* Gradient Definitions */
  --gradient-primary: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%);
  --gradient-dark: linear-gradient(135deg, #1E293B 0%, #0F172A 100%);

  /* Typography */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'Fira Code', 'Consolas', 'Monaco', monospace;

  /* Font Sizes */
  --text-xs: 0.75rem;     /* 12px */
  --text-sm: 0.875rem;    /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg: 1.125rem;    /* 18px */
  --text-xl: 1.25rem;     /* 20px */
  --text-2xl: 1.5rem;     /* 24px */
  --text-3xl: 1.875rem;   /* 30px */
  --text-4xl: 2.25rem;    /* 36px */

  /* Font Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Line Heights */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;

  /* Spacing System */
  --space-0: 0;
  --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: 0.25rem;    /* 4px - buttons, inputs */
  --radius-md: 0.5rem;     /* 8px - cards */
  --radius-lg: 0.75rem;    /* 12px - modals */
  --radius-xl: 1rem;       /* 16px - feature cards */
  --radius-full: 9999px;   /* Pills, avatars */

  /* Border Width */
  --border-1: 1px;
  --border-2: 2px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(33, 37, 41, 0.05);
  --shadow-md: 0 4px 12px rgba(33, 37, 41, 0.08);
  --shadow-lg: 0 10px 24px rgba(33, 37, 41, 0.12);
  --shadow-xl: 0 18px 36px rgba(33, 37, 41, 0.14);

  /* Responsive Breakpoints */
  --screen-sm: 640px;   /* Small tablets */
  --screen-md: 768px;   /* Tablets */
  --screen-lg: 1024px;  /* Desktop */
  --screen-xl: 1280px;  /* Large desktop */
  --screen-2xl: 1536px; /* Extra large */

  /* Animation & Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;

  /* Easing Functions */
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
}
