/* ========================================
   DESIGN TOKENS - GLOBAL VARIABLES
   ======================================== */

:root {
  /* ----- COLORS ----- */
  
  /* Primary palette */
  --color-primary-50: #e6f0ff;
  --color-primary-100: #b3d1ff;
  --color-primary-200: #80b3ff;
  --color-primary-300: #4d94ff;
  --color-primary-400: #1a75ff;
  --color-primary-500: #0a5cd6;      /* Base primary */
  --color-primary-600: #0848a8;
  --color-primary-700: #06347a;
  --color-primary-800: #04204c;
  --color-primary-900: #020c1e;
  
  /* Secondary palette (amber/orange) */
  --color-secondary-50: #fff3e0;
  --color-secondary-100: #ffe0b2;
  --color-secondary-200: #ffcc80;
  --color-secondary-300: #ffb74d;
  --color-secondary-400: #ffa726;
  --color-secondary-500: #f57c00;    /* Base secondary */
  --color-secondary-600: #ef6c00;
  --color-secondary-700: #e65100;
  --color-secondary-800: #d84315;
  --color-secondary-900: #bf360c;
  
  /* Accent palette (emerald) */
  --color-accent-50: #e0f2f1;
  --color-accent-100: #b2dfdb;
  --color-accent-200: #80cbc4;
  --color-accent-300: #4db6ac;
  --color-accent-400: #26a69a;
  --color-accent-500: #00897b;       /* Base accent */
  --color-accent-600: #00796b;
  --color-accent-700: #00695c;
  --color-accent-800: #004d40;
  --color-accent-900: #00332e;
  
  /* Neutral palette */
  --color-neutral-50: #fafafa;
  --color-neutral-100: #f5f5f5;
  --color-neutral-200: #eeeeee;
  --color-neutral-300: #e0e0e0;
  --color-neutral-400: #bdbdbd;
  --color-neutral-500: #9e9e9e;
  --color-neutral-600: #757575;
  --color-neutral-700: #616161;
  --color-neutral-800: #424242;
  --color-neutral-900: #212121;
  
  /* Semantic color tokens */
  --color-text-primary: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-700);
  --color-text-tertiary: var(--color-neutral-600);
  --color-text-inverse: var(--color-neutral-50);
  
  --color-background-primary: #ffffff;
  --color-background-secondary: var(--color-neutral-50);
  --color-background-tertiary: var(--color-neutral-100);
  
  --color-border-light: var(--color-neutral-200);
  --color-border-medium: var(--color-neutral-300);
  --color-border-dark: var(--color-neutral-400);
  
  --color-primary: var(--color-primary-500);
  --color-primary-dark: var(--color-primary-600);
  --color-primary-light: var(--color-primary-400);
  
  --color-secondary: var(--color-secondary-500);
  --color-secondary-dark: var(--color-secondary-600);
  --color-secondary-light: var(--color-secondary-400);
  
  --color-accent: var(--color-accent-500);
  --color-accent-dark: var(--color-accent-600);
  --color-accent-light: var(--color-accent-400);
  
  /* Status colors */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  
  /* ----- TYPOGRAPHY ----- */
  
  /* Font families */
  --font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-heading: 'Georgia', 'Times New Roman', serif;
  --font-family-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;
  
  /* Font sizes - modular scale (1.25 major third) */
  --font-size-xs: 0.75rem;     /* 12px */
  --font-size-sm: 0.875rem;    /* 14px */
  --font-size-base: 1rem;       /* 16px */
  --font-size-md: 1rem;         /* 16px (alias) */
  --font-size-lg: 1.125rem;     /* 18px */
  --font-size-xl: 1.25rem;      /* 20px */
  --font-size-2xl: 1.5rem;      /* 24px */
  --font-size-3xl: 1.875rem;    /* 30px */
  --font-size-4xl: 2.25rem;     /* 36px */
  --font-size-5xl: 3rem;        /* 48px */
  --font-size-6xl: 3.75rem;     /* 60px */
  --font-size-7xl: 4.5rem;      /* 72px */
  
  /* Font weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Line heights */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;
  
  /* Letter spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.02em;
  
  /* ----- SPACING (8px base grid) ----- */
  --spacing-0: 0;
  --spacing-1: 0.25rem;    /* 4px */
  --spacing-2: 0.5rem;     /* 8px */
  --spacing-3: 0.75rem;    /* 12px */
  --spacing-4: 1rem;       /* 16px */
  --spacing-5: 1.25rem;    /* 20px */
  --spacing-6: 1.5rem;     /* 24px */
  --spacing-7: 1.75rem;    /* 28px */
  --spacing-8: 2rem;       /* 32px */
  --spacing-9: 2.25rem;    /* 36px */
  --spacing-10: 2.5rem;    /* 40px */
  --spacing-11: 2.75rem;   /* 44px */
  --spacing-12: 3rem;      /* 48px */
  --spacing-14: 3.5rem;    /* 56px */
  --spacing-16: 4rem;      /* 64px */
  --spacing-20: 5rem;      /* 80px */
  --spacing-24: 6rem;      /* 96px */
  --spacing-28: 7rem;      /* 112px */
  --spacing-32: 8rem;      /* 128px */
  
  /* ----- LAYOUT ----- */
  --container-max-width: 1280px;
  --container-padding: var(--spacing-4);
  --container-narrow-max-width: 900px;
  
  /* Breakpoints */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
  
  /* ----- BORDERS & RADII ----- */
  --border-radius-none: 0;
  --border-radius-sm: 0.125rem;  /* 2px */
  --border-radius-base: 0.25rem; /* 4px */
  --border-radius-md: 0.375rem;  /* 6px */
  --border-radius-lg: 0.5rem;    /* 8px */
  --border-radius-xl: 0.75rem;   /* 12px */
  --border-radius-2xl: 1rem;     /* 16px */
  --border-radius-3xl: 1.5rem;   /* 24px */
  --border-radius-full: 9999px;
  
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 4px;
  
  /* ----- SHADOWS ----- */
  --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  
  /* ----- TRANSITIONS ----- */
  --transition-duration-fast: 150ms;
  --transition-duration-base: 250ms;
  --transition-duration-slow: 350ms;
  
  --transition-timing-linear: linear;
  --transition-timing-in: cubic-bezier(0.4, 0, 1, 1);
  --transition-timing-out: cubic-bezier(0, 0, 0.2, 1);
  --transition-timing-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  
  --transition-property-default: all;
  
  /* ----- Z-INDEX SCALE ----- */
  --z-index-dropdown: 100;
  --z-index-sticky: 200;
  --z-index-fixed: 300;
  --z-index-modal-backdrop: 400;
  --z-index-modal: 500;
  --z-index-popover: 600;
  --z-index-tooltip: 700;
  --z-index-toast: 800;
}