:root{
  --ink:#F5F5F5;
  --ink-soft:#B0B0B0;
  --surface:#141414;
  --bg:#0A0A0A;
  --border:#2A2A2A;
  --muted:#808080;
  --accent:#E0E0E0;
  --accent-light:#FFFFFF;
  --primary:#fb9b0a;
  --primary-dark:#e08c00;
  --header-1:#000000;
  --header-2:#111111;
  --vert:#5CBA8F;
  --vert-fond:#0F241B;
  --jaune:#E8B94A;
  --jaune-fond:#241E0C;
  --rouge:#E56A62;
  --rouge-fond:#241312;
  --ombre-sm: 0 1px 3px rgba(0,0,0,0.35);
  --ombre: 0 6px 20px rgba(0,0,0,0.45);
  --ombre-lg: 0 18px 40px rgba(0,0,0,0.55);
  --radius: 12px;
  --radius-sm: 8px;
  --focus-ring: 0 0 0 3px rgba(224,224,224,0.25);
}
body.dark{
  --surface:#0F0F0F;
  --bg:#050505;
  --border:#222222;
  --accent:#FFFFFF;
  --accent-light:#FFFFFF;
  --focus-ring: 0 0 0 3px rgba(255,255,255,0.28);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--bg);
  color:var(--ink);
  padding-bottom:calc(var(--ab-h, 110px) + 20px);
  -webkit-font-smoothing:antialiased;
  transition:background .2s ease, color .2s ease, padding-bottom .2s ease;
}
h1,h2,h3,.font-display{font-family:'Sora',system-ui,sans-serif; letter-spacing:0.005em;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible{
  outline:none; box-shadow:var(--focus-ring); border-radius:6px;
}

header.app-header{
  background:linear-gradient(150deg,var(--header-1) 0%, var(--header-2) 100%);
  color:#fff; padding:26px 20px 22px; position:relative; overflow:hidden;
}
header.app-header::before{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 70% 100% at 100% 0%, #000 0%, transparent 75%);
  mask-image:radial-gradient(ellipse 70% 100% at 100% 0%, #000 0%, transparent 75%);
}
header.app-header::after{
  content:""; position:absolute; right:-80px; top:-80px; width:260px; height:260px;
  border-radius:50%; background:radial-gradient(circle, rgba(224,224,224,0.35), transparent 70%); pointer-events:none;
}
.header-inner{max-width:1200px; margin:0 auto; position:relative; z-index:1;}
.brand-row{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.brand-logo{width:40px; height:40px; border-radius:11px; flex-shrink:0; box-shadow:0 4px 14px rgba(0,0,0,0.35);}
.brand-wordmark{font-family:'Sora',sans-serif; font-weight:700; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent-light);}
.eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
  color:#B0B0B0; margin-bottom:8px; display:flex; align-items:center; gap:8px; font-weight:700;
}
.eyebrow::before{content:""; width:7px;height:7px; border-radius:50%; background:var(--vert); box-shadow:0 0 0 4px rgba(92,186,143,0.28);}
header.app-header h1{font-size:clamp(26px,5vw,40px); font-weight:700; margin:0 0 5px; line-height:1.05; letter-spacing:0.005em;}
header.app-header p.subtitle{margin:0; color:#B0B0B0; font-size:14px; max-width:600px; line-height:1.5;}

.toolbar{
  max-width:1200px; margin:20px auto 0; position:relative; z-index:1;
  display:flex; flex-direction:column; gap:10px;
}
.toolbar-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.toolbar select, .toolbar .icon-btn{
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  border-radius:var(--radius-sm); padding:10px 12px; cursor:pointer; border:1.5px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.07); color:#fff; transition:background .15s, border-color .15s; min-height:42px;
}
.toolbar select{max-width:240px; flex:1 1 auto;}
.toolbar .icon-btn{flex:0 0 auto; white-space:nowrap;}
.toolbar .icon-btn:hover{background:rgba(255,255,255,0.16); border-color:rgba(255,255,255,0.28);}
.toolbar .spacer{flex:1;}
.score-gauge{
  font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#fff;
  background:rgba(255,255,255,0.07); border:1.5px solid rgba(255,255,255,0.16); border-radius:var(--radius-sm);
  padding:10px 14px; display:flex; align-items:center; gap:8px; flex-shrink:0;
}
.score-gauge .sc-ok{color:#7FE8B0;}
.score-gauge .sc-warn{color:#FFD37F;}
.score-gauge .sc-bad{color:#FF9B9B;}
.score-gauge[data-tooltip]{position:relative; cursor:help;}
.score-gauge .info-dot{
  display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%;
  background:rgba(255,255,255,0.18); font-size:10px; font-weight:700; flex-shrink:0; font-family:'Inter',sans-serif;
}
.score-gauge[data-tooltip]:hover::after, .score-gauge[data-tooltip]:focus::after{
  content: attr(data-tooltip);
  position:absolute; top:calc(100% + 8px); right:0; width:270px;
  background:var(--ink); color:#fff; font-family:'Inter',sans-serif; font-weight:500; font-size:11.5px;
  padding:10px 12px; border-radius:var(--radius-sm); box-shadow:var(--ombre-lg); z-index:60; line-height:1.5; text-align:left;
  text-transform:none; letter-spacing:normal; white-space:pre-line;
}
.score-gauge[data-tooltip]:hover::before{
  content:""; position:absolute; top:100%; right:14px; border:6px solid transparent; border-bottom-color:var(--ink); z-index:60;
}

.progress-wrap{max-width:1200px; margin:16px auto 0; background:rgba(255,255,255,0.08); border-radius:999px; height:7px; overflow:hidden; position:relative; z-index:1;}
.progress-bar{height:100%; width:0%; background:linear-gradient(90deg,var(--accent-light),var(--vert)); border-radius:999px; transition:width .3s ease;}
.progress-label{max-width:1200px; margin:8px auto 0; font-size:12px; color:#808080; display:flex; justify-content:space-between; position:relative; z-index:1;}

main{max-width:1200px; margin:26px auto; padding:0 16px; display:flex; flex-direction:column; gap:16px;}

/* Navigation fa�on application : onglets fixes pour se d�placer entre les �crans */
.app-tabbar{
  position:sticky; top:0; z-index:40; background:var(--surface); border-bottom:1px solid var(--border);
  box-shadow:var(--ombre-sm);
}
.app-tabbar-inner{
  max-width:1200px; margin:0 auto; display:flex; gap:2px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; padding:0 10px;
}
.app-tabbar-inner::-webkit-scrollbar{display:none;}
.app-tab{
  flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:4px; background:none; border:none;
  color:var(--muted); font-family:'Inter',sans-serif; font-weight:600; font-size:10.5px; letter-spacing:0.02em;
  padding:10px 14px 9px; cursor:pointer; position:relative; white-space:nowrap; transition:color .15s;
}
.app-tab .app-tab-icon{width:20px;height:20px;display:block;line-height:1;}
.app-tab::after{
  content:""; position:absolute; left:10%; right:10%; bottom:0; height:3px; border-radius:3px 3px 0 0;
  background:transparent; transition:background .15s;
}
.app-tab:hover{color:var(--ink);}
.app-tab.active{color:var(--accent-light);}
.app-tab.active::after{background:var(--accent);}

details.section{background:var(--surface); border-radius:var(--radius); box-shadow:var(--ombre-sm); overflow:hidden; border:1px solid var(--border); transition:background .2s,border-color .2s, box-shadow .2s;}
details.section[open]{box-shadow:var(--ombre);}
details.section summary{
  list-style:none; cursor:pointer; padding:18px 22px; display:flex; align-items:center; gap:14px;
  font-family:'Sora',sans-serif; font-weight:600; font-size:20px; color:var(--ink); user-select:none; position:relative;
}
details.section summary::-webkit-details-marker{display:none;}
details.section summary::after{
  content:""; width:11px;height:11px; border-right:2.5px solid var(--muted); border-bottom:2.5px solid var(--muted);
  transform:rotate(-45deg); transition:transform .25s ease; margin-left:auto; flex-shrink:0;
}
details.section[open] summary::after{transform:rotate(45deg);}
details.section summary:hover{background:var(--bg);}
.sec-num{
  font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#fff; background:var(--accent);
  width:30px;height:30px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.sec-meta{font-family:'Inter',sans-serif; font-size:12px; font-weight:500; color:var(--muted); margin-left:2px;}
.section-body{padding:22px 22px 28px; border-top:1px solid var(--border);}

.subhead{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--accent); font-weight:700; margin:24px 0 13px; display:flex; align-items:center; gap:8px;
}
.subhead:first-child{margin-top:0;}
.subhead::before{content:""; width:16px;height:2px; background:var(--accent); display:inline-block;}
.subhead.temp-froid{color:var(--accent-light);}
.subhead.temp-chaud{color:#E0E0E0;}

.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px;}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}

.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-size:12.5px; font-weight:600; color:var(--ink-soft);}
.field .hint{font-size:11px; color:var(--muted); font-weight:400; margin-top:-2px;}
.field label .req-star{color:var(--rouge); margin-left:2px;}
input[type="text"], input[type="number"], input[type="date"], input[type="datetime-local"], select, textarea{
  font-family:'Inter',sans-serif; font-size:14px; padding:11px 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm);
  background:var(--bg); color:var(--ink); outline:none; transition:border-color .15s, background .15s, box-shadow .15s; width:100%;
}
input:focus, select:focus, textarea:focus{border-color:var(--accent); background:var(--surface); box-shadow:var(--focus-ring);}
select, select option, select optgroup{background:var(--surface); color:var(--ink);}
select:disabled, select:disabled option{color:var(--muted); background:var(--bg);}
textarea{resize:vertical; min-height:70px; font-family:'Inter',sans-serif;}

.field.field-invalid input, .field.field-invalid select{
  border-color:var(--rouge) !important; background:var(--rouge-fond) !important;
  box-shadow:0 0 0 3px rgba(229,106,98,0.15);
}
.field.field-invalid label{color:var(--rouge);}
.field .req-error{display:none; font-size:11px; color:var(--rouge); font-weight:600; margin-top:-2px;}
.field.field-invalid .req-error{display:block;}
.vstep.step-invalid{border-color:var(--rouge); box-shadow:0 0 0 3px rgba(229,106,98,0.15); background:var(--rouge-fond);}

.check-item{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:13px 14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg); margin-bottom:10px;
  transition:border-color .15s;
}
.check-item:focus-within{border-color:var(--accent-light);}
.check-item .label-block{flex:1 1 220px; min-width:180px;}
.check-item .label-block .t{font-weight:600; font-size:14px; color:var(--ink); display:inline; margin-right:6px;}
.check-item .label-block .d{font-size:12px; color:var(--muted); display:block; margin-top:2px; line-height:1.4;}
.check-help-btn{
  background:transparent; border:none; cursor:pointer; padding:0 2px; font-size:14px; line-height:1;
  opacity:.65; transition:opacity .15s, transform .15s; vertical-align:middle;
}
.check-help-btn:hover{opacity:1; transform:scale(1.15);}
.check-help-btn:focus-visible{outline:2px solid var(--accent-light); outline-offset:2px; border-radius:4px;}

.badge-group{display:flex; gap:6px; flex-shrink:0;}
.badge-group input[type="radio"]{position:absolute; opacity:0; width:0;height:0;}
.badge-group label{
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:0.03em; padding:9px 13px;
  border-radius:var(--radius-sm); border:1.5px solid var(--border); background:var(--surface); color:var(--muted); cursor:pointer;
  transition:all .15s ease; white-space:nowrap; min-height:44px; display:flex; align-items:center; justify-content:center; gap:6px;
}
.badge-group label:hover{transform:translateY(-1px);}
.badge-group input:focus-visible + label{box-shadow:var(--focus-ring);}
.badge-group input[value="ok"] + label:hover{border-color:var(--vert);}
.badge-group input[value="moyen"] + label:hover{border-color:var(--jaune);}
.badge-group input[value="defaut"] + label:hover{border-color:var(--rouge);}
.badge-group input[value="ok"]:checked + label{background:var(--vert-fond); border-color:var(--vert); color:var(--vert); box-shadow:0 0 0 3px rgba(92,186,143,0.14);}
.badge-group input[value="moyen"]:checked + label{background:var(--jaune-fond); border-color:var(--jaune); color:var(--jaune); box-shadow:0 0 0 3px rgba(232,185,74,0.14);}
.badge-group input[value="defaut"]:checked + label{background:var(--rouge-fond); border-color:var(--rouge); color:var(--rouge); box-shadow:0 0 0 3px rgba(229,106,98,0.14);}
.badge-group input[value="ok"]:checked + label::before{content:'✓';font-size:14px;line-height:1;}
.badge-group input[value="moyen"]:checked + label::before{content:'!';display:grid;place-items:center;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;font-size:10px;line-height:1;}
.badge-group input[value="defaut"]:checked + label::before{content:'×';font-size:17px;line-height:1;}

.note-line{margin-top:10px;}
.note-line input{background:var(--surface);}

.alert-box{display:flex; gap:12px; padding:14px 16px; border-radius:var(--radius-sm); background:var(--surface); border:1.5px solid var(--border); margin:16px 0; align-items:flex-start;}
.alert-box .icon{font-family:'JetBrains Mono',monospace; font-weight:800; background:var(--ink); color:var(--bg); width:26px;height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:14px;}
.alert-box .txt{font-size:13px; color:var(--ink-soft); line-height:1.55;}
.alert-box .txt strong{color:var(--ink);}
body.dark .alert-box .txt, body.dark .alert-box .txt strong{color:var(--ink-soft);}

.vehicle-db-status{display:flex;align-items:center;gap:9px;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:12px}.vehicle-db-status[hidden]{display:none}.vehicle-db-status.is-loading span{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:vehicle-db-spin .8s linear infinite}.vehicle-db-status.is-error{border-color:color-mix(in srgb,var(--rouge) 55%,var(--border));color:var(--rouge)}@keyframes vehicle-db-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.vehicle-db-status.is-loading span{animation:none}}

