:root {
    /* Colors - Primary */
    --color-primary: #1a5276;
    --color-primary-light: #2980b9;
    --color-primary-dark: #0e2f44;
    --color-primary-rgb: 26, 82, 118;

    /* Colors - Accent */
    --color-accent: #e67e22;
    --color-accent-hover: #d35400;
    --color-accent-rgb: 230, 126, 34;

    /* Colors - Semantic */
    --color-success: #27ae60;
    --color-info: #3498db;
    --color-warning: #f39c12;

    /* Colors - Text */
    --color-text: #2c3e50;
    --color-text-light: #7f8c8d;
    --color-text-lighter: #95a5a6;
    --color-text-inverse: #ffffff;

    /* Colors - Background */
    --color-bg: #ffffff;
    --color-bg-light: #f8f9fa;
    --color-bg-alt: #eef2f7;
    --color-bg-dark: #1a252f;
    --color-bg-darker: #141c24;

    /* Colors - Border */
    --color-border: #e0e0e0;
    --color-border-light: #f0f0f0;

    /* Typography */
    --font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --font-size-sm: clamp(0.875rem, 0.825rem + 0.25vw, 0.9375rem);
    --font-size-base: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
    --font-size-lg: clamp(1.125rem, 1.05rem + 0.375vw, 1.25rem);
    --font-size-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
    --font-size-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
    --font-size-3xl: clamp(2rem, 1.5rem + 2.5vw, 3.25rem);
    --font-size-4xl: clamp(2.5rem, 1.8rem + 3.5vw, 4rem);

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

    --line-height-tight: 1.2;
    --line-height-base: 1.6;
    --line-height-loose: 1.8;

    --letter-spacing-tight: -0.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.05em;

    /* Spacing (8px grid) */
    --space-1: 0.25rem;   /* 4px */
    --space-2: 0.5rem;    /* 8px */
    --space-3: 0.75rem;   /* 12px */
    --space-4: 1rem;      /* 16px */
    --space-5: 1.5rem;    /* 24px */
    --space-6: 2rem;      /* 32px */
    --space-7: 2.5rem;    /* 40px */
    --space-8: 3rem;      /* 48px */
    --space-9: 3.5rem;    /* 56px */
    --space-10: 4rem;     /* 64px */
    --space-12: 6rem;     /* 96px */
    --space-16: 8rem;     /* 128px */

    /* Layout */
    --container-max: 1200px;
    --container-wide: 1400px;
    --container-narrow: 800px;
    --sidebar-width: 320px;
    --header-height: 80px;
    --header-height-scrolled: 64px;
    --utility-bar-height: 40px;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.15);
    --shadow-header: 0 2px 16px rgba(0, 0, 0, 0.08);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms ease;
    --transition-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

    /* Z-index */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-header: 300;
    --z-overlay: 400;
    --z-modal: 500;
}
