/* 12•Cinqcent — Design system Claude (MWM) · mobile */
:root{
  --ds-red:#E30613;--ds-red-dark:#B80510;--ds-red-tint:#FBEAEB;
  --ds-charcoal:#1C1A1B;--ds-charcoal-soft:#3A3839;--ds-charcoal-deep:#141213;
  /* --ds-grey-400 : aligné sur styles/tokens.css (contraste WCAG AA du texte secondaire). */
  --ds-grey-700:#57545A;--ds-grey-400:#69656B;--ds-grey-100:#F4F2F3;--ds-grey-050:#FAF9F9;
  --ds-white:#FFFFFF;
  --ds-brand:var(--ds-red);
  --ds-text-strong:var(--ds-charcoal);
  --ds-text-muted:var(--ds-grey-400);
  --ds-text:var(--ds-charcoal);
  --ds-text-inverse:rgba(255,255,255,.72);
  --ds-surface-page:var(--ds-white);
  --ds-surface-sunken:var(--ds-grey-100);
  --ds-surface-inverse:var(--ds-charcoal);
  --ds-surface-glass:rgba(255,255,255,.88);
  --ds-border-hairline:rgba(28,26,27,.06);
  /* Variantes « encre » : sur pastille teintee, la couleur semantique pleine ne passe pas
     le contraste AA (ambre 3,5:1 et rouge 4,2:1 sur leur propre fond). Le fond et les
     objets graphiques gardent la teinte vive ; seul le TEXTE utilise l'encre. */
  --ds-success:#1A7F37;--ds-success-wash:#E7F4EB;--ds-success-ink:#146B2E;
  --ds-warning:#B5730B;--ds-warning-wash:#FDF3E2;--ds-warning-ink:#8A5606;
  --ds-brand-ink:#B80510;
  --ds-radius-lg:24px;--ds-radius-xl:32px;--ds-radius-pill:999px;
  --ds-shadow-soft:0 20px 40px -20px rgba(28,26,27,.18);
  --ds-shadow-card:0 12px 30px -14px rgba(28,26,27,.12);
  --ds-shadow-ember:0 32px 60px -20px rgba(227,6,19,.35),0 12px 28px -14px rgba(28,26,27,.4);
  --ds-shadow-icon:0 12px 24px -12px rgba(227,6,19,.28),inset 0 0 0 1px rgba(227,6,19,.06);
  --ds-gradient-card:linear-gradient(160deg,var(--ds-white) 0%,var(--ds-grey-050) 100%);
  --ds-gradient-ember:linear-gradient(145deg,var(--ds-charcoal) 0%,#2C1012 55%,var(--ds-red-dark) 145%);
  --ds-gradient-icon:linear-gradient(160deg,var(--ds-white) 0%,var(--ds-red-tint) 100%);
  --ds-blur-glass:saturate(180%) blur(14px);
  --ds-tap-min:44px;
  --ds-ease-out:cubic-bezier(.2,.8,.2,1);
}

/* ---- Mode sombre ---------------------------------------------------------
   Cette feuille définit les jetons --ds-* que consomment TOUS les composants
   ds-* (héros, cartes, pastilles, listes) et c'est la seule, avec tokens.css,
   que charge app.html. Sans ce bloc, l'interrupteur « Mode sombre » de
   Compte > Paramètres inversait bien le texte (--acier/--bitume, définis en
   ligne dans app.html) mais laissait les surfaces --ds-* en blanc : gris clair
   sur blanc, soit 2,4:1, écran inutilisable. Les surcharges sombres existaient
   uniquement dans styles/claude-premium.css, feuille chargée par la seule
   console admin. */
body.dark{
  --ds-charcoal:#F0F0F2;--ds-charcoal-soft:#D6D7DC;--ds-charcoal-deep:#FFFFFF;
  --ds-grey-700:#C7CAD2;--ds-grey-400:#9BA0AA;--ds-grey-100:#2C2D33;--ds-grey-050:#1D1E22;
  --ds-white:#1D1E22;
  --ds-red:#FF5A5F;--ds-red-dark:#E4141B;--ds-red-tint:rgba(228,20,27,.18);
  --ds-text-strong:#F0F0F2;
  --ds-text:#F0F0F2;
  --ds-text-muted:#9BA0AA;
  --ds-text-inverse:rgba(255,255,255,.72);
  --ds-surface-page:#121316;
  --ds-surface-sunken:#1D1E22;
  --ds-surface-glass:rgba(29,30,34,.9);
  --ds-border-hairline:rgba(255,255,255,.10);
  /* Les variantes « encre » servent au texte sur pastille teintée : en sombre ces pastilles
     sont foncées, on repasse donc aux teintes vives (voir tokens.css). */
  --ds-success:#3DD68C;--ds-success-wash:rgba(14,143,94,.20);--ds-success-ink:#3DD68C;
  --ds-warning:#FFB93D;--ds-warning-wash:rgba(246,166,9,.20);--ds-warning-ink:#FFB93D;
  --ds-brand-ink:#FF5A5F;
  /* Bandeau informatif : #E8F0F8 est un bleu très clair qui ne s'inversait pas — texte
     clair sur fond clair en mode sombre. */
  --info:#7FB4E8;--info-wash:rgba(27,94,155,.22);
  --ds-shadow-soft:0 20px 40px -20px rgba(0,0,0,.6);
  --ds-shadow-card:0 12px 30px -14px rgba(0,0,0,.55);
  --ds-gradient-card:linear-gradient(160deg,#26272D 0%,#1D1E22 100%);
  --ds-gradient-icon:linear-gradient(160deg,#2A2B31 0%,rgba(228,20,27,.18) 100%);
}

/* ---- Coque téléphone + halo lumineux ---- */
.app-shell{
  width:100%;height:100%;display:flex;justify-content:center;align-items:stretch;
  position:relative;background:var(--ds-grey-100);
}
@media(min-width:480px){
  .app-shell{align-items:center;padding:12px}
  .app-shell::before{
    content:'';position:absolute;inset:8px;border-radius:56px;pointer-events:none;z-index:0;
    background:conic-gradient(from 0deg,rgba(227,6,19,0),rgba(227,6,19,.22),rgba(255,255,255,0),rgba(227,6,19,.12),rgba(227,6,19,0));
    animation:dsFrameGlow 10s linear infinite;
    filter:blur(28px);opacity:.75;
  }
}
@keyframes dsFrameGlow{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.app-shell::before{animation:none;opacity:.35}}

body.ds-theme{background:var(--ds-grey-100)}
body.ds-theme #app{
  background:var(--ds-surface-page);
  box-shadow:var(--ds-shadow-soft);
  z-index:1;
}
@media(min-width:480px){
  body.ds-theme:not(.layout-pc) #app,
  html.layout-mobile:not(.device-mode-capable) body.ds-theme #app{
    height:min(820px,96dvh);
    border-radius:42px;
    border:1px solid var(--ds-border-hairline);
    overflow:hidden;
  }
}

/* ---- Header masqué sur accueil (hero intégré) ---- */
.top.top-hidden{display:none!important}

/* ---- Scroll accueil ---- */
.scroll.scroll-home-ds{
  background:var(--ds-surface-page);
  padding-bottom:calc(var(--nav-h) + 40px);
}
.screen-home-ds{padding:0;animation:none}

/* ---- Hero sombre (Accueil.jsx) ---- */
.ds-hero{
  position:relative;overflow:hidden;
  background:var(--ds-surface-inverse);color:var(--ds-white);
  padding:8px 24px 34px;
  border-radius:0 0 var(--ds-radius-xl) var(--ds-radius-xl);
}
.ds-hero-glow{
  position:absolute;right:-90px;top:-110px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(227,6,19,.45) 0%,rgba(227,6,19,0) 70%);
  pointer-events:none;
}
.ds-hero-top{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  margin-bottom:26px;
}
.ds-hero-top .logo{height:26px;width:auto}
.ds-hero-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ds-sos-btn{
  min-width:64px;height:42px;padding:0 14px;border:none;cursor:pointer;
  border-radius:var(--ds-radius-pill);background:var(--ds-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;gap:6px;
  box-shadow:0 10px 22px -8px rgba(227,6,19,.7);
  animation:ds-sos-pulse 2.4s ease-in-out infinite;
}
.ds-sos-btn svg{flex-shrink:0}
.ds-sos-mark{
  font-size:13px;font-weight:900;letter-spacing:.12em;line-height:1;
}
.ds-sos-btn:active{transform:scale(.96);animation:none}
@keyframes ds-sos-pulse{
  0%,100%{box-shadow:0 10px 22px -8px rgba(227,6,19,.7)}
  50%{box-shadow:0 0 0 6px rgba(227,6,19,.22),0 10px 22px -8px rgba(227,6,19,.7)}
}
.ds-hero-bell{
  width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.1);color:#fff;
  display:grid;place-items:center;position:relative;
}
.ds-hero-bell .dot{
  position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;
  background:var(--ds-brand);border:2px solid var(--ds-charcoal);
  display:none;
}
.ds-hero-greet{
  position:relative;font-size:13.5px;color:rgba(255,255,255,.6);margin:0 0 4px;font-weight:500;
}
.ds-hero-title{
  position:relative;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15;
  margin:0 0 20px;color:#fff;
}
.ds-hero-title .ds-accent{color:var(--ds-brand)}
.ds-search-pill{
  position:relative;width:100%;display:flex;align-items:center;gap:10px;
  background:var(--ds-white);border:none;border-radius:var(--ds-radius-pill);
  padding:13px 18px;color:var(--ds-text-muted);font-size:14.5px;font-weight:500;
  cursor:pointer;text-align:left;min-height:var(--ds-tap-min);
  box-shadow:0 8px 24px -8px rgba(0,0,0,.25);
}
.ds-search-pill:active{transform:scale(.99)}

/* ---- Blocs de contenu ---- */
.ds-block{padding:28px 24px 0}
.ds-block:last-child{padding-bottom:32px}
.ds-eyebrow{
  font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ds-text-muted);margin:0 0 14px;
}

/* ---- Grille services ---- */
.ds-services{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ds-svc{
  background:var(--ds-gradient-card);border:none;border-radius:var(--ds-radius-lg);
  padding:18px 8px;min-height:var(--ds-tap-min);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  cursor:pointer;box-shadow:var(--ds-shadow-card);
  transition:transform .18s var(--ds-ease-out),box-shadow .18s ease;
}
.ds-svc:active{transform:scale(.97)}
.ds-svc-ic{
  width:44px;height:44px;border-radius:14px;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  display:grid;place-items:center;box-shadow:var(--ds-shadow-icon);
}
.ds-svc-lab{font-size:12px;font-weight:700;color:var(--ds-text-strong);text-align:center;line-height:1.25}

/* ---- Carte véhicule ember ---- */
.ds-vehicle{
  position:relative;overflow:hidden;cursor:pointer;
  background:var(--ds-gradient-ember);color:#fff;
  border-radius:var(--ds-radius-xl);padding:22px 24px;
  box-shadow:var(--ds-shadow-ember);border:none;width:100%;text-align:left;
}
.ds-vehicle-glow{
  position:absolute;right:-90px;top:-110px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(227,6,19,.4) 0%,rgba(227,6,19,0) 70%);
  pointer-events:none;
}
.ds-vehicle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;position:relative}
.ds-vehicle-name{font-size:19px;font-weight:800;letter-spacing:-.01em}
.ds-vehicle-plate{font-size:12.5px;color:rgba(255,255,255,.65);margin-top:2px;font-weight:600}
.ds-badge{
  font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:5px 10px;border-radius:var(--ds-radius-pill);flex-shrink:0;
}
.ds-badge-ok{background:rgba(255,255,255,.14);color:#fff}
.ds-badge-warn{background:var(--ds-warning-wash);color:var(--ds-warning-ink)}
.ds-badge-late{background:var(--ds-red-tint);color:var(--ds-red)}
.ds-vehicle-stats{
  display:flex;gap:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);position:relative;
}
.ds-vehicle-stat-n{font-size:18px;font-weight:800;line-height:1}
.ds-vehicle-stat-n.accent{color:var(--ds-brand)}
.ds-vehicle-stat-l{font-size:11.5px;color:rgba(255,255,255,.6);margin-top:2px}

