/* BBC Habitat CRM, jetons de la charte (habillage H1, 11/10/2026) : polices et couleurs, un seul endroit pour chacune.
   Chargé avant crm.css par toutes les pages du CRM, avant vt.css et vt-app.css par le mobile du technicien, et par la
   console servie par le CRM (console.php) : il ne pose que des variables et des polices, aucune règle d'apparence. */

/* ---------- polices hébergées sur le serveur (licence SIL OFL) ----------
   Geist et Geist Mono (Vercel), polices variables, servies par le CRM, jamais par un service de polices externe.
   Le ?v= suit VERSION_POLICES de app/lib.php ; les deux numéros restent identiques. Les anciens fichiers (DM Sans,
   Cormorant Garamond) restent sur le disque tant que Mike n'a pas dit de les retirer. */
@font-face{font-family:"Geist";src:url(fonts/geist-variable.woff2?v=3) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-variable.woff2?v=3) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* ---------- jetons ---------- */
:root{
  /* palette D1, thème clair ; --encre, --filet, --cobalt et --cobalt-doux portent les valeurs, --ink, --line, --accent et
     --accent-soft n'en sont que des alias : la console garde ses propres --ink, --line, --accent (mode secours), et la console
     servie par le CRM (assets/mode-appel.css) reprend les valeurs de la charte par les noms qui ne se recouvrent pas */
  --canvas:#eef3fb;--surface:#fff;--surface-doux:#f4f6f9;--surface-muted:#eef1f5;
  --filet:rgba(25,40,65,.1);--line:var(--filet);--line-doux:rgba(25,40,65,.07);--line-strong:#8b94a3;--fill:rgba(40,65,105,.08);--fill-fort:rgba(40,65,105,.14);
  --encre:#142033;--ink:var(--encre);--ink-2:#4c586b;--ink-3:#5d6a7e;--ink-faint:#8e97a6;
  --cobalt:#2456c8;--accent:var(--cobalt);--accent-hover:#2a5fd6;--accent-text:#1f4db8;--cobalt-doux:rgba(36,86,200,.1);--accent-soft:var(--cobalt-doux);--on-accent:#fff;--focus:var(--cobalt);
  /* états : texte plein sur fond léger à 11 % de sa couleur (sur carte blanche) ; posé sur le fond de page, le texte fonce
     d'un cran (-sur-fond) */
  --danger:#c8281c;--danger-soft:rgba(200,40,28,.11);--danger-sur-fond:#a8201a;--danger-bord:rgba(200,40,28,.3);
  --warning:#a85400;--warning-soft:rgba(168,84,0,.11);--warning-sur-fond:#8f4700;--warning-bord:rgba(168,84,0,.3);
  --info:#1f4db8;--info-soft:rgba(31,77,184,.11);
  --success:#237a3a;--success-soft:rgba(35,122,58,.11);--success-sur-fond:#1d6a32;--success-bord:rgba(35,122,58,.3);
  --neutre:#4c586b;--neutre-soft:rgba(76,88,107,.11);
  /* barre latérale ardoise */
  --rail-fond:var(--onglet-texte);--rail-texte:#dde4f0;--rail-icone:#8fb0ea;--rail-titre:#8896ad;--rail-recherche:rgba(255,255,255,.08);--rail-recherche-texte:#9fadc4;
  --rail-actif:#2f5fd0;--rail-survol-fond:rgba(255,255,255,.06);
  /* coque (Mike, 11/10/2026, 21 h 40, maquette v5, session-2026-10-11/coque/) : barre latérale du CRM (lot H2a) et rail des étapes
     de la console en mode appel. Le blanc sur le haut du dégradé (#4271d8) tient 4,58:1 : ne pas l'éclaircir. Les textes prévus
     en blanc à 90 % tomberaient à 4,05:1 sur ce haut : ils sont en blanc plein (--coque-texte). */
  --coque-haut:#4271d8;--coque-milieu:#3d6dd4;--coque-bas:#3866cc;--coque-texte:#fff;--coque-actif-texte:#1f3f8f;
  --coque-logo-maison:#3866cc;
  --coque-survol:rgba(255,255,255,.12);--coque-filet:rgba(255,255,255,.18);--coque-recherche:rgba(255,255,255,.16);
  --coque-ombre-actif:0 2px 8px rgba(10,25,70,.25);
  /* onglets de la fiche en bulles (coque v5), titres des blocs, en-tête du client */
  --onglet-texte:#1c2a41;--onglet-filet:#d3dceb;--onglet-compteur:#4a5872;--titre-bloc:#1f4fc0;--entete-secondaire:#3d4a60;--entete-icone:#2f5fd0;
  /* cobalt en masse : Prochaine action, frise, onglet ouvert, connexion */
  --cobalt-haut:#2f63d8;--cobalt-bas:#16295a;--cobalt-clair:#5ac8fa;
  /* voile sombre des boutons secondaires et de la pastille d'échéance sur le cobalt (Mike, 11/10/2026, choix 1 : le blanc à 16 %
     tombait à 3,98:1 sur #2f63d8 ; texte blanc sur ce voile : 7,2:1 au pire) */
  --voile-cobalt:rgba(10,20,50,.22);--voile-cobalt-survol:rgba(10,20,50,.32);
  --matiere-haut:#3a6ee6;--matiere-bas:#2652c4;
  --onglets-haut:#223250;--onglets-bas:#1a2740;--onglets-texte:#c3cddd;--onglets-discret:#9aa6ba;--onglets-alerte:#ffae3d;
  /* gamme des types (ronds pleins, icône blanche) et couleurs de phase */
  --type-appel:#2f8f53;--type-message:#2a7fc4;--type-visite:#6a58c9;--type-document:#c2416f;--type-lead:#158a83;--type-releve:#b07a2e;--type-autre:#5d6a7e;
  --phase-nouveau:#158a83;--phase-qualification:#2f8f53;--phase-prevt:#b07a2e;--phase-vt:#6a58c9;--phase-devis:#2a7fc4;--phase-closing:#c2416f;
  /* personnes : une couleur fixe par compte, dans l'ordre de création des comptes */
  --personne-1:#287a47;--personne-2:#2470ad;--personne-3:#6a58c9;--personne-4:#c2416f;--personne-5:#127670;--personne-6:#8f6322;--personne-7:#5d6a7e;
  /* catégories de revenus, imposées par la console : inchangées */
  --tmo-fond:#CFE1F2;--tmo-texte:#1F3F5E;--mo-fond:#F6E6BC;--mo-texte:#6B5115;
  --inter-fond:#E3D7F1;--inter-texte:#4A3268;--sup-fond:#F6D6D4;--sup-texte:#7A2320;
  /* formes, ombres, tailles */
  --r:10px;--r-rail:7px;--r-champ:7px;--r-pastille:6px;--r-rond:999px;
  --ombre:0 1px 2px rgba(20,32,51,.04);--ombre-discrete:0 1px 2px rgba(20,32,51,.04);
  --ombre-carte:0 1px 2px rgba(20,32,51,.06),0 4px 12px rgba(20,32,51,.05);--ombre-pop:0 8px 24px rgba(20,32,51,.14);
  --ombre-masse:0 1px 2px rgba(10,20,50,.25),0 14px 30px -14px rgba(22,41,90,.65);
  --control-md:32px;--control-touch:44px;--row:40px;
  --eo:cubic-bezier(.23,1,.32,1);
  /* typographie */
  --corps:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --titre:var(--corps);
  /* mise en page */
  --rail-l:232px;--marge:28px;

  /* alias des noms d'avant H1, vers les jetons ci-dessus */
  --fond:var(--canvas);--carte:var(--surface);--fond-doux:var(--surface-doux);--fond-alerte:var(--danger-soft);--fond-panneau:var(--surface-muted);
  --rail:var(--rail-fond);--rail-bord:var(--line);--rail-survol:var(--fill);
  --texte:var(--ink);--texte2:var(--ink-2);--discret:var(--ink-3);--dore:var(--ink-2);
  --or:var(--accent);--or-fond:var(--accent-soft);--or-texte:var(--accent-text);--or-bord:rgba(36,86,200,.3);
  --vert:var(--success);--vert-survol:var(--success-sur-fond);--vert-fond:var(--success-soft);--vert-bord:var(--success-bord);
  --sombre:var(--rail-fond);--sombre-survol:#263753;
  --bord-btn:rgba(25,40,65,.18);--bord-btn-survol:rgba(25,40,65,.34);
  --rouge:var(--danger);--rouge-vif:var(--danger);--rouge-fond:var(--danger-soft);--rouge-bord:var(--danger-bord);--rouge-champ:rgba(200,40,28,.55);
  --ambre:var(--warning);--ambre-texte:var(--warning);--ambre-fond:var(--warning-soft);--ambre-bord:var(--warning-bord);
  --bleu:var(--accent);
  --gris:#c3cad6;--gris-fond:var(--fill);--gris-texte:var(--ink-2);
  --ligne:var(--line);--ligne2:var(--line-doux);--ligne-champ:var(--line-strong);--ligne-forte:rgba(25,40,65,.16);
  --ombre-or:var(--ombre-carte);
}
/* la couleur fixe d'une personne (data-personne, 1 à 7, personne_couleur() d'app/lib.php) */
[data-personne="1"]{--personne:var(--personne-1)}[data-personne="2"]{--personne:var(--personne-2)}[data-personne="3"]{--personne:var(--personne-3)}
[data-personne="4"]{--personne:var(--personne-4)}[data-personne="5"]{--personne:var(--personne-5)}[data-personne="6"]{--personne:var(--personne-6)}
[data-personne="7"]{--personne:var(--personne-7)}

