/* ════════════════════════════════════════════════════════════════
   EDUCATED V6 — DESIGN TOKENS
   Palette Indigo — transposition depuis AcurTime (teal) vers Educated
   Couleurs recalées sur le mockup fourni (dashboard "École Al Houda",
   Tweaks > Thème = Indigo, gradient "Bonjour Khalid")
   Seul fichier modifié pour la transposition AcurTime → Educated

   Contient aussi les tokens DevExpress Design System (--dxds-*) dans
   le même fichier — la rampe --dxds-primary-* est dérivée dynamiquement
   de var(--brand) via color-mix(), donc elle suit automatiquement tout
   changement de --brand ci-dessous, sans recalcul manuel.
   ════════════════════════════════════════════════════════════════ */

:root {
    /* ============================================================
       BRAND — palette indigo (Educated)
       #4F46E5  indigo principal  (logo, sidebar actif, CTA)
       #4338CA  indigo profond    (hover / actif)
       #6153EB  indigo chaud      (gradient start / warm — "Bonjour")
       #6D5BFE  intermédiaire     (mid)
       ============================================================ */

    --brand: #4F46E5;
    --brand-2: #4338CA; /* hover / actif — plus foncé        */
    --brand-warm: #6153EB; /* gradient start — plus chaud        */
    --brand-mid: #6D5BFE; /* intermédiaire                      */
    --brand-soft: #EEEAFF; /* fond indigo — halo bg (sidebar actif), mesuré sur mockup */
    --brand-soft-2: #DAD4FF; /* bordure carte plus visible         */
    --accent: #818CF8; /* indigo clair — éclairci du brand   */
    --accent-2: #6153EB; /* = brand-warm — hover accent        */
    --accent-soft: #F0EEFF; /* fond accent léger                  */

    --acur-indigo: #4F46E5; /* alias sémantique principal — = brand exact maintenant */
    --acur-violet: #6153EB; /* alias sémantique warm (legacy)     */
    --acur-cyan: #43BFE3; /* data viz / charts UNIQUEMENT — inchangé */
    /* ============================================================
       GRADIENTS
       ============================================================ */
    /* Dégradé bouton CTA — mesuré exactement au pixel sur "Examiner les actions" */
    --gradient-brand: linear-gradient(135deg, #5955FF 0%, #3B2B9A 100%);
    --gradient-brand-h: linear-gradient(135deg, #6C67FF 0%, #2E2180 100%);
    --gradient-brand-soft: linear-gradient(135deg, #F5F3FF 0%, #E4DFFF 100%);
    /* Wash interne de la welcome card — mesuré au pixel : lavande très léger
       en haut-droite ET bas-gauche (coins opposés), blanc pur ailleurs.
       Pas de coral dans ce fond (le coral reste réservé au gradient-name texte). */
    --gradient-welcome: radial-gradient(circle at 85% 20%, rgba(79, 70, 229, .06) 0%, transparent 50%), radial-gradient(circle at 15% 80%, rgba(79, 70, 229, .05) 0%, transparent 50%), #FFFFFF;
    /* Gradient nom "Bonjour {prénom}" — indigo → orange, mesuré exactement
       sur le mockup (pipette : #6153EB → #F2683A) */
    --gradient-name: linear-gradient(135deg, #6153EB 0%, #F2683A 100%); /* ============================================================
       CHARTS
       ============================================================ */

    --chart-1: #4F46E5;
    --chart-2: #6153EB;
    --chart-3: #10B981;
    --chart-4: #F59E0B;
    --chart-5: #EF4444;
    /* ============================================================
       BACKGROUND
       ============================================================ */

    --bg: #F5F7FA;
    --bg-2: #EEF2F7;
    --surface-1: #FFFFFF;
    --surface-2: #FAFBFD;
    --surface-3: #F3F5F9;
    /* ============================================================
       TEXT
       ============================================================ */

    --ink-0: #0F172A;
    --ink-1: #1E293B;
    --ink-2: #475569;
    --ink-3: #94A3B8;
    --ink-4: #CBD5E1;
    /* ============================================================
       BORDERS
       ============================================================ */

    --line: #E5E7EB;
    --line-2: #DDE2EA;
    --line-3: #CBD5E1;
    /* ============================================================
       TYPOGRAPHY
       ============================================================ */

    --font-display: "Geist", system-ui, sans-serif;
    --font-body: "Geist", system-ui, sans-serif;
    --font-mono: "JetBrains Mono", monospace;
    /* ============================================================
       MODULE COLORS — inchangés (sémantiques, jamais liés au brand)
       ============================================================ */

    --tint-violet-fg: #6D5BFE;
    --tint-violet-bg: #EEEAFF;
    --tint-blue-fg: #2563EB;
    --tint-blue-bg: #DCEAFE;
    --tint-indigo-fg: #4F46E5;
    --tint-indigo-bg: #E0DEFA;
    --tint-teal-fg: #0D9488;
    --tint-teal-bg: #CFF5F0;
    --tint-emerald-fg: #059669;
    --tint-emerald-bg: #D0F4E2;
    --tint-amber-fg: #B45309;
    --tint-amber-bg: #FBE9CC;
    --tint-rose-fg: #E11D48;
    --tint-rose-bg: #FCDCE5;
    --tint-pink-fg: #DB2777;
    --tint-pink-bg: #FAD8EA;
    --tint-slate-fg: #475569;
    --tint-slate-bg: #E2E5EB;
    /* ============================================================
       SEMANTIC
       ============================================================ */

    --success: var(--tint-emerald-fg);
    --success-soft: var(--tint-emerald-bg);
    --danger: var(--tint-rose-fg);
    --danger-soft: var(--tint-rose-bg);
    --warning: var(--tint-amber-fg);
    --warning-soft: var(--tint-amber-bg);
    --info: var(--tint-blue-fg);
    --info-soft: var(--tint-blue-bg);
    /* ============================================================
       SHADOWS — recalculées depuis le nouveau brand #4F46E5
       RGB(79, 70, 229)
       ============================================================ */

    --sh-1: 0 1px 2px rgba(15,23,42,.04);
    --sh-2: 0 2px 4px rgba(15,23,42,.05);
    --sh-3: 0 8px 24px rgba(15,23,42,.08);
    --sh-hover: 0 10px 28px rgba(79,70,229,.22);
    --sh-brand: 0 4px 14px rgba(79,70,229,.35);
    --sh-brand-h: 0 8px 22px rgba(79,70,229,.48);
    /* Welcome card — ombre vérifiée au pixel : AUCUN débordement coloré
       hors de la carte (le gap page est gris neutre pur des deux côtés).
       Ombre neutre, avec juste une pointe indigo à faible opacité. */
    --sh-welcome: 0 4px 16px rgba(15, 23, 42, .06), 0 16px 40px -8px rgba(79, 70, 229, .10);
    /* ============================================================
       RADIUS
       ============================================================ */

    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    /* ============================================================
       LAYOUT
       ============================================================ */

    --topbar-h: 56px;
    --ribbon-tabs-h: 34px;
    --ribbon-acts-h: 42px;
    --mdi-h: 40px;
    --side-w: 270px;
    --side-w-c: 64px;
    --row-h: 36px;
    /* ============================================================
       ANIMATIONS
       ============================================================ */

    --ease-fast: 80ms ease;
    --ease-std: 160ms cubic-bezier(.4,0,.2,1);
    --ease-spring: 220ms cubic-bezier(.34,1.2,.64,1);
    /* ════════════════════════════════════════════════════════════
       DEVEXPRESS DESIGN SYSTEM TOKENS
       --dxds-primary-* dérivée dynamiquement de var(--brand) ci-dessus
       via color-mix() — suit automatiquement tout changement de brand,
       aucun hex à recalculer manuellement lors d'une transposition.

       Échelles secondary/info/success/warning/danger/neutral :
       INCHANGÉES (sémantiques, non liées au brand — ne pas toucher).
       ════════════════════════════════════════════════════════════ */
    /* ── PRIMARY — dérivée dynamiquement de var(--brand) ──────────── */
    --dxds-primary-10: var(--dxbl-accent-color-10, color-mix(in srgb, var(--brand) 7%, white 93%));
    --dxds-primary-20: var(--dxbl-accent-color-20, color-mix(in srgb, var(--brand) 16%, white 84%));
    --dxds-primary-30: var(--dxbl-accent-color-30, color-mix(in srgb, var(--brand) 26%, white 74%));
    --dxds-primary-40: var(--dxbl-accent-color-40, color-mix(in srgb, var(--brand) 37%, white 63%));
    --dxds-primary-50: var(--dxbl-accent-color-50, color-mix(in srgb, var(--brand) 48%, white 52%));
    --dxds-primary-60: var(--dxbl-accent-color-60, color-mix(in srgb, var(--brand) 59%, white 41%));
    --dxds-primary-70: var(--dxbl-accent-color-70, color-mix(in srgb, var(--brand) 71%, white 29%));
    --dxds-primary-80: var(--dxbl-accent-color-80, color-mix(in srgb, var(--brand) 84%, white 16%));
    --dxds-primary-90: var(--dxbl-accent-color-90, var(--brand)); /* = brand exact */
    --dxds-primary-100: var(--dxbl-accent-color-100, color-mix(in srgb, var(--brand) 83%, black 17%));
    --dxds-primary-110: var(--dxbl-accent-color-110, color-mix(in srgb, var(--brand) 69%, black 31%));
    --dxds-primary-120: var(--dxbl-accent-color-120, color-mix(in srgb, var(--brand) 57%, black 43%));
    --dxds-primary-130: var(--dxbl-accent-color-130, color-mix(in srgb, var(--brand) 45%, black 55%));
    --dxds-primary-140: var(--dxbl-accent-color-140, color-mix(in srgb, var(--brand) 33%, black 67%));
    --dxds-primary-150: var(--dxbl-accent-color-150, color-mix(in srgb, var(--brand) 22%, black 78%));
    --dxds-primary-160: var(--dxbl-accent-color-160, color-mix(in srgb, var(--brand) 11%, black 89%));
    --dxds-primary-170: var(--dxbl-accent-color-170, color-mix(in srgb, var(--brand) 7%, black 93%));
    /* ── SECONDARY — neutre, inchangé ─────────────────────────────── */
    --dxds-secondary-10: #ffffff;
    --dxds-secondary-20: #f7f7f7;
    --dxds-secondary-30: #eeeeee;
    --dxds-secondary-40: #e6e6e6;
    --dxds-secondary-50: #dedede;
    --dxds-secondary-60: #d6d6d6;
    --dxds-secondary-70: #cecece;
    --dxds-secondary-80: #c5c5c5;
    --dxds-secondary-90: #bebebe;
    --dxds-secondary-100: #a6a6a6;
    --dxds-secondary-110: #8f8f8f;
    --dxds-secondary-120: #797979;
    --dxds-secondary-130: #636363;
    --dxds-secondary-140: #4e4e4e;
    --dxds-secondary-150: #3a3a3a;
    --dxds-secondary-160: #282828;
    --dxds-secondary-170: #161616;
    /* ── INFO — sémantique, inchangé ──────────────────────────────── */
    --dxds-info-10: #eaeefa;
    --dxds-info-20: #d4ddf7;
    --dxds-info-30: #becdf6;
    --dxds-info-40: #a8bcf5;
    --dxds-info-50: #92aaf5;
    --dxds-info-60: #7e99f3;
    --dxds-info-70: #6a87f0;
    --dxds-info-80: #5b7afd;
    --dxds-info-90: #4f6bed;
    --dxds-info-100: #4159db;
    --dxds-info-110: #3042bd;
    --dxds-info-120: #2632ab;
    --dxds-info-130: #1d2298;
    --dxds-info-140: #151a7b;
    --dxds-info-150: #0e125f;
    --dxds-info-160: #080b43;
    --dxds-info-170: #030529;
    /* ── SUCCESS — sémantique, inchangé ────────────────────────────── */
    --dxds-success-10: #e7f2e6;
    --dxds-success-20: #c8e9c5;
    --dxds-success-30: #b0dcac;
    --dxds-success-40: #98cf93;
    --dxds-success-50: #80c17b;
    --dxds-success-60: #66b461;
    --dxds-success-70: #4ba747;
    --dxds-success-80: #299027;
    --dxds-success-90: #107c10;
    --dxds-success-100: #0c700c;
    --dxds-success-110: #0b680b;
    --dxds-success-120: #095809;
    --dxds-success-130: #064806;
    --dxds-success-140: #043904;
    --dxds-success-150: #022b02;
    --dxds-success-160: #021d02;
    --dxds-success-170: #011001;
    /* ── WARNING — sémantique, inchangé ────────────────────────────── */
    --dxds-warning-10: #fbebe4;
    --dxds-warning-20: #ffd6c3;
    --dxds-warning-30: #ffc5ac;
    --dxds-warning-40: #fdb191;
    --dxds-warning-50: #f69c76;
    --dxds-warning-60: #f78e62;
    --dxds-warning-70: #f7804c;
    --dxds-warning-80: #f77132;
    --dxds-warning-90: #f7630c;
    --dxds-warning-100: #d54f00;
    --dxds-warning-110: #b24000;
    --dxds-warning-120: #913200;
    --dxds-warning-130: #722300;
    --dxds-warning-140: #501a01;
    --dxds-warning-150: #3c1301;
    --dxds-warning-160: #2a0b01;
    --dxds-warning-170: #180501;
    /* ── DANGER — sémantique, inchangé ─────────────────────────────── */
    --dxds-danger-10: #fceae8;
    --dxds-danger-20: #ffd0ca;
    --dxds-danger-30: #febab3;
    --dxds-danger-40: #f8a59c;
    --dxds-danger-50: #f08f86;
    --dxds-danger-60: #e97970;
    --dxds-danger-70: #e0615a;
    --dxds-danger-80: #ce3f3c;
    --dxds-danger-90: #c50f1f;
    --dxds-danger-100: #ae0618;
    --dxds-danger-110: #a10b18;
    --dxds-danger-120: #890813;
    --dxds-danger-130: #72050d;
    --dxds-danger-140: #5b0309;
    --dxds-danger-150: #460205;
    --dxds-danger-160: #310203;
    --dxds-danger-170: #1d0102;
    /* ── NEUTRAL — inchangé ────────────────────────────────────────── */
    --dxds-neutral-10: #fffffe;
    --dxds-neutral-20: #f4f4f3;
    --dxds-neutral-30: #e9e9e8;
    --dxds-neutral-40: #dededd;
    --dxds-neutral-50: #d3d3d2;
    --dxds-neutral-60: #c8c8c7;
    --dxds-neutral-70: #bdbebd;
    --dxds-neutral-80: #b3b3b2;
    --dxds-neutral-90: #a8a9a8;
    --dxds-neutral-100: #9e9e9e;
    --dxds-neutral-110: #949493;
    --dxds-neutral-120: #8a8a89;
    --dxds-neutral-130: #808080;
    --dxds-neutral-140: #767676;
    --dxds-neutral-150: #6c6d6c;
    --dxds-neutral-160: #636363;
    --dxds-neutral-170: #595a59;
    --dxds-neutral-180: #505150;
    --dxds-neutral-190: #474847;
    --dxds-neutral-200: #3f3f3e;
    --dxds-neutral-210: #363636;
    --dxds-neutral-220: #2e2e2d;
    --dxds-neutral-230: #252525;
    --dxds-neutral-240: #1d1e1d;
    --dxds-neutral-250: #161616;
}
