/* ═══════════════════════════════════════════════════════════════
   THEME ESSCA
   ═══════════════════════════════════════════════════════════════
   Ce fichier contient TOUTE l'identité visuelle d'une école, et
   rien d'autre. Il est chargé AVANT style.css et admin.css, qui
   ne doivent contenir aucune couleur d'identité en dur.

   Pour ajouter une école (NEOMA) : dupliquer ce fichier en
   theme-neoma.css, changer les valeurs du bloc « IDENTITÉ », et
   basculer la balise <link> des deux pages HTML. Aucune autre
   ligne de CSS n'a besoin de bouger.

   RÈGLE : si tu écris une couleur d'identité ailleurs qu'ici,
   tu casses le multi-école.
   ═══════════════════════════════════════════════════════════════ */

:root {

  /* ─────────────────────────────────────────────────────────────
     IDENTITÉ — c'est ce qu'une autre école redéfinit
     ───────────────────────────────────────────────────────────── */

  /* Rouge ESSCA */
  --primary:        #C4000D;   /* rouge d'action : boutons, liens, accents */
  --primary-vivid:  #E3000F;   /* rouge vif : traits sous les titres, fin de dégradé */
  --primary-hover:  #A50009;   /* survol des boutons pleins */
  --primary-deep:   #7A0008;   /* début du dégradé des heros */
  --primary-mid:    #B4000C;   /* milieu du dégradé des heros */

  /* Déclinaisons claires */
  --accent-bg:       #FDECEE;  /* fond rosé des pills actives et badges */
  --accent-bg-hover: #FAD9DD;
  --accent-bg-soft:  #FFF5F6;  /* survol des boutons outline */
  --on-accent:       #8E1B22;  /* texte sur fond --accent-bg quand il faut contraster */

  /* Dégradé des heros (Profil, Recherche) */
  --hero-gradient: linear-gradient(100deg,
                     var(--primary-deep) 0%,
                     var(--primary-mid)  55%,
                     var(--primary-vivid) 100%);

  /* Logo de l'école, affiché dans le header co-brandé « Mano X … ».
     Porté par une variable pour rester échangeable par thème. */
  --school-logo:        url('/assets/logo-essca.png');
  --school-logo-height: 26px;
  --school-logo-ratio:  3.68;   /* largeur ÷ hauteur du fichier, pour que la
                                   largeur s'ajuste seule si le logo change */
  --school-name:        'ESSCA';

  /* ─────────────────────────────────────────────────────────────
     SÉMANTIQUE — le sens, pas la marque. Stable d'une école à l'autre.
     ───────────────────────────────────────────────────────────── */
  --positive:      #2E9E5B;
  --positive-bg:   #E6F5EC;
  --positive-text: #1B7A3D;   /* texte vert sur fond --positive-bg */
  --warning:       #F5A623;
  --warning-bg:    #FEF6E3;
  --warning-text:  #8A5A00;   /* texte ambre sur fond --warning-bg */
  --danger:       #8B1E1E;   /* rouge sombre, réservé aux actions destructives.
                                Volontairement plus terne et plus foncé que
                                --primary : une suppression ne doit jamais
                                ressembler à un bouton d'action principale. */
  --danger-bg:    #FBEDED;
  --info:         #2D7DD2;
  --info-bg:      #EAF2FB;

  /* ─────────────────────────────────────────────────────────────
     CATÉGORIES — jeu de couleurs pour distinguer des séries de
     données (chips métiers, parts du donut villes, points de
     timeline). Aucune valeur sémantique : c'est de l'étiquetage.
     ───────────────────────────────────────────────────────────── */
  --cat-1: #C4000D;
  --cat-2: #F5A623;
  --cat-3: #2D7DD2;
  --cat-4: #2E9E5B;
  --cat-5: #D6336C;
  --cat-6: #E8607A;
  --cat-7: #7A0008;
  --cat-8: #6B4FA8;   /* était un gris : dans une palette de catégories, le
                         gris se lit comme un état désactivé, pas comme une
                         donnée à part entière. */

  /* ─────────────────────────────────────────────────────────────
     NEUTRES — textes, fonds, bordures
     ───────────────────────────────────────────────────────────── */
  --white:           #FFFFFF;
  --surface:         #FFFFFF;   /* fond des cartes */
  --surface-sunken:  #FAFAFA;   /* fond des sous-cartes */
  --surface-muted:   #F4F4F6;   /* fond de page alternatif */
  --neutral-bg:      #EFEFF2;   /* fond des badges neutres */

  --text-primary:    #1A1A1A;
  --text-body:       #3D3D44;
  --text-secondary:  #6A6A72;
  --text-muted:      #8A8A92;   /* nav inactive */
  --text-tertiary:   #9A9AA0;   /* placeholders, métadonnées */

  --border:          #ECECEC;   /* bordure des cartes */
  --border-input:    #DCDCE0;   /* bordure des champs de saisie */
  --border-soft:     #E4E4E8;

  /* ─────────────────────────────────────────────────────────────
     FORMES — rayons, ombres, transitions
     ───────────────────────────────────────────────────────────── */
  --radius-pill:   999px;   /* boutons primaires, pills de nav, champs de chat */
  --radius-hero:   18px;
  --radius-card:   16px;
  --radius-sub:    12px;    /* sous-cartes et champs de formulaire */
  --radius-btn:    12px;    /* boutons des dashboards admin */
  --radius-btn-sm: 10px;
  --radius-badge:  999px;

  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow:      0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-lg:   0 4px 20px rgba(0, 0, 0, 0.12);

  --transition: 0.2s ease;
}