/* ---- Liste proximité ---- */
.ds-near-item{
  display:flex;align-items:center;gap:14px;padding:14px 0;
  border-bottom:1px solid var(--ds-border-hairline);cursor:pointer;
  background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;
}
.ds-near-item:last-child{border-bottom:none}
.ds-near-ic{
  width:46px;height:46px;flex-shrink:0;border-radius:16px;
  background:var(--ds-surface-sunken);color:var(--ds-charcoal-soft);
  display:grid;place-items:center;
}
.ds-near-main{flex:1;min-width:0}
.ds-near-name{font-size:14.5px;font-weight:700;color:var(--ds-text-strong)}
.ds-near-meta{font-size:12.5px;color:var(--ds-text-muted);margin-top:2px}

/* ---- SOS pill (dépannage urgent) ---- */
.ds-sos-pill{
  width:calc(100% - 48px);margin:0 24px 8px;display:flex;align-items:center;gap:12px;
  background:var(--ds-brand);color:#fff;border:none;border-radius:var(--ds-radius-pill);
  padding:14px 18px;font-weight:700;font-size:14px;cursor:pointer;
  box-shadow:0 14px 30px -10px rgba(227,6,19,.55);
  min-height:var(--ds-tap-min);
}
.ds-sos-pill:active{transform:scale(.985)}
.ds-home-compte,.ds-home-ct{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  background:var(--ds-white);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:14px 16px;cursor:pointer;
}
.ds-nearby-banner{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 12px;padding:12px 14px;border-radius:16px;
  background:var(--ds-red-tint);color:var(--ds-charcoal);font-size:13px;font-weight:700;
}
.ds-near-sheet{padding:4px 0 8px}

/* ---- Nav style TabBar ---- */
body.ds-theme .nav{
  left:0;right:0;bottom:0;border-radius:0;
  background:var(--ds-surface-glass);
  backdrop-filter:var(--ds-blur-glass);-webkit-backdrop-filter:var(--ds-blur-glass);
  border-top:1px solid var(--ds-border-hairline);border-left:none;border-right:none;
  padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));gap:0;
  box-shadow:none;
}
body.ds-theme .nav button{
  font-size:10.5px;font-weight:700;color:var(--ds-text-muted);
  border-radius:16px;padding:4px 2px 6px;gap:5px;
  min-height:var(--ds-tap-min);background:transparent;
}
body.ds-theme .nav button.on{color:var(--ds-brand);background:transparent}
body.ds-theme .nav svg{width:22px;height:22px}
body.ds-theme .nav .ni{
  position:relative;width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
}
body.ds-theme .nav button.on .ni{background:rgba(227,6,19,.10)}
body.ds-theme .ds-nav-dot{
  position:absolute;top:-2px;right:-4px;width:8px;height:8px;
  border-radius:50%;background:var(--ds-brand);border:2px solid #fff;
}
body.ds-theme .ds-nav-lock{
  position:absolute;top:-4px;right:-7px;width:14px;height:14px;
  border-radius:50%;background:var(--ds-warning-wash);color:var(--ds-warning);
  display:grid;place-items:center;
}
body.ds-theme .ds-nav-lock .ds-ic{width:9px;height:9px}

/* ---- Icônes filaires ---- */
.ds-ic{display:block;flex-shrink:0}

/* ---- Panneau intelligence (accueil + réemploi) ---- */
.intel-panel,
.ds-block .intel-panel,
body.ds-theme .intel-panel{
  background:var(--ds-white);
  border:none;
  border-radius:var(--ds-radius-xl);
  box-shadow:var(--ds-shadow-card);
  padding:18px 16px 14px;
  color:var(--ds-text-strong);
}
.intel-head{
  display:flex;align-items:center;gap:12px;
  margin:0 0 14px;padding:0;width:100%;
  background:none;border:none;text-align:left;color:inherit;font:inherit;
  cursor:pointer;
}
.intel-head:active{opacity:.88}
.intel-head-ic{
  width:42px;height:42px;border-radius:14px;flex-shrink:0;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  display:grid;place-items:center;box-shadow:var(--ds-shadow-icon);
}
.intel-head-txt{flex:1;min-width:0}
.intel-kicker{
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ds-grey-400);margin:0 0 3px;line-height:1.2;
}
.intel-title{
  font-family:var(--font-display,inherit);
  font-size:17.5px;font-weight:800;letter-spacing:-.02em;line-height:1.2;
  color:var(--ds-charcoal);margin:0;
}
.intel-sub{
  margin:4px 0 0;font-size:12.5px;font-weight:600;line-height:1.35;
  color:var(--ds-grey-700);
}
.intel-score-chip{
  margin-left:auto;min-width:54px;height:54px;padding:6px 8px;flex-shrink:0;
  border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--ds-grey-050);color:var(--ds-charcoal);
}
.intel-score-chip b{font-size:18px;font-weight:800;line-height:1;letter-spacing:-.03em}
.intel-score-chip small{font-size:10px;font-weight:700;color:var(--ds-grey-400);margin-top:2px}
.intel-score-chip--ok{background:var(--ds-success-wash);color:var(--ds-success)}
.intel-score-chip--ok small{color:var(--ds-success)}
.intel-score-chip--warn{background:var(--ds-warning-wash);color:var(--ds-warning)}
.intel-score-chip--warn small{color:var(--ds-warning)}
.intel-score-chip--late{background:var(--ds-red-tint);color:var(--ds-brand-ink)}
.intel-score-chip--late small{color:var(--ds-brand)}
.intel-meter{
  height:6px;border-radius:99px;overflow:hidden;
  background:var(--ds-grey-100);margin:0 2px 14px;
}
.intel-meter-fill{display:block;height:100%;border-radius:99px;background:var(--ds-brand)}
.intel-meter-fill--ok{background:var(--ds-success)}
.intel-meter-fill--warn{background:var(--ds-warning)}
.intel-meter-fill--late{background:var(--ds-brand)}
.intel-score{
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--ds-grey-700);
  margin:0 0 12px;line-height:1.35;
}
.intel-list{display:flex;flex-direction:column;gap:8px}
.intel-item{
  display:flex;align-items:flex-start;gap:12px;
  width:100%;padding:12px;margin:0;
  border:none;border-radius:16px;
  background:var(--ds-grey-050);color:inherit;
  text-align:left;font:inherit;cursor:default;
}
.intel-item.is-go{cursor:pointer}
.intel-item.is-go:active{transform:scale(.99);background:var(--ds-red-tint)}
.intel-item-ic{
  width:36px;height:36px;border-radius:12px;flex-shrink:0;
  background:var(--ds-white);color:var(--ds-brand);
  display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px var(--ds-border-hairline);
}
.intel-item-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.intel-item-txt b{
  display:block;font-size:13.5px;font-weight:700;line-height:1.3;
  color:var(--ds-charcoal);
}
.intel-item-txt span,.intel-item-txt small{
  display:block;font-size:12.5px;font-weight:500;line-height:1.45;
  color:var(--ds-grey-700);
}
.intel-item-go{
  align-self:center;flex-shrink:0;color:var(--ds-grey-400);
  display:grid;place-items:center;
}
.ds-block .home-carousel .home-quick-card,
.ds-block .home-carousel .home-explore-card{
  border:none;box-shadow:var(--ds-shadow-card);border-radius:var(--ds-radius-lg);
}

/* ---- Écosystème & raccourcis — grille 3 colonnes (icône + libellé) ---- */
.ds-cockpit-panel,.ds-pad-panel{
  background:var(--ds-grey-050);
  border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);
  padding:10px 4px 12px;
  box-shadow:var(--ds-shadow-card);
}
.ds-cockpit,.ds-pad{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 0;margin:0;
}
.ds-eco-tile,.ds-pad-item{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:8px;min-height:var(--ds-tap-min);padding:10px 4px 8px;margin:0;width:100%;
  background:transparent;border:none;border-radius:16px;
  font-family:var(--font-text,inherit);cursor:pointer;color:var(--ds-text-strong);
  position:relative;
}
.ds-eco-tile:active,.ds-pad-item:active{transform:scale(.985)}
.ds-eco-lab,.ds-pad-lab{
  font-size:11.5px;font-weight:700;text-align:center;line-height:1.25;
  max-width:100%;
}
.ds-cockpit-ic,.ds-pad-ic{
  width:48px;height:48px;border-radius:16px;flex-shrink:0;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  display:grid;place-items:center;box-shadow:var(--ds-shadow-icon);
}
.ds-cockpit-ic .ds-ic,.ds-pad-ic .ds-ic{width:20px;height:20px;display:block}
.ds-pad-item.on .ds-pad-ic,.ds-eco-tile.on .ds-cockpit-ic{
  background:var(--ds-red-tint);
}
.ds-pad-item--alert .ds-pad-ic{
  background:var(--ds-red-tint);color:var(--ds-brand);
}
.ds-pad-kicker{margin:16px 2px 8px}
.ds-quick-pills{display:flex;flex-wrap:wrap;gap:6px}
.ds-pill-link{
  display:inline-flex;align-items:center;gap:8px;
  border:none;background:var(--ds-surface-sunken);color:var(--ds-text-strong);
  font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:var(--ds-radius-pill);
  cursor:pointer;min-height:var(--ds-tap-min);
}
.ds-pill-link .ds-ic{flex-shrink:0;color:var(--ds-brand)}
.ds-pill-link:active{transform:scale(.98)}

/* ============================================================
   THÈME GLOBAL — toutes les vues sous body.ds-theme
   ============================================================ */
body.ds-theme{
  --braise:var(--ds-brand);--braise-d:var(--ds-red-dark);--braise-soft:var(--ds-red-tint);
  --bitume:var(--ds-charcoal);--acier:var(--ds-grey-400);--acier-l:var(--ds-grey-400);
  --craie:var(--ds-grey-100);--carte:var(--ds-white);--ligne:var(--ds-border-hairline);
  --fond-ext:var(--ds-grey-100);
  --r:var(--ds-radius-lg);--r-s:16px;--r-l:var(--ds-radius-xl);--r-pill:var(--ds-radius-pill);
  --ombre:var(--ds-shadow-card);--ombre-h:var(--ds-shadow-soft);
}

