:root {
    /* ========================================
       BRAND COLORS
       ======================================== */
    --color-brand-primary: #0074E5;
    --color-brand-primary-dark: #005bb5;
    --color-brand-primary-light: #e6f0ff;
    --color-brand-secondary: #3BBAFA;
    --color-brand-accent: #F4991F;
    --color-brand-accent-dark: #e68a00;

    /* ========================================
       SEMANTIC COLORS
       ======================================== */
    --color-text-primary: #212529;
    --color-text-secondary: #495057;
    --color-text-muted: #6c757d;
    --color-text-inverse: #ffffff;

    /* Gray scale */
    --color-gray-200: #e9ecef;
    --color-gray-400: #adb5bd;
    --color-gray-600: #6c757d;
    --color-gray-900: #212529;

    --color-bg-primary: #ffffff;
    --color-bg-secondary: #f8f9fa;
    --color-bg-tertiary: #F5F7F9;
    --color-bg-input: #fafbfc;

    --color-border-light: #e9ecef;
    --color-border-default: #E4E4E4;
    --color-border-focus: var(--color-brand-primary);

    /* ========================================
       STATUS COLORS
       ======================================== */
    --color-error: #dc3545;
    --color-error-light: #fff5f5;
    --color-error-border: #fed7d7;
    --color-error-text: #c53030;

    --color-success: #198754;
    --color-success-light: #f8fffb;
    --color-success-border: #c6f6d5;
    --color-success-dark: #146c43;

    --color-warning: #ff9900;
    --color-warning-light: #fffbf2;

    --color-info: #0dcaf0;
    --color-info-light: #e7f6f8;
    --color-info-dark: #0891b2;

    /* Schoolgids Status Colors */
    --color-status-concept: var(--color-text-muted);
    --color-status-pending: var(--color-warning);
    --color-status-approved: var(--color-success);
    --color-status-changes: var(--color-error);
    --color-status-in-behandeling: var(--color-warning);

    /* ========================================
       SPACING SCALE
       ======================================== */
    --space-0: 0;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-7: 28px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;

    /* ========================================
       BORDER RADIUS
       ======================================== */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-full: 9999px;

    /* ========================================
       SHADOWS
       ======================================== */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 25px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.08), 0 8px 25px rgba(0, 0, 0, 0.05);
    --shadow-focus: 0 0 0 4px rgba(0, 116, 229, 0.1);
    --shadow-card: 0px 4px 4px rgba(0, 0, 0, 0.12);

    /* ========================================
       TYPOGRAPHY
       ======================================== */
    --font-family-base: 'Plus Jakarta Sans', "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    --font-size-xs: 0.75rem;    /* 12px */
    --font-size-sm: 0.875rem;   /* 14px */
    --font-size-base: 1rem;     /* 16px */
    --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-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

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

    /* ========================================
       TRANSITIONS
       ======================================== */
    --transition-fast: 0.15s ease;
    --transition-base: 0.2s ease;
    --transition-slow: 0.3s ease;

    /* ========================================
       BREAKPOINTS
       ======================================== */
    --breakpoint-mobile: 640px;
    --breakpoint-tablet: 768px;
    --breakpoint-desktop: 1024px;
    --breakpoint-wide: 1280px;

    /* ========================================
       Z-INDEX SCALE
       ======================================== */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal-backdrop: 300;
    --z-modal: 400;
    --z-tooltip: 500;

    /* ========================================
       COMPONENT-SPECIFIC TOKENS
       ======================================== */
    /* Input */
    --input-height: 52px;
    --input-padding-x: 1rem;
    --input-padding-left-icon: 3rem;
    --input-border-width: 1px;
    --input-icon-size: 1.25rem;

    /* Button */
    --button-padding-y: 0.75rem;
    --button-padding-x: 1.5rem;
    --button-font-size: 1rem;

    /* Card */
    --card-padding: var(--space-8);
    --card-radius: var(--radius-xl);
}
