/**
 * Design System CSS Custom Properties
 * Professional GOV.UK-inspired design tokens
 * Auto-generated from design-tokens.json
 * DO NOT EDIT DIRECTLY - Run: node scripts/build-tokens.js
 */

:root {
  /* Brand Colors - GOV.UK Professional Palette */
  --color-gov-primary: var(--democratic-color-primary);
  --color-gov-primary-dark: #003078;
  --color-gov-text: #0b0c0c;
  --color-gov-secondary: #505a5f;
  --color-gov-link: var(--democratic-color-primary);
  --color-gov-link-dark: #003078;
  --color-gov-link-visited: #4c2c92;
  --color-gov-focus: #ffdd00;
  --color-gov-success: #00703c;
  --color-gov-success-light: #cce2d8;
  --color-gov-warning: #d4351c;
  --color-gov-warning-light: #f8d7da;
  --color-gov-info: var(--democratic-color-primary);
  --color-gov-info-light: #d4e5f7;
  --color-gov-black: #0b0c0c;
  --color-gov-grey-dark: #505a5f;
  --color-gov-grey: #626a6e;
  --color-gov-grey-medium: #b1b4b6;
  --color-gov-grey-light: #f3f2f1;
  --color-gov-grey-lighter: #f8f8f8;
  --color-gov-white: #ffffff;
  --color-gov-status-scheduled: var(--democratic-color-primary);
  --color-gov-status-in-progress: #00703c;
  --color-gov-status-completed: #505a5f;
  --color-gov-status-cancelled: #d4351c;
  --color-gov-status-postponed: #b58840;

  /* Semantic Colors */
  --color-success: #00703c;
  --color-success-light: #cce2d8;
  --color-warning: #d4351c;
  --color-warning-light: #f8d7da;
  --color-info: var(--democratic-color-primary);
  --color-info-light: #d4e5f7;
  --color-error: #d4351c;
  --color-error-light: #f8d7da;

  /* Neutral Colors - GOV.UK Greys */
  --color-white: #ffffff;
  --color-black: #0b0c0c;
  --color-gray-50: #f8f8f8;
  --color-gray-100: #f3f2f1;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #b1b4b6;
  --color-gray-400: #8a9094;
  --color-gray-500: #626a6e;
  --color-gray-600: #505a5f;
  --color-gray-700: #383f43;
  --color-gray-800: #1d1d1d;
  --color-gray-900: #0b0c0c;

  /* Text Colors */
  --color-text-primary: #0b0c0c;
  --color-text-secondary: #505a5f;
  --color-text-muted: #626a6e;
  --color-text-placeholder: #626a6e;
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: #f3f2f1;
  --color-text-inverse: #ffffff;

  /* Link Colors */
  --color-link-default: var(--democratic-color-primary);
  --color-link-hover: #003078;
  --color-link-visited: #4c2c92;

  /* Focus Colors */
  --color-focus-outline: #ffdd00;
  --color-focus-ring: #ffdd00;
  --color-focus-text: #0b0c0c;

  /* Surface Colors */
  --color-surface-default: #ffffff;
  --color-surface-elevated: #ffffff;
  --color-surface-sunken: #f3f2f1;
  --color-surface-overlay: rgba(0, 0, 0, 0.5);

  /* Border Colors */
  --color-border-default: #b1b4b6;
  --color-border-dark: #0b0c0c;
  --color-border-light: #f3f2f1;

  /* Typography */
  --font-family-sans: Inter, ui-sans-serif, system-ui, sans-serif;
  --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-5xl: 3rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-family-mono: "JetBrains Mono", Consolas, monospace;

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

  /* Spacing */
  --spacing-0: 0;
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;

  /* Border Radius */
  --radius-none: 0;
  --radius-sm: 0.125rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --radius-full: 9999px;

  /* 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);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 200ms ease;
  --transition-slow: 300ms ease;

  /* Z-index */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}