.vehicle-selector-bar{
  display:flex; align-items:stretch; flex-wrap:wrap;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm);
  overflow:hidden; box-shadow:var(--ombre-sm);
}
.vstep{
  flex:1 1 140px; display:flex; align-items:center; gap:10px;
  border-right:1px solid var(--border); background:var(--surface);
  padding:0 14px; min-height:50px; transition:background .15s;
}
.vstep:last-of-type{border-right:none;}
.vstep:hover{background:var(--bg);}
.vstep:focus-within{background:var(--bg);}
.vstep-num{
  width:26px; height:26px; border-radius:50%; background:var(--border); color:var(--muted);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; line-height:1; flex-shrink:0; transition:background .2s, color .2s;
}
.vstep-num.active{background:var(--primary); color:#000;}
.vstep-num.done{background:var(--vert); color:#fff;}
.vstep select{
  flex:1; border:none; background:transparent; padding:14px 0; font-size:14px; font-weight:600;
  color:var(--ink); appearance:none; -webkit-appearance:none; cursor:pointer;
  min-width:0; text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
}
.vstep select:disabled{cursor:not-allowed; color:var(--muted); font-weight:500;}
.vstep select:focus{outline:none; box-shadow:none;}
.vstep-chevron{color:var(--muted); font-size:18px; flex-shrink:0; margin-left:auto;}
.vstep-confirm{
  flex:0 0 auto; border:none; background:var(--primary); color:#000;
  font-family:'Sora',sans-serif; font-weight:700; font-size:14px;
  padding:0 22px; cursor:pointer; transition:background .15s;
}
.vstep-confirm:hover{background:var(--primary-dark);}
.vstep-hint{font-size:11px; color:var(--muted); padding:6px 2px 2px;}
.vehicle-issues{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:12px 14px; color:var(--ink);}
.vehicle-issues h3{margin:0; font-size:14px; font-family:'Sora',sans-serif; letter-spacing:.02em;}
.vehicle-issues p{margin:4px 0 8px; font-size:12px; line-height:1.45;}
.vehicle-issues ul{margin:0; padding:0; display:grid; gap:10px; font-size:12px; line-height:1.45;}
.vehicle-issues li{list-style:none; background:rgba(255,255,255,.06); border-radius:6px; padding:8px 10px; display:grid; gap:2px;}
.vehicle-issues li strong{color:var(--ink);}
body.dark .vehicle-issues li{background:rgba(0,0,0,.16);}
body.dark .vehicle-issues{color:var(--ink);}

.doc-check{display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg); margin-bottom:8px;}
.doc-check input[type="checkbox"]{width:18px; height:18px; accent-color:var(--accent); flex-shrink:0;}
.doc-check label{font-size:13.5px; font-weight:600; color:var(--ink); cursor:pointer;}

.geo-row{display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap;}
.geo-row .field{flex:1; min-width:200px;}
.btn-mini{
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; padding:11px 14px; border-radius:var(--radius-sm);
  border:1.5px solid var(--border); background:var(--surface); color:var(--ink); cursor:pointer; white-space:nowrap;
  transition:background .15s, border-color .15s;
}
.btn-mini:hover{background:var(--bg); border-color:var(--accent-light);}

.photo-block{margin-top:22px;}
.photo-input-label{
  display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--accent);
  border:1.5px dashed var(--accent-light); border-radius:var(--radius-sm); padding:11px 14px; cursor:pointer; background:var(--bg);
  transition:background .15s;
}
.photo-input-label:hover{background:var(--vert-fond);}
.photo-block input[type="file"]{display:none;}
.photo-grid{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;}
.photo-thumb{position:relative; width:88px; height:88px; border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border);}
.photo-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-thumb .rm{
  position:absolute; top:3px; right:3px; width:20px;height:20px; border-radius:50%; background:rgba(229,106,98,0.92);
  color:#fff; border:none; font-size:12px; font-weight:700; cursor:pointer; line-height:20px; text-align:center; padding:0;
}

.nav-btn-wrap{margin-top:26px; display:flex; justify-content:flex-end;}
.nav-btn{
  font-family:'Sora',sans-serif; font-weight:700; font-size:15px; letter-spacing:0.02em;
  background:var(--accent); color:#fff; border:none; padding:12px 20px; border-radius:var(--radius-sm); cursor:pointer;
  display:flex; align-items:center; gap:8px; transition:background .15s, transform .15s;
}
.nav-btn:hover{background:var(--ink-soft); transform:translateY(-1px);}

.verdict-group{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:10px 0 20px;}
.verdict-group input[type="radio"]{position:absolute; opacity:0; width:0;height:0;}
.verdict-card{display:flex; flex-direction:column; align-items:center; gap:6px; padding:22px 12px; border-radius:var(--radius); border:2px solid var(--border); background:var(--bg); cursor:pointer; text-align:center; transition:all .18s ease;}
.verdict-group input:focus-visible + label{box-shadow:var(--focus-ring);}
.verdict-card .dot{width:20px;height:20px; border-radius:50%; background:var(--border);}
.verdict-card .title{font-family:'Sora',sans-serif; font-weight:700; font-size:18px; color:var(--ink); letter-spacing:0.02em;}
.verdict-card .sub{font-size:11px; color:var(--muted);}
input[value="achat"]:checked + label{border-color:var(--vert); background:var(--vert-fond); box-shadow:0 8px 20px rgba(92,186,143,0.2);}
input[value="achat"]:checked + label .dot{background:var(--vert);}
input[value="achat"]:checked + label .title{color:var(--vert);}
input[value="negociation"]:checked + label{border-color:var(--jaune); background:var(--jaune-fond); box-shadow:0 8px 20px rgba(232,185,74,0.2);}
input[value="negociation"]:checked + label .dot{background:var(--jaune);}
input[value="negociation"]:checked + label .title{color:var(--jaune);}
input[value="fuir"]:checked + label{border-color:var(--rouge); background:var(--rouge-fond); box-shadow:0 8px 20px rgba(229,106,98,0.2);}
input[value="fuir"]:checked + label .dot{background:var(--rouge);}
input[value="fuir"]:checked + label .title{color:var(--rouge);}
.verdict-card.disabled-choice{opacity:0.4; cursor:not-allowed;}

.budget-result{
  margin-top:10px; padding:13px 14px; border-radius:var(--radius-sm); font-size:13.5px; font-weight:600;
  border:1.5px solid var(--border); background:var(--bg); color:var(--muted);
}
.budget-result.pos{background:var(--vert-fond); border-color:var(--vert); color:var(--vert);}
.budget-result.neg{background:var(--rouge-fond); border-color:var(--rouge); color:var(--rouge);}
.budget-checklist-result{display:grid;gap:7px}.budget-checklist-result p{margin:0;color:var(--ink);font-weight:800}.budget-checklist-result ul{display:flex;flex-wrap:wrap;gap:7px 12px;margin:0;padding:0;list-style:none}.budget-checklist-result li{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.budget-checklist-result li span{color:var(--rouge);font-weight:900}.budget-checklist-result li.is-ready span{color:var(--vert)}.budget-checklist-result>strong{color:var(--ink)}.budget-checklist-result.is-ready{background:var(--vert-fond);border-color:var(--vert)}

.action-bar{position:fixed; bottom:0; left:0; right:0; background:var(--surface); border-top:1px solid var(--border); box-shadow:0 -10px 28px rgba(0,0,0,0.25); padding:12px 16px; z-index:50;}
.action-bar-inner{max-width:1200px; margin:0 auto; display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.print-mode-toggle{display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--muted); font-weight:600; white-space:nowrap;}
.btn-generate{
  flex:1; min-width:220px; background:linear-gradient(135deg,var(--header-1) 0%, var(--accent) 100%); color:#fff; border:none;
  padding:16px 20px; border-radius:var(--radius-sm); font-family:'Sora',sans-serif; font-size:19px; font-weight:700;
  letter-spacing:0.03em; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px;
  transition:transform .15s ease, box-shadow .15s ease; box-shadow:0 8px 22px rgba(0,0,0,0.35);
}
.btn-generate:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,0.45);}
.btn-generate:disabled{opacity:0.55; cursor:not-allowed; transform:none; box-shadow:none;}
.btn-secondary{background:var(--bg); color:var(--ink); border:1.5px solid var(--border); padding:16px 16px; border-radius:var(--radius-sm); font-family:'Inter',sans-serif; font-weight:600; font-size:12.5px; cursor:pointer; white-space:nowrap; transition:background .15s;}
.btn-secondary:hover{background:var(--border);} 
.missing-fields-banner{
  display:none; max-width:1200px; margin:0 auto 10px; background:var(--rouge-fond); border:1.5px solid var(--rouge);
  color:var(--rouge); border-radius:var(--radius-sm); padding:10px 14px; font-size:12.5px; font-weight:600;
}
body.dark .missing-fields-banner{color:var(--rouge);}
.missing-fields-banner.show{display:block;}