body.ds-theme .scroll{background:var(--ds-surface-page)}

/* Header (hors accueil) */
body.ds-theme .top{
  background:var(--ds-surface-glass);
  backdrop-filter:var(--ds-blur-glass);-webkit-backdrop-filter:var(--ds-blur-glass);
  border-bottom:1px solid var(--ds-border-hairline);
  padding:14px 20px;
}
body.ds-theme .top .bell{border-radius:50%;background:var(--ds-surface-sunken);border:none}

/* Écrans standards */
body.ds-theme .screen.pad{padding:24px 22px 32px}
body.ds-theme .screen-ds .h2{font-size:22px;letter-spacing:-.02em;color:var(--ds-text-strong)}
body.ds-theme .eyebrow,body.ds-theme .ds-eyebrow{color:var(--ds-text-muted)}

/* Cartes flottantes */
body.ds-theme .card,
body.ds-theme .veh-card,
body.ds-theme .acct-list,
body.ds-theme .tile,
body.ds-theme .tip-card,
body.ds-theme .ds-card{
  border:none;border-radius:var(--ds-radius-xl);
  box-shadow:var(--ds-shadow-card);
  background:var(--ds-gradient-card);
}
body.ds-theme .card{padding:18px 20px;margin-bottom:14px}
body.ds-theme .veh-card{padding:20px;margin-bottom:14px}
body.ds-theme .tip-card{border:none;padding:20px;border-radius:var(--ds-radius-lg)}

/* Cartes garage pro */
body.ds-theme .ds-card{
  background:var(--ds-white);overflow:hidden;margin-bottom:16px;
}
body.ds-theme .ds-card-urgent{
  box-shadow:0 16px 36px -14px rgba(227,6,19,.28);
}
body.ds-theme .ds-card-head-urgent{
  background:linear-gradient(120deg,var(--ds-brand),var(--ds-red-dark));
  color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;
}
body.ds-theme .ds-card-body{padding:18px 20px}
body.ds-theme .ds-card-rdv{padding:18px 20px;margin-bottom:14px}

/* Boutons — pills exclusifs */
body.ds-theme .btn,
body.ds-theme .btn-p,
body.ds-theme .btn-o,
body.ds-theme .sheet-btn,
body.ds-theme .up,
body.ds-theme .fab,
body.ds-theme button.sheet-btn{
  border-radius:var(--ds-radius-pill)!important;
  min-height:var(--ds-tap-min);
}
body.ds-theme .btn-p,
body.ds-theme .sheet-btn:not(.ghost){
  background:var(--ds-brand)!important;color:#fff!important;border:none!important;
  box-shadow:0 10px 24px -10px rgba(227,6,19,.45);
}
body.ds-theme .btn-o,
body.ds-theme .sheet-btn.ghost{
  background:var(--ds-surface-sunken)!important;
  border:1.5px solid var(--ds-border-hairline)!important;color:var(--ds-text-strong)!important;
}
body.ds-theme .g-av{
  width:44px;height:44px;border-radius:14px;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  box-shadow:var(--ds-shadow-icon);font-size:0;
}
body.ds-theme .g-name{font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--ds-text-strong)}
body.ds-theme .g-meta{margin-top:4px;font-size:12.5px;color:var(--ds-text-muted)}
body.ds-theme .g-tags{margin-top:10px;gap:6px}
body.ds-theme .g-tags .ds-badge{padding:5px 10px;font-size:11px;letter-spacing:.02em;text-transform:none}
body.ds-theme .chip,
body.ds-theme .ds-chip{
  border:none;background:var(--ds-surface-sunken);
  border-radius:var(--ds-radius-pill);padding:9px 16px;font-weight:700;
  min-height:var(--ds-tap-min);color:var(--ds-text-muted);
  display:inline-flex;align-items:center;gap:6px;
}
body.ds-theme .chip .ds-ic,body.ds-theme .ds-chip .ds-ic{flex-shrink:0}
/* Filtre actif : rouge de marque sur un fond rouge à 10 % = 4,2:1 une fois composé sur blanc,
   sous le seuil AA. La variante encre garde le rouge sans perdre le contraste. */
body.ds-theme .chip.on,body.ds-theme .ds-chip.on{background:rgba(227,6,19,.1);color:var(--ds-brand-ink)}
body.ds-theme .ds-card-head-urgent b{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.3px}
body.ds-theme .ds-card-head-urgent .ds-badge{background:rgba(255,255,255,.18);color:#fff;text-transform:none}

/* Compte / menus */
body.ds-theme .profile{margin-bottom:20px}
body.ds-theme .profile .pa{
  border-radius:50%;background:var(--ds-gradient-ember);color:#fff;
  box-shadow:var(--ds-shadow-ember);
}
body.ds-theme .acct-list,
body.ds-theme .ds-menu-list{
  border-radius:var(--ds-radius-xl);overflow:hidden;
  background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  box-shadow:var(--ds-shadow-card);margin-bottom:14px;
}
body.ds-theme .acct-item,
body.ds-theme .ds-menu-row{
  padding:16px 18px;border-bottom:1px solid var(--ds-border-hairline);
  cursor:pointer;width:100%;display:flex;align-items:center;gap:12px;
  background:transparent;border-left:none;border-right:none;border-top:none;
  text-align:left;font-family:inherit;min-height:var(--ds-tap-min);color:inherit;
}
body.ds-theme .ds-menu-row:last-child,body.ds-theme .acct-item:last-child{border-bottom:none}
body.ds-theme .acct-item .ai,
body.ds-theme .ds-menu-row .ds-row-ic{
  border-radius:14px;background:var(--ds-gradient-icon);color:var(--ds-brand);
  box-shadow:var(--ds-shadow-icon);width:44px;height:44px;flex-shrink:0;
  display:grid;place-items:center;
}
body.ds-theme .acct-item .lock{border-radius:var(--ds-radius-pill)}
body.ds-theme .ds-menu-row .ds-row-main{flex:1;min-width:0}
body.ds-theme .ds-menu-row .ds-row-main b{display:block;font-size:14.5px;font-weight:700}
body.ds-theme .ds-menu-row.on{background:var(--ds-red-tint)}

.ds-menu-grid,.ae-plus-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 16px}
.ds-menu-tile,.ae-plus-item{
  background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:16px 14px;text-align:left;cursor:pointer;
  box-shadow:var(--ds-shadow-card);position:relative;font-family:inherit;color:inherit;
  min-height:118px;
}
.ds-menu-tile.on,.ae-plus-item.on{border-color:rgba(227,6,19,.28);background:var(--ds-red-tint)}
.ds-menu-tile-ic,.ae-plus-item .ap-ic{
  width:44px;height:44px;border-radius:14px;margin-bottom:10px;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  display:grid;place-items:center;box-shadow:var(--ds-shadow-icon);font-size:20px;
}
.ds-menu-tile b,.ae-plus-item b{display:block;font-size:13.5px;font-weight:800;color:var(--ds-text-strong);margin-bottom:2px}
.ds-menu-tile > span,.ae-plus-item > span{font-size:11px;color:var(--ds-text-muted);line-height:1.35}
.ds-menu-lock{
  position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;
  background:var(--ds-warning-wash);color:var(--ds-warning);display:grid;place-items:center;
}
.ds-menu-hot{position:absolute;top:8px;right:8px}
.ds-pad .ae-plus-item,.ds-cockpit .ae-plus-item,.ds-pad-item.ae-plus-item{
  min-height:var(--ds-tap-min);background:transparent;border:none;box-shadow:none;
  padding:10px 4px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;
}
.ds-pad-item .ap-ic,.ds-pad .ae-plus-item .ap-ic{
  width:48px;height:48px;margin:0;border-radius:16px;font-size:20px;
}
.ds-pad-item .ds-menu-lock,.ds-pad-item .ds-menu-hot{top:4px;right:2px}
.ds-pad-item > .ds-pad-ic,.ds-pad-item > .ds-cockpit-ic{
  color:var(--ds-brand);font-size:20px;line-height:1;
}
.ds-pad-item--alert > .ds-pad-ic{
  background:var(--ds-red-tint);color:var(--ds-brand);
}
.ds-pad-item > .ds-pad-lab,.ds-pad-item > .ds-eco-lab,.ds-cockpit .ds-pad-lab,.ds-cockpit .ds-eco-lab{
  font-size:11.5px;font-weight:700;color:var(--ds-text-strong);line-height:1.25;margin:0;
}
@media(max-width:380px){
  .ds-menu-grid,.ae-plus-grid{gap:8px}
  .ds-menu-tile,.ae-plus-item{padding:14px 12px;min-height:108px}
  .ds-pad .ae-plus-item,.ds-cockpit .ae-plus-item,.ds-pad-item.ae-plus-item{
    min-height:var(--ds-tap-min);padding:10px 4px 8px;
  }
}

/* Feuilles modales */
body.ds-theme .sheet{
  background:var(--ds-white);
  border-radius:var(--ds-radius-xl) var(--ds-radius-xl) 0 0;
  box-shadow:var(--ds-shadow-soft);
}
body.ds-theme .field input,
body.ds-theme .field select,
body.ds-theme .field textarea{
  width:100%;box-sizing:border-box;
  border-radius:var(--radius-md,14px);border:1.5px solid var(--border-default,rgba(28,26,27,.12));
  padding:14px 16px;background:var(--surface-subtle,var(--ds-grey-050));
  font-family:var(--font-text,inherit);font-size:15px;color:var(--text-strong,var(--ds-charcoal));
}
body.ds-theme .field input:focus,
body.ds-theme .field select:focus,
body.ds-theme .field textarea:focus{
  border-color:var(--ds-brand);background:var(--ds-white);outline:none;
  box-shadow:0 0 0 3px var(--ds-red-tint);
}
body.ds-theme .field label{
  font-size:13px;font-weight:700;color:var(--ds-charcoal-soft);letter-spacing:0;text-transform:none;
}

/* Paiement Mobile Money */
body.ds-theme .momo{gap:10px}
body.ds-theme .mp{
  border-radius:var(--ds-radius-lg);border:2px solid var(--ds-border-hairline);
  background:var(--ds-gradient-card);padding:14px;
}
body.ds-theme .mp.on{
  border-color:var(--ds-brand);background:var(--ds-red-tint);
  box-shadow:var(--ds-shadow-icon);
}
body.ds-theme .pay-total{
  border-radius:var(--ds-radius-xl);background:var(--ds-surface-sunken);
  padding:16px 18px;margin-bottom:16px;
}

/* Premium / plan */
body.ds-theme .plan{
  border-radius:var(--ds-radius-xl);
  background:var(--ds-gradient-ember);
  box-shadow:var(--ds-shadow-ember);
}

/* Empty states */
body.ds-theme .empty{
  padding:28px 16px;border-radius:var(--ds-radius-lg);
  background:var(--ds-surface-sunken);color:var(--ds-text-muted);
}

/* Filtres */
body.ds-theme .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}

