/* ==========================================================================
   Corvus — theme.css
   SOURCE UNIQUE DES TOKENS DE DESIGN.
   --------------------------------------------------------------------------
   Chargé en PREMIER, avant components.css, puis avant dash.css / style.css.

   Origine des valeurs : extraites de manage.php (dash.css), qui fait autorité.
   Les 14 couleurs communes à l'ancien dash.css et à l'ancien style.css étaient
   déjà strictement identiques — la fusion est donc sans effet visuel.

   Deux tokens divergeaient ; manage.php l'emporte (règle d'or) :
     --r      16px (dash) vs 14px (site)  -> 16px
     --r-sm   11px (dash) vs 10px (site)  -> 11px
   Effet : les cartes de la vitrine s'arrondissent de +2px / +1px. Assumé.
   ========================================================================== */

:root {

    /* ---------------------------------------------------------------------
       COULEURS  (identiques dash/site, aucun changement de rendu)
       --------------------------------------------------------------------- */

    /* Fonds */
    --bg: #0a0b0e;
    --bg-2: #0d0f13;
    --surface: #14161c;
    --surface-2: #1b1e26;
    --surface-3: #21242e;

    /* Traits */
    --line: #242832;
    --line-soft: rgba(255, 255, 255, .06);

    /* Texte */
    --text: #f3f4f6;
    --text-2: #c3c7d1;
    --muted: #878d9a;

    /* Accent */
    --accent: #5b5ef0;
    --accent-2: #8b8dff;
    --accent-3: #a5a7ff;
    --accent-ghost: rgba(91, 94, 240, .14);
    --accent-ghost-strong: rgba(91, 94, 240, .24);
    --accent-line: rgba(91, 94, 240, .38);
    /* AJOUT : écrit en dur 11x dans dash.css (.card:hover, .chip...). Tokenisé
       à valeur identique -> rendu inchangé. */
    --accent-line-weak: rgba(91, 94, 240, .3);

    /* États */
    --ok: #4fbf85;
    --ok-ghost: rgba(79, 191, 133, .14);
    --warn: #e0a44f;
    --warn-ghost: rgba(224, 164, 79, .14);
    --no: #e0565a;
    --no-ghost: rgba(224, 86, 90, .14);

    /* ---------------------------------------------------------------------
       RAYONS
       --------------------------------------------------------------------- */
    --r-xs: 6px;
    --r-sm: 11px;
    --r: 16px;
    --r-lg: 20px;
    --r-pill: 999px;

    /* ---------------------------------------------------------------------
       TYPOGRAPHIE
       --------------------------------------------------------------------- */
    --f-display: 'Space Grotesk', sans-serif;
    --f-body: 'Inter', system-ui, sans-serif;
    --f-mono: 'JetBrains Mono', monospace;

    /* Échelle typographique — NORMALISÉE, destinée à la VITRINE uniquement.
       manage.php reste figé sur ses 15 tailles littérales (décision actée :
       « figer manage.php, normaliser seulement le site vitrine »).
       Ne pas appliquer ces steps à dash.css. */
    --fs-1: 12px;   /* small print */
    --fs-2: 13px;   /* méta, notes */
    --fs-3: 14px;   /* secondaire */
    --fs-4: 15px;   /* corps dense */
    --fs-5: 16px;   /* corps / base vitrine */
    --fs-6: 18px;   /* accroche */
    --fs-7: 20px;   /* titre de carte */
    --fs-8: 25px;   /* h-md (borne haute du clamp) */
    --fs-9: 32px;   /* h-xl (borne basse du clamp) */
    --fs-10: 44px;  /* h-xl de callback/docs/faq */

    /* ---------------------------------------------------------------------
       ESPACEMENT — base 4px. NORMALISÉ, destiné à la VITRINE.
       --------------------------------------------------------------------- */
    /* NOTE : les anciens --sp-1..--sp-6 de dash.css (6/10/16/22/30/42) étaient
       déclarés et utilisés ZÉRO fois. Supprimés (code mort). Cette échelle est
       nouvelle et porte un préfixe différent pour éviter toute confusion avec
       les valeurs littérales figées de manage.php. */
    --s-1: 4px;
    --s-2: 8px;
    --s-3: 12px;
    --s-4: 16px;
    --s-5: 20px;
    --s-6: 24px;
    --s-7: 32px;
    --s-8: 40px;
    --s-9: 56px;
    --s-10: 96px;  /* respiration verticale des .section */

    /* ---------------------------------------------------------------------
       OMBRES / SÉPARATEURS
       --------------------------------------------------------------------- */
    --divider: linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
    --shadow-card: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 20px 40px -28px rgba(0, 0, 0, .55);
    --shadow-lift: 0 24px 48px -20px rgba(91, 94, 240, .28);
    --shadow-menu: 0 24px 48px -16px rgba(0, 0, 0, .7);
    --shadow-toast: 0 20px 40px -12px rgba(0, 0, 0, .7);

    /* Anneau de focus — était écrit en dur 7x dans dash.css. Valeur identique. */
    --ring: 0 0 0 3px var(--accent-ghost);

    /* ---------------------------------------------------------------------
       MOUVEMENT
       --------------------------------------------------------------------- */
    --ease: cubic-bezier(.4, 0, .2, 1);
    --ease-out: cubic-bezier(.16, 1, .3, 1);
    --ease-spring: cubic-bezier(.34, 1.56, .64, 1);

    /* PAS de token de durée, volontairement : dash.css utilise 8 durées
       littérales (.12s -> .35s) et la vitrine 5 autres. Les faire converger
       changerait le timing des deux, donc leur rendu. Un token qu'aucune des
       deux feuilles ne peut adopter serait mort à la naissance. */

    /* ---------------------------------------------------------------------
       GABARIT
       --------------------------------------------------------------------- */
    --maxw: 1080px;   /* largeur de contenu — vitrine */
    --sidew: 290px;   /* largeur de sidebar — dashboard */

    /* Empilement — formalise l'existant (z-index de 20 à 100 dans les 2 CSS).
       Nommer les couches evite le prochain « z-index: 9999 » de desespoir. */
    --z-sticky: 20;
    --z-menu: 30;
    --z-nav: 50;
    --z-scrim: 55;
    --z-drawer: 60;
    --z-tooltip: 80;
    --z-toast: 90;
    --z-modal: 100;
}