/* ---------- thème Sombre, au choix de chacun (lot H2c repris par le lot Fidélité, 12/10/2026) ----------
   Jetons sombres de la charte (charte/tokens.json, thème « dark »), adaptés à la palette D1 : fond et cartes ardoise
   profonde, cobalt éclairci pour rester lisible, barre latérale en cobalt sombre. Chaque paire texte et fond tient 4,5:1
   (mesuré par le test de contraste dans les deux thèmes). Le thème est posé sur <html data-theme="sombre"> par le serveur. */
:root[data-theme="sombre"]{
  color-scheme:dark;
  --canvas:#0e1117;--surface:#151a22;--surface-doux:#1b212b;--surface-muted:#1b212b;
  --filet:#262d38;--line-doux:#20262f;--line-strong:#5b6577;--fill:rgba(160,180,215,.1);--fill-fort:rgba(160,180,215,.16);
  --encre:#e7ebf2;--ink-2:#b4bdcc;--ink-3:#9aa4b5;--ink-faint:#6a7486;
  --cobalt:#7f9ff5;--accent-hover:#9bb4f7;--accent-text:#a9bef8;--cobalt-doux:#1a2542;--on-accent:#0e1117;--focus:#7f9ff5;
  --danger:#ff8a80;--danger-soft:rgba(255,138,128,.14);--danger-sur-fond:#ff9d94;--danger-bord:rgba(255,138,128,.35);
  --warning:#f0b457;--warning-soft:rgba(240,180,87,.14);--warning-sur-fond:#f4c06e;--warning-bord:rgba(240,180,87,.35);
  --info:#a9bef8;--info-soft:#1a2542;
  --success:#5fcf8f;--success-soft:#13291d;--success-sur-fond:#6fd99c;--success-bord:rgba(95,207,143,.35);
  --neutre:#b4bdcc;--neutre-soft:rgba(180,189,204,.12);
  --coque-haut:#21407f;--coque-milieu:#1d386f;--coque-bas:#182f5e;--coque-actif-texte:#16295a;--coque-logo-maison:#21407f;
  --onglet-texte:#e7ebf2;--onglet-filet:#2f3846;--onglet-compteur:#9aa4b5;--titre-bloc:#a9bef8;--entete-secondaire:#b4bdcc;--entete-icone:#7f9ff5;
  --ombre-carte:0 0 0 1px #262d38;--ombre-pop:0 12px 32px rgba(0,0,0,.5);
  /* catégories de revenus : identiques dans les deux thèmes (charte) */
}
:root.theme-fondu,:root.theme-fondu *{transition:background-color .3s var(--eo),color .3s var(--eo),border-color .3s var(--eo)!important}
@media (prefers-reduced-motion:reduce){:root.theme-fondu,:root.theme-fondu *{transition:background-color .2s ease,color .2s ease!important}}