/* Popup promo — boutons pills */
body.ds-theme .promo-popup-card{border-radius:var(--ds-radius-xl);overflow:hidden}
body.ds-theme .promo-popup-card button{border-radius:var(--ds-radius-pill)!important}

/* Auto-école plus grid — alias DS */
body.ds-theme .ae-plus-item{
  border:none;
}

.ds-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ds-card-actions .ds-btn,.ds-card-actions .btn{flex:1;min-width:110px;padding:12px 16px}

body.ds-theme .screen.pad > div[style*="border-radius"]{
  border-radius:var(--ds-radius-xl)!important;
  box-shadow:var(--ds-shadow-card);
  border-color:var(--ds-border-hairline)!important;
}

/* Accueil — chips guide, bannière notifs, empty garages */
body.ds-theme .ds-guide-chips{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;
}
#homeSearchWrap .ds-guide-chips{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
#homeSearchWrap .ds-guide-chips .ds-pill-link{
  justify-content:center;width:100%;padding:8px 6px;
}
body.ds-theme .ds-notif-banner{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:14px 16px;border:none;border-radius:var(--ds-radius-lg);
  background:var(--ds-gradient-card);box-shadow:var(--ds-shadow-card);
  cursor:pointer;text-align:left;
}
body.ds-theme .ds-notif-banner-ic{
  flex-shrink:0;width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ds-red-tint);color:var(--ds-brand);
}
body.ds-theme .ds-notif-banner-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
body.ds-theme .ds-notif-banner-main b{font-size:13.5px;color:var(--ds-text-primary)}
body.ds-theme .ds-notif-banner-main small{font-size:12px;color:var(--ds-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ds-theme .ds-notif-banner .arr{font-size:20px;color:var(--ds-text-muted);flex-shrink:0}
body.ds-theme .ds-notif-banner--spaced{margin-bottom:16px}
body.ds-theme .ds-notif-banner-ic--emoji{font-size:19px;background:var(--ds-surface-sunken)}
body.ds-theme .ds-predictive-banner{
  background:var(--braise-soft);border:1px solid #F3C0C2;border-radius:var(--ds-radius-lg);
  padding:12px 14px;margin-bottom:16px;font-size:13px;line-height:1.45;
}
body.ds-theme .ds-predictive-banner b{display:block;color:var(--braise);margin-bottom:2px}
body.ds-theme .ds-predictive-banner span{color:var(--ds-text-muted);font-size:12px}
body.ds-theme .ds-near-empty{
  padding:18px 16px;border-radius:var(--ds-radius-lg);
  background:var(--ds-surface-sunken);text-align:center;
}
body.ds-theme .ds-near-empty p{margin:0 0 12px;font-size:13px;color:var(--ds-text-muted)}
body.ds-theme .screen-home-ds .mwm-widgets{margin:0}
.ds-home-eco-kpis{margin-top:16px}
.ds-home-eco-kpis .mwm-widgets{margin:0;gap:10px}
.ds-home-eco-kpis .mwm-stat{text-align:center;align-items:center;padding:16px 8px 14px}

/* Module Permis — timeline, rappels, dossier */
body.ds-theme .ae-progress{height:8px;background:var(--ds-surface-sunken);border-radius:99px;overflow:hidden;margin:10px 0 6px}
body.ds-theme .ae-progress-bar{height:100%;background:linear-gradient(90deg,var(--ds-brand),#F6A609);border-radius:99px;transition:width .35s ease}
body.ds-theme .ae-progress-meta{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ds-text-muted);font-weight:700}
body.ds-theme .ae-stepper{display:flex;justify-content:space-between;gap:4px;margin:14px 0 10px;overflow-x:auto;padding-bottom:4px}
body.ds-theme .ae-step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px;flex:1}
body.ds-theme .ae-step-dot{font-size:11px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ds-surface-sunken);color:var(--ds-text-muted);font-weight:800}
body.ds-theme .ae-step.done .ae-step-dot{background:var(--manguier-soft);color:var(--manguier)}
body.ds-theme .ae-step.active .ae-step-dot{background:var(--ds-red-tint);color:var(--ds-brand);box-shadow:0 0 0 2px var(--ds-brand)}
body.ds-theme .ae-step-lab{font-size:9px;font-weight:700;text-align:center;color:var(--ds-text-muted);line-height:1.2}
body.ds-theme .ae-step.active .ae-step-lab{color:var(--ds-brand)}
body.ds-theme .ae-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
body.ds-theme .ae-pill{font-size:10px;font-weight:700;padding:4px 7px;border-radius:999px;background:var(--ds-surface-sunken);color:var(--ds-text-muted)}
body.ds-theme .ae-pill.done{background:var(--manguier-soft);color:var(--manguier)}
body.ds-theme .ae-pill.active{background:var(--ds-red-tint);color:var(--ds-brand);border:1px solid rgba(228,20,27,.25)}
body.ds-theme .ae-reminders{display:flex;flex-direction:column;gap:8px;margin-top:12px}
body.ds-theme .ae-reminder{
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);background:var(--ds-gradient-card);cursor:pointer;text-align:left;
}
body.ds-theme .ae-reminder-ic{font-size:18px;flex-shrink:0}
body.ds-theme .ae-reminder-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
body.ds-theme .ae-reminder-main b{font-size:13px}
body.ds-theme .ae-reminder-main small{font-size:11.5px;color:var(--ds-text-muted)}
body.ds-theme .ae-dossier-panel .ae-reminders{margin-top:10px}
body.ds-theme .screen-permis .ds-guide-chips{margin:12px 0 14px}

/* Carburant — KPI, cartes, consommation */
body.ds-theme .cb-kpi-widgets{margin-bottom:14px}
body.ds-theme .cb-reminders{margin-bottom:14px}
body.ds-theme .cb-carte-card{
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  text-align:left;background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-left-width:4px;border-radius:var(--ds-radius-lg);padding:13px 14px;margin-bottom:8px;cursor:pointer;
  box-shadow:var(--ds-shadow-card);
}
body.ds-theme .cb-carte-main{display:flex;flex-direction:column;flex:1;min-width:0}
body.ds-theme .cb-carte-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
body.ds-theme .cb-badge-warn{font-size:10px;background:var(--soleil-soft);color:var(--soleil-ink);padding:2px 6px;border-radius:6px;font-weight:800;margin-left:4px}
body.ds-theme .cb-tx-row{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;border-top:1px solid var(--ds-border-hairline);margin-top:4px}
body.ds-theme .cb-consumption-panel .cb-tx-row:first-of-type{border-top:none;margin-top:8px}
body.ds-theme .screen-carburant .ds-guide-chips{margin:0 0 14px}

/* Marketplace */
body.ds-theme .mk-kpi-widgets{margin-bottom:14px}
body.ds-theme .screen-marketplace .ds-guide-chips{margin:0 0 12px}
body.ds-theme .mk-cat-filters{margin-top:-4px;margin-bottom:14px}
body.ds-theme .part .ph{position:relative}