.pwa-update-banner{position:fixed;z-index:220;right:max(16px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--accent);border-radius:14px;background:var(--surface);box-shadow:0 16px 42px rgba(0,0,0,.34)}
.pwa-update-banner[hidden]{display:none}
.pwa-update-banner>div{min-width:0;flex:1}.pwa-update-banner strong{display:block;font:700 13px 'Sora',sans-serif;color:var(--ink)}.pwa-update-banner p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.pwa-update-banner button{min-height:44px;border-radius:10px;font:700 12px 'Sora',sans-serif;cursor:pointer}.pwa-update-banner #pwaUpdateReload{padding:0 13px;border:0;background:var(--accent);color:#15110a}.pwa-update-banner #pwaUpdateDismiss{width:36px;min-width:36px;padding:0;border:1px solid var(--border);background:transparent;color:var(--ink);font-size:20px}
@media(max-width:600px){.pwa-update-banner{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:12px;gap:8px}.pwa-update-banner p{font-size:11px}.pwa-update-banner #pwaUpdateReload{padding:0 10px}}
.account-migration{display:flex;align-items:center;gap:12px;margin:14px 0;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.account-migration[hidden]{display:none}.account-migration>div{flex:1}.account-migration strong{font:700 13px 'Sora',sans-serif;color:var(--ink)}.account-migration p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.account-migration button{min-height:44px;padding:0 12px;border:0;border-radius:9px;background:var(--accent);color:#15110a;font:700 11px 'Sora',sans-serif;cursor:pointer}.account-migration button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:520px){.account-migration{align-items:flex-start;flex-direction:column}.account-migration button{width:100%}}
.google-auth-button{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px!important;margin-top:10px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:#fff!important;color:#202124!important;font:700 13px 'Sora',sans-serif!important;cursor:pointer}.google-auth-button:hover{background:#f7f8f8!important;border-color:#b8b8b8!important}.google-auth-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.google-auth-button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font:800 17px/1 Arial,sans-serif;color:#fff;background:conic-gradient(from 45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0)}.auth-provider-divider{display:flex;align-items:center;gap:10px;margin:16px 0 6px;color:var(--muted);font-size:11px}.auth-provider-divider::before,.auth-provider-divider::after{content:'';height:1px;flex:1;background:var(--border)}

.modal-overlay{position:fixed; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(2px); display:none; align-items:center; justify-content:center; z-index:100; padding:20px;}
.modal-overlay.show{display:flex;}
.modal{background:var(--surface); border-radius:16px; max-width:900px; width:100%; max-height:85vh; overflow:auto; padding:26px; box-shadow:var(--ombre-lg);}
.modal h2{margin:0 0 4px; font-size:26px; color:var(--ink);}
.modal p.sub{margin:0 0 16px; font-size:13px; color:var(--muted);}
.modal-close{float:right; background:none; border:none; font-size:22px; cursor:pointer; color:var(--muted); border-radius:6px; padding:2px 6px;}
.modal-close:hover{background:var(--bg); color:var(--ink);}
.fiche-pick{display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); margin-bottom:6px;}
.fiche-pick input{accent-color:var(--accent);}
table.compare-table{width:100%; border-collapse:collapse; margin-top:18px; font-size:13px;}
table.compare-table th, table.compare-table td{border:1px solid var(--border); padding:9px 10px; text-align:left;}
table.compare-table th{background:var(--bg); font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; color:var(--muted);} 
.verdict-pill{padding:3px 8px; border-radius:6px; font-weight:700; font-size:11px;}
.verdict-pill.achat{background:var(--vert-fond); color:var(--vert);}
.decision-disclaimer{margin:12px 0 20px;padding:11px 13px;border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--muted);font-size:11px;line-height:1.5}
.verdict-pill.negociation{background:var(--jaune-fond); color:var(--jaune);}
.verdict-pill.fuir{background:var(--rouge-fond); color:var(--rouge);}

#compareModal .modal{display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100dvh - 32px);padding:clamp(18px,3vw,28px);overflow:auto;overscroll-behavior:contain}
#compareModal .modal-close{position:sticky;z-index:3;top:0;align-self:flex-end;width:44px;height:44px;margin:-8px -8px -38px 0;background:var(--surface);border:1px solid var(--border);border-radius:50%}
.compare-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px;color:var(--muted);font-size:12px}.compare-picker-head strong{color:var(--ink)}
.compare-pick-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto;padding:2px;scrollbar-gutter:stable}
.fiche-pick{position:relative;min-width:0;margin:0;padding:0;border:0}.fiche-pick input{position:absolute;inset:16px auto auto 14px;width:20px;height:20px;z-index:1}.fiche-pick label{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 12px 12px 46px;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.fiche-pick label:hover{transform:translateY(-1px);border-color:var(--muted)}.fiche-pick input:checked+label{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%,transparent)}.fiche-pick input:disabled+label{opacity:.5;cursor:not-allowed}.fiche-pick-main{display:grid;min-width:0;gap:5px;flex:1}.fiche-pick-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fiche-pick-main small{color:var(--muted);font-size:10px;line-height:1.35}.fiche-pick-score{font:900 17px 'Sora',sans-serif;color:var(--ink)}
.compare-empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);text-align:center;line-height:1.5}.compare-actions{position:sticky;z-index:2;bottom:-1px;display:flex;gap:8px;margin-top:12px;padding:10px 0;background:linear-gradient(transparent,var(--surface) 18%)}.compare-actions .btn-mini{min-height:44px;margin:0}.compare-actions [hidden]{display:none!important}
#compareResult{scroll-margin-top:16px}.compare-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.compare-summary-card{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px;padding:15px;border:1px solid var(--border);border-radius:13px;background:var(--bg)}.compare-summary-card.is-best{border-color:var(--vert);background:color-mix(in srgb,var(--vert) 7%,var(--bg))}.compare-summary-card h3{margin:4px 0 0;font:800 14px 'Sora',sans-serif}.compare-card-kicker{color:var(--muted);font:700 9px 'JetBrains Mono',monospace;letter-spacing:.12em}.compare-card-score{font:900 24px 'Sora',sans-serif}.compare-summary-card .verdict-pill{grid-column:1/-1;width:max-content}.compare-summary-card small{grid-column:1/-1;color:var(--muted)}
.compare-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--border);border-radius:12px;margin-top:12px}.compare-table-wrap table.compare-table{margin:0;min-width:620px}.compare-table-wrap table.compare-table th:first-child,.compare-table-wrap table.compare-table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);font-weight:800}.compare-table-wrap table.compare-table thead th{position:sticky;top:0;z-index:2}.compare-table-wrap table.compare-table thead th:first-child{z-index:3}

#printSynthesis{display:none;}

