/* Design Tokens as CSS Custom Properties */
/* Generated from tokens.json - DO NOT EDIT DIRECTLY */

:root {
  /* Colors */
  --color-primary: #164BD1;
  --color-primary-hover: #103AAA;
  --color-primary-light: #DDE6FB;
  --color-secondary: #FFCC13;
  --color-secondary-hover: #FFE04C;
  --color-accent: #FFCC13;
  --color-background: #FFFFFF;
  --color-background-alt: #F2F6FB;
  --color-surface: #FFFFFF;
  --color-text: #17253E;
  --color-text-heading: #111F46;
  --color-text-muted: #4A5670;
  --color-text-on-primary: #FFFFFF;
  --color-text-on-secondary: #111F46;
  --color-border: #E7EBF4;
  --color-border-focus: #164BD1;
  --color-error: #E5484D;
  --color-error-light: #FEF2F2;
  --color-success: #287345;
  --color-success-light: #F0FDF4;
  --color-warning: #A34D10;
  --color-warning-light: #FFF7ED;
  --color-info: #2563EB;
  --color-info-light: #EFF6FF;
  --color-on-primary: #FFFFFF;
  --color-on-secondary: #111F46;
  --color-on-error: #FFFFFF;
  --color-on-success: #FFFFFF;
  --color-on-warning: #FFFFFF;
  --color-on-info: #FFFFFF;
  --color-primary-focus-ring: rgba(22, 75, 209, 0.25);
  --color-secondary-focus-ring: rgba(255, 204, 19, 0.35);
  --color-utility: #1238A4;
  --color-ink: #111F46;
  --color-red: #E3232F;
  --color-pink: #F32E71;
  --color-input-bg: #FFFFFF;

  /* Typography */
  --font-family-base: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-heading: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'Consolas', monospace;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-heading: 600;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-h1: 2.5rem;
  --font-size-h2: 2rem;
  --font-size-h3: 1.5rem;
  --font-size-h4: 1.25rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1rem;
  --line-height-base: 1.6;
  --line-height-heading: 1.3;
  --line-height-tight: 1.1;

  /* Spacing */
  --spacing-none: 0;
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
  --spacing-3xl: 4rem;

  /* Border Radius */
  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;

  /* Borders */
  --border-width: 1px;
  --border-width-thick: 2px;

  /* Breakpoints */
  --breakpoint-mobile: 375px;
  --breakpoint-mobile-large: 414px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;
  --breakpoint-desktop-large: 1280px;

  /* Container */
  --container-max-width: 1200px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;

  /* Focus */
  --focus-outline-width: 2px;
  --focus-outline-offset: 2px;
  --focus-ring-width: 3px;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --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);

  /* Z-Index */
  --z-index-dropdown: 100;
  --z-index-sticky: 200;
  --z-index-modal: 500;
  --z-index-popover: 600;
  --z-index-tooltip: 700;

  /* Button Colors */
  --color-button-text: var(--color-text-on-primary);
  --color-button-text-secondary: #18332F;
}

/* Dark mode support (future) */
@media (prefers-color-scheme: dark) {
  :root {
    /* Dark mode tokens would go here when implemented */
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  :root {
    --focus-outline-width: 3px;
    --focus-outline-offset: 3px;
    --border-width: 2px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-normal: 0ms;
    --transition-slow: 0ms;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}