/* Auto-école ERP */
body.ds-theme .ae-kpi-widgets{margin-bottom:14px}
body.ds-theme .ae-intel{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
body.ds-theme .ae-intel-item{
  display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;
  padding:12px 14px;border:none;border-radius:var(--ds-radius-lg);
  background:var(--ds-gradient-card);box-shadow:var(--ds-shadow-card);cursor:pointer;
}
body.ds-theme .ae-intel-item.high{border-left:4px solid var(--ds-brand)}
body.ds-theme .ae-intel-item.medium{border-left:4px solid #F6A609}
body.ds-theme .ae-intel-item.low{border-left:4px solid var(--manguier)}
body.ds-theme .ae-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
body.ds-theme .ae-chip{
  border:1.5px solid var(--ds-border-hairline);background:var(--ds-surface);color:var(--ds-text-muted);
  border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;cursor:pointer;
}
body.ds-theme .ae-chip.on{background:var(--ds-red-tint);color:var(--ds-brand);border-color:rgba(228,20,27,.3)}
body.ds-theme .ae-card{
  width:100%;text-align:left;background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:13px 14px;margin-bottom:8px;cursor:pointer;box-shadow:var(--ds-shadow-card);
}
body.ds-theme .ae-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
body.ds-theme .ae-off{opacity:.55}
body.ds-theme .ae-slot{
  display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;
  padding:10px 12px;margin-bottom:6px;border-radius:12px;border:1.5px solid var(--ds-border-hairline);
  background:var(--ds-surface);cursor:pointer;font-size:13px;font-weight:700;
}
body.ds-theme .screen-ae .ds-guide-chips{margin:0 0 14px}
body.ds-theme .ae-hero{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:16px 16px 14px;margin-bottom:14px;
  box-shadow:var(--ds-shadow-card);
}
body.ds-theme .ae-hello{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ds-brand);margin-bottom:2px}
body.ds-theme .ae-hero-copy{flex:1;min-width:0}
body.ds-theme .ae-score-ring{
  --pct:0; width:72px;height:72px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(var(--ds-brand) calc(var(--pct)*1%), var(--ds-surface-sunken) 0);
  display:grid;place-items:center;
}
body.ds-theme .ae-score-ring::before{
  content:'';width:56px;height:56px;border-radius:50%;background:var(--ds-surface);grid-area:1/1;
}
body.ds-theme .ae-score-ring span{grid-area:1/1;z-index:1;text-align:center;line-height:1.05}
body.ds-theme .ae-score-ring b{display:block;font-size:16px;font-weight:800}
body.ds-theme .ae-score-ring small{font-size:9px;font-weight:800;color:var(--ds-text-muted);text-transform:uppercase}
body.ds-theme .ae-today{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:12px 14px;margin-bottom:8px;
}
body.ds-theme .ae-today-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
body.ds-theme .ae-mini{
  border:1.5px solid var(--ds-border-hairline);background:var(--ds-surface);color:var(--ds-text);
  border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;
}
body.ds-theme .ae-mini.on{background:var(--ds-brand);color:#fff;border-color:var(--ds-brand)}
body.ds-theme .ae-intel-item{align-items:center}
body.ds-theme .ae-intel-main{
  display:flex;align-items:flex-start;gap:10px;flex:1;text-align:left;border:none;background:transparent;cursor:pointer;padding:0;color:inherit;
}
body.ds-theme .ae-nba{
  display:inline-block;margin-top:8px;font-size:11px;font-weight:800;color:var(--ds-brand);
  background:var(--ds-red-tint);border-radius:999px;padding:4px 10px;
}
body.ds-theme .ae-week,body.ds-theme .cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:4px 0 14px}
body.ds-theme .ae-week-day,body.ds-theme .cal-week-day{
  text-align:center;padding:7px 0 6px;border-radius:12px;background:var(--ds-surface);
  border:1px solid var(--ds-border-hairline);cursor:pointer;color:inherit;font-family:inherit;width:100%;
}
body.ds-theme .ae-week-day span,body.ds-theme .cal-week-day span{display:block;font-size:10px;font-weight:800;color:var(--ds-text-muted);letter-spacing:.02em}
body.ds-theme .ae-week-day b,body.ds-theme .cal-week-day b{display:block;font-size:15px;line-height:1.2;margin-top:2px}
body.ds-theme .ae-week-day i,body.ds-theme .cal-week-day i{
  display:block;min-height:10px;font-size:9px;font-style:normal;font-weight:800;color:var(--ds-brand);margin-top:2px;
}
body.ds-theme .ae-week-day.past,body.ds-theme .cal-week-day.past,body.ds-theme .cal-month-day.past{opacity:.42;color:var(--acier-l)}
body.ds-theme .cal-week-day.past b,body.ds-theme .cal-month-day.past b{text-decoration:line-through}
body.ds-theme .ae-week-day.busy b,body.ds-theme .cal-week-day.busy b{color:var(--ds-brand)}
body.ds-theme .cal-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
body.ds-theme .cal-nav-label{flex:1;text-align:center;font-size:13px;font-weight:800;text-transform:capitalize}
body.ds-theme .cal-nav-btn{
  width:36px;height:36px;border-radius:10px;border:1px solid var(--ds-border-hairline);
  background:var(--ds-surface);font-size:20px;line-height:1;cursor:pointer;color:inherit;
}
body.ds-theme .cal-views{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
body.ds-theme .cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 14px}
body.ds-theme .cal-month-head{font-size:10px;font-weight:800;color:var(--ds-text-muted);text-align:center;padding:2px 0}
body.ds-theme .cal-month-day{
  min-height:44px;border-radius:10px;border:1px solid var(--ds-border-hairline);background:var(--ds-surface);
  padding:4px 2px 3px;text-align:center;cursor:pointer;color:inherit;font-family:inherit;
}
body.ds-theme .cal-month-day.out{opacity:.38}
body.ds-theme .cal-month-day.today{box-shadow:inset 0 0 0 1.5px var(--ds-brand)}
body.ds-theme .cal-month-day.on{border-color:var(--ds-brand);background:var(--ds-red-tint)}
body.ds-theme .cal-month-day b{display:block;font-size:13px}
body.ds-theme .cal-month-day i{display:block;font-size:9px;font-style:normal;font-weight:800;color:var(--ds-brand)}
body.ds-theme .cal-day-strip{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-bottom:14px}
body.ds-theme .cal-day-chip{
  flex:0 0 auto;min-width:58px;padding:9px 6px;border-radius:12px;border:1.5px solid var(--ligne);
  background:var(--carte);cursor:pointer;text-align:center;position:relative;color:inherit;font-family:inherit;
}
body.ds-theme .cal-day-chip.on{border-color:var(--ds-brand);background:var(--ds-red-tint)}
body.ds-theme .cal-day-chip.full,body.ds-theme .cal-day-chip.past{opacity:.45;cursor:not-allowed;background:var(--craie)}
body.ds-theme .cal-day-chip.past .dn,body.ds-theme .cal-slot.past{color:var(--acier-l);text-decoration:line-through}
body.ds-theme .cal-day-chip .wd{font-size:11px;color:var(--acier);text-transform:uppercase}
body.ds-theme .cal-day-chip .dn{font-size:18px;font-weight:800}
body.ds-theme .cal-day-chip .mo{font-size:10px;color:var(--acier-l)}
body.ds-theme .cal-overlap{border-left:3px solid var(--ds-brand);padding-left:8px;margin-bottom:8px}
body.ds-theme .ct-prefill input,body.ds-theme .ct-prefill textarea{
  border-color:var(--border-brand)!important;background:var(--ds-red-tint)!important;
}
body.ds-theme .ct-prefill-tag{
  display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;
  letter-spacing:.02em;text-transform:uppercase;background:var(--ds-brand);color:#fff;vertical-align:middle;
}
body.ds-theme .ct-intel{border-radius:12px;padding:11px 13px;margin-bottom:12px;font-size:12.5px;line-height:1.55}
body.ds-theme .ct-intel.ok{background:linear-gradient(135deg,#EEF4FF,#F5F0FF);border:1px solid #D8E2F0}
body.ds-theme .ct-intel.warn{background:var(--soleil-soft,#FDF1D8);border:1px solid #F3D48A}
body.ds-theme .ct-intel.err{background:var(--braise-soft,#FDECEC);border:1px solid #F3C0C2}
body.ds-theme .ct-intel b{display:block;margin-bottom:2px}
body.ds-theme .ct-fiche{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
body.ds-theme .ct-fiche span{background:var(--carte,#fff);border:1px solid var(--ligne,#D8E2F0);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}
body.ds-theme .ct-guide{margin:8px 0 4px;padding-left:18px}
body.ds-theme .ct-guide li{margin:3px 0}
body.ds-theme .ct-apply{margin-top:8px;padding:6px 12px;border-radius:10px;border:1.5px solid var(--ligne);background:var(--carte);font-weight:800;font-size:12px;cursor:pointer}
body.ds-theme .cal-slot{
  padding:10px 4px;border-radius:11px;border:1.5px solid var(--ds-border-hairline);
  background:var(--ds-white);color:var(--ds-text-strong);font-weight:700;cursor:pointer;font-size:13.5px;
  font-family:inherit;min-height:var(--ds-tap-min);
}
body.ds-theme .cal-slot.on{border-color:var(--ds-brand);background:var(--ds-red-tint);color:var(--ds-red-dark)}
body.ds-theme .cal-slot.past,body.ds-theme .cal-slot[disabled]{opacity:.5;cursor:not-allowed;background:var(--ds-surface-sunken)}
body.ds-theme .cal-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.ds-kv{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--ds-border-hairline);gap:12px;font-size:13px}
.ds-kv:last-child{border-bottom:none}
.ds-kv span{color:var(--ds-text-muted);font-size:13px}
.ds-kv b{font-size:13px;color:var(--ds-text-strong);text-align:right}
.ds-lang-btn{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer;border:1px solid var(--ds-border-hairline);background:var(--ds-surface-sunken);color:var(--ds-text-muted)}
.ds-lang-btn.on{background:var(--ds-charcoal);color:#fff;border:none}
@media(max-width:380px){
  body.ds-theme .cal-week-day b,body.ds-theme .ae-week-day b{font-size:13px}
  body.ds-theme .cal-week-day span,body.ds-theme .ae-week-day span{font-size:9px}
  body.ds-theme .cal-month-day{min-height:38px;padding:3px 1px}
  body.ds-theme .cal-day-chip{min-width:52px;padding:8px 4px}
}
@media(min-width:720px){
  body.ds-theme .cal-week-day,body.ds-theme .ae-week-day{padding:10px 0 8px}
  body.ds-theme .cal-week-day b,body.ds-theme .ae-week-day b{font-size:18px}
  body.ds-theme .cal-month-day{min-height:58px}
  body.ds-theme .cal-day-chip{min-width:72px}
  body.ds-theme .cal-slots{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1100px){
  body.ds-theme .cal-month-day{min-height:68px}
  body.ds-theme .cal-slots{grid-template-columns:repeat(5,1fr)}
}
body.ds-theme .ae-ready{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
body.ds-theme .ae-ready-chip{
  border:1.5px solid rgba(14,143,94,.35);background:var(--ds-success-wash,#E8F6EE);color:var(--ds-success-ink,#146B2E);
  border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;cursor:pointer;
}
body.ds-theme .ae-empty-live{
  background:var(--ds-gradient-card);border:1px dashed var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:16px;margin-bottom:14px;text-align:center;
}
body.ds-theme .ae-verifie-badge{
  display:inline-block;margin-left:6px;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;
  /* #0E8F5E sur #E8F6EE = 3,69:1, sous le seuil AA. Variante encre du vert sémantique. */
  background:var(--ds-success-wash,#E8F6EE);color:var(--ds-success-ink,#146B2E);
}
body.ds-theme .ae-home-permis{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:12px 14px;box-shadow:var(--ds-shadow-card);
}
body.ds-theme .ae-home-permis-ic{font-size:22px;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--ds-red-tint);color:var(--ds-brand);display:grid;place-items:center}
body.ds-theme .ae-home-permis-ic .ds-ic{width:20px;height:20px}
body.ds-theme .ae-home-permis b{display:block;font-size:14px}
body.ds-theme .ae-home-permis small{display:block;color:var(--ds-text-muted);font-size:12px;margin-top:2px}
body.ds-theme .vt-today{
  background:var(--ds-gradient-card);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-lg);padding:16px 16px 14px;margin-bottom:14px;
  box-shadow:var(--ds-shadow-card);
}
body.ds-theme .vt-today-k{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ds-text-muted)}
body.ds-theme .vt-today-n{font-size:22px;font-weight:800;margin:4px 0 2px;color:var(--ds-text)}
body.ds-theme .vt-today--empty .vt-today-n{font-size:16px;font-weight:700}
body.ds-theme .ae-staff-banner{
  font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ds-brand);background:var(--ds-red-tint);border-radius:999px;
  padding:6px 12px;margin-bottom:12px;display:inline-block;
}

/* ============================================================
   COMPOSANTS DS — source de vérité V1
   ============================================================ */
body.ds-theme{
  font-family:var(--font-text);
}
body.ds-theme .h2,body.ds-theme .ds-hero-title,body.ds-theme .sheet h3,body.ds-theme .ds-vehicle-name{
  font-family:var(--font-display);
}

.ds-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-text);font-weight:700;text-decoration:none;cursor:pointer;
  border:none;border-radius:var(--ds-radius-pill);min-height:var(--ds-tap-min);
  padding:15px 30px;font-size:15px;transition:var(--transition-control,transform .18s ease,box-shadow .18s ease);
  white-space:nowrap;
}
.ds-btn:active:not(:disabled){transform:scale(.98)}
.ds-btn:disabled{opacity:.45;cursor:not-allowed}
.ds-btn--block{display:flex;width:100%}
.ds-btn--primary{background:var(--ds-brand);color:#fff;box-shadow:var(--shadow-brand,0 14px 30px -10px rgba(227,6,19,.55))}
.ds-btn--primary:hover:not(:disabled){background:var(--ds-red-dark);transform:translateY(-2px)}
.ds-btn--dark{background:var(--ds-charcoal);color:#fff;box-shadow:var(--ds-shadow-card)}
.ds-btn--dark:hover:not(:disabled){background:#2C292A;transform:translateY(-1px)}
.ds-btn--compact{padding:8px 12px;min-height:36px;font-size:12px;gap:6px}
.ds-sante{
  display:flex;align-items:center;gap:10px;
  border-radius:var(--ds-radius-pill);
  padding:12px 16px;margin-bottom:14px;
  font-size:13.5px;font-weight:700;min-height:var(--ds-tap-min);
}
.ds-sante .ds-ic{flex-shrink:0}
.ds-sante--warning{background:var(--ds-warning-wash);color:var(--ds-warning)}
.ds-sante--danger{background:var(--ds-red-tint);color:var(--ds-red)}
.ds-sante--success{background:var(--ds-success-wash);color:var(--ds-success)}
body.ds-theme .sheet > .sheet-btn + .sheet-btn,
body.ds-theme .sheet > .ds-btn--block + .ds-btn--block,
body.ds-theme .sheet > .ds-btn--block + .sheet-btn,
body.ds-theme .sheet > .sheet-btn + .ds-btn--block{
  margin-top:10px;
}
body.ds-theme .sheet-btn.ghost{margin-top:10px}
.ds-btn--ghost{background:transparent;color:var(--ds-charcoal-soft)}
.ds-btn--ghost:hover:not(:disabled){color:var(--ds-brand)}
.ds-btn--outline{background:var(--ds-white);color:var(--ds-charcoal);border:1.5px solid var(--border-default,rgba(28,26,27,.12))}
.ds-btn--outline:hover:not(:disabled){border-color:rgba(227,6,19,.35);color:var(--ds-brand);background:var(--ds-red-tint)}
.ds-sheet-actions{
  display:flex;flex-direction:column;gap:10px;
  margin:4px 0 16px;
}
.ds-sheet-actions .ds-btn{width:100%}
.ds-sheet-actions .ds-btn--ghost{color:var(--ds-brand)}
.ds-btn--danger{background:var(--ds-brand);color:#fff}

.ds-page-sub{margin:0 0 16px}
.ds-back{
  background:none;border:none;color:var(--ds-text-muted);font-size:13px;font-weight:700;
  cursor:pointer;padding:0;margin:0 0 8px;min-height:var(--ds-tap-min);display:inline-flex;align-items:center;
}

.ds-pro-card,.ds-list-card{
  background:var(--gradient-card,var(--ds-gradient-card));
  border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-xl);
  box-shadow:var(--ds-shadow-card);
  padding:18px 20px;margin-bottom:14px;
}
.ds-pro-card .g-acts,.ds-pro-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ds-pro-card .g-acts .btn{flex:1;min-width:90px}
.ds-garage-card .ds-pro-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:16px}
.g-acts-sec{display:flex;gap:8px;width:100%}
.g-acts-sec .ds-btn{flex:1;padding:12px 14px;font-size:13.5px}
.g-acts-sec .ds-btn.is-fav{color:var(--ds-warning);background:var(--ds-warning-wash)}

.ds-search{display:flex;gap:8px;margin-bottom:14px}
.ds-search-field{flex:1;position:relative}
.ds-search-field input{
  width:100%;padding:12px 16px 12px 42px;border:none;outline:none;
  border-radius:var(--ds-radius-pill);font-size:14.5px;font-family:inherit;
  background:var(--ds-surface-sunken);box-sizing:border-box;min-height:var(--ds-tap-min);
  color:var(--ds-text-strong);
}
.ds-search-field input:focus{box-shadow:0 0 0 3px var(--ds-red-tint)}
.ds-search-ic{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--ds-text-muted);display:grid;place-items:center;pointer-events:none;
}
.ds-search-scan{
  width:44px;flex-shrink:0;border:none;border-radius:var(--ds-radius-pill);
  background:var(--ds-surface-sunken);cursor:pointer;display:grid;place-items:center;
  color:var(--ds-text-strong);min-height:var(--ds-tap-min);
}

.ds-garage-intents{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.ds-garage-intents .ds-pill-link{flex:1;min-width:140px;justify-content:center}

.g-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.g-name span:first-child{min-width:0}
.g-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.g-meta .ds-ic{flex-shrink:0;color:var(--ds-brand)}
.g-dot{width:3px;height:3px;border-radius:50%;background:var(--ds-grey-400);flex-shrink:0}

.ds-facts{display:flex;flex-wrap:wrap;gap:6px;background:var(--ds-surface-sunken);border-radius:16px;padding:10px 12px;margin-bottom:12px}
.ds-fact{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--ds-white);border:1px solid var(--ds-border-hairline);
  border-radius:var(--ds-radius-pill);padding:5px 11px;
  font-size:12px;font-weight:700;color:var(--ds-text-strong);
}
.ds-fact .ds-ic{color:var(--ds-brand);flex-shrink:0}
.ds-client{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ds-client-av{
  width:44px;height:44px;border-radius:50%;
  background:var(--ds-gradient-ember);color:#fff;
  display:grid;place-items:center;font-weight:800;flex-shrink:0;
  box-shadow:var(--ds-shadow-ember);
}
.ds-client-name{font-weight:800;font-size:15px;color:var(--ds-text-strong)}
.ds-tel{
  display:inline-flex;align-items:center;gap:5px;margin-top:3px;
  color:var(--ds-brand);font-weight:700;font-size:13px;text-decoration:none;
}
.ds-quote-box{
  border-left:3px solid var(--ds-brand);background:var(--ds-red-tint);
  border-radius:0 12px 12px 0;padding:10px 13px;margin-bottom:12px;
}
.ds-quote-lab{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--ds-brand);margin-bottom:3px}
.ds-quote-txt{font-size:13.5px;color:var(--ds-text-strong);line-height:1.45}
.ds-devis{font-size:13px;color:var(--ds-success);font-weight:700;margin-top:8px}
.ds-devis-mini{font-size:11.5px;color:var(--ds-text-muted);margin-top:3px;line-height:1.4}
.ds-devis-rub{
  background:var(--ds-grey-050);border:1px solid var(--ds-border-hairline);
  border-radius:18px;padding:12px 12px 10px;margin:0 0 10px;
}
.ds-devis-rub-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ds-devis-rub-h .ds-ic{color:var(--ds-brand);flex-shrink:0}
.ds-devis-rub-h b{flex:1;font-size:13.5px;font-weight:800;color:var(--ds-text-strong)}
.ds-devis-need{
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  color:var(--ds-warning);background:var(--ds-warning-wash);
  border-radius:999px;padding:3px 8px;
}
.ds-devis-need.is-ok{color:var(--ds-success);background:var(--ds-success-wash)}
.ds-devis-line{
  background:var(--ds-white);border:1px solid var(--ds-border-hairline);
  border-radius:14px;padding:10px;margin-bottom:8px;
}
.ds-devis-line input{
  width:100%;box-sizing:border-box;border:1.5px solid rgba(28,26,27,.1);
  border-radius:10px;padding:9px 11px;font-size:14px;font-family:inherit;
  background:var(--ds-grey-050);color:var(--ds-charcoal);
}
.ds-devis-line input:focus{outline:none;border-color:var(--ds-brand);background:#fff;box-shadow:0 0 0 3px var(--ds-red-tint)}
.ds-devis-grid{display:grid;grid-template-columns:72px 1fr 1fr auto;gap:6px;align-items:end;margin-top:8px}
.ds-devis-grid label{display:block;font-size:10px;font-weight:800;color:var(--ds-grey-400);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.ds-devis-amt{font-size:13px;font-weight:800;color:var(--ds-text-strong);padding-bottom:10px;white-space:nowrap}
.ds-devis-del{
  width:40px;height:40px;border:none;background:var(--ds-red-tint);color:var(--ds-brand);
  border-radius:12px;display:grid;place-items:center;cursor:pointer;flex-shrink:0;
}
.ds-devis-add{
  width:100%;border:1.5px dashed rgba(28,26,27,.16);background:transparent;
  color:var(--ds-charcoal-soft);border-radius:12px;padding:10px;font-weight:700;font-size:13px;
  display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:inherit;
}
.ds-devis-add:hover{border-color:rgba(227,6,19,.35);color:var(--ds-brand);background:var(--ds-red-tint)}
.ds-devis-sub{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:0 2px;font-size:13px}
.ds-devis-sub span{color:var(--ds-text-muted);font-weight:700}
.ds-devis-sub b{color:var(--ds-text-strong)}
.ds-devis-total{
  position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%);
  padding:14px 0 4px;margin-top:4px;pointer-events:none;
}
.ds-devis-total > *{pointer-events:auto}
.ds-btn.is-muted{opacity:.92}
.ds-devis-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.ds-devis-total-row span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--ds-grey-400)}
.ds-devis-total-row b{font-size:22px;font-weight:800;color:var(--ds-charcoal)}
.ds-devis-miss{font-size:12.5px;color:var(--ds-warning);margin:0 0 10px;line-height:1.4}
.ds-devis-est{font-size:12px;color:var(--ds-text-muted);margin:0 0 10px}
.ds-devis-view-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--ds-border-hairline)}
.ds-devis-view-row:last-child{border-bottom:none}
.ds-devis-view-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--ds-brand);margin:12px 0 4px}
.ds-devis-cta{display:flex;flex-direction:column;gap:8px;margin:14px 0 4px}
.ds-devis-wait{margin:8px 0}
.ds-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.ds-chip{
  border:1.5px solid var(--ds-border-hairline);background:var(--ds-white);color:var(--ds-charcoal);
  border-radius:999px;padding:8px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;
}
.ds-chip.is-on{border-color:var(--ds-brand);background:var(--ds-red-tint);color:var(--ds-brand)}
.ds-rdv-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ds-rdv-head .g-main{flex:1;min-width:0}
.ds-rdv-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ds-text-strong);margin-bottom:6px}
.ds-rdv-line .ds-ic{color:var(--ds-brand);flex-shrink:0}
.ds-rdv-line .ds-tel{margin:0}
.ds-cal-row{padding:10px 0;border-top:1px solid var(--ds-border-hairline)}
.ds-cal-row .ds-rdv-head{justify-content:space-between;margin-bottom:4px}

.ds-row{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  background:var(--gradient-card,var(--ds-gradient-card));
  border:1px solid var(--ds-border-hairline);border-radius:var(--ds-radius-lg);
  padding:14px 16px;margin-bottom:8px;cursor:pointer;
  box-shadow:var(--ds-shadow-card);color:inherit;font-family:inherit;
}
.ds-row-ic{
  width:44px;height:44px;flex-shrink:0;border-radius:14px;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  display:grid;place-items:center;box-shadow:var(--ds-shadow-icon);
}

.ds-espace-screen{padding-top:40px;padding-bottom:32px}
.ds-espace-title{text-align:center;margin:16px 8px 0;letter-spacing:-.02em}
.ds-espace-sub{text-align:center;margin:8px 16px 24px;line-height:1.45}
.ds-espace-pick{margin:0 0 20px}
body.ds-theme .ds-espace-card.ds-menu-row,
.ds-espace-card.ds-menu-row{
  display:grid;grid-template-columns:44px minmax(0,1fr) 18px;
  column-gap:16px;align-items:center;
  padding:18px 20px;min-height:80px;margin:0;width:100%;
  text-align:left;box-sizing:border-box;gap:0;
}
.ds-espace-ic{
  width:44px;height:44px;border-radius:14px;flex-shrink:0;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  box-shadow:var(--ds-shadow-icon);
  display:flex;align-items:center;justify-content:center;
  line-height:0;font-size:0;
}
.ds-espace-ic .ds-ic{
  width:20px;height:20px;display:block;flex-shrink:0;
  overflow:visible;
}
.ds-espace-ic[data-ic="car-front"] .ds-ic{transform:translateY(-0.5px)}
.ds-espace-ic[data-ic="truck"] .ds-ic{transform:translate(-0.5px,-1px)}
.ds-espace-card .ds-row-main{min-width:0;padding:0}
.ds-espace-card .ds-row-main b{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ds-text-strong,var(--bitume))}
.ds-espace-card .ds-row-main small{display:block;font-size:12.5px;font-weight:500;color:var(--ds-text-muted,var(--acier));margin-top:5px;line-height:1.3}
.ds-espace-arr{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--ds-text-muted,var(--acier-l));line-height:0}
.ds-espace-arr .ds-ic{width:16px;height:16px;display:block}
.ds-espace-err{color:var(--ds-brand,var(--braise));font-size:13px;min-height:18px;margin:4px 2px 10px}
.ds-espace-switch{margin-top:4px}
.ds-espace-ic{
  width:44px;height:44px;border-radius:14px;flex-shrink:0;
  background:var(--ds-gradient-icon);color:var(--ds-brand);
  box-shadow:var(--ds-shadow-icon);
  display:flex;align-items:center;justify-content:center;
  line-height:0;font-size:0;
}
.ds-espace-ic .ds-ic{
  width:20px;height:20px;display:block;flex-shrink:0;
  overflow:visible;
}
.ds-espace-ic[data-ic="car-front"] .ds-ic{transform:translateY(-0.5px)}
.ds-espace-ic[data-ic="truck"] .ds-ic{transform:translate(-0.5px,-1px)}
.ds-espace-card .ds-row-main{min-width:0;padding:0}
.ds-espace-card .ds-row-main b{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ds-text-strong,var(--bitume))}
.ds-espace-card .ds-row-main small{display:block;font-size:12.5px;font-weight:500;color:var(--ds-text-muted,var(--acier));margin-top:5px;line-height:1.3}
.ds-espace-arr{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--ds-text-muted,var(--acier-l));line-height:0}
.ds-espace-arr .ds-ic{width:16px;height:16px;display:block}
.ds-espace-err{color:var(--ds-brand,var(--braise));font-size:13px;min-height:18px;margin:4px 2px 10px}
.ds-espace-switch{margin-top:4px}
.ds-row-main{flex:1;min-width:0}
.ds-row-main b{display:block;font-size:14.5px;font-weight:700;color:var(--ds-text-strong)}
.ds-row-main small{display:block;font-size:12.5px;color:var(--ds-text-muted);margin-top:2px}