.save-indicator{font-size:11px; color:#808080; display:flex; align-items:center; gap:5px; white-space:nowrap;}
.save-indicator .dot{width:6px;height:6px; border-radius:50%; background:var(--vert); flex-shrink:0;}
.save-indicator.saving .dot{background:var(--jaune);} 

.storage-meter-wrap{max-width:1200px; margin:10px auto 0; position:relative; z-index:1; display:flex; align-items:center; gap:8px;}
.storage-meter-track{flex:1; height:4px; background:rgba(255,255,255,0.1); border-radius:999px; overflow:hidden;}
.storage-meter-bar{height:100%; width:0%; background:var(--accent-light); border-radius:999px; transition:width .3s ease, background .3s ease;}
.storage-meter-bar.warn{background:var(--jaune);}
.storage-meter-bar.crit{background:var(--rouge);}
.storage-meter-text{font-size:10.5px; color:#808080; white-space:nowrap; flex-shrink:0;}

.snackbar{
  position:fixed; left:50%; bottom:calc(var(--ab-h, 84px) + 16px); transform:translateX(-50%) translateY(20px); z-index:80;
  background:var(--ink); color:#fff; padding:13px 16px; border-radius:var(--radius-sm); box-shadow:var(--ombre-lg);
  display:flex; align-items:center; gap:14px; font-size:13px; font-weight:600; opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, bottom .2s ease; max-width:90vw;
}
.snackbar.show{opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto;}
.snackbar button{background:var(--accent-light); color:#fff; border:none; border-radius:6px; padding:7px 12px; font-family:'Inter',sans-serif; font-weight:700; font-size:12px; cursor:pointer; white-space:nowrap;}
.snackbar button:hover{background:var(--accent);} 
@media (max-width:640px){ .snackbar{bottom:calc(var(--ab-h, 190px) + 12px); max-width:94vw;} }

.weight-settings-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg); margin-bottom:10px;}
.weight-settings-row .lbl{font-size:13.5px; font-weight:600; color:var(--ink);}
.weight-settings-row .lbl .d{display:block; font-size:11.5px; font-weight:400; color:var(--muted); margin-top:2px;}
.weight-settings-row input[type="number"]{width:70px; text-align:center; flex-shrink:0;}
.weight-reset-btn{margin-top:6px;}

.ps-photos-section{margin-top:14px;}
.ps-photos-cat{font-weight:700; font-size:13px; margin:10px 0 6px;}
.ps-photo-grid{display:flex; flex-wrap:wrap; gap:6px;}
.ps-photo-grid img{width:110px; height:110px; object-fit:cover; border-radius:6px; border:1px solid #ccc;}

.photo-input-row{display:flex; gap:8px; flex-wrap:wrap;}

.signature-block{display:flex; flex-direction:column; gap:6px; flex:1; min-width:220px;}
.signature-block .lbl{font-size:12.5px; font-weight:600; color:var(--ink-soft);}
.signature-pad-wrap{position:relative; border:1.5px dashed var(--border); border-radius:var(--radius-sm); background:var(--surface); overflow:hidden;}
.signature-pad-wrap canvas{display:block; width:100%; height:140px; touch-action:none; cursor:crosshair;}
.signature-pad-wrap .sig-placeholder{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:12px; pointer-events:none;}
.signature-clear-btn{align-self:flex-start;}
.signature-alternative{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:12px;line-height:1.35}.signature-alternative input[type=text]{min-height:38px;flex:1;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink)}
.ps-signatures-row{display:flex; gap:16px; flex-wrap:wrap; margin-top:8px;}
.ps-signature-item{flex:1; min-width:200px;}
.ps-signature-item img{max-width:260px; max-height:120px; border:1px solid #ccc; border-radius:6px; display:block;}
.ps-signature-item .ps-sig-label{font-size:11.5px; color:var(--muted); margin-top:4px;}

.ps-integrity{margin-top:18px;}
.ps-integrity-text{font-size:11px; color:var(--muted); line-height:1.6; word-break:break-all;}
.ps-integrity-text code{font-family:'JetBrains Mono',monospace; font-size:10.5px; background:var(--bg); padding:2px 4px; border-radius:4px;}

body.quick-mode .check-item:not(.persona-quick){display:none;}
.quick-mode-banner{display:none; background:var(--surface); border:1.5px solid var(--border); color:var(--ink-soft); border-radius:var(--radius-sm); padding:10px 14px; font-size:12.5px; font-weight:600; margin-bottom:14px;}
body.quick-mode .quick-mode-banner{display:block;}
body.dark.quick-mode .quick-mode-banner{color:var(--ink-soft);}
.usage-scenario-panel{margin:0 0 18px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--ombre-sm);}
.usage-scenario-head h2{margin:4px 0 6px;font:700 22px 'Sora',sans-serif;color:var(--ink);}
.usage-scenario-head>p:last-child{margin:0 0 14px;color:var(--muted);font-size:12.5px;}
.usage-scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.usage-scenario-card{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;min-width:0;padding:13px;border:1.5px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .15s ease;}
.usage-scenario-card:hover{transform:translateY(-1px);border-color:var(--ink-soft);}
.usage-scenario-card:has(input:checked){border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px rgba(200,92,61,.1);}
.usage-scenario-card input{position:absolute;opacity:0;pointer-events:none;}
.usage-scenario-icon{grid-row:1/3;font-size:22px;}
.usage-scenario-card strong{font:700 13px 'Sora',sans-serif;color:var(--ink);}
.usage-scenario-card>span:last-child{color:var(--muted);font-size:10.5px;line-height:1.35;}
@media(max-width:900px){.usage-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.usage-scenario-panel{padding:14px}.usage-scenario-grid{grid-template-columns:1fr}.usage-scenario-card{padding:11px}.usage-scenario-head h2{font-size:19px;}}

/* Sélection progressive : famille, objectif métier, puis profondeur du contrôle. */
.profile-family-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 14px}.profile-family-switch button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:2px 10px;min-height:70px;padding:11px 14px;border:1.5px solid var(--border);border-radius:13px;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer}.profile-family-switch button>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary)}.profile-family-switch strong{font:800 13px 'Sora',sans-serif}.profile-family-switch small{color:var(--muted);font-size:10px}.profile-family-switch button[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}
.usage-scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-scenario-card[hidden]{display:none}.usage-scenario-card{grid-template-columns:52px 1fr;min-height:130px;padding:16px}.usage-scenario-card.is-featured{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.usage-scenario-icon{display:grid;grid-row:1/3;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 20%,var(--surface)),var(--bg))}.usage-scenario-icon img{width:27px;height:27px}.usage-scenario-card .profile-popular{top:8px;right:8px;font-size:7.5px}
.inspection-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--border)}.inspection-mode-selector legend{grid-column:1/-1;padding:0 0 4px;font:800 13px 'Sora',sans-serif;color:var(--ink)}.inspection-mode-selector label{position:relative;cursor:pointer}.inspection-mode-selector input{position:absolute;opacity:0}.inspection-mode-selector span{display:grid;gap:5px;height:100%;min-height:106px;padding:15px;border:1.5px solid var(--border);border-radius:13px;background:var(--bg);transition:border-color .15s ease,transform .15s ease}.inspection-mode-selector label:active span{transform:scale(.99)}.inspection-mode-selector input:checked+span{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}.inspection-mode-selector b{font:800 13px 'Sora',sans-serif}.inspection-mode-selector small{color:var(--ink-soft);font-weight:750}.inspection-mode-selector em{color:var(--muted);font-size:10px;font-style:normal}
@media(max-width:760px){.profile-family-switch,.inspection-mode-selector{grid-template-columns:1fr}.usage-scenario-grid{grid-template-columns:1fr}.usage-scenario-card{min-height:105px}.inspection-mode-selector span{min-height:92px}}

@media (min-width:641px) and (max-width:1024px){
  .grid.cols-3{grid-template-columns:repeat(2,1fr);} 
  main{padding:0 24px;}
  .section-body{padding:20px 24px 26px;}
  details.section summary{padding:17px 24px;}
  .verdict-group{grid-template-columns:repeat(3,1fr); gap:10px;}
}

@media (max-width:640px){
  input[type="text"], input[type="number"], input[type="date"], input[type="datetime-local"], select, textarea{
    font-size:16px;
  }
  .grid.cols-2, .grid.cols-3{grid-template-columns:1fr;}
  .verdict-group{grid-template-columns:1fr;}
  details.section summary{font-size:17px; padding:15px 16px;}
  .section-body{padding:16px 16px 20px;}
  header.app-header{padding:20px 16px 16px;}
  .check-item{flex-direction:column; align-items:stretch;}
  .check-item .label-block{flex:none; min-width:0;}
  .badge-group{width:100%;}
  .badge-group label{flex:1; text-align:center; padding:12px 8px; min-height:44px; display:flex; align-items:center; justify-content:center;}
  .action-bar-inner{flex-direction:column;}
  .btn-secondary, .btn-generate{width:100%;}
  .toolbar-row#toolbarActions{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -16px; padding:0 16px 4px; scrollbar-width:none;}
  .toolbar-row#toolbarActions::-webkit-scrollbar{display:none;}
  .toolbar select{max-width:none; flex:1 1 auto;}
  .geo-row{flex-direction:column; align-items:stretch;}
  .geo-row .btn-mini{width:100%; min-height:44px;}
  .vehicle-selector-bar{flex-direction:column; border-radius:var(--radius-sm);}
  .vstep{border-right:none; border-bottom:1px solid var(--border); min-height:48px;}
  .vstep:last-of-type{border-bottom:none;}
  .vstep-confirm{width:100%; padding:14px; min-height:48px;}
  .vstep{padding:2px 12px;}
  .vstep select{padding:13px 0; min-height:44px;}
  .nav-btn-wrap{justify-content:stretch;}
  .nav-btn{width:100%; justify-content:center; min-height:46px;}
  .icon-btn{min-height:44px;}
  .action-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));}
  .post-report-action-grid{grid-template-columns:1fr;}
  .local-backup-reminder{left:10px;right:10px;bottom:calc(var(--ab-h,90px) + 10px);grid-template-columns:1fr auto;width:auto;}
  .local-backup-reminder>[data-backup-export]{grid-column:1/-1;grid-row:2;}
  .local-backup-reminder .backup-reminder-close{grid-column:2;grid-row:1;}
  body{padding-bottom:calc(var(--ab-h, 210px) + 16px);} 
  .modal{padding:18px; max-height:90vh; border-radius:14px;}
  .modal h2{font-size:22px;}
  .compare-table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
  table.compare-table{min-width:480px;}
  #compareModal{padding:0;align-items:stretch}#compareModal .modal{max-height:100dvh;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));border-radius:0}.compare-pick-list{grid-template-columns:1fr;max-height:240px}.compare-picker-head{align-items:flex-start;flex-direction:column;gap:3px}.compare-summary-grid{grid-template-columns:1fr}.compare-actions{bottom:calc(-1px + env(safe-area-inset-bottom))}.compare-actions .btn-mini{flex:1}.comparison-ready .compare-pick-list{max-height:154px}.compare-table-wrap table.compare-table{min-width:660px}
  .doc-check label{font-size:13px;}
  .score-gauge[data-tooltip]:hover::after{width:220px; right:-40px;}
}

