/* ============================================================================
   AgentFlow · Console cabinet — JETONS
   ----------------------------------------------------------------------------
   Un nouveau cabinet = on édite le bloc [1]. Rien d'autre, jamais.
   Ombres, halos, focus, dégradés doux, teintes de puces : TOUT est dérivé
   de [1] par color-mix. C'est le bug que le kit corrige : les consoles
   existantes paramètrent le dégradé mais gardent le bleu en dur dans
   --shadow-btn et dans le halo du logo.
   ========================================================================== */

:root{
  /* ------------------------------------------------------------------------
     [1] MARQUE DU CABINET — les 3 seules lignes à changer par client.
     Défaut = AgentFlow (royal électrique).
     ---------------------------------------------------------------------- */
  --grad-from:#0e1f66;   /* début du dégradé des actions primaires */
  --grad-to:#1e54e0;     /* fin du dégradé   */
  --royal:#2563eb;       /* accent : focus, tri actif, liens, sélection */

  /* ------------------------------------------------------------------------
     [2] DÉRIVÉ de [1] — ne pas éditer.
     ---------------------------------------------------------------------- */
  --grad:linear-gradient(120deg,var(--grad-from) 0%,var(--grad-to) 100%);
  --grad-soft:linear-gradient(120deg,
      color-mix(in srgb,var(--grad-to) 9%,var(--surface)) 0%,
      color-mix(in srgb,var(--grad-from) 9%,var(--surface)) 100%);
  /* Dégradé pour du TEXTE (background-clip:text). Sur fond blanc, --grad
     convient. Sur fond sombre, son point de départ (bleu nuit) rend le chiffre
     illisible : on le remonte en clarté. D'où un jeton séparé — un dégradé de
     remplissage et un dégradé de texte ne sont pas le même objet. */
  --grad-text:var(--grad);

  --tint:color-mix(in srgb,var(--royal) 8%,var(--surface));    /* fond de puce identifiant */
  --tint-br:color-mix(in srgb,var(--royal) 24%,var(--surface));/* bord de puce            */
  --tint-tx:color-mix(in srgb,var(--grad-from) 72%,var(--royal)); /* texte de puce        */

  --ring:0 0 0 4px color-mix(in srgb,var(--royal) 14%,transparent);   /* halo de focus */
  --glow:0 6px 16px color-mix(in srgb,var(--grad-to) 34%,transparent);/* halo du logo  */
  --shadow-btn:0 2px 6px color-mix(in srgb,var(--grad-to) 30%,transparent),
               0 1px 2px color-mix(in srgb,var(--grad-from) 26%,transparent);
  --shadow-btn-h:0 4px 12px color-mix(in srgb,var(--grad-to) 34%,transparent),
                 0 1px 3px color-mix(in srgb,var(--grad-from) 30%,transparent);

  /* ------------------------------------------------------------------------
     [3] NEUTRES — identiques chez tous les cabinets.
     Le #86868b des consoles actuelles tombe à 3,6:1 : il échoue l'AA sur du
     11–12px, or c'est exactement la taille de nos libellés. Le décoratif pur
     (traits, désactivé) : --ink-4.

     ⛔ LE FOND DE RÉFÉRENCE EST --surface-3, PAS LE BLANC (23/08/2026).
     --ink-3 valait #6e6e73, mesuré « 5,1:1 sur blanc (AA) ». Mais on n'écrit
     pas que sur du blanc : sur --surface-3 (#f0f1f5), le fond de la barre
     d'onglets, il tombe à 4,49:1 et échoue l'AA. axe-core l'a levé en
     « serious » sur CINQ onglets d'une même barre, et la barre d'onglets est
     dans toutes les pages du parc.
     Un jeton de contraste validé sur un fond où il ne sert pas est un jeton
     non validé. On mesure désormais sur le fond LE PLUS SOMBRE sur lequel le
     jeton est posé. #5f5f66 : 5,61:1 sur --surface-3, 6,33:1 sur blanc.
     En thème sombre, --ink-3 (#9a9aa1) sur --surface-3 (#26262b) rend 5,39:1,
     il passe déjà — mesuré, pas supposé.
     ---------------------------------------------------------------------- */
  --bg:#f5f5f7; --surface:#ffffff; --surface-2:#fbfbfd; --surface-3:#f0f1f5;
  --border:#e8e8ed; --border-2:#d9d9e0; --line:#f1f1f5;
  --ink:#1d1d1f; --ink-2:#5b5b60; --ink-3:#5f5f66; --ink-4:#a0a0a8;
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 6px 18px rgba(16,24,40,.05);
  --shadow-lift:0 4px 14px rgba(16,24,40,.09);
  --shadow-pop:0 12px 32px rgba(16,24,40,.18);
  --shadow-modal:0 24px 64px rgba(16,24,40,.28);
  --radius:16px; --radius-sm:11px; --radius-xs:8px;

  /* ------------------------------------------------------------------------
     [4] STATUTS — JAMAIS thémés. Le vert de « OK » est le même chez tous
     les cabinets : un état n'est pas une couleur de marque. 6 tons, pas plus.
     L'app mappe SES statuts métier sur un de ces 6 tons (data-s="…").
     ---------------------------------------------------------------------- */
  /* ⛔ Les jetons de la doctrine du 19/09, les mêmes que kit-console.css
     (23/09/2026, tour 4 de la refonte, T4-05) : ok #3F7A45, info #2F6A8F,
     warn #9A6100, err #A8291F, mut #665E56. « prio » n'est pas un sixième
     état de couleur : il prend l'ambre, et se distingue par la forme et la
     graisse (le marqueur plein, le libellé en gras). */
  --ok-bg:#edf4ee;   --ok-tx:#3f7a45;   --ok-dot:#3f7a45;    /* fait, conforme, à jour   */
  --info-bg:#e7eff5; --info-tx:#2f6a8f; --info-dot:#2f6a8f;  /* en cours, en attente     */
  --warn-bg:#faf3e6; --warn-tx:#9a6100; --warn-dot:#9a6100;  /* à compléter, à rattacher */
  --prio-bg:#faf3e6; --prio-tx:#9a6100; --prio-dot:#9a6100;  /* à vérifier, prioritaire  */
  --err-bg:#f9eae8;  --err-tx:#a8291f;  --err-dot:#a8291f;   /* échec, bloquant          */
  --mut-bg:#f1ece5;  --mut-tx:#665e56;  --mut-dot:#a09789;   /* ignoré, hors périmètre   */
  --err-br:#e9cec9;  --warn-br:#e8d7b4;

  /* Palette des séries de graphes — ordre imposé, jamais improvisé.
     ⛔ Jamais l'accent (23/09/2026, tour 3 de la refonte, T3-05) : l'accent
     sert l'action principale et la position active. L'encre d'abord, puis les
     jetons d'état de la doctrine du 19/09 — la même suite que kit-console.css. */
  --s1:#1a1a1a; --s2:#2f6a8f; --s3:#3f7a45; --s4:#9a6100; --s5:#665e56; --s6:#a09789;

  /* Durées — 3 valeurs, pas une de plus. */
  --t-fast:.12s;   /* survol, appui : doit être imperceptible          */
  --t-ui:.14s;     /* pilules, champs, onglets                         */
  --t-move:.45s;   /* une barre qui grandit, une jauge qui se remplit  */
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* ----------------------------------------------------------------------------
   Mode sombre — OPT-IN EXPLICITE, JAMAIS AUTOMATIQUE.

   Une console cabinet est BLANCHE. C'est le style CERFIN, c'est ce que le
   cabinet attend, et ce n'est pas au réglage d'affichage de Windows d'en
   décider : un collaborateur qui a mis son OS en sombre pour lire ses mails le
   soir ne demande pas que son outil comptable change d'identité.

   Brancher `prefers-color-scheme` ici, c'est laisser une préférence système
   repeindre le produit du client. Erreur commise, corrigée : le sombre ne
   s'active QUE si quelqu'un pose <html data-theme="dark"> en connaissance de
   cause. Le vérificateur échoue si la console noircit sous un OS sombre.
   -------------------------------------------------------------------------- */
:root{ color-scheme:light; }

:root[data-theme="dark"]{
    color-scheme:dark;
    --bg:#0b0b0d; --surface:#161619; --surface-2:#1c1c20; --surface-3:#26262b;
    --border:#2a2a30; --border-2:#3a3a42; --line:#232328;
    --ink:#f5f5f7; --ink-2:#c3c3c8; --ink-3:#9a9aa1; --ink-4:#6e6e75;
    --tint-tx:color-mix(in srgb,var(--royal) 55%,#fff);
    --grad-text:linear-gradient(120deg,
      color-mix(in srgb,var(--grad-to) 55%,#fff) 0%,
      color-mix(in srgb,var(--royal) 72%,#fff) 100%);
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.3);
    --shadow-lift:0 4px 14px rgba(0,0,0,.45);
    --shadow-pop:0 12px 32px rgba(0,0,0,.55);
    --shadow-modal:0 24px 64px rgba(0,0,0,.6);
    --ok-bg:#1b2a1d;   --ok-tx:#a8cbab;   --ok-dot:#7fa383;
    --info-bg:#182730;  --info-tx:#9dc2d2; --info-dot:#78a4b6;
    --warn-bg:#2d2214;  --warn-tx:#e5b878; --warn-dot:#c8934a;
    --prio-bg:#2d2214;  --prio-tx:#e5b878; --prio-dot:#c8934a;
    --err-bg:#2c1a19;   --err-tx:#e6a3a0;  --err-dot:#c0706c;  --err-br:#573330;
    --mut-bg:#26241f;   --mut-tx:#b2a99e;  --mut-dot:#8a8177;
    --warn-br:#4a3a1c;
}

/* ----------------------------------------------------------------------------
   Repli si color-mix n'est pas supporté (navigateur < 2023). Les consoles
   tournent sur Chrome/Edge à jour côté cabinet : ce bloc n'est qu'un filet.
   -------------------------------------------------------------------------- */
@supports not (color:color-mix(in srgb,red 50%,blue)){
  :root{
    --tint:#eef2ff; --tint-br:#dbe4ff; --tint-tx:#1e40af;
    --ring:0 0 0 4px rgba(37,99,235,.14);
    --glow:0 6px 16px rgba(30,84,224,.34);
    --shadow-btn:0 2px 6px rgba(30,84,224,.3), 0 1px 2px rgba(14,31,102,.26);
    --shadow-btn-h:0 4px 12px rgba(30,84,224,.34), 0 1px 3px rgba(14,31,102,.3);
    --grad-soft:linear-gradient(120deg,#eef2ff 0%,#e6edff 100%);
  }
}
