@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/Poppins-Regular.ttf") format("truetype")}
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/Poppins-Medium.ttf") format("truetype")}
@font-face{font-family:"Poppins";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/Poppins-SemiBold.ttf") format("truetype")}
@font-face{font-family:"Poppins";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/Poppins-Bold.ttf") format("truetype")}
@font-face{font-family:"Syne";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/Syne-Regular.ttf") format("truetype")}
@font-face{font-family:"Syne";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/Syne-Medium.ttf") format("truetype")}
:root{
  /* — jetons réels de l'app (KitTokens) — */
  --blue:#231E58; --blue-l:#E8EAF4; --orange:#EE6724; --orange-l:#FFF0E8; --orange-d:#D75426; --cream:#FAF7F2; --white:#FFFFFF;
  --muted:#F3F0EB; --mfg:#7A756E; --border:#E8E4DE; --red:#DC2626; --green:#10B981; --amber:#F59E0B;
  /* — neutres DÉRIVÉS du bleu nuit (mélanges avec le blanc), pour le chrome de la planche — */
  --g25:color-mix(in srgb,var(--blue) 3%,#fff); --g50:color-mix(in srgb,var(--blue) 4.5%,#fff); --g100:color-mix(in srgb,var(--blue) 7%,#fff);
  --g200:color-mix(in srgb,var(--blue) 12%,#fff); --g300:color-mix(in srgb,var(--blue) 22%,#fff); --g400:color-mix(in srgb,var(--blue) 48%,#fff);
  --g500:color-mix(in srgb,var(--blue) 62%,#fff); --g600:color-mix(in srgb,var(--blue) 72%,#fff); --g700:color-mix(in srgb,var(--blue) 82%,#fff); --g800:color-mix(in srgb,var(--blue) 92%,#000);
  --success:var(--green); --warning:var(--amber); --error:var(--red); --info:#2563EB; --online:var(--green); --gold:var(--orange); --dark:var(--blue); --surface-app:var(--cream);
  /* — rôles du chrome de la planche — */
  --bg:var(--cream); --surface:#FFFFFF; --surface-2:var(--g25); --surface-3:var(--g100);
  --line:var(--border); --line-2:color-mix(in srgb,var(--border) 70%,var(--blue));
  --text:var(--blue); --text-2:var(--g600); --text-3:var(--g500);
  --brand:var(--orange); --brand-soft:var(--orange-l); --brand-soft-2:color-mix(in srgb,var(--orange) 5%,#fff);
  --pos:var(--success); --neg:var(--error); --warn:var(--warning);
  --pos-soft:color-mix(in srgb,var(--success) 12%,#fff); --neg-soft:color-mix(in srgb,var(--error) 10%,#fff);
  --warn-soft:color-mix(in srgb,var(--warning) 14%,#fff); --info-soft:color-mix(in srgb,var(--info) 10%,#fff);
  /* rayons réels : KitTokens radius30 (cartes, champs), radius50 (boutons), radius60 ; champ compact 16 ; feuilles basses 26 (home_sheet, course_confirmation_sheet) */
  --r-card:30px; --r-ctl:30px; --r-btn:50px; --r-chip:16px; --r-img:20px; --r-sheet:26px; --r-pill:999px;
  --sh-card:0 2px 8px rgba(35,30,88,.06); --sh-bubble:0 1px 2px rgba(0,0,0,.08);
  --sh-nav:0 10px 28px rgba(35,30,88,.18),0 1px 4px rgba(35,30,88,.08);
  --ov:0 16px 40px -12px rgba(35,30,88,.28);
  --font:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif; --font-display:"Syne","Poppins",sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:light;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 14px/22px var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}h1,h2,h3,h4,h5,p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.ic{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}
.il{display:block;width:100%;height:auto}
code{font:12px/18px ui-monospace,"SF Mono",Consolas,monospace;background:var(--surface-3);padding:1px 6px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}


/* ==========================================================================
   Kit UI Livryx — reproduit les composants réels de l'app (lib/ui/screen_kit/kit_widgets.dart,
   livryx_tab_bar.dart, kit_tokens.dart). Préfixe k-. Chaque dimension vient du code cité en commentaire.
   ========================================================================== */
.k-app{font-family:var(--font);color:var(--blue);background:var(--cream);-webkit-text-size-adjust:100%}
.k-app .ic{width:1.15em;height:1.15em}
/* KitPrimaryButton : orange, pilule (radius50), padding 28×14, hauteur min 52, Poppins 14/600 blanc */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 28px;border-radius:var(--r-btn);border:0;background:var(--orange);color:#fff;font:600 14px/20px var(--font);cursor:pointer;white-space:nowrap;text-decoration:none}
.k-btn .ic{width:18px;height:18px}
.k-btn.expanded{display:flex;width:100%}
/* KitSecondaryButton : même gabarit, fond bleu nuit */
.k-btn.blue{background:var(--blue);font-weight:700}
.k-btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--border)}
.k-btn.soft{background:var(--blue-l);color:var(--blue)}
.k-btn.text{background:transparent;color:var(--orange-d);padding:10px 12px;min-height:40px;font-weight:600}
.k-btn.danger{background:var(--red)}
.k-btn.sm{min-height:36px;padding:8px 18px;font-size:13px}
.k-btn[disabled],.k-btn.off{opacity:.4;pointer-events:none}
.k-btn.load::before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* KitAuthField : boîte blanche rayon 30, bordure 1 px border (1,5 px rouge en erreur), ombre de carte, padding 20×16 */
.k-field{background:#fff;border:1px solid var(--border);border-radius:var(--r-ctl);padding:12px 20px;box-shadow:var(--sh-card);display:grid;gap:2px;position:relative;min-width:0}
.k-field>label{font:500 12px/16px var(--font);color:var(--mfg)}
.k-field input,.k-field select{border:0;outline:0;background:transparent;font:500 15px/22px var(--font);color:var(--blue);width:100%;padding:0;appearance:none}
.k-field input::placeholder{color:var(--mfg);font-weight:400}
.k-field.err{border:1.5px solid var(--red)}.k-field .m{position:absolute;left:20px;bottom:-20px;font-size:12px;line-height:16px;color:var(--red);white-space:nowrap}
.k-field.compact{border-radius:16px;box-shadow:none;padding:9px 12px;text-align:center}
.k-field:focus-within{border-color:var(--orange)}
.k-field .suf{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--mfg);font-size:14px;display:flex}
/* Carte : KitCard — blanc, rayon 30, ombre bleu nuit 6 % */
.k-card{background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-card);padding:16px}
.k-card.line{box-shadow:none;border:1px solid var(--border)}
/* Pastilles, puces, étiquettes */
.k-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:99px;border:1px solid var(--border);background:#fff;font:500 13px/18px var(--font);color:var(--blue);cursor:pointer}
.k-chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.k-chip .ic{width:15px;height:15px}
.k-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:99px;background:var(--muted);font:600 11px/16px var(--font);color:var(--mfg);white-space:nowrap}
.k-tag.blue{background:var(--blue-l);color:var(--blue)}.k-tag.orange{background:var(--orange-l);color:var(--orange-d)}
.k-tag.ok{background:var(--pos-soft);color:#0B6B4D}.k-tag.warn{background:var(--warn-soft);color:#8A5A00}.k-tag.neg{background:var(--neg-soft);color:#B42318}
.k-tag .ic{width:12px;height:12px}
.k-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 6px;border-radius:10px;background:var(--orange);color:#fff;font:700 10px/1.2 var(--font)}
.k-count.red{background:var(--red);border:1.5px solid #fff}
.k-av{width:40px;height:40px;border-radius:50%;background:var(--blue-l);color:var(--blue);display:grid;place-items:center;font:700 14px var(--font);flex:none;position:relative}
.k-av.l{width:64px;height:64px;font-size:22px}.k-av.s{width:28px;height:28px;font-size:11px}
.k-av .on{position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid #fff}.k-av .on.off{background:var(--mfg)}
/* En-tête d'écran : KitScreenHeader (padding 20/8, titre Poppins 20/700) et bouton retour */
.k-head{display:flex;align-items:center;gap:12px;padding:8px 20px 0;min-height:48px}
.k-head h4{font:700 20px/24px var(--font);letter-spacing:-.2px;flex:1;min-width:0}
.k-back{width:36px;height:36px;border-radius:50%;border:0;background:#fff;box-shadow:var(--sh-card);display:grid;place-items:center;color:var(--blue);flex:none;cursor:pointer;padding:0}.k-back .ic{width:18px;height:18px}   /* KitBackButton : 36 px, ombre de carte, sans bordure */
.k-ib{width:40px;height:40px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--blue);cursor:pointer;padding:0;position:relative}
.k-ib .ic{width:22px;height:22px}.k-ib .k-count{position:absolute;top:2px;right:2px}
/* États */
.k-disc{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--orange)) 12%,transparent);color:var(--c,var(--orange));flex:none}
.k-disc .ic{width:48px;height:48px}.k-disc.ok{--c:var(--green)}.k-disc.ko{--c:var(--red)}
.k-empty{display:grid;justify-items:center;text-align:center;padding:32px}
.k-empty .c{width:80px;height:80px;border-radius:50%;background:var(--orange-l);color:var(--orange);display:grid;place-items:center}.k-empty .c .ic{width:40px;height:40px}
.k-empty h4{font:700 18px/26px var(--font);margin:20px 0 0}.k-empty p{font-size:14px;color:var(--mfg);margin-top:8px;max-width:30ch}.k-empty .k-btn{margin-top:24px}
.k-empty.err .c{background:var(--neg-soft);color:var(--red)}
.k-snack{display:flex;gap:10px;align-items:center;padding:14px 18px;border-radius:var(--r-card);color:#fff;font-size:14px;line-height:20px;background:var(--orange);width:100%}   /* SnackBarTheme : orange, rayon 30, flottante */
.k-snack.ok{background:#0B6B4D}.k-snack.ko{background:var(--red)}.k-snack .ic{width:20px;height:20px}
.k-skel{background:var(--muted);border-radius:8px;height:14px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}
/* Feuille basse : rayon 26 en haut (home_sheet, course_confirmation_sheet) */
.k-sheet{background:var(--cream);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:20px 22px 18px;box-shadow:0 -10px 30px rgba(35,30,88,.16)}
.k-sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--border);margin:-8px auto 14px}
.k-sheet h4{font:700 18px/26px var(--font);text-align:center}
/* Lignes : KitInfoRow, KitRadioOption, KitToggleRow */
.k-info{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:var(--r-card);background:color-mix(in srgb,var(--muted) 50%,transparent);font-size:14px;line-height:20px}   /* KitInfoRow : muted à 50 %, rayon 30, padding 16×12 */
.k-info+.k-info{margin-top:8px}
.k-info span{color:var(--mfg);font-weight:500;flex:2}.k-info b{font-weight:700;text-align:right;flex:3}
.k-radio{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-card);border:1px solid var(--border);background:#fff;cursor:pointer}
.k-radio i{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);flex:none;display:grid;place-items:center}
.k-radio[aria-checked=true]{border-color:var(--orange);background:var(--orange-l)}.k-radio[aria-checked=true] i{border-color:var(--orange)}.k-radio[aria-checked=true] i::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange)}
.k-switch{width:44px;height:24px;border-radius:99px;background:var(--border);position:relative;border:0;padding:0;cursor:pointer;flex:none;transition:background .2s}
.k-switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s var(--ease);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.k-switch[aria-checked=true]{background:var(--orange)}.k-switch[aria-checked=true]::after{transform:translateX(20px)}   /* KitToggleRow : 44 × 24, pastille 20 */
.k-step{display:flex;align-items:center;gap:16px}.k-step button{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--blue);padding:0}
.k-step button[disabled]{opacity:.35;cursor:not-allowed}.k-step b{min-width:40px;text-align:center;font:600 16px var(--font)}
.k-seg{display:inline-flex;padding:3px;border-radius:99px;background:var(--muted);width:100%}
.k-seg button{flex:1;border:0;background:transparent;height:36px;border-radius:99px;font:600 13px var(--font);color:var(--mfg);cursor:pointer}
.k-seg button[aria-pressed=true]{background:#fff;color:var(--blue);box-shadow:var(--sh-bubble)}
.k-tabs{display:flex;gap:20px;border-bottom:1px solid var(--border)}.k-tabs button{border:0;background:transparent;height:44px;font:500 14px var(--font);color:var(--mfg);cursor:pointer;position:relative;padding:0}
.k-tabs button[aria-selected=true]{color:var(--blue);font-weight:700}.k-tabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--orange)}
.k-bar{height:6px;border-radius:99px;background:var(--muted);overflow:hidden}.k-bar i{display:block;height:100%;background:var(--orange);border-radius:99px}
/* Bulles de messagerie */
.k-bub{max-width:80%;padding:10px 14px;border-radius:20px;font-size:14px;line-height:20px}
.k-bub.me{background:var(--orange);color:#fff;margin-left:auto}.k-bub.you{background:#fff;color:var(--blue);box-shadow:var(--sh-card)}   /* message_screens.dart : envoyé = orange, reçu = carte blanche, rayon 20 */
.k-bub small{display:block;font-size:11px;opacity:.7;margin-top:2px}
.k-list>*{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.k-list>*:last-child{border:0}.k-list .grow{flex:1;min-width:0}.k-list small{display:block;color:var(--mfg);font-size:12px;line-height:16px}
.k-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:20px;background:var(--blue-l);font-size:13px;line-height:18px}.k-note .ic{color:var(--blue);margin-top:1px}
.k-note.warn{background:var(--warn-soft)}.k-note.warn .ic{color:#B45309}.k-note.neg{background:var(--neg-soft)}.k-note.neg .ic{color:var(--red)}.k-note.ok{background:var(--pos-soft)}.k-note.ok .ic{color:#0B6B4D}
.k-h1{font:700 22px/28px var(--font);letter-spacing:-.2px}.k-h2{font:700 18px/24px var(--font)}.k-h3{font:600 15px/22px var(--font)}.k-body{font-size:14px;line-height:20px;color:var(--mfg)}.k-hint{font-size:12px;line-height:16px;color:var(--mfg)}
.k-display{font:500 30px/34px var(--font-display)}
.k-sep{font:600 12px/16px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--mfg)}
.k-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.k-hs{display:flex;gap:12px;overflow:hidden}.k-hs>*{flex:none}
.k-stack{display:grid;gap:12px}.k-stack.s{gap:8px}.k-stack.l{gap:20px}.k-stack>*,.k-grid2>*,.k-pad>*{min-width:0}
.k-pad{padding:16px 20px}.k-flex{display:flex;align-items:center;gap:8px}.k-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}
/* Barre d'onglets : LivryxTabBar — pilule blanche flottante (hauteur 68, marge 14), onglet actif = icône pleine sur pilule bleu clair */
.k-tabbar{margin:0 14px 14px;height:68px;border-radius:34px;background:#fff;border:1px solid rgba(35,30,88,.08);box-shadow:var(--sh-nav);display:flex;align-items:center;padding:0 8px;flex:none;margin-top:auto;position:relative}
.k-tabbar .it{flex:1;display:grid;justify-items:center;gap:2px;color:var(--mfg);font:500 10px/14px var(--font);position:relative;padding:8px 0;border-radius:26px;cursor:pointer}
.k-tabbar .it .ic{width:24px;height:24px}
.k-tabbar .it.on{background:var(--blue-l);color:var(--blue);font-weight:700}
.k-tabbar .it .k-count{position:absolute;top:2px;left:calc(50% + 6px)}
/* Carte (fond de l'accueil client) : placeholder neutre — la vraie carte est Google Maps */
.k-map{position:relative;background:#F1EEE7;overflow:hidden}
.k-map::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 30%,#fff 30% 32%,transparent 32% 100%),linear-gradient(15deg,transparent 0 55%,#fff 55% 57%,transparent 57% 100%),linear-gradient(80deg,transparent 0 70%,#fff 70% 71.5%,transparent 71.5% 100%),linear-gradient(170deg,transparent 0 20%,#fff 20% 21.5%,transparent 21.5% 100%)}
.k-map .park{position:absolute;border-radius:14px;background:#E3EBDD}
.k-pin{position:absolute;width:16px;height:16px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px rgba(35,30,88,.3);transform:translate(-50%,-50%)}
.k-pin.o{background:var(--orange)}.k-pin.b{background:var(--blue)}.k-pin.g{background:var(--green)}
.k-ph{position:relative;border-radius:var(--r-img);overflow:hidden;background:var(--blue-l);display:grid;place-items:center;color:var(--blue)}
.k-ph>.ic{width:32px;height:32px;opacity:.6}
.k-ph .lab{position:absolute;left:8px;bottom:8px;font:500 10px/14px var(--font);color:var(--blue);background:rgba(255,255,255,.85);border-radius:6px;padding:0 6px}
.k-vehicle{display:grid;justify-items:center;gap:4px;padding:10px 8px;border-radius:20px;border:1px solid var(--border);background:#fff;width:92px;flex:none;font:600 12px/16px var(--font)}
.k-vehicle[aria-checked=true]{border:2px solid var(--blue);background:var(--blue-l)}   /* sélection réelle : bleu clair, bord bleu nuit 2 px (vehicle_selector.dart) */
.k-vehicle img{width:52px;height:32px;object-fit:contain}.k-vehicle small{font:400 11px/14px var(--font);color:var(--mfg)}
.vehimg{display:block;width:52px;height:32px;object-fit:contain}

/* ==========================================================================
   Maquette interactive Kumba V2 — visionneuse, cadres, système mobile et web.
   Jetons : ceux de l'app (voir planche.css, repris par le build). Aucune couleur nouvelle : les teintes chaudes sont dérivées.
   ========================================================================== */
:root{
  --cta:var(--gold); --cta-fg:#fff; --cta-bd:var(--gold);
  --bg:var(--surface-app); --card:#fff; --ink:var(--dark); --mut:var(--g500);
  --gold-ink:var(--brand-ink); --gold-soft:color-mix(in srgb,var(--gold) 16%,#fff); --gold-soft2:color-mix(in srgb,var(--gold) 9%,#fff);
  --sh1:0 1px 2px rgba(79,73,85,.05),0 6px 20px -10px rgba(79,73,85,.18); --sh2:0 2px 4px rgba(79,73,85,.06),0 18px 40px -18px rgba(79,73,85,.34);
  --pv-bg:#ECE7DD;
  --white:#FFFFFF; --ok-ink:#0B6B4D; --neg-ink:#B91C1C; --warn-ink:#8A5A00; --info-ink:#1D4ED8; --night:#17121C; --night-2:#1F1923;
}
html[data-cta=brique]{--cta:var(--brique);--cta-fg:#fff;--cta-bd:var(--brique)}
html[data-cta=encre]{--cta:var(--dark);--cta-fg:#fff;--cta-bd:var(--dark)}
html[data-cta=or-sombre]{--cta:var(--gold);--cta-fg:var(--dark);--cta-bd:var(--gold)}
html,body{height:100%;margin:0;overflow:hidden}
body{background:var(--pv-bg);font:400 14px/22px var(--font)}
.mut{color:var(--mut)}.ok{color:#0B6B4D}.ko{color:#B91C1C}

/* ---------- Visionneuse ---------- */
.pv{display:grid;grid-template-rows:56px minmax(0,1fr);height:100vh}
.pv-top{display:flex;align-items:center;gap:20px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line);z-index:30;min-width:0}
.pv-brand{display:flex;align-items:center;gap:10px;font:600 15px var(--font);white-space:nowrap}
.pv-brand img{width:26px;height:26px}.pv-brand em{font-style:normal;font-size:11px;letter-spacing:.06em;background:var(--brand-soft);border-radius:99px;padding:1px 8px;font-weight:600}
.pv-roles{display:flex;gap:2px;background:var(--g100);padding:3px;border-radius:12px;overflow:auto;scrollbar-width:none}
.pv-roles button{display:flex;align-items:center;gap:7px;border:0;background:transparent;height:34px;padding:0 14px;border-radius:9px;font:500 13px var(--font);color:var(--g600);cursor:pointer;white-space:nowrap}
.pv-roles button .ic{width:17px;height:17px}.pv-roles button[aria-pressed=true]{background:#fff;color:var(--dark);font-weight:600;box-shadow:var(--sh-bubble)}
.pv-dev{display:flex;gap:2px;background:var(--g100);padding:3px;border-radius:12px}
.pv-dev button{display:flex;align-items:center;gap:6px;border:0;background:transparent;height:34px;padding:0 12px;border-radius:9px;font:500 13px var(--font);color:var(--g600);cursor:pointer}
.pv-dev button .ic{width:17px;height:17px}.pv-dev button[aria-pressed=true]{background:#fff;color:var(--dark);font-weight:600;box-shadow:var(--sh-bubble)}.pv-dev button[disabled]{opacity:.4;cursor:not-allowed}
.pv-act{display:flex;gap:6px;margin-left:auto}
.pv-act button{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font:500 13px var(--font);cursor:pointer;color:var(--dark)}
.pv-act button:hover{background:var(--g50)}.pv-act button[aria-pressed=true]{background:var(--brand-soft);border-color:var(--gold)}.pv-act .ic{width:17px;height:17px}
.pv-main{display:grid;grid-template-columns:304px minmax(0,1fr) auto;min-height:0}
.pv-side{background:#fff;border-right:1px solid var(--line);overflow:auto;padding:14px 12px 28px;display:flex;flex-direction:column;gap:6px;min-width:0}
.pv-side h6{margin:14px 8px 4px;font:600 11px/16px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--g500)}
.pv-side .role-hd{padding:8px 8px 10px;border-bottom:1px solid var(--line)}.role-hd b{font:700 17px/24px var(--font);display:block}.role-hd span{color:var(--g500);font-size:12.5px;line-height:18px}
.fl{border:1px solid transparent;border-radius:14px}
.fl>button{display:grid;grid-template-columns:30px 1fr auto;gap:2px 10px;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:14px;cursor:pointer}
.fl>button:hover{background:var(--g50)}.fl>button .n{grid-row:span 2;width:30px;height:30px;border-radius:10px;background:var(--gold-soft);color:var(--gold-ink);display:grid;place-items:center}
.fl>button .n .ic{width:17px;height:17px}.fl>button b{font:600 13.5px/18px var(--font)}.fl>button small{grid-column:2;color:var(--g500);font-size:12px;line-height:16px}
.fl>button .c{font:600 11px var(--font);color:var(--g500);background:var(--g100);border-radius:99px;padding:1px 8px}
.fl.on{border-color:var(--gold);background:var(--gold-soft2)}.fl.hist>button .n{background:var(--dark);color:#fff}
.fl ol{list-style:none;margin:0;padding:2px 10px 10px 50px;display:grid;gap:1px}
.fl ol a{display:flex;gap:8px;align-items:baseline;padding:5px 8px;border-radius:8px;cursor:pointer;color:var(--g600);font-size:12.5px;line-height:17px}
.fl ol a:hover{background:#fff}.fl ol a i{font:600 10.5px var(--font);font-style:normal;color:var(--g400);width:16px;flex:none}.fl ol a.cur{background:var(--dark);color:#fff}.fl ol a.cur i{color:var(--gold-light)}
.fl ol a.done{color:var(--g500)}.fl ol a .r{margin-left:auto;font-size:10.5px;color:var(--gold-ink);font-weight:600;white-space:nowrap}
.sc-search{position:relative}.sc-search input{width:100%;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px 0 34px;font:400 13px var(--font);background:var(--g50)}.sc-search .ic{position:absolute;left:11px;top:10px;width:17px;height:17px;color:var(--g500)}
.grp{margin:2px 0}.grp>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:8px;border-radius:8px;font:600 12.5px var(--font);color:var(--g700)}.grp>summary:hover{background:var(--g50)}.grp>summary::-webkit-details-marker{display:none}
.grp>summary span{font-weight:500;color:var(--g400)}.grp a{display:flex;gap:8px;align-items:center;padding:5px 8px 5px 14px;border-radius:8px;cursor:pointer;font-size:12.5px;line-height:17px;color:var(--g600)}
.grp a:hover{background:var(--g50)}.grp a.cur{background:var(--dark);color:#fff}.grp a .t{margin-left:auto;font-size:10px;font-weight:600;color:var(--gold-ink);background:var(--gold-soft);border-radius:99px;padding:0 6px}.grp a .t.e{color:#8A5A00;background:var(--warn-soft)}
.pv-stage{position:relative;overflow:hidden;min-width:0;background:var(--pv-bg) radial-gradient(circle,#D7CFBF 1px,transparent 1.3px) 0 0/22px 22px}
.pv-holder{position:absolute;left:50%;top:0;transform-origin:top center}
.pv-bar{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:var(--sh2);z-index:5;max-width:calc(100% - 24px)}
.pv-bar button{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:0;background:transparent;cursor:pointer;color:var(--dark)}
.pv-bar button:hover{background:var(--g100)}.pv-bar button[disabled]{opacity:.3;cursor:not-allowed}.pv-bar button[aria-pressed=true]{background:var(--brand-soft)}.pv-bar .ic{width:19px;height:19px}
.pv-bar .ti{padding:0 10px;min-width:180px;max-width:360px}.pv-bar .ti b{display:block;font:600 13px/17px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-bar .ti small{display:block;color:var(--g500);font-size:11.5px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-bar i{width:1px;height:24px;background:var(--line);margin:0 2px}
.pv-info{width:0;overflow:hidden;background:#fff;border-left:1px solid var(--line);transition:width .24s var(--ease)}.pv-info.open{width:330px}
.pv-info>div{width:330px;padding:18px 18px 40px;overflow:auto;height:100%}
.pv-info h3{font:700 18px/26px var(--font);margin:0 0 4px}.pv-info h6{margin:20px 0 8px;font:600 11px/16px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--g500)}
.pv-info .chs{display:flex;gap:6px;flex-wrap:wrap}.pv-info .rq{display:grid;gap:6px}.pv-info .rq a{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:baseline;font-size:12.5px;line-height:17px;color:var(--g700)}
.pv-info .rq code{font:600 11px ui-monospace,Consolas,monospace;background:var(--g100);border-radius:6px;padding:1px 6px}.pv-info .rq code.M{background:var(--dark);color:#fff}.pv-info .rq code.S{background:var(--gold-soft);color:var(--dark)}
.pv-info p{margin:0;color:var(--g600);font-size:13px;line-height:20px}.pv-info .vr{display:grid;gap:4px}.pv-info .vr a{padding:7px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:13px}.pv-info .vr a:hover{border-color:var(--dark)}.pv-info .vr a.cur{background:var(--dark);color:#fff}
.pv-pop{position:absolute;right:10px;top:8px;width:300px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh2);padding:14px;z-index:20}
.pv-pop h5{margin:0 0 10px;font:700 14px/20px var(--font)}.pv-pop h6{margin:12px 0 6px;font:600 11px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--g500)}
.pv-pop .k-seg button{font-size:12px;padding:0 4px}.pv-pop .sw-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}
.pv-pop .sw-row .k-switch{transform:scale(.8);transform-origin:right center}
.pv-over{position:fixed;inset:0;background:rgba(236,231,221,.98);z-index:60;overflow:auto;padding:28px 36px 60px}
.pv-over h2{font:700 24px/32px var(--font);margin:0 0 4px}.pv-over p.lead{margin:0 0 24px;color:var(--g600)}
.ov-flow{margin:0 0 36px}.ov-flow h4{font:600 15px/22px var(--font);margin:0 0 4px;display:flex;gap:10px;align-items:center}.ov-flow h4 small{font-weight:400;color:var(--g500)}
.ov-row{display:flex;gap:26px;overflow-x:auto;padding:12px 4px 18px;align-items:flex-start}
.ov-card{flex:none;cursor:pointer;position:relative}.ov-card .fr{border-radius:24px;overflow:hidden;box-shadow:var(--sh2);background:#fff;position:relative;border:6px solid var(--g800)}
.ov-card.w .fr{border-width:1px;border-radius:10px;border-color:var(--line-2)}.ov-card .fr>.scr{pointer-events:none}.ov-card .cap{margin-top:8px;font:500 12px/16px var(--font);color:var(--g700);max-width:200px}.ov-card .cap i{font:600 10px var(--font);color:var(--g400);font-style:normal;margin-right:5px}
.ov-card:hover .fr{outline:3px solid var(--gold)}.ov-card+.ov-card::before{content:"";position:absolute;left:-18px;top:46%;width:12px;height:2px;background:var(--g400)}
.pv-help{position:fixed;inset:0;background:rgba(31,25,35,.5);z-index:70;display:grid;place-items:center}.pv-help>div{background:#fff;border-radius:20px;padding:24px 28px;width:min(560px,92vw);box-shadow:var(--sh2)}
.pv-help h3{margin:0 0 12px;font:700 18px var(--font)}.pv-help dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;font-size:13.5px}.pv-help dt kbd{font:600 12px ui-monospace,Consolas,monospace;background:var(--g100);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 8px}.pv-help dd{margin:0;color:var(--g600)}
.pv-intro{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}

/* ---------- Cadres d'appareil ---------- */
.dev-m{width:375px;height:812px;border-radius:50px;background:var(--g800);padding:10px;box-shadow:0 30px 60px -28px rgba(31,41,55,.55),0 0 0 2px #0f141d inset;position:relative}
.dev-m::after{content:"";position:absolute;left:50%;top:18px;transform:translateX(-50%);width:92px;height:26px;border-radius:99px;background:#0f141d;z-index:40;pointer-events:none}
.dev-m .vp{width:355px;height:792px;border-radius:40px;overflow:hidden;position:relative;background:var(--bg);isolation:isolate}
.dev-w{width:1280px;height:812px;border-radius:14px;background:#fff;border:1px solid var(--line-2);box-shadow:var(--sh2);overflow:hidden;position:relative;display:flex;flex-direction:column}
.dev-w .bar{height:44px;flex:none;display:flex;align-items:center;gap:8px;padding:0 16px;background:var(--g100);border-bottom:1px solid var(--line)}
.dev-w .bar i{width:11px;height:11px;border-radius:50%;background:var(--g300)}.dev-w .bar .url{margin-left:14px;flex:1;max-width:560px;height:28px;border-radius:99px;background:#fff;color:var(--g500);font-size:12.5px;line-height:28px;padding:0 14px;overflow:hidden;white-space:nowrap;display:flex;gap:8px;align-items:center}
.dev-w .bar .url .ic{width:14px;height:14px}.dev-w .vp{flex:1;min-height:0;position:relative;background:var(--bg);overflow:hidden}
.scr{position:absolute;inset:0;font-family:var(--font);color:var(--dark)}
.scr.in-fwd{animation:inF .34s var(--ease)}.scr.in-back{animation:inB .3s var(--ease)}.scr.in-fade{animation:inFd .26s ease}
@keyframes inF{from{transform:translateX(38px);opacity:0}to{transform:none;opacity:1}}@keyframes inB{from{transform:translateX(-38px);opacity:0}to{transform:none;opacity:1}}@keyframes inFd{from{opacity:0}to{opacity:1}}
.scr.m-skelmode>*:not(.m-sb):not(.m-skel){visibility:hidden}.m-skel{position:absolute;inset:34px 0 0 0;z-index:9;background:var(--bg);padding:16px;display:grid;gap:12px;align-content:start}
.m-skel i{display:block;border-radius:14px;background:linear-gradient(90deg,var(--g100),#fff,var(--g100));background-size:200% 100%;animation:shim 1.2s linear infinite}@keyframes shim{to{background-position:-200% 0}}

/* points chauds (comme « H » dans Figma) */
.hot [data-go],.hot [data-root],.hot [data-open],.hot [data-back],.hot [data-toast],.hot [data-fav],.hot [data-close]{outline:2px solid rgba(37,99,235,.95);outline-offset:-2px;background-image:linear-gradient(rgba(37,99,235,.16),rgba(37,99,235,.16))!important}
[data-go],[data-root],[data-open],[data-back],[data-toast],[data-close]{cursor:pointer}

/* ---------- Système mobile ---------- */
.scr.m{display:flex;flex-direction:column;background:var(--bg);font-size:14px;line-height:22px}
.m-sb{position:absolute;left:0;right:0;top:0;height:34px;padding:12px 26px 0;display:flex;justify-content:space-between;align-items:center;font:600 13px/1 var(--font);z-index:30;pointer-events:none}
.m-sb-r{display:flex;gap:5px}.m-sb-r .ic{width:16px;height:16px}.scr[data-sb=light] .m-sb{color:#fff}
.m-top{flex:none;display:flex;align-items:center;gap:6px;padding:36px 12px 8px;min-height:84px;background:var(--bg);position:relative;z-index:6}
.m-top.over{position:absolute;left:0;right:0;top:0;background:none;z-index:12}.m-top.ctr{justify-content:center}
.mt-t{min-width:0}.mt-t b{display:block;font:600 17px/24px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mt-t small{display:block;font-size:12px;line-height:16px;color:var(--mut)}
.m-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;position:relative}.m-scroll::-webkit-scrollbar{display:none}
.m-foot{flex:none;background:#fff;padding:12px 16px 20px;box-shadow:0 -10px 28px -14px rgba(79,73,85,.28);position:relative;z-index:6}
.m-ib{position:relative;width:40px;height:40px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--dark);padding:0;flex:none;cursor:pointer;transition:background .15s,transform .1s}
.m-ib .ic{width:22px;height:22px}.m-ib:hover{background:rgba(79,73,85,.07)}.m-ib:active{transform:scale(.92)}.m-ib.bk{margin-left:-4px}
.m-top.over .m-ib,.m-ib.glass{background:rgba(255,255,255,.88);backdrop-filter:blur(6px);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.m-ib.dk{background:rgba(31,25,35,.4);color:#fff}
.bdg{position:absolute;top:3px;right:3px;min-width:16px;height:16px;border-radius:9px;background:var(--error);color:#fff;font:700 9.5px/16px var(--font);text-align:center;padding:0 4px;border:1.5px solid var(--bg)}
.k-btn{transition:transform .1s,filter .15s,background .15s;position:relative}
.k-btn:not(.outline):not(.text):not(.destructive):not(.ink):not(.sec):not(.white):not(.brique):not(.ghost){background:var(--cta);border-color:var(--cta-bd);color:var(--cta-fg)}
.k-btn.outline{border-color:var(--cta-bd);color:color-mix(in srgb,var(--cta) 80%,var(--dark))}
.k-btn.ink{background:var(--dark);border-color:var(--dark);color:#fff}.k-btn.sec{background:var(--gold-soft);border-color:transparent;color:var(--dark)}.k-btn.white{background:#fff;border-color:#fff;color:var(--dark)}
.k-btn.ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.k-btn:active{transform:scale(.98)}.k-btn:hover{filter:brightness(1.04)}
.scr.m .k-btn{min-height:52px;border-radius:16px;font-size:15px;line-height:22px;padding:14px 22px}
.k-btn.sm{min-height:40px!important;padding:8px 16px!important;font-size:13.5px!important;border-radius:12px!important}.k-btn.xs{min-height:32px!important;padding:5px 12px!important;font-size:12.5px!important;border-radius:10px!important}
.k-btn.expanded{display:flex;width:100%}
.scr .k-field input{border-color:var(--g200)}.k-field.hasic input{padding-left:46px}.k-field.hasic label{left:46px}.k-field .fi{position:absolute;left:15px;top:17px;color:var(--g500);z-index:1}.k-field .fi .ic{width:20px;height:20px}
.k-field.err input{border-color:var(--error);background:var(--neg-soft)}
.scr .k-chip{height:36px;border-radius:99px;padding:0 14px;font-size:13px;white-space:nowrap;transition:background .15s,border-color .15s}.scr .k-chip[aria-pressed=true]{background:var(--dark);color:#fff;border-color:var(--dark)}
.scr .k-seg{background:var(--g100)}
.t-h1{font:700 28px/36px var(--font);letter-spacing:-.02em}.t-h2{font:700 20px/28px var(--font);letter-spacing:-.01em}.t-h3{font:600 16px/24px var(--font)}.t-sm{font-size:13px;line-height:19px}.t-xs{font-size:12px;line-height:16px}
.eyebrow{font:600 11px/16px var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink)}
.tc{text-align:center}.tr{text-align:right}
.pad{padding:16px}.px{padding-left:16px;padding-right:16px}.py{padding-top:16px;padding-bottom:16px}
.stack{display:grid;gap:12px;align-content:start}.stack.s{gap:6px}.stack.l{gap:20px}.stack.xl{gap:28px}
.row{display:flex;align-items:center;gap:10px}.row.top{align-items:flex-start}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}
.stack>*,.row>*,.between>*{min-width:0}
.hs{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding-bottom:2px}.hs::-webkit-scrollbar{display:none}.hs>*{flex:none;scroll-snap-align:start}
.chips.hs{gap:8px}.chips.wrap{display:flex;flex-wrap:wrap;gap:8px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid2>*,.grid3>*{min-width:0}
.card{background:var(--card);border-radius:20px;box-shadow:var(--sh1);padding:16px}.card.line{box-shadow:none;border:1px solid var(--g100)}.card.soft{background:var(--gold-soft2);box-shadow:none}.card.dark{background:var(--dark);color:#fff;box-shadow:none}.card.flat{box-shadow:none}
.card.tight{padding:12px}.card.click{cursor:pointer;transition:transform .12s,box-shadow .15s}.card.click:hover{box-shadow:var(--sh2)}.card.click:active{transform:scale(.99)}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:0 16px}.sec-h a{font:500 13px var(--font);color:var(--gold-ink);cursor:pointer;padding:8px 0}
.ex{display:inline-block;font:600 10px/16px var(--font);letter-spacing:.05em;text-transform:uppercase;color:#1D4ED8;background:var(--info-soft);border-radius:99px;padding:0 7px;vertical-align:1px}
hr.hr{height:1px;background:var(--g100);border:0;margin:0}

/* images et motifs */
.sc{position:relative;overflow:hidden;border-radius:18px;background:var(--s1,#eee);aspect-ratio:4/3;isolation:isolate}
.sc>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.sc::after{content:"";position:absolute;inset:0;background:url(motifs/grain.svg);opacity:.07;mix-blend-mode:multiply;pointer-events:none}
.sc-tag{position:absolute;left:8px;bottom:8px;font:600 9.5px/14px var(--font);letter-spacing:.03em;color:var(--dark);background:rgba(255,255,255,.82);border-radius:6px;padding:0 6px;z-index:2}
body.no-ph .sc-tag{display:none}
.sc .tl,.sc .tr2{position:absolute;z-index:3}.sc .tl{left:10px;top:10px}.sc .tr2{right:10px;top:10px}.sc .bl{position:absolute;left:12px;bottom:12px;right:12px;z-index:3}
.sc.shade::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(31,25,35,.35),rgba(31,25,35,0) 38%,rgba(31,25,35,.62))}
.sc.arch{border-radius:999px 999px 18px 18px}
.pe{display:inline-grid;place-items:center;width:var(--pe);height:var(--pe);border-radius:50%;background:var(--gold-soft);overflow:hidden;flex:none;vertical-align:middle}.pe img{width:112%;height:112%;object-fit:cover}
.pe.ring{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold)}
.pstack{display:inline-flex}.pstack .pe{box-shadow:0 0 0 2px #fff}.pstack .pe+.pe{margin-left:-9px}
.mo{background-repeat:repeat-x;background-size:auto 100%;background-position:left center;width:100%}
.il{display:block;max-width:100%;height:auto;margin:0 auto}
.favb{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);display:grid;place-items:center;color:var(--dark);cursor:pointer;padding:0;transition:transform .15s}
.favb .ic{width:19px;height:19px}.favb.on{color:var(--brique)}.favb.on .ic *{fill:currentColor}.favb:active{transform:scale(.85)}
.rt{display:inline-flex;align-items:center;gap:3px;font-size:13px}.rt .ic{width:14px;height:14px;color:var(--gold)}.rt b{font-weight:600}
.k-stars .ic{width:15px;height:15px}
.pill{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:99px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);font:600 12px var(--font);color:var(--dark)}.pill .ic{width:14px;height:14px}
.pill.dk{background:rgba(31,25,35,.62);color:#fff}

/* listes, lignes, définitions */
.rw{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--g100);min-height:54px}.rw:last-child{border-bottom:0}
.rw .grow>span{display:block}.rw small{display:block;color:var(--mut);font-size:12.5px;line-height:17px}
.rw-ic{width:38px;height:38px;border-radius:12px;background:var(--gold-soft);color:var(--gold-ink);display:grid;place-items:center;flex:none}.rw-ic .ic{width:20px;height:20px}
.rw-ch{color:var(--g400);display:grid}.rw-ch .ic{width:16px;height:16px}.rw[data-go]:hover,.rw[data-open]:hover{background:var(--gold-soft2)}
.rw.danger,.rw.danger .rw-ic{color:var(--error)}.rw.danger .rw-ic{background:var(--neg-soft)}
.kvl{margin:0;display:grid;gap:10px}.kvl>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.kvl dt{color:var(--mut);font-size:13px}.kvl dd{margin:0;font-weight:500;text-align:right}
.kvl.total>div:last-child{padding-top:10px;border-top:1px dashed var(--g200);font-weight:700}.kvl.total>div:last-child dt{color:var(--dark);font-weight:600}
.stb{display:flex;gap:6px}.stb i{flex:1;height:4px;border-radius:2px;background:var(--g200)}.stb i.done{background:var(--gold)}.stb i.now{background:var(--dark)}
.k-note{border-radius:16px}
.otp{display:flex;gap:8px;justify-content:center}.otp input{width:46px;height:58px;border-radius:14px;border:1.5px solid var(--g200);background:#fff;text-align:center;font:600 22px var(--font);padding:0}.otp input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 20%,transparent)}
.pick{border:1.5px solid var(--g200);background:#fff;border-radius:18px;padding:14px;display:flex;gap:12px;align-items:center;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s;position:relative}
.pick.sel,.pick[aria-checked=true]{border-color:var(--dark);background:var(--gold-soft2)}.pick::after{content:"";position:absolute;right:14px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;border:1.5px solid var(--g300);background:#fff}
.pick.sel::after,.pick[aria-checked=true]::after{border-color:var(--dark);background:var(--dark) radial-gradient(#fff 0 36%,transparent 38%)}
.pick .pk-ic{width:44px;height:44px;border-radius:14px;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold-ink);flex:none}.pick .pk-ic .ic{width:24px;height:24px}.pick b{display:block;font-weight:600}.pick small{display:block;color:var(--mut);font-size:12.5px;line-height:17px}
.pick.op{padding-right:46px}
.map{position:relative;overflow:hidden;border-radius:18px;background:#F1EADB;height:180px}.map>svg{position:absolute;inset:0;width:100%;height:100%}
.pin{position:absolute;transform:translate(-50%,-100%);display:inline-flex;align-items:center;gap:4px;background:var(--dark);color:#fff;border-radius:99px;padding:3px 10px 3px 6px;font:600 11.5px/18px var(--font);box-shadow:0 3px 10px rgba(31,25,35,.3);white-space:nowrap}
.pin .ic{width:15px;height:15px;color:var(--gold-light)}.pin.gold{background:var(--gold);color:var(--dark)}.pin.brique{background:var(--brique)}.pin.white{background:#fff;color:var(--dark)}
.qr{color:var(--dark);display:block}
.ticket{position:relative;background:#fff;border-radius:22px;box-shadow:var(--sh2);overflow:hidden}.ticket .tk-cut{display:flex;align-items:center;margin:0 -1px;height:22px;position:relative}
.ticket .tk-cut::before,.ticket .tk-cut::after{content:"";position:absolute;top:0;width:22px;height:22px;border-radius:50%;background:var(--bg)}.ticket .tk-cut::before{left:-11px}.ticket .tk-cut::after{right:-11px}
.ticket .tk-cut i{flex:1;height:0;border-top:2px dashed var(--g200);margin:0 18px}
.spark{color:var(--gold)}.bars{display:flex;gap:8px;align-items:flex-end}.bc{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;min-width:0}
.bc i{display:block;width:100%;border-radius:8px 8px 3px 3px;background:var(--gold-soft);min-height:4px}.bc i.hi{background:var(--gold)}.bc span{font-size:11px;color:var(--mut)}
.bars .bc{justify-content:flex-end}.bars .bc i{flex:none}
.xp{display:grid;gap:10px}.xp-i{display:grid;grid-template-columns:48px 1fr;gap:0 14px;align-items:center;text-align:left;border:1px solid var(--g100);background:#fff;border-radius:20px;padding:14px;cursor:pointer}
.xp-i .ic{grid-row:span 2;width:48px;height:48px;padding:11px;border-radius:15px;background:var(--gold-soft);color:var(--gold-ink)}.xp-i b{font:600 16px/22px var(--font)}.xp-i small{color:var(--mut);font-size:12.5px}.xp-i.tour .ic{background:var(--dark);color:var(--gold-light)}.xp-i:hover{border-color:var(--gold)}
.timeline{display:grid;gap:0}.tl-i{display:grid;grid-template-columns:28px 1fr;gap:12px;position:relative;padding-bottom:18px}.tl-i::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--g200)}.tl-i:last-child::before{display:none}.tl-i:last-child{padding-bottom:0}
.tl-i .d{width:28px;height:28px;border-radius:50%;background:var(--g100);color:var(--g500);display:grid;place-items:center}.tl-i .d .ic{width:15px;height:15px}.tl-i.done .d{background:var(--dark);color:#fff}.tl-i.done::before{background:var(--dark)}.tl-i.now .d{background:var(--gold);color:var(--dark);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 25%,transparent)}
.tl-i b{display:block;font-weight:600;line-height:20px}.tl-i small{color:var(--mut);font-size:12.5px;line-height:17px;display:block}
.badge-st{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:99px;font:600 11.5px var(--font)}.badge-st .ic{width:13px;height:13px}
.badge-st.ok{background:var(--pos-soft);color:#0B6B4D}.badge-st.warn{background:var(--warn-soft);color:#8A5A00}.badge-st.neg{background:var(--neg-soft);color:#B91C1C}.badge-st.info{background:var(--info-soft);color:#1D4ED8}.badge-st.gray{background:var(--g100);color:var(--g600)}.badge-st.gold{background:var(--gold-soft);color:var(--dark)}
.hero-t{position:absolute;left:0;right:0;bottom:0;padding:18px;color:#fff;z-index:3}

/* feuilles, dialogues, toast */
.m-layer{position:absolute;inset:0;z-index:60;pointer-events:none;overflow:hidden}.m-layer.open{pointer-events:auto}
.m-scrim{position:absolute;inset:0;background:rgba(31,25,35,.48);opacity:0;transition:opacity .25s}.m-layer.open .m-scrim{opacity:1}
.m-sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:28px 28px 0 0;transform:translateY(102%);transition:transform .36s var(--ease);max-height:88%;display:flex;flex-direction:column;box-shadow:0 -20px 50px -20px rgba(0,0,0,.4)}
.m-sheet.show{transform:none}.m-sheet[hidden],.m-dialog[hidden],.w-modal[hidden]{display:none!important}
.m-sheet .grab{display:block;width:40px;height:4px;border-radius:2px;background:var(--g200);margin:10px auto 0;flex:none}
.m-sheet-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 12px 6px 20px;flex:none}.m-sheet-h b{font:700 19px/26px var(--font);letter-spacing:-.01em;display:block}.m-sheet-h small{display:block;color:var(--mut);font-size:13px}
.m-sheet-b{padding:6px 20px 20px;overflow-y:auto;min-height:0;scrollbar-width:none}.m-sheet-b::-webkit-scrollbar{display:none}.m-sheet-f{flex:none;padding:12px 20px 22px;border-top:1px solid var(--g100);background:#fff}
.m-sheet.full{max-height:94%;height:94%}
.m-dialog{position:absolute;left:30px;right:30px;top:50%;transform:translateY(-50%) scale(.92);opacity:0;transition:transform .26s var(--ease),opacity .2s;background:#fff;border-radius:26px;padding:24px 20px 18px;text-align:center;box-shadow:var(--sh2)}
.m-dialog.show{transform:translateY(-50%) scale(1);opacity:1}.m-dialog .dl-ic{width:60px;height:60px;border-radius:50%;background:var(--gold-soft);color:var(--gold-ink);display:grid;place-items:center;margin:0 auto 12px}.m-dialog .dl-ic .ic{width:30px;height:30px}
.m-dialog.danger .dl-ic{background:var(--neg-soft);color:var(--error)}.m-dialog b{font:700 18px/26px var(--font);display:block}.m-dialog p{margin:6px 0 16px;color:var(--g600);font-size:14px;line-height:21px}.dl-a{display:grid;gap:8px}
.m-toast{position:absolute;left:16px;right:16px;bottom:22px;z-index:80;background:var(--dark);color:#fff;border-radius:16px;padding:13px 16px;display:flex;gap:10px;align-items:center;font-size:14px;line-height:20px;box-shadow:var(--sh2);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s,transform .3s var(--ease)}
.scr.has-nav .m-toast{bottom:104px}.m-toast.show{opacity:1;transform:none}.m-toast .ic{width:20px;height:20px;flex:none}.m-toast.ok .ic{color:#34D399}.m-toast.ko{background:var(--error)}.scr.w .m-toast{left:50%;right:auto;width:420px;margin-left:-210px;bottom:28px}

/* ---------- Système web ---------- */
.scr.w{background:var(--bg);font-size:14px}.w-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.w-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:28px;height:70px;padding:0 40px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.w-nav .lg{display:flex;align-items:center;gap:10px;font:700 19px var(--font);cursor:pointer}.w-nav .tabs{display:flex;gap:4px}.w-nav .tabs a{padding:8px 16px;border-radius:99px;font:500 14px var(--font);color:var(--g600);cursor:pointer}.w-nav .tabs a:hover{background:var(--g100)}.w-nav .tabs a.on{background:var(--dark);color:#fff}
.w-nav .k-btn{min-height:42px!important}
.w-wrap{max-width:1160px;margin:0 auto;padding:0 40px}.w-sec{padding:44px 0}
.w-h1{font:700 44px/52px var(--font);letter-spacing:-.025em}.w-h2{font:700 28px/36px var(--font);letter-spacing:-.015em}.w-h3{font:600 18px/26px var(--font)}.w-lead{font-size:17px;line-height:28px;color:var(--g600)}
.w-g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.w-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.w-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.scr.w .k-btn{min-height:48px;border-radius:14px;font-size:15px;padding:12px 22px}
.w-foot{margin-top:40px;background:var(--dark);color:rgba(255,255,255,.8);padding:36px 0 28px;font-size:13px}.w-foot b{color:#fff}
.crumbs{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--g500)}.crumbs .sepc{display:grid;color:var(--g400)}.crumbs .sepc .ic{width:13px;height:13px}.crumbs span:last-child:not(.sepc){color:var(--dark);font-weight:500}
.w-app{display:grid;grid-template-columns:252px minmax(0,1fr);height:100%;background:var(--bg)}
.w-side{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.sd-brand{display:flex;align-items:center;gap:10px;padding:18px 20px;font:700 18px var(--font)}.sd-brand em{font:600 10.5px var(--font);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-soft);border-radius:99px;padding:1px 8px}
.w-side nav{padding:4px 12px;display:grid;gap:2px;align-content:start;flex:1;overflow:auto}.sd-sep{font:600 10.5px/16px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--g400);padding:14px 10px 4px}
.sd-i{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:var(--g600);font:500 14px var(--font);cursor:pointer;transition:background .15s}.sd-i .ic{width:20px;height:20px}.sd-i span:not(.k-count){flex:1}.sd-i:hover{background:var(--g100)}.sd-i.on{background:var(--dark);color:#fff}.sd-i.on .ic{color:var(--gold-light)}
.sd-user{display:flex;gap:10px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}.sd-user b{display:block;font:600 13px/17px var(--font)}.sd-user small{display:block;color:var(--g500);font-size:12px}
.w-main{display:flex;flex-direction:column;min-width:0;min-height:0}.w-top{flex:none;height:68px;display:flex;align-items:center;gap:12px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line)}.w-top h1{margin:0;font:700 22px/30px var(--font);letter-spacing:-.01em}
.w-body{flex:1;min-height:0;overflow:auto;padding:26px 32px 40px;scrollbar-width:thin}
.scr.w.app .w-scroll{overflow:hidden}
.kpi{background:#fff;border-radius:20px;box-shadow:var(--sh1);padding:18px;display:grid;gap:2px;position:relative;align-content:start}.kpi small{color:var(--g500);font-size:12.5px}.kpi b{font:700 26px/34px var(--font);letter-spacing:-.02em}
.kpi .dl{display:inline-flex;align-items:center;gap:3px;font:600 12px var(--font)}.kpi .dl.up{color:#0B6B4D}.kpi .dl.dn{color:#B91C1C}.kpi .dl .ic{width:14px;height:14px}.kpi .spark{position:absolute;right:14px;bottom:14px}.kpi .kp-ic{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:12px;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold-ink)}.kpi .kp-ic .ic{width:19px;height:19px}
.w-tbl{background:#fff;border-radius:20px;box-shadow:var(--sh1);overflow:hidden}.w-tbl table{width:100%;border-collapse:collapse;font-size:13.5px}.w-tbl th{font:600 11px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--g500);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--g50);white-space:nowrap}
.w-tbl td{padding:13px 16px;border-bottom:1px solid var(--g100);vertical-align:middle}.w-tbl tr:last-child td{border-bottom:0}.w-tbl tbody tr:hover td{background:var(--gold-soft2)}.w-tbl .r{text-align:right}.w-tbl td small{display:block;color:var(--g500);font-size:12px;line-height:16px}
.w-tbl tr[data-go],.w-tbl tr[data-open]{cursor:pointer}
.w-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .28s var(--ease),opacity .2s;width:520px;max-height:84%;background:#fff;border-radius:24px;box-shadow:var(--sh2);display:flex;flex-direction:column;overflow:hidden}
.w-modal.wide{width:760px}.w-modal.show{transform:translate(-50%,-50%);opacity:1}.wm-h{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 12px 24px;border-bottom:1px solid var(--line)}.wm-h b{font:700 18px/26px var(--font)}
.wm-b{padding:20px 24px;overflow:auto}.wm-f{padding:14px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:var(--g50)}
.w-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line)}.w-tabs a{padding:12px 0;font:500 14px var(--font);color:var(--g500);cursor:pointer;position:relative}.w-tabs a.on{color:var(--dark);font-weight:600}.w-tabs a.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold)}
.w-card{background:#fff;border-radius:22px;box-shadow:var(--sh1);padding:22px}
@media (prefers-reduced-motion:reduce){.scr.in-fwd,.scr.in-back,.scr.in-fade{animation:none}.m-sheet,.m-dialog,.w-modal{transition:none}}

/* ---------- cartes communes ---------- */
.pc{display:grid;gap:8px;cursor:pointer;min-width:0}.pc-ph{border-radius:20px}.pc-b{display:grid;gap:1px;padding:0 2px}.pc-b b{font:600 14px/20px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-b small{color:var(--mut);font-size:12.5px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-p{font-size:13px;color:var(--mut)}.pc-p b{font:700 14px var(--font);color:var(--dark)}.pc:active .pc-ph{transform:scale(.985)}.pc-ph{transition:transform .15s}
.dc{flex:none;cursor:pointer}.dc .sc{border-radius:22px}.dc .bl b{display:block;font:700 17px/22px var(--font);color:#fff;letter-spacing:-.01em}.dc .bl small{color:rgba(255,255,255,.88);font-size:12px}.dc:active .sc{transform:scale(.985)}.dc .sc{transition:transform .15s}
.plr{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;background:#fff;border-radius:20px;padding:10px;box-shadow:var(--sh1);cursor:pointer}.plr-ph{border-radius:14px}.plr b{display:block;font:600 14.5px/20px var(--font)}.plr small{display:block;color:var(--mut);font-size:12.5px;line-height:17px}.plr small.mut2{color:var(--g400)}
.kc{background:#fff;border-radius:22px;padding:10px;box-shadow:var(--sh1);cursor:pointer;display:grid;gap:10px}.kc .sc{border-radius:16px}.kc-b{display:grid;gap:2px;padding:0 4px 4px}.kc-b b{font:600 15px/22px var(--font)}.kc-b small{color:var(--mut);font-size:12.5px;line-height:17px}
.ent{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ent-i{position:relative;overflow:hidden;border:0;border-radius:20px;background:#fff;box-shadow:var(--sh1);padding:12px 12px 14px;text-align:left;cursor:pointer;display:grid;gap:10px;align-content:space-between;min-height:92px;color:var(--dark)}
.ent-i .ic{width:28px;height:28px;color:var(--gold-ink)}.ent-i b{font:600 14px/18px var(--font)}.ent-i small{display:block;font-size:11px;line-height:14px;color:var(--mut);font-weight:400}.ent-i.dk{background:var(--dark);color:#fff}.ent-i.dk .ic{color:var(--gold-light)}.ent-i.dk small{color:rgba(255,255,255,.7)}
.ent-i .mo{position:absolute;left:0;right:0;bottom:0;opacity:.5}
.stories{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding:2px 16px 4px}.stories::-webkit-scrollbar{display:none}
.st-i{display:grid;justify-items:center;gap:5px;flex:none;width:66px;cursor:pointer;background:none;border:0;padding:0;color:var(--dark)}.st-i .rg{padding:2.5px;border-radius:50%;background:conic-gradient(from 210deg,var(--gold),var(--gold-light),var(--brique),var(--gold))}.st-i .rg .pe{box-shadow:0 0 0 2.5px var(--bg)}.st-i.seen .rg{background:var(--g300)}.st-i span{font-size:11.5px;line-height:15px;max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.car{position:relative}.car-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 16px}.car-track::-webkit-scrollbar{display:none}.car-s{flex:0 0 calc(100% - 16px);scroll-snap-align:center;position:relative}
.car-s .sc{border-radius:24px;aspect-ratio:16/10}.car-s .bl{display:grid;gap:4px}.car-s .bl b{font:700 21px/27px var(--font);color:#fff;letter-spacing:-.015em}.car-s .bl small{color:rgba(255,255,255,.9);font-size:13px}.car-s .bl .k-btn{justify-self:start;margin-top:6px}
.car-dots{display:flex;gap:6px;justify-content:center;margin-top:10px}.car-dots i{width:6px;height:6px;border-radius:99px;background:var(--g300);transition:width .25s,background .25s;cursor:pointer}.car-dots i.on{width:20px;background:var(--dark)}
.greet{display:flex;align-items:center;gap:12px}.greet small{display:block;color:var(--mut);font-size:12.5px;line-height:16px}.greet b{font:600 16px/22px var(--font)}
.searchbar{display:flex;align-items:center;gap:10px;height:54px;border-radius:99px;background:#fff;box-shadow:var(--sh1);padding:0 8px 0 18px;color:var(--g500);cursor:pointer;border:1px solid var(--g100)}.searchbar .ic{width:22px;height:22px;color:var(--dark)}.searchbar span{flex:1;font-size:14.5px}.searchbar .go{width:38px;height:38px;border-radius:50%;background:var(--dark);color:var(--gold-light);display:grid;place-items:center}.searchbar .go .ic{width:19px;height:19px;color:inherit}
.next-visit{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--dark);color:#fff;border-radius:22px;padding:14px 16px;cursor:pointer;position:relative;overflow:hidden}.next-visit small{color:rgba(255,255,255,.72);display:block;font-size:12.5px;line-height:17px}.next-visit b{font:600 15px/21px var(--font)}.next-visit .nv-d{width:48px;height:52px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;text-align:center;line-height:1}.next-visit .nv-d b{font:700 20px var(--font)}.next-visit .nv-d small{font-size:10px;text-transform:uppercase;letter-spacing:.06em}
body.no-motif .mo{display:none}
.sbars{display:flex;gap:4px;position:absolute;left:12px;right:12px;top:40px;z-index:10}.sbars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden}.sbars i b{display:block;height:100%;width:0;background:#fff}
.story{position:absolute;inset:0}

.days{gap:8px}.day{flex:none;width:58px;height:74px;border-radius:18px;border:1.5px solid var(--g200);background:#fff;display:grid;align-content:center;justify-items:center;gap:0;cursor:pointer;color:var(--dark);transition:all .15s}.day small{color:var(--mut);font-size:11.5px;text-transform:capitalize}.day b{font:700 20px/26px var(--font)}
.day.sel{background:var(--dark);color:#fff;border-color:var(--dark)}.day.sel small{color:var(--gold-light)}
.dcw{cursor:pointer}.dcw .sc{border-radius:24px}.dcw .bl b{display:block;font:700 20px/26px var(--font);color:#fff;letter-spacing:-.01em}.dcw .bl small{color:rgba(255,255,255,.9);font-size:12.5px}

body.shot .pv{display:block;height:auto}body.shot .pv-top,body.shot .pv-side,body.shot .pv-bar,body.shot .pv-info,body.shot .pv-pop{display:none}body.shot .pv-main{display:block}
body.shot .pv-stage{position:static;overflow:visible;background:none}body.shot .pv-holder{position:static;transform:none!important;width:auto!important}
body.shot,body.shot html{overflow:hidden}body.shot .scr{animation:none!important}body.shot{background:#fff}

.stack,.pc,.pc-b,.kc,.kc-b,.kvl,.timeline{grid-template-columns:minmax(0,1fr)}
.ent-i{min-height:104px}.ent-i small{white-space:nowrap}

.w-tbl{overflow-x:auto}

.sc.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.sc.ph::after{opacity:.04}

.sc.ph .sc-tag{left:auto;right:8px;bottom:5px;font-size:8.5px;line-height:12px;opacity:.85;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc.ph:has(.sc-tag) .bl{bottom:24px}

/* emplacement d'image sans photo : neutre, jamais un décor qui dirait autre chose */
.sc.ph-empty{background:linear-gradient(160deg,var(--s1),var(--s2));display:grid;place-items:center;color:color-mix(in srgb,var(--s6) 55%,var(--s2))}
.sc.ph-empty>.ic{width:34px;height:34px;opacity:.7}.sc.ph-empty::after{display:none}

/* carte réelle : l'image (800×640) est recadrée autour du point d'intérêt ; les épingles vivent dans le même repère que l'image */
.map{container-type:size;position:relative;overflow:hidden;border-radius:18px;background:#E9E4D8;height:180px}
.map-in{--W:max(100cqw,125cqh);position:absolute;width:var(--W);aspect-ratio:800/640;left:clamp(100cqw - var(--W),50cqw - var(--fx) * var(--W) / 100,0px);top:clamp(100cqh - var(--W) * .8,50cqh - var(--fy) * var(--W) * .8 / 100,0px)}
.map-in>img{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
.map-in>.pin{z-index:2}
.map-attr{position:absolute;right:6px;bottom:4px;font:500 9px/12px var(--font);color:#4F4955;background:rgba(255,255,255,.8);border-radius:4px;padding:0 5px;z-index:3}
.pin.dot{width:14px;height:14px;padding:0;border-radius:50%;border:2.5px solid #fff;background:var(--brique);box-shadow:0 1px 4px rgba(0,0,0,.35)}
.pin.white{border:1px solid var(--g200);padding:3px 10px}
.pin.l{transform:translate(-100%,-100%)}.pin.dot{transform:translate(-50%,-50%)}

/* ---------- commentaires d'équipe (collab.js) ---------- */
.cm-count{min-width:18px;height:18px;border-radius:9px;background:var(--brique);color:#fff;font:700 11px/18px var(--font);text-align:center;padding:0 5px}
.cm-layer{position:absolute;inset:0;z-index:60;pointer-events:none}
.cm-layer.on{pointer-events:auto;cursor:crosshair;background:rgba(181,133,90,.05)}
.cm-pin{position:absolute;width:30px;height:30px;margin:-30px 0 0 -15px;border:0;padding:0;background:none;cursor:pointer;pointer-events:auto}
.cm-pin span{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);color:#fff;font:700 12px var(--font);box-shadow:0 3px 8px rgba(31,41,55,.35);border:2px solid #fff}
.cm-pin span{writing-mode:horizontal-tb}.cm-pin.done{opacity:.45}.cm-pin.sel span{box-shadow:0 0 0 3px var(--gold),0 3px 8px rgba(31,41,55,.35)}
.cm-pin.new span{background:var(--dark);animation:cm-pop .2s var(--ease)}@keyframes cm-pop{from{transform:rotate(-45deg) scale(.4)}}
#cm-panel{position:absolute;top:12px;right:12px;bottom:12px;width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -20px rgba(31,41,55,.5);z-index:30;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:width .24s var(--ease),opacity .2s}
#cm-panel.open{width:340px;opacity:1;pointer-events:auto}
#cm-panel>header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}#cm-panel>header span{color:var(--mut);font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cm-panel>header button,#cm-panel footer button{margin-left:auto;border:0;background:none;cursor:pointer;color:var(--mut);font:500 12px var(--font)}#cm-panel>header>button{font-size:20px;line-height:1}
#cm-panel nav{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line)}#cm-panel nav a{padding:5px 10px;border-radius:8px;font:500 12.5px var(--font);cursor:pointer;color:var(--mut)}#cm-panel nav a.on{background:var(--brand-soft);color:var(--dark)}
.cm-body{flex:1;overflow:auto;padding:10px;display:grid;gap:10px;align-content:start}
.cm-hint,.cm-empty{margin:0;color:var(--mut);font-size:12.5px;line-height:18px}
.cm-body>a{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:13px}.cm-body>a em{color:var(--brique);font-style:normal;font-weight:600;font-size:12px}
.cm-th{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:6px}.cm-th.sel{border-color:var(--gold);box-shadow:0 0 0 2px var(--brand-soft)}.cm-th.resolved{opacity:.6}
.cm-th header{display:flex;align-items:center;gap:6px;font-size:13px}.cm-th header small{color:var(--mut);flex:1}.cm-th header button{border:0;background:none;color:var(--mut);cursor:pointer;font:500 11.5px var(--font)}.cm-th header button:hover{color:var(--dark)}
.cm-th p{margin:0;font-size:13.5px;line-height:19px;white-space:pre-wrap;overflow-wrap:anywhere}.cm-n{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font:700 11px var(--font)}
.cm-av{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font:700 9.5px var(--font);font-style:normal;flex:none}
.cm-rp{display:flex;gap:8px;padding-left:4px;font-size:13px}.cm-rp p{font-size:13px}.cm-rp small{color:var(--mut)}
.cm-th form{display:flex;gap:6px}.cm-th input,.cm-auth input,.cm-new textarea{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:14px var(--font);background:#fff}
.cm-th form button,.cm-new button:last-child,.cm-auth button{border:0;border-radius:9px;background:var(--dark);color:#fff;padding:8px 12px;font:600 12.5px var(--font);cursor:pointer}
.cm-new{display:grid;gap:8px;padding:10px;border:1px solid var(--gold);border-radius:12px;background:var(--brand-soft)}.cm-new div{display:flex;justify-content:flex-end;gap:8px}.cm-new button[type=button]{border:0;background:none;color:var(--mut);cursor:pointer}
.cm-auth{display:grid;gap:10px;padding:14px}.cm-auth p{margin:0;color:var(--mut);font-size:13px}.cm-auth a{text-align:center;color:var(--mut);font-size:12.5px;cursor:pointer;text-decoration:underline}.cm-err{color:var(--error);font-style:normal;font-size:12.5px}
#cm-panel footer{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);font-size:12.5px}


/* --- livryx.css --- */
/* ==========================================================================
   Livryx — couche d'identité de la maquette : sobre, moderne. Filets fins plutôt qu'ombres, un bloc bleu nuit par écran (le « héros »),
   gris bleutés, chiffres tabulaires, une seule action orange, vraies cartes et avatars illustrés.
   Chargée après kit.css et proto.css : elle les surcharge.
   ========================================================================== */
:root{
  --surface-app:#F7F5F1; --bg:#F7F5F1; --pv-bg:#E8E6F0;
  --ink:#1B1744; --dark:#1B1744; --navy:#231E58; --navy-2:#3A32A0;
  --mut:#5F5B7A; --g500:#7C7996; --g400:#A9A6C0; --g300:#CFCCE0; --g200:#E3E1EE; --g100:#F0EFF6; --g50:#F8F7FB;
  --line:rgba(35,30,88,.08); --line-2:#E3E1EE;
  --gold:#EE6724; --brique:#EE6724; --gold-light:#FF9A62; --gold-ink:#C2461A; --brand-ink:#C2461A;
  --gold-soft:#FFF0E8; --gold-soft2:#FFF8F3; --brand-soft:#FFF0E8;
  --ok:#0E9F6E; --ok-ink:#0A7A55; --pos-soft:#E3F5EC; --warn-soft:#FFF3D6; --warn-ink:#9A6200; --neg-soft:#FDECEC; --neg-ink:#B91C1C; --info-soft:#ECEBF8;
  --sh1:0 1px 0 rgba(35,30,88,.03); --sh2:0 2px 6px rgba(35,30,88,.06),0 22px 44px -20px rgba(35,30,88,.36);
  --cta:var(--gold); --cta-fg:#fff; --cta-bd:var(--gold);
}
html[data-cta=navy]{--cta:var(--navy);--cta-bd:var(--navy)}
body{color:var(--ink);font-feature-settings:"tnum" 1}
.pv-top{background:#fff}.pv-lg{width:28px;height:28px;border-radius:9px;background:var(--gold);color:#fff;display:grid;place-items:center}.pv-lg .ic{width:16px;height:16px}
.pv-brand em{background:var(--gold-soft);color:var(--gold-ink)}
.pv-stage{background:var(--pv-bg) radial-gradient(circle,#CFCBE0 1px,transparent 1.3px) 0 0/22px 22px}
.pv-act button[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold)}
.pv-roles button[aria-pressed=true],.pv-dev button[aria-pressed=true]{color:var(--navy)}
.ic{flex:none}
/* boutons : la variante principale suit --cta ; les autres suivent la charte Livryx */
.k-btn{border-radius:16px;font-weight:600}
.k-btn.outline{background:#fff;border:1px solid var(--line-2);color:var(--ink)}
.k-btn.ink,.k-btn.blue{background:var(--navy);border-color:var(--navy);color:#fff}
.k-btn.sec,.k-btn.soft{background:var(--g100);border-color:transparent;color:var(--ink)}
.k-btn.white{background:#fff;border-color:#fff;color:var(--ink)}
.k-btn.glass{background:rgba(255,255,255,.16);border-color:transparent;color:#fff}
.k-btn.text{background:transparent;border-color:transparent;color:var(--gold-ink)}
.k-btn.danger{background:var(--neg-soft);border-color:transparent;color:var(--neg-ink)}
.k-tag.dark{background:var(--navy);color:#fff}.k-tag.gold{background:var(--gold-soft);color:var(--gold-ink)}
.k-field{border-radius:16px;box-shadow:none}.k-field input,.k-field textarea{border-radius:16px}
.k-switch[aria-checked=true]{background:var(--ok)}
.card{border:1px solid var(--line);box-shadow:none;border-radius:20px}.card.dark{background:var(--navy);border:0}
.rw-ic{border-radius:12px;background:var(--g100);color:var(--navy)}.rw-ic.o{background:var(--gold-soft);color:var(--gold-ink)}.rw-ic.g{background:var(--pos-soft);color:var(--ok-ink)}.rw-ic.a{background:var(--warn-soft);color:var(--warn-ink)}
.eyebrow,.k-sep{color:var(--g500);letter-spacing:.07em}
.t-h1{font-weight:600;letter-spacing:-.025em}.t-h2{font-weight:600;font-size:18px;letter-spacing:-.015em}.t-h3{font-weight:600}
.m-top{background:var(--bg)}.mt-t b{font:600 17px/22px var(--font);letter-spacing:-.01em;display:block}.mt-t small{display:block;color:var(--mut);font-size:12.5px;line-height:16px}
.m-ib{color:var(--ink)}.m-ib.bk{background:#fff;border:1px solid var(--line);margin-left:0}
.m-foot{box-shadow:0 -1px 0 var(--line);background:#fff}
.m-sheet{border-radius:28px 28px 0 0}.m-toast{background:var(--navy)}
/* avatars illustrés */
.pe{background:var(--g100);border-radius:50%;position:relative}.pe.sq{border-radius:16px}.pe .on{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--ok);border:2px solid #fff}.pe .on.off{background:var(--g400)}
.pe.ring{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold)}
/* statuts */
.pl{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:99px;font:600 11.5px/1 var(--font);white-space:nowrap;background:var(--g100);color:var(--navy)}
.pl::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pl.o{background:var(--gold-soft);color:#B8431A}.pl.g{background:var(--pos-soft);color:var(--ok-ink)}.pl.a{background:var(--warn-soft);color:var(--warn-ink)}.pl.n{background:var(--g100);color:var(--mut)}.pl.r{background:var(--neg-soft);color:var(--neg-ink)}
/* bloc héros bleu nuit */
.hero{background:linear-gradient(140deg,#231E58 0%,#322A8E 100%);color:#fff;border-radius:24px;padding:20px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-60px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(238,103,36,.55),rgba(238,103,36,0) 68%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.4px);background-size:14px 14px;-webkit-mask-image:linear-gradient(120deg,transparent 35%,#000);mask-image:linear-gradient(120deg,transparent 35%,#000)}
.hero>*{position:relative;z-index:1}.hero .lab{font:500 11px/16px var(--font);letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.hero .big{font:600 34px/40px var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.hero .big small{font:500 14px var(--font);opacity:.7;letter-spacing:0;margin-left:4px}
.hero .delta{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:99px;background:rgba(255,255,255,.14);font:600 12px var(--font)}.hero .delta .ic{width:14px;height:14px}
.hero .spark{display:block;width:100%;height:56px;margin-top:10px;color:#fff}.hero .spark .sf{fill:rgba(255,255,255,.14)}
.hero .mut{color:rgba(255,255,255,.72)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:10px;align-content:start}
.tile .ti{width:36px;height:36px;border-radius:12px;background:var(--g100);color:var(--navy);display:grid;place-items:center}.tile .ti .ic{width:20px;height:20px}.tile .ti.o{background:var(--gold-soft);color:var(--gold-ink)}.tile .ti.g{background:var(--pos-soft);color:var(--ok-ink)}.tile .ti.a{background:var(--warn-soft);color:var(--warn-ink)}
.tile b{display:block;font:600 18px/22px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tile b small{font:500 11px var(--font);color:var(--g500);letter-spacing:0;margin-left:3px}.tile span.l{font:400 12px/16px var(--font);color:var(--mut)}
.lst{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.lst>.rw{padding:12px 14px;border-bottom:1px solid var(--line);min-height:0}.lst>.rw:last-child{border:0}
.lst .grow>span{font:600 14px/20px var(--font)}
/* chronologie */
.tl{display:grid}.tl-i{display:flex;gap:14px;align-items:flex-start;position:relative;padding-bottom:14px}.tl-i:last-child{padding-bottom:0}
.tl-i::before{content:"";position:absolute;left:6px;top:20px;bottom:-2px;width:2px;background:repeating-linear-gradient(var(--g300) 0 4px,transparent 4px 8px)}.tl-i:last-child::before{display:none}
.tl-i>i{width:14px;height:14px;border-radius:50%;border:4px solid var(--navy);background:#fff;margin-top:4px;flex:none}.tl-i.o>i{border-color:var(--gold)}.tl-i.done>i{border-color:var(--ok);background:var(--ok)}
.tl-i b{display:block;font:600 13.5px/20px var(--font)}.tl-i small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
/* barre d'onglets */
.nb{position:absolute;left:12px;right:12px;bottom:12px;z-index:20;display:flex;padding:6px 6px 8px;background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:0 14px 30px -14px rgba(35,30,88,.38)}
.nb-i{flex:1;display:grid;justify-items:center;gap:3px;border:0;background:none;padding:0;cursor:pointer;font:500 10.5px/14px var(--font);color:var(--g500)}
.nb-ic{position:relative;width:48px;height:30px;border-radius:15px;display:grid;place-items:center;transition:background .2s,color .2s}.nb-ic .ic{width:22px;height:22px}
.nb-i.on{color:var(--navy);font-weight:600}.nb-i.on .nb-ic{background:var(--navy);color:#fff}
.nb-bdg{position:absolute;top:-3px;right:2px;min-width:16px;height:16px;border-radius:9px;background:var(--gold);color:#fff;font:700 9.5px/16px var(--font);font-style:normal;text-align:center;padding:0 4px;border:1.5px solid #fff}
.scr.has-nav .m-scroll{padding-bottom:92px}.scr.has-nav .m-foot{margin-bottom:0}
/* cartes réelles */
.map{border-radius:0;background:#E8E6EE}.map.r{border-radius:20px}
.map-in>img{filter:saturate(.8) contrast(.96) brightness(1.03)}
.pin{background:var(--navy);color:#fff;border-radius:99px;font:600 11.5px/18px var(--font);box-shadow:0 6px 14px -4px rgba(35,30,88,.5)}.pin .ic{color:#fff}
.pin.or,.pin.gold{background:var(--gold);color:#fff}.pin.white{background:#fff;color:var(--ink);border:0}
.pin.cour{width:42px;height:42px;padding:0;justify-content:center;border:3px solid #fff;transform:translate(-50%,-50%);border-radius:50%}.pin.cour .ic{width:21px;height:21px;color:#fff}
.pin.me{width:20px;height:20px;padding:0;border:4px solid #fff;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 9px rgba(35,30,88,.16),0 4px 10px rgba(35,30,88,.35)}
.pin.org{width:18px;height:18px;padding:0;border:5px solid var(--navy);background:#fff;transform:translate(-50%,-50%);border-radius:50%}
.pin.dot{background:var(--gold)}
.pin.dst{width:34px;height:34px;padding:0;border-radius:50% 50% 50% 4px;transform:translate(-50%,-100%) rotate(-45deg);background:var(--gold);justify-content:center}.pin.dst::after{content:"";width:12px;height:12px;border-radius:50%;background:#fff}
.route{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.route path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route .rc{stroke:#fff;stroke-width:11}.route .rl{stroke:var(--gold);stroke-width:6}
.map-attr{font-size:9px}
.fab{position:absolute;z-index:6;width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 6px 16px -4px rgba(35,30,88,.3);color:var(--ink);border:0;padding:0;cursor:pointer}.fab .ic{width:20px;height:20px}
/* feuille flottante sur carte */
.fsheet{position:absolute;left:0;right:0;bottom:0;z-index:12;background:#fff;border-radius:28px 28px 0 0;padding:10px 20px 96px;box-shadow:0 -14px 40px -10px rgba(35,30,88,.28);display:grid;gap:14px}
.fsheet .grab{width:38px;height:4px;border-radius:2px;background:var(--g200);margin:0 auto}
.search{display:flex;align-items:center;gap:12px;height:54px;padding:0 18px;border-radius:18px;background:var(--g100);color:var(--g500);font:500 15px var(--font);cursor:pointer}.search .ic{width:22px;height:22px;color:var(--navy)}
.shortcuts{display:flex;gap:8px;overflow:hidden}.shortcuts .k-chip{height:40px;border-radius:14px;background:#fff;border:1px solid var(--line);padding:0 14px}.shortcuts .k-chip .ic{color:var(--gold-ink)}
.rec{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);cursor:pointer}.rec:first-child{border:0}.rec .grow b{display:block;font:500 14px/20px var(--font)}.rec .grow small{font:400 12px/16px var(--font);color:var(--mut)}
.ti{width:36px;height:36px;border-radius:12px;background:var(--g100);color:var(--navy);display:grid;place-items:center;flex:none}.ti .ic{width:19px;height:19px}.ti.o{background:var(--gold-soft);color:var(--gold-ink)}
/* choix de véhicule */
.vehs{display:flex;gap:10px}.veh{flex:1;display:grid;justify-items:center;gap:2px;padding:12px 4px 10px;border-radius:16px;border:1px solid var(--line);background:#fff;font:600 12px var(--font);cursor:pointer;color:var(--ink)}
.veh small{font:400 11px var(--font);color:var(--mut)}.veh[aria-checked=true],.veh.on{border:1.5px solid var(--navy);background:#F3F2FB}.vehimg{display:block;width:52px;height:32px;object-fit:contain}
/* web : barre latérale bleu nuit */
.scr.w{background:var(--bg)}
.w-side{background:linear-gradient(180deg,#231E58,#1B1744);border-right:0;color:#fff}
.sd-brand{display:flex;align-items:center;gap:10px;padding:22px 22px 16px;font:600 20px var(--font);letter-spacing:-.02em;color:#fff}.lg-i{width:32px;height:32px;border-radius:10px;background:var(--gold);display:grid;place-items:center}.lg-i .ic{width:18px;height:18px}
.sd-sep{color:rgba(255,255,255,.45)}
.sd-i{color:rgba(255,255,255,.74);border-radius:12px}.sd-i:hover{background:rgba(255,255,255,.07)}.sd-i.on{background:rgba(255,255,255,.1);color:#fff;font-weight:600;position:relative}.sd-i.on::before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}.sd-i.on .ic{color:var(--gold-light)}
.sd-user{border-top:1px solid rgba(255,255,255,.1);color:#fff}.sd-user small{color:rgba(255,255,255,.6)}
.w-top{background:transparent;border-bottom:0;height:78px}.w-top h1{font:600 24px/30px var(--font);letter-spacing:-.02em}
.kpi{border:1px solid var(--line);box-shadow:none;border-radius:20px}.kpi b{font-weight:600}.kpi .kp-ic{background:var(--g100);color:var(--navy)}
.kpi.hero{background:linear-gradient(140deg,#231E58,#322A8E);border:0;color:#fff;overflow:hidden}.kpi.hero small{color:rgba(255,255,255,.7)}.kpi.hero .kp-ic{background:rgba(255,255,255,.14);color:#fff}.kpi.hero .dl.up{color:#7CF0C3}
.kpi .spark{position:static;display:block;width:100%;height:44px;margin-top:6px;color:#fff}.kpi .spark .sf{fill:rgba(255,255,255,.14)}
.w-tbl{border:1px solid var(--line);box-shadow:none;border-radius:20px}.w-tbl th{background:#FBFAF8}.w-tbl tbody tr:hover td{background:var(--gold-soft2)}
.w-card{border:1px solid var(--line);box-shadow:none;border-radius:20px;background:#fff}
.k-count{background:var(--gold);color:#fff;border-radius:10px;min-width:20px;height:20px;display:inline-grid;place-items:center;font:700 11px var(--font);padding:0 6px}
.mut{color:var(--mut)}

/* correctifs communs (remontés par les rédacteurs) */
.k-btn.danger:not(#a):not(#b){background:var(--neg-soft);border-color:transparent;color:var(--neg-ink)}
.k-btn.blue:not(#a):not(#b){background:var(--navy);border-color:var(--navy);color:#fff}
.k-btn.soft:not(#a):not(#b){background:var(--g100);border-color:transparent;color:var(--ink)}
.k-btn.glass:not(#a):not(#b){background:rgba(255,255,255,.16);border-color:transparent;color:#fff}
.k-field.hasic{padding-left:50px}.k-field.hasic label{left:auto}.k-field.hasic input{padding-left:0}
.k-field .fi{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;color:var(--g500)}.k-field .fi .ic{width:20px;height:20px}
.nb-i:not(.on) .nb-ic{color:var(--g500)}.nb-i:not(.on) .nb-ic .ic{opacity:1}


/* --- livryx_3d.css --- */
/* Carte 3D immersive : toile, HUD, états. */
.s3d{position:relative;width:100%;overflow:hidden;background:#CFE6F7;color:#fff;isolation:isolate}
.s3d.is-night{background:#0D1030}
.s3d-cv,.s3d-cv canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.s3d-ld{position:absolute;inset:0;display:none;place-items:center;align-content:center;gap:10px;color:var(--navy);font:600 14px var(--font);background:#CFE6F7;z-index:3}
.s3d-cv.is-loading~.s3d-ld{display:grid}.s3d-cv.is-error~.s3d-ld{display:grid}
.s3d-cv.is-error~.s3d-ld::after{content:"Scène 3D indisponible hors connexion";font:400 12px var(--font);color:var(--tx2)}
.s3d-ld i{width:26px;height:26px;border-radius:50%;border:3px solid rgba(35,30,88,.2);border-top-color:var(--gold);animation:s3dsp 1s linear infinite}@keyframes s3dsp{to{transform:rotate(360deg)}}
.s3d-hud{position:absolute;inset:0;pointer-events:none;z-index:2;font-family:var(--font)}
.s3d-hud button{pointer-events:auto;cursor:pointer}
.s3d-top{position:absolute;left:16px;right:16px;top:48px;display:flex;justify-content:space-between;align-items:flex-start}
.s3d-sp{width:74px;height:74px;border-radius:50%;background:rgba(27,23,68,.82);backdrop-filter:blur(8px);display:grid;place-content:center;text-align:center;box-shadow:0 6px 20px rgba(27,23,68,.35)}
.s3d-sp b{font:700 26px/26px var(--font);font-variant-numeric:tabular-nums}.s3d-sp small{font:500 10.5px/12px var(--font);opacity:.75}
.s3d-st{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;background:rgba(27,23,68,.82);backdrop-filter:blur(8px);font:600 13px/16px var(--font);box-shadow:0 6px 20px rgba(27,23,68,.3)}
.s3d-st i{width:10px;height:10px;border-radius:50%;background:#7C86FF}.s3d-st.o i{background:var(--gold)}.s3d-st.r i{background:#FF4D4D;animation:s3dp 1s ease-in-out infinite}.s3d-st.g i{background:#33C27F}.s3d-st.a i{background:#F5B301}
@keyframes s3dp{50%{opacity:.35}}
.s3d-side{position:absolute;right:16px;top:134px;display:grid;gap:8px;justify-items:end}
.s3d-seg{display:flex;padding:3px;border-radius:99px;background:rgba(27,23,68,.78);backdrop-filter:blur(8px)}
.s3d-seg button{border:0;background:transparent;color:#fff;font:600 12px/16px var(--font);padding:7px 12px;border-radius:99px;min-height:32px}
.s3d-seg button[aria-pressed=true]{background:#fff;color:var(--navy)}
.s3d-bot{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:16px;padding:12px 14px;border-radius:20px;background:rgba(27,23,68,.84);backdrop-filter:blur(10px)}
.s3d-bot small{display:block;font:500 11px/14px var(--font);opacity:.7}.s3d-bot b{font:700 17px/22px var(--font);font-variant-numeric:tabular-nums}
.s3d-jump{margin-left:auto;display:flex;gap:6px}.s3d-jump button{border:0;border-radius:99px;background:rgba(255,255,255,.14);color:#fff;font:600 12px/16px var(--font);padding:8px 11px;min-height:34px}
.s3d-top{top:98px;justify-content:flex-start}
.s3d-st{position:absolute;left:50%;top:-54px;transform:translateX(-50%);white-space:nowrap}
.s3d-side{top:98px}
.s3d-bot{bottom:172px}
.s3d-bot{gap:10px;padding:10px 12px;left:12px;right:12px}.s3d-jump{gap:4px;min-width:0}.s3d-jump button{padding:8px 8px;font-size:11.5px}
.s3d-nav{position:absolute;left:16px;top:182px;max-width:62%;display:none;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:16px;background:rgba(27,23,68,.84);backdrop-filter:blur(8px);font:500 12.5px/16px var(--font)}
.s3d-nav:not(:empty){display:flex}
.s3d-nav i{width:30px;height:30px;border-radius:10px;background:var(--gold);display:grid;place-items:center;font:700 17px/1 var(--font);font-style:normal;flex:none}
.s3d-nav b{font-weight:700;margin-right:2px}
.s3d-log{margin:10px 0 0;padding:10px 12px 10px 28px;border-radius:14px;background:#1B1744;color:#E7E4FA;font:500 11px/16px ui-monospace,Consolas,monospace;min-height:150px;max-height:200px;overflow:hidden}
.s3d-log li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s3d-ev{width:100%;border-collapse:collapse;font:400 12.5px/18px var(--font);color:var(--tx)}
.s3d-ev th{text-align:left;font-weight:600;color:var(--tx2);padding:6px 8px;border-bottom:1px solid var(--ln)}
.s3d-ev td{padding:7px 8px;border-bottom:1px solid var(--ln);vertical-align:top}.s3d-ev code{font:500 11.5px/16px ui-monospace,Consolas,monospace;color:var(--navy);word-break:break-all}
/* HUD compact quand la scène est basse (miniatures de la bibliothèque) */
.s3d{container-type:size}
@container (max-height:520px){
  .s3d-top{top:12px;left:12px;right:12px}.s3d-st{top:0;left:auto;right:0;transform:none}
  .s3d-sp{width:54px;height:54px}.s3d-sp b{font-size:19px;line-height:20px}
  .s3d-nav{top:76px;left:12px;max-width:calc(100% - 24px)}
  .s3d-side{top:auto;bottom:72px;right:12px}.s3d-side .s3d-seg+.s3d-seg{display:none}
  .s3d-bot{bottom:12px}.s3d-jump{display:none}
}


/* --- livryx_colis.css --- */
/* Carte de suivi d'un colis : boutons de carte, colis, trajet vertical, frise à plat, capsule livreur. */
.mb-l{left:16px;top:44px}.mb-r{right:16px;top:44px}
.pcl{display:flex;align-items:center;gap:12px}
.pcl-t{width:48px;height:48px;border-radius:15px;background:#fff;color:var(--navy);display:grid;place-items:center;flex:none;box-shadow:0 1px 0 rgba(35,30,88,.06)}.pcl-t .ic{width:26px;height:26px}
.pcl b{display:block;font:600 15.5px/20px var(--font);color:var(--tx);letter-spacing:-.01em}.pcl small{display:block;font:400 12px/16px var(--font);color:var(--tx2)}
.rtc{display:flex;gap:14px;padding-top:14px;margin-top:14px;border-top:1px dashed rgba(35,30,88,.18)}
.rtc-i{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;gap:4px}
.rtc-i span{width:28px;height:28px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center}.rtc-i span .ic{width:16px;height:16px}.rtc-i span.b{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.rtc-i i{width:0;border-left:2px dashed rgba(35,30,88,.35);min-height:22px}
.rtc-t{display:grid;gap:14px;flex:1;min-width:0}.rtc-t small{display:block;font:500 12px/16px var(--font);color:var(--tx2)}.rtc-t b{display:block;font:600 14.5px/20px var(--font);color:var(--tx);letter-spacing:-.01em}
.sl2{display:flex;align-items:center;margin-top:16px}
.sl2-d{width:12px;height:12px;border-radius:50%;background:rgba(35,30,88,.2);flex:none;display:grid;place-items:center}
.sl2-d.done{background:var(--navy)}.sl2-d.now{width:34px;height:34px;background:var(--navy);color:#fff;box-shadow:0 0 0 5px rgba(35,30,88,.14)}.sl2-d.now .ic{width:19px;height:19px}
.sl2-l{flex:1;height:0;border-top:2px dashed rgba(35,30,88,.22);margin:0 6px}.sl2-l.done{border-top:3px solid var(--navy)}
.tnt{padding:16px;border-radius:24px;background:#E9EEF4;border:1px solid rgba(35,30,88,.05);color:var(--tx)}
.dk .tnt{background:rgba(255,255,255,.07)}.dk .pcl-t{background:rgba(255,255,255,.12);color:#fff}.dk .rtc-i span{background:var(--gold)}.dk .rtc-i span.b{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.dk .sl2-d{background:rgba(255,255,255,.25)}.dk .sl2-d.done,.dk .sl2-d.now{background:var(--gold)}.dk .sl2-d.now{box-shadow:0 0 0 5px rgba(238,103,36,.25)}.dk .sl2-l.done{border-top-color:var(--gold)}.dk .rtc{border-top-color:rgba(255,255,255,.2)}.dk .sl2-l{border-top-color:rgba(255,255,255,.28)}.dk .sl2-l.done{border-top-color:var(--gold)}.dk .rtc-i i{border-left-color:rgba(255,255,255,.4)}
.cap{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 10px;border-radius:99px;background:#E7E4FA;color:#1B1744}
.cap b{display:block;font:600 15px/20px var(--font)}.cap small{display:block;font:400 12px/16px var(--font);color:#5F5B7A}
.cap-call{width:56px;height:56px;border-radius:50%;border:0;background:#1B1744;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;flex:none}.cap-call .ic{width:24px;height:24px}
.dk .cap{background:rgba(255,255,255,.1);color:#fff}.dk .cap small{color:var(--tx2)}.dk .cap-call{background:var(--gold)}


/* --- livryx_nuit.css --- */
/* ==========================================================================
   Livryx — conduite et mode sombre : note, plaque, panneau, bandeau de guidage, tête de profil, barre de disponibilité,
   carte véhicule, historique, dock rond, résumé de trajet, ligne contact, radar, adresse, bulle, glisser + refuser.
   Les composants lisent --sf --sf2 --tx --tx2 --ln (définis dans livryx_suivi.css) : la classe .dk les passe en sombre.
   ========================================================================== */
.rt{display:inline-flex;align-items:center;gap:4px;font:500 12.5px/16px var(--font);color:var(--tx2)}.rt svg.ic{width:14px;height:14px;color:#F5B301!important;opacity:1!important}.rt b{font-weight:600;color:var(--tx)}
.pr small{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.plate{display:inline-block;padding:1px 8px;border-radius:6px;background:#FFD43B;color:#1B1744;font:700 11.5px/18px var(--font);letter-spacing:.04em;border:1px solid rgba(0,0,0,.12);white-space:nowrap}
.lim{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;border:4px solid #E02B2B;color:#1B1744;font:700 15px/1 var(--font);box-sizing:border-box;flex:none}

.dk .pl{color:#fff;background:rgba(255,255,255,.1)}.dk .pl.o{background:rgba(238,103,36,.2);color:#FFB48A}.dk .pl.g{background:rgba(14,159,110,.22);color:#6EE7B7}.dk .pl.a{background:rgba(245,179,1,.18);color:#FCD34D}.dk .pl.r{background:rgba(239,68,68,.2);color:#FCA5A5}.dk .pl.n{color:var(--tx2)}
.dk .m-top{background:var(--bg)}.dk .mt-t b{color:#fff}
.dk .nb{background:#1F1C42;border-color:rgba(255,255,255,.08)}.dk .nb-i{color:rgba(255,255,255,.55)}.dk .nb-i.on{color:#fff}.dk .nb-i.on .nb-ic{background:var(--gold)}.dk .nb-i:not(.on) .nb-ic{color:rgba(255,255,255,.6)}
.dk .map-in>img{filter:invert(.92) hue-rotate(180deg) saturate(.3) brightness(.72) contrast(.9)}
.dk .map .pin{box-shadow:0 6px 14px -4px rgba(0,0,0,.6)}
.dk .fsheet{background:#1B1838;box-shadow:0 -14px 40px -10px rgba(0,0,0,.6);color:#fff}.dk .fsheet .grab{background:rgba(255,255,255,.2)}
.dk .kvl dt{color:var(--tx2)}.dk .kvl dd{color:#fff}.dk .kvl>div{border-color:var(--ln)}
.dk .t-h1,.dk .t-h2,.dk .t-h3{color:#fff}.dk .mut{color:var(--tx2)}
.dk .k-btn.outline{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}
.dk .m-ib{color:#fff}.dk .m-ib.bk{background:var(--sf);border-color:var(--ln)}
.dk .fab{background:#2A2650;color:#fff}
.dk .eta{background:#2A2650}
.dk .slide{background:#fff}.dk .sl-t{color:#13112C}.dk .slide.ok{background:#fff}
.dk .cc{background:rgba(238,103,36,.14);border-color:rgba(238,103,36,.25)}.dk .cc b{color:#fff}.dk .cc small{color:#FFB48A}.dk .cc-b{background:rgba(255,255,255,.12);color:#fff}
.dk .hd-b,.dk .hd-av{border-color:var(--ln)}
.dk .lh-go,.dk .hero .lh-go{background:#fff}
.dk .hero{background:linear-gradient(140deg,#2A2470 0%,#3A32A0 100%)}
.scr.has-dock .m-scroll{padding-bottom:96px}
.lb-ph.dk{background:var(--bg);border-color:rgba(255,255,255,.06)}.lb-ph.dk .lb-cap,.lb-ph.dk code{color:var(--tx2)}

.nvb{position:absolute;left:12px;right:12px;top:42px;z-index:14;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:22px;background:var(--sf);background-color:#fff;border:1px solid var(--ln);box-shadow:0 12px 28px -12px rgba(35,30,88,.45);color:var(--tx)}
.dk .nvb{background:#211E45;box-shadow:0 12px 28px -12px rgba(0,0,0,.7)}
.nvb-i{width:46px;height:46px;border-radius:15px;background:var(--gold);color:#fff;display:grid;place-items:center;flex:none}.nvb-i .ic{width:28px;height:28px}
.nvb b{display:block;font:600 24px/28px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.nvb small{display:block;font:500 13px/18px var(--font);color:var(--tx2)}
.nvb-s{display:flex;gap:6px;align-items:center;flex:none}
.nvb.static{position:relative;left:auto;right:auto;top:auto}

.ph{display:grid;justify-items:center;gap:4px;text-align:center}.ph>b{font:600 21px/28px var(--font);letter-spacing:-.02em;margin-top:8px;color:var(--tx)}.ph-s{min-height:18px}
.pe.ring{box-shadow:0 0 0 3px var(--gold-soft),0 0 0 5px rgba(238,103,36,.35)}.dk .pe.ring{box-shadow:0 0 0 3px rgba(238,103,36,.25),0 0 0 5px rgba(238,103,36,.45)}

.gobar{position:relative;width:100%;height:58px;border:0;border-radius:20px;background:var(--gold);color:#fff;font:600 16px/1 var(--font);cursor:pointer;display:grid;place-items:center;transition:background .25s;padding:0 16px;box-shadow:0 12px 24px -12px rgba(238,103,36,.7)}
.gobar span{display:inline-flex;align-items:center;gap:10px;grid-area:1/1}.gobar .ic{width:22px;height:22px}
.gobar .go-on{display:none}.gobar[aria-pressed=true]{background:var(--ok);box-shadow:0 12px 24px -12px rgba(14,159,110,.7)}.gobar[aria-pressed=true] .go-off{display:none}.gobar[aria-pressed=true] .go-on{display:inline-flex}
.gobar .lv-pulse i{background:#fff}.gobar .lv-pulse::after{background:#fff}

.vc{position:relative;display:grid;align-content:space-between;gap:6px;min-height:104px;padding:16px;border-radius:22px;background:var(--sf);border:1px solid var(--ln);overflow:hidden;color:var(--tx)}
.vc-n{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vc-n b{font:600 17px/22px var(--font);letter-spacing:-.01em}.vc small{font:400 12.5px/16px var(--font);color:var(--tx2)}
.vc>.vehimg{position:absolute;right:-8px;bottom:6px;width:46%;height:auto;max-height:78px;object-fit:contain}
.vc-t{position:relative;z-index:1;display:grid;gap:4px;max-width:58%}

.hc-rail{margin:0 -20px;padding:0 20px 2px}
.hc{flex:0 0 44%;scroll-snap-align:start;display:grid;gap:6px;justify-items:start;padding:14px;border-radius:20px;background:var(--sf);border:1px solid var(--ln);min-height:104px;align-content:end}
.hc b{font:600 20px/24px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--tx);margin-top:8px}.hc small{font:400 12px/16px var(--font);color:var(--tx2)}
.lb-ph .hc-rail{margin:0;padding:0 0 2px}

.dock-w{position:absolute;left:0;right:0;bottom:14px;z-index:20;display:flex;justify-content:center;pointer-events:none}
.dock{display:flex;gap:10px;padding:8px;border-radius:99px;background:var(--sf);border:1px solid var(--ln);pointer-events:auto;backdrop-filter:blur(12px)}
.dk .dock{background:rgba(38,34,78,.86)}.scr:not(.dk) .dock{background:#fff;box-shadow:0 14px 30px -14px rgba(35,30,88,.38)}
.dk-i{width:48px;height:48px;border-radius:50%;border:0;background:var(--sf2);color:var(--tx);display:grid;place-items:center;cursor:pointer;padding:0}.dk-i .ic{width:23px;height:23px}
.dk-i.on{background:var(--gold);color:#fff}.scr:not(.dk) .dk-i.on{background:var(--navy)}
.dk-i{position:relative}.dk-i .nb-bdg{top:-2px;right:-2px;border-color:var(--bg)}
.scr.has-nav .m-scroll{padding-bottom:96px}
.lb-nbp .dock-w,.lb-ph .dock-w{position:relative;left:auto;right:auto;bottom:auto}

.ts{display:grid;gap:14px}
.ts-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.ts-h>b{font:500 17px/22px var(--font);color:var(--tx);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.ts-h>b span{color:var(--tx2);font-weight:500}
.ts-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ts-c small{display:block;font:500 12px/16px var(--font);color:var(--tx2)}.ts-c b{display:block;font:600 17px/22px var(--font);letter-spacing:-.01em;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-p{position:relative;height:6px;border-radius:3px;background:var(--sf2);margin:10px 18px 10px 0}
.ts-p i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,rgba(238,103,36,.15),var(--gold))}
.ts-p span{position:absolute;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#fff;color:var(--gold-ink);display:grid;place-items:center;box-shadow:0 4px 12px -2px rgba(0,0,0,.35)}.ts-p span .ic{width:18px;height:18px}

.pr{display:flex;align-items:center;gap:12px;color:var(--tx)}.pr b{display:block;font:600 14.5px/20px var(--font)}.pr small{display:block;font:400 12px/16px var(--font);color:var(--tx2)}
.m-ib.sq{width:44px;height:44px;border-radius:14px;background:var(--sf2);color:var(--tx);position:relative}.m-ib.sq .ic{width:21px;height:21px}
.pr-dot{position:absolute;right:9px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}

.pls{position:relative;width:96px;height:96px;margin:0 auto;display:grid;place-items:center}
.pls b{width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(238,103,36,.25)}
.pls i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:plsw 2.6s ease-out infinite}.pls i:nth-child(2){animation-delay:.85s}.pls i:nth-child(3){animation-delay:1.7s}
@keyframes plsw{from{transform:scale(.2);opacity:.9}to{transform:scale(1);opacity:0}}

.ad{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-radius:20px;background:var(--sf);border:1px solid var(--ln);color:var(--tx)}
.ad b{display:block;font:600 18px/24px var(--font);letter-spacing:-.01em}.ad small{display:block;font:400 12.5px/16px var(--font);color:var(--tx2)}
.ad-c{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;background:var(--sf2);font:600 12px/1 var(--font);white-space:nowrap}.ad-c .ic{width:15px;height:15px}
.qt{position:relative;padding:12px 14px;border-radius:16px 16px 16px 4px;background:var(--sf2);color:var(--tx)}.qt small{display:block;font:500 11.5px/16px var(--font);color:var(--tx2);margin-bottom:2px}.qt p{margin:0;font:400 13.5px/20px var(--font)}

.cfb{display:flex;gap:10px;align-items:center}.cfb .slide{flex:1;min-width:0}
.cfb-x{width:60px;height:60px;border-radius:20px;border:1px solid var(--ln);background:var(--sf2);color:var(--tx);display:grid;place-items:center;cursor:pointer;padding:0;flex:none}.cfb-x .ic{width:24px;height:24px}


/* --- livryx_suivi.css --- */
/* Jetons de surface : clair par défaut, sombre avec la classe .dk (écran ou conteneur). */
:root,.scr{--sf:#fff;--sf2:var(--g100);--tx:var(--ink);--tx2:var(--mut);--ln:var(--line);--tx-brand:var(--navy)}
.dk{--sf:rgba(255,255,255,.06);--sf2:rgba(255,255,255,.11);--tx:#fff;--tx2:rgba(255,255,255,.62);--ln:rgba(255,255,255,.09);--tx-brand:#fff;--bg:#13112C;--ink:#fff;--dark:#fff;--mut:rgba(255,255,255,.62);--g500:rgba(255,255,255,.55);--g100:rgba(255,255,255,.08);--g200:rgba(255,255,255,.14);--line:rgba(255,255,255,.09);--pos-soft:rgba(14,159,110,.2);--ok-ink:#6EE7B7;color:#fff;background:var(--bg)}
.hd-w{background:var(--gold-soft)}.dk .hd-w{background:rgba(238,103,36,.2);color:#FFB48A}
/* ==========================================================================
   Livryx — composants de suivi : en-tête, héros « livraison en cours », actions rapides, carrousel de livraisons,
   « refaire ce trajet », pastille d'arrivée sur la carte, numéro de suivi, glisser pour confirmer.
   ========================================================================== */
.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 14px}
.hd-b{position:relative;width:44px;height:44px;border-radius:50%;background:var(--sf);border:1px solid var(--ln);display:grid;place-items:center;color:var(--tx);padding:0;cursor:pointer}.hd-b .ic{width:22px;height:22px}
.hd-b .bdg{position:absolute;right:-2px;top:-2px;min-width:16px;height:16px;border-radius:99px;background:var(--gold);color:#fff;font:700 10px/16px var(--font);text-align:center;padding:0 4px}
.hd-w{font:700 18px/1 var(--font);letter-spacing:-.03em;color:var(--tx-brand);background:var(--gold-soft);padding:7px 14px;border-radius:12px}
.hd-av{width:44px;height:44px;border-radius:50%;padding:0;border:2px solid #fff;background:#fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;display:grid;place-items:center;overflow:hidden}

.hero.live{padding:18px 18px 20px;border-radius:26px}
.lh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.lh-code{font:600 26px/32px var(--font);letter-spacing:-.03em;margin-top:2px}
.lh-go{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;padding:0;flex:none}.lh-go .ic{width:20px;height:20px}
.lh-dates{display:flex;justify-content:space-between;margin-top:14px;font:500 12px/16px var(--font);color:rgba(255,255,255,.72)}
.lh-st{display:flex;align-items:center;margin-top:10px}
.lh-d{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;border:2px solid rgba(255,255,255,.4);color:#fff;box-sizing:border-box}
.lh-d .ic{width:14px;height:14px}
.lh-d.done{background:#fff;border-color:#fff;color:var(--navy)}
.lh-d.now{width:34px;height:34px;background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px rgba(238,103,36,.28)}.lh-d.now .ic{width:19px;height:19px}
.lh-l{flex:1;height:0;border-top:2px dotted rgba(255,255,255,.4);margin:0 5px}.lh-l.done{border-top-color:#fff}

.qas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lb-ph .qas{gap:8px}.lb-ph .qa{padding:10px;height:92px}.lb-ph .qa b{font-size:12px}
.qa{display:grid;gap:14px;align-content:space-between;justify-items:start;height:104px;padding:14px;border-radius:20px;background:var(--sf);border:1px solid var(--ln);text-align:left;cursor:pointer;color:var(--tx);font:inherit}
.qa-i{width:40px;height:40px;border-radius:14px;background:var(--sf2);color:var(--tx);display:grid;place-items:center}.qa-i .ic{width:24px;height:24px}
.qa:first-child .qa-i{background:var(--gold);color:#fff}
.qa b{font:600 13.5px/18px var(--font);letter-spacing:-.01em}

.sc-rail,.rd-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 2px;scrollbar-width:none}.sc-rail::-webkit-scrollbar,.rd-rail::-webkit-scrollbar{display:none}
.sc{flex:0 0 78%;scroll-snap-align:start;display:grid;gap:8px;padding:14px;border-radius:20px;background:var(--sf);border:1px solid var(--ln);cursor:pointer}
.sc-r{display:flex;align-items:center}.sc-r .pl{margin-left:auto}
.sc-b{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 10.5px/1 var(--font);letter-spacing:.02em;border:2px solid #fff;box-sizing:border-box}
.sc-b.b2{background:var(--gold);margin-left:-9px}
.sc>b{color:var(--tx);font:600 14.5px/20px var(--font);letter-spacing:-.01em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sc-ar{display:inline-grid;color:var(--g500)}.sc-ar .ic{width:14px;height:14px}
.sc small{font:400 12px/16px var(--font);color:var(--tx2)}

.rd{flex:0 0 46%;scroll-snap-align:start;display:grid;gap:4px;padding:12px 12px 14px;border-radius:20px;background:var(--sf);border:1px solid var(--ln);cursor:pointer;justify-items:start}
.rd-w{font:500 11px/16px var(--font);color:var(--tx2);background:var(--sf2);padding:2px 8px;border-radius:99px}
.rd .vehimg{width:100%;height:56px;margin:6px 0 2px}
.rd-p{white-space:nowrap;color:var(--tx);font:600 17px/22px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rd b{font:500 12.5px/16px var(--font);color:var(--tx)}.rd small{font:600 11.5px/14px var(--font);color:var(--gold-ink)}

.eta{position:absolute;left:66px;right:16px;top:44px;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 16px;border-radius:22px;background:var(--navy);color:#fff;box-shadow:0 10px 24px -8px rgba(35,30,88,.55)}
.eta small{display:block;font:500 11px/14px var(--font);color:rgba(255,255,255,.7)}
.eta-v{display:flex;align-items:baseline;gap:8px}.eta-v b{font:600 21px/26px var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.eta-v span{font:500 11.5px/16px var(--font);color:rgba(255,255,255,.75)}
.eta-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--gold);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;flex:none}.eta-x .ic{width:20px;height:20px}
.eta.static{position:relative;left:auto;right:auto;top:auto}

.cc{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 14px 16px;border-radius:20px;background:var(--gold-soft);border:1px solid rgba(238,103,36,.14)}
.cc small{display:block;font:500 12px/16px var(--font);color:var(--gold-ink)}
.cc b{display:block;font:600 19px/26px var(--font);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.cc-b{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;padding:0;flex:none}.cc-b .ic{width:21px;height:21px}

.slide{--p:0;container-type:inline-size;position:relative;height:60px;border-radius:99px;background:var(--sf2);display:flex;align-items:center;justify-content:center;overflow:hidden;user-select:none;touch-action:none}
.slide::before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(60px + var(--p)*(100% - 60px));background:rgba(238,103,36,.16);border-radius:99px}
.sl-t{position:relative;font:600 14px/1 var(--font);color:var(--tx);padding-left:44px;opacity:calc(1 - var(--p)*1.1)}
.sl-h{position:absolute;left:4px;top:4px;width:52px;height:52px;border-radius:50%;border:0;background:var(--gold);color:#fff;display:grid;place-items:center;cursor:grab;padding:0;box-shadow:0 6px 14px -4px rgba(238,103,36,.6);transition:transform .25s ease}
.slide.drag .sl-h{transition:none;cursor:grabbing}.sl-h .ic{width:24px;height:24px}
.slide.ok{background:var(--pos-soft)}.slide.ok::before{background:var(--ok);width:100%;opacity:.14}
.slide.ok .sl-h{transform:translateX(calc(100cqw - 60px));background:var(--ok);box-shadow:none}
.slide.ok .sl-t{opacity:1;color:var(--ok-ink)}
.lb-ph .rd-rail,.lb-ph .sc-rail{margin:0;padding:0 0 2px}


/* --- s01_client_commande.css --- */
.map-screen .m-scroll{padding:0;overflow:hidden}.map-screen .map{position:absolute;left:0;right:0;top:0}
.finding{position:absolute;inset:0}.finding .map{position:absolute;left:0;right:0;top:0}
.radar{position:absolute;left:50%;top:34%;z-index:3;width:0;height:0}.radar i{position:absolute;left:-90px;top:-90px;width:180px;height:180px;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:radar 2.4s ease-out infinite}.radar i:nth-child(2){animation-delay:.8s}.radar i:nth-child(3){animation-delay:1.6s}
@keyframes radar{from{transform:scale(.2);opacity:.8}to{transform:scale(1.6);opacity:0}}
.courier-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:#F7F6FB}.courier-card b{display:block;font:600 14.5px/20px var(--font)}.courier-card small{font:400 12px var(--font);color:var(--mut)}
.courier-card .bd{background:#fff;border:1px solid var(--line)}.courier-card .bd.pr{background:var(--navy);color:#fff;border:0}
.ti.big{width:88px;height:88px;border-radius:50%;margin:0 auto}.ti.big .ic{width:44px;height:44px}.ti.g{background:var(--pos-soft);color:var(--ok-ink)}
.k-disc{display:grid;place-items:center}
.scr.map-screen .fsheet,.scr.has-nav .fsheet{padding-bottom:104px}


/* --- s02_client_suite.css --- */
/* Client — suite : commandes, détail, annulation, litige, notifications, messages. Préfixe cx-. */
.cx-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}
.cx-card.flat{padding:0;overflow:hidden}
.cx-h3{font:600 15px/20px var(--font);letter-spacing:-.01em}
.cx-cap{font:500 11px/16px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--g500)}
.cx-mut{font:400 13px/19px var(--font);color:var(--mut)}
.cx-num{font-variant-numeric:tabular-nums}
.cx-sec{display:grid;gap:10px}
.cx-sec>.cx-cap{padding:0 2px}

/* carte de commande */
.cx-oc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;display:grid;gap:12px;cursor:pointer}
.cx-oc-h{display:flex;gap:12px;align-items:center}
.cx-vt{width:46px;height:46px;border-radius:14px;background:var(--g100);display:grid;place-items:center;flex:none}
.cx-vt .vehimg{width:34px;height:24px}
.cx-oc-h b{display:block;font:600 14px/20px var(--font);letter-spacing:.01em}
.cx-oc-h small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.cx-pr{text-align:right;display:grid;gap:5px;justify-items:end}
.cx-pr b{font:600 15px/20px var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}
.cx-rt{display:grid;gap:9px;position:relative;padding:2px 0 0}
.cx-rt>div{display:flex;align-items:center;gap:12px;font:500 13px/18px var(--font);min-width:0}
.cx-rt>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-rt i{width:12px;height:12px;border-radius:50%;border:3px solid var(--navy);background:#fff;flex:none;position:relative;z-index:1}
.cx-rt i.d{border-color:var(--gold);background:var(--gold)}
.cx-rt::before{content:"";position:absolute;left:5px;top:14px;bottom:12px;width:2px;background:repeating-linear-gradient(var(--g300) 0 3px,transparent 3px 6px)}
.cx-oc-f{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.cx-oc-f .k-btn{flex:none}
.cx-oc-f small{font:400 12px/16px var(--font);color:var(--mut);flex:1}
.cx-grp{display:grid;gap:10px}
.cx-note-lock{display:flex;gap:10px;align-items:flex-start;font:400 12.5px/18px var(--font);color:var(--mut);padding:0 2px}
.cx-note-lock .ic{width:16px;height:16px;margin-top:1px;color:var(--g500)}

/* héros commande (bloc bleu nuit) */
.cx-ho .big{margin-top:4px}
.cx-ho .sub{font:400 13px/19px var(--font);color:rgba(255,255,255,.74);margin-top:2px}
.cx-hr{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);position:relative}
.cx-hr>div{display:flex;align-items:center;gap:12px;font:500 13.5px/18px var(--font)}
.cx-hr i{width:12px;height:12px;border-radius:50%;border:3px solid #fff;background:transparent;flex:none;position:relative;z-index:1}
.cx-hr i.d{border-color:var(--gold-light);background:var(--gold-light)}
.cx-hr::before{content:"";position:absolute;left:5px;top:32px;bottom:12px;width:2px;background:repeating-linear-gradient(rgba(255,255,255,.4) 0 3px,transparent 3px 6px)}
.cx-hp{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:99px;background:rgba(255,255,255,.14);color:#fff;font:600 11.5px/1 var(--font);white-space:nowrap}
.cx-hp::before{content:"";width:6px;height:6px;border-radius:50%;background:#C9C6E2}
.cx-hp.o::before{background:var(--gold-light)}.cx-hp.g::before{background:#5BE0A8}.cx-hp.r::before{background:#FF8A8A}
.cx-ho-act{display:flex;gap:10px;margin-top:16px}
.cx-ho-act .k-btn{flex:1}
.cx-ho-act .k-btn.glass{flex:none}

/* chronologie : étapes à venir et échec */
.tl-i.wait>i{border-color:var(--g300);background:#fff}.tl-i.wait b{color:var(--g500);font-weight:500}.tl-i.wait small{color:var(--g400)}
.tl-i.bad>i{border-color:var(--neg-ink);background:var(--neg-ink)}.tl-i.bad b{color:var(--neg-ink)}
.tl-i.off>i{border-color:var(--g500);background:var(--g500)}
.tl-i b em{font-style:normal;font-weight:500;color:var(--g500);margin-left:6px;font-size:12px}

/* ligne avec avatar */
.cx-pers{display:flex;align-items:center;gap:12px}
.cx-pers b{display:block;font:600 14.5px/20px var(--font)}.cx-pers small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.cx-pers .m-ib{background:#fff;border:1px solid var(--line)}.cx-pers .m-ib.pr{background:var(--navy);color:#fff;border:0}

/* états */
.cx-center{display:grid;justify-items:center;text-align:center;gap:8px;padding:56px 28px 0}
.cx-center h3{margin:8px 0 0;font:600 20px/26px var(--font);letter-spacing:-.02em}
.cx-center p{margin:0;font:400 14px/21px var(--font);color:var(--mut);max-width:290px}
.cx-center .k-btn{margin-top:14px}
.cx-disc{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--g100);color:var(--navy);position:relative}
.cx-disc .ic{width:40px;height:40px}
.cx-disc::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px dashed var(--g300)}
.cx-disc.o{background:var(--gold-soft);color:var(--gold-ink)}.cx-disc.g{background:var(--pos-soft);color:var(--ok-ink)}.cx-disc.r{background:var(--neg-soft);color:var(--neg-ink)}.cx-disc.a{background:var(--warn-soft);color:var(--warn-ink)}
.cx-disc.g::after{border-color:#BFE7D3}.cx-disc.r::after{border-color:#F4C6C6}.cx-disc.o::after{border-color:#F8CDB5}.cx-disc.a::after{border-color:#F0DBA5}
.cx-sk{display:block;border-radius:14px;background:linear-gradient(90deg,var(--g100),#fff,var(--g100));background-size:200% 100%;animation:shim 1.2s linear infinite}
.cx-skc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;display:grid;gap:12px}
.cx-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--warn-soft);color:var(--warn-ink);font:500 13px/19px var(--font)}
.cx-banner .ic{width:20px;height:20px;margin-top:0}

/* preuve et reçu */
.cx-ph{aspect-ratio:1/1.05;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(150deg,#E9E7F4,#D8D5EB);display:grid;place-items:center;color:var(--navy)}
.cx-ph::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(35,30,88,.1) 1px,transparent 1.4px);background-size:12px 12px}
.cx-ph .ic{width:40px;height:40px;position:relative;opacity:.8}
.cx-ph .cap{position:absolute;left:8px;bottom:8px;right:8px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.cx-ph .cap span{background:#fff;border-radius:99px;padding:0 9px;height:22px;display:inline-flex;align-items:center;font:600 11px/1 var(--font);color:var(--ink)}
.cx-ph.big{aspect-ratio:auto;height:220px}
.cx-ph.big .ic{width:56px;height:56px}
.cx-ph .ex{position:absolute;right:8px;top:8px;background:rgba(255,255,255,.85);border-radius:99px;padding:0 8px;height:20px;display:inline-flex;align-items:center;font:600 10px/1 var(--font);color:var(--mut);letter-spacing:.04em}
.cx-paper{background:#fff;border:1px solid var(--line);border-radius:22px;position:relative;padding:20px 18px 18px;display:grid;gap:14px}
.cx-paper::after{content:"";position:absolute;left:12px;right:12px;bottom:-7px;height:14px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;z-index:-1}
.cx-paper-h{display:flex;align-items:center;gap:10px;font:600 18px var(--font);letter-spacing:-.02em}
.cx-paper-h .lg{width:30px;height:30px;border-radius:10px;background:var(--gold);color:#fff;display:grid;place-items:center}.cx-paper-h .lg .ic{width:17px;height:17px}
.cx-cut{border-top:2px dashed var(--g200);margin:0 -2px}
.cx-big{font:600 30px/36px var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.cx-big small{font:500 13px var(--font);color:var(--g500);margin-left:4px;letter-spacing:0}
.cx-stamp{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:99px;background:var(--pos-soft);color:var(--ok-ink);font:600 12px var(--font)}.cx-stamp .ic{width:16px;height:16px}

/* options radio (litige, paiement) */
.cx-opt{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);cursor:pointer;font:500 14px/20px var(--font);text-align:left;width:100%}
.cx-opt .grow small{display:block;font:400 12px/17px var(--font);color:var(--mut)}
.cx-opt>.rd{width:20px;height:20px;border-radius:50%;border:2px solid var(--g300);flex:none;display:grid;place-items:center;transition:border-color .15s}
.cx-opt[aria-checked=true]{border:1.5px solid var(--navy);background:#F5F4FC}
.cx-opt[aria-checked=true]>.rd{border-color:var(--navy)}.cx-opt[aria-checked=true]>.rd::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}

/* notifications */
.cx-nf{display:flex;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);position:relative;cursor:pointer;align-items:flex-start}
.cx-nf:last-child{border-bottom:0}
.cx-nf.un{background:#FBFAFE}
.cx-nf.un::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.cx-nf .ti{width:40px;height:40px;border-radius:13px}.cx-nf .ti .ic{width:21px;height:21px}
.cx-nf .ti.g{background:var(--pos-soft);color:var(--ok-ink)}.cx-nf .ti.r{background:var(--neg-soft);color:var(--neg-ink)}.cx-nf .ti.a{background:var(--warn-soft);color:var(--warn-ink)}.cx-nf .ti.b{background:var(--info-soft);color:var(--navy-2)}
.cx-nf .tx{flex:1;min-width:0}
.cx-nf .tx b{display:block;font:600 14px/20px var(--font)}
.cx-nf .tx span{display:block;font:400 13px/18px var(--font);color:var(--mut);margin-top:1px}
.cx-nf .tm{font:500 11.5px/16px var(--font);color:var(--g500);white-space:nowrap;text-align:right;display:grid;gap:6px;justify-items:end}
.cx-nf .tm i{width:9px;height:9px;border-radius:50%;background:var(--gold)}

/* messages */
.cx-find{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--g500)}
.cx-find .ic{width:20px;height:20px;color:var(--navy)}.cx-find input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 14.5px var(--font);color:var(--ink)}
.cx-cv{display:flex;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start}
.cx-cv:last-child{border-bottom:0}
.cx-cv .grow{display:grid;gap:2px;min-width:0;grid-template-columns:minmax(0,1fr)}
.cx-cv .t1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.cx-cv .t1 b{font:600 14.5px/20px var(--font)}.cx-cv .t1 span{font:500 11.5px var(--font);color:var(--g500);white-space:nowrap}
.cx-cv .cx-ctx{display:flex;align-items:center;gap:5px;font:500 11.5px/16px var(--font);color:var(--navy-2)}.cx-cv .cx-ctx .ic{width:14px;height:14px}
.cx-cv .t3{display:flex;gap:8px;align-items:center}
.cx-cv .t3 span:not(.ct){flex:1;min-width:0;font:400 13px/18px var(--font);color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-cv.un .t3 span:not(.ct){color:var(--ink);font-weight:500}
.cx-cv .ct{min-width:20px;height:20px;border-radius:10px;background:var(--gold);color:#fff;font:700 11px/20px var(--font);text-align:center;padding:0 6px}
.cx-cv.off{opacity:.78}
.cx-cv .t3 .ic{width:14px;height:14px;color:var(--g500)}

/* conversation */
.cx-chat-top{display:flex;align-items:center;gap:10px;min-width:0}
.cx-chat-top b{display:block;font:600 16px/20px var(--font);letter-spacing:-.01em}
.cx-chat-top small{display:flex;align-items:center;gap:5px;font:400 12px/16px var(--font);color:var(--mut)}
.cx-chat-top small i{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.cx-chat-ctx{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#fff;border:1px solid var(--line);font:500 12.5px/17px var(--font);cursor:pointer}
.cx-chat-ctx .ti{width:32px;height:32px;border-radius:10px}.cx-chat-ctx .ti .ic{width:17px;height:17px}
.cx-chat-ctx small{display:block;font:400 11.5px/15px var(--font);color:var(--mut)}
.cx-day{align-self:center;font:600 11px/16px var(--font);letter-spacing:.04em;color:var(--g500);background:var(--g100);border-radius:99px;padding:3px 12px;margin:2px auto}
.cx-msgs{display:grid;gap:8px;padding:6px 16px 16px}
.cx-b{max-width:78%;padding:10px 13px;border-radius:18px;font:400 14.5px/20px var(--font);position:relative;word-wrap:break-word}
.cx-b.them{background:#fff;border:1px solid var(--line);border-bottom-left-radius:6px;justify-self:start}
.cx-b.me{background:var(--navy);color:#fff;border-bottom-right-radius:6px;justify-self:end}
.cx-b.bad{background:#fff;color:var(--ink);border:1.5px solid #F2B8B8}
.cx-bm{display:flex;gap:5px;align-items:center;justify-content:flex-end;font:500 10.5px/14px var(--font);margin-top:3px;color:rgba(255,255,255,.62)}
.cx-b.them .cx-bm{color:var(--g500);justify-content:flex-start}
.cx-b.bad .cx-bm{color:var(--neg-ink)}
.cx-bm .ic{width:14px;height:14px}.cx-bm .rd{color:#7CE3B7}
.cx-retry{justify-self:end;display:inline-flex;gap:6px;align-items:center;height:30px;padding:0 12px;border-radius:99px;border:1px solid #F2B8B8;background:#fff;color:var(--neg-ink);font:600 12px var(--font);cursor:pointer;margin-top:-2px}
.cx-retry .ic{width:15px;height:15px}
.cx-quick{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 16px 10px}.cx-quick::-webkit-scrollbar{display:none}
.cx-quick .k-chip{flex:none;height:34px;font-size:13px;background:#fff;border-color:var(--line);color:var(--ink)}
.cx-comp{display:flex;align-items:center;gap:8px}
.cx-comp input{flex:1;min-width:0;height:46px;border-radius:23px;border:1px solid var(--line-2);background:var(--g50);padding:0 16px;font:400 14.5px var(--font);outline:0;color:var(--ink)}
.cx-comp .m-ib{background:var(--g100);flex:none}
.cx-comp .m-ib.send{background:var(--navy);color:#fff}
.cx-lock{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--g100);font:500 13px/18px var(--font);color:var(--mut)}
.cx-lock .ic{width:20px;height:20px;color:var(--navy);flex:none}
.cx-hello{display:grid;justify-items:center;text-align:center;gap:6px;padding:40px 30px 10px}
.cx-hello h3{margin:10px 0 0;font:600 20px/26px var(--font);letter-spacing:-.02em}.cx-hello p{margin:0;font:400 14px/21px var(--font);color:var(--mut);max-width:280px}

/* annulation */
.cx-rules{display:grid;gap:0}
.cx-rule{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font:400 13.5px/20px var(--font);align-items:flex-start}
.cx-rule:last-child{border:0}
.cx-rule .ti{width:32px;height:32px;border-radius:10px}.cx-rule .ti .ic{width:17px;height:17px}
.cx-rule b{display:block;font:600 14px/19px var(--font)}.cx-rule span{color:var(--mut)}
.cx-ok-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--pos-soft);color:var(--ok-ink);font:600 13px/18px var(--font)}
.cx-ok-bar .ic{width:22px;height:22px}.cx-ok-bar small{display:block;font:400 12px/16px var(--font);color:var(--ok-ink);opacity:.85}
.cx-ko-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--neg-soft);color:var(--neg-ink);font:600 13px/18px var(--font)}
.cx-ko-bar .ic{width:22px;height:22px}.cx-ko-bar small{display:block;font:400 12px/16px var(--font);opacity:.9}
.cx-ta{width:100%;border:1px solid var(--line-2);border-radius:16px;background:#fff;padding:12px 14px;font:400 14.5px/21px var(--font);resize:none;outline:0;color:var(--ink);min-height:92px}
.cx-addph{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px dashed var(--g300);border-radius:16px;background:#fff;cursor:pointer;width:100%;text-align:left;font:500 14px var(--font);color:var(--ink)}
.cx-addph .ti{width:36px;height:36px}

.cx-seg-w{margin:0 16px}
.scr.m .cx-pad-b{padding-bottom:24px}

.m-top>.m-ib,.m-top>.pe{flex:none}.m-top .mt-t{min-width:0}
.cx-oc-f .k-btn[disabled]{opacity:.55}


/* --- s02b_client_compte.css --- */
/* Client — suite 2 : compte, adresses, paiement, invité, web. Préfixe cx- (partage s02_client_suite.css). */
/* compte */
.cx-ah{display:flex;gap:14px;align-items:center}
.cx-ah b{display:block;font:600 19px/24px var(--font);letter-spacing:-.02em;color:#fff}
.cx-ah small{display:block;font:400 13px/18px var(--font);color:rgba(255,255,255,.72);margin-top:1px}
.cx-st{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
.cx-st>div{display:grid;gap:1px;padding-left:14px;border-left:1px solid rgba(255,255,255,.14)}.cx-st>div:first-child{padding-left:0;border:0}
.cx-st b{font:600 19px/24px var(--font);font-variant-numeric:tabular-nums;color:#fff}.cx-st span{font:400 11.5px/16px var(--font);color:rgba(255,255,255,.66)}
.cx-ah .pe{box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.cx-lockrow .tag{margin-left:auto}
.cx-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:99px;background:var(--g100);color:var(--mut);font:600 11px/1 var(--font);white-space:nowrap}
.cx-badge .ic{width:13px;height:13px}.cx-badge.o{background:var(--gold-soft);color:#B8431A}.cx-badge.g{background:var(--pos-soft);color:var(--ok-ink)}
.cx-out{display:grid;gap:8px;padding-top:4px}
.cx-link{background:none;border:0;font:600 14px var(--font);color:var(--neg-ink);cursor:pointer;padding:12px;width:100%}

/* lieux enregistrés */
.cx-place{display:flex;gap:12px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px}
.cx-pm{width:84px;flex:none;border-radius:14px;overflow:hidden;position:relative;min-height:84px}
.cx-pm .map{position:absolute;inset:0;height:100%!important;border-radius:0}.cx-pm .map-in>img{filter:saturate(.8)}
.cx-pm .pin.me{width:14px;height:14px;border-width:3px;box-shadow:0 0 0 6px rgba(35,30,88,.16)}
.cx-place .grow{display:grid;gap:2px;align-content:center}
.cx-place b{font:600 15px/20px var(--font)}.cx-place span{font:400 13px/18px var(--font);color:var(--mut)}
.cx-place .acts{display:flex;gap:6px;margin-top:8px}.cx-place .acts .k-btn{min-height:32px!important;padding:4px 12px!important;font-size:12.5px!important}
.cx-place .top{display:flex;gap:6px;align-items:center}

/* carte d'ajout de lieu */
.cx-pinfix{position:absolute;left:50%;top:34%;z-index:5;transform:translate(-50%,-100%);display:grid;justify-items:center}
.cx-pinfix .bub{background:var(--navy);color:#fff;border-radius:99px;padding:6px 12px;font:600 12px var(--font);white-space:nowrap;box-shadow:0 6px 14px -4px rgba(35,30,88,.5);margin-bottom:6px}
.cx-pinfix .pn{width:40px;height:40px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:var(--gold);display:grid;place-items:center;box-shadow:0 8px 16px -4px rgba(35,30,88,.5)}
.cx-pinfix .pn::after{content:"";width:14px;height:14px;border-radius:50%;background:#fff}
.cx-pinfix .sh{width:18px;height:6px;border-radius:50%;background:rgba(35,30,88,.25);margin-top:4px}
.cx-topsearch{position:absolute;left:66px;right:16px;top:44px;z-index:7;height:42px;border-radius:21px;background:#fff;box-shadow:0 6px 16px -4px rgba(35,30,88,.3);display:flex;align-items:center;gap:8px;padding:0 14px;font:500 13.5px var(--font);color:var(--ink)}
.cx-topsearch .ic{width:18px;height:18px;color:var(--navy)}.cx-topsearch span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-kinds{display:flex;gap:8px}
.cx-kinds .k-chip{flex:1;justify-content:center;height:40px;border-radius:14px}

/* paiement */
.cx-op{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:none;font:700 11px/1 var(--font);letter-spacing:-.01em}
.cx-op.mtn{background:#FFCC00;color:#231E58}.cx-op.moov{background:#1D4FA3;color:#fff}.cx-op.cash{background:var(--pos-soft);color:var(--ok-ink)}.cx-op.cash .ic{width:22px;height:22px}
.cx-op.lg{width:56px;height:56px;border-radius:18px;font-size:13px}
.cx-meth{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid var(--line);cursor:pointer;width:100%;text-align:left}
.cx-meth b{display:block;font:600 14.5px/20px var(--font)}.cx-meth small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.cx-meth>.rd{width:20px;height:20px;border-radius:50%;border:2px solid var(--g300);flex:none;display:grid;place-items:center}
.cx-meth[aria-checked=true]{border:1.5px solid var(--navy);background:#F5F4FC}
.cx-meth[aria-checked=true]>.rd{border-color:var(--navy)}.cx-meth[aria-checked=true]>.rd::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}
.cx-wait{position:absolute;inset:0;overflow:hidden}
.cx-ussd{position:relative;width:150px;height:150px;margin:0 auto;display:grid;place-items:center}
.cx-ussd i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--navy-2);opacity:0;animation:cxp 2.4s ease-out infinite}.cx-ussd i:nth-child(2){animation-delay:.8s}.cx-ussd i:nth-child(3){animation-delay:1.6s}
@keyframes cxp{from{transform:scale(.45);opacity:.5}to{transform:scale(1.15);opacity:0}}
.cx-ussd .ph{width:84px;height:84px;border-radius:26px;background:var(--navy);color:#fff;display:grid;place-items:center;position:relative;box-shadow:0 14px 28px -10px rgba(35,30,88,.55)}.cx-ussd .ph .ic{width:42px;height:42px}
.cx-cd{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:99px;background:var(--g100);font:500 13px var(--font);color:var(--mut)}.cd-n,.cx-cd b{font:600 14px var(--font);font-variant-numeric:tabular-nums;color:var(--ink)}
.cx-cd .ic{width:17px;height:17px;color:var(--navy)}
.cx-amount{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;background:var(--g100)}
.cx-amount small{display:block;font:400 12px/16px var(--font);color:var(--mut)}.cx-amount b{font:600 20px/26px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cx-flag{display:inline-block;width:20px;height:14px;border-radius:3px;background:linear-gradient(90deg,#008751 0 38%,transparent 38%),linear-gradient(180deg,#FCD116 50%,#E8112D 50%);vertical-align:-2px;margin-right:6px}

/* aide */
.cx-faq{display:grid;gap:0}
.cx-ans{display:grid;gap:12px;font:400 14.5px/22px var(--font);color:var(--ink)}.cx-ans p{margin:0}
.cx-logo{width:84px;height:84px;border-radius:26px;background:var(--gold);color:#fff;display:grid;place-items:center;margin:0 auto;box-shadow:0 18px 30px -14px rgba(238,103,36,.6)}.cx-logo .ic{width:44px;height:44px}

/* ------------------------------------------------------------------ web */
.cx-wapp{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg)}
.cx-wt{flex:none;height:68px;display:flex;align-items:center;gap:36px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.cx-wlogo{display:flex;align-items:center;gap:10px;font:600 21px var(--font);letter-spacing:-.025em;color:var(--ink)}.cx-wlogo .lg-i{width:34px;height:34px}
.cx-wn{display:flex;gap:6px;flex:1}
.cx-wn a{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;font:500 14.5px var(--font);color:var(--mut);cursor:pointer}
.cx-wn a .ic{width:20px;height:20px}.cx-wn a:hover{background:var(--g100)}
.cx-wn a.on{background:var(--navy);color:#fff;font-weight:600}
.cx-wr{display:flex;align-items:center;gap:14px}
.cx-wbell{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink);cursor:pointer}.cx-wbell .ic{width:21px;height:21px}
.cx-wbell i{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#fff;font:700 10.5px/18px var(--font);font-style:normal;text-align:center;border:2px solid #fff;padding:0 3px}
.cx-wuser{display:flex;align-items:center;gap:10px;font:600 14px/18px var(--font);cursor:pointer}.cx-wuser small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.cx-wmap{flex:1;position:relative;min-height:0;overflow:hidden}
.cx-wmap>.map{position:absolute;inset:0;height:auto!important;border-radius:0}
.cx-wmap .map-in{--W:1600px}
.cx-wp{position:absolute;right:20px;top:20px;bottom:20px;width:372px;z-index:8;background:#fff;border-radius:26px;box-shadow:0 2px 6px rgba(35,30,88,.06),0 28px 54px -22px rgba(35,30,88,.45);padding:24px 22px 22px;display:flex;flex-direction:column;gap:16px;overflow:auto;scrollbar-width:none}
.cx-wp::-webkit-scrollbar{display:none}
.cx-wp .k-field input{height:52px}
.cx-wq{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;background:var(--g100)}
.cx-wq small{display:block;font:400 12px/16px var(--font);color:var(--mut)}.cx-wq b{font:600 24px/30px var(--font);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.cx-wq .r{text-align:right;font:500 12.5px/18px var(--font);color:var(--mut)}
.cx-wf{position:absolute;left:20px;top:20px;z-index:8;display:grid;gap:8px}
.cx-wf .fab{position:static}
.cx-wleg{position:absolute;left:20px;bottom:20px;z-index:8;background:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 10px 24px -12px rgba(35,30,88,.4);display:flex;gap:14px;font:500 12.5px var(--font);color:var(--mut);align-items:center}
.cx-wleg i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;border:3px solid var(--navy);background:#fff;vertical-align:-1px}.cx-wleg i.d{background:var(--gold);border-color:var(--gold)}
.cx-wchips{display:flex;gap:8px;flex-wrap:wrap}.cx-wchips .k-chip{height:38px;border-radius:12px;background:#fff;border:1px solid var(--line);padding:0 12px;color:var(--ink)}.cx-wchips .k-chip .ic{color:var(--gold-ink)}
.cx-wvehs{display:flex;gap:10px}.cx-wvehs .veh{flex:1}
.cx-weta{font:600 34px/40px var(--font);letter-spacing:-.03em}
.cx-wcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}
.cx-wpage{position:absolute;top:68px;left:0;right:0;bottom:0;overflow:auto;padding:28px 40px 40px;scrollbar-width:thin}
.cx-wgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.cx-wtools{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.cx-wtools .cx-find{flex:1;max-width:340px}
.cx-wh1{font:600 28px/34px var(--font);letter-spacing:-.025em;margin:0}
.cx-wpage .w-tbl td{padding:13px 14px;font-size:13.5px;white-space:nowrap}.cx-wpage .w-tbl th{padding:12px 14px;white-space:nowrap}
.cx-wref b{display:block;font:600 13.5px/18px var(--font)}.cx-wref small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.cx-wpage tr.sel td{background:var(--gold-soft2)}
.cx-wban{display:flex;align-items:center;gap:22px}
.cx-wban .mid{flex:1}
.cx-wban .big{font:600 26px/32px var(--font);letter-spacing:-.025em}
.cx-wbtn{display:flex;gap:10px}

.cx-wlogo .lg-i .ic{color:#fff}


/* --- s03_livreur.css --- */
/* Livreur — préfixe lv- */
/* en-tête des onglets */
.lv-head{display:flex;align-items:center;gap:12px;padding-top:30px}.lv-head small{display:block;font:500 12.5px/16px var(--font);color:var(--mut)}.lv-head b{display:block;font:600 19px/24px var(--font);letter-spacing:-.02em}
.lv-ibw{background:#fff;border:1px solid var(--line)}.lv-ibw .bdg{background:var(--gold);border-color:#fff}
/* héros */
.lv-hero{padding:20px 20px 18px}.lv-hero.slim{padding:16px 18px}.lv-hero .mut{margin:6px 0 0;font:400 13.5px/20px var(--font)}
.lv-big{display:flex;align-items:center;gap:10px;font:600 30px/36px var(--font);letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}.lv-big.sm{font-size:22px;line-height:28px;margin-top:2px}
.lv-hbtn{margin-top:16px}.lv-hbtn .k-btn.glass{background:rgba(255,255,255,.16);color:#fff}
.lv-hero.red::before{background:radial-gradient(circle,rgba(239,68,68,.5),rgba(239,68,68,0) 68%)}.lv-hero.amber::before{background:radial-gradient(circle,rgba(245,170,40,.45),rgba(245,170,40,0) 68%)}
.lv-pulse{position:relative;width:14px;height:14px;flex:none}.lv-pulse i{position:absolute;inset:0;border-radius:50%;background:#34D399}.lv-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:#34D399;animation:lvp 1.8s ease-out infinite}
@keyframes lvp{from{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}
.lv-vehrow{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.1)}.lv-vehrow b{display:block;font:600 14px/18px var(--font)}.lv-vehrow small{display:block;font:500 12.5px/16px var(--font);color:rgba(255,255,255,.72);letter-spacing:.04em}
.lv-vehrow.m{margin:0;padding:6px 10px}
.lv-vt{width:56px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center}.lv-vt .vehimg{width:44px;height:28px}
.lv-edit{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:99px;height:30px;padding:0 12px;font:600 12.5px var(--font);cursor:pointer;flex:none}
.lv-card .lv-edit,.lv-recap .lv-edit,.lv-wait .lv-edit{background:var(--g100);color:var(--navy)}
.lv-hmeta{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:12px;font:500 13px/20px var(--font);color:rgba(255,255,255,.86);align-items:center}.lv-hmeta>span{display:inline-flex;align-items:center;gap:6px}.lv-hmeta .ic{width:17px;height:17px}
.lv-refw{font:600 12.5px var(--font);color:rgba(255,255,255,.8)}
.lv-stepline{display:flex;gap:14px;align-items:center;margin-top:10px}.lv-stepn{width:50px;height:50px;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center;font:700 15px var(--font)}
.lv-hero.slim .between .lv-vehrow{margin:0}
/* cartes */
.lv-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px}.lv-card.stack{gap:12px}
.lv-card b{font-weight:600}.lv-card small{display:block;font:400 12.5px/17px var(--font);color:var(--mut)}
.lv-empty,.lv-wait,.lv-okrow,.lv-recap{display:flex;align-items:center;gap:12px}.lv-empty .grow b,.lv-wait .grow b,.lv-okrow b,.lv-recap b{display:block;font:600 14px/20px var(--font)}.lv-okrow{margin-top:12px;text-align:left}
.lv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lv-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;gap:2px;justify-items:start}
.lv-stat .ti{margin-bottom:6px;width:32px;height:32px;border-radius:11px}.lv-stat b{font:600 22px/26px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.lv-stat small{font:500 11.5px/15px var(--font);color:var(--mut)}
.ti.g{background:var(--pos-soft);color:var(--ok-ink)}.ti.a{background:var(--warn-soft);color:var(--warn-ink)}.ti.r{background:var(--neg-soft);color:var(--neg-ink)}.ti.n{background:var(--g100);color:var(--mut)}.ti.big{width:56px;height:56px;border-radius:18px}.ti.big .ic{width:28px;height:28px}
.rw-ic.r{background:var(--neg-soft);color:var(--neg-ink)}.rw-ic.n{background:var(--g100);color:var(--mut)}
.lv-mapcard{position:relative}.lv-mapcap{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;background:rgba(255,255,255,.94);font:600 12px var(--font);color:var(--navy);z-index:4}.lv-mapcap .ic{width:15px;height:15px;color:var(--ok)}
.lv-radar{position:relative;width:40px;height:40px;flex:none;display:grid;place-items:center}.lv-radar::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--gold);z-index:1}.lv-radar i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:lvr 2.2s ease-out infinite}.lv-radar i+i{animation-delay:1.1s}
@keyframes lvr{from{transform:scale(.3);opacity:.8}to{transform:scale(1);opacity:0}}
/* bandeaux d'état */
.lv-bn{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 14px;border-radius:16px;font:600 13px/18px var(--font)}.lv-bn .ic{width:20px;height:20px}.lv-bn.r{background:var(--neg-soft);color:var(--neg-ink)}.lv-bn.a{background:var(--warn-soft);color:var(--warn-ink)}
.lv-bn-a{border:0;background:#fff;border-radius:99px;height:32px;padding:0 14px;font:700 12.5px var(--font);color:inherit;cursor:pointer;flex:none}
/* trajet */
.lv-route{display:grid;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;position:relative;gap:12px}
.lv-rt{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.lv-rt small{display:block;font:500 11.5px/14px var(--font);color:var(--g500);text-transform:uppercase;letter-spacing:.05em}.lv-rt b{display:block;font:600 14.5px/20px var(--font)}.lv-rt em{font:600 12px var(--font);color:var(--mut);font-style:normal;background:var(--g100);border-radius:99px;padding:3px 9px;flex:none}
.lv-rt-i{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:none}.lv-rt-i .ic{width:19px;height:19px}.lv-rt.p .lv-rt-i{background:var(--g100);color:var(--navy)}.lv-rt.d .lv-rt-i{background:var(--gold-soft);color:var(--gold-ink)}
.lv-route::before{content:"";position:absolute;left:31px;top:46px;height:20px;border-left:2px dashed var(--g300)}
/* offres */
.lv-offer-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;display:grid;gap:12px;cursor:pointer}.lv-offer-card.u{border-color:#F3B4B4}
.lv-ring{position:relative;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;flex:none}.lv-ring .ic{width:21px;height:21px}.lv-ring i{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:lvr 1.6s ease-out infinite}
.lv-offer-card .between>.grow b{display:block;font:600 15px/20px var(--font)}.lv-offer-card .between>.grow small{font:400 12.5px/16px var(--font);color:var(--mut)}
.lv-cdn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:99px;background:var(--gold-soft);color:var(--gold-ink);font:600 13px var(--font);font-variant-numeric:tabular-nums;flex:none}.lv-cdn .ic{width:16px;height:16px}.lv-cdn.u{background:var(--neg-soft);color:var(--neg-ink)}
.hero .lv-cdn{background:rgba(255,255,255,.16);color:#fff}.hero .lv-cdn.u{background:#EF4444;color:#fff}
.lv-bar{height:6px;border-radius:3px;background:rgba(35,30,88,.1);margin-top:12px;overflow:hidden}.lv-bar i{display:block;height:100%;border-radius:3px;background:var(--gold);width:var(--p);animation:lvbar var(--t) linear forwards}.lv-bar.u i{background:#EF4444}
.hero .lv-bar{background:rgba(255,255,255,.18)}.hero .lv-bar.u i{background:#FF7A7A}
@keyframes lvbar{to{width:0}}
.lv-chips{display:flex;gap:8px;flex-wrap:wrap}
.lv-new{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px 0 9px;border-radius:99px;background:var(--gold-soft);color:var(--gold-ink);font:700 12px var(--font)}.lv-new .ic{width:15px;height:15px}.lv-ref{font:600 12.5px var(--font);color:var(--mut)}
.lv-offer-h{padding:16px 18px}.lv-offer-h .lv-big{font-size:34px;line-height:40px;margin-top:8px}.lv-offer-h .mut{margin:8px 0 0;font-size:12.5px;line-height:16px}.lv-offer-h .lv-bar{margin-top:10px}
.lv-info3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lv-info3>div{display:grid;justify-items:center;gap:1px;padding:10px 4px;border-radius:16px;background:var(--g50);border:1px solid var(--line)}.lv-info3 .ic{width:19px;height:19px;color:var(--navy)}.lv-info3 b{font:600 13.5px/18px var(--font);margin-top:2px}.lv-info3 small{font:400 11px/14px var(--font);color:var(--mut)}
.lv-2b{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
/* feuille et carte plein écran */
.lv-mapscr .m-scroll{padding:0;overflow:hidden}.lv-mapabs{position:absolute;left:0;right:0;top:0}
.lv-fs{padding-bottom:20px;gap:12px}.scr.lv-mapscr .fsheet{padding-bottom:20px}.lv-mapscr .fsheet .k-btn{min-height:50px}
.lv-stp{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:99px;background:var(--gold-soft);color:var(--gold-ink);font:700 11px var(--font);letter-spacing:.05em}
.lv-dist{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--font);color:var(--mut)}.lv-dist .ic{width:17px;height:17px}
.lv-target{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:var(--g50);border:1px solid var(--line)}.lv-target b{display:block;font:600 14.5px/20px var(--font)}.lv-target small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.lv-navb{flex:none;gap:6px;background:#fff!important}
.lv-contact{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:18px;background:#F7F6FB}.lv-contact b{display:block;font:600 14.5px/19px var(--font)}.lv-contact small{display:block;font:400 12px/16px var(--font);color:var(--mut)}
.lv-contact .bd{background:#fff;border:1px solid var(--line)}.lv-contact .bd.pr{background:var(--navy);color:#fff;border:0}
.lv-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 18px}.lv-links button{border:0;background:none;display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--font);color:var(--mut);cursor:pointer;padding:6px 0}.lv-links .ic{width:16px;height:16px}.lv-links button:last-child{color:var(--neg-ink)}
.fab .bdg{background:var(--gold);border-color:#fff;top:-2px;right:-2px}
/* navigation */
.lv-navscr .map-in>img{filter:saturate(.9) contrast(1)}
.lv-navtop{position:absolute;left:12px;right:12px;top:42px;z-index:14;padding:16px 18px;border-radius:24px}
.lv-man{display:flex;align-items:center;gap:14px}.lv-man>.ic{width:44px;height:44px;flex:none}.lv-man b{display:block;font:600 28px/32px var(--font);letter-spacing:-.02em}.lv-man span{font:500 14px/20px var(--font);color:rgba(255,255,255,.85)}
.lv-man>div>span{display:block}.lv-flag{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.16);display:grid;place-items:center}.lv-flag .ic{width:24px;height:24px}
.lv-then{margin-top:12px;display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.14);font:500 12.5px var(--font);color:rgba(255,255,255,.8)}.lv-then b{color:#fff;font-weight:600}
.lv-navfabs{position:absolute;right:14px;top:182px;display:grid;gap:10px;z-index:13}.lv-navfabs .fab{position:static}
.lv-navp{gap:8px}.lv-eta{display:flex;align-items:baseline;gap:12px}.lv-eta b{font:600 32px/38px var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.lv-eta span{font:500 14px var(--font);color:var(--mut)}
.lv-arr{display:flex;align-items:center;gap:10px;font:600 15px var(--font);color:var(--navy)}.lv-arr .ic{width:22px;height:22px;color:var(--ok)}
.lv-navb3{display:flex;gap:10px;margin-top:4px}.lv-navb3 .k-btn{flex:1;min-height:46px!important}
.lv-gm{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 13px var(--font);color:var(--gold-ink);padding:6px;cursor:pointer}.lv-gm .ic{width:17px;height:17px}
.lv-spin{width:26px;height:26px;border-radius:50%;border:3px solid rgba(255,255,255,.28);border-top-color:#fff;animation:lvs .9s linear infinite;flex:none;display:inline-block}.lv-spin.dk{width:18px;height:18px;border-width:2.5px;margin-right:8px;border-color:rgba(255,255,255,.4);border-top-color:#fff}
@keyframes lvs{to{transform:rotate(360deg)}}
/* preuve photo */
.lv-photo{position:relative;height:210px;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#E7DAC6,#BFA17E);display:grid;place-items:center}
.lv-parcel{width:190px;height:auto;position:relative;z-index:1;margin-top:6px}
.lv-photo-t{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px 0 9px;border-radius:99px;background:rgba(255,255,255,.94);font:600 12px var(--font);color:var(--navy)}.lv-photo-t .ic{width:16px;height:16px;color:var(--ok)}
.lv-photo-s{position:absolute;right:12px;top:12px;font:600 10.5px var(--font);color:#fff;background:rgba(27,23,68,.55);border-radius:6px;padding:2px 7px}
.lv-photo.empty{background:var(--g50);border:1.5px dashed var(--g300);align-content:center;justify-items:center;gap:2px;text-align:center}.lv-photo.empty b{font:600 15px var(--font);margin-top:10px}.lv-photo.empty small{font:400 12.5px var(--font);color:var(--mut)}
.lv-corner{position:absolute;width:22px;height:22px;border:3px solid var(--navy);opacity:.35}.lv-corner.a{left:16px;top:16px;border-right:0;border-bottom:0;border-radius:8px 0 0 0}.lv-corner.b{right:16px;top:16px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}.lv-corner.c{left:16px;bottom:16px;border-right:0;border-top:0;border-radius:0 0 0 8px}.lv-corner.d{right:16px;bottom:16px;border-left:0;border-top:0;border-radius:0 0 8px 0}
.lv-ph2{height:104px;border-radius:16px;background:linear-gradient(160deg,#E7DAC6,#BFA17E);display:grid;place-items:center;overflow:hidden}.lv-ph2 .lv-parcel{width:110px}.lv-ph2.e{background:var(--g100);color:var(--g400)}.lv-ph2.e .ic{width:30px;height:30px}
.lv-proofs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lv-proofs small{display:block;margin-top:6px;font:500 12px var(--font);color:var(--mut)}
/* états plein écran */
.lv-disc{position:relative;width:96px;height:96px;margin:0 auto;display:grid;place-items:center}.lv-disc span{position:relative;z-index:2;width:72px;height:72px;border-radius:50%;background:var(--g100);color:var(--navy);display:grid;place-items:center}.lv-disc span .ic{width:34px;height:34px}
.lv-disc i{position:absolute;border-radius:50%;background:var(--g100);opacity:.55}.lv-disc i:nth-child(1){inset:-10px;opacity:.35}.lv-disc i:nth-child(2){inset:0;opacity:.6}
.lv-disc.g span,.lv-disc.g i{background:var(--pos-soft);color:var(--ok-ink)}.lv-disc.a span,.lv-disc.a i{background:var(--warn-soft);color:var(--warn-ink)}.lv-disc.r span,.lv-disc.r i{background:var(--neg-soft);color:var(--neg-ink)}
.lv-st-a{display:grid;gap:10px;margin-top:26px}.lv-st .t-h2{font-size:21px;line-height:28px}
.tl-l{text-align:left}.lst.tl-l .rw small{font-size:12.5px}
/* squelette */
.lv-sk{border-radius:18px;background:linear-gradient(90deg,var(--g100),#fff,var(--g100));background-size:200% 100%;animation:lvsk 1.3s linear infinite}@keyframes lvsk{to{background-position:-200% 0}}
/* missions */
.lv-sect{display:flex;align-items:center;gap:8px}.lv-sect b{font:600 17px/22px var(--font);letter-spacing:-.01em}
.lv-cnt{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:var(--g100);color:var(--navy);font:700 12px var(--font)}.lv-cnt.o{background:var(--gold);color:#fff}.lv-cnt.a{background:var(--warn-soft);color:var(--warn-ink)}
.lv-mc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;display:grid;gap:12px;cursor:pointer}.lv-mc-f{padding-top:2px}.lv-mc-f b{font:600 15px var(--font)}
.lv-vl{display:inline-flex;align-items:center;gap:8px;font:500 12.5px var(--font);color:var(--mut)}.lv-vl .vehimg{width:30px;height:20px}
.lv-fold{display:flex;align-items:center;justify-content:space-between;border:0;background:none;padding:8px 0;min-height:36px;cursor:pointer;width:100%;text-align:left;color:var(--ink)}.lv-chev{display:grid;color:var(--g500);transition:transform .2s}.lv-chev .ic{width:20px;height:20px}.lv-fold[aria-pressed=true] .lv-chev{transform:rotate(180deg)}
.lv-fin{padding:12px 14px!important;cursor:pointer}.lv-fin b{font:600 13.5px var(--font)}.lv-fin .grow>span{font:600 14px/20px var(--font)}
/* carburant et réglages */
.k-btn.lv-dis{opacity:.4;background:var(--g300)!important;color:#fff!important}
.lv-vehs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lv-vehs .veh{padding:12px 4px 10px}
.lv-err{margin:0;color:var(--neg-ink);font:500 13px/18px var(--font)}
.rw.danger .rw-ic{background:var(--neg-soft);color:var(--neg-ink)}.rw.danger .grow>span{color:var(--neg-ink)}
/* messages */
.lv-conv{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:20px;cursor:pointer}.lv-conv b{display:block;font:600 14px/20px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-conv small{display:block;font:400 12.5px/17px var(--font);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-cv-r{display:grid;justify-items:end;gap:4px}.lv-cv-r em{font:500 11px var(--font);font-style:normal;color:var(--g500)}
.lv-thread{display:grid;gap:10px}.lv-bub{max-width:80%;justify-self:start;background:#fff;border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:9px 13px}.lv-bub.me{justify-self:end;background:var(--navy);color:#fff;border-color:transparent;border-radius:18px 18px 6px 18px}
.lv-bub small{display:block;font:600 11.5px var(--font);color:var(--gold-ink)}.lv-bub p{margin:0;font:400 14px/20px var(--font)}.lv-bub em{display:block;text-align:right;font:500 10.5px var(--font);font-style:normal;color:var(--g500);margin-top:2px}.lv-bub.me em{color:rgba(255,255,255,.7)}
.lv-comp{display:flex;align-items:center;gap:10px}.lv-comp .k-field{margin:0}.lv-comp .m-ib.bd{width:46px;height:46px;background:var(--navy);color:#fff;border:0}
.lv-empty-chat{padding-top:90px;display:grid;gap:18px}

.lv-hbtn .k-btn.glass{background:rgba(255,255,255,.16)!important;border-color:transparent!important;color:#fff!important}
.lv-bn:first-child{margin-top:30px}.lv-bn+.lv-head{padding-top:0}
.lv-card .k-field .m,.pad .k-field .m{position:static;padding:4px 4px 0;font:500 12px/16px var(--font);color:var(--neg-ink)}
.k-field.err input{background:#fff;border-color:#EF4444}


/* --- s04_equipe_web.css --- */
/* Direction et Secrétariat — web (préfixe eqw-) */
.scr.w.app .w-top{height:72px;padding:0 32px}
.scr.w.app .w-body{padding:0 32px 36px}
.scr.w.app .w-top h1{font:600 24px/30px var(--font)}
.w-top .m-ib{background:#fff;border:1px solid var(--line);margin:0}
.ro-chip{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px 0 12px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--navy);font:600 12.5px var(--font);cursor:pointer;margin-right:8px}
.ro-chip .ic{width:18px;height:18px;color:var(--navy-2)}.ro-chip:hover{background:var(--info-soft)}
.sd-i .lkic{margin-left:auto;display:grid;opacity:.7}.sd-i .lkic .ic{width:15px;height:15px}
.sd-i span.lkic{flex:none}
.sd-user b{color:#fff}
.ro-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ro-cols ul{margin:8px 0 0;padding-left:18px;font-size:13.5px;line-height:21px;color:var(--ink)}.ro-cols li{margin-bottom:3px}
.ro-h{display:flex;align-items:center;gap:7px;font:600 14px var(--font)}.ro-h .ic{width:20px;height:20px}.ro-h.ok{color:var(--ok-ink)}.ro-h.no{color:var(--neg-ink)}

/* en-tête de page, outils */
.eqw-ph{display:flex;align-items:center;gap:12px;margin:0 0 18px;min-height:20px}.eqw-ph p{margin:0;color:var(--mut);font-size:13.5px;line-height:20px}
.eqw-tools{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.eqw-search{display:flex;align-items:center;gap:10px;height:44px;width:360px;padding:0 16px;border-radius:14px;background:#fff;border:1px solid var(--line-2);color:var(--g500)}.eqw-search .ic{width:20px;height:20px;color:var(--navy)}
.eqw-search input{flex:1;border:0;outline:0;background:none;font:500 14px var(--font);color:var(--ink);min-width:0}.eqw-search:focus-within{border-color:var(--navy-2)}
.eqw-seg{margin-bottom:14px}.eqw-seg .k-seg{display:inline-flex;width:auto;max-width:100%;padding:4px;border-radius:14px;background:#EDECF4}
.eqw-seg .k-seg button{flex:none;height:36px;padding:0 14px;border-radius:11px;font:600 13px var(--font);color:var(--mut);white-space:nowrap}.eqw-seg .k-seg button[aria-pressed=true]{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(35,30,88,.12)}
.eqw-vt{display:inline-flex;padding:4px;border-radius:14px;background:#EDECF4}.eqw-vt button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:0;border-radius:11px;background:none;font:600 13px var(--font);color:var(--mut);cursor:pointer}
.eqw-vt button .ic{width:18px;height:18px}.eqw-vt button.on{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(35,30,88,.12)}
.eqw-bar{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.eqw-back{display:inline-flex;align-items:center;gap:6px;font:600 13.5px var(--font);color:var(--mut);cursor:pointer;padding:6px 10px 6px 4px;border-radius:10px}.eqw-back:hover{background:#EDECF4;color:var(--navy)}.eqw-back .ic{width:18px;height:18px}
.eqw-link{display:inline-flex;align-items:center;gap:2px;font:600 13px var(--font);color:var(--gold-ink);cursor:pointer}.eqw-link .ic{width:16px;height:16px}

/* cartes et grilles */
.eqw-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.eqw-card>.ch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px}.eqw-card>.ch h3{margin:0;font:600 15.5px/22px var(--font);letter-spacing:-.01em}.eqw-card>.ch small{display:block;color:var(--mut);font-size:12px;line-height:16px}
.eqw-card>.cb{padding:2px 20px 20px}.eqw-card>.cb0{padding:0}
.eqw-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.eqw-kpis.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.eqw-kpis .kpi{padding:18px 18px 16px;min-height:132px}.eqw-kpis .kpi b{font:600 28px/36px var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.eqw-kpis.five .kpi b{font-size:22px;line-height:30px}.eqw-kpis .kpi b small{font:500 12px var(--font);opacity:.65;letter-spacing:0;margin-left:2px}
.kpi .ks{font:400 12px/16px var(--font);color:var(--mut);display:block;margin-top:2px;max-width:calc(100% - 4px)}.kpi.hero .ks{color:rgba(255,255,255,.72)}
.kpi .dim{color:var(--g400)}
.kpi .kp-ic{right:16px;top:16px;width:34px;height:34px}.kpi .kp-ic .ic{width:19px;height:19px}.kpi.hero .dl{display:inline-flex;margin-top:8px;color:#7CF0C3;background:rgba(255,255,255,.12);border-radius:99px;padding:3px 9px 3px 6px}
.kpi.hero .spark{margin-top:10px;height:38px}
.eqw-g2{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(0,1fr);gap:16px;align-items:start}.eqw-g2.fin{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.eqw-g2.cou{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}
.eqw-card.flt .map{border-radius:0;height:250px}
.eqw-legend{display:flex;gap:14px;padding:12px 20px;white-space:nowrap;font:500 12px var(--font);color:var(--mut);border-bottom:1px solid var(--line)}.eqw-legend span{display:inline-flex;align-items:center;gap:6px}
.eqw-legend i,.eqw-lg i{width:9px;height:9px;border-radius:50%;background:var(--navy)}.eqw-legend i.free{background:var(--ok)}.eqw-legend i.busy{background:var(--gold)}.eqw-legend i.off{background:#9CA3AF}
.eqw-cl{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--line);cursor:pointer}.eqw-cl:last-child{border:0}.eqw-cl:hover{background:var(--gold-soft2)}
.eqw-cl b{display:block;font:600 13.5px/18px var(--font)}.eqw-cl small{font:400 12px/16px var(--font);color:var(--mut)}
.pin.cour.free{background:var(--ok)}.pin.cour.busy{background:var(--gold)}.pin.cour.off{background:#9CA3AF}
.eqw-card .map{border-radius:0}.eqw-card>.map.r,.eqw-card .map.r{border-radius:0}

/* tableaux */
.w-tbl.flat{border:0;border-radius:0;background:none}
.w-tbl th{padding:11px 14px;font:600 11px/16px var(--font);color:var(--g500);background:#FBFAF8}.w-tbl td{padding:12px 14px;border-bottom:1px solid var(--line)}.w-tbl.sm td{padding:10px 14px}.w-tbl th:first-child,.w-tbl td:first-child{padding-left:20px}.w-tbl th:last-child,.w-tbl td:last-child{padding-right:20px}.w-tbl td.nw{white-space:nowrap}
.w-tbl tr:last-child td{border-bottom:0}.w-tbl tr[data-go]{cursor:pointer}
.w-tbl small{display:block;color:var(--mut);font-size:12px;line-height:16px}
.w-tbl .rf,.rf{font:600 13px var(--font);font-variant-numeric:tabular-nums;letter-spacing:.005em;color:var(--ink)}
.w-tbl tr.tot td{background:#FBFAF8;border-top:1px solid var(--line-2)}
.rt{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.rt b{font:600 13.5px var(--font)}.rt .ic{width:15px;height:15px;color:var(--g400);flex:none}
.who{display:flex;align-items:center;gap:10px;min-width:0}.who b{display:block;font:600 13.5px/18px var(--font);white-space:nowrap}.who small{white-space:nowrap}
.vehimg.tiny{width:44px;height:28px;flex:none}
.eqw-empty{padding:26px;text-align:center;color:var(--mut);font-size:14px}.eqw-empty.big{display:grid;gap:8px;justify-items:center;padding:56px 20px}.eqw-empty.big b{font:600 17px var(--font);color:var(--ink)}
.eqw-err{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:var(--neg-soft);color:var(--neg-ink);margin-bottom:16px}.eqw-err>.ic{width:28px;height:28px;flex:none}.eqw-err div{flex:1}.eqw-err b{display:block;font:600 14.5px var(--font)}.eqw-err span{font-size:13px}

/* chargement */
.eq-lin{height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--navy-2),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:eqlin 1.3s linear infinite;margin:-6px 0 16px;background-color:var(--g200)}
@keyframes eqlin{from{background-position:-40% 0}to{background-position:140% 0}}
.sk{height:14px;border-radius:7px;background:linear-gradient(90deg,#ECEBF3 25%,#F6F5FA 50%,#ECEBF3 75%);background-size:200% 100%;animation:eqsk 1.4s ease-in-out infinite;margin:8px 0}
.sk.w10{width:10%}.sk.w20{width:20%}.sk.w30{width:30%}.sk.w40{width:40%}.sk.w60{width:60%}.sk.w80{width:80%}.sk.h28{height:28px}
.sk-row{display:flex;gap:4%;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
@keyframes eqsk{from{background-position:200% 0}to{background-position:-200% 0}}

/* liste + carte */
.eqw-split{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}
.eqw-list{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;max-height:572px;overflow-y:auto}
.eqw-lh{padding:14px 18px;font:600 12px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--g500);border-bottom:1px solid var(--line);background:#FBFAF8}
.eqw-dc{display:grid;gap:6px;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer}.eqw-dc:hover{background:var(--gold-soft2)}.eqw-dc:last-child{border:0}.eqw-dc .between{align-items:center}
.eqw-mapcard{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.eqw-mapcard .map{border-radius:0}
.eqw-mapbadge{position:absolute;left:14px;bottom:14px;z-index:8;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 10px;border-radius:99px;background:#fff;font:600 12.5px var(--font);color:var(--navy);box-shadow:0 6px 16px -6px rgba(35,30,88,.35)}.eqw-mapbadge .ic{width:18px;height:18px;color:var(--ok)}

/* fiche livraison */
.eqw-det{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}.eqw-det.cou{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.eqw-card.hd{background:linear-gradient(140deg,#231E58,#322A8E);border:0;color:#fff;position:relative}
.eqw-card.hd::before{content:"";position:absolute;right:-50px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(238,103,36,.5),rgba(238,103,36,0) 68%)}
.eqw-hl{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;position:relative}.eqw-hl small{font:500 11px var(--font);letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.eqw-hl h2{margin:4px 0 4px;font:600 24px/30px var(--font);letter-spacing:-.02em}.eqw-hl p{margin:0;font-size:13.5px;line-height:20px;color:rgba(255,255,255,.78);max-width:480px}.eqw-hl .pl{flex:none;margin-top:2px}
.eqw-card>.map{display:block}
.eqw-tl{padding:2px 0 4px}.tl-i.todo>i{border-color:var(--g300);background:#fff}.tl-i.todo b{color:var(--g500);font-weight:500}.tl-i.fail>i{border-color:var(--neg-ink);background:var(--neg-ink)}.tl-i.fail b{color:var(--neg-ink)}
.eqw-tl .tl-i{padding-bottom:16px}
.eqw-pc{display:flex;align-items:center;gap:14px}.eqw-pc small{display:block;font:500 11.5px var(--font);color:var(--g500)}.eqw-pc b{display:block;font:600 14.5px/20px var(--font)}.eqw-pc .mut{font-size:13px}
.eqw-pc .m-ib.bd{background:#fff;border:1px solid var(--line);flex:none}
.eqw-pc .pl{margin-top:3px}
.eqw-hr{height:1px;background:var(--line);margin:14px 0}
.eqw-addr{display:grid;gap:10px;margin-top:16px;padding:14px;border-radius:16px;background:var(--g50)}.eqw-addr span{display:flex;gap:10px;align-items:flex-start}.eqw-addr .ic{width:20px;height:20px;color:var(--navy);margin-top:1px}.eqw-addr .a1 .ic{color:var(--gold-ink)}
.eqw-addr small{display:block;font:500 11.5px var(--font);color:var(--g500)}.eqw-addr b{font:600 13.5px var(--font)}
.eqw-veh{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--g50)}.eqw-veh .vehimg{width:64px;height:40px}.eqw-veh b{display:block;font:600 14px var(--font)}.eqw-veh small{display:block;color:var(--mut);font-size:12px}
.eqw-veh.big{margin:0}.eqw-veh.big .vehimg{width:84px;height:52px}.eqw-veh.big>div{flex:1}
.eqw-auto{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:16px;background:var(--gold-soft)}.eqw-auto>.ic{width:26px;height:26px;color:var(--gold-ink);flex:none}.eqw-auto b{display:block;font:600 14px var(--font)}.eqw-auto span{display:block;font-size:13px;line-height:19px;color:var(--mut);margin-top:2px}
.eqw-fine{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:12px;line-height:17px;color:var(--mut)}.eqw-fine .ic{width:16px;height:16px;flex:none;color:var(--navy-2);margin-top:0}.eqw-fine.in{margin:14px 0 0;padding:0 2px}
.eqw-p{margin:0 0 14px;font-size:13.5px;line-height:20px;color:var(--mut)}
.eqw-ph2s{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eqw-ph2 .im{aspect-ratio:4/3;border-radius:14px;background:linear-gradient(135deg,#ECEBF8,#DAD8EE);display:grid;place-items:center;color:var(--navy-2)}.eqw-ph2 .im .ic{width:34px;height:34px}
.eqw-ph2.none .im{background:repeating-linear-gradient(45deg,#F3F2F8 0 8px,#ECEBF3 8px 16px);color:var(--g400)}
.eqw-ph2 b{display:block;font:600 12.5px var(--font);margin-top:7px}.eqw-ph2 small{color:var(--mut);font-size:11.5px}
.kvl.eqw-kv>div{padding:9px 0;border-bottom:1px solid var(--line);align-items:center}.kvl.eqw-kv>div:last-child{border:0}.kvl.eqw-kv dt{font-size:13px}.kvl.eqw-kv dd{font-size:13.5px}
.eqw-card .kvl.total>div:last-child{border-top:1px dashed var(--g200);padding-top:12px}
.lst.flat{border:0;border-radius:0;margin:0 -20px -4px}.lst.flat>.rw{padding:14px 20px}

/* fiche livreur */
.eqw-cp{display:flex;align-items:center;gap:20px;padding:22px}.eqw-cp h2{margin:0;font:600 22px/28px var(--font);letter-spacing:-.02em}.eqw-cp p{margin:2px 0 0;font-size:13.5px}
.eqw-cp.sm{padding:0 0 14px;gap:16px}.eqw-cp.sm h2{font-size:18px}
.tiles.t3{grid-template-columns:repeat(3,1fr)}.tiles.t3 .tile b{font-size:22px;line-height:28px}.tiles.t3 .tile b small{font-size:12px}
.eqw-lock{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px 0 9px;border-radius:99px;background:var(--gold-soft);color:var(--gold-ink);font:600 12px var(--font);white-space:nowrap}.eqw-lock .ic{width:16px;height:16px}
.eqw-card.priv{border-color:rgba(238,103,36,.28)}.eqw-card.priv>.ch{background:linear-gradient(180deg,var(--gold-soft2),#fff)}
.eqw-mrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--mut)}.eqw-mrow i{display:block;height:12px;width:46%;border-radius:6px;background:repeating-linear-gradient(90deg,#DDDBEA 0 6px,#E9E8F2 6px 12px)}
.eqw-lockmsg{display:flex;gap:12px;margin-top:16px;padding:14px;border-radius:16px;background:var(--g50)}.eqw-lockmsg>.ic{width:24px;height:24px;color:var(--gold-ink);flex:none}.eqw-lockmsg b{display:block;font:600 14px var(--font)}.eqw-lockmsg span{display:block;font-size:13px;line-height:19px;color:var(--mut);margin-top:2px}

/* finances */
.eqw-bars{margin-top:4px}.eqw-bars .bc i{background:#DAD8EE;border-radius:8px 8px 3px 3px}.eqw-bars .bc i.hi{background:var(--navy)}.eqw-bars .bc span{font:500 10.5px var(--font);color:var(--g500);font-variant-numeric:tabular-nums}
.eqw-hb{display:grid;grid-template-columns:96px 1fr 44px;gap:12px;align-items:center;padding:7px 0;font-size:13px}.eqw-hb b{text-align:right;font:600 13px var(--font);font-variant-numeric:tabular-nums}.eqw-hb .k-bar{height:8px;border-radius:4px;background:var(--g100)}.eqw-hb .k-bar i{background:var(--navy);border-radius:4px}
.eqw-deny{max-width:520px;margin:76px auto 0;text-align:center;display:grid;gap:14px;justify-items:center}.eqw-deny .dn-ic{width:84px;height:84px;border-radius:50%;background:var(--gold-soft);color:var(--gold-ink);display:grid;place-items:center}.eqw-deny .dn-ic .ic{width:42px;height:42px}
.eqw-deny h2{margin:0;font:600 26px/32px var(--font);letter-spacing:-.02em}.eqw-deny p{margin:0 0 6px;color:var(--mut);font-size:14.5px;line-height:22px}.eqw-deny code{font:500 12px ui-monospace,Consolas,monospace;color:var(--g500);background:var(--g100);padding:4px 10px;border-radius:8px}

/* messages */
.eqw-msgs{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;height:586px}
.eqw-cvl{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:auto}.eqw-cv{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.eqw-cv:hover{background:var(--g50)}.eqw-cv.on{background:#F1F0FA;box-shadow:inset 3px 0 0 var(--navy)}
.eqw-cv b{font:600 13.5px var(--font)}.eqw-cv small{font-size:11.5px;color:var(--g500)}.eqw-cv .one{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--mut)}.eqw-cv .between span{font-size:12.5px;color:var(--ink)}
.eqw-cv .k-count{min-width:20px;font-style:normal}
.eqw-thread{background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.th-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.th-h b{display:block;font:600 14.5px var(--font)}.th-h small{display:block;font-size:12px;color:var(--mut)}
.th-b{flex:1;overflow:auto;padding:20px;display:grid;gap:16px;align-content:start;background:var(--g50)}
.eqw-msg{display:flex;gap:10px;align-items:flex-end;max-width:70%}.eqw-msg small{display:block;font-size:11.5px;color:var(--g500);margin-bottom:4px}.eqw-msg p{margin:0;padding:11px 15px;border-radius:18px 18px 18px 6px;background:#fff;border:1px solid var(--line);font-size:14px;line-height:20px}
.eqw-sys{justify-self:center;font:500 12px var(--font);color:var(--mut);background:#EDECF4;padding:5px 12px;border-radius:99px}
.th-f{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line)}.th-f input{flex:1;height:46px;border-radius:14px;border:1px solid var(--line-2);padding:0 16px;font:500 14px var(--font);outline:0;min-width:0}.th-f input:focus{border-color:var(--navy-2)}

/* réglages */
.eqw-set{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.k-radio{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;border:1px solid var(--line-2);font:600 14px var(--font);cursor:pointer}.k-radio[aria-checked=true]{border:1.5px solid var(--navy);background:#F3F2FB}
.w-modal .wm-f .k-btn{min-width:0}

.eqw-card .pin.cour{width:30px;height:30px;border-width:2.5px}.eqw-card .pin.cour .ic{width:15px;height:15px}.eqw-mapcard .pin.cour{width:36px;height:36px}
.who b{overflow:hidden;text-overflow:ellipsis;max-width:150px}
.eqw-kpis.five .kp-ic{display:none}.eqw-kpis.five .kpi small{font-size:12.5px}
.th-h .who{min-width:0;flex:1}.th-h .who>div{min-width:0}.th-h small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.th-h .k-btn{flex:none}


/* --- s05_equipe_mobile.css --- */
/* Direction et Secrétariat — mobile (préfixe eqm-) ; réutilise .sk .rf .rt .who .tl-i.todo/.fail .pin.cour.* de s04_equipe_web.css */
.tiles.t3{grid-template-columns:repeat(3,1fr);gap:10px}.tiles.t3 .tile{padding:12px;gap:8px}.tiles.t3 .tile b{font-size:22px;line-height:26px}
.scr.m .dim{opacity:.55}
.eqm-dc{display:grid;gap:8px;padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line);cursor:pointer}
.eqm-dc .rt b{font-size:13.5px}.eqm-dc-f{padding-top:8px;border-top:1px dashed var(--g200)}.eqm-dc .who span{font:600 12.5px var(--font)}.eqm-dc .rf{font-size:13px}
.eqm-dc .pl{height:22px;font-size:11px}
.eqm-fleet{border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden;cursor:pointer}.eqm-fleet .map{border-radius:0;pointer-events:none}.eqm-fleet b{display:block;font:600 14.5px var(--font)}.eqm-fleet small{font:400 12px var(--font);color:var(--mut)}
.eqm-fleet .pin.cour,.eqm-ft .pin{width:26px;height:26px;border-width:2px}.eqm-fleet .pin.cour .ic{width:13px;height:13px}
.eqm-auto{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--gold-soft);color:#7A3513;font-size:12.5px;line-height:18px}.eqm-auto .ic{width:20px;height:20px;color:var(--gold-ink);flex:none}
.eqm-off{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:var(--navy);color:#fff}.eqm-off>.ic{width:22px;height:22px;flex:none;color:#FFC9A8}.eqm-off div{flex:1;min-width:0}.eqm-off b{display:block;font:600 13px var(--font)}.eqm-off span{display:block;font-size:11.5px;line-height:15px;color:rgba(255,255,255,.72)}
.eqm-off .k-btn{background:#fff;color:var(--navy);border-color:#fff}
.eqm-search{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-radius:16px;background:#fff;border:1px solid var(--line-2);color:var(--g500)}.eqm-search .ic{width:20px;height:20px;color:var(--navy)}.eqm-search input{flex:1;border:0;outline:0;background:none;font:500 14.5px var(--font);min-width:0;color:var(--ink)}
.scr.m .k-seg{padding:3px}.scr.m .k-seg button{font-size:12px;height:34px;white-space:nowrap;padding:0 2px}.scr.m .k-seg button[aria-pressed=true]{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(35,30,88,.14)}
.eqm-state{padding:14px 16px;border-radius:20px;background:#fff;border:1px solid var(--line)}.eqm-state small{font:600 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--g500)}
.eqm-ph{display:grid;grid-template-columns:1fr 1fr;gap:10px}.eqm-ph .im{aspect-ratio:4/3;border-radius:14px;background:linear-gradient(135deg,#ECEBF8,#DAD8EE);display:grid;place-items:center;color:var(--navy-2)}.eqm-ph .im .ic{width:30px;height:30px}.eqm-ph b{display:block;font:600 12px var(--font);margin-top:6px}.eqm-ph small{font-size:11px;color:var(--mut)}
.courier-card .bd{background:#fff;border:1px solid var(--line)}
.lst .rw .m-ib.bd{background:#fff;border:1px solid var(--line)}
/* flotte en direct */
.scr.map-screen .fsheet.eqm-fs{padding-bottom:22px;gap:10px;max-height:330px}
.eqm-title{position:absolute;left:68px;top:48px;z-index:7;height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:99px;background:#fff;font:600 14px var(--font);box-shadow:0 6px 16px -6px rgba(35,30,88,.3)}
.eqm-live{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;background:#fff;font:600 12px var(--font);color:var(--ok-ink);box-shadow:0 6px 16px -6px rgba(35,30,88,.3)}.eqm-live i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(14,159,110,.2)}
.eqm-cn{font:600 12.5px var(--font);color:var(--mut);text-align:center}
.eqm-ft{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;position:relative}.eqm-ft.sel{border:1.5px solid var(--navy);background:#F7F6FD}
.eqm-ft b{display:block;font:600 13.5px/18px var(--font)}.eqm-ft small{display:block;font:400 11.5px/15px var(--font);color:var(--mut)}.eqm-ft>.ic{width:18px;height:18px;color:var(--g400)}
.eqm-ft .dot{position:absolute;left:8px;top:8px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:var(--navy);z-index:2}.eqm-ft .dot.free{background:var(--ok)}.eqm-ft .dot.busy{background:var(--gold)}.eqm-ft .dot.off{background:#9CA3AF}
/* messages */
.eqm-cv{display:flex;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);cursor:pointer}.eqm-cv:last-child{border:0}.eqm-cv b{font:600 13.5px var(--font)}.eqm-cv small{font-size:11.5px;color:var(--g500)}.eqm-cv .one{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--mut)}.eqm-cv .between span.one{color:var(--ink)}.eqm-cv .k-count{font-style:normal}
.eqm-b{display:flex;gap:8px;align-items:flex-end;max-width:92%}.eqm-b small{display:block;font-size:11px;color:var(--g500);margin-bottom:3px}.eqm-b p{margin:0;padding:10px 13px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid var(--line);font-size:13.5px;line-height:19px}
.eqm-in{display:flex;gap:8px;align-items:center}.eqm-in input{flex:1;height:46px;border-radius:23px;border:1px solid var(--line-2);padding:0 16px;font:500 14px var(--font);outline:0;min-width:0}.eqm-in .send{background:var(--gold);color:#fff;border-radius:50%;width:46px;height:46px;flex:none}
/* profil, confidentiel */
.eqm-prof{display:grid;justify-items:center;padding:20px 16px;border-radius:24px;background:#fff;border:1px solid var(--line);text-align:center}
.eqm-x{border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden}.eqm-x .hd{display:flex;align-items:center;gap:12px;padding:12px 14px}.eqm-x .hd b{display:block;font:600 14px var(--font)}.eqm-x .hd small{font-size:12px;color:var(--mut)}.eqm-x .hd>.ic{width:18px;height:18px;color:var(--g500)}
.eqm-x.open{border-color:rgba(238,103,36,.3)}.eqm-x .kvl{padding:4px 14px 14px;gap:8px}.eqm-x .kvl dt{font-size:12.5px}.eqm-x .kvl dd{font-size:13px}
.eqm-code{display:inline-block;margin-top:6px;font:500 12px ui-monospace,Consolas,monospace;color:var(--g500);background:var(--g100);padding:5px 12px;border-radius:8px}
.eqm-spin{width:38px;height:38px;border-radius:50%;border:3px solid var(--g200);border-top-color:var(--navy);margin:0 auto;animation:eqspin .9s linear infinite}@keyframes eqspin{to{transform:rotate(360deg)}}
.k-radio{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;border:1px solid var(--line-2);font:600 14px var(--font);cursor:pointer}.k-radio[aria-checked=true]{border:1.5px solid var(--navy);background:#F3F2FB}
.hero .mut{color:rgba(255,255,255,.72)}


/* --- s06_decouverte.css --- */
/* Découverte (vis.*) */
.vx-cream,.scr.m.vx-cream{background:var(--bg)}
.vx-mark{display:block;width:56px;height:56px;object-fit:contain}.vx-mark.big{width:150px;height:150px}.vx-mark.sm{width:30px;height:30px}
.vx-launch{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:34px;padding-bottom:30px}
.vx-ld{display:flex;gap:7px}.vx-ld i{width:7px;height:7px;border-radius:50%;background:var(--g300);animation:vxld 1.2s ease-in-out infinite}.vx-ld i:nth-child(2){animation-delay:.18s}.vx-ld i:nth-child(3){animation-delay:.36s}
@keyframes vxld{0%,100%{background:var(--g300);transform:none}40%{background:var(--gold);transform:translateY(-4px)}}
.vx-ver{position:absolute;bottom:34px;left:0;right:0;text-align:center;color:var(--g500);font:500 12px var(--font);letter-spacing:.02em}
.vx-center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 28px 36px;gap:0}
.vx-center.up{justify-content:flex-start;padding-top:56px}
.vx-center .t-h2{font-size:22px;line-height:30px}
.vx-center .k-btn{margin-top:26px}
.vx-center .lst,.vx-center .k-note,.vx-center .card{width:100%;text-align:left}
.vx-center .vx-note-s,.vx-mt{margin-top:18px}.vx-center .vx-stage{margin-bottom:26px}.vx-center .t-h2{margin-top:0!important}
.vx-sub{margin:8px 0 0;color:var(--mut);font-size:14.5px;line-height:22px}
.vx-head .t-h1{font-size:26px;line-height:34px}.vx-head .eyebrow{margin-bottom:6px}
.vx-note-s{display:flex;gap:8px;align-items:flex-start;text-align:left;margin-top:16px;color:var(--mut);font:400 12.5px/18px var(--font)}.vx-note-s .ic{width:18px;height:18px;flex:none;color:var(--g500);margin-top:1px}
/* pastille d'état centrale */
.vx-stage{--s:104px;position:relative;width:var(--s);height:var(--s);display:grid;place-items:center}
.vx-stage::before{content:"";position:absolute;inset:-14px;border-radius:50%;background:var(--t);opacity:.5}
.vx-stage::after{content:"";position:absolute;inset:-30px;border-radius:50%;border:1px dashed var(--t2);opacity:.7}
.vx-stage span{position:relative;z-index:1;width:var(--s);height:var(--s);border-radius:50%;background:var(--t);color:var(--tc);display:grid;place-items:center;border:1px solid rgba(35,30,88,.05)}
.vx-stage span .ic{width:calc(var(--s)*.5);height:calc(var(--s)*.5)}
.vx-stage{--t:var(--g100);--t2:var(--g300);--tc:var(--navy)}
.vx-stage.o{--t:var(--gold-soft);--t2:#F8C9AF;--tc:var(--gold-ink)}.vx-stage.g{--t:var(--pos-soft);--t2:#A7DFC5;--tc:var(--ok-ink)}.vx-stage.a{--t:var(--warn-soft);--t2:#F2D18A;--tc:var(--warn-ink)}
.vx-stage.r{--t:var(--neg-soft);--t2:#F4B7B7;--tc:var(--neg-ink)}.vx-stage.b{--t:var(--info-soft);--t2:#CFCBF0;--tc:var(--navy-2)}.vx-stage.n{--t:var(--g100);--t2:var(--g300);--tc:var(--mut)}
/* liens et raccourcis */
.vx-link{border:0;background:none;padding:8px 6px;font:600 14px/20px var(--font);color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.vx-link b{color:var(--gold-ink)}.vx-link.o{color:var(--gold-ink)}.vx-link.mut{color:var(--mut);font-weight:600}.vx-link.c{color:var(--mut)}
.vx-link .ic{width:18px;height:18px}
.vx-ft{display:flex;justify-content:center;gap:18px;margin-top:6px;flex-wrap:wrap}
.vx-foot{box-shadow:none;background:var(--bg);padding-top:6px}.m-foot.vx-foot .vx-ft{margin-top:2px}
.vx-sims{display:grid;gap:6px;justify-items:center}
.vx-sim{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:99px;border:1px dashed var(--g300);background:none;font:500 11.5px var(--font);color:var(--g500);cursor:pointer}.vx-sim .ic{width:14px;height:14px}.vx-sim span{font-weight:700;color:var(--navy-2);margin-right:2px}
/* présentation */
.vx-intro{min-height:100%;display:flex;flex-direction:column;gap:20px;padding:4px 16px 0}
.vx-art{position:relative;height:340px;border-radius:30px;display:grid;place-items:center;overflow:hidden;background:var(--gold-soft)}
.vx-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(35,30,88,.1) 1px,transparent 1.4px);background-size:16px 16px;-webkit-mask-image:radial-gradient(circle at 50% 45%,transparent 30%,#000 90%);mask-image:radial-gradient(circle at 50% 45%,transparent 30%,#000 90%)}
.vx-art.b{background:var(--info-soft)}.vx-art.g{background:var(--pos-soft)}.vx-art.s{height:238px;margin-top:6px}
.vx-art .il{position:relative;z-index:1;margin:0}
.vx-float{position:absolute;left:16px;bottom:16px;z-index:2}
.vx-fc{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 26px -12px rgba(35,30,88,.35)}
.vx-fc small{display:block;font:500 11.5px/15px var(--font);color:var(--mut)}.vx-fc b{display:block;font:600 14.5px/19px var(--font);font-variant-numeric:tabular-nums}
.vx-copy .eyebrow{margin-bottom:6px}.vx-copy .t-h1{font-size:26px;line-height:34px}
.vx-dots{display:flex;gap:6px;align-items:center}.vx-dots i{width:8px;height:8px;border-radius:99px;background:var(--g300);transition:width .2s}.vx-dots i.on{width:26px;background:var(--navy)}
/* choix d'entrée */
.vx-role{display:flex;align-items:center;gap:14px;padding:14px;border-radius:20px;background:#fff;border:1px solid var(--line);cursor:pointer;transition:border-color .15s,transform .1s}
.vx-role:hover{border-color:var(--g300)}.vx-role:active{transform:scale(.99)}
.vx-role .ti{width:48px;height:48px;border-radius:16px}.vx-role .ti .ic{width:24px;height:24px}
.vx-role b{display:block;font:600 15.5px/22px var(--font)}.vx-role small{display:block;color:var(--mut);font:400 12.5px/17px var(--font)}
.vx-role:first-child{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset}
.vx-role .rw-ch{color:var(--g400)}
/* connexion */
.vx-lhead{display:grid;gap:4px;justify-items:start}.vx-lhead .vx-mark{margin-bottom:14px}.vx-lhead .t-h1{font-size:28px}
.vx-ph{display:flex;gap:8px;align-items:stretch}.vx-cc{display:grid;place-items:center;padding:0 16px;border-radius:16px;background:var(--g100);border:1px solid var(--line-2);font:600 15px var(--font);font-variant-numeric:tabular-nums;color:var(--navy);flex:none}
.vx-ph .vx-pf{flex:1;min-width:0}
.vx-pw input{padding-right:40px}.vx-eye{border:0;background:none;padding:6px;margin-right:-6px;color:var(--g500);cursor:pointer;display:grid}.vx-eye .ic{width:22px;height:22px}.vx-eye .ic+.ic{display:none}.vx-eye[aria-pressed=true] .ic:first-child{display:none}.vx-eye[aria-pressed=true] .ic+.ic{display:block}
.vx-pw .suf{right:14px}
.k-note.err{background:var(--neg-soft);color:var(--neg-ink)}.k-note.err .ic{color:var(--neg-ink)}.k-note.warn{background:var(--warn-soft);color:var(--warn-ink)}.k-note.warn .ic{color:var(--warn-ink)}
.vx-str{display:grid;gap:6px;margin-top:-4px}.vx-sb{display:flex;gap:5px}.vx-sb i{flex:1;height:4px;border-radius:2px;background:var(--g200)}.vx-str.l3 .vx-sb i.on,.vx-str.l4 .vx-sb i.on{background:var(--ok)}.vx-str.l2 .vx-sb i.on{background:#F59E0B}.vx-str.l1 .vx-sb i.on{background:#DC2626}
.vx-legal{margin:0;color:var(--mut);font:400 12.5px/18px var(--font)}.vx-legal a{color:var(--gold-ink);font-weight:600;cursor:pointer}
.vx-otp input{width:46px}.vx-otp.err input{border-color:var(--neg-ink);background:var(--neg-soft)}
.vx-resend{display:grid;gap:2px;justify-items:center;text-align:center;font-size:13.5px}
/* permissions */
.vx-why{margin-top:26px}.vx-why .rw-ic{border-radius:12px}
.m-dialog.vx-android{text-align:left;padding:22px 0 8px;border-radius:28px}
.m-dialog.vx-android .dl-ic{margin:0 0 12px 22px;width:44px;height:44px;background:var(--g100);color:var(--navy)}.m-dialog.vx-android .dl-ic .ic{width:22px;height:22px}
.m-dialog.vx-android b{padding:0 22px;font:500 16px/24px var(--font)}.m-dialog.vx-android p{display:none}
.m-dialog.vx-android .dl-a{gap:0;margin-top:12px}
.vx-sys{border:0;background:none;text-align:center;padding:14px 22px;font:600 14.5px/20px var(--font);color:var(--navy-2);cursor:pointer;border-top:1px solid var(--line)}.vx-sys:hover{background:var(--g50)}
/* téléchargement */
.vx-dl{width:100%;margin-top:26px;display:grid;gap:8px;text-align:left}.vx-dl .k-bar{height:8px;border-radius:99px}.vx-dl .k-bar i{border-radius:99px}.vx-dl b{font:600 15px var(--font);font-variant-numeric:tabular-nums}
.hero .row{display:flex;gap:8px}
/* web : accueil public */
.scr.w.vw{background:var(--bg)}.scr.w.vw .w-scroll{background:var(--bg)}
.vw-nav{display:flex;align-items:center;gap:36px;padding:18px 56px;position:sticky;top:0;z-index:5;background:rgba(247,245,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.vw-brand{display:flex;align-items:center;gap:10px;cursor:pointer}.vw-brand b{font:600 21px var(--font);letter-spacing:-.02em;color:var(--navy)}
.vw-nav nav{display:flex;gap:26px}.vw-nav nav a{font:500 14.5px var(--font);color:var(--mut);cursor:pointer}.vw-nav nav a:hover,.vw-nav nav a.on{color:var(--navy)}
.vw-nav .k-btn.sm{min-height:42px!important}
.vw-main{padding:28px 56px 0}
.vw-hero.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;padding:56px 56px;border-radius:36px;align-items:center}
.vw-hl{display:grid;gap:18px;align-content:center}.vw-eb{font:600 12px var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-light)}
.vw-hl h1{margin:0;font:600 42px/50px var(--font);letter-spacing:-.03em}.vw-hl p{margin:0;font:400 16.5px/26px var(--font);color:rgba(255,255,255,.78);max-width:520px}
.vw-ver{color:rgba(255,255,255,.6);font:500 12.5px var(--font)}
.vw-hr{position:relative}.vw-hr .map{border-radius:26px;border:4px solid rgba(255,255,255,.12)}
.vw-fc1,.vw-fc2{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);border-radius:18px;padding:10px 14px 10px 10px;box-shadow:0 18px 34px -14px rgba(0,0,0,.5)}
.vw-fc1{left:-26px;top:34px}.vw-fc2{right:-14px;bottom:26px;gap:12px}
.vw-fc1 small,.vw-fc2 small{display:block;font:500 11.5px/15px var(--font);color:var(--mut)}.vw-fc1 b,.vw-fc2 b{display:block;font:600 14.5px/19px var(--font)}
.vw-fc1 .ti,.vw-fc2 .ti{width:38px;height:38px}
.vw-sec{padding:60px 0 20px}.vw-sec h2{margin:6px 0 26px;font:600 30px/38px var(--font);letter-spacing:-.025em}
.vw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vw-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;display:grid;gap:8px;align-content:start}
.vw-step .ti{width:48px;height:48px;border-radius:16px;margin-bottom:6px}.vw-step .ti .ic{width:24px;height:24px}
.vw-step i{position:absolute;right:22px;top:20px;font:600 40px/1 var(--font);color:var(--g200);font-style:normal}
.vw-step b{font:600 18px/24px var(--font);letter-spacing:-.01em}.vw-step p{margin:0;color:var(--mut);font:400 14.5px/22px var(--font)}
.vw-band{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 36px;border-radius:28px;background:#fff;border:1px solid var(--line)}
.vw-band h3{margin:0 0 4px;font:600 22px/30px var(--font);letter-spacing:-.02em}.vw-band p{margin:0;color:var(--mut);font:400 15px/22px var(--font);max-width:560px}
.vw-foot{display:flex;gap:26px;align-items:center;padding:34px 0 40px;color:var(--mut);font:400 13.5px var(--font)}.vw-foot a{cursor:pointer}.vw-foot a:hover{color:var(--navy)}
.k-btn.vw-dl{min-height:52px}
.vw-lg{display:grid;place-items:center;min-height:660px;padding:30px}
.vw-card{width:440px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;display:grid;gap:2px}
.vw-card .k-note{margin-top:20px}
.k-field.vx-ic{padding-left:52px}.k-field.vx-ic .fi{top:50%;transform:translateY(-50%);left:18px}.k-field.vx-ic label{position:static}.k-field.vx-ic input{padding-left:0!important}
.k-field.err.vx-pw{background:var(--neg-soft);border-color:#E9A3A3}.k-field.err.vx-pw input{background:transparent!important;border:0!important}
.vx-center.up{padding-top:108px}.vx-center .k-note{margin-top:18px}.vx-center .stack .k-btn{margin-top:0}.vx-center .vx-sims{margin-top:26px}


/* --- s07_bibliotheque.css --- */
/* Bibliothèque (bib.*) */
.lb-page{display:grid;gap:22px;align-content:start;max-width:1020px}
.lb-lead{margin:-8px 0 0;color:var(--mut);font:400 15px/22px var(--font);max-width:640px}
.lb-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.lb-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.lb-col{display:grid;gap:20px}
.lb-spec{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;display:grid;gap:14px;align-content:start;min-width:0}
.lb-spec>header{display:grid;gap:6px}.lb-spec h3{margin:0;font:600 16px/22px var(--font);letter-spacing:-.01em}
.lb-api{display:grid;gap:2px}.lb-api code{font:500 11.5px/16px ui-monospace,Menlo,Consolas,monospace;color:var(--navy-2);background:var(--g50);border:1px solid var(--line);border-radius:8px;padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.lb-api p{margin:2px 0 0;color:var(--mut);font:400 12px/17px var(--font)}
.lb-note{margin:-6px 0 0;color:var(--mut);font:400 12.5px/18px var(--font)}
.lb-demo{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;min-width:0}
.lb-cells{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-start}
.lb-cell{display:grid;gap:8px;justify-items:start}.lb-cell code,.lb-ty code,.lb-rad code,.lb-spc code,.lb-sh code,.lb-ic code,.lb-map code{font:500 10.5px/14px ui-monospace,Menlo,Consolas,monospace;color:var(--g500)}
.lb-ph{width:100%;max-width:100%;background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:16px;position:relative;overflow:hidden;display:grid;justify-items:stretch}
.lb-ph .m-top{padding-top:10px;min-height:58px;background:transparent}
.lb-ph .nb{position:relative;left:auto;right:auto;bottom:auto}
/* jetons */
.lb-sws{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lb-sw{display:grid;gap:2px;align-content:start;min-width:0}.lb-sw i{display:block;height:54px;border-radius:14px;background:var(--c);border:1px solid var(--line);margin-bottom:6px}
.lb-sw b{font:600 13px/18px var(--font)}.lb-sw code{font:500 10.5px/14px ui-monospace,Consolas,monospace;color:var(--navy-2)}.lb-sw small{font:500 11px/15px var(--font);color:var(--g500);font-variant-numeric:tabular-nums}.lb-sw span{font:400 11.5px/16px var(--font);color:var(--mut)}
.lb-tys{display:grid;gap:12px;width:100%}.lb-ty{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.lb-ty small{grid-column:1/-1;font:400 11.5px var(--font);color:var(--mut)}.lb-ty .t-h1{white-space:nowrap}
.lb-rads{display:flex;flex-wrap:wrap;gap:14px}.lb-rad{display:grid;gap:3px;justify-items:center;width:78px;text-align:center}.lb-rad i{display:block;width:56px;height:56px;background:var(--g100);border:1.5px solid var(--navy);border-radius:var(--r)}.lb-rad small{font:400 10.5px/13px var(--font);color:var(--mut)}
.lb-spcs{display:grid;gap:8px;width:100%}.lb-spc{display:flex;align-items:center;gap:12px}.lb-spc i{display:block;height:14px;border-radius:4px;background:var(--navy-2);opacity:.85}
.lb-shs{display:grid;gap:18px;width:100%}.lb-sh{display:grid;gap:8px}.lb-sh i{display:block;height:50px;border-radius:16px;background:#fff}
.lb-rules{margin:0;padding-left:18px;display:grid;gap:6px;font:400 14px/21px var(--font);color:var(--ink)}.lb-rules code{background:var(--g100);border-radius:6px;padding:1px 6px;font-size:12.5px}
/* démonstrations statiques de feuilles et de dialogues */
.lb-st{position:relative;width:100%}
.lb-st .m-sheet{position:relative!important;transform:none!important;max-height:none!important;box-shadow:0 0 0 1px var(--line)!important;border-radius:24px!important}
.lb-st .m-dialog{position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;opacity:1!important;box-shadow:0 0 0 1px var(--line)!important;margin:0 0 12px}
.lb-st.lb-stw .w-modal{position:relative!important;left:auto!important;top:auto!important;transform:none!important;opacity:1!important;width:100%!important;box-shadow:0 0 0 1px var(--line)!important}
.lb-phs,.lb-phd{padding:12px}
.lb-phf{padding:0}.lb-phf .m-foot{position:relative;width:100%}
.lb-toasts{display:grid;gap:10px;width:100%}.lb-toasts .m-toast{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;opacity:1!important;transform:none!important}
/* navigation */
.lb-navs{display:grid;gap:16px;width:100%}.lb-nbw{display:grid;gap:6px}.lb-cap{font:500 11.5px var(--font);color:var(--mut)}
.lb-nbp{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:14px 8px;width:100%;max-width:355px}.lb-nbp .nb{position:relative;left:auto;right:auto;bottom:auto}
/* données */
.lb-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}
.lb-demo>.w-tbl{width:100%}
.spark.lb-s{width:100%;height:56px;color:var(--navy-2)}.spark.lb-s .sf{fill:rgba(35,30,88,.08)}
.lb-ph .hero{margin:0}
/* médias */
.lb-ics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:100%}
.lb-ic{display:grid;grid-template-columns:1fr 1fr;gap:4px;justify-items:center;padding:12px 4px 8px;border:1px solid var(--line);border-radius:16px;background:var(--g50)}.lb-ic>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;color:var(--navy)}.lb-ic>span.l{color:var(--mut)}.lb-ic .ic{width:22px;height:22px}.lb-ic code{grid-column:1/-1;font-size:9.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-avs{display:flex;flex-wrap:wrap;gap:10px}
.lb-veh{width:92px;height:56px;object-fit:contain}
.lb-maps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}.lb-map{display:grid;gap:6px}.lb-map .map{height:170px;position:relative}
.lb-demo .il{margin:0}
.lb-ph .otp{gap:5px;justify-content:flex-start}.lb-ph .otp input{width:34px;height:46px;font-size:18px}
.lb .k-field.err input{background:transparent}
/* défaut du CSS commun : .k-btn.danger est recouvert par la règle « principal » (orange) ; correction locale */
.k-btn.danger:not(#z){background:var(--neg-soft);border-color:transparent;color:var(--neg-ink)}
.k-btn.text:not(#z){background:transparent;border-color:transparent;color:var(--gold-ink)}
.lb-toasts .m-toast{margin:0!important;width:auto!important;left:auto!important;right:auto!important;display:flex}
.k-btn.danger:not(#z):hover{filter:none}


/* --- s11_bureau.css --- */
/* Option B : l'écran du téléphone remplit une colonne, le menu latéral remplace sa barre d'état et ses onglets. */
.bd .w-top{display:none}
.bd .w-body{padding:0;height:100%;display:flex;justify-content:center;overflow:hidden}
.bd .w-main{height:100%}
.bd-col{position:relative;width:520px;height:100%;background:var(--bg);border-inline:1px solid var(--line);overflow:hidden}
.bd-col .scr.m{position:absolute;inset:0}
.bd-col .m-sb,.bd-col .dock{display:none}
.bd-col .scr.has-nav .m-scroll,.bd-col .scr.has-dock .m-scroll{padding-bottom:0}