@media print{
  .action-bar, .toolbar, .progress-wrap, .progress-label, header.app-header, .nav-btn-wrap{display:none !important;}
  body{padding-bottom:0; background:#fff; color:#000;}
  details.section{break-inside:avoid; box-shadow:none; border:1px solid #ccc;}
  details.section summary::after{display:none;}
  body.print-summary-mode main > details.section{display:none !important;}
  body.print-summary-mode #printSynthesis{display:block !important;}
  #printSynthesis{padding:0 20px;}
  #printSynthesis h1{font-size:28px; margin-bottom:2px;}
  #printSynthesis .ps-verdict{display:inline-block; padding:8px 18px; border-radius:8px; font-weight:800; font-size:20px; margin:10px 0;}
  #printSynthesis .ps-verdict.achat{background:#E3F5EC; color:#1B8F58;}
  #printSynthesis .ps-verdict.negociation{background:#FDF1D8; color:#B87900;}
  #printSynthesis .ps-verdict.fuir{background:#FBE5E5; color:#C6303A;}
  #printSynthesis table{width:100%; border-collapse:collapse; margin:10px 0;}
  #printSynthesis td, #printSynthesis th{border:1px solid #ccc; padding:6px 8px; font-size:13px; text-align:left;}
  #printSynthesis .ps-issues li{margin-bottom:4px; font-size:13px;}
  #printSynthesis .ps-issues li .ps-w{font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; padding:1px 6px; border-radius:4px; margin-left:6px;}
  #printSynthesis .ps-w.ps-w-vital{background:#FBE5E5; color:#C6303A;}
  #printSynthesis .ps-w.ps-w-chassis{background:#FDF1D8; color:#B87900;}
  #printSynthesis .ps-w.ps-w-esthetique{background:#EEF1F6; color:#5C6780;}
  #printSynthesis .ps-critical{border:1.5px solid #C6303A; background:#FBE5E5; color:#7A1418; border-radius:8px; padding:10px 14px; margin:10px 0; font-size:13px;}
  #printSynthesis .ps-cat-table td:first-child{font-weight:600;}
  #printSynthesis .ps-integrity-text{color:#5C6780;}
  #printSynthesis .ps-integrity-text code{background:#EEF1F6;}
}

.mini-dash{
  position:fixed; z-index:55; right:16px;
  bottom:calc(var(--ab-h, 84px) + 14px);
  display:flex; align-items:center; gap:10px;
  background:var(--surface); color:var(--ink); border:1.5px solid var(--border);
  border-radius:999px; padding:6px 14px 6px 6px; box-shadow:var(--ombre-lg);
  cursor:pointer; user-select:none; max-width:min(78vw, 260px);
  transition:transform .15s ease, box-shadow .15s ease, opacity .2s ease, bottom .2s ease;
  opacity:0; transform:translateY(10px) scale(.95); pointer-events:none;
}
.mini-dash.show{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
.mini-dash:hover{transform:translateY(-2px) scale(1); box-shadow:0 20px 44px rgba(0,0,0,0.35);}
.mini-dash-ring{
  position:relative; width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:conic-gradient(var(--border) 0turn, var(--border) 1turn);
  display:flex; align-items:center; justify-content:center;
}
.mini-dash-ring::before{content:""; position:absolute; inset:3px; border-radius:50%; background:var(--surface);}
.mini-dash-ring span{position:relative; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:11.5px; z-index:1;}
.mini-dash-text{display:flex; flex-direction:column; gap:1px; line-height:1.25; min-width:0;}
.mini-dash-verdict{
  font-family:'Sora',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.02em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.mini-dash-sub{font-size:10.5px; color:var(--muted); font-weight:600; white-space:nowrap;}
.mini-dash-dot{width:8px; height:8px; border-radius:50%; background:var(--border); flex-shrink:0;}
.mini-dash.v-achat .mini-dash-dot{background:var(--vert);}
.mini-dash.v-achat .mini-dash-verdict{color:var(--vert);}
.mini-dash.v-negociation .mini-dash-dot{background:var(--jaune);}
.mini-dash.v-negociation .mini-dash-verdict{color:var(--jaune);}
.mini-dash.v-fuir .mini-dash-dot{background:var(--rouge);}
.mini-dash.v-fuir .mini-dash-verdict{color:var(--rouge);} 
@media (max-width:640px){
  .mini-dash{
    right:10px; bottom:calc(var(--ab-h, 190px) + 10px);
    padding:8px 12px 8px 6px; gap:8px; min-height:44px; max-width:min(66vw, 220px);
  }
  .mini-dash-ring{width:32px; height:32px;}
  .mini-dash-ring span{font-size:10.5px;}
  .mini-dash-verdict{font-size:12.5px;}
  .mini-dash-sub{font-size:10px;}
}
@media (max-width:360px){
  .mini-dash-sub{display:none;}
}
@media print{ .mini-dash{display:none !important;} }
.chat-fab{
  position:fixed; z-index:160; right:max(16px,env(safe-area-inset-right));
  bottom:calc(var(--ab-h, 84px) + 14px + 58px);
  display:flex; align-items:center; gap:8px;
  min-height:52px;background:linear-gradient(135deg,var(--header-1) 0%, var(--accent) 100%); color:#fff; border:1px solid color-mix(in srgb,var(--primary) 58%,transparent);
  border-radius:999px; padding:12px 18px; box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.06); cursor:pointer;
  font-family:'Sora',sans-serif; font-weight:700; font-size:13.5px; letter-spacing:0.02em;
  transition:transform .15s ease, box-shadow .15s ease, bottom .2s ease;
}
.chat-fab .chat-fab-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);font-size:16px;}
.chat-fab-status{position:absolute;top:3px;right:8px;width:10px;height:10px;border:2px solid var(--header-1);border-radius:50%;background:var(--vert);box-shadow:0 0 0 4px color-mix(in srgb,var(--vert) 18%,transparent);animation:assistant-status-pulse 2.2s ease-out infinite}
@keyframes assistant-status-pulse{0%,55%{box-shadow:0 0 0 0 color-mix(in srgb,var(--vert) 42%,transparent)}100%{box-shadow:0 0 0 8px transparent}}
.chat-fab:hover{transform:translateY(-2px); box-shadow:0 20px 44px rgba(0,0,0,0.4);}
.chat-fab:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 58%,transparent);outline-offset:3px}
@media (max-width:640px){
  .chat-fab{
    right:max(10px,env(safe-area-inset-right)); bottom:calc(var(--ab-h, 190px) + 10px + 52px); padding:10px 13px; font-size:12px;
  }
}
@media (prefers-reduced-motion:reduce){.chat-fab-status{animation:none}}
@media print{ .chat-fab{display:none !important;} }
.chat-panel{position:fixed; z-index:70; right:16px; bottom:calc(var(--ab-h, 84px) + 14px); width:min(390px,calc(100vw - 32px)); max-height:calc(100dvh - var(--ab-h, 84px) - 28px); display:flex; flex-direction:column; gap:10px; padding:14px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:var(--ink); box-shadow:var(--ombre-lg);}
.install-app-status{max-width:1200px; min-height:0; margin:8px auto 0; color:#B0B0B0; font-size:11px; position:relative; z-index:1;}
.chat-launcher{position:fixed; z-index:56; left:16px; bottom:calc(var(--ab-h,84px) + 14px); display:flex; align-items:center; gap:7px; border:0; border-radius:999px; padding:11px 15px; background:var(--accent); color:#fff; box-shadow:var(--ombre-lg); font:600 13px 'Inter',sans-serif; cursor:pointer;}
.chat-launcher:hover{background:var(--accent-light);}
.chat-panel[hidden],.inline-assistant[hidden]{display:none;}
.chat-panel header{display:flex; align-items:center; justify-content:space-between; font-family:'Sora',sans-serif; font-size:20px;}
.chat-panel header button,.inline-assistant-close{border:0; background:transparent; color:var(--muted); cursor:pointer; font-size:22px; line-height:1;}
.chat-context,.chat-status{margin:0; color:var(--muted); font-size:11px; line-height:1.4;}
.chat-messages{display:grid; flex:1; gap:8px; overflow-y:auto; min-height:80px; max-height:min(560px,calc(100dvh - var(--ab-h, 84px) - 160px)); padding-right:2px;}
.chat-message{max-width:90%; padding:9px 10px; border-radius:var(--radius-sm); font-size:12.5px; line-height:1.5; white-space:pre-wrap;}
.chat-message ul,.chat-message ol{margin:6px 0 6px 18px; padding:0;}
.chat-message li{margin-bottom:3px;}
.chat-message-user{justify-self:end; background:var(--accent); color:#fff;}
.chat-message-assistant{background:var(--bg); color:var(--ink);}
.chat-message-pending{background:var(--surface); color:var(--ink-soft); border:1px solid var(--border); font-style:italic;}
.chat-message-pending::after{content:' ●●●'; letter-spacing:2px; animation:chat-thinking 1.2s infinite alternate;}
.chat-message-error{background:var(--rouge-fond); color:var(--ink); border:1px solid var(--rouge);}
@keyframes chat-thinking{from{opacity:.25;}to{opacity:1;}}
.chat-panel form{display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end;}
.chat-panel textarea{resize:vertical; min-height:48px;}
.inline-assistant{position:fixed; z-index:80; display:flex; align-items:flex-start; gap:8px; width:min(520px,calc(100vw - 24px)); max-height:min(460px,70vh); padding:12px; background:var(--surface); color:var(--ink); border:1.5px solid var(--accent); border-radius:var(--radius-sm); box-shadow:var(--ombre-lg); font-size:12.5px;}
.inline-assistant-icon{display:flex; align-items:center; justify-content:center; width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:var(--accent); font-size:15px; margin-top:2px;}
.inline-assistant > #inlineAssistantText{flex:1; min-width:0; max-height:min(380px,58vh); overflow:auto; overflow-wrap:anywhere; line-height:1.45;}
.inline-assistant > #inlineAssistantText ul,.inline-assistant > #inlineAssistantText ol{margin:4px 0 4px 16px; padding:0;}
.inline-assistant > #inlineAssistantText li{margin-bottom:3px;}
#inlineAssistantAsk{background:var(--primary); color:#000; border-color:var(--primary);}
#inlineAssistantAsk:hover{background:var(--primary-dark); border-color:var(--primary-dark);}
.nav-btn{background:var(--primary); color:#000;}
.nav-btn:hover{background:var(--primary-dark);}
.btn-generate{background:var(--primary); color:#000; box-shadow:0 8px 22px rgba(251,155,10,0.25);}
.btn-generate:hover{box-shadow:0 12px 28px rgba(251,155,10,0.35);}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
@media print{.chat-panel,.inline-assistant{display:none !important;}}
@media (max-width:640px){.chat-panel{right:8px; bottom:calc(var(--ab-h, 190px) + 10px); width:calc(100vw - 16px); max-height:calc(100dvh - var(--ab-h, 190px) - 20px); padding:12px;}.chat-panel form{grid-template-columns:1fr;}.chat-panel form .btn-mini{width:100%; min-height:44px;}.chat-messages{max-height:min(480px,calc(100dvh - var(--ab-h, 190px) - 180px));}.inline-assistant{left:8px !important; width:calc(100vw - 16px); max-height:min(420px,60vh);}.inline-assistant > #inlineAssistantText{max-height:min(340px,48vh);}.chat-launcher{left:10px; bottom:calc(var(--ab-h,190px) + 10px); padding:10px 12px; font-size:12px;}}

/* Console diagnostic : espace atelier, non conversationnel. */
.diagnostic-workspace{position:fixed;z-index:90;inset:0;display:grid;grid-template-columns:minmax(340px,35%) 1fr;background:#0A0A0A;color:#F5F5F5;overflow:hidden;}
.diagnostic-workspace[hidden]{display:none;}
.diagnostic-console,.diagnostic-report{min-width:0;min-height:0;display:flex;flex-direction:column;}
.diagnostic-console{background:#0F0F0F;border-right:1px solid #2A2A2A;padding:22px;}
.diagnostic-report{background:radial-gradient(circle at 85% 5%,rgba(224,224,224,.12),transparent 28%),#0A0A0A;padding:28px;}
.diagnostic-console-head,.report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #2A2A2A;padding-bottom:18px;}
.diagnostic-workspace h2{margin:3px 0 0;font-family:'Sora',sans-serif;font-size:28px;line-height:1;color:#fff;}
.panel-kicker{margin:0;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;font-weight:700;color:#808080;}
.status-light{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 4px rgba(92,186,143,.12),0 0 12px rgba(92,186,143,.85);}
.panel-close,.report-reset{border:1px solid #2A2A2A;background:#141414;color:#F5F5F5;cursor:pointer;border-radius:7px;font:600 12px 'Inter',sans-serif;}
.panel-close{font-size:25px;line-height:1;padding:3px 9px;color:#808080;}
.report-reset{padding:9px 11px;white-space:nowrap;}
.panel-close:hover,.report-reset:hover{border-color:#E0E0E0;color:#fff;}
.diagnostic-console .chat-context{margin:16px 0 10px;color:#808080;font-size:12px;line-height:1.5;}
.vehicle-readout{font:600 11px 'JetBrains Mono',monospace;color:#B0B0B0;background:#0A0A0A;border:1px solid #2A2A2A;border-left:3px solid #E0E0E0;padding:10px 11px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.diagnostic-workspace .chat-messages{display:grid;align-content:start;gap:10px;min-height:0;max-height:none;flex:1;overflow-y:auto;margin:18px -8px 12px 0;padding:0 8px 0 0;}
.diagnostic-workspace .chat-message{max-width:94%;padding:12px;border:1px solid #2A2A2A;border-radius:8px;background:#141414;color:#F5F5F5;font-size:12.5px;line-height:1.5;white-space:pre-wrap;}
.diagnostic-workspace .chat-message-user{justify-self:end;background:var(--surface);border-color:#E0E0E0;color:#fff;}
.diagnostic-workspace .chat-message-assistant{border-left:3px solid #E0E0E0;}
.diagnostic-workspace .chat-message-pending{background:#1A1A1A;border-color:#2A2A2A;color:#FFFFFF;font-family:'JetBrains Mono',monospace;font-size:11px;}
.diagnostic-workspace .chat-message-error{background:#241312;border-color:#E0584F;color:#F5F5F5;}
.chat-suggestions:empty{display:none;}
.chat-suggestions{display:grid;flex:none;gap:8px;margin:0 0 10px;min-height:0;}
.chat-suggestions-label{margin:0;color:#909090;font:700 10px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;}
.chat-suggestion-list{display:flex;min-width:0;max-height:156px;flex-wrap:wrap;align-content:flex-start;gap:7px;overflow-y:auto;overscroll-behavior:contain;padding:1px 8px 1px 1px;scrollbar-color:#666 #141414;scrollbar-width:thin;}
.chat-suggestion-list::-webkit-scrollbar{width:8px;}
.chat-suggestion-list::-webkit-scrollbar-track{background:#141414;border-radius:999px;}
.chat-suggestion-list::-webkit-scrollbar-thumb{background:#666;border-radius:999px;}
.chat-suggestion-list::-webkit-scrollbar-thumb:hover{background:#909090;}
.chat-suggestion-chip{max-width:100%;border:1px solid #3A3A3A;border-radius:999px;background:#181818;color:#F5F5F5;padding:8px 11px;cursor:pointer;font:600 11.5px 'Inter',sans-serif;line-height:1.25;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease;}
.chat-suggestion-chip:hover,.chat-suggestion-chip:focus-visible{border-color:#FFFFFF;background:#252525;transform:translateY(-1px);outline:none;}
.chat-suggestion-custom{border-style:dashed;color:#D0D0D0;}
.diagnostic-workspace #chatForm{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch;border-top:1px solid #2A2A2A;padding-top:14px;}
.diagnostic-workspace #chatInput{min-height:70px;resize:vertical;background:#0A0A0A;border:1px solid #2A2A2A;color:#F5F5F5;border-radius:7px;padding:11px;font:13px 'Inter',sans-serif;}
.diagnostic-workspace #chatInput::placeholder{color:#808080;}
.analyze-button{min-width:108px;border:0;border-radius:7px;background:#FFFFFF;color:#000000;cursor:pointer;padding:11px;font:800 12px 'Inter',sans-serif;}
.analyze-button:hover{background:#E0E0E0;}.analyze-button:disabled{opacity:.55;cursor:wait;}
.diagnostic-workspace .chat-status{min-height:18px;margin:8px 0 0;color:#808080;font-size:11px;}
.report-content{flex:1;min-height:0;overflow:auto;padding-top:22px;}
.waiting-state{display:grid;place-items:center;align-content:center;min-height:100%;text-align:center;color:#808080;}
.waiting-state h3{margin:10px 0 6px;font:700 25px 'Sora',sans-serif;color:#F5F5F5;}.waiting-state p{max-width:420px;margin:0;line-height:1.5;font-size:13px;}.waiting-kicker{font:700 10px 'JetBrains Mono',monospace!important;letter-spacing:.14em;color:#E0E0E0;}
.radar{width:130px;height:130px;border:1px solid #2A2A2A;border-radius:50%;position:relative;background:repeating-radial-gradient(circle,#0A0A0A 0 1px,transparent 2px 26px);overflow:hidden;}.radar::before,.radar::after{content:"";position:absolute;background:#2A2A2A;opacity:.55;}.radar::before{width:1px;height:100%;left:50%;}.radar::after{height:1px;width:100%;top:50%;}.radar span{position:absolute;inset:-4px 50% 50% -4px;transform-origin:100% 100%;background:conic-gradient(from 90deg,rgba(255,255,255,.55),transparent 28deg);animation:radar-scan 2.7s linear infinite;}@keyframes radar-scan{to{transform:rotate(360deg);}}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:960px;}
.report-summary{grid-column:1/-1;margin:0;color:#FFFFFF;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.14em;}
.report-card{background:#141414;border:1px solid #2A2A2A;border-radius:9px;padding:17px;min-height:110px;}.report-card.full{grid-column:1/-1;}.report-card.fault{border-left:3px solid #E0584F;}.report-card.warning{border-left:3px solid #FFFFFF;}.report-label{margin:0 0 10px;color:#808080;font:700 10px 'JetBrains Mono',monospace;letter-spacing:.13em;}.report-value{margin:0;color:#F5F5F5;font-size:14px;line-height:1.55;}.fault-code{font:700 27px 'JetBrains Mono',monospace!important;color:#E0584F!important;letter-spacing:.04em;}.plan-list{list-style:none;margin:0;padding:0;counter-reset:plan;display:grid;gap:10px;}.plan-list li{counter-increment:plan;color:#F5F5F5;font-size:13px;line-height:1.5;}.plan-list li::before{content:counter(plan,decimal-leading-zero);display:inline-block;margin-right:10px;color:#FFFFFF;font:700 11px 'JetBrains Mono',monospace;}
@media (max-width:800px){.diagnostic-workspace{position:fixed;overflow:auto;grid-template-columns:1fr;grid-template-rows:minmax(52vh,auto) minmax(48vh,auto);}.diagnostic-report{order:1;padding:20px;min-height:52vh;}.diagnostic-console{order:2;border-right:0;border-top:1px solid #2A2A2A;padding:18px;min-height:48vh;}.diagnostic-workspace .chat-messages{max-height:34vh;min-height:160px;}.diagnostic-workspace #chatForm{position:sticky;bottom:0;background:#0F0F0F;}.report-grid{grid-template-columns:1fr;}.report-card.full{grid-column:auto;}.report-head h2,.diagnostic-workspace h2{font-size:24px;}.report-reset{font-size:11px;}.chat-launcher{left:10px;}}
@media print{.diagnostic-workspace{display:none!important;}}

/* Tunnel mobile : chaque ancienne zone fonctionnelle devient une vue autonome. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(88px + env(safe-area-inset-top));scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom));}
body{width:100%;max-width:100%;overscroll-behavior-x:none;-webkit-font-smoothing:antialiased;}
button,a,label,select,input,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
input,select,textarea{max-width:100%;}
.legal-page{display:block;max-width:760px;margin:auto;padding:calc(30px + env(safe-area-inset-top)) 20px calc(40px + env(safe-area-inset-bottom));}.legal-page h1,.legal-page h2{font-family:'Sora',sans-serif}.legal-page p,.legal-page li{line-height:1.65}.legal-page a{color:var(--primary-dark);font-weight:700}
body.wizard-active{min-height:100dvh;overflow-x:hidden;padding-bottom:calc(92px + env(safe-area-inset-bottom));}
.wizard-active > header:not(.wizard-header),
.wizard-active .app-tabbar,
.wizard-active .action-bar,
.wizard-active .actionbar,
.wizard-active .chat-launcher,
.wizard-active .mini-dash{display:none!important;}
.wizard-active.inspection-step-active:not([data-usage-scenario="owner"]) .chat-fab{display:none!important;}
.wizard-active .chat-fab{bottom:calc(88px + env(safe-area-inset-bottom));}
.wizard-header{
  position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;
  min-height:72px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
  background:rgba(10,10,10,.96);color:#fff;border-bottom:1px solid #292929;
  backdrop-filter:blur(14px);
}
.wizard-header[hidden],.wizard-bottom-bar[hidden]{display:none!important;}
.wizard-back{width:48px;height:48px;flex:0 0 48px;border:1px solid #343434;border-radius:50%;background:#171717;color:#fff;font-size:22px;cursor:pointer;}
.home-trigger{order:-2;display:flex;align-items:center;justify-content:center;gap:8px;min-width:96px;min-height:44px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:900;cursor:pointer;white-space:nowrap;}
.home-trigger img{width:22px;height:22px;flex:0 0 22px;}
.home-trigger:hover{border-color:var(--primary);transform:translateY(-1px);}
.home-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:2px;}
.professional-path-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:999px;background:var(--surface);color:var(--ink);font:800 12px 'Sora',sans-serif;cursor:pointer;white-space:nowrap;}
.professional-path-trigger:hover,.professional-path-trigger:focus-visible{border-color:var(--primary);outline:none;transform:translateY(-1px);}
.professional-path-trigger:active{transform:translateY(0) scale(.98);}
.wizard-progress{width:min(620px,100%);margin:auto;}
.wizard-progress p{margin:0 0 7px;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.05em;color:#d0d0d0;}
.wizard-progress-track{height:4px;overflow:hidden;border-radius:999px;background:#303030;}
.wizard-progress-track span{display:block;width:25%;height:100%;border-radius:inherit;background:var(--primary);transition:width .28s ease;}
.wizard-dots{display:flex;gap:6px;margin-top:7px;}
.wizard-dots span{width:18px;height:3px;border-radius:999px;background:#3b3b3b;transition:background .2s ease,transform .2s ease;}
.wizard-dots span.active{background:var(--primary);transform:scaleX(1.08);}
.wizard-active main{display:block;width:100%;max-width:1120px;min-height:calc(100dvh - 164px);margin:0 auto;padding:0 16px;overflow:visible;}
.wizard-root{width:100%;min-width:0;overflow:hidden;}
.wizard-view{width:100%;min-width:0;padding:26px 0 34px;overflow:clip;}
.wizard-view[hidden]{display:none!important;}
.wizard-view.slide-in-forward{animation:wizard-slide-forward .3s cubic-bezier(.22,.8,.32,1) both;}
.wizard-view.slide-in-back{animation:wizard-slide-back .3s cubic-bezier(.22,.8,.32,1) both;}
@keyframes wizard-slide-forward{from{opacity:0;transform:translateX(min(10vw,72px));}to{opacity:1;transform:translateX(0);}}
@keyframes wizard-slide-back{from{opacity:0;transform:translateX(max(-10vw,-72px));}to{opacity:1;transform:translateX(0);}}
@media (prefers-reduced-motion:reduce){.wizard-view.slide-in-forward,.wizard-view.slide-in-back{animation:none;}.wizard-progress-track span{transition:none;}}
@media (max-width:520px){
  .wizard-header{gap:6px;padding-left:max(9px,env(safe-area-inset-left));padding-right:max(9px,env(safe-area-inset-right));}
  .wizard-progress{flex:1 1 auto;min-width:0;margin:0;}
  .wizard-header>button{flex-shrink:0;}
}
@media (max-width:760px){.home-trigger{width:46px;min-width:46px;padding:6px}.home-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home-trigger img{width:24px;height:24px}.professional-path-trigger{min-height:40px;padding-inline:10px;font-size:10px}}
.wizard-view-heading{max-width:780px;margin:0 auto 22px;}
.wizard-view-heading>p{margin:0 0 7px;color:var(--muted);font:700 10px 'JetBrains Mono',monospace;letter-spacing:.14em;}
.wizard-view-heading h1{margin:0;font:700 clamp(25px,5vw,42px)/1.1 'Sora',sans-serif;color:var(--ink);}

/* Accueil : cartes larges, accessibles au pouce. */
.wizard-view[data-wizard-step="1"]{display:grid;align-content:center;min-height:calc(100dvh - 190px);}
.wizard-view[data-wizard-step="1"]>.wizard-view-heading{display:none;}
.wizard-view[data-wizard-step="1"] .usage-scenario-panel{margin:0 auto;width:min(880px,100%);padding:clamp(18px,4vw,38px);}
.wizard-view[data-wizard-step="1"] .usage-scenario-head h2{font-size:clamp(27px,5vw,44px);}
.wizard-view[data-wizard-step="1"] .usage-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.wizard-view[data-wizard-step="1"] .usage-scenario-card{min-height:150px;padding:20px;cursor:pointer;touch-action:manipulation;}
.profile-entry-panel{margin-top:18px;}
.personal-entry>h3,.professional-entry h3{margin:0 0 13px;font:800 16px 'Sora',sans-serif;color:var(--ink);}
.personal-entry-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;}
.personal-entry-card{position:relative;min-width:0;padding:20px;border:1.5px solid var(--border);border-radius:16px;background:var(--bg);color:var(--ink);}
.personal-report-entry{display:grid;grid-template-columns:52px 1fr;gap:5px 13px;align-content:start;}
.entry-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 20%,var(--surface)),var(--bg));}
.entry-icon img{width:27px;height:27px;}
.personal-entry-card h4{margin:2px 0 0;font:800 18px 'Sora',sans-serif;}
.personal-entry-card>p,.personal-entry-card>span:last-child,.professional-entry-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;}
.personal-report-entry>p{grid-column:2;}
.personal-report-choices{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.personal-report-choices .usage-scenario-card{min-height:108px!important;padding:13px!important;grid-template-columns:38px 1fr;}
.personal-report-choices .usage-scenario-icon{width:36px;height:36px;border-radius:10px;}
.personal-report-choices .usage-scenario-icon img{width:21px;height:21px;}
.personal-diagnostic-entry{display:grid!important;grid-template-columns:1fr!important;align-content:start;gap:12px!important;min-height:100%!important;}
.personal-diagnostic-entry .entry-icon{grid-row:auto;}
.personal-diagnostic-entry strong{font:800 18px 'Sora',sans-serif;}
.personal-diagnostic-entry:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent);}
.professional-entry{padding:2px 0;}
.professional-entry-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.professional-entry-head .panel-kicker{margin:0 0 5px;}
.return-personal-trigger{min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--ink);font-weight:750;cursor:pointer;white-space:nowrap;}
.return-personal-trigger:hover,.return-personal-trigger:focus-visible{border-color:var(--primary);outline:none;}
@media (max-width:760px){
  .personal-entry-grid,.personal-report-choices{grid-template-columns:1fr;}
  .personal-entry-card{padding:16px;}
  .personal-report-entry{grid-template-columns:44px 1fr;gap:4px 10px;}
  .entry-icon{width:44px;height:44px;border-radius:12px;}
  .professional-entry-head{display:grid;gap:10px;}
  .return-personal-trigger{width:100%;}
}

/* Identification : on conserve le moteur de sélection historique, sans bruit visuel. */
.wizard-view[data-wizard-step="2"] details.section{max-width:780px;margin:auto;border:0;background:transparent;box-shadow:none;}
.wizard-view[data-wizard-step="2"] details.section>summary{display:none;}
.wizard-view[data-wizard-step="2"] details.section>.section-body{padding:0;}
.wizard-view[data-wizard-step="2"] details.section>.section-body>*{display:none;}
.wizard-view[data-wizard-step="2"] details.section>.section-body>.brand-picker{display:block!important;}
.wizard-view[data-wizard-step="2"] details.section>.section-body>.saved-vehicles-panel{display:block!important;}
.wizard-view[data-wizard-step="2"] details.section>.section-body>.vehicle-selector-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;background:transparent;border:0;}
.wizard-view[data-wizard-step="2"] .vehicle-selector-bar .vstep{display:block;min-width:0;padding:15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);}
.wizard-view[data-wizard-step="2"] #marqueManualWrap,
.wizard-view[data-wizard-step="2"] #modeleManualWrap,
.wizard-view[data-wizard-step="2"] #motorisationManualWrap,
.wizard-view[data-wizard-step="2"] #anneeHint,
.wizard-view[data-wizard-step="2"] #result,
.wizard-view[data-wizard-step="2"] #motorisationHint,
.wizard-view[data-wizard-step="2"] #vehicleIssues{max-width:780px;margin:10px auto 0;}
.wizard-view[data-wizard-step="2"] #vehicleCoreFields{display:grid!important;max-width:780px;margin:14px auto 0!important;}
.wizard-view[data-wizard-step="2"] #result:not(:empty){display:block;padding:10px 12px;border-radius:7px;background:var(--rouge-fond);color:var(--ink);}

/* Galerie de marques : emblèmes locaux, rapide et utilisable hors ligne. */
.brand-picker{max-width:780px;margin:0 auto 22px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--ombre-sm);}
.brand-picker-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:13px;}
.brand-picker-head p{margin:0 0 5px;color:var(--muted);font:800 9px 'JetBrains Mono',monospace;letter-spacing:.16em;}
.brand-picker-head h3{margin:0;color:var(--ink);font:800 clamp(19px,4vw,25px)/1.15 'Sora',sans-serif;}
.brand-picker-count{flex:0 0 auto;color:var(--muted);font:700 10px 'JetBrains Mono',monospace;}
.brand-picker-search{display:flex;align-items:center;gap:9px;min-height:48px;margin-bottom:13px;padding:0 13px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--muted);}
.brand-picker-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent);}
.brand-picker-search input{width:100%;min-width:0;min-height:46px;padding:0;border:0!important;outline:0!important;background:transparent!important;color:var(--ink);box-shadow:none!important;}
.brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;}
.brand-card{display:grid;place-items:center;align-content:center;gap:7px;min-width:0;min-height:104px;padding:10px 7px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#fff 6%),var(--bg));color:var(--ink);cursor:pointer;text-align:center;transition:border-color .16s ease,transform .16s ease,background .16s ease,box-shadow .16s ease;}
.brand-card:hover,.brand-card:focus-visible{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--ombre-sm);outline:none;}
.brand-card:active{transform:scale(.97);}
.brand-card.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent);}
.brand-card strong{display:block;width:100%;overflow:hidden;color:var(--ink);font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;}
.brand-emblem{display:grid;place-items:center;width:55px;height:55px;color:var(--ink);}
.brand-emblem.has-official-logo{position:relative;box-sizing:border-box;padding:6px;border:0;border-radius:10px;background:#f7f7f5;overflow:hidden;contain:layout paint;}
.brand-emblem.has-official-logo img.official-brand-logo{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:contain!important;object-position:center!important;filter:none!important;mix-blend-mode:normal!important;transform:none!important;}
.brand-emblem.has-official-logo.logo-load-failed{background:var(--bg);}
.brand-emblem.has-official-logo.logo-load-failed img{display:none!important;}
.brand-logo-placeholder{border:1px solid var(--border);border-radius:10px;background:var(--bg);font:800 13px/1 'JetBrains Mono',monospace;letter-spacing:.04em;}
.brand-picker-more{width:100%;min-height:48px;margin-top:12px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--ink);font-weight:850;cursor:pointer;}
.brand-picker-more:hover,.brand-picker-more:focus-visible{border-color:var(--primary);outline:none;}
.vehicle-choice-picker{max-width:780px;margin:0 auto 18px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--ombre-sm);scroll-margin-top:100px;}
.vehicle-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;}
.vehicle-choice-card{position:relative;display:grid;place-items:center;align-content:center;gap:7px;min-width:0;min-height:104px;padding:10px 7px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#fff 6%),var(--bg));color:var(--ink);cursor:pointer;text-align:center;transition:border-color .16s ease,transform .16s ease,background .16s ease;}
.vehicle-choice-input{position:absolute;z-index:2;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;}
.vehicle-choice-card:hover,.vehicle-choice-card:focus-visible{border-color:var(--primary);transform:translateY(-1px);outline:none;}
.vehicle-choice-card.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent);}
.vehicle-choice-card .brand-emblem{width:55px;height:55px;}
.vehicle-choice-card strong{display:-webkit-box;width:100%;min-width:0;overflow:hidden;font-size:10px;line-height:1.25;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.vehicle-choice-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:11px;background:color-mix(in srgb,var(--primary) 14%,var(--bg));font-size:24px;}
.vehicle-selector-bar.is-visual-fallback{display:none!important;}
.vehicle-choice-confirm{display:block;width:min(780px,100%);min-height:52px;margin:4px auto 22px;padding:12px 18px;border:1px solid var(--primary);border-radius:12px;background:var(--primary);color:#111;font-weight:900;cursor:pointer;}
.vehicle-choice-confirm[hidden],.vehicle-choice-picker[hidden]{display:none!important;}
.wizard-view[data-wizard-step="2"] details.section>.section-body>.vehicle-choice-picker:not([hidden]),
.wizard-view[data-wizard-step="2"] details.section>.section-body>.vehicle-choice-confirm:not([hidden]){display:block!important;}

/* Identification : garage personnel et comparaison avant achat. */
.saved-vehicles-panel{max-width:780px;margin:0 auto 22px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--ombre-sm);}
.saved-vehicles-panel[hidden],.buyer-comparison[hidden],.buyer-comparison-fields[hidden]{display:none!important;}
.saved-vehicles-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.saved-vehicles-head h2{margin:5px 0 6px;font:800 clamp(20px,4vw,27px)/1.15 'Sora',sans-serif;color:var(--ink);}
.saved-vehicles-head>div>p:last-child{margin:0;color:var(--muted);line-height:1.45;}
.saved-vehicles-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.saved-vehicles-head-actions button{min-height:46px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--ink);font-weight:900;cursor:pointer;white-space:nowrap;}
.saved-vehicles-head-actions [data-add-vehicle]{border-color:var(--primary);background:var(--primary);color:#090909;}
.saved-vehicles-head-actions button:disabled{opacity:.55;cursor:wait;}
.saved-vehicles-body{padding-top:15px;}.saved-vehicles-body[hidden]{display:none!important;}
.saved-vehicles-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;}
.saved-vehicle-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;}
.saved-vehicle-card:hover,.saved-vehicle-card:focus-visible{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--ombre-sm);outline:none;}
.saved-vehicle-card.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--surface));}
.saved-vehicle-card img,.saved-vehicle-placeholder{width:48px;height:48px;border-radius:9px;object-fit:cover;}
.saved-vehicle-placeholder{display:grid;place-items:center;background:var(--surface);font-size:24px;}
.saved-vehicle-card>span:nth-child(2){display:grid;gap:4px;min-width:0;}
.saved-vehicle-card strong,.saved-vehicle-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.saved-vehicle-card strong{font-size:13px;}.saved-vehicle-card small{color:var(--muted);font-size:11px;}
.saved-vehicle-card em{padding:4px 7px;border-radius:999px;background:var(--primary);color:#090909;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase;}
.saved-vehicles-empty{grid-column:1/-1;margin:0;padding:15px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center;}
.buyer-comparison{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
.buyer-comparison-toggle{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--bg);cursor:pointer;}
.buyer-comparison-toggle:has(input:disabled){opacity:.55;cursor:not-allowed;}
.buyer-comparison-toggle input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--primary);}
.buyer-comparison-toggle span{display:grid;gap:3px;}.buyer-comparison-toggle small{color:var(--muted);line-height:1.35;}
.buyer-comparison-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:11px;}
.buyer-comparison-fields label{grid-column:1/-1;font-weight:800;font-size:12px;}
.buyer-comparison-fields select,.buyer-comparison-fields button{min-height:48px;border-radius:9px;}
.buyer-comparison-fields button{padding:10px 15px;border:1px solid var(--primary);background:var(--primary);color:#090909;font-weight:900;cursor:pointer;}
.buyer-comparison-fields button:disabled{opacity:.45;cursor:not-allowed;}

.profile-context-panel{max-width:780px;margin:auto;padding:clamp(18px,4vw,30px);}
.profile-context-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;}
.profile-context-fields[hidden]{display:none!important;}
.profile-context-fields .field{min-width:0;}
.profile-context-fields textarea{min-height:112px;}
.profile-context-intro{color:var(--muted);line-height:1.55;}
.profile-documents{margin:24px 0 0;padding:0;border:0;min-width:0;}.profile-documents legend{padding:0;font:800 15px 'Sora',sans-serif;color:var(--ink);}.profile-documents>p{margin:6px 0 12px;color:var(--muted);font-size:12px;line-height:1.45;}.profile-documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.profile-documents-grid .doc-check{margin:0;min-height:48px;}
.active-profile-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 55%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--ink);font-weight:800;}
.active-profile-chip button{min-height:40px;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--ink);font-weight:850;cursor:pointer;}
.active-profile-chip button:hover,.active-profile-chip button:focus-visible{border-color:var(--primary);outline:none;}
.owner-technical-help{margin:7px 0 0;padding:9px 10px;border-left:3px solid var(--primary);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--ink-soft);font-size:11.5px;line-height:1.5;}
.field>.owner-technical-help{margin:6px 0 9px;}

.advanced-actions-menu{position:relative;}
.common-actions{display:flex;align-items:center;gap:7px}.common-actions .danger{color:var(--rouge)}
.advanced-actions-menu>summary{list-style:none;cursor:pointer;}
.advanced-actions-menu>summary::-webkit-details-marker{display:none;}
.advanced-actions-popover{position:absolute;z-index:75;right:0;top:calc(100% + 8px);display:grid;min-width:220px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--ombre-lg);}
.advanced-actions-popover .icon-btn{width:100%;min-height:44px;border:0;background:transparent;text-align:left;}
.advanced-actions-popover .icon-btn:hover,.advanced-actions-popover .icon-btn:focus-visible{background:var(--bg);}
.advanced-actions-menu:not([open]) .advanced-actions-popover{display:none;}
.technical-tooltip-wrap{position:relative;display:inline-flex;vertical-align:middle}.technical-tooltip{display:inline-grid;place-items:center;width:18px;height:18px;margin:0 0 0 4px;padding:0;border:1px solid var(--primary);border-radius:50%;background:var(--surface);color:var(--primary);font:900 11px/1 'Sora',sans-serif;cursor:pointer}.technical-tooltip:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}.technical-tooltip-popover{position:absolute;z-index:140;left:0;bottom:calc(100% + 9px);width:min(280px,calc(100vw - 34px));padding:11px 12px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:10px;background:var(--surface);box-shadow:var(--ombre-lg);color:var(--ink);font:500 12px/1.5 'Inter',sans-serif}.technical-tooltip-popover[hidden]{display:none}
.post-report-actions{max-width:1080px;margin:0 auto 18px;padding:18px;border:1px solid color-mix(in srgb,var(--vert) 45%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--vert) 7%,var(--surface));}
.post-report-actions[hidden]{display:none;}
.post-report-actions h2{margin:3px 0 6px;font:800 20px 'Sora',sans-serif;}
.post-report-actions>div>p:last-child{margin:0;color:var(--muted);line-height:1.55;}
.post-report-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px;}
.post-report-action-grid button{min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--ink);font-weight:850;cursor:pointer;}
.post-report-action-grid button:hover,.post-report-action-grid button:focus-visible{border-color:var(--primary);}
.local-backup-reminder{position:fixed;z-index:170;right:18px;bottom:calc(var(--ab-h,90px) + 18px);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:min(620px,calc(100vw - 36px));padding:14px;border:1px solid color-mix(in srgb,var(--jaune) 55%,var(--border));border-radius:14px;background:var(--surface);box-shadow:var(--ombre-lg);}
.local-backup-reminder[hidden]{display:none;}
.local-backup-reminder strong{font:800 13px 'Sora',sans-serif;}
.local-backup-reminder p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45;}
.local-backup-reminder button{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--primary);color:#101010;font-weight:850;cursor:pointer;}
.local-backup-reminder .backup-reminder-close{width:44px;padding:0;background:var(--bg);color:var(--ink);font-size:20px;}
.vstep-error{display:none;margin-top:6px;color:var(--rouge);font-size:10px;font-weight:750;line-height:1.35;}
.vstep.step-invalid .vstep-error{display:block;}

/* La console plein écran devient une surface intégrée à la quatrième vue. */
.wizard-expertise-intro,.wizard-checklist{max-width:1080px;margin:0 auto 18px;}
.wizard-active .diagnostic-workspace{position:relative;inset:auto;width:100%;min-height:720px;max-height:none;border:1px solid #292929;border-radius:14px;overflow:hidden;}
.wizard-active .diagnostic-workspace[hidden]{display:none!important;}
.wizard-active .report-content,.wizard-active .report-card,.wizard-active .report-value{max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.wizard-checklist{margin-top:22px;}
.wizard-checklist-heading{margin-bottom:12px;}
.wizard-checklist details{max-width:100%;}
.assistant-after-report{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1080px;margin:24px auto;padding:20px;border:1px solid var(--primary);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface));box-shadow:var(--ombre-sm)}
.assistant-vehicle-gate{max-width:760px;margin:28px auto;padding:26px;border:1px solid var(--primary);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface));box-shadow:var(--ombre-sm)}.assistant-vehicle-gate[hidden]{display:none!important}.assistant-vehicle-gate h2{margin:6px 0 10px;font:800 clamp(24px,4vw,34px)/1.1 'Sora',sans-serif}.assistant-vehicle-gate p:not(.panel-kicker){margin:0;color:var(--muted);line-height:1.6}.assistant-vehicle-gate>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.assistant-vehicle-gate button{min-height:48px;padding:11px 15px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:#090909;font-weight:900;cursor:pointer}.assistant-vehicle-gate button+button{background:var(--surface);color:var(--ink);border-color:var(--border)}
.assistant-after-report[hidden]{display:none!important}.assistant-after-report h2{margin:5px 0 7px;font:800 23px 'Sora',sans-serif}.assistant-after-report p:last-child{margin:0;color:var(--muted);line-height:1.5}.assistant-after-report button{min-width:180px;min-height:48px;padding:11px 15px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:#090909;font-weight:900;cursor:pointer}

.wizard-bottom-bar{
  position:fixed;z-index:110;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:10px;
  padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  border-top:1px solid #292929;background:rgba(10,10,10,.97);backdrop-filter:blur(14px);
}
.wizard-bottom-bar button{width:min(520px,100%);min-height:48px;padding:12px 18px;border-radius:9px;font-weight:800;touch-action:manipulation;}
.wizard-bottom-bar .wizard-primary{background:var(--primary);color:#090909;border:1px solid var(--primary);}
.wizard-bottom-bar .wizard-secondary{width:auto;min-width:112px;background:#202020;color:#fff;border:1px solid #444;}

@media (max-width:800px){
  .wizard-active main{padding:0 10px;}
  .wizard-view{padding-top:18px;}
  .wizard-view[data-wizard-step="1"] .usage-scenario-grid,
  .wizard-view[data-wizard-step="2"] .vehicle-selector-bar,
  .profile-context-fields,.profile-documents-grid{grid-template-columns:1fr;}
  .wizard-view[data-wizard-step="1"]{min-height:auto;}
  .wizard-view[data-wizard-step="1"] .usage-scenario-card{min-height:118px;}
  .wizard-active .diagnostic-workspace{position:relative;inset:auto;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;overflow:visible;border-radius:10px;}
  .wizard-active .diagnostic-console{order:1;min-height:620px;padding:16px;border:0;border-bottom:1px solid #2a2a2a;}
  .wizard-active .diagnostic-report{order:2;min-height:520px;padding:16px;}
  .wizard-active .diagnostic-workspace .chat-messages{max-height:45vh;min-height:220px;}
  .wizard-active .chat-suggestion-list{max-height:142px;}
  .wizard-active .diagnostic-workspace #chatForm{bottom:calc(72px + env(safe-area-inset-bottom));grid-template-columns:1fr;background:#0f0f0f;padding-bottom:8px;}
  .wizard-active .analyze-button{width:100%;min-height:48px;}
  .assistant-after-report{display:grid}.assistant-after-report button{width:100%}
  .wizard-bottom-bar{padding-left:10px;padding-right:10px;}
  .wizard-bottom-bar .wizard-secondary{min-width:52px;width:52px;padding:10px;font-size:0;}
  .wizard-bottom-bar .wizard-secondary::before{content:'←';font-size:20px;}
  .saved-vehicles-head{display:grid;}.saved-vehicles-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}.saved-vehicles-head-actions button{width:100%;white-space:normal;}
  .saved-vehicles-list{grid-template-columns:1fr;}.buyer-comparison-fields{grid-template-columns:1fr;}.buyer-comparison-fields label{grid-column:auto;}
}
@media (max-width:620px){
  .wizard-header{display:flex;flex-wrap:wrap;align-content:center;gap:6px;min-height:auto;padding-top:calc(7px + env(safe-area-inset-top));padding-bottom:7px;}
  .wizard-header .home-trigger,.wizard-header .wizard-back,.wizard-header .settings-trigger,.wizard-header .professional-path-trigger{order:0;}
  .wizard-header .wizard-progress{order:1;flex:1 1 calc(100% - 150px);min-width:115px;}
  .wizard-header .records-trigger,.wizard-header .auth-quick-actions{order:2;}
  .wizard-header .records-trigger{margin-left:auto;}
  .brand-picker{padding:13px 10px;border-radius:13px;}
  .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .vehicle-choice-picker{padding:13px 10px;border-radius:13px;}
  .vehicle-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .vehicle-choice-card{min-height:94px;padding:7px 4px;gap:7px;}
  .vehicle-choice-card .brand-emblem{width:48px;height:48px;}
  .vehicle-choice-icon{width:48px;height:48px;font-size:21px;}
  .brand-card{min-height:94px;padding:7px 4px;border-radius:10px;}
  .brand-emblem{width:48px;height:48px;}
  .brand-card strong{font-size:9px;}
  .wizard-view[data-wizard-step="2"] .vehicle-selector-bar .vstep{padding:12px;}
  input,select,textarea{font-size:16px!important;}
}
@media (max-width:767px){.wizard-active.inspection-step-active .wizard-expertise-intro{display:none}.wizard-active.inspection-step-active .wizard-checklist{margin-top:0}}
@media (max-width:380px){.wizard-header{padding-left:9px;padding-right:9px;}.wizard-back{width:44px;height:44px;flex-basis:44px;}.wizard-active main{padding:0 7px;}}
@supports (-webkit-touch-callout:none){
  body.wizard-active{min-height:-webkit-fill-available;}
  .wizard-active main{min-height:calc(100svh - 164px);}
  .wizard-view[data-wizard-step="1"]{min-height:calc(100svh - 190px);}
  .wizard-header,.wizard-bottom-bar{-webkit-backdrop-filter:blur(14px);}
  input,textarea,select{border-radius:10px;}
}
@media print{.wizard-header,.wizard-bottom-bar,.wizard-view-heading,.wizard-expertise-intro{display:none!important;}body.wizard-active{padding:0;}.wizard-active main{max-width:none;padding:0;}}