.ds-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:var(--ds-radius-pill);line-height:1.2;white-space:nowrap}
.ds-badge--brand,.ds-badge-ok{background:var(--ds-red-tint);color:var(--ds-red-dark)}
.ds-badge--success{background:var(--ds-success-wash);color:var(--ds-success-ink)}
.ds-badge--warning,.ds-badge-warn{background:var(--ds-warning-wash);color:var(--ds-warning-ink)}
.ds-badge--danger,.ds-badge-late{background:var(--ds-red-tint);color:var(--ds-brand-ink)}
.ds-badge--info{background:var(--info-wash,#E8F0F8);color:var(--info,#1B5E9B)}
.ds-badge--inverse{background:rgba(255,255,255,.1);color:#fff}

.ds-state{text-align:center;padding:28px 18px;border-radius:var(--ds-radius-lg);background:var(--ds-surface-sunken)}
.ds-state-ic{display:inline-flex;margin-bottom:10px;color:var(--ds-brand)}
.ds-state b{display:block;font-size:15px;color:var(--ds-text-strong);margin-bottom:4px}
.ds-state p{margin:0;font-size:13.5px;color:var(--ds-text-muted);line-height:1.5}
.ds-state--error{background:var(--ds-red-tint)}
.ds-state--success{background:var(--ds-success-wash)}
.ds-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--ds-text-muted);font-weight:600}
.ds-loading::before{
  content:'';width:18px;height:18px;border-radius:50%;
  border:2px solid var(--ds-border-default,rgba(28,26,27,.12));border-top-color:var(--ds-brand);
  animation:dsSpin .7s linear infinite;
}
@keyframes dsSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ds-loading::before{animation:none}}

