:root{
  --bg:#02070d;--bg2:#06111c;--panel:#081622;--panel2:#0b1c2b;
  --line:#163650;--line2:#245a80;--text:#f4f8fc;--muted:#8ba2b5;
  --blue:#168dff;--cyan:#5dc9ff;--red:#ff334d;--gold:#f1c331;--green:#38d58f;--orange:#ffae45;
  --shadow:0 18px 55px rgba(0,0,0,.36);--radius:12px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
html{overflow-y:auto}body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(circle at 52% -15%,#0d263b 0,#06111d 34%,#02070d 68%);font-size:14px;overflow-x:hidden}
button,input,select,textarea{font:inherit}button{color:inherit}.hidden{display:none!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

/* Démarrage / connexion */
.legacy-splash{position:fixed;inset:0;z-index:2000;background:#02060d;overflow:hidden}.legacy-splash-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.legacy-splash-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,5,12,.2) 52%,rgba(0,6,14,.8))}.legacy-splash-ui{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);width:min(520px,75vw);text-align:center}.legacy-splash-brand{display:flex;align-items:baseline;justify-content:center;gap:5px;text-shadow:0 8px 28px #000}.legacy-splash-brand strong,.legacy-splash-brand b{font-size:32px;font-style:italic;letter-spacing:-1.7px}.legacy-splash-brand b{color:var(--blue)}.legacy-splash-brand small{margin-left:10px;color:#a7bbca;font-size:10px;letter-spacing:1.5px}.legacy-loading{height:3px;margin-top:16px;border-radius:5px;background:#17304a;overflow:hidden}.legacy-loading i{display:block;width:4%;height:100%;background:linear-gradient(90deg,var(--red),var(--blue),var(--cyan));box-shadow:0 0 15px var(--blue);transition:width .12s linear}.legacy-skip-intro{position:absolute;right:24px;bottom:22px;border:1px solid #315d7a;background:rgba(3,14,25,.68);color:#dbeeff;border-radius:9px;padding:9px 15px;cursor:pointer}
.boot{position:fixed;inset:0;z-index:1500;display:grid;place-content:center;text-align:center;background:#03080e}.boot-mark{font-size:38px;font-weight:900;font-style:italic;letter-spacing:-2px}.boot-mark b{color:var(--blue)}.boot-line{width:270px;height:3px;margin:23px auto 12px;border-radius:3px;background:#142b40;overflow:hidden}.boot-line i{display:block;width:42%;height:100%;background:linear-gradient(90deg,var(--red),var(--blue),var(--cyan));animation:loading 1s infinite}.boot p{font-size:10px;letter-spacing:2px;color:var(--muted)}@keyframes loading{from{transform:translateX(-120%)}to{transform:translateX(300%)}}
.glass{background:linear-gradient(145deg,rgba(13,32,49,.98),rgba(5,15,25,.99));border:1px solid var(--line2);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.auth{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 25%,rgba(22,141,255,.18),transparent 34%),rgba(2,7,13,.97)}.auth-card{width:min(430px,95vw);padding:34px;border-radius:20px}.brand-large strong,.brand-large b{font-size:36px}.auth-card h1{margin:30px 0 8px}.auth-card>p,.auth-note{color:var(--muted)}.auth-card label,.modal-card label,.field-label{display:block;color:#a9bac8;font-size:12px;font-weight:700;margin-top:14px}.auth-card input,.modal-card input,.field-label input,.field-label textarea,.field-label select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;background:#071522;color:#fff;padding:11px 12px}

/* Barre principale */
.app{min-height:100vh}.topbar{height:64px;display:flex;align-items:center;gap:14px;padding:0 20px;position:sticky;top:0;z-index:100;background:linear-gradient(180deg,rgba(3,9,15,.99),rgba(4,12,20,.97));border-bottom:1px solid #173650;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.brand{border:0;background:transparent;display:grid;grid-template-columns:auto auto;line-height:.9;text-align:left;min-width:190px;padding:0;cursor:pointer}.brand strong,.brand b{font-size:25px;font-style:italic;font-weight:900;letter-spacing:-1.7px}.brand b{color:var(--blue)}.brand small{grid-column:1/3;margin-top:5px;font-size:9px;letter-spacing:.8px;color:#95aabc}.topnav{height:100%;display:flex;align-items:stretch;gap:2px;flex:1;min-width:0}.nav{height:100%;border:0;background:transparent;color:#a0afbb;padding:0 13px;cursor:pointer;white-space:nowrap;position:relative}.nav:hover,.nav.active{color:#fff}.nav.active{background:linear-gradient(180deg,rgba(17,78,124,.11),rgba(9,35,56,.22))}.nav.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 12px var(--blue)}.utilities{display:flex;gap:6px}.utility{height:40px;border:1px solid #18364c;border-radius:9px;background:#07131e;color:#a9bac8;display:flex;align-items:center;gap:6px;padding:0 10px;cursor:pointer}.utility:hover{border-color:#2b6e9c;color:#fff}.utility.token span{color:var(--gold)}.utility b{min-width:21px;padding:3px 6px;border-radius:20px;background:#173751;color:#8fd6ff}.utility em{font-style:normal;font-size:12px}

#pages{min-height:calc(100vh - 64px)}.page{display:none;min-height:calc(100vh - 64px)}.page.active{display:block}.dashboard.active{display:grid;grid-template-rows:66px minmax(430px,1fr) 180px;min-height:calc(100vh - 64px)}

/* Onglets moteur/boîte/immo/dtc */
.modebar{display:grid;grid-template-columns:repeat(4,minmax(150px,220px)) 1fr;gap:8px;padding:8px 20px;border-bottom:1px solid #143149;background:linear-gradient(180deg,#06121e,#050e18)}.mode{border:1px solid #183a54;border-radius:10px;background:linear-gradient(145deg,#0a1a29,#07131f);display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;text-align:left}.mode-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:#bdd1df;font-size:21px}.mode b{display:block;font-size:13px}.mode small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.mode:hover{border-color:#2e729e}.mode.active{border-color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue),0 0 20px rgba(22,141,255,.12);background:radial-gradient(circle at 40% 120%,rgba(22,141,255,.28),transparent 60%),#081725}.mode[data-mode="engine"].active{border-color:var(--red);box-shadow:inset 0 -2px 0 var(--red),0 0 20px rgba(255,51,77,.12);background:radial-gradient(circle at 40% 120%,rgba(255,51,77,.22),transparent 60%),#0b1722}.mode[data-mode="engine"].active .mode-icon{color:var(--red);text-shadow:0 0 12px rgba(255,51,77,.6)}.mode:not([data-mode="engine"]).active .mode-icon{color:var(--cyan);text-shadow:0 0 12px rgba(22,141,255,.55)}.system-state{justify-self:end;align-self:center;color:var(--muted);font-size:10px;display:flex;align-items:center;gap:7px}.system-state i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}

/* Zone de travail */
.workbench{display:grid;grid-template-columns:1.1fr .98fr 1.02fr;gap:10px;padding:10px 18px;min-height:0}.panel,.content-card{background:linear-gradient(145deg,rgba(9,27,42,.98),rgba(5,15,25,.99));border:1px solid #173a55;border-radius:var(--radius);box-shadow:inset 0 1px rgba(113,199,255,.035),0 12px 32px rgba(0,0,0,.2)}.panel{padding:12px;min-width:0;min-height:0}.panel-title{height:37px;display:flex;justify-content:space-between;align-items:flex-start}.panel-title h2{font-size:15px;margin:1px 0}.eyebrow{display:block;font-size:8px;letter-spacing:1.3px;color:#48b3ff;font-weight:900}.count,.proof{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:4px 8px}.icon-btn{border:1px solid var(--line);border-radius:7px;background:#0a1e2e;color:#9cc7e4;cursor:pointer}

/* Constructeurs */
.searchbox,.big-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#06131f}.searchbox span,.big-search span{font-size:20px;color:#63c1ff}.searchbox input,.big-search input{flex:1;min-width:0;border:0;background:transparent;color:#fff}.searchbox button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:18px}.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(68px,1fr));gap:6px;height:calc(100% - 91px);padding:7px 0 4px}.brand-tile{position:relative;border:1px solid #173b56;border-radius:8px;background:linear-gradient(145deg,#0a1b2a,#06131f);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px;cursor:pointer;min-width:0}.brand-tile:hover{border-color:#2a75a6;transform:translateY(-1px)}.brand-tile.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px rgba(62,180,255,.3),0 0 17px rgba(22,141,255,.16);background:radial-gradient(circle at 50% 120%,rgba(22,141,255,.28),transparent 60%),#081827}.brand-tile.selected:after{content:"✓";position:absolute;right:5px;top:5px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--blue));font-size:9px}.brand-tile img{max-width:74px;max-height:38px;object-fit:contain;filter:drop-shadow(0 4px 6px #000)}.brand-tile span{max-width:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-initial{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#123551;color:#76caff;font-weight:900}.pager{height:22px;display:flex;justify-content:center;align-items:center;gap:13px;color:var(--muted);font-size:9px}.pager button{width:30px;height:22px;border:1px solid var(--line);border-radius:6px;background:#0b2234;color:#a5cae4;cursor:pointer}

/* Sélection véhicule */
.selector-stack{display:grid;gap:6px}.selector-stack label{height:45px;border:1px solid #173951;border-radius:8px;background:#06131f;display:grid;grid-template-columns:132px 1fr;align-items:center;padding:0 8px}.selector-stack label>span{display:flex;align-items:center;gap:7px;color:#b7c6d2;font-size:9px}.selector-stack i{font-style:normal;width:21px;height:21px;display:grid;place-items:center;border-radius:6px;background:#0d4169;color:#67c8ff;font-size:9px;font-weight:900}.selector-stack select{width:100%;min-width:0;border:0;background:#06131f;color:#f5f8fb;font-size:11px;padding:7px;border-radius:6px}.selector-stack select:disabled{color:#63788a}.selector-stack select option{background:#0a1a28!important;color:#f5f8fb!important}.dropzone{min-height:92px;margin-top:8px;border:1px dashed #2b6c96;border-radius:9px;background:linear-gradient(145deg,#071522,#091d2c);display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}.dropzone:hover,.dropzone.drag{border-color:var(--cyan);background:#0a2235}.upload-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,#0b5792,#118ef0);display:grid;place-items:center;font-size:24px}.dropzone b{display:block;font-size:11px}.dropzone small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.detect-state{display:flex;align-items:center;gap:7px;margin-top:7px;min-height:18px;color:var(--muted);font-size:9px;overflow:hidden}.detect-state span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detect-state i{width:7px;height:7px;border-radius:50%;background:#506a7d;flex:none}.detect-state.exact i{background:var(--green);box-shadow:0 0 8px var(--green)}.detect-state.warn i{background:var(--orange);box-shadow:0 0 8px rgba(255,174,69,.35)}

/* Solutions */
.solution-tabs{height:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#06131f}.solution-tabs button{border:0;border-radius:6px;background:transparent;color:#8fa4b6;font-size:10px;cursor:pointer}.solution-tabs button.active{color:#fff;background:#0c2d48;box-shadow:inset 0 -2px 0 var(--blue)}.solution-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(58px,1fr);gap:6px;padding-top:8px}.solution-card{min-height:58px;border:1px solid #173a54;border-radius:8px;background:linear-gradient(145deg,#0a1b2a,#06131f);display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:8px;padding:7px 9px;text-align:left;cursor:pointer}.solution-card:hover{border-color:#2d719d}.solution-card.available{border-color:#236995}.solution-card.selected{border-color:var(--blue);box-shadow:0 0 16px rgba(22,141,255,.15),inset 0 0 0 1px rgba(86,196,255,.18)}.solution-card b{display:block;font-size:11px}.solution-card small{display:block;margin-top:3px;color:#788e9f;font-size:8px}.state-dot{width:7px;height:7px;border-radius:50%;background:#40647e}.solution-card.available .state-dot{background:var(--green);box-shadow:0 0 7px var(--green)}.sol-icon{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border-radius:50%;border:1px solid #28638d;background:radial-gradient(circle at 35% 30%,rgba(66,181,255,.18),rgba(4,16,28,.95));color:#a7dfff}.sol-icon img{width:29px;height:29px;display:block;filter:drop-shadow(0 0 4px rgba(34,158,255,.45))}.solution-card.unavailable .sol-icon{opacity:.72}.solution-card.unavailable .sol-icon img{opacity:.66}.solution-card.selected .sol-icon{background:linear-gradient(145deg,#0874d9,#1aa4ff);border-color:#87d9ff}.solution-empty{display:none;padding:20px;color:var(--muted);text-align:center}.solution-empty:not(.hidden):only-child{display:block}

/* Panneau véhicule */
.vehicle-dock{min-height:180px;margin:0 18px 12px;display:grid;grid-template-columns:31% 24% 15% 17% 13%;border:1px solid #168fff;border-radius:11px;overflow:hidden;background:linear-gradient(96deg,#040d15,#071a2b 52%,#05111c);box-shadow:0 0 25px rgba(0,124,255,.14),inset 0 1px rgba(99,199,255,.11)}.vehicle-dock>*{min-width:0}.car-stage{position:relative;min-height:180px;overflow:hidden;background:radial-gradient(ellipse at 45% 90%,rgba(17,129,255,.28),transparent 55%),linear-gradient(120deg,#061421,#071d31)}.car-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 43%,rgba(22,141,255,.16) 43.4%,transparent 44%),linear-gradient(115deg,transparent 67%,rgba(255,51,77,.11) 67.4%,transparent 68%);z-index:2;pointer-events:none}.car-stage:after{content:"";position:absolute;left:0;right:0;top:0;height:40%;background:linear-gradient(180deg,rgba(2,8,14,.9),transparent);z-index:3;pointer-events:none}.car-orbit{position:absolute;left:5%;right:5%;bottom:3px;height:34px;border:2px solid rgba(37,151,255,.65);border-radius:50%;filter:drop-shadow(0 0 10px #087aff);transform:perspective(320px) rotateX(69deg);z-index:1}.car-orbit:after{content:"";position:absolute;inset:-4px 20%;border:1px solid rgba(255,51,77,.46);border-radius:50%;filter:drop-shadow(0 0 7px rgba(255,51,77,.6))}.vehicle-image{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(1.02) contrast(1.06)}.vehicle-image-empty{position:absolute;inset:0;z-index:4;display:grid;place-content:center;text-align:center}.vehicle-image-empty span,.vehicle-image-empty b{font-size:20px;font-weight:900;font-style:italic}.vehicle-image-empty b{color:var(--blue)}.vehicle-image-empty small{color:#68869b;font-size:9px;margin-top:5px}.vehicle-identity{display:flex;align-items:center;gap:10px;padding:12px;border-left:1px solid #15364e}.dock-logo{width:58px;height:58px;display:grid;place-items:center;flex:none}.dock-logo img{max-width:56px;max-height:56px;filter:drop-shadow(0 5px 8px #000)}.vehicle-identity small,.dock-info small{display:block;color:#72899b;font-size:8px;font-weight:800;letter-spacing:.6px}.vehicle-identity h2{margin:4px 0 2px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-identity p{margin:0;color:#52b9ff;font-size:11px}.dock-info{display:flex;flex-direction:column;justify-content:center;padding:11px;border-left:1px solid #15364e}.dock-info b{margin:6px 0 4px;font-size:11px;color:#63c5ff}.dock-info span{color:#8ba2b4;font-size:8px;line-height:1.35}.chips{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}.chips span{border:1px solid #214965;border-radius:5px;padding:3px 5px;color:#dcebf7;font-size:8px}.process-btn{margin:10px;border:1px solid #44b7ff;border-radius:9px;background:linear-gradient(135deg,#0872da,#168dff 62%,#35b1ff);box-shadow:0 0 20px rgba(0,130,255,.22);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;cursor:pointer}.process-btn:disabled{opacity:.38;cursor:not-allowed}.process-btn span{font-size:12px;font-weight:800}.process-btn b{position:absolute;visibility:hidden}.process-btn small{margin-top:5px;font-size:8px;color:#d3e9f8}

/* Pages secondaires */
.content-page{padding:24px;overflow:auto}.content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.content-head h1{margin:3px 0 4px;font-size:28px}.content-head p{margin:0;color:var(--muted)}.content-card{padding:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.step-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.step-cards article{padding:18px;border:1px solid var(--line);border-radius:11px;background:#081824}.step-cards i{font-style:normal;color:var(--blue);font-weight:900}.step-cards b{display:block;margin:9px 0 4px}.step-cards p{color:var(--muted);font-size:11px}.primary,.secondary,.danger{border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:800}.primary{border:1px solid #4ab8ff;background:linear-gradient(135deg,#0872da,#168dff);color:#fff}.secondary{border:1px solid #285b7c;background:#0a2133;color:#cae5f7}.danger{border:1px solid #8f3040;background:#39131a;color:#ff9eac}.wide{width:100%;margin-top:18px}.button-row{display:flex;gap:8px;margin-top:12px}.result-list{margin-top:12px;display:grid;gap:8px}.result-row,.file-card{border:1px solid var(--line);border-radius:9px;background:#071621;padding:12px}.empty-list,.centered-empty{color:var(--muted);text-align:center}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.file-card header{display:flex;justify-content:space-between;gap:10px}.file-card h3{margin:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;color:var(--muted);font-size:9px}.file-actions{display:flex;gap:6px;margin-top:10px}.file-actions button,.file-actions a{border:1px solid var(--line);border-radius:6px;background:#0a2133;color:#cce8fa;padding:7px 9px;text-decoration:none;cursor:pointer}.balance-card{display:flex;align-items:baseline;gap:6px;border:1px solid var(--line);border-radius:10px;background:#0a1d2b;padding:10px 16px}.balance-card span{color:var(--gold)}.balance-card b{font-size:24px}.packs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.packs button{height:60px;border:1px solid var(--line);border-radius:8px;background:#091d2d;color:#78ccff;font-size:18px;font-weight:900;cursor:pointer}.muted{color:var(--muted);font-size:10px}.account-panel{display:flex;align-items:center;gap:15px}.avatar{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,var(--red),var(--blue));display:grid;place-items:center;font-weight:900}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.setting-card{display:flex;align-items:center;justify-content:space-between}.setting-card p{color:var(--muted);font-size:10px}.switch input{display:none}.switch span{display:block;width:43px;height:24px;border-radius:20px;background:#263a49;position:relative}.switch span:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.switch input:checked+span{background:var(--blue)}.switch input:checked+span:after{left:22px}.status-pill{border-radius:20px;padding:5px 8px;font-size:9px}.status-pill.ok{background:#103b2f;color:#67e4b0}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.stat-card{border:1px solid var(--line);border-radius:9px;background:#071723;padding:13px}.stat-card b{font-size:21px;color:#67c2ff}.stat-card span{display:block;color:var(--muted);font-size:8px;margin-top:4px}.admin-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.admin-tools a{border:1px solid var(--line);border-radius:10px;background:#081a29;padding:16px;text-decoration:none;color:#fff}.admin-tools a:hover{border-color:var(--blue)}.admin-tools span{display:block;color:var(--muted);font-size:9px;margin-top:4px}.dtc-config{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;background:rgba(1,6,11,.82);backdrop-filter:blur(7px)}.modal-card{width:min(430px,94vw);padding:27px;border-radius:17px;position:relative}.modal-close{position:absolute;right:12px;top:9px;border:0;background:transparent;color:#93a8b9;font-size:25px;cursor:pointer}.toast{position:fixed;right:18px;bottom:18px;z-index:1400;max-width:430px;padding:12px 15px;border-radius:9px;background:#0b2436;border:1px solid #2a75a2;box-shadow:var(--shadow);font-size:11px}.toast.error{border-color:#8b3442;background:#32131b}.toast.ok{border-color:#2b765b;background:#0d3025}

/* Portable / faible hauteur : rien ne doit être inaccessible */
@media(max-height:820px) and (min-width:901px){.topbar{height:58px}.brand strong,.brand b{font-size:22px}#pages,.page{min-height:calc(100vh - 58px)}.dashboard.active{grid-template-rows:60px minmax(405px,1fr) 148px;min-height:calc(100vh - 58px)}.modebar{padding:6px 18px}.mode{padding:6px 12px}.mode-icon{width:31px;height:31px}.workbench{padding:8px 14px;gap:8px}.panel{padding:10px}.brand-grid{grid-template-rows:repeat(4,minmax(58px,1fr))}.brand-tile img{max-height:32px}.selector-stack label{height:40px}.dropzone{min-height:68px}.solution-grid{grid-auto-rows:52px;gap:5px}.solution-card{min-height:52px}.sol-icon{width:34px;height:34px;min-width:34px}.sol-icon img{width:26px;height:26px}.vehicle-dock,.car-stage{min-height:148px}.vehicle-identity h2{font-size:17px}}
@media(max-width:1180px){.topbar{padding:0 12px}.brand{min-width:160px}.nav{padding:0 8px;font-size:11px}.utility em{display:none}.workbench{grid-template-columns:1.08fr .95fr 1fr}.vehicle-dock{grid-template-columns:29% 24% 16% 17% 14%}}
@media(max-width:900px){.topbar{position:sticky;height:auto;min-height:62px;flex-wrap:wrap;padding:8px 10px}.brand{min-width:150px}.topnav{order:3;width:100%;overflow-x:auto;height:44px}.utilities{margin-left:auto}.dashboard.active{display:block;min-height:auto}.modebar{grid-template-columns:repeat(4,minmax(125px,1fr));overflow-x:auto;position:sticky;top:106px;z-index:40}.system-state{display:none}.workbench{grid-template-columns:1fr}.panel{min-height:420px}.vehicle-dock{grid-template-columns:1fr 1fr;margin-top:10px}.car-stage{min-height:190px}.process-btn{min-height:100px}.two-col,.settings-grid,.admin-tools{grid-template-columns:1fr}.step-cards{grid-template-columns:1fr 1fr}.content-page{padding:14px}}

/* V2.9.2 — composition plein écran calée sur la maquette validée */
html,body{width:100%;height:100%;min-height:0;overflow:hidden}body{font-size:14px}.app{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.topbar{position:relative;top:auto;flex:0 0 64px;height:64px;min-height:0;flex-wrap:nowrap}.brand b,.legacy-splash-brand b,.boot-mark b{color:var(--red)}.nav.active:after{background:linear-gradient(90deg,var(--red),#ff6c73);box-shadow:0 0 13px var(--red)}
#pages{height:calc(100dvh - 64px);min-height:0;overflow:hidden;flex:1}.page{height:100%;min-height:0;overflow:hidden}.content-page.active{overflow:auto}.dashboard.active{display:grid;height:100%;min-height:0;grid-template-columns:minmax(0,1.28fr) minmax(0,.96fr) minmax(280px,1fr);grid-template-rows:clamp(88px,12vh,112px) minmax(0,1fr) clamp(158px,20.5vh,188px)}
.modebar{grid-column:1/3;grid-row:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 8px 8px 16px;border:0;background:transparent;overflow:hidden;position:relative;top:auto}.mode{min-width:0;padding:10px 14px}.mode-icon{width:44px;height:44px;flex:none;border:1px solid #294d67;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.06),rgba(4,13,22,.85))}.mode-icon img{width:30px;height:30px;display:block}.mode[data-mode="engine"] .mode-icon{color:var(--red);border-color:#7a2635}.mode[data-mode="gearbox"] .mode-icon{color:#5ebcff}.mode[data-mode="immo"] .mode-icon{color:#4bd77a}.mode[data-mode="dtc"] .mode-icon{color:var(--orange)}.mode b{font-size:14px}.mode small{font-size:9px}.system-state{display:none}
.workbench{display:contents;padding:0}.panel{min-height:0;overflow:hidden}.brands-panel{grid-column:1;grid-row:2;margin:8px 5px 10px 16px}.selector-panel{grid-column:2;grid-row:2;margin:8px 8px 10px 5px}.brands-panel,.selector-panel{padding:12px}.panel-title{height:37px}.brand-grid{height:calc(100% - 99px);grid-template-rows:repeat(3,minmax(0,1fr));padding:7px 0 4px}.brand-tile{min-height:0}.selector-stack i{border:1px solid var(--red);border-radius:50%;background:rgba(255,51,77,.08);color:#ff6373}.dropzone{min-height:clamp(64px,11vh,92px)}
.solutions-panel{grid-column:3;grid-row:1/3;margin:16px 16px 10px 8px;padding:8px;display:grid;grid-template-rows:minmax(226px,1.9fr) minmax(78px,.7fr) minmax(72px,.62fr) minmax(72px,.62fr);gap:8px;background:linear-gradient(145deg,rgba(7,20,32,.99),rgba(3,11,19,.99))}.solution-group{--solution-accent:var(--red);min-height:0;padding:7px 8px 8px;border:1px solid #173447;border-radius:9px;background:linear-gradient(145deg,rgba(8,24,37,.97),rgba(4,15,24,.98));box-shadow:inset 2px 0 0 color-mix(in srgb,var(--solution-accent) 82%,transparent)}.solution-group[data-solution-group="gearbox"]{--solution-accent:#168dff}.solution-group[data-solution-group="immo"]{--solution-accent:#38d55a}.solution-group[data-solution-group="dtc"]{--solution-accent:#ff9d2f}.solution-group.active{border-color:color-mix(in srgb,var(--solution-accent) 55%,#173447);box-shadow:inset 2px 0 0 var(--solution-accent),0 0 17px color-mix(in srgb,var(--solution-accent) 12%,transparent)}.solution-group-head{height:26px;display:flex;align-items:center;gap:8px;min-width:0}.solution-group-head h2{margin:0;min-width:0;flex:1;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solution-group-mark{width:26px;height:26px;display:grid;place-items:center;color:var(--solution-accent);border-radius:6px}.solution-group-mark img{width:23px;height:23px}.solution-group .proof{font-size:8px;padding:3px 6px;white-space:nowrap}.solution-grid{height:calc(100% - 26px);padding-top:6px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);gap:6px}.solution-card{height:100%;min-height:0;grid-template-columns:36px minmax(0,1fr) 7px;gap:7px;padding:5px 7px;border-color:#173447;background:linear-gradient(145deg,#0a1b29,#06121c)}.solution-card:hover{border-color:color-mix(in srgb,var(--solution-accent) 65%,#2d719d)}.solution-card.available{border-color:color-mix(in srgb,var(--solution-accent) 48%,#236995)}.solution-card.selected{border-color:var(--solution-accent);box-shadow:0 0 15px color-mix(in srgb,var(--solution-accent) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--solution-accent) 24%,transparent)}.solution-card b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solution-card small{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sol-icon{width:33px;height:33px;min-width:33px;color:#eaf4fb;border-color:color-mix(in srgb,var(--solution-accent) 58%,#28638d)}.sol-icon img{width:25px;height:25px}.solution-card.selected .sol-icon{background:color-mix(in srgb,var(--solution-accent) 78%,#071522);border-color:#eaf6ff}.solution-card.available .state-dot{background:var(--solution-accent);box-shadow:0 0 7px var(--solution-accent)}
.vehicle-dock{position:relative;grid-column:1/4;grid-row:3;align-self:start;height:calc(100% - 12px);min-height:0;margin:0 16px 12px;grid-template-columns:29% 24% 15% 18% 14%;border:1px solid transparent;border-radius:11px;background:linear-gradient(96deg,#060d14,#071725 52%,#05101a) padding-box,linear-gradient(90deg,var(--red),#9b345a 27%,#168dff 78%,#5dc9ff) border-box;box-shadow:-7px 0 22px rgba(255,51,77,.15),7px 0 24px rgba(22,141,255,.18),inset 0 1px rgba(255,255,255,.05)}.car-stage{height:100%;min-height:0;background:radial-gradient(ellipse at 45% 92%,rgba(255,51,77,.22),transparent 55%),linear-gradient(120deg,#090f16,#071827)}.car-stage:before{z-index:3;background:linear-gradient(115deg,transparent 37%,rgba(255,51,77,.13) 37.4%,transparent 38%),linear-gradient(115deg,transparent 68%,rgba(22,141,255,.16) 68.4%,transparent 69%)}.car-stage:after{inset:0;height:auto;z-index:4;background:linear-gradient(90deg,transparent 0,transparent 65%,rgba(6,14,22,.6) 82%,#071521 100%),linear-gradient(180deg,rgba(2,8,14,.72),transparent 38%,rgba(3,9,15,.08));pointer-events:none}.car-stage.has-vehicle .car-orbit{opacity:0}.vehicle-image{inset:50% auto auto 50%;width:100%;height:100%;object-fit:contain;object-position:center;transform:translate(-50%,-50%) scale(1.28);transform-origin:center;filter:saturate(1.05) contrast(1.08);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 77%,rgba(0,0,0,.9) 84%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 77%,rgba(0,0,0,.9) 84%,transparent 100%)}.vehicle-identity,.dock-info{position:relative;z-index:5;background:linear-gradient(90deg,rgba(6,16,25,.28),rgba(5,14,23,.88))}.vehicle-identity{border-left:0}.vehicle-identity h2{font-size:clamp(15px,1.25vw,20px)}.process-btn{position:relative;z-index:5;margin:10px;border-color:#ff5969;background:linear-gradient(135deg,#8f101f,#df1d31 62%,#ff4054);box-shadow:0 0 21px rgba(255,37,57,.28);align-items:center;text-align:center}.process-btn small{color:#ffe1e4}

@media(max-width:1180px){.topbar{padding:0 10px;gap:8px}.brand{min-width:145px}.nav{padding:0 7px;font-size:10px}.utility{padding:0 8px}.utility em{display:none}.dashboard.active{grid-template-columns:minmax(0,1.2fr) minmax(0,.93fr) minmax(260px,1fr)}.modebar{gap:7px;padding-left:12px}.mode{padding:8px 9px}.mode-icon{width:38px;height:38px}.mode-icon img{width:27px;height:27px}.brands-panel{margin-left:12px}.vehicle-dock{margin-left:12px;margin-right:12px;grid-template-columns:28% 24% 16% 18% 14%}.selector-stack label{grid-template-columns:116px 1fr}.solution-card{grid-template-columns:32px minmax(0,1fr) 6px;padding:4px 6px}.sol-icon{width:29px;height:29px;min-width:29px}.sol-icon img{width:22px;height:22px}}
@media(max-width:900px){.topbar{position:relative;top:auto;flex:0 0 56px;height:56px;min-height:0;flex-wrap:nowrap;padding:0 8px}.brand{min-width:122px}.brand strong,.brand b{font-size:19px}.brand small{font-size:7px}.topnav{order:initial;width:auto;height:100%;overflow:hidden}.nav{padding:0 4px;font-size:9px}.utilities{margin-left:0;gap:3px}.utility{width:32px;height:36px;justify-content:center;padding:0}.utility b{display:none}#pages{height:calc(100dvh - 56px)}.dashboard.active{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.9fr) minmax(220px,1fr);grid-template-rows:clamp(76px,11vh,96px) minmax(0,1fr) clamp(132px,19vh,162px)}.modebar{position:relative;top:auto;overflow:hidden;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 5px 6px 8px}.mode{gap:5px;padding:5px}.mode-icon{width:30px;height:30px}.mode-icon img{width:22px;height:22px}.mode b{font-size:10px}.mode small{font-size:7px}.brands-panel{margin:6px 3px 8px 8px;padding:8px}.selector-panel{margin:6px 5px 8px 3px;padding:8px}.solutions-panel{margin:10px 8px 8px 5px;padding:6px;gap:5px}.panel{min-height:0}.panel-title{height:32px}.panel-title h2{font-size:12px}.searchbox{height:34px}.brand-grid{height:calc(100% - 86px);gap:4px;padding:5px 0 3px}.brand-tile img{max-width:54px;max-height:29px}.brand-tile span{font-size:8px}.pager{height:20px}.selector-stack{gap:4px}.selector-stack label{height:37px;grid-template-columns:91px 1fr;padding:0 5px}.selector-stack label>span,.selector-stack select{font-size:8px}.selector-stack i{width:18px;height:18px}.dropzone{min-height:54px;margin-top:5px;gap:6px}.upload-icon{width:31px;height:31px;font-size:18px}.dropzone b{font-size:9px}.dropzone small{font-size:7px}.detect-state{margin-top:4px}.solutions-panel{grid-template-rows:minmax(180px,1.9fr) repeat(3,minmax(62px,.67fr))}.solution-group{padding:5px}.solution-group-head{height:22px;gap:5px}.solution-group-head h2{font-size:9px}.solution-group-mark{width:21px;height:21px}.solution-group-mark img{width:19px;height:19px}.solution-group .proof{display:none}.solution-grid{height:calc(100% - 22px);padding-top:4px;gap:4px}.solution-card{grid-template-columns:26px minmax(0,1fr) 5px;gap:4px;padding:3px 4px}.sol-icon{width:24px;height:24px;min-width:24px}.sol-icon img{width:18px;height:18px}.solution-card b{font-size:8px}.solution-card small{font-size:6px}.vehicle-dock{grid-template-columns:28% 24% 16% 18% 14%;margin:0 8px 8px;height:calc(100% - 8px)}.car-stage{min-height:0}.vehicle-identity{padding:8px;gap:6px}.dock-logo{width:40px;height:40px}.dock-logo img{max-width:38px;max-height:38px}.vehicle-identity h2{font-size:13px}.vehicle-identity p,.dock-info b{font-size:9px}.dock-info{padding:7px}.process-btn{min-height:0;margin:7px;padding:7px}.process-btn span{font-size:9px}.process-btn small{font-size:6px}.two-col,.settings-grid,.admin-tools{grid-template-columns:1fr}.step-cards{grid-template-columns:1fr 1fr}.content-page{padding:14px}}
@media(max-height:820px){.topbar{flex-basis:56px;height:56px}.brand strong,.brand b{font-size:21px}#pages{height:calc(100dvh - 56px)}.dashboard.active{grid-template-rows:clamp(76px,11vh,92px) minmax(0,1fr) clamp(132px,19vh,152px)}.modebar{padding-top:10px;padding-bottom:6px}.brands-panel,.selector-panel{margin-top:6px;margin-bottom:8px;padding:9px}.solutions-panel{margin-top:10px;margin-bottom:8px;grid-template-rows:minmax(190px,1.9fr) repeat(3,minmax(64px,.67fr));gap:5px;padding:6px}.panel-title{height:32px}.searchbox{height:35px}.brand-grid{height:calc(100% - 87px);gap:4px;padding:5px 0 3px}.brand-tile img{max-height:29px}.selector-stack{gap:4px}.selector-stack label{height:37px}.dropzone{min-height:55px;margin-top:5px}.detect-state{margin-top:4px}.solution-group{padding:5px 6px}.solution-group-head{height:22px}.solution-grid{height:calc(100% - 22px);padding-top:4px;gap:4px}.solution-card{grid-template-columns:29px minmax(0,1fr) 6px;padding:3px 5px}.sol-icon{width:26px;height:26px;min-width:26px}.sol-icon img{width:20px;height:20px}.vehicle-dock{height:calc(100% - 8px);margin-bottom:8px}.vehicle-dock,.car-stage{min-height:0}.vehicle-identity h2{font-size:15px}}
@media(max-height:680px){.topbar{flex-basis:50px;height:50px}.brand strong,.brand b{font-size:18px}.brand small{display:none}.nav{font-size:9px}.utility{height:32px}#pages{height:calc(100dvh - 50px)}.dashboard.active{grid-template-rows:68px minmax(0,1fr) 112px}.modebar{padding-top:7px}.mode-icon{width:28px;height:28px}.mode-icon img{width:20px;height:20px}.mode small{display:none}.brands-panel,.selector-panel{margin-top:4px;margin-bottom:6px;padding:6px}.solutions-panel{margin-top:7px;margin-bottom:6px;grid-template-rows:minmax(142px,1.9fr) repeat(3,minmax(49px,.66fr));gap:4px;padding:5px}.panel-title{height:27px}.panel-title h2{font-size:11px}.eyebrow{font-size:6px}.searchbox{height:29px}.brand-grid{height:calc(100% - 74px);padding:4px 0 2px}.pager{height:18px}.brand-tile img{max-height:22px}.selector-stack label{height:30px}.selector-stack i{width:16px;height:16px}.dropzone{min-height:42px}.upload-icon{width:27px;height:27px}.dropzone small{display:none}.detect-state{min-height:14px;font-size:7px}.solution-group-head{height:18px}.solution-group-mark{width:18px;height:18px}.solution-group-mark img{width:16px;height:16px}.solution-grid{height:calc(100% - 18px);padding-top:3px;gap:3px}.solution-card{grid-template-columns:22px minmax(0,1fr) 5px;padding:2px 3px}.sol-icon{width:20px;height:20px;min-width:20px}.sol-icon img{width:15px;height:15px}.solution-card small{display:none}.vehicle-identity,.dock-info{padding:5px}.dock-logo{width:34px;height:34px}.dock-logo img{max-width:32px;max-height:32px}.vehicle-identity h2{font-size:12px}.process-btn{margin:5px;padding:5px}.process-btn small{display:none}}

/* V2.9.3 — toutes les variantes exactes restent visibles sans défilement */
.solution-grid{overflow:hidden}.solution-grid.many{gap:4px}.solution-grid.many .solution-card{padding-top:3px;padding-bottom:3px}.solution-grid.very-many{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.solution-grid.very-many .solution-card{grid-template-columns:24px minmax(0,1fr) 5px;gap:4px;padding:2px 4px}.solution-grid.very-many .sol-icon{width:22px;height:22px;min-width:22px}.solution-grid.very-many .sol-icon img{width:17px;height:17px}.solution-grid.very-many .solution-card b{font-size:7px}.solution-grid.very-many .solution-card small{display:none}

/* V2.9.6 — catalogue multitype, DTC filtrable et confirmation checksum */
.selector-panel .selector-stack{gap:5px}.selector-panel .selector-stack label{height:40px}.selector-panel .dropzone{min-height:64px}
.selector-panel{overflow:auto}.selector-panel select:not(:disabled){pointer-events:auto;cursor:pointer}.support-chip{border-color:#8a5a2b!important;color:#ffd08a!important}
.dtc-layout{grid-template-columns:minmax(300px,.78fr) minmax(480px,1.22fr)}.dtc-results-card h2{display:flex;align-items:center;justify-content:space-between}.dtc-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(130px,.7fr) minmax(130px,.65fr) auto auto;gap:7px;align-items:center}.dtc-toolbar input,.dtc-toolbar select{min-width:0;border:1px solid var(--line);border-radius:7px;background:#06131f;color:var(--text);padding:9px}.dtc-toolbar button{white-space:nowrap;padding:9px 10px}.dtc-results-card .result-list{max-height:calc(100dvh - 260px);overflow:auto;padding-right:3px}.dtc-row,.dtc-definition-row,.dtc-preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dtc-row p,.dtc-definition-row p,.dtc-preview-row p{margin:4px 0 0;color:var(--muted);font-size:10px}.dtc-state{display:flex;align-items:center;gap:9px;flex:none}.dtc-state>span{font-size:9px;font-weight:900;color:var(--cyan)}.checksum-note{margin:13px 0 0;padding:10px;border:1px solid #744d1e;border-radius:8px;background:#2a1d0c;color:#ffc770;font-size:10px;line-height:1.45}.checksum-modal-card{width:min(540px,94vw);border:1px solid #8b5a20}.checksum-modal-card p{color:#b8c8d4;line-height:1.55}.checksum-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px;border:1px solid #37566d;border-radius:9px;background:#071824;cursor:pointer}.checksum-confirm input{width:19px;height:19px;flex:none;accent-color:var(--blue)}.checksum-confirm span{font-size:11px;line-height:1.5}.checksum-modal-card .button-row{justify-content:flex-end}.checksum-modal-card button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1100px){.dtc-layout{grid-template-columns:1fr}.dtc-toolbar{grid-template-columns:1fr 1fr}.dtc-toolbar input{grid-column:1/3}.dtc-results-card .result-list{max-height:none}}
@media(max-height:680px){.selector-panel .selector-stack{gap:3px}.selector-panel .selector-stack label{height:27px}.selector-panel .dropzone{min-height:36px;margin-top:4px}.selector-panel .detect-state{margin-top:3px}}

/* V2.9.6 — recherche directe ECU avec menu déroulant */
.ecu-picker-card{overflow:visible}.ecu-picker-toolbar{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(380px,1fr);gap:12px;align-items:end}.ecu-category-label{margin:0}.ecu-combobox{position:relative}.ecu-combobox>label{display:block;margin:0 0 6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.5px}.ecu-combobox .big-search{height:46px;border-color:#285b7c}.ecu-combobox .big-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px rgba(22,141,255,.16)}.ecu-combobox .big-search button{border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.ecu-suggestions{position:absolute;z-index:30;top:75px;left:0;right:0;max-height:min(440px,52vh);overflow:auto;padding:6px;border:1px solid #28638a;border-radius:9px;background:#071621;box-shadow:0 18px 44px rgba(0,0,0,.58)}.ecu-suggestions button{width:100%;display:grid;grid-template-columns:minmax(130px,.6fr) minmax(110px,.45fr) minmax(150px,1fr);gap:10px;align-items:center;padding:10px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.ecu-suggestions button:hover,.ecu-suggestions button.active{background:#10314a;box-shadow:inset 3px 0 var(--blue)}.ecu-suggestions b{font-size:12px}.ecu-suggestions span{color:#80cfff;font-size:10px}.ecu-suggestions small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecu-search-help{margin:9px 0 0;color:var(--muted);font-size:9px}.ecu-search-state{margin-top:14px;padding:10px;color:var(--muted);text-align:center}.ecu-selected-card{margin-top:16px;padding:15px;border:1px solid #2d6486;border-radius:10px;background:linear-gradient(135deg,#0a2234,#071621);display:flex;align-items:center;justify-content:space-between;gap:18px}.ecu-selected-card h2{margin:4px 0;font-size:20px}.ecu-selected-card p{margin:0;color:var(--muted);font-size:10px}.ecu-selected-card .button-row{margin:0;flex:none}.ecu-cartographies{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#06131f;padding:12px}.ecu-maps-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.ecu-maps-head h3{margin:3px 0 8px}.ecu-map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ecu-map-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid #1a3d56;border-radius:8px;background:#081b29}.ecu-map-row b,.ecu-map-row small{display:block}.ecu-map-row small{margin-top:3px;color:var(--muted);font-size:8px}.ecu-map-row>span{flex:none;padding:4px 7px;border-radius:20px;background:#282317;color:#d8b663;font-size:8px;font-weight:900}.ecu-map-row.available>span{background:#103b2f;color:#67e4b0}
@media(max-width:900px){.ecu-picker-toolbar{grid-template-columns:1fr}.ecu-suggestions{top:75px}.ecu-selected-card{align-items:flex-start;flex-direction:column}.ecu-map-list{grid-template-columns:1fr}}

.checksum-modal-card{width:min(680px,94vw);max-height:90vh;overflow-y:auto}.checksum-modal-card h2{font-size:25px}.checksum-modal-card p{line-height:1.5}.ecu-map-row[aria-pressed="true"]{border-color:#36c5de;background:rgba(30,140,170,.2)}

.ticket-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.ticket-filters label{display:flex;flex-direction:column;gap:5px}.ticket-filters select,.ticket-filters input{max-width:100%;padding:8px}

.ecu-manufacturer-heading{padding:9px 12px 5px;color:#7de2ff;font-size:11px;font-weight:700;letter-spacing:.06em;background:#102236;position:sticky;top:0;z-index:1;border-bottom:1px solid #284461}
.analysis-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:#050c17d9;backdrop-filter:blur(8px)}
.analysis-overlay.hidden{display:none}
.analysis-card{width:min(530px,94vw);max-height:95vh;overflow:auto;border:1px solid #37627d;border-radius:22px;padding:25px 30px;background:radial-gradient(ellipse at 50% 40%,#143448,#0a1423 75%);box-shadow:0 0 70px #00aaff20;color:#e9f7ff;font-family:Segoe UI,Arial,sans-serif}
.analysis-kicker{color:#76d9f6;font-size:10px;letter-spacing:.16em;font-weight:700}.analysis-card h2{margin:10px 0;font-size:24px}.analysis-filename{margin:0;color:#a2bacd;font-size:12px;overflow-wrap:anywhere}.analysis-surface{width:100%;height:235px;display:block;margin:10px 0}.analysis-stage{font-size:16px;font-weight:600;color:#9fe4f8;min-height:24px}.analysis-phases{list-style:none;display:grid;gap:9px;padding:0;margin:18px 0}.analysis-phases li{display:flex;align-items:center;gap:10px;font-size:12px;color:#7d96ab}.analysis-phases li span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #3d5669;border-radius:50%;font-size:10px}.analysis-phases li.current{color:#e0faff}.analysis-phases li.current span{border-color:#51d0ff;box-shadow:0 0 12px #33bbff55}.analysis-phases li.complete{color:#66dbad}.analysis-phases li.complete span{border-color:#46b18a}.analysis-colors{display:flex;align-items:center;gap:12px;font-size:10px;color:#799aaf}.analysis-colors i{flex:1;height:4px;border-radius:5px;background:linear-gradient(90deg,#38ce55,#e9df35,#ef4235)}
@media(max-width:550px){.analysis-card{padding:20px}.analysis-surface{height:185px}.analysis-card h2{font-size:21px}}

.brand-tile img.brand-logo-light{background:#e8eef4;border-radius:4px;padding:3px;box-sizing:border-box}

/* Administration accessible uniquement sur le serveur privé. */
#adminAction,#adminModal,#page-admin,.setting-card:has(#adminAction),[data-page="admin"]{display:none!important}
