/* Espace client - complète rdv-essai.css (mêmes variables --rv-*) */
.es-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.es-top h3 { margin: 0 0 4px !important; }
.es-msg { padding: 12px 16px; border-left: 3px solid var(--rv-ok); background: var(--rv-surface-2); margin: 0 0 16px; }
.es-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.es-grid section.rv-card { margin-bottom: 20px; padding: 24px; }
.es-grid aside { position: sticky; top: 100px; }
@media (max-width: 980px) { .es-grid { grid-template-columns: minmax(0, 1fr); } .es-grid aside { position: static; order: -1; } }
#rdv-essai h4 { font-family: var(--rv-display); font-size: 18px; margin: 0 0 14px; text-transform: uppercase; letter-spacing: .02em; }
.es-login { max-width: 640px; margin: 0 auto; padding: 32px; }
.es-pied { margin-top: 16px; font-size: 13.5px; }
.es-rdv, .es-cmd { border: 1px solid var(--rv-line); padding: 16px 18px; margin-bottom: 12px; background: var(--rv-surface-2); }
.es-rdv-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.es-rdv-h b { font-size: 17px; }
.es-quand { font-weight: 700; margin: 6px 0 2px; font-size: 16px; }
.es-rdv p, .es-cmd p { margin: 4px 0; }
.es-badge { font-size: 12px; font-weight: 700; padding: 3px 9px; border: 1px solid var(--rv-line); white-space: nowrap; }
.es-badge.ok { color: var(--rv-ok); border-color: var(--rv-ok); }
.es-badge.att { color: #e0a100; border-color: #e0a100; }
.es-badge.ko { color: var(--rv-err); border-color: var(--rv-err); }
.es-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; align-items: center; }
.rv-btn.es-danger { border-color: var(--rv-err); color: var(--rv-err); }
.rv-ov .rv-btn.es-danger { background: var(--rv-err); color: #fff; }
.es-report { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--rv-line); }
.es-report .rv-days { margin-bottom: 10px; }
.es-nom { font-size: 22px; font-weight: 800; margin: 0; }
.es-inter .es-btns .rv-btn { width: 100%; justify-content: center; text-align: center; }
.es-hist { list-style: none; margin: 0; padding: 0; }
.es-hist li { display: grid; grid-template-columns: 150px 1fr auto; gap: 4px 14px; padding: 10px 0; border-bottom: 1px solid var(--rv-line); }
.es-hist li span { color: var(--rv-muted); font-size: 14px; }
.es-hist li em { font-style: normal; color: var(--rv-muted); font-size: 13px; grid-column: 2; }
.es-hist li i { font-style: normal; font-size: 13px; grid-row: 1; grid-column: 3; }
@media (max-width: 640px) { .es-hist li { grid-template-columns: 1fr auto; } .es-hist li span { grid-column: 1 / -1; } .es-hist li em { grid-column: 1; } .es-hist li i { grid-column: 2; grid-row: 2; } }
.es-etapes { list-style: none; margin: 12px 0 6px; padding: 0; counter-reset: e; }
.es-etapes li { position: relative; padding: 0 0 14px 34px; counter-increment: e; }
.es-etapes li::before { content: counter(e); position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--rv-line); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.es-etapes li.fait::before { content: "✓"; background: var(--rv-ok); border-color: var(--rv-ok); color: #fff; }
.es-etapes li.alerte::before { content: "!"; border-color: var(--rv-err); color: var(--rv-err); }
.es-etapes li b { display: block; }
.es-etapes li span { color: var(--rv-muted); font-size: 14px; }
.es-manque { color: var(--rv-err); font-weight: 600; }
#rdv-essai a.rv-btn { text-decoration: none; }
#rdv-essai a.rv-btn.rv-primary { color: var(--rv-acc-text, #fff); }
/* v2 : bouton « Demander un essai » */
.es-h4{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.es-h4 h4{margin:0}
.es-dg{margin:12px 0 4px}
.es-dl{list-style:none;margin:6px 0 0;padding:0}
.es-dl li{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--rv-line,#d9dce1)}
.es-dl li span{width:18px;flex:none;text-align:center;font-weight:700}
.es-dl li.ok span{color:#16a34a}.es-dl li.ko span{color:#b45309}
.es-dl li em{margin-left:auto;font-style:normal;font-size:13px;color:var(--rv-muted,#6b7280);white-space:nowrap}
.es-dl li.ko em{color:#b45309}
/* v3 : progression de la commande et documents de la concession */
.es-prog{border-top:4px solid var(--rv-acc,#0b3d91)}
.es-prog.fini{border-top-color:var(--rv-ok)}
.es-pm{margin:0 0 14px}
.es-pbar{height:8px;background:var(--rv-line,#d9dce1);overflow:hidden;margin:0 0 14px}
.es-pbar span{display:block;height:100%;background:var(--rv-ok,#16a34a);transition:width .4s}
.es-psteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.es-psteps li{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:14px}
.es-psteps li i{font-style:normal;width:26px;height:26px;border-radius:50%;border:2px solid var(--rv-line,#d9dce1);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--rv-muted,#6b7280)}
.es-psteps li b{line-height:1.25}
.es-psteps li span{color:var(--rv-muted,#6b7280);font-size:13px}
.es-psteps li.fait i{background:var(--rv-ok,#16a34a);border-color:var(--rv-ok,#16a34a);color:#fff}
.es-psteps li.actuel i{border-color:var(--rv-acc,#0b3d91);background:var(--rv-acc,#0b3d91);color:#fff}
.es-psteps li.actuel b{color:var(--rv-acc,#0b3d91)}
.es-psteps li.avenir b{color:var(--rv-muted,#6b7280);font-weight:600}
@media (max-width:640px){.es-psteps{grid-template-columns:1fr;gap:0}.es-psteps li{display:grid;grid-template-columns:34px 1fr;column-gap:8px;padding:6px 0;border-bottom:1px solid var(--rv-line,#d9dce1)}.es-psteps li i{grid-row:1/3}.es-psteps li span{grid-column:2}}
.es-fl{list-style:none;margin:8px 0 0;padding:0}
.es-fl li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--rv-line,#d9dce1)}
.es-fl li div{flex:1;min-width:0}
.es-fl li b{display:block}
.es-fl li em{font-style:normal;font-size:13px;color:var(--rv-muted,#6b7280)}
.es-fx{flex:none;font-size:11px;font-weight:800;padding:6px 7px;border:1px solid var(--rv-line,#d9dce1);letter-spacing:.04em}
.es-fl li em{display:block}
@media (max-width:640px){.es-fl li{flex-wrap:wrap}.es-fl li>button,.es-fl li>a{flex-basis:100%;width:100%}}

/* v37 : piste avec la petite moto */
.es-piste{position:relative;height:74px;margin:6px 10px 10px}
.es-route{position:absolute;left:0;right:0;top:56px;height:8px;background:var(--rv-line);border-radius:4px;overflow:hidden}
.es-route span{position:absolute;left:0;top:0;bottom:0;background:var(--rv-ok);transition:width .6s}
.es-jalon{position:absolute;top:51px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--rv-surface);border:3px solid var(--rv-line)}
.es-jalon.fait{background:var(--rv-ok);border-color:var(--rv-ok)}
.es-jalon.actuel{background:var(--rv-acc);border-color:var(--rv-acc)}
.es-moto{position:absolute;top:10px;width:64px;color:var(--rv-acc);animation:es-roule 1.4s ease-out}
.es-piste.fini .es-moto{color:var(--rv-ok)}
.es-moto svg{display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}
@keyframes es-roule{from{left:0}}
@media (prefers-reduced-motion:reduce){.es-moto{animation:none}}
.es-vide{display:flex;gap:18px;align-items:center}
.es-vide-ic{flex:none;width:90px;opacity:.6;color:var(--rv-muted)}
.es-vide-ic svg{width:90px;height:54px}
.es-vide h4{margin-bottom:6px!important}
@media (max-width:640px){.es-vide{flex-direction:column;align-items:flex-start}}
/* v37 : mes documents avec dépôt */
.es-docs .es-dl li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0}
.es-docs .es-dl li div b{display:block}
.es-docs .es-dl li em{display:block;margin:0;white-space:normal}
.es-docs .es-dl li.att span.es-o,.es-docs .es-dl li.att em{color:#e0a100}
.es-docs .es-dl li.es-assu{background:rgba(255,107,107,.06);padding-left:8px;padding-right:8px}
.es-docs .es-dl .es-badge{display:inline-block;margin-left:6px;vertical-align:middle;font-size:11px}
.es-sous{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--rv-muted);font-weight:700;margin:18px 0 0}
.es-puces{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.es-puces span{font-size:12px;border:1px solid var(--rv-line);padding:4px 10px;border-radius:20px;color:var(--rv-muted)}
.es-puces span::before{content:"● ";color:var(--rv-ok)}
@media (max-width:640px){.es-docs .es-dl li{grid-template-columns:24px minmax(0,1fr)}.es-docs .es-dl li>.rv-btn{grid-column:1/-1;width:100%;justify-content:center}}
/* v37 : documents reçus */
.es-new{font-size:11px;font-weight:800;background:var(--rv-acc);color:#fff;padding:2px 7px;margin-left:6px;vertical-align:middle}
.es-aucun{color:var(--rv-muted);font-style:italic;margin:6px 0 0}
.es-docs .es-dl li span.es-badge{width:auto;flex:none;text-align:left;font-weight:700}
.es-docs .es-dl li.es-assu span.es-o{color:var(--rv-err)}
.es-docs .es-dl li.opt span.es-o,.es-docs .es-dl li.opt em{color:var(--rv-muted)}

/* v38 : offre personnelle */
.es-offre { border-top: 4px solid var(--rv-acc, #0b3d91); }
.es-offre.ok { border-top-color: var(--rv-ok); }
.es-of-t { margin: 0 0 10px; font-size: 16px; }
.es-of-prix { display: flex; flex-direction: column; gap: 2px; margin: 0 0 14px; }
.es-of-prix span { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--rv-muted); }
.es-of-prix b { font-family: var(--rv-display); font-size: 34px; line-height: 1.1; }
.es-of-prix em { font-style: normal; color: var(--rv-ok); font-weight: 600; font-size: 14px; }
.es-of-pack { border: 1px solid var(--rv-line); background: var(--rv-surface-2); padding: 12px 14px; margin: 0 0 12px; }
.es-of-pack ol { margin: 6px 0 0; padding-left: 20px; }
.es-of-l { list-style: none; margin: 0 0 10px; padding: 0; }
.es-of-l li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--rv-line); }
.es-of-l b { color: var(--rv-ok); white-space: nowrap; }
.es-of-inc { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.es-of-inc li { font-size: 13px; padding: 3px 9px; border: 1px solid var(--rv-ok); color: var(--rv-ok); }
.es-of-fin { margin: 0 0 4px; }
.es-of-legal { font-size: 12px; margin: 0 0 12px; }
.es-of-jusqu { font-weight: 700; margin: 0 0 12px; }