.ds-banner{border-radius:var(--ds-radius-lg);padding:12px 14px;margin-bottom:14px;font-size:13px;line-height:1.5}
.ds-banner b{display:block;margin-bottom:2px}
.ds-banner span{color:var(--ds-text-muted);font-size:12.5px}
.ds-banner--info{background:var(--info-wash,#E8F0F8)}
.ds-banner--warning{background:var(--ds-warning-wash)}
.ds-banner--danger{background:var(--ds-red-tint)}
.ds-banner--success{background:var(--ds-success-wash)}

.ds-stat-grid{display:flex;flex-wrap:wrap;gap:10px}
.ds-stat{
  flex:1;min-width:140px;background:var(--gradient-card,var(--ds-gradient-card));
  border:1px solid var(--ds-border-hairline);border-radius:var(--ds-radius-lg);
  padding:14px;box-shadow:var(--ds-shadow-card);
}
.ds-stat .sub{margin:0 0 4px}
.ds-stat b{font-size:20px;font-family:var(--font-display)}
.ds-fleet-panel{
  background:var(--ds-white);border:none;border-radius:var(--ds-radius-xl);
  box-shadow:var(--ds-shadow-card);padding:16px;margin-bottom:14px;
}
.ds-fleet-panel > .ds-eyebrow{margin-bottom:10px}
.ds-meter{margin:0 0 12px}
.ds-meter:last-child{margin-bottom:0}
.ds-meter-h{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px;font-weight:700}
.ds-meter-track{height:6px;background:var(--ds-grey-100);border-radius:99px;overflow:hidden}
.ds-meter-fill{display:block;height:100%;border-radius:99px;background:var(--ds-brand)}
.ds-meter-fill--ok{background:var(--ds-success)}
.ds-meter-fill--warn{background:var(--ds-warning)}
.ds-sec-label{
  display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ds-grey-400);margin:4px 0 8px;
}

.success{text-align:center;padding:12px 8px}
.success .sc{
  width:56px;height:56px;border-radius:50%;margin:0 auto 12px;
  background:var(--ds-success-wash);color:var(--ds-success);
  display:grid;place-items:center;font-size:22px;font-weight:800;
}

.ob-overlay{position:fixed;inset:0;z-index:80;background:rgba(28,26,27,.72);display:grid;place-items:center;padding:24px;backdrop-filter:blur(8px)}
.ob-card{background:var(--ds-surface,#fff);border-radius:24px;padding:28px 24px 20px;max-width:400px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.ob-ic{width:64px;height:64px;border-radius:20px;margin:0 auto 16px;display:grid;place-items:center;background:rgba(227,6,19,.1);color:#E30613}
.ob-card h2{font-size:22px;line-height:1.25;margin:0 0 10px;color:var(--ds-ink,#1C1A1B)}
.ob-card p{margin:0 0 20px;font-size:15px;line-height:1.5;color:var(--ds-grey-500,#5c5856)}
.ob-dots{display:flex;gap:6px;justify-content:center;margin-bottom:18px}
.ob-dot{width:7px;height:7px;border-radius:50%;background:#d9d4d2}
.ob-dot.on{background:#E30613;width:18px;border-radius:99px}
.ob-skip{display:block;margin:12px auto 0;background:none;border:none;color:var(--ds-grey-400,#69656B);font-size:13px;font-weight:700;cursor:pointer}
.enr-banner{border-radius:16px;padding:14px 14px 12px;margin:0 0 12px}
.enr-banner--warning{background:var(--ds-warning-wash,#FFF4E5);border:1.5px solid #F0B429;color:#7A4E00}
.enr-banner--danger{background:var(--ds-red-tint,#FDECEC);border:1.5px solid #E30613;color:#8A0B12}
.enr-banner-txt{display:flex;flex-direction:column;gap:4px;font-size:13.5px;line-height:1.4}
.enr-banner-txt b{font-size:14px}
.enr-banner-bar{height:6px;border-radius:99px;background:rgba(0,0,0,.08);margin:10px 0 12px;overflow:hidden}
.enr-banner-bar i{display:block;height:100%;background:#E30613;border-radius:99px}
.enr-banner-cta{width:100%;border:none;border-radius:999px;padding:11px 14px;font-weight:800;font-size:14px;cursor:pointer;background:#1C1A1B;color:#fff}
.enr-overlay{position:fixed;inset:0;z-index:90;background:rgba(28,26,27,.72);display:grid;place-items:center;padding:16px;backdrop-filter:blur(8px)}
.enr-card{background:var(--ds-surface,#fff);border-radius:22px;padding:22px 18px 16px;max-width:420px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.28);position:relative}
.enr-card h2{font-size:20px;margin:4px 0 10px;color:var(--ds-ink,#1C1A1B)}
.enr-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-grey-400,#69656B)}
.enr-x{position:absolute;top:10px;right:12px;border:none;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--ds-grey-400,#69656B)}
.enr-prog{height:6px;border-radius:99px;background:#eee;margin:0 0 14px;overflow:hidden}
.enr-prog i{display:block;height:100%;background:#E30613}
.enr-lead{margin:0 0 12px;font-size:14px;line-height:1.45;color:#5c5856}
.enr-hint{font-size:12.5px;color:var(--ds-grey-400,#69656B);margin:0 0 10px}
.enr-veh-list{margin:0 0 10px;padding-left:18px;font-size:13.5px}
.enr-check{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin:8px 0 4px}
.enr-err{min-height:18px;color:#E30613;font-size:13px;margin:6px 0}
.enr-actions{display:flex;gap:8px;margin-top:8px}
.enr-btn{flex:1;border:none;border-radius:999px;padding:12px 14px;font-weight:800;cursor:pointer;background:#E30613;color:#fff}
.enr-btn.ghost{background:var(--ds-grey-100,#f3f1f0);color:#1C1A1B}
.enr-later{display:block;width:100%;margin-top:10px;background:none;border:none;color:var(--ds-grey-400,#69656B);font-size:12.5px;font-weight:700;cursor:pointer}
.enr-chips,.enr-unlocks{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.enr-chip{font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;background:var(--ds-grey-100,#f3f1f0);color:#5c5856}
.enr-chip.on{background:var(--ds-success-wash,#E8F6EE);color:var(--ds-success-ink,#146B2E)}
/* Zone tactile portée au minimum du design system (--ds-tap-min : 44px) sans changer l'aspect :
   la pastille garde sa taille visuelle, seule la surface cliquable grandit. */
.aide-ctx{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 10px;border-radius:999px;background:rgba(227,6,19,.08);color:#E30613;font-size:12.5px;font-weight:800;border:none;cursor:pointer;min-height:var(--ds-tap-min,44px)}
.aide-ol{margin:0 0 14px;padding:0 0 0 4px;list-style:none}
.aide-ol li{display:flex;gap:8px;margin:0 0 8px;font-size:14px;line-height:1.45;color:var(--ds-ink,#1C1A1B)}
.aide-ul{margin:0 0 14px;padding-left:18px;color:var(--ds-grey-500,#5c5856);font-size:13.5px;line-height:1.5}
.aide-faq{background:var(--ds-surface,#fff);border:1px solid var(--ligne,rgba(28,26,27,.08));border-radius:14px;padding:10px 14px;margin:0 0 8px}
.aide-faq summary{font-weight:800;cursor:pointer}
.aide-faq p{margin:8px 0 0;font-size:13.5px;color:var(--ds-grey-500,#5c5856);line-height:1.5}
.aide-check{background:var(--ds-surface,#fff);border:1px solid var(--ligne,rgba(28,26,27,.08));border-radius:18px;padding:12px 14px;margin:0 0 14px}
.aide-check-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.aide-check-h b{flex:1;font-size:14px}
.aide-check-h small{color:var(--ds-brand,#E30613);font-weight:800}
.aide-x{width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1;color:var(--ds-grey-400,#69656B);position:relative}
/* Extension invisible de la cible tactile du bouton de fermeture (28px visuels -> 44px tactiles). */
.aide-x::after{content:'';position:absolute;top:50%;left:50%;width:var(--ds-tap-min,44px);height:var(--ds-tap-min,44px);transform:translate(-50%,-50%)}
.aide-check-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 0;border:none;background:none;font-size:13.5px;font-weight:650;cursor:pointer}
.aide-check-row.is-done{color:#1A7F37;text-decoration:line-through;opacity:.75}
.aide-check-mark{width:22px;text-align:center;color:#E30613}
.aide-hint .ds-sheet-actions{justify-content:flex-start}
@media(hover:hover){
  .ds-pro-card:hover,.ds-row:hover{transform:translateY(-2px);border-color:var(--border-brand,rgba(227,6,19,.16));box-shadow:var(--shadow-card-hover,var(--ds-shadow-soft))}
}
@media(max-width:380px){
  .ds-btn{padding:13px 20px;font-size:14.5px}
  .ds-stat{min-width:120px}
  .ds-devis-grid{grid-template-columns:64px 1fr 1fr 40px}
}
@media(min-width:720px){
  .ds-services{gap:10px}
  .ds-cockpit,.ds-pad{gap:6px 4px}
  body.ds-theme .screen.pad{padding:28px 28px 40px}
}
body.ds-theme .dp-types{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 16px}
body.ds-theme .dp-type{
  text-align:left;border:1.5px solid var(--ds-line,rgba(28,26,27,.12));background:var(--ds-white);
  border-radius:14px;padding:14px 16px;cursor:pointer;
}
body.ds-theme .dp-type b{display:block;font-size:14px;font-weight:800;margin-bottom:2px}
body.ds-theme .dp-type span{font-size:12px;color:var(--ds-text-muted);line-height:1.35}
body.ds-theme .dp-type.on{border-color:rgba(227,6,19,.35);background:var(--ds-red-tint,rgba(227,6,19,.06));box-shadow:0 0 0 3px rgba(227,6,19,.08)}
body.ds-theme .dp-type.is-locked,
body.ds-theme .dp-type:disabled{
  opacity:.46;cursor:not-allowed;filter:grayscale(1);
  background:var(--ds-bg,#F4F3F1);box-shadow:none;border-color:rgba(28,26,27,.08);
  pointer-events:none;
}
body.ds-theme .dp-type.is-locked span{color:var(--ds-text-muted,#6B6E76)}
@media(min-width:560px){body.ds-theme .dp-types{grid-template-columns:1fr 1fr 1fr}}
.vol-home-banner{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  background:linear-gradient(135deg,#2C1012 0%,#1C1A1B 55%,#3a1216 100%);
  color:#fff;border:none;border-radius:18px;padding:14px 16px;cursor:pointer;
  box-shadow:0 16px 36px -18px rgba(227,6,19,.55);
}
.vol-home-banner-ic{width:40px;height:40px;border-radius:12px;background:rgba(227,6,19,.22);color:#fff;display:grid;place-items:center;flex-shrink:0}
.vol-home-banner-main{flex:1;min-width:0}
.vol-home-banner-main b{display:block;font-size:14px}
.vol-home-banner-main small{display:block;font-size:12px;opacity:.78;margin-top:2px;line-height:1.35}
.vol-home-banner .arr{color:rgba(255,255,255,.7);font-weight:800;flex-shrink:0}
.ds-vehicle--stolen{border-color:rgba(227,6,19,.35)!important;box-shadow:0 0 0 1px rgba(227,6,19,.12)}
.vol-cockpit{background:linear-gradient(160deg,#2C1012,#1C1A1B);color:#fff;border-radius:16px;padding:14px 16px;margin-bottom:16px}
.vol-cockpit-kicker{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;opacity:.7;margin-bottom:6px}
.vol-cockpit-lead{margin:0 0 10px;font-size:13.5px;line-height:1.45}
.vol-cockpit-steps{margin:0 0 12px;padding:0;list-style:none}
.vol-cockpit-steps li{font-size:13px;line-height:1.45;padding:3px 0;opacity:.72}
.vol-cockpit-steps li.on{opacity:1}
.vol-cockpit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.vol-success .vol-cockpit-steps{margin:12px 0}
.vente-home-banner{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  background:linear-gradient(135deg,#1C1A1B 0%,#2a2210 48%,#3d2e0c 100%);
  color:#fff;border:none;border-radius:18px;padding:14px 16px;cursor:pointer;
  box-shadow:0 16px 36px -18px rgba(201,162,39,.55);
}
.vente-home-banner-ic{width:40px;height:40px;border-radius:12px;background:rgba(201,162,39,.22);color:#F3D27A;display:grid;place-items:center;flex-shrink:0}
.vente-home-banner-main{flex:1;min-width:0}
.vente-home-banner-main b{display:block;font-size:14px}
.vente-home-banner-main small{display:block;font-size:12px;opacity:.78;margin-top:2px;line-height:1.35}
.vente-home-banner .arr{color:#F3D27A;font-weight:800;flex-shrink:0}
.vente-marche{margin:0 0 8px}
.vente-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.vente-chip{
  flex:0 0 auto;text-align:left;border:none;cursor:pointer;
  background:linear-gradient(160deg,#1C1A1B,#2a2210);color:#fff;
  border-radius:14px;padding:10px 14px;min-width:132px;
}
.vente-chip b{display:block;font-size:13px;letter-spacing:.3px}
.vente-chip small{display:block;margin-top:2px;color:#F3D27A;font-weight:800;font-size:12px}
.vente-card{
  background:linear-gradient(165deg,#1C1A1B 0%,#241c0c 55%,#1C1A1B 100%);
  color:#fff;border-radius:18px;padding:16px 16px 14px;margin:0 0 14px;
  box-shadow:0 18px 40px -20px rgba(201,162,39,.45);
}
.vente-card-kicker,.vente-civ-kicker{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#F3D27A;opacity:.9;margin-bottom:6px}
.vente-card-prix{font-size:26px;font-weight:800;letter-spacing:-.4px;margin:0 0 8px;color:#F3D27A}
.vente-card-msg{margin:0 0 14px;font-size:13.5px;line-height:1.5;opacity:.92}
.vente-civ,.vente-vendeur{background:rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.vente-civ-plaque{font-size:20px;font-weight:800;letter-spacing:1px}
.vente-civ-id{font-size:14px;margin-top:2px}
.vente-civ-meta,.vente-vendeur span{display:block;font-size:12.5px;opacity:.78;margin-top:2px}
.vente-vendeur b{display:block;font-size:15px}
.vente-note-lock{font-size:12px;line-height:1.4;color:var(--acier);margin:0 0 12px}
.vente-card .vente-note-lock{color:rgba(255,255,255,.55)}
.vente-ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.vente-cta{
  display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  background:#F3D27A;color:#1C1A1B;font-weight:800;font-size:13px;
  border-radius:999px;padding:8px 12px;
}
.vente-cta--wa{background:#25D366;color:#fff}
.vente-fiche-banner{
  background:linear-gradient(135deg,#2a2210,#1C1A1B);color:#fff;
  border-radius:14px;padding:12px 14px;margin-bottom:14px;
}
.vente-fiche-banner b{display:block;color:#F3D27A;margin-bottom:4px}
.vente-fiche-banner span{display:block;font-size:12.5px;opacity:.8;margin-bottom:8px}
.vente-fiche-banner--attente{background:linear-gradient(135deg,#2a2410,#1C1A1B)}
.vente-fiche-banner--attente b{color:#E8C765}
.vente-fiche-banner--attn{background:linear-gradient(135deg,#3a1a14,#1C1A1B)}
.vente-fiche-banner--attn b{color:#F08A6C}
.vente-perim .seg{margin-bottom:10px}
.vente-perim-check{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;background:var(--craie);border-radius:12px;margin-bottom:6px;max-height:180px;overflow-y:auto}
.vente-perim-check label{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.vente-perim select{width:100%;padding:10px 12px;border:1.5px solid var(--ligne);border-radius:10px;font-size:14px;background:#fff;margin-bottom:6px}
.vente-hist{background:var(--craie);border-radius:12px;padding:12px 14px;margin:10px 0 14px;color:var(--bitume)}
.vente-hist .vente-civ-kicker{color:var(--acier);opacity:1}
.vente-card .vente-hist{background:rgba(255,255,255,.06);color:#fff}
.vente-hist-row{padding:8px 0;border-bottom:1px solid var(--ligne)}
.vente-card .vente-hist-row{border-bottom:1px solid rgba(255,255,255,.08)}
.vente-hist-row:last-child{border-bottom:none}
.vente-hist-row b{display:block;font-size:13px;color:var(--bitume)}
.vente-card .vente-hist-row b{color:#F3D27A}
.vente-hist-row small{display:block;font-size:11.5px;opacity:.7;margin-top:1px}
.vente-hist-row p{margin:4px 0 0;font-size:12.5px;opacity:.9;line-height:1.4}
.veh-cat-q{width:100%;margin:0 0 6px;padding:10px 12px;border:1.5px solid var(--ligne);border-radius:10px;font-size:13.5px;box-sizing:border-box;background:var(--craie)}
.veh-cat-hint{font-size:12px;color:var(--acier);margin:-4px 0 12px;line-height:1.4}
.ds-vehicle--sale{border-color:rgba(201,162,39,.45)!important;box-shadow:0 0 0 1px rgba(201,162,39,.16)}

/* Invitation — parcours d'enrôlement */
.ie-wrap{max-width:440px;margin:0 auto}
.ie-hero{background:linear-gradient(145deg,#FBEAEB 0%,#fff 55%);border:1px solid rgba(227,6,19,.12);border-radius:18px;padding:18px 16px 16px;margin:0 0 18px;box-shadow:0 10px 32px rgba(28,26,27,.06)}
.ie-hero--muted{background:var(--craie);border-color:var(--ligne)}
.ie-hero--ok{background:linear-gradient(145deg,#ecfdf3 0%,#fff 60%);border-color:rgba(34,139,87,.18)}
.ie-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--brand);background:#fff;border-radius:999px;padding:5px 10px;border:1px solid rgba(227,6,19,.14)}
.ie-perso{margin:14px 0 0;padding:12px 14px;background:#fff;border-radius:12px;font-style:italic;font-size:14px;line-height:1.45;color:var(--bitume);border:1px solid var(--ligne)}
.ie-steps{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.ie-steps li{font-size:13.5px;color:var(--bitume);line-height:1.4}
.ie-steps b{color:var(--brand);margin-right:4px}
.ie-dots{display:flex;justify-content:center;gap:6px;margin:14px 0 0}
.ie-dot{width:7px;height:7px;border-radius:50%;background:var(--ligne);display:inline-block}
.ie-dot.on{background:var(--brand);box-shadow:0 0 0 3px rgba(227,6,19,.12)}
.ie-check{width:52px;height:52px;border-radius:50%;background:var(--brand);color:#fff;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;box-shadow:0 8px 24px rgba(227,6,19,.25)}

