﻿        :root {
            --primary: #000099;
            --primary-light: #1a1ab3;
            --primary-dark: #151648;
            --deep-koamaru: #2D2E60;
            --accent: #f50a63;
            --accent-light: #ff3380;
            --accent-soft: #ff7aa8;
            --accent-pale: #ff9ec2;
            --success: #2e7d32;
            --warning: #f57f17;
            --danger: #c62828;
            --info: #000099;
            --bg: #f5f6fa;
            --card: #ffffff;
            --card-surface: #f0f1f8;
            --text: #263238;
            --text-light: #54707f;
            --border: #e0e0e0;
            /* Système d'élévation 3 niveaux */
            --shadow-sm:  0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
            --shadow-md:  0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
            --shadow-lg:  0 12px 32px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);
            --shadow: var(--shadow-sm);
            --radius: 10px;
            /* Tokens d'espacement (base 4px) */
            --space-1:  4px;
            --space-2:  8px;
            --space-3:  12px;
            --space-4:  16px;
            --space-5:  20px;
            --space-6:  24px;
            --space-8:  32px;
            --space-10: 40px;
            --space-12: 48px;
            /* Transitions */
            --transition-fast:   150ms ease;
            --transition-base:   200ms ease;
            --transition-smooth: 280ms cubic-bezier(0.32, 0.72, 0, 1);
            /* Sidebar width */
            --sidebar-w: 310px;
            --sidebar-w-collapsed: 76px;
            /* ===== Tokens design system (P2) ===== */
            /* Échelle typographique */
            --fs-2xs: 10px;
            --fs-xs:  11px;
            --fs-sm:  12px;
            --fs-base:13px;
            --fs-md:  14px;
            --fs-lg:  16px;
            --fs-xl:  18px;
            --fs-2xl: 22px;
            --fs-3xl: 28px;
            /* Échelle de rayons — --radius reste l'alias md historique (10px) */
            --radius-sm:   6px;
            --radius-md:   10px;
            --radius-lg:   14px;
            --radius-full: 999px;
            /* Ambre foncée — warning lisible sur fond clair (contraste AA) */
            --warning-dark: #b45309;
            /* Surfaces pastel nommées (fonds clairs) */
            --surface-1:      #f0f1f8;
            --surface-2:      #eef0ff;
            --surface-accent: #fff5f9;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        /* ===== SCROLLBAR GLOBALE DARK ===== */
        ::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        ::-webkit-scrollbar-track {
            background: rgba(255,255,255,0.03);
            border-radius: 3px;
        }
        ::-webkit-scrollbar-thumb {
            background: rgba(245,10,99,0.35);
            border-radius: 3px;
            transition: background 0.2s;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: rgba(245,10,99,0.6);
        }
        ::-webkit-scrollbar-corner {
            background: transparent;
        }

        body {
            font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
            background: #f2f3f8;
            color: var(--text);
            min-height: 100vh;
        }

        /* Chiffres tabulaires (largeur fixe) pour valeurs numériques */
        .stat-info h3,
        .stat-delta,
        td,
        th {
            font-variant-numeric: tabular-nums;
        }
