/* Collexion · espaces de travail (organisation, client, super admin)
   Direction « Regal Heritage » : bleu nuit, or, ivoire. Fraunces pour les titres, Source Sans 3 pour la lecture.
   Téléphone d'abord : barre supérieure bleu nuit, barre basse flottante au pouce, panneaux en bas d'écran.
   Ordinateur : barre latérale bleu nuit, onglet actif découpé dans la page.
   Modes clair et sombre (préférence mémorisée sur l'appareil). */
@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3-Semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3-It.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/Fraunces-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --f:#F4F6F8;--s:#FFFFFF;--s2:#EEF1F4;--t:#121722;--t2:#5A6475;--l:#E1E5EA;--l2:#CBD2DB;
  --v:#13233A;--v2:#0B1424;--vt:#1C3352;--cu:#A08348;--fd:#E6EAEF;--clair:#E6CFA6;
  /* or réservé aux petites touches ; --or-clair : texte clair et froid sur fond bleu nuit */
  --or:#C2A072;--or-clair:#DCE4EE;--or-fonce:#A08348;--nav:#0B1424;--nav-2:#13233A;
  --ok:#1D4E7A;--ok-f:#E3ECF6;--at:#86672F;--at-f:#F5ECDD;--al:#A2412A;--al-f:#F6E4DD;--ne-f:#ECEFF3;
  --police:"Source Sans 3","Helvetica Neue",Arial,sans-serif;--titre:"Fraunces",Georgia,"Times New Roman",serif;
  --r:4px;--ombre:0 24px 48px -30px rgba(11,20,36,.45);--carte:0 1px 0 rgba(11,20,36,.03),0 22px 40px -34px rgba(11,20,36,.4);
  --doux:cubic-bezier(.22,.61,.36,1);--barre:78px;--tete:60px;--marque:var(--v)
}
[data-theme="sombre"]{
  --f:#0A0F19;--s:#111A28;--s2:#0E1522;--t:#E9ECF1;--t2:#9AA5B5;--l:#1E293A;--l2:#2B394F;
  --v:#C9D6E6;--v2:#E3EAF2;--vt:#AFC3DA;--cu:#D6BB80;--fd:#18233A;--nav:#111D33;--nav-2:#18263F;
  --ok:#9DC2EA;--ok-f:#14253C;--at:#E6CFA6;--at-f:#2A2316;--al:#F0A893;--al-f:#3A2320;--ne-f:#1A2434;
  --ombre:0 24px 48px -24px rgba(0,0,0,.75);--carte:0 22px 40px -30px rgba(0,0,0,.7);
  color-scheme:dark
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--f);color:var(--t);font:400 16px/1.5 var(--police);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
body.e-bloque{overflow:hidden}
a{color:var(--vt)}
h1,h2,h3,p,ul,ol,dl,figure{margin:0}
img{display:block;max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--vt);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement{position:absolute;left:12px;top:-60px;z-index:300;background:var(--v);color:#fff;padding:10px 14px;border-radius:3px}
.evitement:focus{top:12px}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.logo{font:500 14px/1 var(--police);letter-spacing:.3em;white-space:nowrap}
.logo b{font-weight:500;color:var(--or)}
.txt-alerte{color:var(--al)}

/* ---------- Structure ---------- */
.e-tete{position:sticky;top:0;z-index:40;height:calc(var(--tete) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--nav);color:#fff;box-shadow:0 1px 0 rgba(230,207,166,.1)}
.e-org{min-width:0;display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:.01em;white-space:nowrap;overflow:hidden}
.e-org>span{overflow:hidden;text-overflow:ellipsis}
.e-org .e-org-x{width:26px;height:26px;flex:none}
.e-org .e-org-logo{max-height:34px;max-width:150px;object-fit:contain;background:#fff;border-radius:3px;padding:3px 7px}
.e-tete-actions{display:flex;gap:2px}
.e-tete .e-btn--txt{color:rgba(255,255,255,.82)}
.e-tete .e-btn--txt:hover{background:rgba(255,255,255,.08);color:#fff}
/* Navigation : tiroir bleu nuit ouvert par le burger ; le contenu garde toute la largeur */
.e-burger{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;margin-left:-8px;border:0;border-radius:4px;background:none;color:inherit;cursor:pointer}
.e-burger:hover{background:rgba(255,255,255,.08)}
.e-burger i{display:block;width:20px;height:1.6px;border-radius:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;transition:transform .3s var(--doux)}
.e-tete-g{display:flex;align-items:center;gap:6px;min-width:0}
.e-nav{position:fixed;z-index:65;top:0;bottom:0;left:0;width:min(300px,86vw);display:flex;flex-direction:column;padding:max(20px,env(safe-area-inset-top)) 0 calc(20px + env(safe-area-inset-bottom)) 14px;background:var(--nav);color:#fff;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;visibility:hidden;transform:translateX(-104%);transition:transform .38s var(--doux),visibility 0s linear .38s}
.e-nav::-webkit-scrollbar{display:none}
body.nav-ouverte .e-nav{visibility:visible;transform:none;box-shadow:24px 0 60px -28px rgba(5,10,20,.6);transition:transform .38s var(--doux),visibility 0s}
.e-nav-fond{position:fixed;inset:0;z-index:64;background:rgba(5,10,20,.5);opacity:0;pointer-events:none;transition:opacity .3s}
body.nav-ouverte .e-nav-fond{opacity:1;pointer-events:auto}
.e-nav-haut{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 22px 0}
.e-nav-fermer{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);cursor:pointer}
.e-nav-fermer:hover{background:rgba(255,255,255,.12);color:#fff}
.e-nav nav{flex:1;align-content:start}
body .e-nav a,body .e-nav .e-sortir{margin-right:14px;width:auto}
.e-nav a[aria-current="page"]{background:rgba(255,255,255,.09);color:var(--or-clair);font-weight:600}
.e-principal{padding:0 max(16px,env(safe-area-inset-left)) calc(var(--barre) + 26px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right))}
.e-vue{max-width:1680px;margin:0 auto;padding-top:18px;outline:none;animation:apparait .35s var(--doux)}
@keyframes apparait{from{opacity:0;transform:translateY(6px)}}
.e-chargement{color:var(--t2);padding:40px 0;text-align:center;animation:none}

/* Barre basse flottante (pouce) */
.e-barre{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));z-index:45;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;height:64px;padding:6px;border-radius:6px;background:color-mix(in srgb,var(--nav) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 40px -16px rgba(5,10,20,.6),inset 0 0 0 1px rgba(230,207,166,.14)}
.e-barre a,.e-barre button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border:0;border-radius:5px;background:none;color:rgba(255,255,255,.6);font:500 11px/1.1 var(--police);letter-spacing:.02em;text-decoration:none;cursor:pointer;padding:4px 2px;transition:color .2s,background-color .25s}
.e-barre span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e-barre .ic{width:22px;height:22px}
.e-barre [aria-current="page"]{color:var(--or-clair);background:rgba(255,255,255,.09)}
.e-barre .e-badge{position:absolute;top:4px;left:calc(50% + 5px)}
@media (max-width:359px){.e-barre{left:8px;right:8px;gap:2px;padding:5px}.e-barre a,.e-barre button{font-size:10.5px;letter-spacing:0}}

/* Menu complet (feuille bleu nuit) */
.e-feuille{position:fixed;inset:0;z-index:70}
.e-feuille-fond{position:absolute;inset:0;background:rgba(5,10,20,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.e-feuille-c{position:absolute;inset:auto 0 0;max-height:88svh;overflow-y:auto;overscroll-behavior:contain;background:var(--nav);color:#fff;border-radius:6px 6px 0 0;padding:10px 12px calc(18px + env(safe-area-inset-bottom));animation:monte .28s var(--doux);box-shadow:0 -20px 50px -20px rgba(0,0,0,.6)}
.e-feuille-c::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.22);margin:2px auto 8px}
@keyframes monte{from{transform:translateY(30px);opacity:0}}
.e-feuille nav,.e-nav nav{display:grid;gap:2px}
.e-groupe{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--or);padding:16px 12px 6px}
.e-nav a,.e-feuille a,.e-sortir{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 12px;border-radius:4px;color:rgba(255,255,255,.74);text-decoration:none;border:0;background:none;font:500 15.5px var(--police);width:100%;text-align:left;cursor:pointer;transition:background-color .2s,color .2s}
.e-nav a:hover,.e-feuille a:hover,.e-sortir:hover{background:rgba(255,255,255,.06);color:#fff}
.e-feuille a[aria-current="page"]{background:rgba(255,255,255,.09);color:var(--or-clair)}
.e-nav a span,.e-feuille a span{flex:1;min-width:0}
.e-nav a small,.e-feuille a small{display:block;font-size:12.5px;color:rgba(255,255,255,.5);font-weight:400}
a.verrou{color:rgba(255,255,255,.45)}
.e-cadenas{display:inline-flex;color:rgba(230,207,166,.55)}
.e-cadenas .ic{width:15px;height:15px}
.e-nav-pied{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:2px}
.e-sortir{color:rgba(255,255,255,.55)}
.e-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:3px;background:var(--or);color:#0B1424;font-size:11.5px;font-weight:700;font-style:normal}
.e-nav-marque{display:flex;align-items:center;gap:12px;padding:2px 12px;color:#fff;text-decoration:none;font:500 13px var(--police);letter-spacing:.32em}

/* Bandeaux */
#e-bandeaux{max-width:1180px;margin:0 auto}
.e-bandeau{display:block;margin-top:12px;padding:8px 14px;border-radius:4px;background:var(--fd);color:var(--t);font-size:13.5px;line-height:1.45}
#e-bandeaux .e-bandeau+.e-bandeau{margin-top:6px}
.e-bandeau a{font-weight:600;white-space:nowrap}
.e-bandeau--alerte{background:var(--al-f);color:var(--al)}
.e-bandeau--alerte a{color:var(--al)}
.e-bandeau--demo{background:var(--at-f);color:var(--at)}
.e-bandeau--demo a{color:var(--at)}
.e-bandeau--lien{text-decoration:none;font-weight:600;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}

/* ---------- Boutons ---------- */
.e-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 18px;border:1px solid var(--marque);border-radius:3px;background:var(--marque);color:#fff;font:600 15px/1.2 var(--police);text-decoration:none;cursor:pointer;white-space:nowrap;transition:filter .2s,background-color .2s,transform .2s var(--doux)}
[data-theme="sombre"] .e-btn:not(.e-btn--sec):not(.e-btn--txt):not(.e-btn--verre):not(.e-btn--danger):not(.e-btn--or){background:var(--v);border-color:var(--v);color:#0B1424}
.e-btn:hover{filter:brightness(1.12)}
.e-btn:active{transform:scale(.98)}
.e-btn[disabled]{opacity:.55;cursor:progress}
.e-btn--sec{background:var(--s);color:var(--t);border-color:var(--l2)}
.e-btn--sec:hover{background:var(--s2);filter:none}
.e-btn--txt{background:transparent;border-color:transparent;color:var(--vt)}
.e-btn--txt:hover{background:var(--s2);filter:none}
.e-btn--or{background:#F2F1EE;border-color:#D3D9E1;color:#0B1424!important}
.e-btn--or:hover{background:#fff}
.e-btn--verre{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.e-btn--verre:hover{background:rgba(255,255,255,.18);filter:none}
.e-btn--icone{padding:0;width:44px}
.e-btn--petit{min-height:38px;padding:6px 14px;font-size:14px}
.e-btn--danger{color:var(--al)}
.e-btn.e-btn--danger:not(.e-btn--txt){background:var(--al);border-color:var(--al);color:#fff}
.e-btn .ic{width:18px;height:18px}

/* ---------- En-tête d'écran : une action principale, le reste dans « … » ---------- */
.e-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin-bottom:18px}
.e-h-txt{min-width:0;flex:1 1 220px}
.e-h small{display:flex;align-items:center;gap:10px;color:var(--cu);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.e-h small::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.e-h h1{font:440 clamp(30px,6.4vw,44px)/1.08 var(--titre);letter-spacing:-.02em}
.e-h h1 small{display:inline;font:inherit;font-size:.5em;letter-spacing:0;text-transform:none;color:var(--t2)}
.e-h h1 small::before{display:none}
.e-h-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.e-plus{position:relative}
.e-plus-liste{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:240px;max-width:min(320px,calc(100vw - 32px));padding:6px;background:var(--s);border:1px solid var(--l);border-radius:5px;box-shadow:var(--ombre);display:grid;animation:apparait .18s var(--doux)}
.e-plus-liste a,.e-plus-liste button{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:0;border-radius:3px;background:none;color:var(--t);font:500 15px var(--police);text-align:left;text-decoration:none;cursor:pointer;white-space:normal}
.e-plus-liste a:hover,.e-plus-liste button:hover{background:var(--s2)}
.e-plus-liste .ic{color:var(--cu)}
.e-retour{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:-8px 0 2px -6px;padding:0 6px;color:var(--t2);text-decoration:none;font-weight:600;font-size:14.5px}
.e-retour:hover{color:var(--t)}
.e-intro{margin-bottom:14px}
.e-sous{color:var(--t2)}
.e-note{margin:14px 0;font-size:14px;color:var(--t2)}
.e-statut-l{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-6px 0 14px}

/* ---------- Accueil : carte bleu nuit, indicateurs en Fraunces dorée ---------- */
.e-accueil{position:relative;overflow:hidden;isolation:isolate;border-radius:8px;padding:22px 18px 18px;margin-bottom:16px;color:#fff;background:radial-gradient(120% 140% at 100% 0%,rgba(110,140,170,.34),transparent 52%),linear-gradient(140deg,#1C3352,#0B1424 72%);box-shadow:0 30px 60px -40px rgba(11,20,36,.8)}
.e-accueil::after{content:"";position:absolute;z-index:-1;right:-50px;bottom:-70px;width:280px;height:280px;background:url(/img/logo-x.svg) no-repeat center/contain;opacity:.06}
[data-theme="sombre"] .e-accueil{box-shadow:inset 0 0 0 1px rgba(230,207,166,.12)}
.e-accueil-haut{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 16px}
.e-accueil small{display:flex;align-items:center;gap:10px;color:var(--or-clair);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.e-accueil small::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.e-accueil h1{margin-top:8px;font:440 clamp(32px,7.4vw,50px)/1.05 var(--titre);letter-spacing:-.02em}
.e-accueil h1 em{font-style:normal;color:var(--or-clair)}
.e-accueil-actions{display:flex;gap:8px;align-items:center}
.e-accueil .e-plus>button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.26);color:#fff}
.e-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
.e-kpi{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;border-radius:5px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;transition:background-color .2s,transform .25s var(--doux)}
a.e-kpi:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.e-kpi b{font:300 34px/1 var(--titre);color:var(--or-clair);font-variant-numeric:lining-nums tabular-nums}
.e-kpi span{font-size:13px;color:rgba(255,255,255,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e-kpi--alerte b{color:#F2B8A3}
.e-kpi--calme b{color:rgba(255,255,255,.55)}

/* Mise en service (super admin) */
.e-etape>p{color:var(--t2);max-width:62em;margin:6px 0 10px}
.e-etape-t{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.e-etape-t>div{flex:1;min-width:0}
.e-etape-t h2{font:400 21px/1.2 var(--titre)}
.e-etape-t small{display:block;color:var(--t2);font-size:13.5px}
.e-etape-n{flex:none;width:42px;height:42px;border-radius:3px;display:grid;place-items:center;background:var(--nav);color:var(--or-clair);font:400 16px var(--titre)}
.e-etape.fait .e-etape-n{background:var(--ok-f);color:var(--ok)}
.e-etape.fait{opacity:.86}
.e-evts{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.e-evts code{font-size:12px}

/* Fiche véhicule : chiffres de location et de vente */
.indic.indic--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:4px 0 12px}
.indic.indic--compact>div{box-shadow:none;background:var(--s2);padding:10px 12px;border-radius:4px}
.indic.indic--compact b{font-size:18px}
@media (min-width:640px){.indic.indic--compact{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}}

/* Profil : validation en deux étapes */
.e-2fa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:14px;padding:14px 16px;border-radius:5px;background:var(--s2);border:1px solid var(--l)}
.e-2fa b{display:block;font-weight:600}
.e-2fa .e-sous{font-size:14px;max-width:44em}
.secret{font:600 18px/1.5 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;padding:12px;border:1px dashed var(--l2);border-radius:4px;text-align:center;word-break:break-all;background:var(--s2)}

/* Espace client : la conciergerie qui gère le parc */
.e-cg{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin-bottom:16px;border-radius:6px;background:var(--s);border:1px solid var(--l);box-shadow:var(--carte)}
.e-cg-id{display:flex;align-items:center;gap:14px;min-width:0}
.e-cg-id small{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cu)}
.e-cg-id b{display:block;font:400 22px/1.2 var(--titre);letter-spacing:-.01em}
.e-cg-id>div>span{display:block;font-size:14px;color:var(--t2)}
.e-cg-x{flex:none;width:52px;height:52px;border-radius:5px;display:grid;place-items:center;background:var(--nav);color:var(--or-clair);font:400 24px var(--titre)}
.e-cg-logo{flex:none;max-width:110px;max-height:52px;object-fit:contain}
.e-cg-actions{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Panneaux de contenu ---------- */
.e-panneau{background:var(--s);border:1px solid var(--l);border-radius:6px;padding:16px 16px 14px;margin-bottom:14px;box-shadow:var(--carte)}
.e-panneau-t{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;min-height:34px}
.e-panneau-t h2{font:400 21px/1.2 var(--titre);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.e-panneau-t h2 small{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:4px;background:var(--fd);color:var(--cu);font:700 12.5px var(--police);margin-left:2px}
.e-s-t{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 12px}
.e-s-t h2{font:400 24px/1.2 var(--titre);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.e-s-t h2 small{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:4px;background:var(--fd);color:var(--cu);font:700 12.5px var(--police)}
.e-s-t+.v-liste{margin-bottom:18px}
.e-colonnes{display:grid;grid-template-columns:minmax(0,1fr);gap:0 14px}
.e-pile{display:grid;align-content:start}
.e-liste{display:grid}
.e-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:58px;width:100%;padding:10px 6px;border:0;border-top:1px solid var(--l);background:none;color:var(--t);font:inherit;text-align:left;text-decoration:none;cursor:pointer;border-radius:0;transition:background-color .15s}
.e-liste>.e-ligne:first-child{border-top:0}
button.e-ligne:hover,a.e-ligne:hover{background:var(--s2);border-radius:4px}
button.e-ligne:hover+.e-ligne,a.e-ligne:hover+.e-ligne{border-top-color:transparent}
.e-ligne>span:not(.etat):not(.e-heure):not(.e-avatar):not(.e-montant):not(.vignette):not(.tk-ic){flex:1 1 140px;min-width:0}
.e-ligne b{display:block;font-weight:600}
.e-ligne small{display:block;color:var(--t2);font-size:14px}
.e-ligne>.ic{color:var(--l2);width:18px}
.e-ligne:hover>.ic{color:var(--cu)}
.e-ligne--v .vignette{width:60px;height:46px;border-radius:3px}
.e-ligne--doc a{flex:1;min-width:0}
.e-ligne--doc>.ic{color:var(--cu)}
.e-heure{flex:none;width:64px;font-size:14px;font-weight:600;color:var(--cu);font-variant-numeric:tabular-nums;line-height:1.3}
.e-heure.retard,.retard{color:var(--al)}
.e-montant{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.e-avatar{flex:none;width:40px;height:40px;border-radius:3px;display:grid;place-items:center;background:var(--nav);color:var(--or-clair);font:500 15px var(--titre)}
.e-plus-lien{display:flex;align-items:center;gap:6px;min-height:44px;font-weight:600;text-decoration:none;padding-top:4px;color:var(--vt)}
.e-plus-lien::after{content:"→";color:var(--cu)}
.e-vide{padding:24px 8px;text-align:center;color:var(--t2);display:grid;gap:12px;justify-items:center}
.e-vide p{max-width:30em}
.e-vide-court{color:var(--t2);padding:8px 4px}
.e-etapes{margin:0;padding:0;list-style:none;counter-reset:etape;display:grid;gap:10px}
.e-etapes li{counter-increment:etape;display:flex;align-items:center;gap:12px}
.e-etapes li::before{content:counter(etape,decimal-leading-zero);flex:none;width:36px;height:36px;border-radius:3px;display:grid;place-items:center;background:var(--nav);color:var(--or-clair);font:400 14px var(--titre)}
.e-etapes a{font-weight:600}
.e-etapes small{display:block;color:var(--t2)}
.e-actions-l{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
/* un libellé long passe à la ligne plutôt que de dépasser de l'écran */
.e-actions-l .e-btn,.e-form-p .e-btn{max-width:100%;white-space:normal;text-align:center}
.e-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--ok);background:var(--ok-f);border-radius:6px;padding:2px 8px}

/* États (pastilles) */
.etat{display:inline-flex;align-items:center;gap:6px;flex:none;max-width:100%;font-size:12.5px;font-weight:600;line-height:1.25;padding:4px 10px;border-radius:6px;background:var(--ne-f);color:var(--t2);white-space:normal;text-align:left}
.etat::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.etat--ok{background:var(--ok-f);color:var(--ok)}
.etat--attention{background:var(--at-f);color:var(--at)}
.etat--alerte{background:var(--al-f);color:var(--al)}
.etat--cuivre{background:var(--at-f);color:var(--cu)}

/* Carburant par tranche, avec libellé */
.jauge{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--t2)}
.jauge i{display:inline-grid;grid-template-columns:repeat(4,8px);gap:2px}
.jauge u{display:block;height:12px;border-radius:2px;background:var(--l)}
.jauge u.on{background:var(--or)}
.jauge--bas u.on{background:var(--al)}
.vignette{flex:none;width:56px;height:56px;border-radius:4px;object-fit:cover;background:var(--fd)}
.vignette--vide{display:grid;place-items:center;color:var(--t2)}

/* ---------- Véhicules : cartes centrées sur la photo ---------- */
.e-outils{display:flex;gap:8px;margin-bottom:10px}
.e-recherche{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border:1px solid var(--l2);border-radius:3px;background:var(--s);color:var(--t2)}
.e-recherche input{flex:1;min-width:0;border:0;background:none;color:var(--t);font:400 16px var(--police);outline:none;height:46px}
.e-recherche:focus-within{border-color:var(--vt);box-shadow:0 0 0 4px rgba(110,140,170,.2)}
.e-puces{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.e-puce{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;border:1px solid var(--l2);border-radius:6px;background:var(--s);color:var(--t);font:500 14px var(--police);cursor:pointer}
.e-puce.on,.e-puce[data-retirer]{background:var(--nav);border-color:var(--nav);color:var(--or-clair)}
.e-puce .ic{width:14px;height:14px}
.e-compte{font-size:14px;color:var(--t2)}
.v-liste{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.v-liste>li:only-child:not(.vc){grid-column:1/-1}
.vc{display:flex;flex-direction:column;background:var(--s);border:1px solid var(--l);border-radius:6px;overflow:hidden;box-shadow:var(--carte)}
.vc-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;isolation:isolate;color:#fff;text-decoration:none;background:radial-gradient(90% 120% at 100% 0%,rgba(110,140,170,.28),transparent 55%),linear-gradient(140deg,#1C3352,#0B1424 75%)}
.vc-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--doux)}
.vc-media:hover>img{transform:scale(1.035)}
.vc-media::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,13,21,.86) 0%,rgba(10,13,21,.2) 52%,rgba(10,13,21,0) 75%)}
.vc-vide{position:absolute;inset:0;z-index:-1;display:grid;place-items:center;color:rgba(230,207,166,.45)}
.vc-vide .ic{width:54px;height:54px;stroke-width:1}
.vc-media .etat{position:absolute;top:12px;left:12px;background:rgba(10,13,21,.55);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.vc-media .etat--ok::before{background:#8FC1F0}
.vc-media .etat--attention::before,.vc-media .etat--cuivre::before{background:#E6CFA6}
.vc-media .etat--alerte::before{background:#F2A58E}
.vc-media .etat--neutre::before{background:rgba(255,255,255,.7)}
.vc-nom{position:absolute;left:16px;right:16px;bottom:13px}
.vc-nom b{display:block;font:400 clamp(21px,5.4vw,25px)/1.12 var(--titre);letter-spacing:-.01em}
.vc-nom small{display:block;margin-top:3px;font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.78)}
.vc-corps{display:grid;gap:8px;padding:12px 16px 14px}
.vc-l{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;font-size:15px}
.vc-km{font-weight:600;font-variant-numeric:tabular-nums}
.vc-l+.vc-l{padding-top:8px;border-top:1px solid var(--l)}
.v-plus{margin-top:-2px}
.v-plus summary{display:inline-flex;align-items:center;min-height:40px;color:var(--vt);font-weight:600;font-size:14px;cursor:pointer;list-style:none}
.v-plus summary::-webkit-details-marker{display:none}
.v-plus summary::after{content:"";width:7px;height:7px;margin-left:8px;border-right:2px solid var(--cu);border-bottom:2px solid var(--cu);transform:rotate(45deg) translateY(-3px)}
.v-plus[open] summary::after{transform:rotate(-135deg)}
/* Liste du parc : photo, propriétaire, kilométrage, démarrage, carburant, échéance, statut */
.vt{position:relative;background:var(--s);border:1px solid var(--l);border-radius:6px;box-shadow:var(--carte);overflow:hidden}
.vt>.e-vide{padding:32px 12px}
.vt-tete{display:none}
.vt-ligne{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"photo nom statut" "photo infos act";gap:6px 12px;align-items:center;padding:12px 14px;border-top:1px solid var(--l);transition:background-color .15s}
.vt-ligne:first-child,.vt-tete+.vt-ligne{border-top:0}
.vt-ligne:hover{background:var(--s2)}
.vt-photo{grid-area:photo;align-self:start;width:76px;height:58px;border-radius:4px;object-fit:cover;background:var(--fd)}
.vt-photo--vide{display:grid;place-items:center;color:var(--t2);background:radial-gradient(90% 120% at 100% 0%,rgba(110,140,170,.25),transparent 55%),linear-gradient(140deg,#1C3352,#0B1424 75%)}
.vt-photo--vide .ic{color:rgba(230,207,166,.6)}
.vt-nom{grid-area:nom;min-width:0}
.vt-nom a{color:var(--t);text-decoration:none}
.vt-nom a::after{content:"";position:absolute;inset:0;z-index:0}
.vt-nom b{display:block;font:400 18px/1.2 var(--titre);letter-spacing:-.005em}
.vt-nom small{display:block;color:var(--t2);font-size:13px;margin-top:1px}
.vt-statut{grid-area:statut;justify-self:end}
.vt-infos{grid-area:infos;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:14px;color:var(--t2);min-width:0}
.vt-infos>span{display:inline-flex;align-items:center;gap:5px;min-width:0}
.vt-infos .ic{width:15px;height:15px;color:var(--cu);flex:none}
.vt-infos i{font-style:normal;color:var(--t2)}
.vt-km{font-variant-numeric:tabular-nums;color:var(--t);font-weight:600}
.vt-act{grid-area:act;position:relative;z-index:1;justify-self:end}
.vt-act .e-btn{width:38px;min-height:38px}
.vt-tri{border:0;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.vt-tri:hover{color:var(--t)}
.vt-tri.on{color:var(--cu)}
.vt-tri.on::after{content:" ↓"}
/* Anciennes lignes (compatibilité) */
.v-ligne{display:block;background:var(--s);border:1px solid var(--l);border-radius:6px;padding:12px;color:var(--t);text-decoration:none}
.v-tete{display:flex;align-items:center;gap:12px;color:var(--t);text-decoration:none;min-height:56px}
.v-id{flex:1;min-width:0}
.v-id b{display:block;font-size:17px;line-height:1.25}
.v-id small{display:block;color:var(--t2);font-size:14px}
.v-l2,.v-l3{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:8px;font-size:15px}

/* ---------- Fiche véhicule : couverture en surimpression, tuiles de caractéristiques ---------- */
.fh{position:relative;overflow:hidden;isolation:isolate;border-radius:8px;aspect-ratio:4/3;max-height:480px;width:100%;color:#fff;background:radial-gradient(90% 120% at 100% 0%,rgba(110,140,170,.3),transparent 55%),linear-gradient(140deg,#1C3352,#0B1424 75%);box-shadow:0 30px 60px -42px rgba(11,20,36,.8)}
.fh>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fh::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(10,13,21,.88) 0%,rgba(10,13,21,.25) 48%,rgba(10,13,21,.05) 72%)}
.fh-txt{position:absolute;left:18px;right:18px;bottom:16px;pointer-events:none}
.fh-txt .etat{background:rgba(10,13,21,.5);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.fh-txt .etat--ok::before{background:#8FC1F0}
.fh-txt .etat--attention::before,.fh-txt .etat--cuivre::before{background:#E6CFA6}
.fh-txt .etat--alerte::before{background:#F2A58E}
.fh-txt h1{margin-top:10px;font:440 clamp(30px,6.2vw,48px)/1.05 var(--titre);letter-spacing:-.02em}
.fh-txt p{margin-top:6px;color:rgba(255,255,255,.8);font-size:15px}
.fh .envoi{position:absolute;inset:0 0 38% 0;display:grid;justify-items:center;align-content:center;gap:8px;color:var(--or-clair);font-weight:600}
.fh .envoi .ic{width:34px;height:34px;stroke-width:1.2}
.fh-vide{position:absolute;inset:0 0 38% 0;display:grid;place-items:center;color:rgba(230,207,166,.4)}
.fh-vide .ic{width:60px;height:60px;stroke-width:1}
.fh-barre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.fh-barre .e-sous{font-size:15px}
.fh-barre .e-h-actions{margin-left:auto}
/* Ancienne présentation (compatibilité) */
.fiche-tete{display:grid;gap:14px;margin-bottom:14px}
.couverture{aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--fd);display:grid;place-items:center}
.couverture img{width:100%;height:100%;object-fit:cover}
.fiche-id h1{font:300 clamp(30px,6vw,44px)/1.1 var(--titre);margin-top:8px}
.fiche-id .e-sous{margin:4px 0 12px}
.envoi{position:relative;cursor:pointer}
.envoi input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.couverture .envoi{display:grid;justify-items:center;gap:6px;padding:24px;color:var(--t2);width:100%;height:100%;place-content:center}
.indic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.indic>div{position:relative;background:var(--s);border:1px solid var(--l);border-radius:6px;padding:12px 14px;min-width:0;box-shadow:var(--carte)}
.indic small{display:block;color:var(--t2);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.indic>div:has(>.ic)>small:first-of-type{padding-right:24px}
.indic b{display:block;margin-top:4px;font:400 19px/1.2 var(--titre);font-variant-numeric:lining-nums tabular-nums}
.indic>div>small+b+small{text-transform:none;letter-spacing:0;font-weight:400;font-size:13px;margin-top:2px}
.indic .ic{position:absolute;top:12px;right:12px;width:18px;height:18px;color:var(--cu)}
.histo{list-style:none;margin:0;padding:0;display:grid}
.histo li{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px 0 10px;border-top:1px solid var(--l)}
.histo li:first-child{border-top:0}
.histo time{font-size:13px;color:var(--t2);line-height:1.35}
.histo small{display:block;color:var(--t2);font-size:14px}
.e-dl{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.e-dl dt{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);padding-top:10px}
.e-dl dd{margin:0;padding-bottom:8px;border-bottom:1px solid var(--l)}
.e-dl--2{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);column-gap:12px}
.e-dl--2 dt,.e-dl--2 dd{padding:10px 0;border-bottom:1px solid var(--l)}
.e-dl--2 dd{font-weight:600}
.e-totaux{margin-top:10px;grid-template-columns:1fr auto;column-gap:16px}
.e-totaux dt,.e-totaux dd{padding:6px 0;border:0;text-align:right;text-transform:none;letter-spacing:0;font-size:15px}
.album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.album figure{position:relative;border-radius:4px;overflow:hidden;background:var(--fd)}
.album img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s var(--doux)}
.album figure:hover img{transform:scale(1.04)}
.album figcaption{position:absolute;inset:auto 6px 6px 6px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.album figcaption small{background:rgba(0,0,0,.55);color:#fff;border-radius:3px;padding:2px 6px;font-size:12px}
.album .e-plus>button{background:rgba(255,255,255,.92);color:#121722;border-color:transparent}
.signature{max-width:260px;background:#fff;border:1px solid var(--l);border-radius:3px;margin-top:8px}

/* Segments (Jour/Semaine/Mois, filtres d'état) */
.e-segment{display:flex;gap:4px;padding:4px;margin-bottom:14px;background:var(--s2);border:1px solid var(--l);border-radius:3px}
.e-segment a,.e-segment button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:4px 12px;border:0;border-radius:3px;background:none;color:var(--t2);font:600 14px var(--police);text-decoration:none;cursor:pointer;text-align:center;transition:background-color .2s,color .2s}
.e-segment [aria-current="true"],.e-segment [aria-pressed="true"]{background:var(--nav);color:var(--or-clair);box-shadow:0 6px 14px -8px rgba(11,20,36,.6)}
.e-segment b{font-size:12px;color:var(--cu)}
.e-segment [aria-current="true"] b,.e-segment [aria-pressed="true"] b{color:var(--or-clair)}
.e-segment--defile{flex-wrap:wrap;border-radius:6px}
/* petits téléphones : les onglets passent à la ligne plutôt que de déborder (jamais de défilement de côté) */
@media (max-width:479px){.e-segment{flex-wrap:wrap}.e-segment a,.e-segment button{flex:1 1 auto;padding:4px 10px}}
.e-segment--defile a,.e-segment--defile button{flex:1 1 auto}
.e-bascule{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:10px;cursor:pointer}
.e-bascule input{width:22px;height:22px;accent-color:var(--v);flex:none}

/* Planning */
.p-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.p-date{position:relative;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--l2);border-radius:3px;background:var(--s);font-weight:600;padding:0 12px;text-align:center}
.p-date span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-date input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.e-lien-jour{border:0;background:none;padding:0;font:400 20px var(--titre);color:var(--t);cursor:pointer;min-height:32px;text-align:left}
.e-ligne.fait b{text-decoration:line-through;color:var(--t2)}
.p-location .e-heure{color:var(--ok)}
.mois{background:var(--s);border:1px solid var(--l);border-radius:6px;padding:12px;box-shadow:var(--carte)}
.mois-t,.mois-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mois-t span{text-align:center;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);padding:4px 0}
.mois-g button{position:relative;aspect-ratio:1;min-height:40px;border:0;border-radius:4px;background:var(--s2);color:var(--t);font:500 15px var(--police);cursor:pointer;display:grid;place-items:center;padding:0;transition:background-color .15s}
.mois-g button:hover{background:var(--fd)}
.mois-g button.auj{background:var(--nav);color:var(--or-clair)}
.mois-g button.occupe{background:var(--fd);font-weight:700}
.mois-g button.auj.occupe{background:var(--nav)}
.mois-g button i{position:absolute;bottom:3px;font-style:normal;font-size:10.5px;color:var(--cu);font-weight:700}

/* Demandes */
.demande{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.demande-t{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 10px}
.demande-t b{font:400 20px/1.25 var(--titre)}

/* Échanges */
.messagerie{display:grid;gap:12px}
.fils{display:grid;grid-template-columns:minmax(0,1fr);background:var(--s);border:1px solid var(--l);border-radius:6px;overflow:hidden;box-shadow:var(--carte)}
.fils a{display:block;padding:12px 16px;border-top:1px solid var(--l);color:var(--t);text-decoration:none;min-height:58px}
.fils a:first-child{border-top:0}
.fils a:hover{background:var(--s2)}
.fils a[aria-current="true"]{background:var(--fd);box-shadow:inset 3px 0 0 var(--or)}
.fils b{display:block}
.fils small{display:block;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.point{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--or);vertical-align:middle}
.messagerie.a-fil .fils{display:none}
.fil{background:var(--s);border:1px solid var(--l);border-radius:6px;display:flex;flex-direction:column;min-height:50svh;box-shadow:var(--carte)}
.fil-t{padding:14px 16px;border-bottom:1px solid var(--l);font:400 19px var(--titre)}
.fil-msgs{flex:1;padding:16px;display:flex;flex-direction:column;gap:10px;background:radial-gradient(120% 80% at 100% 0%,rgba(110,140,170,.07),transparent 60%)}
.bulle{max-width:86%;align-self:flex-start;background:var(--s2);border:1px solid var(--l);border-radius:6px 6px 6px 3px;padding:10px 13px}
.bulle.moi{align-self:flex-end;background:var(--nav);color:#fff;border-color:var(--nav);border-radius:6px 6px 3px 6px}
.bulle small{display:block;margin-top:4px;font-size:12px;color:var(--t2)}
.bulle.moi small{color:rgba(230,207,166,.75)}
.fil-form{position:sticky;bottom:calc(var(--barre) + 10px + env(safe-area-inset-bottom));display:flex;gap:8px;padding:10px;border-top:1px solid var(--l);background:var(--s);border-radius:0 0 6px 6px}
.fil-form textarea{flex:1;min-width:0;min-height:46px;max-height:140px;resize:vertical;border:1px solid var(--l2);border-radius:6px;padding:11px 14px;font:400 16px var(--police);background:var(--s);color:var(--t)}
.fil-form textarea:focus{outline:none;border-color:var(--vt);box-shadow:0 0 0 4px rgba(110,140,170,.2)}

/* ---------- Panneaux d'action : bas d'écran (téléphone), plein écran pour les formulaires longs ---------- */
.e-fond{position:fixed;inset:0;z-index:90;background:rgba(5,10,20,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}
.e-panneau-m{width:100%;max-height:92svh;display:flex;flex-direction:column;background:var(--s);color:var(--t);border-radius:6px 6px 0 0;box-shadow:var(--ombre);animation:monte .25s var(--doux);margin:0;overflow:hidden}
.e-panneau-m--grand{max-height:none;height:100%;border-radius:0}
.e-pm-t{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:max(12px,env(safe-area-inset-top)) 10px 10px 18px;border-bottom:1px solid var(--l);flex:none}
.e-pm-t h2{font:400 22px/1.2 var(--titre);letter-spacing:-.01em;min-width:0}
.e-pm-c{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px}
.e-pm-p{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--l);background:var(--s)}
.e-pm-p .e-btn{flex:1 1 auto}
.e-pm-p .e-btn[type="submit"]{flex:2 1 auto}
.e-form{display:grid;gap:16px}
.e-form-t{font:400 20px var(--titre);margin-top:10px}
.e-form-p{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.e-champ{display:grid;gap:6px;min-width:0}
.e-champ label,.e-champ .lbl{font-size:14.5px;font-weight:600}
.e-champ input:not([type=checkbox]):not([type=radio]):not([type=file]),.e-champ select,.e-champ textarea{width:100%;min-height:50px;padding:11px 14px;border:1px solid var(--l2);border-radius:4px;background:var(--f);color:var(--t);font:400 16px/1.35 var(--police);transition:border-color .2s,box-shadow .2s,background-color .2s}
.e-champ input[type=color]{padding:4px;height:50px}
.e-champ textarea{resize:vertical;min-height:96px}
.e-champ input:focus,.e-champ select:focus,.e-champ textarea:focus{outline:none;border-color:var(--vt);background:var(--s);box-shadow:0 0 0 4px rgba(110,140,170,.2)}
.e-champ .aide{font-size:14px;color:var(--t2)}
.e-champ.erreur input,.e-champ.erreur select,.e-champ.erreur textarea{border-color:var(--al)}
.e-champ .err{font-size:14px;color:var(--al);font-weight:500}
.e-unite{display:flex;align-items:center;border:1px solid var(--l2);border-radius:4px;background:var(--f)}
.e-champ .e-unite input{border:0!important;box-shadow:none!important;background:transparent!important}
.e-unite span{padding:0 14px;color:var(--t2)}
.e-unite:focus-within{border-color:var(--vt);box-shadow:0 0 0 4px rgba(110,140,170,.2)}
.choix{display:flex;flex-wrap:wrap;gap:8px}
.choix label{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 14px;border:1px solid var(--l2);border-radius:4px;background:var(--s);cursor:pointer;font-weight:500;font-size:15px;transition:border-color .2s,background-color .2s}
.choix input{width:20px;height:20px;accent-color:var(--v);margin:0;flex:none}
.choix label:has(input:checked){border-color:var(--vt);background:var(--ok-f);box-shadow:inset 0 0 0 1px var(--vt)}

.choix--col{display:grid}
.choix--col label{align-items:flex-start}
.choix--col small{display:block;color:var(--t2);font-weight:400}
.choix--compact label{padding:6px 10px;min-height:40px;font-size:14px}
.e-message{padding:10px 14px;border-radius:4px;background:var(--al-f);color:var(--al);font-size:15px}
.e-rappel{padding:12px 14px;border-radius:4px;background:var(--s2)}
.e-details{border:1px solid var(--l);border-radius:5px;padding:0 14px}
.e-details summary{min-height:50px;display:flex;align-items:center;font-weight:600;cursor:pointer}
.e-details[open]{padding-bottom:14px;display:grid;gap:14px}
.e-avantages{margin:6px 0 0;padding-left:20px;display:grid;gap:6px}
.e-avantages li::marker{color:var(--or)}
.e-prix{font:300 34px var(--titre);color:var(--vt)}
.e-prix small{font:400 14px var(--police);color:var(--t2)}

/* Constat */
.constat{display:grid;gap:10px}
.constat-l{border:1px solid var(--l);border-radius:5px;padding:8px 12px 12px;margin:0;display:grid;gap:8px;min-width:0}
.constat-l legend{font-weight:600;padding:0 4px}
.constat-note{min-height:40px!important}
.signature-zone{width:100%;height:auto;aspect-ratio:3/1;background:#fff;border:1px dashed var(--l2);border-radius:4px;touch-action:none}

/* Factures */
.f-ligne{border:1px solid var(--l);border-radius:5px;padding:10px 12px;margin:0 0 8px;display:grid;gap:8px;min-width:0}
.f-ligne legend{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);padding:0 4px}
.f-ligne input{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--l2);border-radius:4px;background:var(--f);color:var(--t);font:400 16px var(--police)}
.f-ligne-n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.f-ligne-n label{font-size:13px;font-weight:600;color:var(--t2);display:grid;gap:4px}
.f-total{padding:12px 14px;border-radius:4px;background:var(--s2)}

/* Abonnement */
.abo-base{padding:14px 16px;border-radius:6px;margin-bottom:10px;color:#fff;background:radial-gradient(120% 140% at 100% 0%,rgba(110,140,170,.3),transparent 55%),linear-gradient(140deg,#1C3352,#0B1424 72%)}
.abo-base small{color:rgba(255,255,255,.7)}
.abo-base b{color:var(--or-clair)}
.abo-total{font-size:17px;padding:10px 0}
.abo-total small{color:var(--t2);font-size:14px}
.e-consent{align-items:flex-start;padding:10px 12px;border:1px solid var(--l2);border-radius:4px}
.e-consent input{margin-top:2px}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font:600 16px/1.6 ui-monospace,Menlo,Consolas,monospace;padding:12px;border:1px dashed var(--l2);border-radius:4px;text-align:center}

/* Personnalisation */
.logo-zone{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.logo-zone img{max-height:48px;max-width:160px;object-fit:contain}
.apercu-perso{border:1px solid var(--l);border-radius:6px;overflow:hidden;background:#FAF8F3;color:#121722}
.ap-tete{padding:12px 14px;border-bottom:1px solid #E6DFD2;min-height:58px;display:flex;align-items:center}
.ap-tete img{max-height:36px;max-width:150px}
.ap-corps{padding:18px;display:grid;gap:12px;justify-items:start}
.ap-accroche{font:300 24px/1.2 var(--titre)}
.ap-btn{display:inline-block;padding:10px 18px;border-radius:3px;color:#fff;font-weight:600}
.ap-lien{font-weight:600}

/* Super admin : chiffres clés */
.e-chiffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
.e-chiffres>*{position:relative;overflow:hidden;border-radius:6px;padding:14px 16px;text-decoration:none;color:#fff;background:radial-gradient(120% 140% at 100% 0%,rgba(110,140,170,.26),transparent 55%),linear-gradient(140deg,#1C3352,#0B1424 75%);transition:transform .25s var(--doux)}
a.e-chiffres>*:hover,.e-chiffres>a:hover{transform:translateY(-2px)}
.e-chiffres b{display:block;font:300 32px/1.1 var(--titre);color:var(--or-clair);font-variant-numeric:lining-nums tabular-nums}
.e-chiffres span{color:rgba(255,255,255,.72);font-size:13.5px}
.e-coches{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.e-coches li{display:flex;gap:8px;align-items:flex-start;color:var(--t2)}
.e-coches li.fait{color:var(--t)}
.e-coches li .ic{color:var(--al)}
.e-coches li.fait .ic{color:var(--ok)}
.e-message-lu{margin-top:12px;padding:12px 14px;border-radius:4px;background:var(--s2);white-space:normal}
code{font:500 13px ui-monospace,Menlo,Consolas,monospace;background:var(--s2);padding:2px 5px;border-radius:3px;word-break:break-all}

/* Toast : au-dessus de la barre basse, sans masquer l'action principale */
.e-toast{position:fixed;left:50%;bottom:calc(var(--barre) + 16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:120;max-width:min(520px,calc(100vw - 24px));padding:12px 18px;border-radius:3px;background:#0B1424;color:#fff;box-shadow:0 20px 40px -14px rgba(0,0,0,.55),inset 0 0 0 1px rgba(230,207,166,.2);font-weight:500;animation:monte .25s var(--doux)}
.e-toast.erreur{background:#7E2E1E}

/* ---------- Tablette ---------- */
@media (min-width:640px){
  .album{grid-template-columns:repeat(3,minmax(0,1fr))}
  .indic{grid-template-columns:repeat(4,minmax(0,1fr))}
  .e-chiffres{grid-template-columns:repeat(4,minmax(0,1fr))}
  .e-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .e-accueil{padding:28px 28px 24px}
  .v-liste{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fh{aspect-ratio:16/8}
  .fh-txt{left:28px;right:28px;bottom:24px}
  .e-fond{align-items:center;padding:24px}
  .e-panneau-m,.e-panneau-m--grand{width:min(620px,100%);height:auto;max-height:min(88vh,900px);border-radius:6px}
  .e-panneau-m--grand{width:min(720px,100%)}
  .e-pm-p .e-btn{flex:0 0 auto}
  .e-pm-p .e-btn[type="submit"]{flex:0 0 auto}
  .fiche-tete{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
  .e-dl{grid-template-columns:minmax(0,180px) minmax(0,1fr);column-gap:16px}
  .e-dl dt,.e-dl dd{padding:10px 0;border-bottom:1px solid var(--l)}
  .e-panneau{padding:20px 20px 16px}
}

/* ---------- Ordinateur : barre latérale bleu nuit, onglet actif découpé ---------- */
@media (min-width:980px){
  :root{--barre:0px;--tete:68px}
  .e-tete{background:color-mix(in srgb,var(--f) 88%,transparent);color:var(--t);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--l);padding-inline:28px 24px}
  .e-tete .e-org{font:400 20px var(--titre);letter-spacing:-.01em}
  .e-tete .e-org-logo{background:none;padding:0}
  .e-burger:hover{background:var(--s2)}
  .e-tete .e-btn--txt{color:var(--t2)}
  .e-tete .e-btn--txt:hover{background:var(--s2);color:var(--t)}
  /* tiroir ouvert : la page reste visible ; onglet actif découpé dans la page */
  body.nav-ouverte .e-nav-fond{background:rgba(5,10,20,.08)}
  .e-nav{width:288px;padding-left:16px}
  .e-nav a[aria-current="page"]{margin-right:0;border-radius:5px 0 0 5px;background:var(--f);color:var(--t)}
  .e-nav a[aria-current="page"] .ic{color:var(--cu)}
  .e-nav a[aria-current="page"]::before,.e-nav a[aria-current="page"]::after{content:"";position:absolute;right:0;width:18px;height:18px;pointer-events:none}
  .e-nav a[aria-current="page"]::before{top:-18px;background:radial-gradient(circle at 0 0,transparent 17.5px,var(--f) 18px)}
  .e-nav a[aria-current="page"]::after{bottom:-18px;background:radial-gradient(circle at 0 100%,transparent 17.5px,var(--f) 18px)}
  .e-nav a[aria-current="page"] small{color:var(--t2)}
  .e-nav-pied{margin-top:16px}
  .e-principal{padding:0 clamp(24px,3vw,48px) 56px}
  /* liste du parc en tableau */
  .vt-tete,.vt-ligne{display:grid;grid-template-columns:64px minmax(150px,2fr) minmax(0,1.2fr) minmax(86px,.9fr) minmax(0,1.2fr) 104px minmax(0,1.4fr) minmax(0,1fr) 40px;grid-template-areas:none;gap:12px;align-items:center;padding:10px 16px}
  .vt-tete{border-bottom:1px solid var(--l);background:var(--s2);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);padding-block:12px}
  .vt-photo{grid-area:auto;align-self:center;width:64px;height:48px}
  .vt-nom,.vt-statut,.vt-act{grid-area:auto}
  .vt-infos{display:contents}
  .vt-infos>span{font-size:14.5px}
  .vt-infos .ic{display:none}
  .vt-statut{justify-self:start}
  .e-vue{padding-top:8px}
  .e-barre,.e-feuille{display:none!important}
  .e-colonnes{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .messagerie{grid-template-columns:300px minmax(0,1fr);align-items:start}
  .messagerie.a-fil .fils{display:grid}
  .fil{min-height:60vh}
  .fil-form{bottom:0}
  .e-toast{bottom:28px}
  .fh{aspect-ratio:auto;height:clamp(320px,38vw,460px)}
  .fh-txt{left:36px;right:36px;bottom:30px}
}
@media (min-width:1240px){
  .v-liste{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- Démonstration : invitation ciblée à essayer avec son parc ---------- */
.e-incite{position:fixed;inset:0;z-index:400;display:grid;place-items:end center;padding:16px;background:rgba(10,13,21,.45);animation:e-incite-fond .2s ease}
.e-incite-carte{position:relative;width:min(440px,100%);padding:26px 24px 20px;background:var(--nav);color:#fff;border-radius:3px;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);animation:e-incite-in .35s var(--doux)}
.e-incite-sur{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#CBB792}
.e-incite-carte h2{margin-top:10px;font:400 26px/1.15 var(--titre);color:#fff;padding-right:28px}
.e-incite-carte p:not(.e-incite-sur):not(.e-incite-mention){margin-top:10px;font-size:15.5px;line-height:1.55;color:rgba(214,224,236,.82)}
.e-incite-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:20px}
.e-incite-actions .e-btn:not(.e-btn--txt){background:#F2F1EE;border-color:#F2F1EE;color:var(--nav)!important;text-decoration:none}
.e-incite-actions .e-btn--txt{color:rgba(255,255,255,.8)}
.e-incite-mention{margin-top:12px;font-size:12.5px;color:rgba(214,224,236,.6)}
.e-incite-x{position:absolute;top:10px;right:10px;width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:rgba(255,255,255,.75);cursor:pointer}
.e-incite-x .ic{width:18px;height:18px}
@media (min-width:700px){.e-incite{place-items:center}}
@keyframes e-incite-fond{from{opacity:0}}
@keyframes e-incite-in{from{opacity:0;transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce){.e-incite,.e-incite-carte{animation:none}}
/* Abonnement : périodicité et code promo */
.choix--periode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choix--periode label{align-items:flex-start}
.choix--periode small{display:block;font-size:13px;color:var(--t2);font-weight:400}
.abo-code{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:6px 0 4px}
.abo-code .e-champ{flex:1 1 220px;margin:0}
.e-code{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em}

.e-champs2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0 12px}
.e-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
/* univers actif, à côté du nom dans le menu */
/* Collexion Estates : liste des propriétés (cartes lisibles au pouce, sans défilement de côté) */
.e-liste-biens{display:grid;gap:10px}
.bien{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:10px 12px;background:var(--s);border:1px solid var(--l);border-radius:6px;box-shadow:var(--carte);color:var(--t);text-decoration:none;transition:border-color .15s,transform .15s}
.bien:hover{border-color:var(--cu,#9A6B3F)}
.bien .vignette{width:64px;height:64px}
.bien-txt{display:grid;gap:3px;min-width:0}
.bien-txt b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bien-txt small{display:flex;align-items:center;gap:5px;color:var(--t2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bien-txt small .ic{width:14px;height:14px;flex:none}
.bien-etat{display:grid;justify-items:end;gap:6px}
@media (max-width:560px){.bien{grid-template-columns:56px minmax(0,1fr)}.bien .vignette{width:56px;height:56px}.bien-etat{grid-column:1/-1;justify-items:start;grid-auto-flow:column;justify-content:start}}
@media (prefers-reduced-motion:reduce){.bien{transition:none}}
.a-univers{font-style:normal;font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cu,#9A6B3F);margin-left:.6em;vertical-align:.1em}
.e-univers{font-style:normal;font-weight:600;font-size:.62em;letter-spacing:.18em;text-transform:uppercase;color:var(--or-doux,#C8A96A);margin-left:.5em;vertical-align:.2em}

/* ---------- Indicateurs d'actions à mener : tuiles cliquables qui filtrent la liste ---------- */
/* indicateurs : tous visibles sans défilement de côté (2 colonnes au téléphone, 3 sur tablette, une ligne sur ordinateur) */
.e-kpif{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 14px;padding:2px 1px 6px}
@media (min-width:600px) and (max-width:899px){.e-kpif{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.e-kpif{display:flex}}
.e-kpif::-webkit-scrollbar{display:none}
.e-kpif-b{flex:1 0 132px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:74px;padding:10px 12px;border:1px solid var(--l);border-radius:5px;background:var(--s);color:var(--t);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--carte);transition:transform .25s var(--doux),border-color .2s,background-color .2s,box-shadow .25s}
.e-kpif-b:hover{transform:translateY(-2px);border-color:var(--l2)}
.e-kpif-b b{position:relative;font:300 30px/1 var(--titre);font-variant-numeric:lining-nums tabular-nums;color:var(--vt);padding-left:14px}
.e-kpif-b b::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-4px;border-radius:50%;background:var(--vt)}
.e-kpif-b span{font-size:12.5px;line-height:1.3;color:var(--t2)}
.e-kpif--alerte b{color:var(--al)}.e-kpif--alerte b::before{background:var(--al);box-shadow:0 0 0 4px var(--al-f)}
.e-kpif--attention b{color:var(--at)}.e-kpif--attention b::before{background:var(--at);box-shadow:0 0 0 4px var(--at-f)}
.e-kpif--info b::before{box-shadow:0 0 0 4px var(--ok-f)}
.e-kpif--calme{box-shadow:none;background:transparent}.e-kpif--calme b{color:var(--t2)}.e-kpif--calme b::before{background:var(--l2)}
.e-kpif-b.on{border-color:var(--vt);background:var(--ok-f);box-shadow:inset 0 0 0 1px var(--vt)}
@media (min-width:900px){.e-kpif{overflow:visible;flex-wrap:wrap}.e-kpif-b{flex:1 1 0;min-width:150px}}

/* ---------- Catalogue des prestations proposées aux clients ---------- */
.offres{display:grid;gap:10px;margin-bottom:18px}
.offre{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--l);border-radius:6px;background:var(--s);box-shadow:var(--carte);transition:transform .25s var(--doux),border-color .2s}
.offre:hover{transform:translateY(-2px);border-color:var(--l2)}
.offre--retiree{opacity:.62;box-shadow:none}
.offre-t{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px}
.offre-t b{font:400 20px/1.25 var(--titre)}
.offre-prix{font-weight:600;color:var(--vt);font-style:normal;white-space:nowrap;font-variant-numeric:tabular-nums}
.offre p{color:var(--t2);font-size:15px}
.offre-pied{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-top:auto;padding-top:8px;border-top:1px solid var(--l)}
.offre-pied small{color:var(--t2);font-size:13px}
.offre-act{display:flex;gap:2px}
@media (min-width:760px){.offres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.offres{grid-template-columns:repeat(3,minmax(0,1fr))}}
.demande-prix{margin-left:auto;margin-right:8px;font-weight:600;font-size:14px;color:var(--vt);white-space:nowrap}
.choix--offres label{align-items:flex-start}
.choix--offres span{display:grid;gap:2px;width:100%}
.choix--offres b{font-weight:600}
.choix--offres .offre-prix{font-size:14px}
.choix--offres small{color:var(--t2);font-weight:400;font-size:13.5px;line-height:1.4}

/* ---------- Abonnement : l'accès complet, les quantités (packs de véhicules, espaces clients), le total annuel ---------- */
.abo-offre{display:grid;gap:10px;margin:4px 0 18px;padding:16px;border:1px solid var(--l2);border-radius:8px;background:radial-gradient(120% 140% at 100% 0%,rgba(194,160,114,.16),transparent 55%),var(--s);box-shadow:var(--carte)}
.abo-offre-t{display:grid;gap:5px}
.abo-offre small{font:600 11px/1.2 var(--police);letter-spacing:.14em;text-transform:uppercase;color:var(--t2)}
.abo-offre b{font:300 clamp(30px,6vw,40px)/1 var(--titre);color:var(--vt);white-space:nowrap}
.abo-offre b i{font:400 14px var(--police);font-style:normal;color:var(--t2)}
.abo-offre em{font-style:normal;font-weight:600;font-size:15px;line-height:1.4}
.abo-offre-t>span{font-size:12.5px;color:var(--t2)}
.abo-qte{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--l)}
.abo-qte-t{display:grid;gap:3px;min-width:0}
.abo-qte-t b{font-weight:600}
.abo-qte-t small{font-size:13.5px;color:var(--t)}
.abo-qte-t span{font-size:12.5px;line-height:1.4;color:var(--t2)}
.pas{flex:none;display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--l2);border-radius:24px;background:var(--s)}
.pas button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--t);cursor:pointer;touch-action:manipulation;transition:background .15s,transform .12s}
.pas button .ic{width:16px;height:16px}
.pas button:hover{background:var(--l)}
.pas button:active{transform:scale(.92)}
.pas button:focus-visible{outline:2px solid var(--vt);outline-offset:1px}
.pas button:disabled{opacity:.35;cursor:default;background:none;transform:none}
.pas output{min-width:32px;text-align:center;font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.abo-par{display:block;margin-top:4px;font-size:12.5px;color:var(--t2)}
.abo-inclus{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}
.abo-inclus li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;color:var(--t2)}
.abo-inclus .ic{width:16px;height:16px;margin-top:3px;color:var(--vt)}
@media (min-width:900px){.abo-inclus{grid-template-columns:repeat(2,minmax(0,1fr))}}
.abo-promo{display:flex;align-items:flex-start;gap:7px;padding:7px 10px;border-radius:4px;background:var(--at-f);color:var(--at);font-size:13px;font-weight:600;line-height:1.35}
.abo-promo .ic{flex:none;width:16px;height:16px}
.abo-note{font-size:13px;color:var(--at)}
.abo-alerte{display:block;margin-top:8px;padding:8px 10px;border-radius:4px;background:var(--at-f);color:var(--at);font-size:13.5px;line-height:1.4}
.e-offre-prix-l{display:grid;gap:6px;margin:14px 0 4px}
.e-offre-prix-l .e-offre-prix{margin:0}
.e-offre-prix small{display:block;margin-bottom:3px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t2)}
@media (prefers-reduced-motion:reduce){.pas button{transition:none}.pas button:active{transform:none}}
/* ---------- Parrainage ---------- */
.abo-parrain{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--l);border-radius:6px;background:var(--s);color:var(--t);text-decoration:none;box-shadow:var(--carte);transition:transform .25s var(--doux),border-color .2s}
.abo-parrain:hover{transform:translateY(-2px);border-color:var(--l2)}
.abo-parrain>.ic{flex:none;width:22px;height:22px;color:var(--cu)}
.abo-parrain>.ic:last-child{width:18px;height:18px;margin-left:auto;color:var(--t2)}
.abo-parrain span{display:grid;gap:2px;min-width:0}
.abo-parrain b{font-weight:600}
.abo-parrain small{font-size:13.5px;line-height:1.4;color:var(--t2)}
.parr-tete{display:flex;gap:14px;align-items:flex-start}
.parr-tete>.ic{flex:none;width:44px;height:44px;padding:10px;border-radius:50%;background:var(--at-f);color:var(--cu)}
.parr-tete h2{font:400 clamp(22px,4.6vw,28px)/1.15 var(--titre)}
.parr-tete p{margin-top:6px;color:var(--t2);font-size:15px;line-height:1.5}
.parr-code,.parr-lien{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:14px;padding:12px 14px;border:1px dashed var(--l2);border-radius:5px;background:var(--s2)}
.parr-code small,.parr-lien small{flex:1 0 100%;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t2)}
.parr-code b{flex:1 1 auto;font:400 clamp(22px,6vw,30px)/1.1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:var(--vt);overflow-wrap:anywhere}
.parr-lien span{flex:1 1 220px;min-width:0;font-size:14px;color:var(--t2);overflow-wrap:anywhere}
.parr-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px}
.parr-stat{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;border:1px solid var(--l);border-radius:5px;background:var(--s)}
.parr-stat b{font:300 28px/1 var(--titre);color:var(--vt);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.parr-stat span{font-size:13px;color:var(--t2)}
@media (min-width:760px){.parr-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.abo-parrain{transition:none}.abo-parrain:hover{transform:none}}
/* ---------- Super admin : offres et prix, parrainages ---------- */
.off .e-colonnes{margin-bottom:0}
.off-presets{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px}
.off-calc{margin-top:0}
.off-dec .e-champ{margin-bottom:10px}
.off-pied{justify-content:space-between}
@media (min-width:1024px){.off-pied{position:sticky;bottom:16px;z-index:3;padding:10px 12px;border:1px solid var(--l);border-radius:6px;background:var(--s);box-shadow:var(--ombre)}}
.off-case{margin:0 0 12px}
.parr-l .e-btn{flex:none}
.parr-l a{color:inherit;text-decoration:underline;text-decoration-color:var(--l2);text-underline-offset:3px}
/* ---------- Listes compactes (super admin) ---------- */
.e-liste--serree .e-ligne{min-height:46px;padding-block:6px}
.e-liste--serree .e-ligne>.vt-photo{flex:0 0 36px;width:36px;height:36px;border-radius:4px}
.e-liste--serree .vt-photo .ic{width:18px;height:18px}

/* ---------- Mouvement discret : cartes et lignes ---------- */
.vc,.e-panneau.demande{transition:transform .3s var(--doux),box-shadow .3s var(--doux)}
.vc:hover,.e-panneau.demande:hover{transform:translateY(-2px);box-shadow:var(--ombre)}
@media (prefers-reduced-motion:reduce){.e-kpif-b,.offre,.vc,.e-panneau.demande{transition:none}.e-kpif-b:hover,.offre:hover,.vc:hover,.e-panneau.demande:hover{transform:none}}

/* ---------- Formule Découverte : jauges, présentations de l'abonnement, premiers pas ---------- */
.e-jauge{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--l);border-radius:5px;background:var(--s)}
.e-jauge-t{flex:1 1 220px;font-size:14px;color:var(--t2)}
.e-jauge-t b{color:var(--t);font-variant-numeric:tabular-nums}
.e-jauge-t small{font-size:12.5px}
.e-jauge-b{position:relative;display:block;flex:1 1 140px;height:6px;border-radius:6px;background:var(--s2);overflow:hidden}
.e-jauge-b i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:var(--vt);transition:width .6s var(--doux)}
.e-jauge--proche .e-jauge-b i{background:var(--at)}
.e-jauge--plein{border-color:var(--at);background:var(--at-f)}
.e-jauge--plein .e-jauge-b i{background:var(--at)}
.e-jauge-l{border:0;background:none;padding:6px 0;font:600 14px var(--police);color:var(--vt);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.e-jauge-b--large{flex:none;width:100%;height:5px;margin:2px 0 14px}
.e-jauges{display:grid;gap:8px}
.e-jauges .e-jauge{margin:0}
.e-offre-sur{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cu);margin-bottom:6px}
.e-offre-prix{margin:14px 0 4px;padding:12px 14px;border-radius:4px;background:var(--s2);font-size:15px}
.e-offre-prix b{font:400 20px var(--titre);color:var(--t)}
.e-offre-prix span{display:block;margin-top:2px;font-size:12.5px;color:var(--t2)}
.e-coches--offre{margin:12px 0 0}
.e-coches--offre li{color:var(--t)}
.e-coches--offre li .ic{color:var(--cu)!important}
.e-bandeau--offre{background:var(--at-f);color:var(--at)}
.e-bandeau--offre a{color:var(--at)}
.e-bandeau--bouton{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 14px;border:0;text-align:left;font:inherit;font-size:14px;cursor:pointer}
.e-bandeau--bouton .ic{color:var(--at)}
.e-nav-offre{display:grid;gap:4px;margin:14px 14px 0 0;padding:12px 14px;border:1px solid rgba(230,207,166,.22);border-radius:5px;background:rgba(255,255,255,.04);color:#fff;text-decoration:none}
.e-nav-offre small{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--clair)}
.e-nav-offre b{font-weight:600;font-size:15px}
.e-nav-offre .e-jauge-b{flex:none;background:rgba(255,255,255,.12)}
.e-nav-offre .e-jauge-b i{background:var(--clair)}
.e-nav-offre>span:last-child{font-size:13px;color:rgba(220,228,238,.75)}
.e-nav-offre:hover{border-color:rgba(230,207,166,.5);background:rgba(255,255,255,.07)}
.e-pp{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.e-pp li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--l)}
.e-pp li:last-child{border-bottom:0}
.e-pp li>.ic{margin-top:2px;color:var(--cu)}
.e-pp li.fait>.ic{color:var(--ok)}
.e-pp li.fait b{font-weight:500;color:var(--t2);text-decoration:line-through;text-decoration-color:var(--l2)}
.e-pp a{font-weight:600}
.e-pp small{display:block;color:var(--t2);font-size:13.5px}
.e-modules{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.e-module{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border:1px solid var(--l2);border-radius:4px;background:var(--s);color:var(--t);font:500 14px var(--police);cursor:pointer;transition:border-color .2s,transform .2s var(--doux)}
.e-module .ic{width:16px;height:16px;color:var(--cu)}
.e-module:hover{border-color:var(--cu);transform:translateY(-1px)}
.e-decouverte{border-color:rgba(160,131,72,.35)}
/* aperçu de l'agenda (formule Découverte) */
.agenda-apercu{display:grid;gap:18px;overflow:hidden}
.agenda-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;opacity:.75;filter:saturate(.7);pointer-events:none}
.agenda-j{min-height:120px;padding:8px 6px;border-radius:4px;background:var(--s2);display:flex;flex-direction:column;gap:4px;min-width:0}
.agenda-j small{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t2)}
.agenda-j b{font:400 20px/1 var(--titre)}
.agenda-j.auj{background:var(--nav);color:var(--or-clair)}
.agenda-j.auj small{color:var(--clair)}
.agenda-e{display:block;font-size:11.5px;line-height:1.3;padding:4px 6px;border-radius:3px;background:var(--s);border-left:3px solid var(--vt);color:var(--t);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-j.auj .agenda-e{background:rgba(255,255,255,.1);color:#fff}
.agenda-e.p-sortie{border-left-color:var(--cu)}.agenda-e.p-entretien{border-left-color:var(--at)}.agenda-e.p-demarrage{border-left-color:var(--ok)}
.agenda-plus{font-size:11.5px;color:var(--t2)}
.agenda-offre h2{font:400 26px/1.15 var(--titre)}
.agenda-offre>p{margin-top:8px;color:var(--t2)}
.agenda-offre .e-actions-l{margin-top:16px}
@media (max-width:639px){.agenda-grille{grid-template-columns:repeat(7,minmax(64px,1fr));overflow-x:auto}}

/* ---------- Activités : indicateurs, lignes libres, montants, vérifications ---------- */
.indic--4 b small{display:block;margin-top:2px;font:400 12.5px var(--police);color:var(--t2);text-transform:none;letter-spacing:0}
.indic--4 b a{color:inherit;text-decoration:none}
.txt-attention{color:var(--at)}
@media (min-width:980px){.indic--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ll{display:grid;gap:8px;margin-bottom:8px}
.ll-l{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,150px) 40px;gap:6px;align-items:center}
.ll-l>input{min-width:0}
.ll-l .e-unite input{min-width:0;width:100%}
.ll-l .e-unite span{padding:0 8px;font-size:13px;white-space:nowrap}
@media (max-width:479px){.ll-l{grid-template-columns:minmax(0,1fr) 40px}.ll-l .e-unite{grid-column:1;grid-row:2}}
.montants{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.montants th{text-align:left;font-weight:400;padding:9px 12px 9px 0;border-bottom:1px solid var(--l)}
.montants th small{color:var(--t2)}
.montants td{text-align:right;padding:9px 0;border-bottom:1px solid var(--l);white-space:nowrap;font-weight:600}
.montants tfoot th,.montants tfoot td{border-bottom:0;padding-top:12px;font:400 19px var(--titre)}
.montants tr.txt-attention th,.montants tr.txt-attention td{color:var(--at)}
.verifs{display:grid;gap:2px}
.verif{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;border-bottom:1px solid var(--l);cursor:pointer}
.verif:last-child{border-bottom:0}
.verif input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--vt)}
.verif:has(input:checked) span{color:var(--t2);text-decoration:line-through;text-decoration-color:var(--l2)}
.verif:has(input:disabled){cursor:default}
.e-ligne--eteinte{opacity:.55}
/* disponibilités : frise par véhicule */
.frise{--jours:31;position:relative;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--l);border-radius:6px;background:var(--s);box-shadow:var(--carte);scrollbar-width:thin}
.frise-l{display:grid;grid-template-columns:200px minmax(calc(var(--jours) * 30px),1fr);min-height:58px;border-bottom:1px solid var(--l)}
.frise-l:last-child{border-bottom:0}
.frise-l--tete{min-height:44px;background:var(--s)}
.frise-v{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 12px;background:var(--s);border-right:1px solid var(--l);color:var(--t);text-decoration:none}
.frise-v .vignette{width:40px;height:32px;border-radius:3px}
.frise-v span{min-width:0}
.frise-v b{display:block;font-size:13.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frise-v small{display:block;font-size:12px;color:var(--t2)}
.frise-j,.frise-p{display:grid;grid-template-columns:repeat(var(--jours),minmax(30px,1fr))}
.frise-j span{display:grid;place-items:center;font-size:12.5px;font-weight:600;line-height:1.1;border-left:1px solid var(--l)}
.frise-j span small{display:block;font-size:10px;font-weight:600;color:var(--t2)}
.frise-j .we,.frise-p i.we{background:var(--s2)}
.frise-j .auj{background:var(--nav);color:var(--or-clair)}
.frise-j .auj small{color:var(--clair)}
.frise-p{position:relative}
.frise-p i{border-left:1px solid var(--l);cursor:pointer}
.frise-p i:hover{background:var(--ok-f)}
.frise-p i.auj{box-shadow:inset 2px 0 0 var(--cu)}
.frise-b{position:absolute;top:12px;bottom:12px;z-index:1;display:flex;align-items:center;min-width:8px;padding:0 8px;border-radius:4px;background:var(--vt);color:#fff;font-size:12px;font-weight:600;text-decoration:none;overflow:hidden;box-shadow:0 6px 14px -10px rgba(11,20,36,.7);transition:transform .2s var(--doux)}
.frise-b span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frise-b:hover{transform:translateY(-1px)}
.frise-b--option{background:repeating-linear-gradient(135deg,var(--at-f) 0 6px,var(--s) 6px 12px);color:var(--at);box-shadow:inset 0 0 0 1px var(--at)}
.frise-b--en_cours{background:var(--cu)}
.frise-b--preparation{background:var(--nav-2)}
.frise-b--terminee{background:var(--l2);color:var(--t)}
[data-theme="sombre"] .frise-b{color:#0B1424}
[data-theme="sombre"] .frise-b--option{color:var(--at)}
.frise-leg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 0;font-size:13px;color:var(--t2)}
.frise-leg span{display:inline-block;width:18px;height:10px;border-radius:2px;vertical-align:middle;margin-right:-8px}
.frise-leg .frise-b--confirmee{background:var(--vt)}
@media (max-width:639px){.frise-l{grid-template-columns:132px minmax(calc(var(--jours) * 30px),1fr)}.frise-v .vignette{display:none}}
/* tableau de vente */
.pipeline{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,82%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.pipeline-c{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:6px;background:var(--s2);border:1px solid var(--l)}
.pipeline-c h2{font:400 18px var(--titre);display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.pipeline-c h2 small{font:500 12.5px var(--police);color:var(--t2)}
.pipeline-k{display:grid;gap:4px;padding:10px;border-radius:5px;background:var(--s);border:1px solid var(--l);color:var(--t);text-decoration:none;box-shadow:var(--carte);transition:transform .2s var(--doux),border-color .2s}
.pipeline-k:hover{transform:translateY(-2px);border-color:var(--l2)}
.pipeline-k img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;margin-bottom:4px}
.pipeline-k b{font-size:14.5px;line-height:1.3}
.pipeline-k small{color:var(--t2)}
.pipeline-k span{font-size:12.5px;color:var(--t2)}
.pipeline-k em{font-style:normal}
@media (min-width:980px){.pipeline{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}}
@media (prefers-reduced-motion:reduce){.e-jauge-b i,.e-module,.frise-b,.pipeline-k{transition:none}.e-module:hover,.frise-b:hover,.pipeline-k:hover{transform:none}}

/* ---------- Démonstration : bascule professionnel / client, visite guidée ---------- */
/* Démonstration : bandeau en tête de page et sélecteur d'espace bien visible */
.e-demo-barre{max-width:1180px;margin:14px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:10px 12px 10px 16px;border-radius:12px;background:var(--at-f);border:1px solid rgba(160,131,72,.32);color:var(--at)}
.e-demo-titre{font-size:13.5px;line-height:1.4}
.e-demo-titre b{font-weight:700}
.e-demo-bascule{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--s);border:1px solid var(--l2);box-shadow:0 6px 16px -12px rgba(11,20,36,.45)}
.e-demo-bascule button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:6px 16px;border:0;border-radius:9px;background:transparent;color:var(--t);font:600 14px/1.1 var(--police);cursor:pointer;touch-action:manipulation;transition:background-color .2s,color .2s,box-shadow .2s}
.e-demo-bascule button .ic{width:18px;height:18px}
.e-demo-bascule button:not([aria-pressed="true"]):hover{background:var(--s2)}
.e-demo-bascule button[aria-pressed="true"]{background:var(--nav);color:#fff;box-shadow:0 8px 18px -10px rgba(11,20,36,.7);cursor:default}
.e-demo-bascule button[aria-pressed="true"] .ic{color:var(--clair)}
.e-demo-bascule button:focus-visible{outline:2px solid var(--vt);outline-offset:2px}
@media (max-width:719px){.e-demo-bascule{width:100%}.e-demo-bascule button{flex:1 1 0;padding:6px 10px}}
/* suivi d'un devis ou d'une facture : envois, relances, règlements, notes, documents (du plus récent au plus ancien) */
.suivi{list-style:none;margin:0;padding:0;display:grid;gap:0}
.suivi-l{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:0 0 16px}
.suivi-l::before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:1px;background:var(--l2)}
.suivi-l:last-child::before{display:none}
.suivi-l>i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--s2);color:var(--t2)}
.suivi-l>i .ic{width:17px;height:17px}
.suivi-l>div{display:grid;gap:2px;padding-top:6px;min-width:0}
.suivi-l b{font-weight:650;font-size:14.5px}
.suivi-l small{color:var(--t2);font-size:13px;overflow-wrap:anywhere}
.suivi-l small a{display:inline-flex;align-items:center;gap:6px;color:var(--vt)}
.suivi-l small a .ic{width:15px;height:15px}
.suivi-l--reglement>i{background:rgba(46,125,80,.12);color:#2E7D50}
.suivi-l--relance>i,.suivi-l--statut>i{background:rgba(184,57,79,.1);color:var(--vt)}
/* secteur de la démonstration : Motors, Immobilier, Nautisme */
.e-demo-univers{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--police);letter-spacing:.08em;text-transform:uppercase}
.e-demo-univers select{min-height:42px;padding:0 34px 0 14px;border:1px solid var(--l2);border-radius:10px;background:var(--s) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6475' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px;color:var(--t);font:600 14px var(--police);letter-spacing:0;text-transform:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.e-demo-univers select:focus-visible{outline:2px solid var(--vt);outline-offset:2px}
@media (max-width:719px){.e-demo-univers{width:100%;justify-content:space-between}.e-demo-univers select{flex:1}}
.e-bandeau-lien{border:0;background:none;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.e-guide{position:fixed;z-index:60;right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));bottom:calc(var(--barre) + 14px + env(safe-area-inset-bottom));display:flex;justify-content:flex-end;pointer-events:none}
.e-guide>*{pointer-events:auto}
/* carte de la visite guidée : bleu nuit et or, détachée de l'espace (relief, liseré, halo) pour se lire comme un guide posé par-dessus */
.e-guide-carte{width:100%;max-width:380px;padding:14px 16px 14px;border-radius:14px;background:linear-gradient(160deg,#1C3352 0%,#0B1424 100%);color:#fff;border:1px solid rgba(203,183,146,.6);box-shadow:0 0 0 5px rgba(194,160,114,.18),0 26px 60px -18px rgba(5,10,20,.75);animation:e-guide-entree .35s var(--doux)}
.e-guide-tete{display:flex;align-items:center;gap:8px}
.e-guide-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:linear-gradient(135deg,#E6CFA6,#C2A072);color:#0B1424;font:700 11px/1 var(--police);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.e-guide-badge .ic{width:14px;height:14px}
.e-guide-tete small{flex:1;min-width:0;font-size:12px;font-weight:600;color:rgba(230,236,244,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e-guide-x{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);cursor:pointer}
.e-guide-x:hover{background:rgba(255,255,255,.14);color:#fff}
.e-guide-x .ic{width:16px;height:16px}
.e-guide-carte h3{margin-top:12px;font:400 21px/1.2 var(--titre);color:#fff}
.e-guide-carte p{margin-top:6px;font-size:14.5px;line-height:1.5;color:rgba(230,236,244,.84)}
.e-guide-prog{height:3px;margin:14px 0 12px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.e-guide-prog i{display:block;height:100%;background:#E6CFA6;transition:width .5s var(--doux)}
.e-guide-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}
.e-guide-actions .e-btn:last-child{margin-left:auto}
.e-guide .e-btn:not(.e-btn--txt){background:#F2F1EE;border-color:#F2F1EE;color:#0B1424}
.e-guide .e-btn:not(.e-btn--txt):hover{background:#fff;filter:none}
.e-guide .e-btn--txt{color:#E6CFA6}
.e-guide .e-btn--txt:hover{background:rgba(255,255,255,.08)}
.e-guide-pastille{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:22px;border:0;background:linear-gradient(135deg,#E6CFA6,#C2A072);color:#0B1424;font:700 13.5px/1 var(--police);box-shadow:0 0 0 4px rgba(194,160,114,.2),0 12px 30px -12px rgba(11,20,36,.6);cursor:pointer}
.e-guide-pastille .ic{width:17px;height:17px;color:#0B1424}
.e-guide-cible{outline:3px solid #C2A072;outline-offset:4px;border-radius:8px;box-shadow:0 0 0 9px rgba(194,160,114,.18);animation:e-guide-pouls 1.3s var(--doux) 2}
@keyframes e-guide-entree{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes e-guide-pouls{0%,100%{outline-color:var(--cu)}50%{outline-color:transparent}}
@media (min-width:1024px){.e-guide{left:auto;right:24px;bottom:24px}}
@media (prefers-reduced-motion:reduce){.e-guide-carte,.e-guide-cible{animation:none}.e-guide-prog i{transition:none}}
/* ---------- Téléphone : rendu d'application (relief léger, retour au toucher, transitions brèves) ----------
   Uniquement de la présentation : mêmes écrans, mêmes fonctions, mêmes informations. */
.e-squelette{display:grid;gap:12px;padding-top:4px}
.e-squelette i{display:block;height:68px;border-radius:12px;background:linear-gradient(90deg,var(--s2) 0%,var(--s) 45%,var(--s2) 90%) 0 0/200% 100%;animation:e-reflet 1.2s linear infinite}
.e-squelette i:first-child{height:120px}
.e-squelette i:nth-child(3){width:72%}
@keyframes e-reflet{to{background-position:-200% 0}}
.e-vue-entree>*{animation:e-entree .24s var(--doux) both}
@keyframes e-entree{from{opacity:0;transform:translateY(8px)}}
@media (max-width:979px){
  html{overscroll-behavior-y:none}
  body.espace{-webkit-tap-highlight-color:transparent}
  .espace a,.espace button,.espace label,.espace summary,.espace [role="button"]{touch-action:manipulation}
  .e-tete{background:color-mix(in srgb,var(--nav) 90%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(18px);backdrop-filter:saturate(1.5) blur(18px);box-shadow:0 1px 0 rgba(230,207,166,.1),0 10px 24px -20px rgba(5,10,20,.9)}
  .e-vue{animation:none}
  .e-panneau{border-radius:14px;border-color:transparent;box-shadow:0 1px 2px rgba(11,20,36,.05),0 10px 26px -18px rgba(11,20,36,.35)}
  [data-theme="sombre"] .e-panneau{border-color:var(--l);box-shadow:0 12px 28px -18px rgba(0,0,0,.85)}
  .e-ligne{transition:background-color .15s,transform .12s var(--doux)}
  button.e-ligne:active,a.e-ligne:active{background:var(--s2);border-radius:10px;transform:scale(.985)}
  .e-btn{border-radius:10px;min-height:46px}
  .e-btn--petit{border-radius:8px;min-height:40px}
  .e-btn--icone{border-radius:50%}
  .e-btn:active{transform:scale(.96)}
  .e-champ input:not([type=checkbox]):not([type=radio]):not([type=file]),.e-champ select,.e-champ textarea,.e-unite,.choix label,.e-consent,.e-details,.e-rappel,.e-message{border-radius:10px}
  .e-bandeau{border-radius:10px}
  .e-chiffres>*{border-radius:14px}
  .e-chiffres>*:active{transform:scale(.97)}
  .e-barre{height:66px;padding:7px;border-radius:22px}
  .e-barre a,.e-barre button{border-radius:16px;transition:color .2s,background-color .25s,transform .12s var(--doux)}
  .e-barre a:active,.e-barre button:active{transform:scale(.9)}
  .e-barre [aria-current="page"]{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(230,207,166,.12)}
  .e-panneau-m{border-radius:20px 20px 0 0}
  .e-panneau-m:not(.e-panneau-m--grand) .e-pm-t{position:relative;padding-top:20px}
  .e-panneau-m:not(.e-panneau-m--grand) .e-pm-t::before{content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:var(--l2)}
  .e-panneau-m--grand{border-radius:0}
  .e-feuille-c{border-radius:20px 20px 0 0}
  .e-toast{border-radius:14px}
  .e-nav a,.e-feuille a,.e-sortir{border-radius:10px}
}
@media (max-width:979px) and (prefers-reduced-motion:reduce){.e-ligne,.e-barre a,.e-barre button{transition:none}.e-btn:active,.e-barre a:active,.e-barre button:active,button.e-ligne:active,a.e-ligne:active,.e-chiffres>*:active{transform:none}}
@media (prefers-reduced-motion:reduce){.e-vue-entree>*{animation:none}.e-squelette i{animation:none}}
/* Application installée (écran d'accueil) : pas de sélection de texte accidentelle sur la navigation */
@media (display-mode:standalone){.e-barre,.e-tete,.e-nav{-webkit-user-select:none;user-select:none}.e-barre a,.e-nav a,.e-tete a,a.e-ligne,.vc-media{-webkit-touch-callout:none}}

/* ---------- Comme une application (e-appli.js) : barre du haut, transitions, tirer pour actualiser, visionneuse ---------- */
.e-tete-nom{display:grid;min-width:0}
.e-tete-nom>*{grid-area:1/1;min-width:0}
.e-tete-retour{display:none;place-items:center;flex:none;width:44px;height:44px;margin-left:-10px;border-radius:50%;color:#fff;text-decoration:none}
.e-tete-retour .ic{width:24px;height:24px;stroke-width:1.9}
.e-tete-retour:active{background:rgba(255,255,255,.1)}
.e-tete-titre{display:none}
@media (max-width:979px){
  /* fiche : flèche de retour à la place du menu (toujours accessible par la barre basse), titre de l'écran dans la barre */
  body.e-detail .e-burger{display:none}
  body.e-detail .e-tete-retour:not([hidden]){display:inline-grid}
  body.e-detail .e-vue>.e-retour{display:none}
  .e-tete-titre{display:block;align-self:center;color:#fff;font:600 16.5px/1.25 var(--police);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .25s var(--doux);pointer-events:none}
  .e-org{transition:opacity .2s}
  body.e-titre-haut .e-tete-titre{opacity:1;transform:none}
  body.e-titre-haut .e-org{opacity:0}
  /* vers une fiche : l'écran arrive de la droite ; retour : de la gauche */
  .e-vue-avant>*{animation:e-pousse .3s var(--doux) both}
  .e-vue-arriere>*{animation:e-recule .3s var(--doux) both}
}
@keyframes e-pousse{from{opacity:0;transform:translateX(26px)}}
@keyframes e-recule{from{opacity:0;transform:translateX(-26px)}}
.e-tirer{position:fixed;z-index:39;left:50%;top:calc(var(--tete) + env(safe-area-inset-top) - 30px);width:38px;height:38px;margin-left:-19px;display:grid;place-items:center;border-radius:50%;background:var(--s);box-shadow:0 8px 20px -8px rgba(11,20,36,.55),0 0 0 1px var(--l);opacity:0;transform:translateY(var(--t,0px));pointer-events:none;transition:opacity .15s}
.e-tirer.visible,.e-tirer.charge{opacity:1}
.e-tirer i{width:18px;height:18px;border-radius:50%;border:2px solid var(--l2);border-top-color:var(--vt);transform:rotate(var(--r,0deg))}
.e-tirer.pret i{border-color:var(--vt);border-top-color:transparent}
.e-tirer.charge i{border-color:var(--l2);border-top-color:var(--vt);animation:e-tourne .7s linear infinite}
.e-tirer:not(.visible):not(.charge){transition:opacity .15s,transform .25s var(--doux)}
@keyframes e-tourne{to{transform:rotate(360deg)}}
/* visionneuse de photos */
.e-visio{position:fixed;inset:0;z-index:120;background:#05080F;color:#fff;animation:apparait .2s var(--doux)}
.e-visio-haut{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px 18px;background:linear-gradient(180deg,rgba(5,8,15,.8),transparent)}
.e-visio-n{flex:1;font:600 14px var(--police);letter-spacing:.06em;color:rgba(255,255,255,.8)}
.e-visio-b{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;text-decoration:none}
.e-visio-b:hover{background:rgba(255,255,255,.18)}
.e-visio-piste{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none}
.e-visio-piste::-webkit-scrollbar{display:none}
.e-visio-piste figure{flex:0 0 100%;height:100%;display:grid;place-items:center;padding:calc(64px + env(safe-area-inset-top)) 0 calc(24px + env(safe-area-inset-bottom));scroll-snap-align:center;scroll-snap-stop:always}
.e-visio-piste img{max-width:100%;max-height:100%;object-fit:contain}
.e-visio-prec,.e-visio-suiv{position:absolute;z-index:2;top:50%;margin-top:-22px;display:none}
.e-visio-prec{left:16px}.e-visio-suiv{right:16px}
@media (hover:hover) and (pointer:fine){.e-visio-prec,.e-visio-suiv{display:inline-grid}}
/* installation sur l'écran d'accueil */
.e-appli-carte{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:0 0 16px;padding:12px 8px 12px 12px;border-radius:14px;background:var(--s);box-shadow:0 1px 2px rgba(11,20,36,.05),0 10px 26px -18px rgba(11,20,36,.35)}
.e-appli-carte img{width:44px;height:44px;border-radius:11px}
.e-appli-carte b{display:block;font-size:15px;line-height:1.3}
.e-appli-carte small{display:block;font-size:13.5px;line-height:1.35;color:var(--t2)}
.e-appli-x{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--t2);cursor:pointer}
.e-appli-x .ic{width:16px;height:16px}
.e-etapes{margin:14px 0 0;padding-left:22px;display:grid;gap:10px}
.e-etapes li::marker{color:var(--cu);font-weight:600}
.e-etapes .ic{display:inline-block;width:17px;height:17px;vertical-align:-3px;color:var(--vt)}
.e-itin{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:13.5px;font-weight:600}
.demande-agenda{margin-top:10px}
/* ---------- Recherche dans tout l'espace (équipe) ---------- */
.e-tete-recherche{display:none}
body[data-role="administrateur"] .e-tete-recherche,body[data-role="gestionnaire"] .e-tete-recherche{display:inline-flex}
.rg-champ{width:100%}
.rg-l{display:grid;gap:4px;margin-top:6px;min-height:120px}
.rg-t{margin:12px 0 2px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cu)}
.rg-l .e-ligne>.ic:first-child{color:var(--t2)}
/* ---------- Aide et demandes à Collexion (e-aide.js), et leur suivi par le super admin ---------- */
.tk-raccourcis{display:grid;gap:10px;margin:0 0 16px}
.tk-raccourci{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--l);border-radius:8px;background:var(--s);color:var(--t);text-align:left;font:inherit;cursor:pointer;box-shadow:var(--carte);transition:border-color .2s,transform .2s var(--doux)}
.tk-raccourci:hover{border-color:var(--l2);transform:translateY(-1px)}
.tk-raccourci .tk-ic{grid-row:span 2}
.tk-raccourci b{font-size:15.5px}
.tk-raccourci small{color:var(--t2);font-size:13.5px}
.tk-ic{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--ok-f);color:var(--ok)}
.tk-ic .ic{width:19px;height:19px}
.tk-ic--probleme{background:var(--al-f);color:var(--al)}
.tk-ic--evolution{background:var(--at-f);color:var(--at)}
.tk-extrait{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;margin-top:2px;font-style:italic}
.fil--ticket{min-height:0;margin-top:4px}
.fil--ticket .fil-msgs{min-height:120px}
.fil--ticket .bulle{white-space:normal;overflow-wrap:anywhere}
.tk-reponse{display:grid;gap:10px;padding:12px;border-top:1px solid var(--l)}
.tk-reponse textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--l2);border-radius:6px;padding:11px 14px;font:400 16px/1.4 var(--police);background:var(--s);color:var(--t)}
.tk-reponse-p{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.tk-reponse-p select{min-height:44px;border:1px solid var(--l2);border-radius:6px;padding:0 12px;background:var(--s);color:var(--t);font:500 15px var(--police)}
@media (min-width:760px){.tk-raccourcis{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ---------- Super admin : organisations groupées, suivi commercial ---------- */
.a-groupe{margin-top:14px}
.a-groupe>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none;font:600 12px var(--police);letter-spacing:.16em;text-transform:uppercase;color:var(--cu)}
.a-groupe>summary::-webkit-details-marker{display:none}
.a-groupe>summary::after{content:"";width:8px;height:8px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.a-groupe:not([open])>summary::after{transform:rotate(-45deg)}
.a-groupe>summary small{font:600 12px var(--police);letter-spacing:0;color:var(--t2)}
.a-groupe--demo .e-panneau{opacity:.85}
.a-relance{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--at);white-space:nowrap}
.a-relance--retard{color:var(--al)}
.a-relance .ic{width:14px;height:14px}
.a-suivi-l{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:10px 0;border-top:1px solid var(--l)}
.a-suivi-l:first-child{border-top:0}
.a-suivi-l .tk-ic{width:32px;height:32px}
.a-suivi-l p{white-space:pre-line}
.a-suivi-l small{display:block;color:var(--t2);font-size:12.5px}
.a-histo{list-style:none;margin:0;padding:0;display:grid}
.a-histo li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--l);font-size:14px}
.a-histo li:first-child{border-top:0}
.a-histo time{color:var(--t2);font-size:12.5px}
.a-tri{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--t2)}
.a-tri select{min-height:44px;border:1px solid var(--l2);border-radius:6px;padding:0 12px;background:var(--s);color:var(--t);font:500 15px var(--police)}
.e-itin .ic{width:15px;height:15px}
@media (prefers-reduced-motion:reduce){.e-vue-avant>*,.e-vue-arriere>*,.e-visio{animation:none}.e-tirer.charge i{animation:none}.e-tete-titre,.e-org{transition:none}}

/* ---------- Rappels : bandeau du tableau de bord, écran dédié (urgence en couleur, date en tête) ---------- */
.rap-bandeau{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:12px;border-radius:10px;background:var(--s);border:1px solid var(--l);box-shadow:var(--carte)}
.rap-bandeau--alerte{border-color:var(--al);box-shadow:0 0 0 1px var(--al-f),var(--carte)}
.rap-tuile{display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:var(--s2);color:var(--t);text-decoration:none;transition:transform .2s var(--doux)}
.rap-tuile:hover{transform:translateY(-1px)}
.rap-tuile b{font:500 26px/1 var(--titre);font-variant-numeric:tabular-nums}
.rap-tuile span{font-size:12.5px;font-weight:600;color:var(--t2)}
.rap-tuile--retard{background:var(--al-f)}.rap-tuile--retard b{color:var(--al)}
.rap-tuile--jour{background:var(--at-f)}.rap-tuile--jour b{color:var(--at)}
.rap-bandeau--calme .rap-tuile b{color:var(--t2)}
.rap-apercu,.rap-vide,.rap-tous{grid-column:1/-1}
.rap-apercu{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:4px}
.rap-vide{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:14.5px;color:var(--t2)}
.rap-vide .ic{color:var(--ok);width:18px;height:18px}
.rap-tous{justify-self:end;display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;color:var(--v);text-decoration:none}
.rap-tous .ic{width:15px;height:15px}
.rap{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:var(--s);border:1px solid var(--l);border-left:4px solid var(--l2)}
.rap--retard{border-left-color:var(--al)}.rap--aujourdhui{border-left-color:var(--at)}.rap--semaine{border-left-color:var(--ok)}
.rap-date{flex:none;display:grid;justify-items:center;width:44px;line-height:1}
.rap-date b{font:500 21px/1 var(--titre)}
.rap-date small{margin-top:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--t2)}
.rap--retard .rap-date b{color:var(--al)}
.rap-txt{flex:1;min-width:0;display:grid;gap:1px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.rap-txt b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rap-txt small{font-size:13px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rap-type{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t2)}
.rap-type .ic{width:14px;height:14px}
.rap-type em{font-style:normal;color:var(--al)}
.rap .e-btn{flex:none}
.rap-liste{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.rap-filtres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.rap-f{display:grid;gap:2px;padding:10px 12px;border-radius:8px;border:1px solid var(--l);background:var(--s);color:var(--t);font:inherit;text-align:left;cursor:pointer}
.rap-f b{font:500 24px/1 var(--titre)}
.rap-f span{font-size:12.5px;font-weight:600;color:var(--t2)}
.rap-f--retard b{color:var(--al)}.rap-f--aujourdhui b{color:var(--at)}
.rap-f[aria-pressed="true"]{border-color:var(--v);box-shadow:inset 0 0 0 1px var(--v)}
.rap-mail{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border-radius:8px;border:1px dashed var(--l2);color:var(--t);text-decoration:none}
.rap-mail span{flex:1;display:grid}
.rap-mail small{color:var(--t2);font-size:13.5px}
@media (max-width:599px){
  .rap-bandeau{padding:10px;gap:6px}
  .rap-tuile{padding:8px 10px}.rap-tuile b{font-size:22px}
  .rap-filtres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rap .e-btn:not(.rap-act) span{display:none}
}
/* ---------- Import de véhicules : aperçu des lignes reconnues ---------- */
.imp-resume{margin:4px 0 8px;font-size:14.5px}
.imp-table{max-height:240px;overflow:auto;border:1px solid var(--l);border-radius:6px}
.imp-table table{width:100%;border-collapse:collapse;font-size:13px}
.imp-table th{position:sticky;top:0;background:var(--s2);text-align:left;font-weight:600;padding:7px 9px;white-space:nowrap}
.imp-table td{padding:6px 9px;border-top:1px solid var(--l);white-space:nowrap}
.e-liste-simple{margin:8px 0 0;padding-left:18px;display:grid;gap:4px;font-size:14px}
/* ---------- Abonnement : commande en attente de paiement ---------- */
.abo-commande{border-color:var(--at);box-shadow:0 0 0 1px var(--at-f),var(--carte)}
/* ---------- Refonte visuelle des espaces (2 novembre 2026) : une application à part entière ----------
   Fond vivant et discret, surfaces arrondies, boutons en relief doux, barre latérale permanente sur grand écran,
   barre basse en pilule sur téléphone, écrans qui apparaissent en cascade. Préférence « réduire les animations » respectée. */
:root{--rc:18px;--rb:12px;--verre:rgba(255,255,255,.74);--carte:0 1px 2px rgba(11,20,36,.04),0 20px 42px -32px rgba(11,20,36,.38);--ombre:0 30px 60px -34px rgba(11,20,36,.5);--accent:linear-gradient(90deg,#B8394F,#1C3352 60%,#93A4B8)}
[data-theme="sombre"]{--verre:rgba(17,26,40,.74)}
::selection{background:rgba(184,57,79,.22)}
body.espace{background:radial-gradient(1100px 640px at 108% -14%,rgba(201,213,226,.7),transparent 62%),radial-gradient(900px 560px at -14% 110%,rgba(184,57,79,.08),transparent 60%),var(--f);background-attachment:fixed}
[data-theme="sombre"] body.espace{background:radial-gradient(1100px 640px at 108% -14%,rgba(44,72,110,.45),transparent 62%),radial-gradient(900px 560px at -14% 110%,rgba(184,57,79,.12),transparent 60%),var(--f);background-attachment:fixed}
/* en-tête : verre dépoli, filet de couleur de la marque */
.e-tete{background:linear-gradient(180deg,#0E1A2E,#0B1424)}
.e-tete::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);opacity:.55}
/* surfaces : coins arrondis, ombre douce, léger soulèvement au survol des éléments cliquables */
.e-panneau,.e-panneau-m,.vc,.vt,.v-ligne,.indic>div,.mois,.fils,.fil,.bien{border-radius:var(--rc);border-color:color-mix(in srgb,var(--l) 72%,transparent)}
.e-panneau,.vc,.vt,.bien,.indic>div,.mois{box-shadow:var(--carte)}
.vc,.bien,.v-ligne{transition:transform .35s var(--doux),box-shadow .35s var(--doux),border-color .25s}
.vc:hover,.bien:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(11,20,36,.05),0 28px 48px -30px rgba(11,20,36,.5)}
.e-plus-liste{border-radius:14px;padding:8px;background:var(--verre);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}
.e-plus-liste a,.e-plus-liste button{border-radius:10px}
.e-bandeau{border-radius:12px}
.e-toast{border-radius:14px;box-shadow:0 24px 50px -20px rgba(5,10,20,.6)}
/* carte d'accueil : dégradé profond, reflet lent, X en filigrane */
.e-accueil{border-radius:24px;padding:26px 22px 20px;background:radial-gradient(120% 140% at 100% 0%,rgba(120,150,185,.38),transparent 52%),radial-gradient(80% 90% at 0% 110%,rgba(184,57,79,.25),transparent 60%),linear-gradient(140deg,#1F3A5C,#0B1424 72%)}
.e-accueil::before{content:"";position:absolute;z-index:-1;inset:-40%;background:conic-gradient(from 180deg at 50% 50%,transparent 0deg,rgba(255,255,255,.07) 40deg,transparent 90deg);animation:reflet 18s linear infinite}
@keyframes reflet{to{transform:rotate(1turn)}}
/* boutons : relief doux, réaction au clic */
.e-btn{border-radius:var(--rb);transition:transform .25s var(--doux),box-shadow .25s var(--doux),background-color .2s,filter .2s}
.e-btn:where(:not(.e-btn--sec):not(.e-btn--txt):not(.e-btn--verre):not(.e-btn--or):not(.e-btn--danger)){background:linear-gradient(180deg,#24446E 0%,#13233A 100%);border-color:#13233A;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 24px -16px rgba(11,20,36,.8)}
[data-theme="sombre"] .e-btn:where(:not(.e-btn--sec):not(.e-btn--txt):not(.e-btn--verre):not(.e-btn--danger):not(.e-btn--or)){background:linear-gradient(180deg,#E3EAF2,#C9D6E6);border-color:#C9D6E6;color:#0B1424}
.e-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.e-btn:active{transform:translateY(0) scale(.97);transition-duration:.08s}
.e-btn--sec{background:var(--s);box-shadow:0 1px 2px rgba(11,20,36,.06),0 8px 18px -14px rgba(11,20,36,.4)}
.e-btn--sec:hover{border-color:var(--vt)}
.e-btn--txt,.e-btn--icone.e-btn--txt{box-shadow:none}
.e-btn--txt:hover{transform:none}
.e-btn--petit{border-radius:10px}
.e-btn--icone{border-radius:12px}
.e-burger,.e-nav-fermer{border-radius:12px}
/* champs : arrondis, halo de focus */
.e-champ input:not([type=checkbox]):not([type=radio]):not([type=file]),.e-champ select,.e-champ textarea{border-radius:12px;transition:border-color .2s,box-shadow .25s,background-color .2s}
.e-champ input:focus,.e-champ select:focus,.e-champ textarea:focus{box-shadow:0 0 0 4px rgba(28,51,82,.14),0 10px 24px -18px rgba(11,20,36,.5)}
.e-segment{border-radius:14px;padding:5px}
.e-segment a,.e-segment button{border-radius:10px}
/* navigation : élément actif marqué d'un trait bordeaux, survol plus vivant */
.e-nav{background:linear-gradient(180deg,#0F1D33 0%,#0B1424 100%)}
.e-nav a,.e-feuille a,.e-sortir{border-radius:12px;transition:background-color .2s,color .2s,transform .2s var(--doux)}
.e-nav a:hover{transform:translateX(2px)}
.e-nav a[aria-current="page"]::marker{content:none}
.e-feuille-c{border-radius:24px 24px 0 0}
/* barre basse du téléphone : pilule flottante, onglet actif en relief */
.e-barre{border-radius:24px;height:66px;padding:7px;background:color-mix(in srgb,#0B1424 88%,transparent);box-shadow:0 22px 44px -16px rgba(5,10,20,.65),inset 0 0 0 1px rgba(255,255,255,.08)}
.e-barre a,.e-barre button{border-radius:18px;transition:color .2s,background-color .3s var(--doux),transform .25s var(--doux)}
.e-barre a:active,.e-barre button:active{transform:scale(.94)}
.e-barre [aria-current="page"]{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));color:#fff}
.e-barre [aria-current="page"] .ic{transform:translateY(-1px);color:#F2C4CC}
.e-barre .ic{transition:transform .25s var(--doux)}
/* écrans : arrivée en cascade, douce */
.e-vue{animation:vue-entre .45s var(--doux)}
@keyframes vue-entre{from{opacity:0;transform:translateY(10px)}}
.e-vue>*{animation:cascade .55s var(--doux) both}
.e-vue>*:nth-child(2){animation-delay:.05s}.e-vue>*:nth-child(3){animation-delay:.1s}.e-vue>*:nth-child(4){animation-delay:.15s}.e-vue>*:nth-child(5){animation-delay:.2s}.e-vue>*:nth-child(n+6){animation-delay:.24s}
@keyframes cascade{from{opacity:0;transform:translateY(14px)}}
/* barre de démonstration : verre dépoli, sortie claire */
.e-demo-barre{border-radius:18px;background:var(--verre);border:1px solid color-mix(in srgb,var(--l2) 70%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 18px 40px -30px rgba(11,20,36,.55)}
.e-demo-titre{color:var(--t2)}
.e-demo-titre b{color:var(--t)}
.e-demo-quitter{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;background:linear-gradient(180deg,#C24A60,#9A2E43);color:#fff;font:600 14px var(--police);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 24px -14px rgba(122,30,46,.8);transition:transform .25s var(--doux),filter .2s}
.e-demo-quitter .ic{width:18px;height:18px}
.e-demo-quitter:hover{transform:translateY(-1px);filter:brightness(1.08)}
.e-demo-quitter:active{transform:scale(.97)}
@media (max-width:719px){.e-demo-quitter{margin-left:auto;min-height:36px;padding:0 13px;font-size:13px}}
/* grand écran : barre latérale permanente, le contenu se décale à sa droite */
@media (min-width:1180px){
  .e-nav{visibility:visible;transform:none;transition:none;width:268px;box-shadow:none!important}
  body.nav-ouverte .e-nav-fond,.e-nav-fond{display:none}
  .e-burger,.e-nav-fermer{display:none!important}
  .e-tete,.e-principal{margin-left:268px}
  .e-tete{background:color-mix(in srgb,var(--f) 82%,transparent)}
  .e-tete::after{left:0}
}
@media (min-width:980px){.e-tete{background:color-mix(in srgb,var(--f) 82%,transparent)}}
@media (prefers-reduced-motion:reduce){.e-accueil::before{animation:none}.e-vue,.e-vue>*{animation:none}}:root{--rc:10px;--rb:8px}
.e-accueil{border-radius:14px}
.e-demo-barre{border-radius:10px}
.e-demo-quitter{border-radius:8px}
.e-barre{border-radius:16px}
.e-barre a,.e-barre button{border-radius:12px}
