:root {
    /* Couleurs principales */
    --color-primary: #1e3a8a;
    --color-primary-contrast: #ffffff;
    --color-secondary: #0f766e;
    --color-secondary-contrast: #ffffff;
    --color-accent: #f59e0b;
    --color-accent-contrast: #1f2937;

    /* Etats */
    --color-error: #dc2626;
    --color-success: #16a34a;
    --color-warning: #d97706;
    --color-info: #2563eb;

    /* Surfaces */
    --color-bg: #f5f7fb;
    --color-surface: #ffffff;
    --color-surface-alt: #eef2f7;
    --color-border: #d7dee8;

    /* Texte */
    --color-text: #0f172a;
    --color-muted: #64748b;

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

    /* Ombres */
    --shadow-sm: 0px 6px 18px rgba(15, 23, 42, 0.08);
    --shadow-md: 0px 12px 28px rgba(15, 23, 42, 0.12);
    --shadow-lg: 0px 20px 40px rgba(15, 23, 42, 0.15);

    /* Rayons */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;

    /* Typo */
    --font-family-base: "Work Sans", "Segoe UI", sans-serif;
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-md: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 22px;
    --font-size-2xl: 28px;
    /* Texte harmonisé (labels, paragraphes, tableaux) */
    --font-size-text: 14px;
    /* Noms (plus petits) */
    --font-size-name: 11px;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --line-height-base: 1.5;
    --line-height-tight: 1.2;

    /* Layout */
    --header-height: 72px;
    --footer-height: 48px;
    --sidebar-width: 240px;
    --content-row: 1fr;
    --content-col: 1fr;
    --app-height: 100vh;
    --full-height: 100%;
    --full-width: 100%;
    --container-max-width: 1200px;
    --content-max-width: 1200px;

    /* Bordures */
    --border-width: 1px;
    --border-style: solid;
    --border: var(--border-width) var(--border-style) var(--color-border);

    /* Animations */
    --transition-fast: 150ms ease;
    --transition-base: 240ms ease;

    /* Z-index */
    --z-header: 10;
    --z-footer: 9;
    --z-sidebar: 8;
    --z-popup: 1000;

    /* Divers */
    --content-padding: var(--space-7);
    --card-gap: var(--space-5);

    /* Boutons : taille uniforme */
    --btn-height: 2.25rem;
    --btn-padding-y: var(--space-2);
    --btn-padding-x: var(--space-4);
}
