/* Produit par outils/feuille-publique.mjs (CORRECTIONS-6) depuis jetons.css, base.css, mise-en-page.css, composants.css, maquette.css, maquette-ecrans.css, maquette-ajustements.css, refonte.css, v54.css : ne pas modifier à la main. */
/* ---- jetons.css */
:root {
  --police: "IBM Plex Sans", Aptos, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;
  --police-titre: "IBM Plex Sans", Aptos, "Segoe UI", system-ui, -apple-system, sans-serif;
  --police-chiffres: "IBM Plex Sans", Aptos, "Segoe UI", system-ui, sans-serif;
  --police-code: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;
  --taille-texte: 13px;            
  --taille-secondaire: 12px;       
  --taille-petite: 12px;           
  --taille-titre-section: 15px;    
  --taille-titre-page: 20px;       
  --taille-chiffre-tuile: 24px;    
  --taille-salut: 20px;            
  --taille-marque: 16px;           
  --taille-initiales: 11px;        
  --taille-dessin: 11px;           
  --taille-icone: 20px;            
  --trait-icone: 1.5px;
  --graisse-normale: 400;
  --graisse-moyenne: 500;
  --graisse-grasse: 600;
  --interligne: 1.4;
  --interligne-serre: 1.2;
  --fond:            #f2f4f8;   
  --surface:         #ffffff;
  --surface-2:       #f6f8fb;
  --surface-3:       #edf0f5;
  --bordure:         #e4e8ef;
  --bordure-forte:   #cbd3df;
  --texte:           #0f1b34;
  --texte-doux:      #45526b;
  --texte-faible:    #5f6b80;
  --texte-inverse:   #ffffff;
  --accent:          #1f5fa3;
  --accent-fonce:    #002060;
  --accent-clair:    #eaf0f9;
  --marque-soleil:   #f4a100;
  --nav-fond:        #0b1733;
  --nav-texte:       #c3cbe0;
  --nav-texte-doux:  #7d89a8;
  --nav-actif:       rgba(255,255,255,.09);
  --nav-filet:       rgba(255,255,255,.08);
  --nav-compteur:    rgba(255,255,255,.10);
  --alerte:          #b42318;   --alerte-fond:    #fdecea;   --alerte-filet: #f2b8b1;
  --attention:       #8f5200;   --attention-fond: #fef3e2;   --attention-vif: #d98200;
  --ok:              #22734a;   --ok-fond:        #e6f3eb;
  --neutre:          #52617b;   --neutre-fond:    #edf0f5;
  --info:            #3f47a8;   --info-fond:      #eef0fc;   
  --surveiller:      #1f666c;   --surveiller-fond: #e3f3f4;  
  --decider:         #c42b1c;   --decider-fond:   #fdeeec;
  --relancer:        #a45a00;   --relancer-fond:  #fff4e3;
  --examiner:        #3f47a8;   --examiner-fond:  #eef0fc;
  --pas:             4px;       
  --pas-2:           8px;
  --pas-3:           12px;
  --pas-4:           16px;
  --pas-6:           24px;
  --pas-8:           32px;
  --pas-10:          40px;
  --rayon:           8px;
  --rayon-carte:     12px;
  --rayon-petit:     5px;
  --rayon-pastille:  999px;
  --ombre:           0 1px 2px rgba(15,27,52,.06), 0 1px 1px rgba(15,27,52,.04);
  --ombre-carte:     0 0 0 1px rgba(15,27,52,.08);   
  --ombre-panneau:   0 8px 24px rgba(15,27,52,.12), 0 2px 6px rgba(15,27,52,.08);
  --focus:           0 0 0 3px rgba(46,116,181,.40);
  --transition:      120ms ease;
  --hauteur-ligne: 40px;           
  --hauteur-commande: 36px;        
  --hauteur-commande-tel: 44px;
  --hauteur-entete: 56px;
  --hauteur-champ: 32px;
  --largeur-contenu: 1440px;
  --largeur-barre: 240px;
  --largeur-barre-repliee: 56px;
  --largeur-panneau: 360px;
  --gouttiere: 16px;
  --lignes-visibles: 25;           
  --telephone-largeur: 390px;
  --telephone-hauteur: 844px;
  --telephone-rayon: 36px;
  --bulle-entrante: #ffffff;
  --bulle-sortante: #eaf0f9;
  --bulle-fond: #edf0f5;
  --bulle-rayon: 12px;
  --photo-cadre: #e4e8ef;
  --carte-urgence:            #b3261e;
  --carte-monitoring-muet:    #6b3fa0;
  --carte-ticket-ouvert:      #d9730d;
  --carte-preventif-echu:     #1f5f8b;
  --carte-inconnu:            #8c98a5;
  --carte-rien-a-signaler:    #7fb08f;
  --carte-cat-1: #0072b2;  --carte-cat-2: #e69f00;  --carte-cat-3: #009e73;
  --carte-cat-4: #cc79a7;  --carte-cat-5: #56b4e9;  --carte-cat-6: #db6410;
  --carte-cat-7: #b8a300;  --carte-cat-8: #5a6876;  --carte-autres: #c3cad3;
  --carte-age-1: #cfe0ec;  --carte-age-2: #9fc1d9;  --carte-age-3: #5f98bf;
  --carte-age-4: #2f6f9c;  --carte-age-5: #164965;
  --carte-visite-1: #1d6f42;  --carte-visite-2: #b8a300;
  --carte-visite-3: #d9730d;  --carte-visite-4: #b3261e;
  --carte-ok: #1d6f42;  --carte-attention: #a15c00;  --carte-alerte: #b3261e;
  --carte-mer: #ffffff;  --carte-terre: #e8edf4;  --carte-cote: #c3cad3;  --carte-repere: #8c98a5;
  --carte-lisere: #ffffff;
  --carte-selection: #0f1b34;      
  --carte-nombre: #ffffff;         
  --carte-nombre-halo: rgba(11,18,32,.60);   
  --carte-nombre-sombre: #0f1b34;  
  --carte-nombre-halo-clair: rgba(255,255,255,.65);
  --carte-rayon: 6px;              
  --carte-facteur-rang-1: 1.4;     
  --carte-facteur-rang-3: 1.15;    
  --carte-hauteur-ile: 720px;      
  --carte-largeur-tana: 640px;     
  --carte-estompe: .22;            
  --frise-trait: #e4e8ef;
  --qr-cadre: #e4e8ef;
  --qr-taille: 128px;
}
:root {
  --rf-fond: #f2f4f8;
  --rf-action: #13254d;          --rf-action-survol: #1d3a78;
  --rf-geste: #b42318;           --rf-geste-vif: #d92d20;         --rf-geste-fond: #fef1ef;   --rf-geste-filet: #f6c8c1;
  --rf-relance: #9a5300;         --rf-relance-vif: #e89a1c;       --rf-relance-fond: #fff5e6; --rf-relance-filet: #f3d3a2;
  --rf-relance-nav: rgba(232, 154, 28, 0.22); --rf-relance-nav-texte: #ffc266;
  --rf-info: #1f63a8;            --rf-info-texte: #174d84;
  --rf-ok: #1d6b42;              --rf-ok-vif: #2e9d62;            --rf-ok-fond: #e8f5ed;      --rf-ok-filet: #bfe3cc;
  --rf-bulle: #0f1b34;           --rf-bulle-texte: #ffffff;
  --rf-sur-geste: #ffffff;
  --rf-fondu: rgba(255, 255, 255, 0);
  --rf-voile: rgba(11, 23, 51, 0.45);       
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --fond: #0b1220;  --surface: #0f1829;  --surface-2: #141f34;  --surface-3: #1a263e;
  --bordure: #22304a;  --bordure-forte: #33425f;
  --texte: #e8edf6;  --texte-doux: #b0bbce;  --texte-faible: #8a96ac;  --texte-inverse: #0b1220;
  --accent: #8dbaf0;  --accent-fonce: #a9c1ee;  --accent-clair: #17294a;
  --nav-fond: #070e1c;  --nav-texte: #c9d4e8;  --nav-texte-doux: #7d8dab;
  --alerte: #ff8b7e;  --alerte-fond: #3a1716;  --alerte-filet: #6b2a25;
  --attention: #f2b35b;  --attention-fond: #33240c;  --attention-vif: #e59a2f;
  --ok: #7fd3a0;  --ok-fond: #11301f;
  --neutre: #a9b5ca;  --neutre-fond: #1b2538;
  --info: #b9bdff;  --info-fond: #1e2147;
  --surveiller: #7fd8de;  --surveiller-fond: #123236;
  --decider: #ff8a7f;  --decider-fond: #3a1716;  --relancer: #ffc768;  --relancer-fond: #33240c;
  --examiner: #b9bdff;  --examiner-fond: #1e2147;
  --ombre: 0 1px 2px rgba(0,0,0,.4);
  --ombre-carte: 0 0 0 1px rgba(255,255,255,.08);
  --ombre-panneau: 0 10px 30px rgba(0,0,0,.5);
  --focus: 0 0 0 3px rgba(127,176,230,.45);
  --bulle-entrante: #141f34;  --bulle-sortante: #17294a;  --bulle-fond: #0f1829;  --photo-cadre: #22304a;
  --carte-mer: #0f1829;  --carte-terre: #1a263e;  --carte-cote: #33425f;  --carte-repere: #8a96ac;
  --carte-lisere: #0f1829;  --carte-selection: #e8edf6;  --carte-autres: #8a96ac;
  --frise-trait: #22304a;  --qr-cadre: #22304a;
}
:root[data-theme="dark"] {
  --rf-fond: #0b1220;
  --rf-action: #8dbaf0;          --rf-action-survol: #a9c9f3;
  --rf-sur-geste: #ffffff;
  --rf-geste: #ff8b7e;           --rf-geste-vif: #c4302b;         --rf-geste-fond: #3a1716;   --rf-geste-filet: #6b2a25;
  --rf-relance: #f2b35b;         --rf-relance-vif: #e59a2f;       --rf-relance-fond: #33240c; --rf-relance-filet: #5a4214;
  --rf-info: #8dbaf0;            --rf-info-texte: #a9c9f3;
  --rf-ok: #7fd3a0;              --rf-ok-vif: #2e9d62;            --rf-ok-fond: #11301f;      --rf-ok-filet: #1f5236;
  --rf-bulle: #e8edf6;           --rf-bulle-texte: #0b1220;
}
.app-conteneur { --pl-police: "IBM Plex Sans",Aptos,"Segoe UI",system-ui,-apple-system,sans-serif; --pl-titre: "IBM Plex Sans",Aptos,"Segoe UI",system-ui,-apple-system,sans-serif; --pl-mono: "IBM Plex Mono",ui-monospace,"SF Mono",Consolas,monospace; --pf: #f2f4f8; --ps: #fff; --pe: #0f1b34; --pe2: #4a5770; --pe3: #6b7890; --pb: #2e74b5; color-scheme: light; }
.app-conteneur { --mqc-01: rgba(196, 43, 28, 0.55); --mqc-02: rgba(196, 43, 28, 0); --mqc-03: rgb(242, 184, 177); --mqc-04: rgb(196, 43, 28); --mqc-05: rgb(255, 255, 255); --mqc-06: rgb(217, 130, 0); --mqc-07: rgb(143, 82, 0); --mqc-08: rgb(203, 211, 223); --mqc-09: rgb(74, 87, 112); --mqc-10: rgb(123, 135, 156); --mqc-11: #0b1733; --mqc-12: #13254d; --mqc-13: #f4a100; --mqc-14: #0f1b34; --mqc-15: #44506a; --mqc-16: #667389; --mqc-17: #f2f4f8; --mqc-18: #c42b1c; --mqc-19: #fdecea; --mqc-20: #fdeeec; --mqc-21: #f3c4bd; --mqc-22: #a45a00; --mqc-23: #e89a1c; --mqc-24: #fff4e3; --mqc-25: #f3d3a2; --mqc-26: #3f47a8; --mqc-27: #5b63c9; --mqc-28: #eef0fc; --mqc-29: #cdd1f3; --mqc-30: #8c97ab; --mqc-31: #2e74b5; --mqc-32: #5b6b86; --mqc-33: #2f7f86; --mqc-34: #091230; --mqc-35: rgb(179, 192, 216); --mqc-36: rgba(244, 161, 0, 0.55); --mqc-37: rgb(127, 143, 176); --mqc-38: rgb(111, 128, 163); --mqc-39: rgba(255, 255, 255, 0.06); --mqc-40: rgba(244, 161, 0, 0.18); --mqc-41: rgba(244, 161, 0, 0.04); --mqc-42: rgb(143, 160, 194); --mqc-43: rgba(232, 154, 28, 0.2); --mqc-44: rgb(255, 194, 102); --mqc-45: rgba(91, 99, 201, 0.3); --mqc-46: rgb(197, 201, 255); --mqc-47: rgb(221, 229, 243); --mqc-48: rgba(255, 255, 255, 0.08); --mqc-49: #1d3a78; --mqc-50: rgba(244,161,0,.2); --mqc-51: transparent; --mqc-52: rgb(214, 224, 243); --mqc-53: rgb(169, 199, 180); --mqc-54: rgba(80, 190, 120, 0.12); --mqc-55: rgba(80, 190, 120, 0.25); --mqc-56: rgb(111, 211, 154); --mqc-57: rgb(223, 245, 232); --mqc-58: rgba(255, 255, 255, 0.07); --mqc-59: rgba(255, 255, 255, 0.12); --mqc-60: rgb(230, 236, 247); --mqc-61: rgb(159, 176, 207); --mqc-62: rgb(163, 174, 194); --mqc-63: rgb(79, 155, 230); --mqc-64: rgb(127, 141, 166); --mqc-65: rgb(167, 178, 198); --mqc-66: rgb(63, 176, 184); --mqc-67: rgb(195, 207, 228); --mqc-68: rgba(15, 27, 52, 0.05); --mqc-69: rgba(15, 27, 52, 0.35); --mqc-70: rgb(230, 234, 240); --mqc-71: rgb(250, 251, 253); --mqc-72: #fff; --mqc-73: rgb(238, 240, 244); --mqc-74: rgb(246, 248, 252); --mqc-75: rgb(198, 206, 219); --mqc-76: rgb(227, 231, 238); --mqc-77: rgb(77, 88, 112); --mqc-78: rgb(230, 240, 250); --mqc-79: rgb(31, 93, 151); --mqc-80: rgb(233, 236, 242); --mqc-81: rgb(63, 77, 102); --mqc-82: rgb(213, 219, 229); --mqc-83: rgb(241, 245, 251); --mqc-84: rgb(226, 231, 239); --mqc-85: rgba(15, 27, 52, 0.12); --mqc-86: rgb(227, 232, 239); --mqc-87: #ffffff; --mqc-88: #ffffff; --mqc-89: #e4e8ef; --mqc-90: rgb(232, 244, 236); --mqc-91: rgb(200, 224, 208); --mqc-92: rgb(47, 107, 79); --mqc-93: rgb(29, 77, 55); --mqc-94: rgb(225, 230, 238); --mqc-95: rgba(15, 27, 52, 0.3); --mqc-96: rgb(154, 166, 184); --mqc-97: rgb(46, 116, 181); --mqc-98: rgb(91, 107, 134); --mqc-99: rgb(141, 154, 176); --mqc-100: rgb(47, 127, 134); --mqc-101: rgb(233, 238, 246); --mqc-102: rgb(239, 227, 207); --mqc-103: rgb(201, 180, 143); --mqc-104: rgb(0, 32, 96); --mqc-105: #f2f4f8; --mqc-106: rgba(255, 255, 255, 0.1); --mqc-107: rgba(255, 255, 255, 0.2); --mqc-108: rgb(185, 199, 226); --mqc-109: rgba(244, 161, 0, 0.6); --mqc-110: rgb(244, 161, 0); --mqc-111: rgba(0, 0, 0, 0.25); --mqc-112: rgb(27, 19, 0); --mqc-113: rgba(255, 255, 255, 0.14); --mqc-114: rgba(15, 27, 52, 0.4); --mqc-115: rgb(15, 107, 92); --mqc-116: rgb(164, 90, 0); --mqc-117: rgb(236, 239, 244); --mqc-118: rgb(232, 243, 239); --mqc-119: rgba(15, 27, 52, 0.45); --mqc-120: rgb(232, 236, 242); --mqc-121: rgba(15, 27, 52, 0.04); --mqc-122: rgb(224, 138, 0); --mqc-123: rgb(221, 229, 242); }
.app-conteneur { --mqp-0: #5f6b80; --mqp-1: #1d4e89; --mqp-2: #0f6b5c; --mqp-3: #6b7890; --mqp-4: #8a4b00; --mqp-5: #6b3fa0; --mqp-6: #9c2f55; --mqp-7: #2f5d8a; --mqp-8: #444c5c;
  --mqp-texte: #ffffff; --mq-surveiller: #1f666c; --mq-surveiller-fond: #e3f3f4; --mq-logo: #002060; --largeur-barre: 228px; }
.mq { --police: "IBM Plex Sans",Aptos,"Segoe UI",system-ui,-apple-system,sans-serif; --police-titre: "IBM Plex Sans",Aptos,"Segoe UI",system-ui,-apple-system,sans-serif; --police-etroite: "Aptos Narrow","Arial Narrow","Roboto Condensed","Segoe UI",system-ui,sans-serif; --police-mono: "IBM Plex Mono",ui-monospace,"SF Mono",Consolas,monospace; --t-xs: 12px; --t-s: 12px; --t-m: 13px; --t-l: 15px; --t-xl: 15px; --t-2xl: 20px; --t-3xl: 24px; --t-4xl: 24px; --e1: 4px; --e2: 8px; --e3: 12px; --e4: 16px; --e5: 20px; --e6: 24px; --e8: 32px; --e10: 40px; --e14: 56px; --r-s: 5px; --r-m: 8px; --r-l: 12px; --r-pilule: 999px; --ombre-1: 0 1px 2px rgba(15,27,52,.06),0 1px 1px rgba(15,27,52,.04); --ombre-2: 0 8px 24px rgba(15,27,52,.12),0 2px 6px rgba(15,27,52,.08); --h-ligne: 40px; --ombre-carte: 0 0 0 1px rgba(15,27,52,.08); --fond: #f2f4f8; --surface: #ffffff; --surface-2: #f6f8fb; --surface-3: #edf0f5; --filet: #e4e8ef; --filet-fort: #cbd3df; --encre: #0f1b34; --encre-2: #45526b; --encre-3: #667389; --marque: #002060; --marque-2: #2e74b5; --marque-pale: #eaf0f9; --soleil: #f4a100; --nav-fond: #0b1733; --nav-fond-2: #091230; --nav-encre: #b3c0d8; --nav-encre-2: #6f80a3; --nav-actif: rgba(255,255,255,.06); --nav-filet: rgba(255,255,255,.08); --lien: #1f5fa3; --focus: #2e74b5; --rouge: #b42318; --rouge-fond: #fdecea; --rouge-filet: #f2b8b1; --ambre: #8f5200; --ambre-vif: #d98200; --ambre-fond: #fef3e2; --bleu: #1f63a8; --bleu-fond: #e8f0fa; --ardoise: #52617b; --ardoise-fond: #edf0f5; --vert: #22734a; --vert-fond: #e6f3eb; --muet: #6b3fa0; --muet-fond: #f1ebf8; --surveiller: #1f666c; --surveiller-fond: #e3f3f4; --dec: #c42b1c; --dec-fond: #fdeeec; --rel: #a45a00; --rel-vif: #e89a1c; --rel-fond: #fff4e3; --exa: #3f47a8; --exa-vif: #5b63c9; --exa-fond: #eef0fc; --gris: #77839a; --p1-f: #1d4e89; --p1-t: #fff; --p2-f: #0f6b5c; --p2-t: #fff; --p3-f: #6b7890; --p3-t: #fff; --p4-f: #8a4b00; --p4-t: #fff; --p5-f: #6b3fa0; --p5-t: #fff; --p6-f: #9c2f55; --p6-t: #fff; --p7-f: #2f5d8a; --p7-t: #fff; --p8-f: #444c5c; --p8-t: #fff; color-scheme: light; }
.mq { --h-ligne: 36px; }
.mq { --mqe-01: rgb(255, 255, 255); --mqe-02: transparent; --mqe-03: rgba(0, 0, 0, 0.6); --mqe-04: rgb(21, 27, 38); --mqe-05: rgb(15, 27, 52); --mqe-06: rgb(74, 87, 112); --mqe-07: rgb(0, 32, 96); --mqe-08: rgb(230, 236, 247); --mqe-09: rgb(29, 58, 120); --mqe-10: rgb(19, 37, 77); --mqe-11: rgb(11, 23, 51); --mqe-12: rgba(244,161,0,.15); --mqe-13: rgba(244, 161, 0, 0.7); --mqe-14: rgb(185, 199, 226); --mqe-15: rgb(127, 143, 176); --mqe-16: rgba(255, 255, 255, 0.05); --mqe-17: rgba(255, 255, 255, 0.035); --mqe-18: rgba(15,27,52,.45); --mqe-19: #9aa6b8; --mqe-20: rgb(246, 248, 252); --mqe-21: #002060; --mqe-22: rgb(102, 115, 137); --mqe-23: #000; }
:root {
  --carte-contour-alarme: var(--carte-urgence);              
  --carte-contour-ticket: var(--carte-ticket-ouvert);        
  --carte-contour-intervention: var(--carte-cat-1);          
  --carte-contour-ras: var(--carte-rien-a-signaler);         
  --carte-contour-neutre: #45526b;                           
  --carte-contour-epaisseur: 2px;
  --carte-contour-halo: 4px;
}
:root[data-theme="dark"] {
  --carte-contour-alarme: #e5534b;                           
  --carte-contour-ticket: var(--carte-ticket-ouvert);        
  --carte-contour-intervention: #3b9be0;                     
  --carte-contour-neutre: #8a96ac;                           
}
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../polices/IBMPlexSans-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("../polices/IBMPlexSans-500.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../polices/IBMPlexSans-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../polices/IBMPlexSans-700.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../polices/IBMPlexMono-500.woff2") format("woff2"); }
:root {
  --nav-actif-texte:  #ffc247;                 
  --nav-survol:       rgba(255,255,255,.05);
  --nav-sous-texte:   #aeb8d0;                 
  --nav-sous-filet:   rgba(255,255,255,.10);
  --nav-tuile-alpha:  22%;                     
  --marque-tuile:     #ffffff;                 
  --nav-titre:        #ffffff;                 
  --nav-tuile-encre:  #ffffff;                 
  --taille-texte-tel: 14px;  --taille-meta-tel: 12.5px;  --taille-titre-page-tel: 18px;  --taille-titre-bloc-tel: 14px;  --taille-chiffre-tel: 20px;
  --lieu-accueil:     #f4a100;  --lieu-tickets:  #5b8def;  --lieu-messages: #3fb77a;  --lieu-sites:   #2fb3b9;
  --lieu-planning:    #9a7cf0;  --lieu-monitoring: #f0725c; --lieu-savoir:  #e06aac;  --lieu-reglages: #9aa6bd;
  --etat-nouveau:     #6c4bc0;  --etat-nouveau-fond:  #f1edfc;
  --etat-planifie:    #2459b8;  --etat-planifie-fond: #eaf1fc;
  --etat-attente:     #9a5b00;  --etat-attente-fond:  #fff4df;
  --etat-regle:       #1d7a4a;  --etat-regle-fond:    #e7f4ec;
  --etat-urgent:      #c4321f;  --etat-urgent-fond:   #fdeeec;
  --chiffre-canard:     #0d7f86;  --chiffre-canard-fond:  #e3f4f5;
  --chiffre-gris:     #4a5568;  --chiffre-gris-fond:  #eef0f4;
  --chiffre-soleil:   #e58e00;
  --chiffre-ajout:    #6c4bc0;  --chiffre-ajout-fond: #f1edfc;   
  --chiffre-neuf:     #fff4e0;                                    
  --chiffre-piste:    #e4e7ec;                                    
  --chiffre-bulle:    #111a2e;  --chiffre-bulle-texte: #ffffff;  
  --chiffre-ombre-survol: 0 2px 10px rgba(17,26,46,.06);
  --mv-arrivee:       .38s;     --mv-ecart: 55ms;    --mv-compteur: .7s;   --mv-jauge: .8s;    --mv-tendance: .9s;
  --mv-courbe:        cubic-bezier(.2,.8,.2,1);
  --mv-direct:        60s;      
}
:root[data-theme="dark"] {
  --etat-nouveau: #b9a6ff;  --etat-nouveau-fond: #261d47;  --etat-planifie: #8dbaf0;  --etat-planifie-fond: #17294a;
  --etat-attente: #f2b35b;  --etat-attente-fond: #33240c;  --etat-regle: #7fd3a0;     --etat-regle-fond: #11301f;
  --etat-urgent: #ff8b7e;   --etat-urgent-fond: #3a1716;
  --chiffre-canard: #7fd8de;  --chiffre-canard-fond: #123236;  --chiffre-gris: #b0bbce;   --chiffre-gris-fond: #1b2538;
  --chiffre-ajout: #cbbcf5; --chiffre-ajout-fond: #2e2550; --chiffre-neuf: #33240c;   --chiffre-piste: #22304a;
  --chiffre-bulle: #e8edf6; --chiffre-bulle-texte: #0b1220;
  --marque-tuile: #ffffff;
}
:root[data-theme="dark"] .app-conteneur { color-scheme: dark; --pf: #0b1220; --ps: #0f1829; --pe: #e8edf6; --pe2: #b0bbce; --pe3: #8a96ac; --pb: #8dbaf0;
  --mqc-14: #e8edf6; --mqc-15: #b0bbce; --mqc-16: #8a96ac; --mqc-17: #0b1220; --mqc-18: #ff8a7f; --mqc-19: #3a1716; --mqc-20: #3a1716; --mqc-21: #6b2a25;
  --mqc-22: #ffc768; --mqc-24: #33240c; --mqc-25: #5a4214; --mqc-26: #b9bdff; --mqc-27: #8f96f0; --mqc-28: #1e2147; --mqc-29: #33386b;
  --mqc-30: #8a96ac; --mqc-31: #8dbaf0; --mqc-32: #a9b5ca; --mqc-33: #7fd8de;
  --mqc-03: #6b2a25; --mqc-07: #f2b35b; --mqc-08: #33425f; --mqc-09: #b0bbce; --mqc-10: #8a96ac; --mqc-75: #33425f; --mqc-76: #22304a;
  --mqc-68: rgba(0,0,0,.3); --mqc-69: rgba(0,0,0,.5); --mqc-70: #22304a; --mqc-71: #141f34; --mqc-72: #0f1829; --mqc-73: #1a263e; --mqc-74: #141f34;
  --mqc-77: #b0bbce; --mqc-78: #17294a; --mqc-79: #8dbaf0; --mqc-80: #1b2538; --mqc-81: #b0bbce; --mqc-82: #33425f; --mqc-83: #17294a; --mqc-84: #1a263e;
  --mqc-85: rgba(0,0,0,.4); --mqc-86: #22304a; --mqc-87: #0f1829; --mqc-88: #0f1829; --mqc-89: #22304a; --mqc-90: #11301f; --mqc-91: #1f5236;
  --mqc-92: #7fd3a0; --mqc-93: #a8e3bf; --mqc-94: #22304a; --mqc-95: rgba(0,0,0,.5); --mqc-101: #1a263e; --mqc-102: #1a263e; --mqc-103: #33425f;
  --mqc-104: #8dbaf0; --mqc-105: #0b1220; --mqc-114: rgba(0,0,0,.5); --mqc-115: #7fd8de; --mqc-116: #ffc768; --mqc-117: #22304a; --mqc-118: #11301f;
  --mqc-119: rgba(0,0,0,.5); --mqc-120: #22304a; --mqc-121: rgba(255,255,255,.04); --mqc-123: #22304a;
}
:root[data-theme="dark"] .mq { color-scheme: dark;
  --ombre-1: 0 1px 2px rgba(0,0,0,.4); --ombre-2: 0 10px 30px rgba(0,0,0,.5); --ombre-carte: 0 0 0 1px rgba(255,255,255,.08);
  --fond: #0b1220; --surface: #0f1829; --surface-2: #141f34; --surface-3: #1a263e; --filet: #22304a; --filet-fort: #33425f;
  --encre: #e8edf6; --encre-2: #b0bbce; --encre-3: #8a96ac; --marque: #8dbaf0; --marque-2: #8dbaf0; --marque-pale: #17294a;
  --lien: #8dbaf0; --focus: #8dbaf0;
  --rouge: #ff8b7e; --rouge-fond: #3a1716; --rouge-filet: #6b2a25; --ambre: #f2b35b; --ambre-vif: #e59a2f; --ambre-fond: #33240c;
  --bleu: #8dbaf0; --bleu-fond: #17294a; --ardoise: #a9b5ca; --ardoise-fond: #1b2538; --vert: #7fd3a0; --vert-fond: #11301f;
  --muet: #cbbcf5; --muet-fond: #2e2550; --surveiller: #7fd8de; --surveiller-fond: #123236; --dec: #ff8a7f; --dec-fond: #3a1716;
  --rel: #ffc768; --rel-vif: #e59a2f; --rel-fond: #33240c; --exa: #b9bdff; --exa-vif: #8f96f0; --exa-fond: #1e2147; --gris: #8a96ac;
  --mqe-20: #141f34; --mqe-22: #8a96ac;
}
:root[data-theme="dark"] .mq .btn.principal-btn:not(:disabled, .inactif) { color: var(--texte-inverse); }
/* ---- base.css */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--police);
  font-size: var(--taille-texte);
  line-height: var(--interligne);
  color: var(--texte);
  background: var(--fond);
}
h1, h2, h3, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
h1 { font-size: var(--taille-titre-page); font-weight: var(--graisse-grasse); line-height: var(--interligne-serre); }
h2 { font-size: var(--taille-titre-section); font-weight: var(--graisse-grasse); line-height: var(--interligne-serre); }
h3 { font-size: var(--taille-texte); font-weight: var(--graisse-grasse); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}
strong { font-weight: var(--graisse-grasse); }
button, input {
  font: inherit;
  color: inherit;
}
button { cursor: pointer; background: none; border: 0; padding: 0; }
img, svg { display: block; max-width: 100%; }
.icone {
  width: var(--taille-icone);
  height: var(--taille-icone);
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--trait-icone);
  stroke-linecap: round;
  stroke-linejoin: round;
}
[hidden] { display: none !important; }
.visuellement-cache {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}
/* ---- mise-en-page.css */
.app-conteneur {
  container-type: inline-size;
  container-name: app;
  min-height: 100vh;
}
.contenu {
  flex: 1 1 auto;
  width: 100%;
  max-width: var(--largeur-contenu);
  margin: 0 auto;
  padding: var(--pas-6);
}
.pied {
  display: flex;
  gap: var(--pas-4);
  align-items: center;
  padding: var(--pas-3) var(--pas-6);
  border-top: 1px solid var(--bordure);
  color: var(--texte-faible);
  font-size: var(--taille-secondaire);
}
.grille { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gouttiere); }
.app-public {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--fond);
}
.app-public .contenu { display: flex; align-items: center; justify-content: center; }
@container app (max-width: 900px) {
  .contenu { padding: var(--pas-4); }
}
@container app (max-width: 640px) {
  .contenu { padding: var(--pas-3); }
  .grille { gap: var(--pas-3); }
}
/* ---- composants.css */
.marque {
  display: inline-flex;
  align-items: baseline;
  gap: var(--pas-2);
  color: var(--texte);
  text-decoration: none;
}
.marque:hover { text-decoration: none; }
.connexion { width: 100%; display: flex; justify-content: center; padding: var(--pas-8) 0; }
.aide { display: inline-flex; color: var(--texte-faible); vertical-align: middle; }
.aide:hover { color: var(--accent); }
.visite { margin-bottom: var(--pas); padding: var(--pas) var(--pas-2); background: var(--surface); border: 1px solid var(--bordure); border-left: 3px solid var(--accent); border-radius: var(--rayon-petit); font-size: var(--taille-secondaire); overflow-wrap: anywhere; }
.visite:not([data-zone="tana"]) { border-left-color: var(--attention); }
@container app (max-width: 640px) {             
}
/* ---- maquette.css */
@media (prefers-reduced-motion: reduce) {
.sd, .sd * { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
.ic { width: 20px; height: 20px; fill: none; stroke: currentcolor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sd { --nuit: var(--mqc-11); --nuit2: var(--mqc-12); --sol: var(--mqc-13); --e: var(--mqc-14); --e2: var(--mqc-15); --e3: var(--mqc-16); --fond: var(--mqc-17); --r: var(--mqc-18); --rf: var(--mqc-19); --dec: var(--mqc-18); --dec-f: var(--mqc-20); --dec-b: var(--mqc-21); --rel: var(--mqc-22); --rel-a: var(--mqc-23); --rel-f: var(--mqc-24); --rel-b: var(--mqc-25); --exa: var(--mqc-26); --exa-a: var(--mqc-27); --exa-f: var(--mqc-28); --exa-b: var(--mqc-29); --f1: var(--mqc-30); --f2: var(--mqc-31); --f3: var(--mqc-32); --f4: var(--mqc-33); color: var(--e); font-family: var(--pl-police); background: var(--fond); }
.sd .ic { width: 17px; height: 17px; }
.sd h1 { font: 800 var(--taille-titre-page)/1.05 var(--pl-titre); letter-spacing: -0.02em; margin: 0px 0px 6px; position: relative; }
.bd-main { padding: 0px 24px 28px; min-width: 0px; container-type: inline-size; }
.ch:is( [data-teinte="sable"]) h1 { color: var(--e); }
.ch[data-teinte="sable"] { --fond: var(--mqc-105); }
.ch h1 { font-size: var(--taille-titre-page); margin: 0px 0px 2px; }
/* ---- maquette-ecrans.css */
.mq { margin: 0px; background: var(--fond); color: var(--encre); font: var(--t-l)/1.5 var(--police); -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
.mq h1, .mq h2, .mq h3, .mq p, .mq ul { margin: 0px; }
.mq ul { padding: 0px; list-style: none; }
.mq a { color: inherit; text-decoration: none; }
.mq a:hover { text-decoration: underline; text-underline-offset: 2px; }
.mq button, .mq input { font: inherit; color: inherit; }
.mq .num { font-variant-numeric: tabular-nums; }
.mq .ic { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentcolor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mq .ic.s { width: 16px; height: 16px; }
@media (prefers-reduced-motion: reduce) {
}
.mq .contenu { padding: var(--e6) var(--e8) var(--e14); max-width: 1400px; width: 100%; }
.mq .btn { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0px 14px; border-radius: var(--r-m); border: 1px solid var(--filet-fort); background: var(--surface); font-size: var(--taille-texte); font-weight: 550; color: var(--encre); cursor: pointer; white-space: nowrap; }
.mq .btn:hover { background: var(--surface-2); text-decoration: none; }
.mq .btn .ic { width: 17px; height: 17px; }
.mq .btn.principal-btn { background: var(--marque); border-color: var(--marque); color: var(--mqe-01); }
.mq .btn.principal-btn:hover { filter: brightness(1.08); }
.mq .btn.petit { height: 30px; padding: 0px 10px; font-size: var(--taille-texte); }
.mq .etiq { display: inline-block; font-size: var(--taille-secondaire); padding: 1px 7px; border-radius: 5px; background: var(--surface-3); color: var(--encre-2); white-space: nowrap; }
.mq .etiq.vert { background: var(--vert-fond); color: var(--vert); }
@container app (max-width: 900px) {
.mq .contenu { padding: var(--e5) var(--e5) var(--e14); }
}
@container app (max-width: 640px) {
.mq { font-size: var(--taille-titre-section); }
.mq .contenu { padding: 16px 16px 96px; }
}
.mq .form { display: grid; gap: 18px; max-width: 760px; }
.mq .form .l { font-size: var(--taille-texte); font-weight: 600; color: var(--encre-2); }
.mq .form .aide { font-size: var(--taille-secondaire); color: var(--encre-3); }
.mq .form input[type="text"] { width: 100%; min-height: 40px; border: 1px solid var(--filet-fort); border-radius: var(--r-m); background: var(--surface); padding: 8px 12px; font-size: var(--taille-titre-section); }
.mq .tel { width: 390px; max-width: 100%; border-radius: 36px; border: 10px solid var(--mqe-04); background: var(--mqe-04); box-shadow: var(--ombre-2); overflow: hidden; flex: 0 0 auto; }
.mq .public { min-height: 100vh; background: var(--surface-2); }
@container (max-width: 1060px) {
}
@container (max-width: 860px) {
}
@container (max-width: 560px) {
}
.mq .cx { min-height: 100vh; display: grid; grid-template-columns: minmax(0px, 1.15fr) minmax(360px, 1fr); background: var(--fond); }
.mq .cx-marque { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 36px 48px 28px; color: var(--mqe-08); background: radial-gradient(90% 70% at 85% 10%, var(--mqe-09) 0%, var(--mqe-10) 45%, var(--mqe-11) 100%); }
.mq .cx-marque::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 4px; background: linear-gradient(90deg,var(--soleil),var(--mqe-12) 70%,var(--mqe-02)); }
.mq .cx-logo { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; }
.mq .cx-logo .logo { width: 44px; height: 44px; border-radius: 12px; background: var(--soleil); display: grid; place-items: center; box-shadow: var(--mqe-13) 0px 10px 24px -8px; }
.mq .cx-logo .logo svg { width: 26px; height: 26px; stroke: var(--mqe-11); fill: none; stroke-width: 2.2; stroke-linecap: round; }
.mq .cx-logo b { font: 800 var(--taille-chiffre-tuile)/1 var(--police-titre); letter-spacing: 0.16em; color: var(--mqe-01); }
.mq .cx-texte { position: relative; z-index: 1; margin-top: auto; max-width: 480px; }
.mq .cx-sur { font-size: var(--taille-secondaire); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--soleil); }
.mq .cx-marque h1 { font: 800 var(--taille-titre-page)/1.12 var(--police-titre); letter-spacing: -0.02em; color: var(--mqe-01); margin-top: 10px; text-wrap: balance; }
.mq .cx-texte p:last-child { margin-top: 12px; font-size: var(--taille-titre-section); color: var(--mqe-14); }
.mq .cx-pied { position: relative; z-index: 1; margin-top: 28px; font-size: var(--taille-secondaire); color: var(--mqe-15); }
.mq .cx-ile { position: absolute; right: -4%; top: 6%; height: 88%; width: auto; pointer-events: none; }
.mq .cx-ile .grille line { stroke: var(--mqe-16); stroke-width: 1; }
.mq .cx-ile .terre { fill: var(--mqe-17); }
.mq .cx-ile .trait { fill: none; stroke: var(--mqe-13); stroke-width: 1.4; stroke-dasharray: 4, 4; stroke-dashoffset: 0; animation: 3s ease-out 0s 1 normal both running cx-trace; }
.mq .cx-form { display: grid; place-items: center; padding: 32px 24px; }
.mq .cx-form form { width: 100%; max-width: 380px; display: grid; gap: 16px; background: var(--surface); border-radius: 18px; padding: 30px 28px; box-shadow: var(--ombre-carte),0 30px 60px -40px var(--mqe-18); }
.mq .cx-form h2 { font: 800 var(--taille-titre-page)/1.1 var(--police-titre); letter-spacing: -0.01em; }
.mq .cx-bienvenue { font-size: var(--taille-texte); color: var(--encre-3); margin-top: -8px; }
.mq .cx-form input { width: 100%; height: 44px; border: 1px solid var(--filet-fort); border-radius: var(--r-m); padding: 0px 12px; font-size: var(--taille-titre-section); background: var(--surface); }
.mq .cx-form input:focus { border-color: var(--marque-2); box-shadow: 0 0 0 3px color-mix(in srgb,var(--marque-2) 20%,var(--mqe-02)); outline: 0px; }
.mq .cx-form .btn { height: 46px; justify-content: center; width: 100%; font-size: var(--taille-titre-section); }
.mq .cx-form .erreur { display: flex; gap: 8px; align-items: flex-start; background: var(--rouge-fond); color: var(--rouge); border-radius: var(--r-m); padding: 10px 12px; font-size: var(--taille-texte); }
.mq .cx-form .erreur .ic { margin-top: 2px; }
.mq .cx-aide { font-size: var(--taille-texte); color: var(--encre-3); }
@container app (max-width: 900px) {
.mq .cx { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
.mq .cx-marque { padding: 20px 20px 22px; min-height: 230px; }
.mq .cx-marque h1 { font-size: var(--taille-titre-page); }
.mq .cx-texte { margin-top: 22px; max-width: 300px; }
.mq .cx-texte p:last-child, .mq .cx-pied { display: none; }
.mq .cx-ile { right: -12%; top: -8%; height: 120%; }
.mq .cx-form { place-items: start center; padding: 20px 16px 32px; }
.mq .cx-form form { margin-top: -36px; position: relative; }
}
.mq .acompleter { display: inline-block; font-size: var(--taille-secondaire); font-weight: 700; color: var(--rel); background: var(--rel-fond); border: 1.5px dashed var(--rel-vif); border-radius: 6px; padding: 0px 6px; line-height: 1.5; white-space: nowrap; }
.mq .h1 { background: color-mix(in srgb,var(--s1) 12%,var(--surface)); }
.mq .h2 { background: color-mix(in srgb,var(--s1) 25%,var(--surface)); }
.mq .h3 { background: color-mix(in srgb,var(--s1) 42%,var(--surface)); }
@container app (max-width: 1100px) {
}
/* ---- maquette-ajustements.css */
.contenu:has(> .bd-main) { padding: 0; max-width: none; margin: 0; }
.bd-main { min-height: 100%; font-size: var(--taille-titre-section); line-height: 1.5; }
@container (max-width: 640px) {
  .bd-main { padding: 0 12px 24px; }
}
:where(.sd) svg { display: inline; max-width: none; }
.sd, .sd * { animation: none !important; }
.contenu:has(> .mq-file) { padding: 0; max-width: none; margin: 0; }
.contenu:has(> .mq-fiche) { padding: 0; max-width: none; margin: 0; }
.contenu:has(> .mq-liste-sites), .contenu:has(> .mq-clients) { padding: 0; max-width: none; margin: 0; }
.contenu:has(> .mq-nouveau) { padding: 0; max-width: none; margin: 0; }
@container app (max-width: 640px) {
}
.app-public .contenu:has(> .mq-connexion) { display: block; padding: 0; max-width: none; margin: 0; }
.bd-main.mq-connexion, .bd-main.mq-connexion.sd { padding: 0; }          
.mq-connexion .mq-ile-cadre { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.mq-connexion .cx-logo .logo circle { fill: var(--mq-logo); }       
.mq-connexion .form.mq-champ { gap: 6px; max-width: none; }          
.mq-connexion .cx-form input::placeholder { color: var(--encre-3); opacity: 1; }
@container app (min-width: 901px) {
  .mq-connexion .mq-ile-cadre { position: relative; inset: auto; order: 1; flex: 1 1 0; min-height: 0; margin: 20px -48px 28px; }
  .mq-connexion .cx-ile { top: 0; height: 100%; right: 3%; }
  .mq-connexion .cx-texte { order: 2; margin-top: 0; }
  .mq-connexion .cx-pied { order: 3; }
}
.contenu:has(> .mq-conversations) { padding: 0; max-width: none; margin: 0; }
@container app (max-width: 900px) {
}
.app-conteneur { --zoom-tel: .82; --police-plancher-tel: 12.2px; }
@container app (max-width: 520px) {
}
.app-public .contenu:has(> .mq-rapport) { display: block; padding: 0; max-width: none; margin: 0; }
 .btn:disabled { color: var(--texte-doux); background: var(--surface-2); border-style: dashed; box-shadow: none; cursor: not-allowed; opacity: 1; }
/* ---- refonte.css */
.rf-aide { position: relative; display: inline-flex; vertical-align: middle; }
.rf-aide-q { width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--bordure-forte); background: var(--surface); color: var(--texte-faible);
  font: var(--graisse-grasse) var(--taille-secondaire)/1 var(--police); cursor: help; padding: 0; }
.rf-aide-q { position: relative; }
.rf-aide-q::after { content: ""; position: absolute; inset: -12px; }   
.rf-aide-q:hover, .rf-aide-q:focus-visible, .rf-aide-ouverte .rf-aide-q { color: var(--accent); border-color: var(--accent); outline: none; }
.rf-aide-bulle { position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); z-index: 30; width: max-content; max-width: 260px;
  padding: 10px 12px; border-radius: var(--rayon); background: var(--rf-bulle); color: var(--rf-bulle-texte); font-size: var(--taille-texte); font-weight: var(--graisse-normale);
  line-height: 1.4; box-shadow: var(--ombre-panneau); visibility: hidden; opacity: 0; transition: opacity var(--transition); }
.rf-aide-bulle a { color: inherit; text-decoration: underline; }
.rf-aide:hover .rf-aide-bulle, .rf-aide:focus-within .rf-aide-bulle, .rf-aide-ouverte .rf-aide-bulle { visibility: visible; opacity: 1; }
.rf-rouge { color: var(--rf-geste); font-weight: var(--graisse-grasse); }
@container app (max-width: 640px) {
  .rf-aide-bulle { left: 0; right: 0; transform: none; width: auto; max-width: none; }
}
.dm-contact-tete { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.app-public .contenu:has(> .dm-f31) { display: block; padding: 0; max-width: none; margin: 0; }
.dm-f31 { max-width: 560px; margin: 0 auto; padding: 16px; }
.dm-f31-marque { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.dm-f31-bonjour { margin: 0; color: var(--e2); }
.dm-f31-titre { margin: 2px 0 2px; font-size: var(--taille-chiffre-tuile); }
.dm-f31-sous { margin: 0 0 14px; color: var(--e2); }
.dm-f31 .rf-aide-q { color: var(--e2); }
.dm-f31-titre { color: var(--e); }
.dm-f31-bloc { background: var(--surface); border: 1px solid var(--bordure); border-radius: 12px; padding: 12px 14px; margin: 0 0 12px; }
.dm-f31-bloc h2 { font-size: var(--taille-titre-section); margin: 0 0 8px; }
.dm-f31-contacts { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.dm-f31-contact { border-bottom: 1px solid var(--bordure); padding-bottom: 8px; }
.dm-f31-contact:last-child { border-bottom: 0; padding-bottom: 0; }
.dm-f31-contact p { margin: 2px 0; }
.dm-f31-num { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.dm-f31-num .mono { flex: 1 1 100%; font-size: var(--taille-titre-section); }
.dm-f31-marque .logo { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--marque); }
.dm-f31-marque .logo svg { width: 18px; height: 18px; fill: none; stroke: var(--soleil); stroke-width: 2; }
.dm-f31-num .btn { min-height: 40px; }
.dm-f31-pied { display: flex; align-items: center; gap: 6px; font-size: var(--taille-texte); color: var(--e2); }
@container app (max-width: 640px) {
   .dm-f31-pied { position: relative; }
   .dm-f31-pied .rf-aide { position: static; }
}
@media (max-width: 640px) {
   .dm-f31-pied { position: relative; }
   .dm-f31-pied .rf-aide { position: static; }
   .dm-f31-pied .rf-aide-bulle { left: 0; right: 0; transform: none; width: auto; max-width: none; }
}
@container app (max-width: 640px) {
}
@media (max-width: 599px) {
}
.contenu > .bd-main:not(:last-child) { min-height: 0; }
body:has(.sp-voile:not([hidden])) { overflow: hidden; }
:root button:focus-visible, :root .btn:focus-visible, :root .rf-aide-q:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
 .mq #site h3 a { color: var(--lien); position: relative; }
 .mq #site h3 a::after { content: ""; position: absolute; inset: -8px -6px; }
 .mq #site a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
@container app (max-width: 640px) {
  .rf-aide { position: static; }
  .rf-aide-bulle { left: 0; right: 0; transform: none; width: auto; max-width: none; min-width: min(380px, calc(100vw - 32px)); }   
  .rf-aide-bulle { display: none; }
  .rf-aide:hover .rf-aide-bulle, .rf-aide:focus-within .rf-aide-bulle, .rf-aide-ouverte .rf-aide-bulle { display: block; }
}
@media (max-width: 640px) {
}
.mq .form input[type="password"] { width: 100%; min-height: 40px; border: 1px solid var(--filet-fort); border-radius: var(--r-m); background: var(--surface); padding: 8px 12px; font-size: var(--taille-titre-section); }
:is(h1, h2, h3) .rf-aide-q { font: 700 var(--taille-secondaire)/1 var(--police, system-ui, sans-serif); width: 20px; height: 20px; min-height: 0; padding: 0; border-radius: 50%; border: 1px solid var(--bordure-forte, var(--filet-fort)); background: var(--surface); color: var(--texte-faible, var(--encre-3)); display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; }
:is(h1, h2, h3) .rf-aide { margin-left: 6px; }
/* ---- v54.css */
.mq { font-size: var(--taille-texte); }
 .numero { font-family: var(--police-code); font-size: var(--taille-petite); letter-spacing: 0; }
@media (prefers-reduced-motion: no-preference) {
   .btn { transition: background-color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition); }
   .btn:active { transform: scale(.985); }
}
.es-connexion-quatre { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--bordure); display: grid; gap: 8px; }
.es-connexion-quatre li { display: flex; gap: 10px; align-items: center; font-size: var(--taille-texte); color: var(--texte-doux); }
.es-connexion-quatre .ic { width: 16px; height: 16px; flex: none; fill: none; stroke: var(--accent); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@container app (max-width: 520px) {
   .btn { min-height: var(--hauteur-commande-tel); }
}
@container app (max-width: 640px) {
}
@media (prefers-reduced-motion: no-preference) {
}
.mq .cx-logo .logo.es-symbole { background: var(--marque-tuile) url("../img/solarma-symbole.png") center / 32px auto no-repeat; box-shadow: none; }
/* ---- thème du téléphone, sans choix gardé (C6-2) */
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
  color-scheme: dark;
  --fond: #0b1220;  --surface: #0f1829;  --surface-2: #141f34;  --surface-3: #1a263e;
  --bordure: #22304a;  --bordure-forte: #33425f;
  --texte: #e8edf6;  --texte-doux: #b0bbce;  --texte-faible: #8a96ac;  --texte-inverse: #0b1220;
  --accent: #8dbaf0;  --accent-fonce: #a9c1ee;  --accent-clair: #17294a;
  --nav-fond: #070e1c;  --nav-texte: #c9d4e8;  --nav-texte-doux: #7d8dab;
  --alerte: #ff8b7e;  --alerte-fond: #3a1716;  --alerte-filet: #6b2a25;
  --attention: #f2b35b;  --attention-fond: #33240c;  --attention-vif: #e59a2f;
  --ok: #7fd3a0;  --ok-fond: #11301f;
  --neutre: #a9b5ca;  --neutre-fond: #1b2538;
  --info: #b9bdff;  --info-fond: #1e2147;
  --surveiller: #7fd8de;  --surveiller-fond: #123236;
  --decider: #ff8a7f;  --decider-fond: #3a1716;  --relancer: #ffc768;  --relancer-fond: #33240c;
  --examiner: #b9bdff;  --examiner-fond: #1e2147;
  --ombre: 0 1px 2px rgba(0,0,0,.4);
  --ombre-carte: 0 0 0 1px rgba(255,255,255,.08);
  --ombre-panneau: 0 10px 30px rgba(0,0,0,.5);
  --focus: 0 0 0 3px rgba(127,176,230,.45);
  --bulle-entrante: #141f34;  --bulle-sortante: #17294a;  --bulle-fond: #0f1829;  --photo-cadre: #22304a;
  --carte-mer: #0f1829;  --carte-terre: #1a263e;  --carte-cote: #33425f;  --carte-repere: #8a96ac;
  --carte-lisere: #0f1829;  --carte-selection: #e8edf6;  --carte-autres: #8a96ac;
  --frise-trait: #22304a;  --qr-cadre: #22304a;
}
:root:not([data-theme="light"]) {
  --rf-fond: #0b1220;
  --rf-action: #8dbaf0;          --rf-action-survol: #a9c9f3;
  --rf-sur-geste: #ffffff;
  --rf-geste: #ff8b7e;           --rf-geste-vif: #c4302b;         --rf-geste-fond: #3a1716;   --rf-geste-filet: #6b2a25;
  --rf-relance: #f2b35b;         --rf-relance-vif: #e59a2f;       --rf-relance-fond: #33240c; --rf-relance-filet: #5a4214;
  --rf-info: #8dbaf0;            --rf-info-texte: #a9c9f3;
  --rf-ok: #7fd3a0;              --rf-ok-vif: #2e9d62;            --rf-ok-fond: #11301f;      --rf-ok-filet: #1f5236;
  --rf-bulle: #e8edf6;           --rf-bulle-texte: #0b1220;
}
:root:not([data-theme="light"]) {
  --carte-contour-alarme: #e5534b;                           
  --carte-contour-ticket: var(--carte-ticket-ouvert);        
  --carte-contour-intervention: #3b9be0;                     
  --carte-contour-neutre: #8a96ac;                           
}
:root:not([data-theme="light"]) {
  --etat-nouveau: #b9a6ff;  --etat-nouveau-fond: #261d47;  --etat-planifie: #8dbaf0;  --etat-planifie-fond: #17294a;
  --etat-attente: #f2b35b;  --etat-attente-fond: #33240c;  --etat-regle: #7fd3a0;     --etat-regle-fond: #11301f;
  --etat-urgent: #ff8b7e;   --etat-urgent-fond: #3a1716;
  --chiffre-canard: #7fd8de;  --chiffre-canard-fond: #123236;  --chiffre-gris: #b0bbce;   --chiffre-gris-fond: #1b2538;
  --chiffre-ajout: #cbbcf5; --chiffre-ajout-fond: #2e2550; --chiffre-neuf: #33240c;   --chiffre-piste: #22304a;
  --chiffre-bulle: #e8edf6; --chiffre-bulle-texte: #0b1220;
  --marque-tuile: #ffffff;
}
:root:not([data-theme="light"]) .app-conteneur { color-scheme: dark; --pf: #0b1220; --ps: #0f1829; --pe: #e8edf6; --pe2: #b0bbce; --pe3: #8a96ac; --pb: #8dbaf0;
  --mqc-14: #e8edf6; --mqc-15: #b0bbce; --mqc-16: #8a96ac; --mqc-17: #0b1220; --mqc-18: #ff8a7f; --mqc-19: #3a1716; --mqc-20: #3a1716; --mqc-21: #6b2a25;
  --mqc-22: #ffc768; --mqc-24: #33240c; --mqc-25: #5a4214; --mqc-26: #b9bdff; --mqc-27: #8f96f0; --mqc-28: #1e2147; --mqc-29: #33386b;
  --mqc-30: #8a96ac; --mqc-31: #8dbaf0; --mqc-32: #a9b5ca; --mqc-33: #7fd8de;
  --mqc-03: #6b2a25; --mqc-07: #f2b35b; --mqc-08: #33425f; --mqc-09: #b0bbce; --mqc-10: #8a96ac; --mqc-75: #33425f; --mqc-76: #22304a;
  --mqc-68: rgba(0,0,0,.3); --mqc-69: rgba(0,0,0,.5); --mqc-70: #22304a; --mqc-71: #141f34; --mqc-72: #0f1829; --mqc-73: #1a263e; --mqc-74: #141f34;
  --mqc-77: #b0bbce; --mqc-78: #17294a; --mqc-79: #8dbaf0; --mqc-80: #1b2538; --mqc-81: #b0bbce; --mqc-82: #33425f; --mqc-83: #17294a; --mqc-84: #1a263e;
  --mqc-85: rgba(0,0,0,.4); --mqc-86: #22304a; --mqc-87: #0f1829; --mqc-88: #0f1829; --mqc-89: #22304a; --mqc-90: #11301f; --mqc-91: #1f5236;
  --mqc-92: #7fd3a0; --mqc-93: #a8e3bf; --mqc-94: #22304a; --mqc-95: rgba(0,0,0,.5); --mqc-101: #1a263e; --mqc-102: #1a263e; --mqc-103: #33425f;
  --mqc-104: #8dbaf0; --mqc-105: #0b1220; --mqc-114: rgba(0,0,0,.5); --mqc-115: #7fd8de; --mqc-116: #ffc768; --mqc-117: #22304a; --mqc-118: #11301f;
  --mqc-119: rgba(0,0,0,.5); --mqc-120: #22304a; --mqc-121: rgba(255,255,255,.04); --mqc-123: #22304a;
}
:root:not([data-theme="light"]) .mq { color-scheme: dark;
  --ombre-1: 0 1px 2px rgba(0,0,0,.4); --ombre-2: 0 10px 30px rgba(0,0,0,.5); --ombre-carte: 0 0 0 1px rgba(255,255,255,.08);
  --fond: #0b1220; --surface: #0f1829; --surface-2: #141f34; --surface-3: #1a263e; --filet: #22304a; --filet-fort: #33425f;
  --encre: #e8edf6; --encre-2: #b0bbce; --encre-3: #8a96ac; --marque: #8dbaf0; --marque-2: #8dbaf0; --marque-pale: #17294a;
  --lien: #8dbaf0; --focus: #8dbaf0;
  --rouge: #ff8b7e; --rouge-fond: #3a1716; --rouge-filet: #6b2a25; --ambre: #f2b35b; --ambre-vif: #e59a2f; --ambre-fond: #33240c;
  --bleu: #8dbaf0; --bleu-fond: #17294a; --ardoise: #a9b5ca; --ardoise-fond: #1b2538; --vert: #7fd3a0; --vert-fond: #11301f;
  --muet: #cbbcf5; --muet-fond: #2e2550; --surveiller: #7fd8de; --surveiller-fond: #123236; --dec: #ff8a7f; --dec-fond: #3a1716;
  --rel: #ffc768; --rel-vif: #e59a2f; --rel-fond: #33240c; --exa: #b9bdff; --exa-vif: #8f96f0; --exa-fond: #1e2147; --gris: #8a96ac;
  --mqe-20: #141f34; --mqe-22: #8a96ac;
}
:root:not([data-theme="light"]) .mq .btn.principal-btn:not(:disabled, .inactif) { color: var(--texte-inverse); }
}
