@import url('/assets/css/fonts.min.css?v=20260824c');

:root {
    --admin-bg-primary: #0B0A0D;
    --admin-bg-secondary: #100E13;
    --admin-bg-tertiary: #151219;
    --admin-bg-card: rgba(255, 255, 255, 0.03);
    --admin-bg-card-hover: rgba(255, 255, 255, 0.05);

    --admin-border-color: rgba(255, 255, 255, 0.06);
    --admin-border-color-strong: rgba(255, 255, 255, 0.12);

    --admin-text-primary: #F4F1EA;
    --admin-text-secondary: rgba(255, 255, 255, 0.7);
    --admin-text-tertiary: rgba(255, 255, 255, 0.5);
    /* a11y : 0.35 donnait 3.2:1 (< 4.5 requis). Ce token n'est utilisé QUE sur du
       petit texte (10–13px : sous-titre header, trend des stats, libellés de
       sections sidebar) → on le remonte sans toucher au muted grande taille. */
    --admin-text-muted: rgba(255, 255, 255, 0.47);

    /* Accent = crème, aligné sur le site public (tokens.css --accent-primary) :
       identité mono-accent éditoriale, le rouge n'est qu'un signal rare. */
    --admin-accent: #F4F1EA;
    --admin-accent-light: #FFFFFF;
    --admin-accent-dark: #DCD8CE;
    --admin-accent-ink: #1A1300;   /* texte sur bouton/surface accent */
    --admin-signal: #FF4438;       /* rouge — réservé montants/alertes rares */

    --admin-success: #22c55e;
    --admin-warning: #f59e0b;
    --admin-error: #ef4444;
    --admin-info: #3b82f6;

    --admin-spacing-xs: 4px;
    --admin-spacing-sm: 8px;
    --admin-spacing-md: 16px;
    --admin-spacing-lg: 24px;
    --admin-spacing-xl: 32px;
    --admin-spacing-2xl: 48px;

    /* Échelle alignée sur le site public (tokens.css --radius-*) — l'admin avait
       des angles bien plus serrés (3–10px) que le reste de l'identité (8–24px). */
    --admin-radius-sm: 8px;
    --admin-radius-md: 12px;
    --admin-radius-lg: 16px;
    --admin-radius-xl: 24px;
    --admin-radius-full: 9999px;

    --admin-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
    --admin-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
    --admin-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
    --admin-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.5);

    --admin-transition-fast: 0.15s ease;
    --admin-transition-normal: 0.25s ease;
    --admin-transition-slow: 0.4s ease;

    --admin-sidebar-width: 240px;
    --admin-sidebar-collapsed-width: 72px;
    --admin-header-height: 60px;
}

/* NOTE: admin is dark-first — every page hardcodes a dark body/.admin-page
   background and none implement a light layout. A prefers-color-scheme:light
   override used to live here, but it only flipped text/surfaces to light values
   while the page chrome stayed dark → invisible (dark-on-dark) stats and icons
   on phones running in light/auto mode. Kept dark unconditionally on purpose. */

/* ============================================================
   GATE v4 — Canonical token aliases for admin
   Maps v4 token names onto admin-specific values.
   ============================================================ */
:root {
    --bg-rail:          var(--admin-bg-secondary);
    --border-default:   var(--admin-border-color);
    --surface:          var(--admin-bg-card);
    --surface-hover:    var(--admin-bg-card-hover);
    --surface-strong:   rgba(255, 255, 255, 0.08);
    --text-muted:       var(--admin-text-muted);
    --rail-width:       72px;
    --gradient-brand:   #F4F1EA;
    --gate-violet:      #F4F1EA;
    --gate-rose:        #FFFFFF;
    --gate-green:       #22c55e;
    --gate-blue:        #3b82f6;
    --success-bg:       rgba(34, 197, 94, 0.15);
    --warning-bg:       rgba(245, 158, 11, 0.15);
    --error-bg:         rgba(239, 68, 68, 0.15);
    --info-bg:          rgba(59, 130, 246, 0.15);
    --accent-bg:        rgba(244, 241, 234, 0.14);
    --cat-electro:      linear-gradient(135deg, #F4F1EA, #DCD8CE);
    --cat-jazz:         linear-gradient(135deg, #22c55e, #10b981);
    --glow-violet:        0 0 24px rgba(244, 241, 234, 0.22);
    --glow-violet-strong: 0 0 40px rgba(244, 241, 234, 0.32);
    --radius-pill:      9999px;
    --tracking-wide:    0.04em;
    --tracking-tight:  -0.02em;
    --text-2xs:         0.6875rem;
    --text-xs:          0.75rem;
    --text-sm:          0.8125rem;
    --ease-smooth:      cubic-bezier(0.4, 0, 0.2, 1);
    --duration-fast:    0.15s;
    --duration-base:    0.25s;
}
