:root{--bg:#060b11;--surface:#0c141d;--surface2:#101b26;--line:#1e2c3a;--text:#f2f6f8;--muted:#7f90a1;--cyan:#26d9ff;--green:#59e38d;--orange:#ffb547;--purple:#b78cff;--red:#ff6678;--blue:#5ea7ff;--teal:#27d3c2;--nav:rgba(7,12,18,.92)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(900px 500px at 50% -180px,#153047 0,transparent 65%),var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}.app{max-width:1050px;margin:auto;padding-bottom:92px}.topbar{height:72px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;position:sticky;top:0;z-index:20;background:rgba(6,11,17,.78);backdrop-filter:blur(18px);border-bottom:1px solid #17232f}.brand{display:flex;gap:4px;align-items:center}.brand-mark{width:34px;height:34px;border:1px solid #2c4355;border-radius:10px;display:grid;place-items:center;color:var(--cyan);font-weight:900;box-shadow:inset 0 0 20px #1edfff12}.brand b{display:block;letter-spacing:.22em;font-size:13px}.brand span,.label,.section-title>div>span{color:var(--muted);font-size:9px;letter-spacing:.17em}.top-right{display:flex;align-items:center;gap:9px}.icon-btn{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--muted);cursor:pointer}.connection{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:99px;padding:7px 10px;font-size:9px;letter-spacing:.1em}.connection i{width:7px;height:7px;border-radius:50%;background:#536273}.connection.on i{background:var(--green);box-shadow:0 0 10px var(--green)}main{padding:18px}.page{min-height:calc(100vh - 90px);padding-bottom:30px;scroll-margin-top:78px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:10px 2px 16px}.section-title h1{margin:2px 0 0;font-size:30px;letter-spacing:-.04em}.connect-btn,.primary{border:1px solid #1c9bb4;background:#0b3945;color:#b9f7ff;padding:9px 14px;border-radius:11px;cursor:pointer}.hero-card{display:grid;grid-template-columns:minmax(280px,1.35fr) 1fr;gap:20px;background:linear-gradient(135deg,#0d1822,#091119);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 20px 50px #0005}.gauge{aspect-ratio:1;max-width:390px;margin:auto;width:100%;border-radius:50%;padding:14px;background:conic-gradient(from 225deg,var(--cyan) 0deg, var(--cyan) calc(var(--speed,0)*2.7deg), #1a2732 calc(var(--speed,0)*2.7deg),#1a2732 270deg,transparent 270deg);position:relative;box-shadow:0 0 45px #26d9ff10}.gauge:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#081018;border:1px solid #1b2b39}.gauge-inner{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.eyebrow{font-size:9px;letter-spacing:.18em;color:var(--muted)}.gauge strong{font-size:86px;line-height:.9;letter-spacing:-.08em;margin-top:9px}.gauge small{color:var(--muted);margin-top:5px}.gauge em{font-style:normal;color:var(--cyan);border:1px solid #26d9ff55;border-radius:99px;padding:5px 15px;margin-top:13px;font-size:10px;letter-spacing:.16em}.hero-side{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}.mini-stat{background:#0a131c;border:1px solid #182735;border-radius:15px;padding:18px}.mini-stat span{display:block;color:var(--muted);font-size:9px;letter-spacing:.16em}.mini-stat b{font-size:23px;margin-top:8px;display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.metric,.card{background:linear-gradient(145deg,#0d1721,#0a1119);border:1px solid var(--line);border-radius:18px}.metric{padding:17px;border-top:2px solid}.metric.cyan{border-top-color:var(--cyan)}.metric.green{border-top-color:var(--green)}.metric.orange{border-top-color:var(--orange)}.metric.purple{border-top-color:var(--purple)}.metric span{color:var(--muted);font-size:9px;letter-spacing:.15em}.metric b{display:block;font-size:25px;margin:6px 0 2px}.metric small{color:var(--muted);font-size:10px}.card{padding:18px;margin:10px 0}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card h2{margin:2px 0;font-size:18px}.live-tag{color:var(--green);font-size:9px;letter-spacing:.12em}.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spark{height:145px;background:#09111a;border:1px solid #172734;border-radius:14px;padding:13px}.spark-top{display:flex;justify-content:space-between}.spark-top span{color:var(--muted);font-size:11px}.spark-top b{font-size:13px;color:var(--cyan)}canvas{width:100%;height:92px}.split-card{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.battery-line{height:8px;background:#182631;border-radius:99px;overflow:hidden}.battery-line div{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:99px;transition:width .45s ease}.battery-row{display:flex;justify-content:space-between;align-items:end;margin-top:10px}.battery-row b{font-size:34px}.battery-row span,.temp-summary>span:last-child{color:var(--muted);font-size:10px}.temp-summary{border-left:1px solid var(--line);padding-left:20px}.temp-summary h2{font-size:35px;margin:14px 0 2px}.section-badge,.state{font-size:9px;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);padding:7px 9px;border-radius:99px}.battery-hero{text-align:center;padding:28px}.battery-icon{font-size:36px;color:var(--green);margin-bottom:8px}.battery-hero strong{display:block;font-size:72px;letter-spacing:-.07em;margin:4px 0 17px}.battery-meta{display:flex;justify-content:center;gap:35px;color:var(--muted);font-size:11px;margin-top:10px}.battery-meta b{color:var(--text)}.stat-grid{display:grid;gap:10px}.stat-grid.three{grid-template-columns:repeat(3,1fr)}.stat-card{padding:17px;background:#0b141d;border:1px solid var(--line);border-radius:15px}.stat-card span,.inline-stat span,.health-card span,.temp-stats span,.balance-row span,.system-grid>span{color:var(--muted);font-size:9px;letter-spacing:.14em}.stat-card b{display:block;font-size:27px;margin:5px 0}.stat-card small,.inline-stat small,.health-card small{color:var(--muted);font-size:10px}.cell-legend{display:flex;gap:18px;color:var(--muted);font-size:9px;margin-bottom:12px}.cell-legend .low{color:var(--red)}.cell-legend .normal{color:var(--green)}.cell-legend .high{color:var(--cyan)}.cell-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.cell{min-height:72px;background:#070d13;border:1px solid #293744;border-radius:12px;padding:10px;text-align:center;transition:transform .2s,border-color .2s}.cell:hover{transform:translateY(-2px)}.cell small{display:block;color:var(--muted);font-size:8px}.cell b{display:block;font-size:13px;margin-top:7px}.cell.low{border-color:#d84e62;background:#1b0e13}.cell.normal{border-color:#3b8e61}.cell.high{border-color:#23b9d5;background:#071a21}.inline-stat{background:#0b141d;border:1px solid var(--line);border-radius:13px;padding:15px}.inline-stat b{display:block;font-size:21px;margin:7px 0}.charger-card{display:flex;align-items:center;gap:15px}.charger-icon{font-size:28px;color:var(--orange)}.charger-card p,.thermal-note p,.action-card p{color:var(--muted);font-size:11px;margin:3px 0}.charger-card .state{margin-left:auto}.temp-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.temp-card{min-height:265px;border-radius:20px;border:1px solid;padding:23px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0c151d}.temp-card.controller{border-color:#287f69}.temp-card.motor{border-color:#8d5d22}.temp-card.battery-temp{border-color:#286b87}.temp-symbol{font-size:34px;margin-bottom:13px}.temp-card>span:not(.temp-symbol){color:var(--muted);font-size:10px;letter-spacing:.15em}.temp-card strong{font-size:62px;line-height:1;margin-top:13px}.temp-card small{color:var(--muted)}.temp-bar{height:7px;background:#1a2730;border-radius:99px;width:100%;margin-top:20px;overflow:hidden}.temp-bar i{display:block;height:100%;width:0;background:var(--green);transition:width .4s}.temp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.temp-stats>div{background:#0a131b;border:1px solid var(--line);border-radius:14px;padding:17px}.temp-stats b{display:block;font-size:25px;margin:6px 0;color:var(--orange)}.temp-stats small{color:var(--muted)}.cell-balance-stats b{color:var(--cyan)}.cell-balance-stats>div:nth-child(3) b{color:var(--green)}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.health-card{padding:22px;border:1px solid;border-radius:18px;background:#0c151d}.health-card.red{border-color:#70323c}.health-card.blue{border-color:#2b5f91}.health-card.amber{border-color:#7c5b22}.health-card.teal{border-color:#236e67}.health-card b{display:block;font-size:38px;margin:13px 0 3px}.balance-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.balance-row>div{background:#0a131b;padding:16px;border-radius:13px;border:1px solid var(--line)}.balance-row b{display:block;font-size:20px;margin-top:7px}.system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}.system-grid>span{background:#0a131b;padding:15px;border-radius:13px;min-width:0;box-sizing:border-box}.system-grid b{display:block;color:var(--text);font-size:13px;margin-top:6px}.action-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-buttons button{background:#111c26;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer}.ota-card input{width:100%;color:var(--muted);margin-bottom:10px}.progress{height:7px;background:#17252f;border-radius:99px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;width:0;background:var(--cyan);transition:width .3s}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(720px,100%);height:76px;background:var(--nav);backdrop-filter:blur(20px);border:1px solid #1c2935;border-bottom:0;border-radius:20px 20px 0 0;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px env(safe-area-inset-bottom)}.nav-item .nav-icon{width:21px;height:21px;display:grid;place-items:center;color:currentColor}.nav-item .nav-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.nav-item .battery-nav-icon svg rect:nth-of-type(3),.nav-item .battery-nav-icon svg rect:nth-of-type(4){stroke:none}.nav-item .overview-icon svg rect{fill:currentColor;stroke:none}.nav-item .temp-nav-icon,.nav-item .health-nav-icon{opacity:.95}.nav-item.active .battery-nav-icon,.nav-item.active .temp-nav-icon,.nav-item.active .health-nav-icon,.nav-item.active .overview-icon{filter:drop-shadow(0 0 6px currentColor)}
.nav-item{border:0;background:transparent;color:#657482;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;border-radius:13px}.nav-item span{font-size:21px}.nav-item .nav-icon{font-size:initial}.nav-item b{font-size:9px;font-weight:500;letter-spacing:.08em}.nav-item.active{color:var(--cyan);background:#10212a}.toast{position:fixed;left:50%;bottom:91px;transform:translate(-50%,20px);background:#eaf8ff;color:#071019;padding:9px 14px;border-radius:99px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.app{max-width:100%}.hero-card{grid-template-columns:1fr}.gauge{max-width:330px}.hero-side{grid-template-columns:repeat(4,1fr)}.mini-stat{padding:11px}.mini-stat b{font-size:16px}.metric-grid{grid-template-columns:1fr 1fr}.split-card{grid-template-columns:1fr}.temp-grid{grid-template-columns:1fr 1fr}.temp-card.controller{grid-column:1/-1}.health-grid{grid-template-columns:1fr 1fr}.cell-grid{grid-template-columns:repeat(4,1fr)}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{grid-template-columns:1fr}.bottom-nav{height:70px}}
@media(max-width:470px){main{padding:14px}.topbar{padding:0 14px}.section-title h1{font-size:27px}.hero-card{padding:15px}.gauge{max-width:290px}.gauge strong{font-size:70px}.hero-side{gap:6px}.mini-stat{padding:10px}.mini-stat b{font-size:14px}.metric{padding:14px}.metric b{font-size:22px}.history-grid,.stat-grid.three,.temp-stats{grid-template-columns:1fr}.temp-grid{grid-template-columns:1fr 1fr}.health-grid{gap:7px}.health-card{padding:15px}.health-card b{font-size:30px}.cell-grid{grid-template-columns:repeat(4,1fr)}.cell{min-height:65px;padding:8px}.balance-row{grid-template-columns:1fr}.battery-hero strong{font-size:58px}.battery-meta{gap:20px}}

/* v3 transport + speedometer polish */
.overview-actions{display:flex;gap:7px}.transport-btn{border:1px solid var(--line);background:#0c1720;color:#91a1af;padding:7px 10px;border-radius:9px;font-size:9px;letter-spacing:.08em;cursor:pointer}.transport-btn:hover{color:var(--cyan);border-color:#2a7182}.transport-hint{display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid #172633;border-radius:12px;background:#081119;margin:-5px 0 10px;color:var(--muted);font-size:10px}.transport-hint b{color:var(--text);font-size:11px}.connection.on{color:var(--green);border-color:#24533d}.connection.on span{color:var(--green)}.connection.offline span{color:#718092}.speedo{width:min(100%,430px);aspect-ratio:1;position:relative;margin:auto}.speed-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.speed-track,.speed-progress{fill:none;stroke-width:17;stroke-linecap:round;transform:rotate(135deg);transform-origin:210px 210px;stroke-dasharray:728 1095}.speed-track{stroke:#1a2731}.speed-progress{stroke:url(#none);stroke:#26d9ff;filter:drop-shadow(0 0 7px #26d9ff55);stroke-dashoffset:728;transition:stroke-dashoffset .35s ease}.speed-inner{fill:#081018;stroke:#1a2935;stroke-width:2}.speed-ticks{position:absolute;inset:8%;border-radius:50%;pointer-events:none}.tick{position:absolute;left:50%;top:50%;height:9px;width:2px;background:#56636e;transform-origin:0 132px}.tick.major{height:15px;background:#87939e}.gauge-scale{position:absolute;left:12%;right:12%;bottom:16%;display:flex;justify-content:space-between;color:#5e6d79;font-size:8px;letter-spacing:.1em}.speedo .gauge-inner{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:3%}.speedo .gauge-inner strong{font-size:82px;line-height:.85;letter-spacing:-.09em;text-shadow:0 0 24px #dff}.speedo .gauge-inner em{font-style:normal;color:var(--cyan);border:1px solid #26d9ff88;box-shadow:0 0 14px #26d9ff22;border-radius:99px;padding:5px 17px;margin-top:14px;font-size:10px;letter-spacing:.2em}.hero-card{overflow:hidden}.hero-card:after{content:"";position:absolute;pointer-events:none}
@media(max-width:760px){.top-right{gap:5px}.transport-btn{padding:6px 8px}.transport-hint{display:block}.transport-hint span{display:block;margin-top:3px}.speedo{max-width:370px}}
@media(max-width:470px){.brand span{display:none}.connection{padding:6px 8px}.connection span{font-size:8px}.overview-actions{gap:4px}.speedo .gauge-inner strong{font-size:68px}}

/* V4 transport menu + fullscreen cockpit */
body.cockpit-open{overflow:hidden}.menu-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#0b141d;color:var(--text);cursor:pointer;font-size:17px}.cockpit-launch{width:100%;display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:14px;text-align:left;background:linear-gradient(120deg,#0c1822,#081119);border:1px solid #203341;border-radius:20px;padding:14px;color:var(--text);cursor:pointer;transition:.25s}.cockpit-launch:hover{transform:translateY(-2px);border-color:#2b7d8e}.cockpit-mini-gauge{display:grid;place-items:center}.mini-ring{width:66px;height:66px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid #142630;box-shadow:inset 0 0 0 2px #26d9ff33}.mini-ring span{font-size:20px;font-weight:800;line-height:1}.mini-ring small{font-size:7px;color:var(--muted)}.cockpit-copy strong{display:block;font-size:16px}.cockpit-copy p{margin:3px 0 0;color:var(--muted);font-size:10px}.cockpit-arrow{font-size:24px;color:var(--cyan)}.sheet-backdrop{position:fixed;inset:0;background:#0008;backdrop-filter:blur(6px);z-index:80;opacity:0;pointer-events:none;transition:.25s}.sheet-backdrop.show{opacity:1;pointer-events:auto}.connection-sheet{position:absolute;right:14px;top:80px;width:min(390px,calc(100% - 28px));background:#0a121a;border:1px solid #243746;border-radius:20px;padding:16px;box-shadow:0 25px 70px #000b;transform:translateY(-10px) scale(.98);transition:.25s}.sheet-backdrop.show .connection-sheet{transform:none}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head h2{margin:2px 0 12px}.sheet-close,.cockpit-close{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#0f1b25;color:var(--text);cursor:pointer;font-size:20px}.sheet-grabber{display:none}.active-transport{display:flex;align-items:center;gap:10px;padding:12px;background:#081119;border:1px solid #1b2a36;border-radius:13px;margin-bottom:10px}.active-transport i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #59e38d88}.active-transport span,.transport-option small{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em}.transport-option{width:100%;display:grid;grid-template-columns:42px 1fr 30px;align-items:center;text-align:left;gap:10px;padding:13px;margin-top:7px;border:1px solid var(--line);border-radius:14px;background:#0d1720;color:var(--text);cursor:pointer}.transport-option:hover{border-color:#2c7284}.transport-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#102632;color:var(--cyan);font-size:22px}.transport-option b{font-size:12px}.transport-option em{font-style:normal;color:var(--green);font-size:18px}.sheet-note{margin-top:12px;color:var(--muted);font-size:9px;line-height:1.5;padding:10px;border-left:2px solid #1e7180}.cockpit-screen{position:fixed;inset:0;background:radial-gradient(900px 500px at 50% 10%,#122c3b 0,transparent 60%),#050a0f;z-index:100;opacity:0;pointer-events:none;transform:scale(.985);transition:.28s;overflow:auto}.cockpit-screen.show{opacity:1;pointer-events:auto;transform:none}.cockpit-bar{height:70px;display:flex;align-items:center;gap:13px;padding:0 18px;position:sticky;top:0;z-index:5;background:#060c12d9;backdrop-filter:blur(18px);border-bottom:1px solid #1a2934}.cockpit-bar>div{flex:1}.cockpit-bar strong{display:block;font-size:13px;letter-spacing:.14em}.cockpit-transport{font-size:8px;color:var(--green);border:1px solid #26553e;padding:6px 9px;border-radius:99px}.cockpit-main{max-width:920px;margin:auto;padding:24px 20px 40px}.full-speed-card{display:grid;place-items:center;min-height:calc(100vh - 200px);border:1px solid #1b3440;border-radius:28px;background:linear-gradient(145deg,#09131b,#050b10);box-shadow:0 25px 70px #0008}.full-speedo{width:min(76vh,680px,90vw);aspect-ratio:1;position:relative}.full-speed-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.full-track,.full-progress{fill:none;stroke-width:13;stroke-linecap:round}.full-track{stroke:#17242e}.full-progress{stroke:url(#speedGradient);stroke-dasharray:1000;stroke-dashoffset:1000;filter:drop-shadow(0 0 10px #26d9ff55);transition:stroke-dashoffset .28s cubic-bezier(.2,.8,.2,1)}.full-ticks{position:absolute;inset:6%;pointer-events:none}.full-ticks .tick{left:50%;top:50%;position:absolute;height:10px;width:2px;background:#44535e;transform-origin:0 191px}.full-ticks .tick.major{height:17px;background:#8997a1}.full-speed-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2%}.full-speed-center span{color:#71818e;font-size:9px;letter-spacing:.24em}.full-speed-center strong{font-size:clamp(76px,13vw,128px);line-height:.88;letter-spacing:-.09em;margin:11px 0 2px;text-shadow:0 0 35px #dff}.full-speed-center small{color:#71818e;font-size:13px;letter-spacing:.2em}.full-speed-center b{font-size:11px;letter-spacing:.18em;color:var(--cyan);border:1px solid #26d9ff77;border-radius:99px;padding:6px 19px;margin-top:17px}.full-scale{position:absolute;left:14%;right:14%;bottom:16%;display:flex;justify-content:space-between;color:#64737e;font-size:9px}.cockpit-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.cockpit-metrics article{background:#09131b;border:1px solid #1c2b36;border-radius:13px;padding:12px}.cockpit-metrics span{font-size:8px;color:#73828e;letter-spacing:.13em}.cockpit-metrics b{display:block;font-size:22px;margin:5px 0}.cockpit-metrics small{color:#596976;font-size:8px}@media(max-width:760px){.cockpit-main{padding:12px}.full-speed-card{min-height:calc(100vh - 180px);border-radius:22px}.full-speedo{width:min(92vw,520px)}.cockpit-metrics{grid-template-columns:repeat(2,1fr)}.connection-sheet{top:auto;bottom:0;right:0;width:100%;max-width:none;border-radius:22px 22px 0 0;padding:15px 15px calc(15px + env(safe-area-inset-bottom));transform:translateY(20px)}.sheet-grabber{display:block;width:42px;height:4px;border-radius:99px;background:#41515d;margin:0 auto 12px}.top-right .connection{display:none}.cockpit-launch{grid-template-columns:64px 1fr 26px}.mini-ring{width:58px;height:58px}}@media(max-width:470px){.brand b{font-size:11px}.menu-btn{width:34px;height:34px}.cockpit-bar{padding:0 12px}.full-speed-center strong{font-size:72px}.full-speed-center b{margin-top:12px}.full-ticks .tick{transform-origin:0 154px}.cockpit-metrics article{padding:10px}.cockpit-metrics b{font-size:19px}}

/* V5 precision + cell detail */
.cockpit-launch{grid-template-columns:78px 1fr 34px}.cockpit-copy strong i{font-style:normal;color:var(--cyan)}.cockpit-copy p b{color:#c9d5dd;font-weight:600}.cell{position:relative;overflow:hidden}.cell::after{content:"";position:absolute;left:9px;right:9px;bottom:7px;height:3px;background:linear-gradient(90deg,var(--cell-color,#3b8e61) var(--cell-p,0%),#18242d var(--cell-p,0%));border-radius:99px}.cell.low{--cell-color:var(--red)}.cell.normal{--cell-color:var(--green)}.cell.high{--cell-color:var(--cyan)}.cell .bal-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#495764;margin-left:3px;vertical-align:middle}.cell.balancing .bal-dot{background:var(--purple);box-shadow:0 0 7px var(--purple)}.cell-foot{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;margin-top:11px;padding-top:10px;border-top:1px solid #182630}.cell-foot span:last-child{color:var(--purple)}
.full-speedo{display:grid;place-items:center}.full-speed-svg,.full-ticks{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.full-ticks{pointer-events:none}.full-ticks line{stroke:#46545e;stroke-width:2;stroke-linecap:round}.full-ticks line.major{stroke:#8a969f;stroke-width:3}.full-ticks line.red{stroke:#ff6678}.full-track,.full-progress{fill:none;stroke-width:13;stroke-linecap:round}.full-track{stroke:#17242e}.full-progress{stroke:url(#speedGradient);stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset .25s cubic-bezier(.2,.8,.2,1)}
@media(max-width:470px){.cell-foot{font-size:8px}.cockpit-launch{grid-template-columns:64px 1fr 25px}.cockpit-copy strong{font-size:14px}}

.cell.waiting{border-color:#263542;opacity:.82}.cell.waiting b{color:#667786}.cell.waiting::after{background:#18242d}.connection.offline{color:#7f8d98}.connection.offline i{background:#ef4b5f}.connection.on{color:#b9f7ff}

.metric-thermal .thermal-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}.metric-thermal .thermal-inline>div{min-width:0}.metric-thermal .thermal-inline b{margin:0;font-size:23px}.metric-thermal .thermal-inline small{display:block;margin-top:1px}.cockpit-copy p{line-height:1.7}.cockpit-copy p b{white-space:nowrap}@media(max-width:470px){.metric-thermal .thermal-inline{gap:7px}.metric-thermal .thermal-inline b{font-size:19px}.cockpit-copy p{font-size:9px}}
.cockpit-temp-sub{display:flex;align-items:center;justify-content:space-between;margin-top:5px;padding-top:5px;border-top:1px solid #172731}.cockpit-temp-sub span{font-size:7px!important}.cockpit-temp-sub b{display:inline!important;font-size:15px!important;margin:0!important}.cockpit-metrics{grid-template-columns:repeat(7,1fr)}@media(max-width:900px){.cockpit-metrics{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.cockpit-metrics{grid-template-columns:repeat(2,1fr)}}

/* V13 cockpit: grouped battery + temperature metrics. Both values use the same size. */
.cockpit-metrics{grid-template-columns:repeat(6,1fr)}
.cockpit-dual{min-height:112px}
.cockpit-dual-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid #172731}
.cockpit-dual-row small{font-size:7px!important;letter-spacing:.1em!important;color:#71808c!important}
.cockpit-dual-row b{display:inline!important;font-size:22px!important;line-height:1!important;margin:0!important;white-space:nowrap}
@media(max-width:900px){.cockpit-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.cockpit-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.cockpit-dual-row b{font-size:19px!important}.cockpit-dual{min-height:105px}}

/* V14: one-screen VOTOL COCKPIT — telemetry stays inside the vehicle-speed panel. */
.cockpit-screen{overflow:hidden}
.cockpit-main{height:calc(100dvh - 70px);max-width:none;box-sizing:border-box;margin:0;padding:12px 16px 14px;display:flex;min-height:0}
.full-speed-card{position:relative;width:100%;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;padding:10px 16px 108px}
.full-speedo{width:min(57dvh,560px,72vw);flex:0 0 auto}
.cockpit-metrics{position:absolute;left:16px;right:16px;bottom:14px;z-index:3;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0}
.cockpit-metrics article{min-width:0;padding:8px 10px;border-radius:11px;background:#081119eF;backdrop-filter:blur(10px);box-shadow:0 8px 25px #0006}
.cockpit-metrics span{font-size:7px}
.cockpit-metrics b{font-size:19px;margin:4px 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cockpit-metrics small{font-size:7px}
.cockpit-dual{min-height:0!important}
.cockpit-dual-row{margin-top:3px;padding-top:3px}
.cockpit-dual-row b{font-size:17px!important}
.full-speed-center strong{font-size:clamp(68px,11vh,118px)}
.full-scale{bottom:17%}
@media(max-width:900px){
  .cockpit-main{padding:10px}
  .full-speed-card{padding-bottom:116px}
  .full-speedo{width:min(50dvh,500px,78vw)}
  .cockpit-metrics{grid-template-columns:repeat(3,minmax(0,1fr));left:12px;right:12px;bottom:12px}
}
@media(max-width:600px){
  .cockpit-bar{height:62px}
  .cockpit-main{height:calc(100dvh - 62px);padding:7px}
  .full-speed-card{border-radius:20px;padding:5px 7px 108px}
  .full-speedo{width:min(48dvh,430px,82vw)}
  .full-speed-center span{font-size:7px}
  .full-speed-center strong{font-size:clamp(58px,11vh,86px);margin:7px 0 1px}
  .full-speed-center small{font-size:9px}
  .full-speed-center b{font-size:8px;padding:5px 12px;margin-top:9px}
  .full-scale{left:15%;right:15%;bottom:16%;font-size:7px}
  .cockpit-metrics{left:8px;right:8px;bottom:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .cockpit-metrics article{padding:6px 7px;border-radius:9px}
  .cockpit-metrics span{font-size:6px}
  .cockpit-metrics b{font-size:15px;margin:3px 0 0}
  .cockpit-metrics small{font-size:6px}
  .cockpit-dual-row{gap:4px;margin-top:2px;padding-top:2px}
  .cockpit-dual-row small{font-size:5.5px!important}
  .cockpit-dual-row b{font-size:13px!important}
}
@media(max-width:390px){
  .cockpit-main{padding:5px}
  .full-speed-card{padding-bottom:101px}
  .full-speedo{width:min(46dvh,350px,82vw)}
  .cockpit-metrics{gap:4px;left:6px;right:6px;bottom:6px}
  .cockpit-metrics article{padding:5px 5px}
  .cockpit-metrics b{font-size:13px}
}

/* V16: VOTOL COCKPIT — telemetry beside the speedometer, never underneath. */
.cockpit-screen{overflow:hidden}
.cockpit-main{height:calc(100dvh - 70px);max-width:none;margin:0;padding:12px 16px 14px;display:flex;min-height:0}
.full-speed-card{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;padding:18px 24px;border:1px solid #1b3440;border-radius:28px;background:linear-gradient(145deg,#09131b,#050b10);box-shadow:0 25px 70px #0008;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,31%);grid-template-rows:1fr;align-items:center;gap:20px}
.full-speedo{width:min(64vh,620px,52vw);aspect-ratio:1;position:relative;flex:0 0 auto;justify-self:center}
.full-speed-center strong{font-size:clamp(70px,11vh,122px)}
.full-scale{bottom:17%}
.cockpit-metrics{position:static;z-index:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;width:100%;height:min(72vh,560px);margin:0;align-self:center}
.cockpit-metrics article{min-width:0;min-height:0;height:auto;padding:13px 14px;border-radius:14px;background:linear-gradient(145deg,#0b1720eF,#071018eF);border:1px solid #1b303c;backdrop-filter:blur(10px);box-shadow:0 8px 25px #0006;display:flex;flex-direction:column;justify-content:center}
.cockpit-metrics span{font-size:8px;color:#73828e;letter-spacing:.14em}
.cockpit-metrics b{font-size:clamp(18px,2.2vw,25px);margin:6px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cockpit-metrics small{font-size:8px;color:#596976}
.cockpit-dual{min-height:0!important}
.cockpit-dual-row{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin-top:5px;padding-top:5px;border-top:1px solid #172731}
.cockpit-dual-row small{font-size:6.5px!important;letter-spacing:.1em!important;color:#71808c!important}
.cockpit-dual-row b{display:inline!important;font-size:clamp(15px,1.8vw,21px)!important;line-height:1!important;margin:0!important;white-space:nowrap}

@media(max-width:900px){
  .cockpit-main{padding:9px}
  .full-speed-card{padding:12px;grid-template-columns:minmax(0,1fr) minmax(220px,34%);gap:12px;border-radius:22px}
  .full-speedo{width:min(58vh,500px,57vw)}
  .cockpit-metrics{height:min(74vh,500px);gap:7px}
  .cockpit-metrics article{padding:10px 11px}
}

@media(max-width:600px){
  .cockpit-bar{height:62px}
  .cockpit-main{height:calc(100dvh - 62px);padding:6px}
  .full-speed-card{padding:7px;grid-template-columns:minmax(0,1fr) minmax(142px,39%);gap:6px;border-radius:18px}
  .full-speedo{width:min(55vh,430px,58vw)}
  .full-speed-center span{font-size:6.5px}
  .full-speed-center strong{font-size:clamp(54px,11vh,82px);margin:6px 0 1px}
  .full-speed-center small{font-size:8px}
  .full-speed-center b{font-size:7px;padding:4px 10px;margin-top:8px}
  .full-scale{left:15%;right:15%;bottom:16%;font-size:6px}
  .cockpit-metrics{height:min(82vh,470px);gap:4px}
  .cockpit-metrics article{padding:6px 6px;border-radius:8px}
  .cockpit-metrics span{font-size:5.5px;letter-spacing:.1em}
  .cockpit-metrics b{font-size:clamp(12px,3.5vw,16px);margin:3px 0 0}
  .cockpit-metrics small{font-size:5px}
  .cockpit-dual-row{gap:3px;margin-top:2px;padding-top:2px}
  .cockpit-dual-row small{font-size:4.8px!important}
  .cockpit-dual-row b{font-size:clamp(10px,3vw,14px)!important}
}

@media(max-width:390px){
  .full-speed-card{grid-template-columns:minmax(0,1fr) minmax(128px,40%);gap:5px;padding:5px}
  .full-speedo{width:min(54vh,350px,57vw)}
  .cockpit-metrics{gap:3px}
  .cockpit-metrics article{padding:5px 4px}
  .cockpit-metrics b{font-size:12px}
}

/* V17 — cockpit visual refresh inspired by the supplied reference, redesigned from scratch. */
.cockpit-screen{background:radial-gradient(900px 500px at 55% 10%,#102333 0,transparent 62%),#05090e;overflow:hidden}
.cockpit-main{height:calc(100dvh - 70px);padding:10px 16px 14px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;max-width:none}
.cockpit-status-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;min-height:0}
.cockpit-status-card{min-width:0;height:68px;border:1px solid #21333f;border-radius:17px;background:linear-gradient(135deg,#0b151e,#080e14);display:flex;align-items:center;gap:12px;padding:10px 15px;box-shadow:inset 0 1px 0 #ffffff08,0 10px 28px #0005}
.cockpit-status-card .status-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;font-size:22px;font-weight:800;background:#102c35;color:var(--cyan);box-shadow:inset 0 0 20px #26d9ff10}
.cockpit-status-card small{display:block;color:#778692;font-size:8px;letter-spacing:.18em;font-weight:700}
.cockpit-status-card b{display:block;font-size:21px;line-height:1.05;margin-top:5px;white-space:nowrap}
.status-temp{border-color:#29404b}.status-battery{border-color:#29422f}.status-battery .status-icon{background:#13291b;color:var(--green)}.status-voltage{border-color:#303b4b}.status-voltage .status-icon{background:#122b36;color:#2de3f5}
.cockpit-dashboard{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);gap:10px;min-height:0}
.speed-panel,.telemetry-panel{min-height:0;border:1px solid #1b303b;border-radius:24px;background:linear-gradient(145deg,#0a141d,#060c12);box-shadow:0 22px 55px #0007,inset 0 1px 0 #ffffff08;overflow:hidden}
.speed-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:14px 18px 10px}
.panel-kicker{display:flex;align-items:center;justify-content:space-between;color:#70808b;font-size:8px;letter-spacing:.18em;font-weight:700}
.panel-kicker b{color:#69e6ed;border:1px solid #23656d;border-radius:99px;padding:5px 9px;font-size:7px;letter-spacing:.13em;background:#0a2227}
.speed-panel .full-speedo{width:min(62vh,560px,47vw);height:auto;aspect-ratio:1;position:relative;justify-self:center;align-self:center}
.full-speed-center span{font-size:8px;letter-spacing:.18em;color:#82909a}.full-speed-center strong{font-size:clamp(72px,10vh,118px);text-shadow:0 0 28px #26d9ff55}.full-speed-center small{font-size:11px;color:#8997a1}.full-speed-center b{font-size:9px;letter-spacing:.16em;padding:6px 15px;border:1px solid #26d9ff66;border-radius:99px;background:#0b252b;color:#6ff3f5;box-shadow:0 0 18px #26d9ff12}
.speed-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #172832;padding:8px 3px 0;color:#667681;font-size:8px;letter-spacing:.15em}.speed-footer b{font-size:12px;color:#c6d4db;letter-spacing:0}.speed-footer i{font-style:normal;color:var(--cyan)}
.telemetry-panel{padding:15px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}.telemetry-head{display:flex;justify-content:space-between;align-items:center}.panel-kicker-text{font-size:8px;letter-spacing:.18em;color:#71818c}.telemetry-head h2{font-size:20px;margin:2px 0 0;letter-spacing:-.03em}.live-dot{width:9px;height:9px;border-radius:50%;background:#ff5568;box-shadow:0 0 12px #ff5568aa}
.dial-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-dial{display:grid;place-items:center;min-height:150px;border:1px solid #1a2b35;border-radius:19px;background:radial-gradient(circle at 50% 40%,#0d1821,#071017);position:relative;overflow:hidden}.mini-dial:after{content:"";position:absolute;inset:15px;border-radius:50%;border:1px dashed #2b3b45;opacity:.75}.dial-ring{width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #2a3a44;box-shadow:inset 0 0 22px #0008,0 0 24px #0004;position:relative;z-index:1}.dial-ring span{font-size:8px;letter-spacing:.17em;color:#788791}.dial-ring b{font-size:31px;line-height:1;margin:5px 0 2px;color:#f1f7fa}.dial-ring small{font-size:8px;color:#6d7d87}
.telemetry-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;min-height:0}.data-tile{min-height:0;border:1px solid #1b2d37;border-radius:15px;padding:11px 12px;background:#09131b;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 1px 0 #ffffff05}.data-tile>span{font-size:7px;letter-spacing:.16em;color:#72818b}.data-tile>b{font-size:23px;line-height:1;margin-top:6px;white-space:nowrap}.data-tile small{font-size:7px;color:#596b76;margin-top:5px}.voltage-tile{border-left:2px solid #22dce7}.power-tile{border-left:2px solid #c48a31}.battery-tile{border-left:2px solid #49b96b}.temp-tile{border-left:2px solid #a665dc}.temp-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.temp-pair b{font-size:18px;line-height:1;white-space:nowrap}.temp-pair b:last-child{color:#d9e5ea}.telemetry-bars{display:grid;grid-template-columns:1fr 1fr;gap:9px}.telemetry-bars>div{height:8px;border:1px solid #1a3039;border-radius:99px;background:#0b161e;position:relative;overflow:hidden}.telemetry-bars span{position:absolute;left:0;bottom:10px;font-size:6px;color:#667783;letter-spacing:.13em}.telemetry-bars i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#19cad9,#67e9ed);transition:width .35s ease}.telemetry-bars>div:last-child i{background:linear-gradient(90deg,#9c6cff,#efb04a)}

@media(max-width:900px){
 .cockpit-main{padding:8px 10px 10px;gap:8px}.cockpit-status-card{height:60px;padding:8px 11px}.cockpit-status-card .status-icon{width:36px;height:36px;flex-basis:36px;font-size:18px}.cockpit-status-card b{font-size:18px}.cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(310px,.9fr);gap:8px}.speed-panel{padding:11px 13px 9px}.speed-panel .full-speedo{width:min(57vh,500px,49vw)}.telemetry-panel{padding:12px;gap:8px}.mini-dial{min-height:125px}.dial-ring{width:98px;height:98px}.dial-ring b{font-size:27px}.data-tile>b{font-size:20px}.temp-pair b{font-size:16px}
}
@media(max-width:600px){
 .cockpit-main{height:calc(100dvh - 62px);padding:6px;gap:6px}.cockpit-status-strip{gap:5px}.cockpit-status-card{height:48px;border-radius:12px;padding:5px 7px;gap:6px}.cockpit-status-card .status-icon{width:28px;height:28px;flex-basis:28px;border-radius:9px;font-size:14px}.cockpit-status-card small{font-size:5px}.cockpit-status-card b{font-size:13px;margin-top:3px}.cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(126px,43%);gap:5px}.speed-panel,.telemetry-panel{border-radius:15px}.speed-panel{padding:7px 7px 6px}.speed-panel .full-speedo{width:min(55vh,430px,57vw)}.panel-kicker{font-size:5.5px}.panel-kicker b{font-size:5px;padding:3px 6px}.full-speed-center span{font-size:5.5px}.full-speed-center strong{font-size:clamp(50px,10vh,78px);margin:5px 0 1px}.full-speed-center small{font-size:7px}.full-speed-center b{font-size:6px;padding:4px 9px;margin-top:6px}.full-scale{font-size:5px;left:14%;right:14%;bottom:16%}.speed-footer{font-size:5px;padding-top:5px}.speed-footer b{font-size:8px}.telemetry-panel{padding:7px;gap:5px}.panel-kicker-text{font-size:5px}.telemetry-head h2{font-size:12px;margin-top:1px}.live-dot{width:6px;height:6px}.dial-row{gap:4px}.mini-dial{min-height:92px;border-radius:10px}.mini-dial:after{inset:8px}.dial-ring{width:70px;height:70px}.dial-ring span{font-size:5px}.dial-ring b{font-size:19px;margin:3px 0 1px}.dial-ring small{font-size:5px}.telemetry-grid{gap:4px}.data-tile{padding:6px 7px;border-radius:9px}.data-tile>span{font-size:4.7px}.data-tile>b{font-size:14px;margin-top:4px}.data-tile small{font-size:4.5px;margin-top:3px}.temp-pair{gap:3px;margin-top:4px}.temp-pair b{font-size:11px}.telemetry-bars{gap:4px}.telemetry-bars>div{height:5px}.telemetry-bars span{font-size:4px;bottom:7px}
}
@media(max-width:390px){
 .cockpit-status-card{height:44px;padding:4px 5px}.cockpit-status-card .status-icon{width:24px;height:24px;flex-basis:24px;font-size:12px}.cockpit-status-card b{font-size:11px}.cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(116px,43%);gap:4px}.speed-panel{padding:5px}.speed-panel .full-speedo{width:min(53vh,350px,57vw)}.telemetry-panel{padding:5px}.mini-dial{min-height:82px}.dial-ring{width:62px;height:62px}.dial-ring b{font-size:17px}.data-tile{padding:5px}.data-tile>b{font-size:12px}.temp-pair b{font-size:10px}
}

/* V18 — original cockpit redesign: one source of truth for each telemetry group. */
.cockpit-screen{background:radial-gradient(900px 520px at 35% 35%,#0e2733 0,transparent 58%),radial-gradient(700px 420px at 90% 80%,#151c2c 0,transparent 55%),#05080d;overflow:hidden}
.cockpit-main{height:calc(100dvh - 70px);padding:12px 16px 14px;display:block;min-height:0;max-width:none}
.cockpit-dashboard{height:100%;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:12px;min-height:0}
.speed-panel,.telemetry-panel{min-height:0;border:1px solid #1b303c;border-radius:26px;background:linear-gradient(145deg,rgba(12,21,30,.98),rgba(6,11,17,.98));box-shadow:0 24px 70px #0008,inset 0 1px 0 #ffffff08;overflow:hidden}
.speed-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:15px 20px 11px}
.speed-panel .full-speedo{width:min(67vh,610px,52vw);height:auto;aspect-ratio:1;position:relative;justify-self:center;align-self:center}
.full-speed-center span{font-size:9px;letter-spacing:.2em;color:#83939d}.full-speed-center strong{font-size:clamp(76px,11vh,128px);text-shadow:0 0 30px #26d9ff55}.full-speed-center small{font-size:12px;color:#8b9aa4}.full-speed-center b{font-size:9px;letter-spacing:.18em;padding:6px 16px;border:1px solid #26d9ff66;border-radius:99px;background:#0a252c;color:#73f0f2;box-shadow:0 0 20px #26d9ff14}
.speed-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #172832;padding:9px 3px 0;color:#667681;font-size:8px;letter-spacing:.15em}.speed-footer b{font-size:13px;color:#c6d4db;letter-spacing:0}.speed-footer i{font-style:normal;color:var(--cyan)}
.telemetry-panel{padding:17px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.telemetry-head{display:flex;justify-content:space-between;align-items:center}.panel-kicker-text{font-size:8px;letter-spacing:.2em;color:#71818c}.telemetry-head h2{font-size:21px;margin:2px 0 0;letter-spacing:-.03em}.cockpit-live{display:flex;align-items:center;gap:7px;color:#7c8c96;font-size:7px;letter-spacing:.13em}.live-dot{width:8px;height:8px;border-radius:50%;background:#45df91;box-shadow:0 0 13px #45df9188}
.cockpit-metric-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;min-height:0}
.cockpit-metric{position:relative;min-width:0;min-height:0;border:1px solid #1b2c36;border-radius:17px;padding:14px 15px;background:linear-gradient(145deg,#0b161f,#081018);display:flex;flex-direction:column;justify-content:center;overflow:hidden;box-shadow:inset 0 1px 0 #ffffff05}
.cockpit-metric:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:2px;border-radius:99px;background:#34434c}.rpm-metric:before{background:#26d9ff}.current-metric:before{background:#b96dff}.voltage-metric:before{background:#38dce7}.power-metric:before{background:#ffb64a}.battery-metric:before{background:#4bd277}.temperature-metric:before{background:#f16b9b}
.cockpit-metric>span{font-size:7px;letter-spacing:.19em;color:#74858f;font-weight:700}.cockpit-metric>b{font-size:clamp(24px,3.2vh,38px);line-height:1.05;margin-top:7px;color:#eef5f7;white-space:nowrap;letter-spacing:-.04em}.cockpit-metric>b i{font-style:normal}.cockpit-metric small{font-size:7px;color:#586a75;margin-top:5px;white-space:nowrap}.temp-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.temp-pair b{font-size:clamp(18px,2.5vh,28px);line-height:1;white-space:nowrap;color:#eef5f7;letter-spacing:-.03em}.temp-pair b i{font-style:normal}.metric-progress{height:4px;margin-top:9px;background:#14242b;border-radius:99px;overflow:hidden}.metric-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2fd27a,#82f0ae);border-radius:99px;transition:width .35s ease}.cockpit-bottom-line{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.cockpit-bottom-line>span{font-size:6px;letter-spacing:.16em;color:#667883}.cockpit-bottom-line>div{height:5px;background:#111f28;border:1px solid #20333d;border-radius:99px;overflow:hidden}.cockpit-bottom-line i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#9066ff,#ffb84e);transition:width .35s ease}
/* No duplicated quick-status strip in the cockpit. */
.cockpit-status-strip{display:none!important}
@media (max-width:900px){
 .cockpit-main{height:calc(100dvh - 62px);padding:7px}
 .cockpit-dashboard{grid-template-columns:minmax(0,1.05fr) minmax(132px,.95fr);gap:7px}
 .speed-panel,.telemetry-panel{border-radius:18px}
 .speed-panel{padding:8px 9px 7px}
 .speed-panel .full-speedo{width:min(56vh,500px,55vw)}
 .full-speed-center span{font-size:6px}.full-speed-center strong{font-size:clamp(48px,10vh,82px)}.full-speed-center small{font-size:8px}.full-speed-center b{font-size:6px;padding:4px 9px;margin-top:6px}
 .full-scale{font-size:5px;left:14%;right:14%;bottom:16%}.speed-footer{font-size:5px;padding-top:5px}.speed-footer b{font-size:8px}
 .telemetry-panel{padding:8px;gap:7px}.panel-kicker-text{font-size:5px}.telemetry-head h2{font-size:12px;margin-top:1px}.cockpit-live{font-size:4.5px;gap:4px}.live-dot{width:6px;height:6px}
 .cockpit-metric-grid{gap:5px}.cockpit-metric{padding:7px 8px;border-radius:10px}.cockpit-metric:before{top:9px;bottom:9px}.cockpit-metric>span{font-size:4.8px}.cockpit-metric>b{font-size:clamp(13px,3.3vw,20px);margin-top:4px}.cockpit-metric small{font-size:4.5px;margin-top:3px}.temp-pair{gap:4px;margin-top:5px}.temp-pair b{font-size:clamp(10px,2.6vw,16px)}.metric-progress{height:3px;margin-top:5px}.cockpit-bottom-line{gap:5px}.cockpit-bottom-line>span{font-size:4px}.cockpit-bottom-line>div{height:4px}
}
@media (max-width:390px){
 .cockpit-main{padding:5px}.cockpit-dashboard{grid-template-columns:minmax(0,1.03fr) minmax(118px,.97fr);gap:4px}.speed-panel,.telemetry-panel{border-radius:14px}.speed-panel{padding:5px}.speed-panel .full-speedo{width:min(54vh,370px,57vw)}.full-speed-center span{font-size:5px}.full-speed-center strong{font-size:clamp(42px,9.5vh,68px)}.full-speed-center small{font-size:6px}.full-speed-center b{font-size:5px;padding:3px 7px}.telemetry-panel{padding:5px;gap:4px}.telemetry-head h2{font-size:10px}.cockpit-metric-grid{gap:3px}.cockpit-metric{padding:5px 6px;border-radius:8px}.cockpit-metric>span{font-size:4px}.cockpit-metric>b{font-size:12px;margin-top:3px}.cockpit-metric small{font-size:3.8px}.temp-pair{gap:2px;margin-top:3px}.temp-pair b{font-size:9px}.metric-progress{height:2px}.cockpit-bottom-line{gap:3px}.cockpit-bottom-line>span{font-size:3.5px}.cockpit-bottom-line>div{height:3px}
}

/* V19 cockpit refinement: compact RPM gauge, redesigned current dial, single battery/temperature sources, relevant icons. */
.metric-title{display:flex;align-items:center;gap:7px;margin-bottom:2px}.metric-title>span:last-child{font-size:7px;letter-spacing:.19em;color:#74858f;font-weight:700}.metric-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#12232c;border:1px solid #203945;color:#7cecff;font-size:12px;font-weight:800;box-shadow:inset 0 1px 0 #ffffff08}.current-icon{color:#d6a0ff;background:#21182d;border-color:#4b2e60;font-size:10px}.rpm-icon{color:#7cecff;background:#102a34;border-color:#235161}
.cockpit-metric{justify-content:flex-start}.cockpit-metric>span:not(.metric-icon){font-size:7px}.cockpit-metric .metric-title>span:last-child{font-size:7px}.metric-value{font-size:clamp(24px,3.2vh,38px);line-height:1.05;margin-top:12px;color:#eef5f7;white-space:nowrap;letter-spacing:-.04em}.metric-value i{font-style:normal}
.rpm-mini-gauge{width:min(105px,8vw,11vh);aspect-ratio:1;border-radius:50%;margin:4px auto 0;position:relative;display:grid;place-items:center;background:conic-gradient(from 220deg,#26d9ff 0 18%,#16303b 18% 72%,#101b22 72% 100%);box-shadow:0 0 22px #26d9ff14}.rpm-mini-gauge:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#09121a;border:1px solid #1c313b}.rpm-mini-track{position:absolute;inset:4px;border-radius:50%;border:1px dashed #49606a;opacity:.65}.rpm-mini-value{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}.rpm-mini-value b{font-size:clamp(21px,3vh,34px);line-height:1;color:#f2fbff}.rpm-mini-value small{font-size:6px;color:#6d818b;margin-top:3px;letter-spacing:.12em}.rpm-metric>small,.current-metric>small{display:block;text-align:center;width:100%;margin-top:3px}
.current-dial{width:min(112px,9vw,12vh);aspect-ratio:1;border-radius:50%;margin:3px auto 0;padding:6px;background:conic-gradient(from -55deg,#b96dff 0 31%,#26313c 31% 100%);box-shadow:0 0 24px #b96dff14}.current-dial-ring{height:100%;width:100%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#17212b,#080f16 72%);border:1px solid #35424d;box-shadow:inset 0 0 0 5px #0a1219}.current-dial-ring span{display:flex;align-items:baseline;gap:3px}.current-dial-ring b{font-size:clamp(20px,3vh,34px);line-height:1;color:#fff}.current-dial-ring small{font-size:7px;color:#9aa9b2}
.temp-stack{display:grid;gap:5px;margin-top:8px}.temp-stack>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:6px;padding:4px 6px;border-radius:7px;background:#0d1820;border:1px solid #182c36}.temp-stack span{font-size:5px;letter-spacing:.14em;color:#71838d}.temp-stack b{font-size:clamp(12px,1.9vh,19px);line-height:1;color:#eef5f7;white-space:nowrap}.temp-stack i{font-style:normal}
.battery-metric .metric-value{margin-top:12px}.battery-metric .metric-progress{margin-top:auto;width:100%}.voltage-metric .metric-value,.power-metric .metric-value{margin-top:auto;margin-bottom:5px}
@media (max-width:900px){.metric-title{gap:4px}.metric-icon{width:19px;height:19px;border-radius:6px;font-size:9px}.metric-title>span:last-child{font-size:5px}.cockpit-metric .metric-title>span:last-child{font-size:5px}.metric-value{font-size:clamp(14px,3.2vw,21px);margin-top:7px}.rpm-mini-gauge{width:min(72px,8vw,10vh)}.rpm-mini-value b{font-size:clamp(14px,2.7vw,23px)}.current-dial{width:min(76px,9vw,11vh)}.current-dial-ring b{font-size:clamp(14px,2.8vw,23px)}.current-dial-ring small{font-size:5px}.temp-stack{gap:2px;margin-top:5px}.temp-stack>div{padding:3px 4px;border-radius:5px}.temp-stack span{font-size:3.8px}.temp-stack b{font-size:clamp(8px,2.3vw,14px)} }
@media (max-width:390px){.metric-icon{width:16px;height:16px;font-size:7px}.metric-title{gap:3px}.cockpit-metric .metric-title>span:last-child{font-size:4px}.metric-value{font-size:12px;margin-top:5px}.rpm-mini-gauge{width:55px}.rpm-mini-value b{font-size:14px}.rpm-mini-value small{font-size:4px}.current-dial{width:58px;padding:4px}.current-dial-ring{box-shadow:inset 0 0 0 3px #0a1219}.current-dial-ring b{font-size:13px}.current-dial-ring small{font-size:4px}.temp-stack{margin-top:3px;gap:2px}.temp-stack>div{padding:2px 3px}.temp-stack span{font-size:3.2px}.temp-stack b{font-size:8px}.battery-metric .metric-progress{height:2px}}


/* V20 refinements: larger key readouts, clearer temperature icon, no text overflow. */
.cockpit-metric{min-width:0;overflow:hidden}
.metric-title{min-width:0;white-space:nowrap;overflow:hidden}
.metric-title>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.metric-icon{flex:0 0 auto}
.cockpit-metric>small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.metric-value{font-size:clamp(27px,3.6vh,42px);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.rpm-mini-gauge{width:min(116px,9vw,12vh)}
.rpm-mini-value b{font-size:clamp(23px,3.3vh,37px)}
.current-dial{width:min(122px,10vw,13vh)}
.current-dial-ring b{font-size:clamp(23px,3.3vh,37px)}
.power-metric .metric-value{font-size:clamp(28px,3.8vh,44px)}
.temp-icon{color:#fff;background:transparent;border:0;box-shadow:none}
.temp-stack{min-width:0}
.temp-stack>div{min-width:0}
.temp-stack span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.temp-stack b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){
 .metric-value{font-size:clamp(16px,3.6vw,24px)}
 .power-metric .metric-value{font-size:clamp(17px,3.8vw,26px)}
 .rpm-mini-gauge{width:min(78px,9vw,11vh)}
 .rpm-mini-value b{font-size:clamp(15px,3vw,25px)}
 .current-dial{width:min(82px,10vw,12vh)}
 .current-dial-ring b{font-size:clamp(15px,3vw,25px)}
}
@media (max-width:390px){
 .metric-value{font-size:13px}
 .power-metric .metric-value{font-size:14px}
 .rpm-mini-gauge{width:58px}
 .rpm-mini-value b{font-size:15px}
 .current-dial{width:61px}
 .current-dial-ring b{font-size:14px}
}

/* V21: enlarge only RPM + CURRENT cards; compact 3-column temperature readout. */
.cockpit-metric-grid{grid-template-rows:minmax(1.18fr,1.18fr) minmax(1fr,1fr) minmax(1fr,1fr)}
.rpm-metric,.current-metric{padding:16px 17px}
.rpm-metric .rpm-mini-gauge{width:min(142px,10.5vw,15vh)}
.rpm-metric .rpm-mini-value b{font-size:clamp(27px,3.8vh,43px)}
.current-metric .current-dial{width:min(146px,11vw,16vh);padding:7px}
.current-metric .current-dial-ring b{font-size:clamp(27px,3.8vh,43px)}
.temperature-metric .temp-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}
.temperature-metric .temp-stack>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 4px;min-width:0;text-align:center}
.temperature-metric .temp-stack span{font-size:5px;letter-spacing:.11em;max-width:100%}
.temperature-metric .temp-stack b{font-size:clamp(13px,2vh,20px);white-space:nowrap}
@media (max-width:900px){
 .cockpit-metric-grid{grid-template-rows:minmax(1.18fr,1.18fr) minmax(1fr,1fr) minmax(1fr,1fr)}
 .rpm-metric,.current-metric{padding:8px 9px}
 .rpm-metric .rpm-mini-gauge{width:min(92px,11vw,13vh)}
 .rpm-metric .rpm-mini-value b{font-size:clamp(17px,3.4vw,28px)}
 .current-metric .current-dial{width:min(96px,12vw,14vh);padding:5px}
 .current-metric .current-dial-ring b{font-size:clamp(17px,3.4vw,28px)}
 .temperature-metric .temp-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:5px}
 .temperature-metric .temp-stack>div{padding:4px 2px;gap:2px}
 .temperature-metric .temp-stack span{font-size:3.5px}
 .temperature-metric .temp-stack b{font-size:clamp(9px,2.2vw,14px)}
}
@media (max-width:390px){
 .rpm-metric .rpm-mini-gauge{width:66px}
 .rpm-metric .rpm-mini-value b{font-size:17px}
 .current-metric .current-dial{width:69px;padding:4px}
 .current-metric .current-dial-ring b{font-size:16px}
 .temperature-metric .temp-stack{gap:2px}
 .temperature-metric .temp-stack>div{padding:3px 1px}
 .temperature-metric .temp-stack span{font-size:3px}
 .temperature-metric .temp-stack b{font-size:8px}
}

/* V22 — temperature moved to a dedicated top strip; RPM/CURRENT get larger cards. */
.cockpit-main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}
.cockpit-temperature-strip{min-height:0;border:1px solid #1b2c36;border-radius:18px;padding:10px 12px;background:linear-gradient(145deg,#0b161f,#081018);box-shadow:inset 0 1px 0 #ffffff05}
.temperature-strip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.thermal-live{display:flex;align-items:center;gap:5px;color:#6f828c;font-size:6px;letter-spacing:.16em}.thermal-live .live-dot{width:6px;height:6px}
.cockpit-clock-wrap{display:flex;align-items:center;gap:10px}.cockpit-clock{min-width:78px;text-align:center;padding:5px 9px;border:1px solid #23404b;border-radius:9px;background:#071219;color:#dffaff;font-size:12px;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 14px #26d9ff0a}.cockpit-clock span{display:block}
.temperature-strip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.temperature-chip{min-width:0;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #1b3039;border-radius:12px;background:#0a141c;overflow:hidden}.temperature-chip .chip-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:8px;font-size:11px;font-weight:800}.temperature-chip .chip-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.temperature-chip small{font-size:8px;font-weight:800;letter-spacing:.14em}.temperature-chip b{font-size:clamp(17px,2.3vh,24px);line-height:1;color:#eef5f7;white-space:nowrap}.temperature-chip div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%}.temperature-chip small{font-size:6px;letter-spacing:.16em;color:#72838c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.temperature-chip b{font-size:clamp(15px,2.1vh,22px);line-height:1;color:#eef5f7;white-space:nowrap}.controller-chip .chip-icon{color:#f4fbff;background:transparent;border:0;filter:drop-shadow(0 0 6px #7cecff66)}.motor-chip .chip-icon{color:#f4fbff;background:transparent;border:0;filter:drop-shadow(0 0 6px #ffffff55)}.battery-chip .chip-icon{color:#73e49a;background:#10291b;border:1px solid #245838}
.cockpit-dashboard{grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr)}
.cockpit-metric-grid{grid-template-rows:minmax(1.28fr,1.28fr) minmax(1fr,1fr)}
.rpm-metric,.current-metric{padding:18px 20px}
.rpm-metric .rpm-mini-gauge{width:min(154px,12vw,17vh)}.rpm-metric .rpm-mini-value b{font-size:clamp(29px,4vh,46px)}
.current-metric .current-dial{width:min(158px,13vw,18vh);padding:8px}.current-metric .current-dial-ring b{font-size:clamp(29px,4vh,46px)}
@media (max-width:900px){
 .cockpit-main{grid-template-rows:auto minmax(0,1fr);gap:5px;padding:5px}
 .cockpit-temperature-strip{padding:5px 6px;border-radius:12px}.temperature-strip-head{margin-bottom:4px}.cockpit-clock-wrap{gap:5px}.cockpit-clock{min-width:52px;padding:3px 5px;font-size:8px}.thermal-live{font-size:4px}.thermal-live .live-dot{width:5px;height:5px}.temperature-strip-grid{gap:4px}.temperature-chip{padding:5px 6px;gap:5px;border-radius:8px}.temperature-chip .chip-icon{width:22px;height:22px;flex-basis:22px;border-radius:5px;font-size:7px}.temperature-chip .chip-icon svg{width:16px;height:16px}.temperature-chip small{font-size:5.5px;font-weight:800}.temperature-chip b{font-size:clamp(11px,2.5vw,16px)}.temperature-chip div{gap:3px}.temperature-chip small{font-size:3.5px}.temperature-chip b{font-size:clamp(10px,2.4vw,15px)}
 .cockpit-dashboard{grid-template-columns:minmax(0,.9fr) minmax(128px,1.1fr);gap:5px}
 .cockpit-metric-grid{grid-template-rows:minmax(1.28fr,1.28fr) minmax(1fr,1fr)}
 .rpm-metric,.current-metric{padding:8px 9px}.rpm-metric .rpm-mini-gauge{width:min(98px,13vw,14vh)}.rpm-metric .rpm-mini-value b{font-size:clamp(18px,3.8vw,30px)}.current-metric .current-dial{width:min(102px,14vw,15vh);padding:5px}.current-metric .current-dial-ring b{font-size:clamp(18px,3.8vw,30px)}
}
@media (max-width:390px){
 .cockpit-temperature-strip{padding:4px}.cockpit-clock-wrap{gap:3px}.cockpit-clock{min-width:44px;padding:2px 4px;font-size:7px}.temperature-strip-grid{gap:3px}.temperature-chip{padding:4px;gap:3px}.temperature-chip .chip-icon{width:15px;height:15px;flex-basis:15px;font-size:6px}.temperature-chip small{font-size:3px}.temperature-chip b{font-size:9px}
 .cockpit-dashboard{grid-template-columns:minmax(0,.88fr) minmax(112px,1.12fr);gap:3px}.rpm-metric .rpm-mini-gauge{width:70px}.rpm-metric .rpm-mini-value b{font-size:17px}.current-metric .current-dial{width:73px}.current-metric .current-dial-ring b{font-size:16px}
}

/* V23 — refined telemetry dials: RPM + CURRENT as a larger paired gauge row, with a distinct visual treatment. */
.telemetry-panel{min-width:0}
.telemetry-head{min-width:0}
.telemetry-head>div:first-child{min-width:0}
.telemetry-head h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:18px;letter-spacing:-.025em}
.cockpit-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(1.38fr,1.38fr) minmax(.92fr,.92fr) minmax(.92fr,.92fr);gap:9px}
.rpm-metric,.current-metric{min-width:0;min-height:0;position:relative;align-items:center;text-align:center;justify-content:center;padding:12px 12px 10px}
.rpm-metric .metric-title,.current-metric .metric-title{width:100%;justify-content:center;margin-bottom:2px}
.rpm-metric .metric-title>span:last-child,.current-metric .metric-title>span:last-child{font-size:8px;letter-spacing:.18em}
/* RPM: segmented arc / compact vehicle-style gauge, deliberately different from the speedometer. */
.rpm-mini-gauge{width:min(150px,13vw,17vh);margin:5px auto 0;background:conic-gradient(from 225deg,#25d7e9 0 23%,#17313a 23% 67%,#101c23 67% 100%);box-shadow:0 0 26px #25d7e914}
.rpm-mini-gauge:before{content:"";position:absolute;inset:5px;border-radius:50%;background:repeating-conic-gradient(from 220deg,#68808a 0 2deg,transparent 2deg 12deg);opacity:.45;z-index:1}
.rpm-mini-gauge:after{inset:11px;background:radial-gradient(circle at 50% 35%,#12222c,#071017 72%);border:1px solid #28414b}
.rpm-mini-track{inset:7px;border:0;border-top:2px solid #32ddeb;border-right:2px solid transparent;transform:rotate(-35deg);opacity:.8;z-index:2}
.rpm-mini-value{z-index:3}
.rpm-mini-value b{font-size:clamp(29px,4vh,46px)}
.rpm-mini-value small{font-size:7px;letter-spacing:.16em;color:#6c858f}
.rpm-metric>small,.current-metric>small{font-size:6px;letter-spacing:.1em;color:#647781;margin-top:4px}
/* Current: ring meter with a different lavender/blue sweep and center readout. */
.current-dial{width:min(154px,13.5vw,17.5vh);margin:5px auto 0;padding:8px;background:conic-gradient(from -42deg,#8f73ff 0 18%,#38d9e8 18% 38%,#1a2a34 38% 100%);box-shadow:0 0 28px #8f73ff12}
.current-dial:before{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed #52646d;opacity:.5}
.current-dial-ring{background:radial-gradient(circle at 40% 30%,#182732,#070d13 70%);border:1px solid #3a4b55;box-shadow:inset 0 0 0 6px #091219, inset 0 0 25px #0008}
.current-dial-ring b{font-size:clamp(29px,4vh,46px)}
.current-dial-ring small{font-size:8px;color:#8fa1aa}
.voltage-metric,.power-metric,.battery-metric{min-width:0}
.cockpit-metric .metric-value{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){
 .telemetry-head h2{font-size:12px;max-width:95%;}
 .cockpit-metric-grid{gap:5px;grid-template-rows:minmax(1.38fr,1.38fr) minmax(.92fr,.92fr) minmax(.92fr,.92fr)}
 .rpm-metric,.current-metric{padding:8px 7px}
 .rpm-metric .metric-title>span:last-child,.current-metric .metric-title>span:last-child{font-size:5px}
 .rpm-mini-gauge{width:min(106px,14vw,15vh)}
 .rpm-mini-gauge:before{inset:4px}
 .rpm-mini-gauge:after{inset:8px}
 .rpm-mini-value b{font-size:clamp(19px,4vw,31px)}
 .rpm-mini-value small{font-size:5px}
 .current-dial{width:min(110px,14vw,15.5vh);padding:5px}
 .current-dial-ring b{font-size:clamp(19px,4vw,31px)}
 .current-dial-ring small{font-size:5px}
 .rpm-metric>small,.current-metric>small{font-size:4px}
}
@media (max-width:390px){
 .telemetry-head h2{font-size:9px;letter-spacing:-.01em}
 .cockpit-metric-grid{gap:3px}
 .rpm-mini-gauge{width:76px}
 .rpm-mini-value b{font-size:18px}
 .current-dial{width:78px;padding:4px}
 .current-dial-ring b{font-size:17px}
}

/* V24 final layout correction:
   - Vehicle Data heading is never clipped.
   - RPM and CURRENT receive genuinely larger card widths.
   - Voltage, Power and Battery remain compact.
*/
.telemetry-head{min-width:0}
.telemetry-head>div:first-child{min-width:0;flex:1}
.telemetry-head h2{white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none;line-height:1.1}
.cockpit-live{flex:0 0 auto;white-space:nowrap}
.cockpit-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(1.38fr,1.38fr) minmax(.78fr,.78fr);gap:9px}
.rpm-metric,.current-metric{grid-column:span 3}
.voltage-metric,.power-metric,.battery-metric{grid-column:span 2}
.rpm-metric,.current-metric{padding:14px 14px 12px}
.rpm-metric .rpm-mini-gauge{width:min(172px,15vw,18vh)}
.current-metric .current-dial{width:min(176px,15.5vw,19vh);padding:9px}
.rpm-metric .rpm-mini-value b,.current-metric .current-dial-ring b{font-size:clamp(30px,4.2vh,48px)}

@media (max-width:900px){
  .telemetry-head h2{font-size:12px;white-space:nowrap;overflow:visible}
  .cockpit-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(1.38fr,1.38fr) minmax(.76fr,.76fr);gap:5px}
  .rpm-metric,.current-metric{grid-column:span 3;padding:9px 8px}
  .voltage-metric,.power-metric,.battery-metric{grid-column:span 2}
  .rpm-metric .rpm-mini-gauge{width:min(118px,15vw,16vh)}
  .current-metric .current-dial{width:min(122px,16vw,17vh);padding:6px}
  .rpm-metric .rpm-mini-value b,.current-metric .current-dial-ring b{font-size:clamp(20px,4vw,32px)}
}

@media (max-width:390px){
  .telemetry-head h2{font-size:9px;letter-spacing:0;white-space:nowrap}
  .cockpit-metric-grid{gap:3px}
  .rpm-metric,.current-metric{padding:6px 5px}
  .voltage-metric,.power-metric,.battery-metric{padding:5px 5px}
  .rpm-metric .rpm-mini-gauge{width:82px}
  .current-metric .current-dial{width:84px;padding:4px}
  .rpm-metric .rpm-mini-value b,.current-metric .current-dial-ring b{font-size:19px}
}

/* V25 — hard layout containment fix.
   Prevent the cockpit grid, speedometer and telemetry labels from ever
   exceeding the viewport or being clipped by an oversized child. */
html,body{max-width:100%;overflow-x:hidden}
body.cockpit-open{width:100vw;max-width:100vw;overflow:hidden}
.cockpit-screen{width:100vw;max-width:100vw;left:0;right:0;overflow:hidden}
.cockpit-main{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.cockpit-dashboard{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.speed-panel,.telemetry-panel{min-width:0;max-width:100%;box-sizing:border-box}
.speed-panel>*{min-width:0;max-width:100%}
.speed-panel .full-speedo{width:min(67vh,610px,52vw,100%);max-width:100%;min-width:0}
.speed-footer{min-width:0;max-width:100%;overflow:hidden}
.speed-footer span,.speed-footer b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.telemetry-panel{min-width:0;overflow:hidden}
.telemetry-head{min-width:0;max-width:100%;overflow:visible}
.telemetry-head>div:first-child{min-width:0;max-width:100%}
.telemetry-head h2{display:block;max-width:100%;min-width:0;white-space:nowrap;overflow:visible;text-overflow:clip;word-break:keep-all}
.cockpit-live{min-width:0;flex:0 0 auto}
.cockpit-metric-grid{width:100%;max-width:100%;min-width:0}
.cockpit-metric{min-width:0;max-width:100%}
.cockpit-metric .metric-title,.cockpit-metric .metric-title>span:last-child,.cockpit-metric>small{min-width:0;max-width:100%}
.metric-value{min-width:0;max-width:100%}

@media (max-width:900px){
  .cockpit-main{padding-left:6px;padding-right:6px}
  .cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}
  .speed-panel .full-speedo{width:min(54vh,370px,48vw,100%);max-width:100%}
  .telemetry-head h2{font-size:clamp(10px,2.2vw,14px);white-space:nowrap;overflow:visible}
}

@media (max-width:390px){
  .cockpit-main{padding-left:4px;padding-right:4px}
  .cockpit-dashboard{gap:3px}
  .speed-panel .full-speedo{width:min(48vh,300px,47vw,100%)}
  .telemetry-head h2{font-size:9px;white-space:nowrap;overflow:visible}
}


/* V26 TOTAL COCKPIT LAYOUT OVERRIDE
   One authoritative layout at the end of the stylesheet.
   Prevents earlier V17-V25 rules from fighting each other. */
.cockpit-screen.show{overflow:hidden!important;width:100vw!important;max-width:100vw!important;box-sizing:border-box!important}
.cockpit-main{width:100%!important;max-width:none!important;height:calc(100dvh - 70px)!important;margin:0!important;padding:10px 14px 12px!important;box-sizing:border-box!important;display:grid!important;grid-template-rows:68px minmax(0,1fr)!important;gap:10px!important;overflow:hidden!important;min-width:0!important}
.cockpit-status-strip{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.cockpit-status-card{width:100%!important;min-width:0!important;max-width:none!important;overflow:hidden!important}
.cockpit-status-card small,.cockpit-status-card b{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.cockpit-dashboard{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr)!important;gap:10px!important;overflow:hidden!important}
.speed-panel,.telemetry-panel{width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important}
.speed-panel{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;padding:12px 16px 9px!important}
.speed-panel .full-speedo{width:min(100%,58vh,520px)!important;max-width:100%!important;height:auto!important;min-width:0!important}
.telemetry-panel{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;padding:13px!important;gap:8px!important}
.telemetry-head{width:100%!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;overflow:hidden!important}
.telemetry-head>div:first-child{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important}
.telemetry-head h2{display:block!important;width:100%!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:19px!important;line-height:1.15!important}
.cockpit-live{flex:0 0 auto!important;margin-left:10px!important;white-space:nowrap!important}
.cockpit-metric-grid{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:minmax(0,1.45fr) minmax(0,.85fr)!important;gap:8px!important;overflow:hidden!important}
.cockpit-metric{width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important}
.rpm-metric,.current-metric{grid-column:span 3!important;padding:12px!important}
.voltage-metric,.power-metric,.battery-metric{grid-column:span 2!important;padding:10px!important}
.rpm-metric .rpm-mini-gauge{width:min(170px,18vh,90%)!important;max-width:100%!important}
.current-metric .current-dial{width:min(174px,18vh,90%)!important;max-width:100%!important}
.rpm-metric .rpm-mini-value b,.current-metric .current-dial-ring b{font-size:clamp(28px,4vh,46px)!important}
.metric-title{min-width:0!important;max-width:100%!important}
.metric-title>span:last-child{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.cockpit-metric>small{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.metric-value{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.cockpit-bottom-line{width:100%!important;min-width:0!important;overflow:hidden!important}
.cockpit-bottom-line>div{min-width:0!important;flex:1 1 auto!important}

@media (max-width:900px){
  .cockpit-main{height:calc(100dvh - 62px)!important;padding:7px!important;grid-template-rows:54px minmax(0,1fr)!important;gap:6px!important}
  .cockpit-status-strip{gap:6px!important}
  .cockpit-status-card{height:54px!important;padding:7px 9px!important}
  .cockpit-dashboard{grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr)!important;gap:6px!important}
  .speed-panel{padding:8px 9px 7px!important}
  .speed-panel .full-speedo{width:min(100%,50vh,430px)!important}
  .telemetry-panel{padding:8px!important;gap:5px!important}
  .telemetry-head h2{font-size:14px!important}
  .cockpit-metric-grid{gap:5px!important;grid-template-rows:minmax(0,1.45fr) minmax(0,.85fr)!important}
  .rpm-metric,.current-metric{padding:8px!important}
  .voltage-metric,.power-metric,.battery-metric{padding:7px!important}
  .rpm-metric .rpm-mini-gauge{width:min(125px,18vh,85%)!important}
  .current-metric .current-dial{width:min(130px,18vh,85%)!important}
}
@media (max-width:600px){
  .cockpit-main{height:calc(100dvh - 58px)!important;padding:5px!important;grid-template-rows:44px minmax(0,1fr)!important;gap:5px!important}
  .cockpit-status-strip{gap:4px!important}
  .cockpit-status-card{height:44px!important;padding:5px 6px!important;gap:5px!important;border-radius:11px!important}
  .cockpit-status-card .status-icon{width:25px!important;height:25px!important;flex-basis:25px!important;font-size:12px!important}
  .cockpit-status-card small{font-size:4.5px!important}.cockpit-status-card b{font-size:11px!important}
  .cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1.22fr)!important;gap:4px!important}
  .speed-panel{padding:5px!important;border-radius:14px!important}
  .speed-panel .full-speedo{width:min(100%,48vh,52vw)!important}
  .telemetry-panel{padding:5px!important;border-radius:14px!important;gap:4px!important}
  .telemetry-head h2{font-size:10px!important}
  .cockpit-metric-grid{gap:3px!important}
  .rpm-metric,.current-metric{padding:6px 5px!important}
  .voltage-metric,.power-metric,.battery-metric{padding:5px!important}
  .rpm-metric .rpm-mini-gauge{width:min(92px,17vh,85%)!important}
  .current-metric .current-dial{width:min(96px,17vh,85%)!important}
  .rpm-metric .rpm-mini-value b,.current-metric .current-dial-ring b{font-size:clamp(18px,4vw,28px)!important}
  .metric-value{font-size:clamp(12px,3.2vw,18px)!important}
}
@media (max-width:390px){
  .cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1.28fr)!important}
  .rpm-metric .rpm-mini-gauge{width:70px!important}.current-metric .current-dial{width:74px!important}
  .rpm-metric .rpm-mini-value b,.current-metric .current-dial-ring b{font-size:18px!important}
  .metric-title>span:last-child{font-size:4px!important}.metric-value{font-size:11px!important}
}


/* V28 — CLEAN COCKPIT AUTHORITY
   One final responsive system. No viewport-width hacks, no competing grid rules. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body.cockpit-open{overflow:hidden}
.cockpit-screen{position:fixed;inset:0;width:100%;height:100%;max-width:none;overflow:hidden;box-sizing:border-box}
.cockpit-screen.show{display:block}
.cockpit-bar{height:70px;min-height:70px;box-sizing:border-box}
.cockpit-main{width:100%;height:calc(100vh - 70px);height:calc(100dvh - 70px);padding:10px 14px 12px;box-sizing:border-box;display:grid!important;grid-template-rows:64px minmax(0,1fr);gap:10px;overflow:hidden;min-width:0;min-height:0}
.cockpit-temperature-strip{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;width:100%;height:100%;padding:8px 12px;box-sizing:border-box;overflow:hidden;min-width:0}
.temperature-strip-head{min-width:0;display:flex;flex-direction:column;gap:3px;overflow:hidden}
.temperature-strip-grid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:hidden}
.temperature-chip{min-width:0;width:100%;overflow:hidden;box-sizing:border-box}
.temperature-chip small,.temperature-chip b{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cockpit-dashboard{width:100%;height:100%;display:grid!important;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:10px;min-width:0;min-height:0;overflow:hidden;box-sizing:border-box}
.speed-panel,.telemetry-panel{width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;overflow:hidden}
.speed-panel{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;padding:10px 14px 9px}
 .speed-panel{position:relative;}
.speed-clock{position:absolute;right:clamp(12px,2.2vw,28px);top:50%;transform:translateY(-50%);z-index:5;min-width:96px;padding:8px 12px;border:1px solid #294752;border-radius:12px;background:rgba(5,13,18,.82);color:#eafcff;font-size:16px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.07em;text-align:center;box-shadow:0 8px 24px #0005,inset 0 1px 0 #ffffff08;backdrop-filter:blur(8px);}
.speed-clock span{display:block;white-space:nowrap;}
.battery-real-icon svg{display:block;width:100%;height:100%;}
.speed-panel .full-speedo{width:min(100%,58vh,520px,40vw);max-width:100%;min-width:0;height:auto;aspect-ratio:1;justify-self:center;align-self:center}
.speed-footer{width:100%;min-width:0;overflow:hidden;box-sizing:border-box}
.speed-footer span,.speed-footer b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.telemetry-panel{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;padding:11px}
.telemetry-head{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:hidden}
.telemetry-head>div:first-child{min-width:0;flex:1 1 auto;overflow:hidden}
.telemetry-head h2{font-size:20px;line-height:1.1;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cockpit-live{flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cockpit-metric-grid{width:100%;height:100%;min-width:0;min-height:0;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,1.55fr) minmax(0,.78fr);gap:7px;overflow:hidden}
.cockpit-metric{width:100%;height:100%;min-width:0;min-height:0;max-width:none;box-sizing:border-box;overflow:hidden}
.rpm-metric,.current-metric{grid-column:span 3!important;padding:11px}
.voltage-metric,.power-metric,.battery-metric{grid-column:span 2!important;padding:9px}
.metric-title{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;overflow:hidden}
.metric-title>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cockpit-metric .metric-value,.cockpit-metric>small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* RPM: vehicle-speed-inspired, but lighter and smaller. */
.rpm-mini-gauge{--rpm-pct:0%;--rpm-angle:-135deg;width:min(178px,18vh,82%);aspect-ratio:1;position:relative;display:grid;place-items:center;margin:2px auto 0;border-radius:50%;overflow:hidden;background:radial-gradient(circle,#0a151d 0 56%,transparent 57%),conic-gradient(from 225deg,#25d7e9 0 var(--rpm-pct),#1a2c34 var(--rpm-pct) 75%,transparent 75% 100%);box-shadow:inset 0 0 0 1px #29414a,0 0 24px #25d7e91a}
.rpm-mini-gauge:before{content:"";position:absolute;inset:7%;border-radius:50%;background:repeating-conic-gradient(from 225deg,#71848d 0 1.2deg,transparent 1.2deg 8deg);opacity:.55;mask:radial-gradient(circle,transparent 0 71%,#000 72% 100%)}
.rpm-mini-gauge:after{content:"";position:absolute;inset:16%;border-radius:50%;background:#09131a;border:1px solid #213943;box-shadow:inset 0 0 20px #0008}
.rpm-mini-progress{position:absolute;inset:5%;border-radius:50%;background:conic-gradient(from 225deg,#25d7e9 0 var(--rpm-pct),transparent var(--rpm-pct) 75%,transparent 75%);mask:radial-gradient(circle,transparent 0 82%,#000 83%)}
.rpm-mini-needle{position:absolute;z-index:4;width:2px;height:39%;left:calc(50% - 1px);bottom:50%;transform-origin:50% 100%;transform:rotate(var(--rpm-angle));background:linear-gradient(#fff,#25d7e9);border-radius:99px;box-shadow:0 0 8px #25d7e9;transition:transform 180ms cubic-bezier(.2,.8,.2,1)}
.rpm-mini-hub{position:absolute;z-index:5;width:8%;aspect-ratio:1;border-radius:50%;background:#dffcff;box-shadow:0 0 10px #25d7e9}
.rpm-mini-value{position:relative;z-index:6;text-align:center;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.rpm-mini-value b{font-size:clamp(29px,4vh,46px);line-height:1;color:#f2fbff}
.rpm-mini-value small{font-size:7px;letter-spacing:.16em;color:#6c858f;margin-top:3px}
.rpm-metric>small,.current-metric>small{display:block;text-align:center;width:100%;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Current remains a clean circular instrument. */
.current-dial{width:min(182px,18vh,82%);aspect-ratio:1;margin:2px auto 0;padding:6px;box-sizing:border-box;border-radius:50%;background:conic-gradient(from 220deg,#b96dff 0 28%,#24313a 28% 74%,#111a20 74%);box-shadow:inset 0 0 0 1px #34434e,0 0 20px #b96dff12}
.current-dial-ring{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#09131a;border:1px solid #263a44;box-shadow:inset 0 0 18px #0009}
.current-dial-ring span{display:flex;align-items:baseline;gap:4px}.current-dial-ring b{font-size:clamp(29px,4vh,46px);line-height:1}.current-dial-ring small{font-size:8px;color:#81929a}

/* Power: simple numeric tile + thin load meter. */
.power-reading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;min-width:0}
.power-reading .metric-value{margin:0!important;min-width:0}
.power-reading>span{font-size:7px;color:#71848d;white-space:nowrap}
.power-meter{height:4px;width:100%;margin-top:8px;border-radius:99px;background:#18252c;overflow:hidden}
.power-meter i{display:block;height:100%;width:0;background:#ffb64a;border-radius:inherit;transition:width 180ms linear}
.battery-metric .metric-value{margin-top:auto}.battery-metric .metric-progress{margin-top:8px;width:100%}.voltage-metric .metric-value{margin-top:auto;margin-bottom:5px}
.cockpit-bottom-line{width:100%;min-width:0;overflow:hidden}.cockpit-bottom-line>div{min-width:0;flex:1 1 auto}

@media (max-width:900px){
 .cockpit-bar{height:62px;min-height:62px}.cockpit-main{height:calc(100vh - 62px);height:calc(100dvh - 62px);padding:7px;grid-template-rows:52px minmax(0,1fr);gap:6px}
 .cockpit-temperature-strip{grid-template-columns:70px minmax(0,1fr);gap:7px;padding:6px 8px}.temperature-strip-grid{gap:5px}
 .cockpit-dashboard{grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:6px}.speed-panel{padding:7px 8px 6px}.speed-panel .full-speedo{width:min(100%,50vh,46vw,410px)}
 .telemetry-panel{padding:8px;gap:5px}.telemetry-head h2{font-size:15px}.cockpit-metric-grid{gap:5px;grid-template-rows:minmax(0,1.5fr) minmax(0,.8fr)}
 .rpm-metric,.current-metric{padding:8px}.voltage-metric,.power-metric,.battery-metric{padding:6px}.rpm-mini-gauge{width:min(132px,17vh,82%)}.current-dial{width:min(136px,17vh,82%)}
}
@media (max-width:600px){
 .cockpit-bar{height:56px;min-height:56px}.cockpit-main{height:calc(100vh - 56px);height:calc(100dvh - 56px);padding:5px;grid-template-rows:43px minmax(0,1fr);gap:4px}
 .cockpit-temperature-strip{grid-template-columns:54px minmax(0,1fr);gap:4px;padding:4px 5px}.temperature-strip-grid{gap:3px}.temperature-chip{padding:5px 6px!important;border-radius:9px!important}.temperature-chip small{font-size:4px!important}.temperature-chip b{font-size:10px!important}
 .cockpit-dashboard{grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:4px}.speed-panel,.telemetry-panel{border-radius:14px}.speed-panel{padding:5px}.speed-panel .full-speedo{width:min(100%,48vh,44vw,300px)}
 .full-speed-center span{font-size:5px}.full-speed-center strong{font-size:clamp(42px,8.5vh,70px)}.full-speed-center small{font-size:6px}.full-speed-center b{font-size:5px;padding:3px 7px}
 .telemetry-panel{padding:5px;gap:3px}.telemetry-head h2{font-size:10px}.cockpit-live{font-size:5px}.cockpit-metric-grid{gap:3px;grid-template-rows:minmax(0,1.5fr) minmax(0,.8fr)}
 .rpm-metric,.current-metric{padding:5px 4px}.voltage-metric,.power-metric,.battery-metric{padding:4px}.rpm-mini-gauge{width:min(94px,16vh,82%)}.current-dial{width:min(98px,16vh,82%)}
 .rpm-mini-value b,.current-dial-ring b{font-size:clamp(18px,4vw,27px)}.metric-title>span:last-child{font-size:5px}.metric-value{font-size:clamp(11px,3vw,16px)}.cockpit-metric>small{font-size:4px}.power-reading>span{font-size:4px}.power-meter{height:3px;margin-top:4px}
 .cockpit-bottom-line{gap:3px}.cockpit-bottom-line>span{font-size:3.5px}.cockpit-bottom-line>div{height:3px}
}
@media (max-width:390px){
 .cockpit-dashboard{grid-template-columns:minmax(0,43fr) minmax(0,57fr);gap:3px}.speed-panel .full-speedo{width:min(100%,46vh,43vw,260px)}.rpm-mini-gauge{width:76px}.current-dial{width:80px}
 .telemetry-head h2{font-size:9px}.metric-value{font-size:10px}.power-reading>span{display:none}.rpm-mini-value b,.current-dial-ring b{font-size:17px}
}

/* V29 cockpit cleanup: RPM uses an animated arc only; no needle/subtitle. */
.rpm-mini-needle{display:none!important}
.rpm-mini-value small{display:none!important}
.rpm-metric>small,.current-metric>small{display:none!important}
.voltage-metric>small,.power-metric .power-reading>span,.battery-metric>small{display:none!important}
.rpm-mini-gauge{background:conic-gradient(from 220deg,#26d9ff 0 var(--rpm-pct,0%),#17303a var(--rpm-pct,0%) 72%,#101b22 72% 100%);transition:background .22s ease-out}
.rpm-mini-progress{display:block!important;position:absolute;inset:4px;border-radius:50%;background:conic-gradient(from 220deg,transparent 0 var(--rpm-pct,0%),#26d9ff var(--rpm-pct,0%) calc(var(--rpm-pct,0%) + .8%),transparent calc(var(--rpm-pct,0%) + .8%) 100%);filter:drop-shadow(0 0 5px #26d9ff44);transition:background .22s ease-out}
.current-dial{background:radial-gradient(circle at 50% 50%,#15232b 0 52%,#0b151c 53% 66%,#1c2c35 67% 70%,#0a1117 71% 100%);padding:4px;box-shadow:inset 0 0 0 1px #263943,0 0 18px #b96dff0d}
.current-dial-ring{border:1px solid #263943;box-shadow:inset 0 0 0 3px #0a1219}
.power-reading{min-width:0}
.power-metric .metric-value,.voltage-metric .metric-value,.battery-metric .metric-value{overflow:visible;text-overflow:clip}
@media (max-width:900px){.rpm-metric>small,.current-metric>small{display:none!important}}


/* V30 RPM final: larger instrument, centered value, no center dot. */
.rpm-metric .rpm-mini-gauge{width:min(210px,22vh,88%);max-width:100%;margin:2px auto 0;}
.rpm-metric .rpm-mini-gauge:after{inset:15%;}
.rpm-metric .rpm-mini-value{position:absolute;inset:15%;display:grid;place-items:center;z-index:6;width:auto;height:auto;}
.rpm-metric .rpm-mini-value b{display:block;max-width:78%;font-size:clamp(27px,4.4vh,48px);line-height:.95;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rpm-mini-progress{inset:4%;}
.rpm-mini-hub{display:none!important;}
@media (max-width:900px){
  .rpm-metric .rpm-mini-gauge{width:min(155px,21vh,88%);}
  .rpm-metric .rpm-mini-value{inset:15%;}
  .rpm-metric .rpm-mini-value b{font-size:clamp(22px,4.2vw,34px);max-width:80%;}
}
@media (max-width:600px){
  .rpm-metric .rpm-mini-gauge{width:min(118px,19vh,88%);}
  .rpm-metric .rpm-mini-value b{font-size:clamp(18px,4.2vw,27px);}
}
@media (max-width:390px){
  .rpm-metric .rpm-mini-gauge{width:min(100px,18vh,88%);}
  .rpm-metric .rpm-mini-value b{font-size:18px;max-width:82%;}
}


/* V31: cockpit immersive layout — no header, larger RPM, persistent back button */
.cockpit-screen.show{width:100%!important;max-width:none!important;inset:0!important;overflow:hidden!important;background:#061017!important}
.cockpit-screen .cockpit-main{height:100dvh!important;min-height:100vh!important;width:100%!important;max-width:none!important;padding:14px 18px 16px!important;grid-template-rows:74px minmax(0,1fr)!important;gap:12px!important}
.cockpit-back{position:absolute!important;z-index:50!important;top:14px!important;left:16px!important;display:flex!important;align-items:center!important;gap:7px!important;height:34px!important;padding:0 11px!important;border:1px solid #29424c!important;border-radius:10px!important;background:#0b1820e8!important;color:#dffcff!important;box-shadow:0 8px 24px #0004!important;font-size:11px!important;letter-spacing:.08em!important}
.cockpit-back span{font-size:9px!important;font-weight:700!important}
.cockpit-screen .cockpit-temperature-strip{padding-left:68px!important}
.cockpit-screen .cockpit-dashboard{grid-template-columns:minmax(0,43fr) minmax(0,57fr)!important;gap:12px!important}
.cockpit-screen .cockpit-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:minmax(0,1.65fr) minmax(0,.72fr)!important;gap:9px!important}
.cockpit-screen .rpm-metric,.cockpit-screen .current-metric{grid-column:span 3!important;padding:12px!important}
.cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(235px,30vh,88%)!important;max-width:100%!important;margin:4px auto 0!important}
.cockpit-screen .rpm-metric .rpm-mini-value{inset:15%!important}
.cockpit-screen .rpm-metric .rpm-mini-value b{font-size:clamp(32px,5vh,58px)!important;max-width:78%!important;line-height:.9!important}
.cockpit-screen .current-metric .current-dial{width:min(180px,24vh,82%)!important;max-width:100%!important}
.cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(30px,4.6vh,52px)!important}

@media (max-width:900px){
 .cockpit-screen .cockpit-main{height:100dvh!important;min-height:100vh!important;padding:10px 8px 9px!important;grid-template-rows:52px minmax(0,1fr)!important;gap:7px!important}
 .cockpit-back{top:9px!important;left:9px!important;height:30px!important;padding:0 8px!important}
 .cockpit-back span{font-size:8px!important}
 .cockpit-screen .cockpit-temperature-strip{padding-left:54px!important}
 .cockpit-screen .cockpit-dashboard{grid-template-columns:minmax(0,43fr) minmax(0,57fr)!important;gap:6px!important}
 .cockpit-screen .cockpit-metric-grid{gap:5px!important;grid-template-rows:minmax(0,1.65fr) minmax(0,.72fr)!important}
 .cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(180px,27vh,88%)!important}
 .cockpit-screen .rpm-metric .rpm-mini-value b{font-size:clamp(25px,5vw,42px)!important}
 .cockpit-screen .current-metric .current-dial{width:min(145px,23vh,82%)!important}
 .cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(24px,4.6vw,38px)!important}
}
@media (max-width:600px){
 .cockpit-screen .cockpit-main{padding:7px 5px!important;grid-template-rows:44px minmax(0,1fr)!important;gap:5px!important}
 .cockpit-back{top:6px!important;left:6px!important;height:27px!important;font-size:10px!important}
 .cockpit-screen .cockpit-temperature-strip{padding-left:48px!important}
 .cockpit-screen .cockpit-dashboard{grid-template-columns:minmax(0,42fr) minmax(0,58fr)!important;gap:4px!important}
 .cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(135px,25vh,88%)!important}
 .cockpit-screen .rpm-metric .rpm-mini-value b{font-size:clamp(21px,5vw,32px)!important}
 .cockpit-screen .current-metric .current-dial{width:min(112px,21vh,82%)!important}
 .cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(20px,4.8vw,29px)!important}
}

/* V32 final UI correction: restore RPM size, simplify CURRENT, move BACK button out of content. */
.cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(210px,22vh,88%)!important;max-width:100%!important;margin:4px auto 0!important}
.cockpit-screen .rpm-metric .rpm-mini-value{inset:15%!important}
.cockpit-screen .rpm-metric .rpm-mini-value b{font-size:clamp(27px,4.4vh,48px)!important;max-width:78%!important;line-height:.95!important}

/* Current: clean, non-dial presentation. */
.cockpit-screen .current-metric .current-dial{
  width:min(86%,250px)!important;
  height:clamp(76px,12vh,118px)!important;
  aspect-ratio:auto!important;
  margin:8px auto 0!important;
  padding:0!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#101f28,#0a141a)!important;
  border:1px solid #263c46!important;
  box-shadow:inset 0 0 0 1px #0b1217,0 8px 22px #0003!important;
}
.cockpit-screen .current-metric .current-dial-ring{
  width:100%!important;height:100%!important;border-radius:17px!important;
  display:grid!important;place-items:center!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.cockpit-screen .current-metric .current-dial-ring span{display:flex!important;align-items:baseline!important;gap:7px!important}
.cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(30px,4.4vh,50px)!important;line-height:1!important;color:#f2fbff!important}
.cockpit-screen .current-metric .current-dial-ring small{font-size:11px!important;color:#7e929c!important;letter-spacing:.08em!important}

/* Back button: dedicated safe area, never overlaps temperature/dashboard content. */
.cockpit-back{
  position:fixed!important;z-index:100!important;
  top:auto!important;left:auto!important;right:18px!important;bottom:16px!important;
  width:auto!important;height:38px!important;padding:0 15px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:1px solid #2c4651!important;border-radius:999px!important;
  background:rgba(8,19,26,.94)!important;color:#dffcff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04)!important;
  font-size:11px!important;font-weight:700!important;letter-spacing:.09em!important;
  backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;
}
.cockpit-back:hover{background:#10232d!important;border-color:#3a5b67!important;transform:translateY(-1px)!important}
.cockpit-back:active{transform:translateY(0)!important}
.cockpit-back span{font-size:9px!important;font-weight:800!important}

@media (max-width:900px){
  .cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(155px,21vh,88%)!important}
  .cockpit-screen .rpm-metric .rpm-mini-value b{font-size:clamp(22px,4.2vw,34px)!important}
  .cockpit-screen .current-metric .current-dial{width:86%!important;height:clamp(62px,12vh,96px)!important}
  .cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(24px,4.2vw,38px)!important}
  .cockpit-back{right:12px!important;bottom:12px!important;height:34px!important;padding:0 12px!important}
}
@media (max-width:600px){
  .cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(118px,19vh,88%)!important}
  .cockpit-screen .rpm-metric .rpm-mini-value b{font-size:clamp(18px,4.2vw,27px)!important}
  .cockpit-screen .current-metric .current-dial{width:88%!important;height:clamp(54px,11vh,78px)!important;border-radius:14px!important}
  .cockpit-screen .current-metric .current-dial-ring{border-radius:13px!important}
  .cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(20px,4.8vw,29px)!important}
  .cockpit-screen .current-metric .current-dial-ring small{font-size:8px!important}
  .cockpit-back{right:8px!important;bottom:8px!important;height:31px!important;padding:0 10px!important;font-size:9px!important}
  .cockpit-back span{font-size:8px!important}
}

/* V35: V32 baseline — enlarge ONLY the VEHICLE SPEED column. */
.cockpit-screen .cockpit-dashboard{
  grid-template-columns:minmax(0,50fr) minmax(0,50fr)!important;
  gap:12px!important;
}
.cockpit-screen .full-speedo{
  width:min(100%, 52vh)!important;
  max-width:100%!important;
  margin-inline:auto!important;
}
@media (max-width:900px){
  .cockpit-screen .cockpit-dashboard{
    grid-template-columns:minmax(0,50fr) minmax(0,50fr)!important;
    gap:6px!important;
  }
  .cockpit-screen .full-speedo{
    width:min(100%, 42vh)!important;
  }
}
@media (max-width:600px){
  .cockpit-screen .cockpit-dashboard{
    grid-template-columns:minmax(0,50fr) minmax(0,50fr)!important;
    gap:4px!important;
  }
  .cockpit-screen .full-speedo{
    width:min(100%, 38vh)!important;
  }
}

/* V36 exact CURRENT correction: keep the rectangular card, remove any outer oval/circular decoration. */
.cockpit-screen .current-metric::before,
.cockpit-screen .current-metric::after,
.cockpit-screen .current-metric .current-dial::before,
.cockpit-screen .current-metric .current-dial::after,
.cockpit-screen .current-metric .current-dial-ring::before,
.cockpit-screen .current-metric .current-dial-ring::after{
  content:none!important;
  display:none!important;
}
.cockpit-screen .current-metric .current-dial{
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#101f28,#0a141a)!important;
  border:1px solid #263c46!important;
  box-shadow:inset 0 0 0 1px #0b1217!important;
}
.cockpit-screen .current-metric .current-dial-ring{
  border-radius:17px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}


/* V37 — mobile cockpit viewport/fullscreen support. */
.cockpit-screen{
  width:100%;
  max-width:100%;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  overscroll-behavior:none;
  -webkit-overflow-scrolling:auto;
}
body.cockpit-open{
  width:100%;
  height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
}
@media (max-width:900px){
  .cockpit-screen{
    inset:0;
    height:100vh;
    height:100svh;
    height:100dvh;
    padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  .cockpit-screen:fullscreen{
    width:100vw;
    height:100dvh;
    min-height:100dvh;
    padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  .cockpit-screen:fullscreen .cockpit-main{
    height:100dvh;
  }
}
@supports (-webkit-touch-callout:none){
  .cockpit-screen{
    min-height:-webkit-fill-available;
  }
}

/* V38 — dedicated desktop + mobile-landscape cockpit layout.
   This final block intentionally owns the cockpit geometry so older overrides cannot fight it. */
.cockpit-screen .cockpit-main{height:var(--battery-vh,100dvh)!important;min-height:0!important;padding:14px 18px 16px!important;grid-template-rows:68px minmax(0,1fr)!important;gap:10px!important}
.cockpit-screen .cockpit-temperature-strip{height:68px!important;grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;padding:8px 12px!important}
.cockpit-screen .cockpit-dashboard{height:100%!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:12px!important}
.cockpit-screen .speed-panel{padding:10px 16px 10px!important}
.cockpit-screen .speed-panel .full-speedo{width:min(100%,58vh,540px)!important;max-width:100%!important}
.cockpit-screen .telemetry-panel{padding:12px!important;gap:8px!important}
.cockpit-screen .telemetry-head h2{font-size:21px!important}
.cockpit-screen .cockpit-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:minmax(0,1.5fr) minmax(0,.78fr)!important;gap:8px!important}
.cockpit-screen .rpm-metric,.cockpit-screen .current-metric{grid-column:span 3!important;padding:12px!important}
.cockpit-screen .voltage-metric,.cockpit-screen .power-metric,.cockpit-screen .battery-metric{grid-column:span 2!important;padding:10px!important}
.cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(210px,22vh,88%)!important}
.cockpit-screen .current-metric .current-dial{width:min(86%,250px)!important;height:clamp(76px,12vh,118px)!important}
.cockpit-screen .cockpit-back{top:14px!important;left:16px!important;right:auto!important;bottom:auto!important;height:34px!important}

/* Landscape phones/tablets: keep the desktop composition, but use the short viewport efficiently. */
@media (max-width:900px) and (orientation:landscape){
  .cockpit-screen .cockpit-main{
    height:var(--battery-vh,100dvh)!important;min-height:0!important;
    padding:7px 9px 8px!important;
    grid-template-rows:42px minmax(0,1fr)!important;gap:6px!important;
  }
  .cockpit-screen .cockpit-temperature-strip{
    height:42px!important;grid-template-columns:78px minmax(0,1fr)!important;
    gap:7px!important;padding:4px 7px!important;
  }
  .cockpit-screen .temperature-strip-grid{gap:5px!important}
  .cockpit-screen .temperature-chip{padding:5px 8px!important;border-radius:9px!important}
  .cockpit-screen .temperature-chip small{font-size:6px!important}
  .cockpit-screen .temperature-chip b{font-size:12px!important}
  .cockpit-screen .cockpit-dashboard{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:7px!important;
  }
  .cockpit-screen .speed-panel{padding:6px 9px!important}
  .cockpit-screen .speed-clock{right:8px;min-width:76px;padding:6px 8px;font-size:12px;border-radius:9px}
  .cockpit-screen .speed-panel .full-speedo{width:min(100%,64vh,420px)!important}
  .cockpit-screen .speed-footer{font-size:9px!important}
  .cockpit-screen .telemetry-panel{padding:7px!important;gap:5px!important}
  .cockpit-screen .telemetry-head h2{font-size:13px!important}
  .cockpit-screen .panel-kicker-text,.cockpit-screen .cockpit-live{font-size:7px!important}
  .cockpit-screen .cockpit-metric-grid{gap:5px!important;grid-template-rows:minmax(0,1.35fr) minmax(0,.7fr)!important}
  .cockpit-screen .rpm-metric,.cockpit-screen .current-metric{padding:7px!important}
  .cockpit-screen .voltage-metric,.cockpit-screen .power-metric,.cockpit-screen .battery-metric{padding:6px!important}
  .cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(150px,30vh,88%)!important}
  .cockpit-screen .rpm-mini-value b{font-size:clamp(21px,5vh,34px)!important}
  .cockpit-screen .current-metric .current-dial{width:min(88%,190px)!important;height:min(74px,12vh)!important}
  .cockpit-screen .current-metric .current-dial-ring b{font-size:clamp(22px,5vh,36px)!important}
  .cockpit-screen .metric-title{gap:5px!important;font-size:8px!important}
  .cockpit-screen .metric-icon{width:18px!important;height:18px!important;font-size:8px!important}
  .cockpit-screen .metric-value{font-size:clamp(12px,3.2vh,18px)!important}
  .cockpit-screen .power-meter,.cockpit-screen .metric-progress{height:3px!important}
  .cockpit-screen .cockpit-bottom-line{font-size:7px!important}
  .cockpit-screen .cockpit-back{top:6px!important;left:8px!important;height:28px!important;padding:0 9px!important;font-size:9px!important}
  .cockpit-screen .cockpit-back span{font-size:8px!important}
}

/* Portrait mobile: still functional, but clearly optimized for landscape cockpit. */
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen .cockpit-main{padding:8px 6px!important;grid-template-rows:40px minmax(0,1fr)!important;gap:5px!important}
  .cockpit-screen .cockpit-temperature-strip{height:40px!important;grid-template-columns:68px minmax(0,1fr)!important;padding:4px 5px!important;gap:5px!important}
  .cockpit-screen .temperature-chip{padding:4px 5px!important}
  .cockpit-screen .temperature-chip small{font-size:5px!important}
  .cockpit-screen .temperature-chip b{font-size:10px!important}
  .cockpit-screen .cockpit-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:4px!important}
  .cockpit-screen .speed-panel{padding:5px!important}
  .cockpit-screen .speed-clock{right:5px;min-width:64px;padding:5px 6px;font-size:10px;border-radius:8px}
  .cockpit-screen .speed-panel .full-speedo{width:min(100%,38vh,44vw,260px)!important}
  .cockpit-screen .telemetry-panel{padding:5px!important;gap:4px!important}
  .cockpit-screen .telemetry-head h2{font-size:10px!important}
  .cockpit-screen .cockpit-metric-grid{gap:4px!important}
  .cockpit-screen .rpm-metric,.cockpit-screen .current-metric{padding:6px!important}
  .cockpit-screen .rpm-metric .rpm-mini-gauge{width:min(118px,19vh,88%)!important}
  .cockpit-screen .current-metric .current-dial{width:88%!important;height:clamp(54px,11vh,78px)!important}
  .cockpit-screen .cockpit-back{top:5px!important;left:6px!important;height:26px!important;padding:0 8px!important}
}


/* V40 numeric fit: preserve V38 layout, only make RPM/POWER values adapt to card width. */
.rpm-mini-value b#fullRpm{display:block;width:100%;max-width:82%;margin:0 auto;text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;box-sizing:border-box;font-variant-numeric:tabular-nums;line-height:.95;}
.power-number{display:flex!important;align-items:baseline;justify-content:center;gap:.16em;min-width:0;max-width:100%;white-space:nowrap;overflow:visible!important;text-overflow:clip!important;box-sizing:border-box;font-variant-numeric:tabular-nums;}
.power-number i{font-style:normal;white-space:nowrap;min-width:0;}
.power-number small{font-size:.42em;line-height:1;flex:0 0 auto;letter-spacing:0;}
@media (max-width:390px){.rpm-mini-value b#fullRpm{max-width:84%;}.power-number small{font-size:.4em;}}

/* V40 FINAL — Back button belongs to cockpit, bottom-right only. */
.cockpit-screen .cockpit-back{
  position:fixed!important;
  top:auto!important;
  left:auto!important;
  right:18px!important;
  bottom:18px!important;
  z-index:999!important;
  width:auto!important;
  min-width:82px!important;
  height:38px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid #29424c!important;
  border-radius:12px!important;
  background:rgba(9,20,28,.92)!important;
  color:#dffcff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.04)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.cockpit-screen .cockpit-back span{font-size:9px!important;font-weight:800!important}
.cockpit-screen .cockpit-back:hover{background:rgba(16,35,45,.96)!important;border-color:#3a5b67!important;transform:translateY(-1px)!important}
.cockpit-screen .cockpit-back:active{transform:translateY(0)!important}
@media (max-width:900px){
  .cockpit-screen .cockpit-back{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;height:34px!important;min-width:76px!important;padding:0 12px!important}
}
@media (max-width:470px){
  .speed-clock{right:7px;top:17%;transform:none;min-width:62px;padding:5px 6px;font-size:10px;border-radius:8px;}
  .cockpit-screen .cockpit-back{right:9px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important;height:31px!important;min-width:68px!important;padding:0 10px!important;font-size:9px!important}
  .cockpit-screen .cockpit-back span{font-size:8px!important}
}



/* V46 — one geometry for Voltage / Power / Battery. */
.cockpit-screen .voltage-metric,
.cockpit-screen .power-metric,
.cockpit-screen .battery-metric{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  justify-content:stretch!important;
}

.cockpit-screen .voltage-metric .metric-title,
.cockpit-screen .power-metric .metric-title,
.cockpit-screen .battery-metric .metric-title{
  grid-row:1!important;
  align-self:start!important;
  justify-self:stretch!important;
}

.cockpit-screen .voltage-metric .metric-value,
.cockpit-screen .power-metric .metric-value,
.cockpit-screen .battery-metric .metric-value{
  grid-row:2!important;
  align-self:center!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  font-variant-numeric:tabular-nums;
}

.cockpit-screen .voltage-metric .metric-core,
.cockpit-screen .power-metric .metric-core,
.cockpit-screen .battery-metric .metric-core{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  gap:.14em!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.cockpit-screen .voltage-metric .metric-value i,
.cockpit-screen .power-metric .metric-value i,
.cockpit-screen .battery-metric .metric-value i{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  font-style:normal!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.cockpit-screen .voltage-metric .metric-value small,
.cockpit-screen .power-metric .metric-value small,
.cockpit-screen .battery-metric .metric-value small{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  font-size:.46em!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

/* Bottom meters occupy the same third row in all three cards. */
.cockpit-screen .voltage-metric .voltage-meter,
.cockpit-screen .power-metric .power-meter,
.cockpit-screen .battery-metric .metric-progress{
  grid-row:3!important;
  align-self:end!important;
  justify-self:stretch!important;
  width:100%!important;
  margin:0!important;
}
.cockpit-screen .voltage-metric .voltage-meter{height:4px!important;}
.cockpit-screen .power-metric .power-meter{height:4px!important;margin-top:0!important;}
.cockpit-screen .battery-metric .metric-progress{height:4px!important;margin-top:0!important;}

.cockpit-screen .voltage-metric .voltage-meter i,
.cockpit-screen .power-metric .power-meter i,
.cockpit-screen .battery-metric .metric-progress i{
  display:block;
  height:100%;
}

@media (max-width:900px){
  .cockpit-screen .voltage-metric .metric-value,
  .cockpit-screen .power-metric .metric-value,
  .cockpit-screen .battery-metric .metric-value{font-size:clamp(14px,3.2vw,24px)!important;}
  .cockpit-screen .voltage-metric .voltage-meter,
  .cockpit-screen .power-metric .power-meter,
  .cockpit-screen .battery-metric .metric-progress{height:3px!important;}
}
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen .voltage-metric .metric-value,
  .cockpit-screen .power-metric .metric-value,
  .cockpit-screen .battery-metric .metric-value{font-size:clamp(12px,3.8vw,20px)!important;}
  .cockpit-screen .voltage-metric .voltage-meter,
  .cockpit-screen .power-metric .power-meter,
  .cockpit-screen .battery-metric .metric-progress{height:2px!important;}
}
@media (max-width:390px){
  .cockpit-screen .voltage-metric .metric-value,
  .cockpit-screen .power-metric .metric-value,
  .cockpit-screen .battery-metric .metric-value{font-size:14px!important;}
}

/* V47 — restore Voltage underline and 70V state colors. */
.cockpit-screen .voltage-metric .voltage-meter{
  display:block!important;
  height:4px!important;
  width:100%!important;
  min-height:4px!important;
  background:#14242b!important;
  border-radius:99px!important;
  overflow:hidden!important;
  visibility:visible!important;
  opacity:1!important;
}
.cockpit-screen .voltage-metric .voltage-meter i{
  display:block!important;
  height:100%!important;
  min-height:100%!important;
  border-radius:99px!important;
  transition:width .25s ease,background-color .2s ease!important;
  background:#45d47a!important;
}
.cockpit-screen .voltage-metric .voltage-meter i.voltage-low{background:#ff5555!important;}
.cockpit-screen .voltage-metric .metric-value.voltage-good .metric-core i,
.cockpit-screen .voltage-metric .metric-value.voltage-good .metric-core small{color:#70e59a!important;}
.cockpit-screen .voltage-metric .metric-value.voltage-low .metric-core i,
.cockpit-screen .voltage-metric .metric-value.voltage-low .metric-core small{color:#ff6b6b!important;}
.cockpit-screen .voltage-metric .metric-value:not(.voltage-good):not(.voltage-low) .metric-core i,
.cockpit-screen .voltage-metric .metric-value:not(.voltage-good):not(.voltage-low) .metric-core small{color:var(--text)!important;}
@media (max-width:900px){.cockpit-screen .voltage-metric .voltage-meter{height:3px!important;min-height:3px!important;}}
@media (max-width:600px) and (orientation:portrait){.cockpit-screen .voltage-metric .voltage-meter{height:2px!important;min-height:2px!important;}}

/* V49 — Battery full-screen analysis view */
.battery-title-actions{display:flex;align-items:center;gap:8px}
.battery-fullview-btn{border:1px solid #245c6a;background:#0a2028;color:#bdf6ff;border-radius:10px;padding:7px 10px;font-size:9px;letter-spacing:.1em;cursor:pointer}
.battery-view-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(850px 520px at 18% 20%,#10323b 0,transparent 60%),radial-gradient(800px 520px at 88% 85%,#171d31 0,transparent 60%),#05090e;color:var(--text);display:none;overflow:hidden}
.battery-view-screen.show{display:block}
.battery-view-shell{height:100%;width:100%;padding:18px 22px 20px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.battery-view-head{display:flex;align-items:center;justify-content:space-between;padding-left:62px}
.battery-view-head>div:first-child>span{font-size:8px;color:var(--muted);letter-spacing:.18em}
.battery-view-head h1{font-size:28px;letter-spacing:-.04em;margin:3px 0 0}
.battery-view-live{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.13em;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:7px 10px}
.battery-view-live i{width:7px;height:7px;border-radius:50%;background:#536273}.battery-view-live:has(span:not(:empty)) i{box-shadow:0 0 9px #26d98a55}
.battery-view-back{position:absolute;z-index:4;left:22px;top:18px;border:1px solid #263846;background:#0a131cdd;color:var(--text);border-radius:11px;padding:8px 12px;cursor:pointer;font-size:10px;letter-spacing:.1em;backdrop-filter:blur(10px)}
.battery-view-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:12px;min-height:0;overflow:hidden}
.battery-view-pack,.battery-view-cells{background:linear-gradient(145deg,#0b151eeb,#071017e8);border:1px solid #1b2c39;border-radius:20px;min-width:0;min-height:0;overflow:hidden}
.battery-view-pack{padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:10px}
.battery-view-pack-head,.battery-view-cell-head{display:flex;align-items:center;justify-content:space-between}
.battery-view-pack-head .panel-kicker-text,.battery-view-cell-head .panel-kicker-text{font-size:8px;letter-spacing:.16em;color:var(--muted)}
.battery-view-pack-head>b{font-size:8px;letter-spacing:.12em;color:var(--green);border:1px solid #2c7d5c55;padding:5px 8px;border-radius:99px}
.battery-view-soc{display:grid;place-items:center;min-height:0}
.battery-view-soc-ring{width:min(31vh,230px,70%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 220deg,var(--green) 0deg, var(--cyan) calc(var(--bv-soc,0)*2.7deg),#1a2932 calc(var(--bv-soc,0)*2.7deg),#1a2932 270deg,transparent 270deg);padding:11px;filter:drop-shadow(0 0 25px #26d9ff0d)}
.battery-view-soc-ring>div{width:100%;height:100%;border-radius:50%;background:#071018;border:1px solid #1c303e;display:flex;flex-direction:column;align-items:center;justify-content:center}
.battery-view-soc-ring strong{font-size:clamp(44px,7vh,78px);line-height:.9;letter-spacing:-.07em}.battery-view-soc-ring small{font-size:8px;color:var(--muted);letter-spacing:.14em;margin-top:8px}
.battery-view-pack-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.battery-view-pack-values>div{background:#081119;border:1px solid #172934;border-radius:11px;padding:10px;text-align:center}.battery-view-pack-values span,.battery-view-health-row span,.battery-view-temp-row span,.battery-view-cell-stats span{display:block;color:var(--muted);font-size:7px;letter-spacing:.13em}.battery-view-pack-values b{font-size:22px;letter-spacing:-.04em}.battery-view-pack-values small{font-size:8px;color:var(--muted);margin-left:2px}
.battery-view-pack-bar{height:6px;background:#182630;border-radius:99px;overflow:hidden}.battery-view-pack-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:99px;transition:width .35s}
.battery-view-health-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.battery-view-health-row>div,.battery-view-temp-row>div{background:#081119;border:1px solid #172934;border-radius:10px;padding:8px;text-align:center}.battery-view-health-row b{font-size:15px}.battery-view-health-row small{font-size:7px;color:var(--muted)}
.battery-view-temp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.battery-view-temp-row b{display:block;font-size:14px;margin-top:4px}
.battery-view-cells{padding:18px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}.battery-view-cell-head h2{font-size:20px;margin:2px 0}.battery-view-cell-meta{text-align:right}.battery-view-cell-meta b{font-size:12px;display:block}.battery-view-cell-meta span{font-size:8px;color:var(--muted)}
.battery-view-legend{display:flex;gap:14px;color:var(--muted);font-size:7px;letter-spacing:.08em}.battery-view-legend .low{color:var(--red)}.battery-view-legend .normal{color:var(--green)}.battery-view-legend .high{color:var(--cyan)}
.battery-view-cell-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:7px;min-height:0}
.battery-view-cell{min-width:0;min-height:0;background:#071017;border:1px solid #273844;border-radius:10px;padding:8px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-items:center;column-gap:5px;position:relative;overflow:hidden}
.battery-view-cell{animation:cellMapPulse 3.2s ease-in-out infinite;animation-delay:var(--cell-delay,0ms);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.battery-view-cell:hover{transform:translateY(-2px)}
.battery-view-cell-grid{position:relative}
.battery-view-cell-grid:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#26d9ff08 48%,transparent 100%);transform:translateX(-120%);animation:cellGridSweep 5.5s ease-in-out infinite;z-index:2}
.battery-view-cell>*{position:relative;z-index:3}
.battery-view-cell-meta span.delta-alert{color:#ff5268!important;border-color:#ff5268!important;animation:deltaAlertPulse 1s ease-in-out infinite}
.battery-view-cell-meta span{transition:color .25s ease}
@keyframes cellMapPulse{0%,100%{box-shadow:inset 0 1px 0 #ffffff06,0 0 0 #26d9ff00}50%{box-shadow:inset 0 1px 0 #ffffff0a,0 0 14px #26d9ff10}}
@keyframes cellGridSweep{0%,35%{transform:translateX(-120%);opacity:0}45%{opacity:1}65%,100%{transform:translateX(120%);opacity:0}}
@keyframes deltaAlertPulse{0%,100%{text-shadow:0 0 0 #ff526800;filter:brightness(1)}50%{text-shadow:0 0 12px #ff5268aa;filter:brightness(1.25)}}
@media (prefers-reduced-motion:reduce){.battery-view-cell,.battery-view-cell-grid:before,.battery-view-cell-meta span.delta-alert{animation:none!important}}.battery-view-cell:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#3b8e61}.battery-view-cell span{font-size:7px;color:var(--muted)}.battery-view-cell b{font-size:clamp(12px,1.35vw,19px);text-align:right;line-height:1}.battery-view-cell small{grid-column:2;color:var(--muted);font-size:6px;text-align:right;margin-top:2px}.battery-view-cell.low{border-color:#d84e62;background:#1a0d12}.battery-view-cell.low:after{background:var(--red)}.battery-view-cell.normal{border-color:#3b8e61}.battery-view-cell.normal:after{background:var(--green)}.battery-view-cell.high{border-color:#23b9d5;background:#071a21}.battery-view-cell.high:after{background:var(--cyan)}.battery-view-cell.balancing{box-shadow:inset 0 0 0 1px #ffd16666}.battery-view-cell.balancing:before{content:"BAL";position:absolute;top:4px;right:5px;font-size:5px;color:#ffd166;letter-spacing:.08em}
.battery-view-cell-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.battery-view-cell-stats>div{background:#081119;border:1px solid #172934;border-radius:10px;padding:8px}.battery-view-cell-stats b{display:block;font-size:13px;margin-top:4px}.battery-view-cell-stats small{font-size:7px;color:var(--muted)}
@media(max-width:900px){
 .battery-title-actions .section-badge{display:none}.battery-fullview-btn{font-size:8px;padding:7px 9px}.battery-view-shell{padding:8px 9px 8px;gap:5px}.battery-view-back{left:8px;top:8px;padding:6px 8px;font-size:8px}.battery-view-head{padding-left:48px}.battery-view-head h1{font-size:18px}.battery-view-head>div:first-child>span{font-size:6px}.battery-view-live{font-size:6px;padding:5px 7px}.battery-view-grid{grid-template-columns:38fr 62fr;gap:5px}.battery-view-pack{padding:8px;gap:5px;border-radius:13px}.battery-view-cells{padding:8px;gap:5px;border-radius:13px}.battery-view-pack-head .panel-kicker-text,.battery-view-cell-head .panel-kicker-text{font-size:6px}.battery-view-pack-head>b{font-size:6px;padding:3px 5px}.battery-view-soc-ring{width:min(24vh,180px,70%);padding:7px}.battery-view-soc-ring strong{font-size:clamp(30px,7vh,56px)}.battery-view-soc-ring small{font-size:6px;margin-top:5px}.battery-view-pack-values{gap:4px}.battery-view-pack-values>div{padding:6px 3px}.battery-view-pack-values span,.battery-view-health-row span,.battery-view-temp-row span,.battery-view-cell-stats span{font-size:5px}.battery-view-pack-values b{font-size:clamp(13px,3.2vw,21px)}.battery-view-pack-values small{font-size:6px}.battery-view-pack-bar{height:4px}.battery-view-health-row,.battery-view-temp-row{gap:4px}.battery-view-health-row>div,.battery-view-temp-row>div{padding:5px 3px}.battery-view-health-row b{font-size:11px}.battery-view-health-row small{font-size:5px}.battery-view-temp-row b{font-size:10px}.battery-view-cell-head h2{font-size:13px}.battery-view-cell-meta b{font-size:9px}.battery-view-cell-meta span{font-size:6px}.battery-view-legend{font-size:5px;gap:7px}.battery-view-cell-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:4px}.battery-view-cell{padding:5px;gap:2px}.battery-view-cell span{font-size:5px}.battery-view-cell b{font-size:clamp(9px,2.3vw,15px)}.battery-view-cell small{font-size:4.5px}.battery-view-cell:after{height:2px}.battery-view-cell-stats{gap:4px}.battery-view-cell-stats>div{padding:5px}.battery-view-cell-stats b{font-size:9px}.battery-view-cell-stats small{font-size:5px}
}
@media(max-width:560px){
 .battery-view-shell{padding:6px 5px}.battery-view-grid{grid-template-columns:1fr 1.55fr;gap:4px}.battery-view-head{padding-left:43px}.battery-view-head h1{font-size:15px}.battery-view-head>div:first-child>span{font-size:5px}.battery-view-live{font-size:5px;padding:4px 5px}.battery-view-live i{width:5px;height:5px}.battery-view-pack{padding:6px;gap:4px}.battery-view-cells{padding:6px;gap:4px}.battery-view-soc-ring{width:min(22vh,125px,68%);padding:5px}.battery-view-soc-ring strong{font-size:clamp(24px,7vh,42px)}.battery-view-soc-ring small{font-size:5px;margin-top:3px}.battery-view-pack-values{grid-template-columns:1fr;gap:3px}.battery-view-pack-values>div{padding:4px}.battery-view-pack-values b{font-size:12px}.battery-view-pack-values small{font-size:5px}.battery-view-health-row{grid-template-columns:repeat(2,1fr)}.battery-view-health-row b{font-size:9px}.battery-view-temp-row b{font-size:8px}.battery-view-cell-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:3px}.battery-view-cell{padding:3px}.battery-view-cell span{font-size:4px}.battery-view-cell b{font-size:9px}.battery-view-cell small{font-size:3.5px}.battery-view-cell-stats{grid-template-columns:repeat(2,1fr)}
}

/* V50 — Battery Full View: portrait-first, explicit orientation toggle */
.battery-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 8px;color:var(--green)}
.battery-icon svg{width:52px;height:52px;display:block;filter:drop-shadow(0 0 12px #26d98a22)}
.battery-view-actions{position:absolute;z-index:8;left:18px;top:18px;display:flex;gap:6px;align-items:center}
.battery-view-actions .battery-view-back{position:static}
.battery-view-orientation{border:1px solid #263846;background:#0a131cdd;color:var(--text);border-radius:11px;padding:8px 11px;cursor:pointer;font-size:9px;letter-spacing:.1em;backdrop-filter:blur(10px)}
.orientation-icon{font-size:12px;margin-right:5px;color:var(--cyan)}
.battery-view-screen{overflow:auto;overscroll-behavior:contain}
.battery-view-shell{min-height:100dvh;height:auto}
.battery-view-grid{grid-template-columns:minmax(300px,.38fr) minmax(0,1.62fr)}
.battery-view-pack{min-width:0}
.battery-view-cells{min-width:0}
.battery-view-cell.waiting{border-color:#273844;background:#071017}
.battery-view-cell.waiting:after{background:#273844}

/* Portrait is the default on phones/tablets. */
@media(max-width:900px){
  .battery-view-shell{min-height:100dvh;height:auto;padding:8px 8px 10px;grid-template-rows:auto auto;gap:7px}
  .battery-view-actions{left:8px;top:8px}
  .battery-view-back,.battery-view-orientation{padding:6px 8px;font-size:8px}
  .battery-view-head{padding-left:150px;padding-right:3px}
  .battery-view-head h1{font-size:18px}
  .battery-view-grid{grid-template-columns:1fr;grid-template-rows:minmax(260px,38dvh) minmax(430px,1fr);gap:7px;overflow:visible}
  .battery-view-pack{padding:9px;gap:5px}
  .battery-view-cells{padding:9px;gap:5px}
  .battery-view-soc-ring{width:min(25dvh,165px,42vw);padding:6px}
  .battery-view-pack-values{grid-template-columns:repeat(3,1fr)}
  .battery-view-health-row{grid-template-columns:repeat(4,1fr)}
  .battery-view-temp-row{grid-template-columns:repeat(3,1fr)}
  .battery-view-cell-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));min-height:0;gap:4px}
  .battery-view-cell{padding:5px}
  .battery-view-cell b{font-size:clamp(10px,2.8vw,16px)}
  .battery-view-cell small{font-size:5px}
  .battery-view-cell span{font-size:5px}
  .battery-view-cell-stats{grid-template-columns:repeat(4,1fr)}
}

/* Explicit landscape mode is opt-in from the button. */
.battery-view-screen.is-landscape .battery-view-shell{min-height:100dvh;height:100dvh;overflow:hidden}
.battery-view-screen.is-landscape .battery-view-grid{grid-template-columns:minmax(270px,.34fr) minmax(0,1.66fr);grid-template-rows:1fr;overflow:hidden}
@media(max-width:900px){
  .battery-view-screen.is-landscape .battery-view-shell{height:100dvh;min-height:0;overflow:hidden;padding:8px 9px}
  .battery-view-screen.is-landscape .battery-view-grid{grid-template-columns:minmax(245px,.36fr) minmax(0,1.64fr);grid-template-rows:1fr;gap:6px;overflow:hidden}
  .battery-view-screen.is-landscape .battery-view-pack{padding:8px;gap:5px}
  .battery-view-screen.is-landscape .battery-view-cells{padding:8px;gap:5px}
  .battery-view-screen.is-landscape .battery-view-soc-ring{width:min(25vh,155px);padding:6px}
  .battery-view-screen.is-landscape .battery-view-cell-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:4px}
  .battery-view-screen.is-landscape .battery-view-cell{padding:4px}
  .battery-view-screen.is-landscape .battery-view-cell b{font-size:clamp(9px,1.8vw,14px)}
  .battery-view-screen.is-landscape .battery-view-cell small{font-size:4px}
  .battery-view-screen.is-landscape .battery-view-cell span{font-size:4px}
}
@media(max-width:560px){
  .battery-view-head{padding-left:142px}
  .battery-view-grid{grid-template-rows:minmax(245px,36dvh) minmax(430px,1fr)}
  .battery-view-pack-values{grid-template-columns:repeat(3,1fr)}
  .battery-view-health-row{grid-template-columns:repeat(4,1fr)}
  .battery-view-cell-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
  .battery-view-cell{padding:4px 2px}
  .battery-view-cell b{font-size:9px}
  .battery-view-cell span{font-size:4px}
  .battery-view-cell small{font-size:3.5px}
  .battery-view-cell-stats{grid-template-columns:repeat(4,1fr)}
  .battery-view-cell-stats>div{padding:4px 3px}
  .battery-view-cell-stats b{font-size:8px}
  .battery-view-cell-stats small{font-size:4px}
}

/* Orientation control is a mobile-only feature. Desktop keeps one fixed full-view layout. */
@media(min-width:901px){
  .battery-view-orientation{display:none!important}
  .battery-view-screen.is-landscape .battery-view-shell{min-height:100dvh;height:auto;overflow:visible}
  .battery-view-screen.is-landscape .battery-view-grid{grid-template-columns:minmax(300px,.38fr) minmax(0,1.62fr);grid-template-rows:auto;overflow:visible}
}

/* V52 — Battery Full View SOC + navigation */
@property --bv-soc {
  syntax: '<number>';
  inherits: false;
  initial-value: 0;
}
.battery-view-soc-ring{
  --bv-soc:0;
  --soc-color:var(--green);
  background:conic-gradient(from 220deg,var(--soc-color) 0deg,var(--soc-color) calc(var(--bv-soc) * 2.7deg),#182832 calc(var(--bv-soc) * 2.7deg),#182832 270deg,transparent 270deg);
  transition:filter .35s ease,background .35s ease;
}
.battery-view-soc-ring.soc-normal{--soc-color:var(--green);filter:drop-shadow(0 0 22px rgba(38,217,138,.12));}
.battery-view-soc-ring.soc-warning{--soc-color:#ffd166;filter:drop-shadow(0 0 25px rgba(255,209,102,.20));animation:batterySocWarning 2.2s ease-in-out infinite;}
.battery-view-soc-ring.soc-low{--soc-color:#ff536b;filter:drop-shadow(0 0 28px rgba(255,83,107,.25));animation:batterySocLow 1.25s ease-in-out infinite;}
@keyframes batterySocWarning{0%,100%{filter:drop-shadow(0 0 18px rgba(255,209,102,.14))}50%{filter:drop-shadow(0 0 30px rgba(255,209,102,.34))}}
@keyframes batterySocLow{0%,100%{filter:drop-shadow(0 0 18px rgba(255,83,107,.18))}50%{filter:drop-shadow(0 0 34px rgba(255,83,107,.48))}}
.battery-view-pack-bar i{background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .6s cubic-bezier(.22,.8,.24,1),background .35s ease;}
.battery-view-pack-bar i.soc-warning{background:#ffd166;}
.battery-view-pack-bar i.soc-low{background:#ff536b;animation:batteryBarPulse 1.25s ease-in-out infinite;}
@keyframes batteryBarPulse{0%,100%{box-shadow:0 0 0 rgba(255,83,107,0)}50%{box-shadow:0 0 12px rgba(255,83,107,.5)}}
/* Back is deliberately separated from the orientation control: bottom-right on every viewport. */
.battery-view-actions .battery-view-back{
  position:fixed !important;
  left:auto !important;
  top:auto !important;
  right:22px !important;
  bottom:20px !important;
  z-index:120 !important;
}
@media (max-width:900px){
  .battery-view-actions .battery-view-back{right:12px !important;bottom:12px !important;}
}
@media (prefers-reduced-motion:reduce){
  .battery-view-soc-ring.soc-warning,.battery-view-soc-ring.soc-low,.battery-view-pack-bar i.soc-low{animation:none;}
}

/* V53 — Battery Full View: true one-screen layout, no vertical scrolling */
body.battery-view-open{overflow:hidden!important;height:100dvh!important;overscroll-behavior:none!important}
.battery-view-screen.show{overflow:hidden!important;height:100dvh!important;min-height:100dvh!important}
.battery-view-shell{height:var(--battery-vh,100dvh)!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box}
.battery-view-grid{min-height:0!important;height:100%!important;overflow:hidden!important}
.battery-view-pack,.battery-view-cells{min-height:0!important;height:100%!important;overflow:hidden!important;box-sizing:border-box}
.battery-view-cell-grid{min-height:0!important;overflow:hidden!important}

@media (max-width:900px){
  /* Portrait: both panels fit inside one viewport; no stacked page scrolling. */
  .battery-view-shell{
    height:100dvh!important;
    min-height:0!important;
    padding:7px 7px 9px!important;
    grid-template-rows:34px minmax(0,1fr)!important;
    gap:6px!important;
  }
  .battery-view-head{min-height:0!important;height:34px!important;padding-left:138px!important;padding-right:2px!important;overflow:hidden}
  .battery-view-head h1{font-size:16px!important;margin:1px 0 0!important;line-height:1}
  .battery-view-head>div:first-child>span{font-size:5px!important;line-height:1}
  .battery-view-live{font-size:5px!important;padding:4px 6px!important;white-space:nowrap}
  .battery-view-grid{
    height:100%!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  .battery-view-pack,.battery-view-cells{height:100%!important;min-height:0!important;overflow:hidden!important}
  .battery-view-pack{
    padding:6px!important;
    gap:4px!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
  }
  .battery-view-pack-head{min-height:14px}
  .battery-view-pack-head .panel-kicker-text{font-size:5px!important}
  .battery-view-pack-head>b{font-size:5px!important;padding:2px 5px!important}
  .battery-view-soc{min-height:0!important;overflow:hidden}
  .battery-view-soc-ring{width:min(17dvh,112px,28vw)!important;padding:4px!important}
  .battery-view-soc-ring strong{font-size:clamp(24px,5.8vh,42px)!important}
  .battery-view-soc-ring small{font-size:5px!important;margin-top:3px!important}
  .battery-view-pack-values{grid-template-columns:repeat(3,1fr)!important;gap:3px!important}
  .battery-view-pack-values>div{padding:4px 2px!important}
  .battery-view-pack-values span,.battery-view-health-row span,.battery-view-temp-row span{font-size:4px!important}
  .battery-view-pack-values b{font-size:clamp(11px,3vw,16px)!important}
  .battery-view-pack-values small{font-size:5px!important}
  .battery-view-pack-bar{height:3px!important}
  .battery-view-health-row{grid-template-columns:repeat(4,1fr)!important;gap:3px!important}
  .battery-view-health-row>div,.battery-view-temp-row>div{padding:4px 2px!important}
  .battery-view-health-row b{font-size:8px!important}
  .battery-view-health-row small{font-size:4px!important}
  .battery-view-temp-row{grid-template-columns:repeat(3,1fr)!important;gap:3px!important}
  .battery-view-temp-row b{font-size:8px!important;margin-top:2px!important}

  .battery-view-cells{padding:6px!important;gap:4px!important;grid-template-rows:auto auto minmax(0,1fr) auto!important}
  .battery-view-cell-head{min-height:28px!important}
  .battery-view-cell-head h2{font-size:12px!important;margin:1px 0 0!important;line-height:1}
  .battery-view-cell-head .panel-kicker-text{font-size:5px!important}
  .battery-view-cell-meta b{font-size:8px!important}
  .battery-view-cell-meta span{font-size:5px!important}
  .battery-view-legend{font-size:4px!important;gap:5px!important;white-space:nowrap}
  .battery-view-cell-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:3px!important;min-height:0!important}
  .battery-view-cell{padding:3px!important;border-radius:7px!important;column-gap:3px!important}
  .battery-view-cell span{font-size:4px!important}
  .battery-view-cell b{font-size:clamp(8px,2.1vw,12px)!important}
  .battery-view-cell small{font-size:3px!important;margin-top:1px!important}
  .battery-view-cell:after{height:2px!important}
  .battery-view-cell-stats{grid-template-columns:repeat(4,1fr)!important;gap:3px!important}
  .battery-view-cell-stats>div{padding:4px 2px!important}
  .battery-view-cell-stats span{font-size:4px!important}
  .battery-view-cell-stats b{font-size:8px!important;margin-top:2px!important}
  .battery-view-cell-stats small{font-size:3.5px!important}

  /* Landscape: still one viewport, two columns, zero page overflow. */
  .battery-view-screen.is-landscape .battery-view-shell{
    height:var(--battery-vh,100dvh)!important;min-height:0!important;overflow:hidden!important;
    padding:7px 8px!important;grid-template-rows:34px minmax(0,1fr)!important;gap:5px!important
  }
  .battery-view-screen.is-landscape .battery-view-head{height:34px!important;padding-left:138px!important}
  .battery-view-screen.is-landscape .battery-view-grid{
    height:100%!important;min-height:0!important;overflow:hidden!important;
    grid-template-columns:minmax(205px,.34fr) minmax(0,1.66fr)!important;
    grid-template-rows:minmax(0,1fr)!important;gap:5px!important
  }
  .battery-view-screen.is-landscape .battery-view-pack{height:100%!important;padding:6px!important;gap:4px!important}
  .battery-view-screen.is-landscape .battery-view-soc-ring{width:min(18vh,105px)!important;padding:4px!important}
  .battery-view-screen.is-landscape .battery-view-pack-values b{font-size:clamp(10px,2.2vw,15px)!important}
  .battery-view-screen.is-landscape .battery-view-cell-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:3px!important}
}

@media (max-width:560px){
  .battery-view-head{padding-left:125px!important}
  .battery-view-shell{grid-template-rows:31px minmax(0,1fr)!important;padding:5px!important}
  .battery-view-head{height:31px!important}
  .battery-view-head h1{font-size:14px!important}
  .battery-view-grid{gap:5px!important}
  .battery-view-pack{padding:5px!important;gap:3px!important}
  .battery-view-soc-ring{width:min(15dvh,92px,25vw)!important}
  .battery-view-health-row>div,.battery-view-temp-row>div{padding:3px 1px!important}
  .battery-view-health-row b,.battery-view-temp-row b{font-size:7px!important}
  .battery-view-cell-grid{gap:2px!important}
  .battery-view-cell{padding:2px!important}
  .battery-view-cell b{font-size:8px!important}
  .battery-view-cell-stats>div{padding:3px 1px!important}
}


/* V55 — Battery Full View: reliable Chrome Back + status + cell-first landscape */
.battery-view-live{transition:color .2s ease,border-color .2s ease,background .2s ease}
.battery-view-live.online{color:#26d98a;border-color:#26d98a66;background:#0a1b15}
.battery-view-live.online i{background:#26d98a;box-shadow:0 0 10px #26d98a99}
.battery-view-live.offline{color:#ff536b;border-color:#ff536b66;background:#1b0b12}
.battery-view-live.offline i{background:#ff536b;box-shadow:0 0 10px #ff536b99}
@media (max-width:900px){
  /* Landscape: give Cell Inspector the space; keep Pack Status compact. */
  .battery-view-screen.is-landscape .battery-view-grid{grid-template-columns:minmax(175px,.27fr) minmax(0,1.73fr)!important}
  .battery-view-screen.is-landscape .battery-view-pack{padding:5px!important;gap:3px!important}
  .battery-view-screen.is-landscape .battery-view-soc-ring{width:min(15vh,88px)!important;padding:3px!important}
  .battery-view-screen.is-landscape .battery-view-soc-ring strong{font-size:clamp(22px,5vh,34px)!important}
  .battery-view-screen.is-landscape .battery-view-pack-values>div{padding:3px 2px!important}
  .battery-view-screen.is-landscape .battery-view-pack-values b{font-size:clamp(9px,1.7vw,13px)!important}
  .battery-view-screen.is-landscape .battery-view-health-row>div,.battery-view-screen.is-landscape .battery-view-temp-row>div{padding:3px 2px!important}
  .battery-view-screen.is-landscape .battery-view-health-row b,.battery-view-screen.is-landscape .battery-view-temp-row b{font-size:7px!important}
  .battery-view-screen.is-landscape .battery-view-cell{padding:4px!important}
  .battery-view-screen.is-landscape .battery-view-cell span{font-size:5px!important}
  .battery-view-screen.is-landscape .battery-view-cell b{font-size:clamp(11px,2.5vw,17px)!important;letter-spacing:-.02em}
  .battery-view-screen.is-landscape .battery-view-cell small{font-size:4px!important}
  .battery-view-screen.is-landscape .battery-view-cell-stats{gap:4px!important}
  .battery-view-screen.is-landscape .battery-view-cell-stats>div{padding:5px 3px!important}
  .battery-view-screen.is-landscape .battery-view-cell-stats b{font-size:10px!important}
  .battery-view-screen.is-landscape .battery-view-cell-meta b{font-size:10px!important}
  .battery-view-screen.is-landscape .battery-view-cell-meta span{font-size:7px!important}
}

/* V56 — Pack Status geometry fix: exactly six explicit rows for six children. */
.battery-view-pack{
  grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.battery-view-pack > *{min-width:0;min-height:0;box-sizing:border-box}
.battery-view-soc{overflow:hidden!important}
.battery-view-pack-values,
.battery-view-health-row,
.battery-view-temp-row,
.battery-view-pack-bar{min-width:0;max-width:100%;}
@media (max-width:900px){
  .battery-view-pack{grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;}
}
@media (max-width:900px) and (orientation:landscape){
  .battery-view-screen.is-landscape .battery-view-pack{grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;}
}


/* V57 — Compact Pack/SOC: prevent SOC from consuming Cell Inspector space */
@media (max-width:900px) and (orientation:landscape){
  .battery-view-screen.is-landscape .battery-view-grid{
    grid-template-columns:minmax(160px,25%) minmax(0,1fr)!important;
    gap:5px!important;
  }
  .battery-view-screen.is-landscape .battery-view-pack{
    grid-template-rows:auto 78px auto 3px auto auto!important;
    padding:4px!important;
    gap:3px!important;
    min-width:0!important;
    width:100%!important;
  }
  .battery-view-screen.is-landscape .battery-view-soc{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:78px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .battery-view-screen.is-landscape .battery-view-soc-ring{
    width:68px!important;
    height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
    flex:0 0 68px!important;
    padding:3px!important;
    box-sizing:border-box!important;
  }
  .battery-view-screen.is-landscape .battery-view-soc-ring strong{
    font-size:24px!important;
  }
  .battery-view-screen.is-landscape .battery-view-soc-ring small{
    font-size:4px!important;
  }
  .battery-view-screen.is-landscape .battery-view-pack-values{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .battery-view-screen.is-landscape .battery-view-health-row{
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .battery-view-screen.is-landscape .battery-view-temp-row{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .battery-view-screen.is-landscape .battery-view-pack-bar{width:100%!important;min-width:0!important}
}

@media (max-width:560px){
  .battery-view-soc{min-width:0!important;width:100%!important}
  .battery-view-soc-ring{max-width:100%!important;box-sizing:border-box!important}
}

/* V58 — Slightly smaller SOC ring in mobile landscape only. */
@media (max-width:900px) and (orientation:landscape){
  .battery-view-screen.is-landscape .battery-view-pack{grid-template-rows:auto 70px auto 3px auto auto!important;}
  .battery-view-screen.is-landscape .battery-view-soc{height:70px!important;}
  .battery-view-screen.is-landscape .battery-view-soc-ring{width:62px!important;height:62px!important;max-width:62px!important;max-height:62px!important;flex-basis:62px!important;padding:3px!important;}
  .battery-view-screen.is-landscape .battery-view-soc-ring strong{font-size:22px!important;}
}


/* V59 — Battery Full View: remove header dead-space and tighten viewport */
.battery-view-head{padding-left:0!important;gap:6px!important;}
.battery-view-head>div:first-child>span{display:none!important;}
.battery-view-head h1{margin:0!important;}
@media (max-width:900px){
  .battery-view-screen .battery-view-shell{padding:4px 6px!important;gap:3px!important;}
  .battery-view-screen .battery-view-head{height:28px!important;min-height:28px!important;padding-left:0!important;}
  .battery-view-screen .battery-view-grid{gap:4px!important;}
}
@media (max-width:900px) and (orientation:landscape){
  .battery-view-screen.is-landscape .battery-view-shell{padding:4px 6px!important;grid-template-rows:28px minmax(0,1fr)!important;gap:3px!important;}
  .battery-view-screen.is-landscape .battery-view-head{height:28px!important;padding-left:0!important;}
  .battery-view-screen.is-landscape .battery-view-grid{gap:4px!important;}
}
@media (max-width:560px){
  .battery-view-screen .battery-view-shell{padding:4px!important;gap:3px!important;}
  .battery-view-screen .battery-view-head{height:26px!important;min-height:26px!important;}
  .battery-view-screen .battery-view-head h1{font-size:13px!important;}
}

/* V60 — Restore normal SOC size in mobile landscape only. */
@media (max-width:900px) and (orientation:landscape){
  .battery-view-screen.is-landscape .battery-view-pack{grid-template-rows:auto 78px auto 3px auto auto!important;}
  .battery-view-screen.is-landscape .battery-view-soc{height:78px!important;}
  .battery-view-screen.is-landscape .battery-view-soc-ring{width:68px!important;height:68px!important;max-width:68px!important;max-height:68px!important;flex-basis:68px!important;padding:3px!important;}
  .battery-view-screen.is-landscape .battery-view-soc-ring strong{font-size:24px!important;}
}

/* V61 — Portrait fit + mobile orientation controls above Back */
@media (max-width:900px){
  .battery-view-actions .battery-view-back{
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
  }
  .battery-view-actions .battery-view-orientation{
    display:flex!important;
    position:fixed!important;
    right:12px!important;
    bottom:58px!important;
    top:auto!important;
    z-index:1005!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-shell{
    grid-template-rows:28px minmax(0,1fr)!important;
    padding:4px 6px!important;
    gap:3px!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-grid{
    grid-template-rows:minmax(0,38%) minmax(0,62%)!important;
    gap:5px!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-pack{
    grid-template-rows:auto 82px auto 3px auto auto!important;
    padding:5px!important;
    gap:3px!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc{
    height:82px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc-ring{
    width:76px!important;
    height:76px!important;
    max-width:76px!important;
    max-height:76px!important;
    flex:0 0 76px!important;
    padding:3px!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc-ring strong{font-size:26px!important;}
  .battery-view-screen:not(.is-landscape) .battery-view-pack-values>div,
  .battery-view-screen:not(.is-landscape) .battery-view-health-row>div,
  .battery-view-screen:not(.is-landscape) .battery-view-temp-row>div{padding:3px 2px!important;min-width:0!important;}
  .battery-view-screen:not(.is-landscape) .battery-view-cells{
    padding:5px!important;
    gap:3px!important;
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
}

@media (max-width:560px){
  .battery-view-screen:not(.is-landscape) .battery-view-grid{
    grid-template-rows:minmax(0,36%) minmax(0,64%)!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-pack{
    grid-template-rows:auto 72px auto 3px auto auto!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc{height:72px!important;}
  .battery-view-screen:not(.is-landscape) .battery-view-soc-ring{
    width:66px!important;height:66px!important;max-width:66px!important;max-height:66px!important;flex-basis:66px!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc-ring strong{font-size:23px!important;}
  .battery-view-screen:not(.is-landscape) .battery-view-cell-head h2{font-size:11px!important;}
}

/* V62 — mobile orientation control: icon only, tucked just above Back */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:900px){
  .battery-view-actions .battery-view-orientation{
    right:12px!important;
    bottom:45px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
  }
  .battery-view-actions .battery-view-orientation .orientation-icon{
    margin:0!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:500!important;
  }
}


/* V64 — portrait first-open viewport fit: account for header + grid gap, never overflow */
@media (max-width:900px){
  .battery-view-screen.show{height:var(--battery-vh,100dvh)!important;min-height:0!important;overflow:hidden!important;}
  .battery-view-screen:not(.is-landscape) .battery-view-shell{
    height:var(--battery-vh,100dvh)!important;min-height:0!important;box-sizing:border-box!important;
    grid-template-rows:26px minmax(0,1fr)!important;
    padding:4px 6px!important;gap:3px!important;overflow:hidden!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-grid{
    height:100%!important;min-height:0!important;
    grid-template-rows:minmax(0,40%) minmax(0,1fr)!important;
    gap:5px!important;overflow:hidden!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-pack,
  .battery-view-screen:not(.is-landscape) .battery-view-cells{
    min-height:0!important;height:100%!important;box-sizing:border-box!important;overflow:hidden!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-pack{
    grid-template-rows:auto 72px auto 3px auto auto!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc{height:72px!important;min-height:0!important;}
  .battery-view-screen:not(.is-landscape) .battery-view-cells{
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
}
@media (max-width:560px){
  .battery-view-screen:not(.is-landscape) .battery-view-grid{
    grid-template-rows:minmax(0,39%) minmax(0,1fr)!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-pack{
    grid-template-rows:auto 66px auto 3px auto auto!important;
  }
  .battery-view-screen:not(.is-landscape) .battery-view-soc{height:66px!important;}
}

/* V69 — Ultra Dark / Minimal. Default V67 remains unchanged. */
body.dark-mode{
  --bg:#000000;--surface:#030303;--surface2:#050505;--line:#101010;
  --text:#eeeeee;--muted:#626262;--nav:rgba(0,0,0,.96);
  background:#000;
}
body.dark-mode .topbar{background:rgba(0,0,0,.94);border-bottom-color:#0d0d0d;backdrop-filter:blur(14px)}
body.dark-mode .brand-mark{border-color:#151515;box-shadow:none}
body.dark-mode .icon-btn{border-color:#151515}
body.dark-mode .hero-card{background:#030303;border-color:#101010;box-shadow:none}
body.dark-mode .mini-stat,body.dark-mode .stat-card,body.dark-mode .inline-stat,body.dark-mode .temp-stats>div,body.dark-mode .balance-row>div,body.dark-mode .system-grid>span,body.dark-mode .health-card,body.dark-mode .temp-card{background:#040404;border-color:#101010}
body.dark-mode .metric,body.dark-mode .card{background:#030303;border-color:#101010;box-shadow:none}
body.dark-mode .spark,body.dark-mode .cell,body.dark-mode .charger-card{background:#020202;border-color:#101010}
body.dark-mode .cell.low{background:#0d0305;border-color:#6f2732}
body.dark-mode .cell.high{background:#021014;border-color:#147080}
body.dark-mode .cell.normal{border-color:#285e40}
body.dark-mode .bottom-nav{background:rgba(0,0,0,.97);border-color:#101010;backdrop-filter:blur(16px)}
body.dark-mode .action-buttons button{background:#050505;border-color:#101010}
body.dark-mode .cockpit-metrics article{background:rgba(2,2,2,.96);border-color:#111;box-shadow:none;backdrop-filter:blur(8px)}
body.dark-mode .connection-sheet{background:#030303;border-color:#101010}
body.dark-mode .battery-view-shell,body.dark-mode .cockpit-screen{background:#000}
body.dark-mode .battery-view-pack,body.dark-mode .battery-view-cells{background:#030303;border-color:#101010}
body.dark-mode .battery-view-cell{background:#020202;border-color:#101010}
body.dark-mode .sheet-note{color:#555}
body.dark-mode .icon-btn:hover{color:var(--text);border-color:#242424}
body.dark-mode .gauge:after{background:#020202;border-color:#111}
body.dark-mode .gauge{box-shadow:none}
body.dark-mode .full-speed-card{background:#020202;box-shadow:none;border-color:#111}
body.dark-mode .battery-view-cell:hover,body.dark-mode .cell:hover{transform:none}
body.dark-mode .battery-line{background:#0b0b0b}
body.dark-mode .progress{background:#0b0b0b}
body.dark-mode .temp-bar{background:#0b0b0b}
body.dark-mode .full-track{stroke:#0b0b0b}

/* V70: Ultra-dark minimal — keep glow, restore visual depth with subtle gradients. */
body.dark-mode{
  --bg:#010204;
  --surface:#080d13;
  --surface2:#0c131b;
  --line:#17232e;
  background:radial-gradient(900px 520px at 50% -180px,#071a27 0%,#020609 48%,#010204 76%),#010204;
}
body.dark-mode .topbar{
  background:linear-gradient(180deg,rgba(5,10,15,.96),rgba(2,5,8,.92));
  border-bottom-color:#17242f;
  box-shadow:0 8px 28px rgba(0,0,0,.55),0 1px 18px rgba(38,217,255,.035);
}
body.dark-mode .brand-mark{
  border-color:#203746;
  box-shadow:inset 0 0 18px #26d9ff10,0 0 16px #26d9ff08;
}
body.dark-mode .icon-btn{border-color:#1b2a36;box-shadow:0 0 14px #26d9ff06}
body.dark-mode .icon-btn:hover{border-color:#315262;box-shadow:0 0 18px #26d9ff14}
body.dark-mode .hero-card,
body.dark-mode .metric,
body.dark-mode .card,
body.dark-mode .battery-view-pack,
body.dark-mode .battery-view-cells,
body.dark-mode .full-speed-card{
  background:linear-gradient(145deg,#0b151e 0%,#071018 46%,#03070b 100%);
  border-color:#172a37;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 55px rgba(0,0,0,.55),0 0 30px rgba(38,217,255,.025);
}
body.dark-mode .mini-stat,
body.dark-mode .stat-card,
body.dark-mode .inline-stat,
body.dark-mode .temp-stats>div,
body.dark-mode .balance-row>div,
body.dark-mode .system-grid>span,
body.dark-mode .health-card,
body.dark-mode .temp-card,
body.dark-mode .spark,
body.dark-mode .charger-card,
body.dark-mode .connection-sheet{
  background:linear-gradient(145deg,#0a141d 0%,#060d14 58%,#03070b 100%);
  border-color:#172a37;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.022),0 10px 30px rgba(0,0,0,.38);
}
body.dark-mode .cell,
body.dark-mode .battery-view-cell{
  background:linear-gradient(145deg,#09131b,#050a0f);
  border-color:#1a2b37;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018),0 6px 18px rgba(0,0,0,.35);
}
body.dark-mode .cell.low{background:linear-gradient(145deg,#18080d,#080306);border-color:#7b2c39;box-shadow:inset 0 0 18px #ff66780b,0 0 14px #ff66780b}
body.dark-mode .cell.normal{border-color:#1a2b37;box-shadow:inset 0 1px 0 #ffffff06,0 6px 18px rgba(0,0,0,.35)}
body.dark-mode .cell.high{background:linear-gradient(145deg,#061a22,#02080c);border-color:#16798b;box-shadow:inset 0 0 20px #26d9ff0b,0 0 16px #26d9ff0a}
body.dark-mode .action-buttons button{background:linear-gradient(145deg,#0b151e,#050a0f);border-color:#172a37;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
body.dark-mode .bottom-nav{background:linear-gradient(180deg,rgba(7,13,19,.97),rgba(1,3,5,.98));border-color:#17242f;box-shadow:0 -8px 30px rgba(0,0,0,.55),0 0 20px rgba(38,217,255,.025)}
body.dark-mode .cockpit-metrics article{
  background:linear-gradient(145deg,rgba(11,22,30,.96),rgba(4,9,13,.97));
  border-color:#1a303d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 8px 25px #0008,0 0 18px #26d9ff07;
}
body.dark-mode .gauge{
  background:conic-gradient(from 225deg,var(--cyan) 0deg,var(--cyan) calc(var(--speed,0)*2.7deg),#12212b calc(var(--speed,0)*2.7deg),#12212b 270deg,transparent 270deg);
  box-shadow:0 0 55px #26d9ff12,0 0 18px #26d9ff0a;
}
body.dark-mode .gauge:after{background:radial-gradient(circle at 50% 42%,#0a1720 0%,#03070b 68%,#010204 100%);border-color:#18303d;box-shadow:inset 0 0 28px #26d9ff09}
body.dark-mode .full-speed-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 25px 70px #000b,0 0 34px #26d9ff07}
body.dark-mode .battery-line,
body.dark-mode .progress,
body.dark-mode .temp-bar{background:#0a141b;border:1px solid #14232d}
body.dark-mode .battery-line div,.battery-line div{box-shadow:0 0 12px #59e38d55}
body.dark-mode .progress i{box-shadow:0 0 12px #26d9ff66}
body.dark-mode .temp-bar i{box-shadow:0 0 12px #59e38d55}
body.dark-mode .full-track{stroke:#10202a}
body.dark-mode .connection.on i{box-shadow:0 0 10px var(--green),0 0 20px #59e38d55}
body.dark-mode .battery-view-cell:hover,body.dark-mode .cell:hover{transform:translateY(-2px)}

/* V71 — Ultra Dark Elegant: preserve accent colors, gradients and glow */
body.dark-mode{
  --bg:#02050a;--surface:#071018;--surface2:#0a151f;--line:#1a2b38;
  --text:#f2f6f8;--muted:#718493;--nav:rgba(4,8,13,.94);
  background:radial-gradient(900px 520px at 50% -180px,#0d2638 0,transparent 64%),#02050a;
}
body.dark-mode .topbar{
  background:linear-gradient(180deg,rgba(7,13,20,.96),rgba(3,7,11,.92));
  border-bottom-color:#1a2b38;box-shadow:0 8px 30px #0008;
}
body.dark-mode .brand-mark{border-color:#294250;box-shadow:inset 0 0 20px #26d9ff10,0 0 16px #26d9ff0a}
body.dark-mode .icon-btn{border-color:#263946;color:#9aabb5;box-shadow:inset 0 1px 0 #ffffff08}
body.dark-mode .hero-card{
  background:linear-gradient(135deg,#0d1c28 0%,#09141e 48%,#071019 100%);
  border-color:#263d4a;box-shadow:0 20px 50px #0009,0 0 32px #26d9ff08;
}
body.dark-mode .mini-stat,body.dark-mode .stat-card,body.dark-mode .inline-stat,
body.dark-mode .temp-stats>div,body.dark-mode .balance-row>div,body.dark-mode .system-grid>span,
body.dark-mode .health-card,body.dark-mode .temp-card{
  background:linear-gradient(145deg,#0d1a25,#08121a);
  border-color:#203542;box-shadow:inset 0 1px 0 #ffffff07,0 10px 26px #0005;
}
body.dark-mode .metric,body.dark-mode .card{
  background:linear-gradient(145deg,#0d1b26,#08121a 72%,#071019);
  border-color:#203542;box-shadow:inset 0 1px 0 #ffffff08,0 12px 30px #0006;
}
body.dark-mode .metric.cyan{border-top-color:var(--cyan);box-shadow:inset 0 2px 0 #26d9ff66,0 0 22px #26d9ff09}
body.dark-mode .metric.green{border-top-color:var(--green);box-shadow:inset 0 2px 0 #59e38d66,0 0 22px #59e38d09}
body.dark-mode .metric.orange{border-top-color:var(--orange);box-shadow:inset 0 2px 0 #ffb54766,0 0 22px #ffb54709}
body.dark-mode .metric.purple{border-top-color:var(--purple);box-shadow:inset 0 2px 0 #b78cff66,0 0 22px #b78cff09}
body.dark-mode .spark,body.dark-mode .cell,body.dark-mode .charger-card{
  background:linear-gradient(145deg,#0b1721,#071018);border-color:#233945;box-shadow:inset 0 1px 0 #ffffff06,0 8px 20px #0005;
}
body.dark-mode .cell.low{background:linear-gradient(145deg,#241017,#11080d);border-color:#b83f52;box-shadow:inset 0 0 18px #ff536b0b,0 0 15px #ff536b0a}
body.dark-mode .cell.normal{background:linear-gradient(145deg,#09131b,#050a0f);border-color:#1a2b37;box-shadow:inset 0 1px 0 #ffffff06,0 6px 18px rgba(0,0,0,.35)}
body.dark-mode .cell.high{background:linear-gradient(145deg,#08242c,#06141a);border-color:#23b9d5;box-shadow:inset 0 0 20px #26d9ff0d,0 0 16px #26d9ff0a}
body.dark-mode .bottom-nav{background:linear-gradient(180deg,rgba(9,17,25,.96),rgba(3,7,11,.98));border-color:#1d303d;box-shadow:0 -10px 35px #0009}
body.dark-mode .action-buttons button{background:linear-gradient(145deg,#0d1a24,#071018);border-color:#223845;box-shadow:inset 0 1px 0 #ffffff07}
body.dark-mode .cockpit-metrics article{background:linear-gradient(145deg,rgba(12,25,35,.97),rgba(6,14,21,.97));border-color:#203844;box-shadow:inset 0 1px 0 #ffffff08,0 12px 28px #0007}
body.dark-mode .connection-sheet{background:linear-gradient(145deg,#0c1923,#071018);border-color:#233945;box-shadow:0 18px 45px #000b}
body.dark-mode .battery-view-shell,body.dark-mode .cockpit-screen{background:radial-gradient(700px 350px at 50% 0,#0a1b27 0,transparent 65%),#02050a}
body.dark-mode .battery-view-pack,body.dark-mode .battery-view-cells{background:linear-gradient(145deg,#0c1923,#071018);border-color:#233945;box-shadow:inset 0 1px 0 #ffffff08,0 12px 28px #0007}
body.dark-mode .battery-view-cell{background:linear-gradient(145deg,#0b1821,#061018);border-color:#263b47;box-shadow:inset 0 1px 0 #ffffff06}
body.dark-mode .battery-view-cell.low{background:linear-gradient(145deg,#241017,#11080d);border-color:#b83f52}
body.dark-mode .battery-view-cell.normal{background:linear-gradient(145deg,#0b1821,#061018);border-color:#263b47}
body.dark-mode .battery-view-cell.high{background:linear-gradient(145deg,#08242c,#06141a);border-color:#23b9d5}
body.dark-mode .full-speed-card{background:linear-gradient(145deg,#0d1b26,#071018);box-shadow:0 16px 36px #0008,0 0 28px #26d9ff08;border-color:#233945}
body.dark-mode .gauge{box-shadow:0 0 45px #26d9ff18,0 12px 30px #0007}
body.dark-mode .gauge:after{background:radial-gradient(circle at 40% 30%,#0f202b,#040a10 72%);border-color:#24404d;box-shadow:inset 0 0 30px #0009}
body.dark-mode .rpm-mini-gauge{box-shadow:inset 0 0 0 1px #29414a,0 0 28px #25d7e926}
body.dark-mode .current-dial{box-shadow:inset 0 0 0 1px #34434e,0 0 30px #b96dff20}
body.dark-mode .metric-icon{box-shadow:inset 0 1px 0 #ffffff0a,0 0 14px #26d9ff08}
body.dark-mode .connection.on i{box-shadow:0 0 12px var(--green),0 0 22px #59e38d55}
body.dark-mode .section-badge,body.dark-mode .state{background:linear-gradient(145deg,#0c1923,#071018);border-color:#263d4a}

/* V75 — System Information: four complete columns, isolated from other grid rules */
.system-card{overflow:visible!important}
.system-card{margin-top:56px!important}
.system-card .card-head{margin-bottom:14px!important}
.system-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;width:100%!important;min-width:0!important;align-items:stretch!important}
.system-grid>span{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;width:100%!important;min-width:0!important;min-height:72px!important;padding:14px 15px!important;overflow:hidden!important;background:linear-gradient(145deg,#0d1822,#071018)!important;border:1px solid #203543!important;border-radius:13px!important;color:var(--muted)!important}
.system-grid>span b{display:block!important;width:100%!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--text)!important;font-size:14px!important;line-height:1.25!important;margin-top:7px!important}
body.dark-mode .system-grid>span{background:linear-gradient(145deg,#0b151e 0%,#071018 55%,#03070b 100%)!important;border-color:#203543!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 26px rgba(0,0,0,.34)!important}
@media(max-width:760px){.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.system-grid>span{min-height:68px!important;padding:13px!important}}
@media(max-width:420px){.system-grid{grid-template-columns:1fr!important}}


/* V78 — minimal drive-mode/status treatment + real battery icon in thermal status. */
.cockpit-screen .temperature-chip .battery-temp-icon{
  display:grid!important;
  place-items:center;
  width:28px!important;
  height:28px!important;
  flex:0 0 28px;
  color:var(--green);
}
.cockpit-screen .battery-temp-icon svg{width:24px;height:24px;display:block;}
.cockpit-screen .battery-chip{gap:9px;}

.cockpit-screen .panel-kicker{
  align-items:center;
  gap:10px;
}
.cockpit-screen #cockpitModePill{
  position:relative;
  min-width:66px;
  padding:5px 10px 5px 18px;
  border:1px solid #2a3944;
  border-radius:999px;
  background:transparent;
  color:#c9d6dc;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;
  text-align:center;
  box-shadow:none;
}
.cockpit-screen #cockpitModePill:before{
  content:"";
  position:absolute;
  left:8px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#77848c;
}
.cockpit-screen #cockpitModePill.mode-park{border-color:#45515a;color:#d6dde1}
.cockpit-screen #cockpitModePill.mode-park:before{background:#aeb7bd}
.cockpit-screen #cockpitModePill.mode-sport{border-color:#5a392e;color:#ffb58c}
.cockpit-screen #cockpitModePill.mode-sport:before{background:var(--orange);box-shadow:0 0 7px #ff9f43aa}
.cockpit-screen #cockpitModePill.mode-reverse{border-color:#56303a;color:#ff9aaa}
.cockpit-screen #cockpitModePill.mode-reverse:before{background:var(--red);box-shadow:0 0 7px #ff5c72aa}
.cockpit-screen #cockpitModePill.mode-eco{border-color:#28523f;color:#8ff0b9}
.cockpit-screen #cockpitModePill.mode-eco:before{background:var(--green);box-shadow:0 0 7px #26d98aaa}

.cockpit-screen .full-speed-center b#fullMode{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  margin-top:11px;
  padding:5px 10px;
  border:1px solid #2b3a45;
  border-radius:999px;
  background:rgba(5,12,17,.72);
  color:#d5e0e5;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;
  box-shadow:none;
}
.cockpit-screen .full-speed-center b#fullMode.mode-sport{border-color:#5a392e;color:#ffb58c}
.cockpit-screen .full-speed-center b#fullMode.mode-reverse{border-color:#56303a;color:#ff9aaa}
.cockpit-screen .full-speed-center b#fullMode.mode-eco{border-color:#28523f;color:#8ff0b9}
.cockpit-screen .full-speed-center b#fullMode.mode-park{border-color:#45515a;color:#d6dde1}

/* The large speed readout is the single source of truth; remove the duplicate footer. */
.cockpit-screen .speed-panel{grid-template-rows:auto minmax(0,1fr)!important;}
.cockpit-screen .speed-panel .full-speedo{align-self:center;}

@media (max-width:900px) and (orientation:landscape){
  .cockpit-screen #cockpitModePill{min-width:56px;padding:4px 8px 4px 16px;font-size:7px}
  .cockpit-screen #cockpitModePill:before{left:7px;width:4px;height:4px}
  .cockpit-screen .full-speed-center b#fullMode{min-width:52px;margin-top:8px;padding:4px 7px;font-size:6px}
  .cockpit-screen .temperature-chip .battery-temp-icon{width:22px!important;height:22px!important;flex-basis:22px}
  .cockpit-screen .battery-temp-icon svg{width:20px;height:20px}
}
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen #cockpitModePill{min-width:54px;padding:4px 7px 4px 15px;font-size:6px}
  .cockpit-screen #cockpitModePill:before{left:6px;width:4px;height:4px}
  .cockpit-screen .full-speed-center b#fullMode{min-width:48px;margin-top:7px;padding:4px 6px;font-size:5.5px}
  .cockpit-screen .temperature-chip .battery-temp-icon{width:21px!important;height:21px!important;flex-basis:21px}
  .cockpit-screen .battery-temp-icon svg{width:19px;height:19px}
}

/* V79: compact connection status — animated offline, green online */
.cockpit-screen .cockpit-live{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:7px 11px;
  border:1px solid #343b42;
  border-radius:999px;
  background:rgba(10,13,16,.72);
  color:#ff5c72;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1;
  transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.cockpit-screen .cockpit-live .live-dot{
  width:7px;height:7px;border-radius:50%;display:block;
  background:#ff536b;
  box-shadow:0 0 0 0 #ff536b66;
  animation:cockpitOfflinePulse 1.35s ease-in-out infinite;
}
.cockpit-screen .cockpit-live.online{color:#26d98a;border-color:#26d98a66;background:#081b13;box-shadow:0 0 18px #26d98a10}
.cockpit-screen .cockpit-live.online .live-dot{background:#26d98a;box-shadow:0 0 9px #26d98a99;animation:cockpitOnlinePulse 1.8s ease-in-out infinite}
.cockpit-screen .cockpit-live.offline{color:#ff536b;border-color:#ff536b66;background:#1b0b12}
.cockpit-screen .cockpit-live.offline .live-dot{background:#ff536b;box-shadow:0 0 9px #ff536b99;animation:cockpitOfflinePulse 1.35s ease-in-out infinite}
@keyframes cockpitOfflinePulse{0%,100%{opacity:.45;transform:scale(.82);box-shadow:0 0 0 0 #ff536b00}50%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 5px #ff536b18}}
@keyframes cockpitOnlinePulse{0%,100%{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}

/* Larger drive-mode status for quick readability */
.cockpit-screen #cockpitModePill{
  min-width:94px;
  min-height:32px;
  padding:8px 13px 8px 25px;
  font-size:11px;
  letter-spacing:.15em;
}
.cockpit-screen #cockpitModePill:before{
  left:10px;
  width:7px;
  height:7px;
}

@media (max-width:900px) and (orientation:landscape){
  .cockpit-screen #cockpitModePill{min-width:78px;min-height:27px;padding:6px 10px 6px 21px;font-size:9px}
  .cockpit-screen #cockpitModePill:before{left:8px;width:6px;height:6px}
}
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen #cockpitModePill{min-width:74px;min-height:26px;padding:6px 9px 6px 20px;font-size:8px}
  .cockpit-screen #cockpitModePill:before{left:8px;width:5px;height:5px}
  .cockpit-screen .cockpit-live{padding:6px 8px;font-size:7px;gap:5px}
  .cockpit-screen .cockpit-live .live-dot{width:6px;height:6px}
}

/* V80 — thermal connection state + clean system status */
.cockpit-screen .temperature-strip-head{align-items:center;flex-direction:row;gap:10px;}
.cockpit-screen .thermal-live{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:7px 11px;border:1px solid #343b42;border-radius:999px;background:rgba(10,13,16,.72);color:#ff536b;font-size:9px;font-weight:800;letter-spacing:.13em;line-height:1;transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;}
.cockpit-screen .thermal-live .live-dot{width:7px;height:7px;border-radius:50%;display:block;background:#ff536b;box-shadow:0 0 9px #ff536b99;animation:thermalOfflinePulse 1.35s ease-in-out infinite;}
.cockpit-screen .thermal-live.online{color:#26d98a;border-color:#26d98a66;background:#081b13;box-shadow:0 0 18px #26d98a10;}
.cockpit-screen .thermal-live.online .live-dot{background:#26d98a;box-shadow:0 0 9px #26d98a99;animation:thermalOnlinePulse 1.8s ease-in-out infinite;}
.cockpit-screen .thermal-live.offline{color:#ff536b;border-color:#ff536b66;background:#1b0b12;}
.cockpit-screen .thermal-live.offline .live-dot{background:#ff536b;box-shadow:0 0 9px #ff536b99;animation:thermalOfflinePulse 1.35s ease-in-out infinite;}
@keyframes thermalOfflinePulse{0%,100%{opacity:.45;transform:scale(.82);box-shadow:0 0 0 0 #ff536b00}50%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 5px #ff536b18}}
@keyframes thermalOnlinePulse{0%,100%{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
.cockpit-screen .system-status{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:90px;min-height:30px;padding:7px 11px;border:1px solid #33404a;border-radius:999px;background:rgba(5,12,17,.72);color:#c9d6dc;font-size:9px;font-weight:800;letter-spacing:.14em;line-height:1;box-shadow:none;}
.cockpit-screen .system-status i{width:6px;height:6px;border-radius:50%;display:block;background:#aeb7bd;}
.cockpit-screen .system-status.ready{border-color:#2e5c49;color:#8ff0b9;}
.cockpit-screen .system-status.ready i{background:#26d98a;box-shadow:0 0 8px #26d98a88;}
.cockpit-screen .system-status.driving{border-color:#5a392e;color:#ffb58c;}
.cockpit-screen .system-status.driving i{background:#ff9f43;box-shadow:0 0 8px #ff9f4388;}
.cockpit-screen .system-status.offline{border-color:#56303a;color:#ff9aaa;background:#1b0b12;}
.cockpit-screen .system-status.offline i{background:#ff536b;box-shadow:0 0 8px #ff536b99;animation:thermalOfflinePulse 1.35s ease-in-out infinite;}
@media (max-width:900px) and (orientation:landscape){
  .cockpit-screen .thermal-live{padding:6px 9px;font-size:7px;gap:5px;}
  .cockpit-screen .thermal-live .live-dot{width:6px;height:6px;}
  .cockpit-screen .system-status{min-width:74px;min-height:26px;padding:6px 9px;font-size:7px;gap:5px;}
  .cockpit-screen .system-status i{width:5px;height:5px;}
}
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen .thermal-live{padding:6px 8px;font-size:7px;gap:5px;}
  .cockpit-screen .thermal-live .live-dot{width:6px;height:6px;}
  .cockpit-screen .system-status{min-width:68px;min-height:25px;padding:6px 8px;font-size:6.5px;gap:5px;}
  .cockpit-screen .system-status i{width:5px;height:5px;}
}


/* V81 — clean thermal header and drive-status header. */
.cockpit-screen .temperature-strip-head{display:flex;align-items:center;justify-content:flex-start!important;}
.cockpit-screen .speed-panel>.panel-kicker{justify-content:flex-start!important;}

/* V82 — enlarge the main Vehicle Speed mode badge (PARK / SPORT / REVERSE / ECO) */
.cockpit-screen .full-speed-center b#fullMode{
  min-width:112px;
  min-height:38px;
  margin-top:13px;
  padding:9px 18px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.18em;
  border-width:1px;
  border-radius:999px;
}
@media (max-width:900px) and (orientation:landscape){
  .cockpit-screen .full-speed-center b#fullMode{
    min-width:96px;
    min-height:34px;
    padding:8px 14px;
    font-size:12px;
    margin-top:10px;
  }
}
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen .full-speed-center b#fullMode{
    min-width:88px;
    min-height:32px;
    padding:7px 12px;
    font-size:11px;
    margin-top:9px;
  }
}
/* V83: slightly smaller central drive mode badge */
.cockpit-screen .full-speed-center b#fullMode{font-size:12px;padding:7px 18px;margin-top:14px;min-width:92px}
@media (max-width:760px){.cockpit-screen .full-speed-center b#fullMode{font-size:10px;padding:6px 14px;margin-top:11px;min-width:78px}}
@media (max-width:470px){.cockpit-screen .full-speed-center b#fullMode{font-size:8px;padding:5px 11px;margin-top:9px;min-width:64px}}

@media(max-width:390px){.nav-item .nav-icon{width:19px;height:19px}}

/* Persistent trip meter in Drive Cockpit */
.cockpit-trip{position:absolute;right:clamp(12px,2.2vw,28px);top:48px;z-index:6;display:flex;align-items:center;gap:8px;padding:7px 8px 7px 10px;border:1px solid #294752;border-radius:12px;background:rgba(5,13,18,.86);box-shadow:0 8px 24px #0005,inset 0 1px 0 #ffffff08;backdrop-filter:blur(8px);}
.trip-readout{display:flex;align-items:baseline;gap:4px;line-height:1;font-variant-numeric:tabular-nums;}
.trip-readout span{font-size:8px;letter-spacing:.16em;color:#81929b;font-weight:800;}
.trip-readout b{font-size:24px;color:#f2fbff;font-weight:850;letter-spacing:.01em;}
.trip-readout small{font-size:9px;color:#7f929c;font-weight:700;}
.trip-reset{appearance:none;border:1px solid #36505b;background:rgba(255,255,255,.025);color:#9cb1ba;border-radius:8px;padding:5px 7px;font-size:7px;letter-spacing:.08em;font-weight:800;cursor:pointer;}
.trip-reset:hover{color:#fff;border-color:#26d9ff88;background:#26d9ff10;}
.trip-reset:active{transform:translateY(1px);}
@media (max-width:900px) and (orientation:landscape){.cockpit-screen .cockpit-trip{right:8px;top:34px;padding:5px 6px 5px 7px;gap:6px;border-radius:9px}.cockpit-screen .trip-readout span{font-size:5px}.cockpit-screen .trip-readout b{font-size:15px}.cockpit-screen .trip-readout small{font-size:6px}.cockpit-screen .trip-reset{padding:4px 5px;font-size:5px;border-radius:6px}}
@media (max-width:600px) and (orientation:portrait){.cockpit-screen .cockpit-trip{right:5px;top:30px;padding:4px 5px 4px 6px;gap:4px;border-radius:8px}.cockpit-screen .trip-readout span{font-size:4.5px}.cockpit-screen .trip-readout b{font-size:13px}.cockpit-screen .trip-readout small{font-size:5px}.cockpit-screen .trip-reset{padding:3px 4px;font-size:4.5px;border-radius:5px}}
@media (max-width:470px){.cockpit-screen .cockpit-trip{right:5px;top:28px}.cockpit-screen .trip-readout b{font-size:12px}}


/* V88 polish — overview electrical summary, clean live badge, relevant thermal/health icons. */
.energy-summary{min-width:0}.energy-summary>.label{display:block}.energy-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.energy-mini-grid>div{min-width:0}.energy-mini-grid span{display:block;color:var(--muted);font-size:7px;letter-spacing:.14em;margin-bottom:4px}.energy-mini-grid b{display:block;color:var(--text);font-size:20px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.temp-icon{display:grid!important;place-items:center}.temp-icon svg{width:100%;height:100%;display:block}.health-title-icon{display:grid!important;place-items:center;width:34px;height:34px;padding:6px}.health-title-icon svg{width:100%;height:100%;display:block}.live-tag{white-space:nowrap}.live-tag.waiting{color:var(--muted)}
@media(max-width:700px){.energy-mini-grid{gap:6px}.energy-mini-grid b{font-size:16px}.energy-mini-grid span{font-size:6px}}
@media(max-width:470px){.energy-mini-grid{gap:5px;margin-top:9px}.energy-mini-grid b{font-size:13px}.energy-mini-grid span{font-size:5px}}
.temp-icon{width:48px;height:48px;flex:0 0 48px;color:currentColor}
.health-title-icon{flex:0 0 34px}


/* V88 Thermal refinement — minimal white icons + equal card sizing. */
.temp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}
.temp-card{width:100%;min-width:0;min-height:265px;height:265px;padding:23px;border-radius:20px;display:flex;align-items:center;justify-content:center}
.temp-icon{width:42px;height:42px;flex:0 0 42px;color:#fff;margin-bottom:13px}
.temp-icon svg{width:100%;height:100%;display:block;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.temp-icon svg rect{fill:none}
.temperature-title-icon{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:7px;vertical-align:-4px;color:#fff}
.temperature-title-icon svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.temp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.temp-card{min-height:220px;height:220px;padding:14px;border-radius:15px}.temp-icon{width:32px;height:32px;flex-basis:32px;margin-bottom:9px}.temp-card>span:not(.temp-symbol){font-size:7px}.temp-card strong{font-size:42px}.temp-bar{margin-top:14px}}
@media(max-width:470px){.temp-grid{gap:5px}.temp-card{min-height:190px;height:190px;padding:9px;border-radius:12px}.temp-icon{width:27px;height:27px;flex-basis:27px;margin-bottom:7px}.temp-card>span:not(.temp-symbol){font-size:6px;letter-spacing:.1em}.temp-card strong{font-size:30px;margin-top:9px}.temp-bar{height:4px;margin-top:11px}.temperature-title-icon{width:19px;height:19px;margin-right:5px}}

.brand-mark svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* V102 — Drive Cockpit Thermal Status: colored relevant icons + clearer labels */
.cockpit-screen .controller-chip .chip-icon{
  color:var(--green);
  filter:drop-shadow(0 0 7px #26d98a66);
}
.cockpit-screen .motor-chip .chip-icon{
  color:var(--orange);
  filter:drop-shadow(0 0 7px #ff9d3d66);
}
.cockpit-screen .battery-chip .chip-icon{
  color:var(--cyan);
  background:#09232b;
  border-color:#1f6170;
  filter:drop-shadow(0 0 7px #26d9ff55);
}
.cockpit-screen .temperature-chip small{
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  color:#d9e7eb;
}
@media(max-width:900px) and (orientation:landscape){
  .cockpit-screen .temperature-chip small{font-size:6.5px}
}
@media(max-width:600px) and (orientation:portrait){
  .cockpit-screen .temperature-chip small{font-size:6.5px}
}
@media(max-width:470px){
  .cockpit-screen .temperature-chip small{font-size:5.5px;letter-spacing:.11em}
}

/* V103 — Thermal title icon, clean battery icon, slightly larger Trip */
.cockpit-screen .battery-chip .chip-icon{
  background:transparent;
  border-color:transparent;
  filter:none;
}
.cockpit-screen .thermal-title{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#d9e7eb;
}
.cockpit-screen .thermal-title-icon{
  width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  color:#ff9d3d;
}
.cockpit-screen .thermal-title-icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cockpit-screen .trip-readout b{font-size:28px;}
@media (max-width:900px) and (orientation:landscape){
  .cockpit-screen .trip-readout b{font-size:18px}
}
@media (max-width:600px) and (orientation:portrait){
  .cockpit-screen .trip-readout b{font-size:16px}
}
@media (max-width:470px){
  .cockpit-screen .trip-readout b{font-size:15px}
}
/* V104 — Drive Cockpit thermal thresholds
   Normal: green, Warning: orange, Critical: red pulse. */
.cockpit-screen .temperature-chip.thermal-warning{
  border-color:#b87920;
  background:linear-gradient(145deg,#17150e,#0e1214);
}
.cockpit-screen .temperature-chip.thermal-warning .chip-icon{
  color:#ffb547;
}
.cockpit-screen .temperature-chip.thermal-critical{
  border-color:#ff334f;
  background:linear-gradient(145deg,#2a0c12,#120b0e);
  animation:thermalCriticalPulse 1.05s ease-in-out infinite;
}
.cockpit-screen .temperature-chip.thermal-critical .chip-icon,
.cockpit-screen .temperature-chip.thermal-critical b,
.cockpit-screen .temperature-chip.thermal-critical small{
  color:#ff5a6d;
}
@keyframes thermalCriticalPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,51,79,0),inset 0 0 0 rgba(255,51,79,0)}
  50%{box-shadow:0 0 18px 2px rgba(255,51,79,.34),inset 0 0 18px rgba(255,51,79,.10)}
}
@media (prefers-reduced-motion:reduce){
  .cockpit-screen .temperature-chip.thermal-critical{animation:none}
}


/* V203: persistent odometer under vehicle speed, aligned to the left */
.speed-odometer-row{position:absolute;left:20px;right:20px;bottom:14px;display:flex;align-items:center;justify-content:flex-start;z-index:3;pointer-events:none}
.odo-panel{min-width:150px;padding:9px 14px 10px;border:1px solid rgba(120,190,205,.16);border-radius:12px;background:rgba(7,15,20,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.odo-label{display:block;margin-bottom:5px;font-size:8px;line-height:1;letter-spacing:.18em;color:#72838e}
.odo-panel strong{display:block;font-size:17px;line-height:1;font-weight:700;letter-spacing:.04em;color:#e9fbff;white-space:nowrap}
@media(max-width:760px){.speed-odometer-row{left:12px;right:12px;bottom:10px}.odo-panel{min-width:125px;padding:8px 11px 9px}.odo-label{font-size:6px}.odo-panel strong{font-size:14px}}
@media(max-width:470px){.speed-odometer-row{left:8px;bottom:8px}.odo-panel{min-width:112px}.odo-panel strong{font-size:12px}}.odo-readout,.odo-readout b,.cockpit-trip-bottom b{font-size:14px}}

/* V206 — Persistent travel log based on existing Trip distance and SOC. */
.travel-log-card{margin-top:16px}
.travel-log-note{margin:-4px 0 14px;color:#758792;font-size:11px;line-height:1.5}
.travel-log-list{display:grid;gap:8px}
.travel-log-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(120,190,205,.12);border-radius:12px;background:linear-gradient(145deg,rgba(12,24,31,.7),rgba(7,14,19,.55))}
.travel-log-row strong{display:block;font-size:10px;letter-spacing:.14em;color:#dcecf0}
.travel-log-row small{display:block;margin-top:5px;color:#72838e;font-size:10px}
.travel-log-battery{text-align:right}
.travel-log-battery span{display:block;font-size:8px;letter-spacing:.14em;color:#72838e}
.travel-log-battery b{display:block;margin-top:3px;font-size:14px;color:#ffb547}
.travel-log-battery small{margin-top:3px}
.travel-log-empty{padding:18px 14px;border:1px dashed rgba(120,190,205,.14);border-radius:12px;color:#647780;font-size:11px;text-align:center}
.travel-log-more{width:100%;margin-top:2px;padding:10px 12px;border:1px solid rgba(120,190,205,.16);border-radius:10px;background:rgba(12,28,36,.7);color:#a9d6df;font:600 9px/1.2 inherit;letter-spacing:.12em;cursor:pointer;transition:.2s ease}
.travel-log-more:hover{border-color:rgba(120,190,205,.32);background:rgba(16,36,45,.9)}
.travel-log-more span{margin-left:6px;color:#6f8790}
.travel-log-more.is-secondary{color:#82969d}
@media(max-width:600px){.travel-log-row{grid-template-columns:1fr auto;padding:10px 11px}.travel-log-row strong{font-size:9px}.travel-log-battery b{font-size:12px}}

/* V211 — elegant floating Travel Log modal */
body.travel-log-modal-open{overflow:hidden}
.travel-log-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:22px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.travel-log-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.travel-log-backdrop{position:absolute;inset:0;background:rgba(2,7,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.travel-log-modal-panel{position:relative;width:min(620px,100%);max-height:min(78vh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(130,205,220,.18);border-radius:22px;background:linear-gradient(145deg,rgba(14,28,36,.98),rgba(5,12,17,.98));box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.025) inset,0 0 45px rgba(74,178,198,.08);transform:translateY(12px) scale(.985);transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.travel-log-modal.is-open .travel-log-modal-panel{transform:translateY(0) scale(1)}
.travel-log-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 12px;border-bottom:1px solid rgba(130,205,220,.1)}
.travel-log-modal-head h2{margin:5px 0 0;color:#e6f4f7;font-size:19px;letter-spacing:-.02em}
.travel-log-modal-close{width:34px;height:34px;border:1px solid rgba(150,210,220,.16);border-radius:50%;background:rgba(255,255,255,.035);color:#9bb1b8;font:300 25px/1 Arial,sans-serif;cursor:pointer;transition:.18s ease}
.travel-log-modal-close:hover{color:#e9fbff;border-color:rgba(150,210,220,.35);background:rgba(120,200,215,.08);transform:rotate(90deg)}
.travel-log-modal-meta{display:flex;justify-content:space-between;padding:10px 22px;color:#607780;font-size:8px;font-weight:700;letter-spacing:.16em}
.travel-log-modal-meta span:first-child{color:#8ebec8}
.travel-log-modal-list{overflow:auto;padding:4px 22px 22px;display:grid;gap:8px;scrollbar-width:thin;scrollbar-color:rgba(120,190,205,.25) transparent}
.travel-log-modal-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:13px 14px;border:1px solid rgba(120,190,205,.11);border-radius:13px;background:linear-gradient(145deg,rgba(16,32,40,.82),rgba(7,15,20,.7));transition:.18s ease}
.travel-log-modal-row:hover{border-color:rgba(120,190,205,.24);transform:translateY(-1px);background:linear-gradient(145deg,rgba(20,40,49,.9),rgba(8,17,22,.82))}
.travel-log-modal-row strong{display:block;color:#dcecf0;font-size:10px;letter-spacing:.14em}
.travel-log-modal-row small{display:block;margin-top:5px;color:#72858d;font-size:10px}
.travel-log-modal-battery{text-align:right}
.travel-log-modal-battery span{display:block;color:#72858d;font-size:8px;letter-spacing:.14em}
.travel-log-modal-battery b{display:block;margin-top:3px;color:#ffb547;font-size:14px}
.travel-log-modal-battery small{margin-top:3px}
.travel-log-modal-empty{padding:36px 16px;text-align:center;border:1px dashed rgba(120,190,205,.14);border-radius:14px;color:#71848b;font-size:11px}
.travel-log-reset{margin:0 22px 22px;width:auto;color:#b87f7f;border-color:rgba(184,127,127,.18)}
.travel-log-reset:hover{border-color:rgba(184,127,127,.35);background:rgba(90,30,35,.18);color:#e0a0a0}
@media(max-width:600px){.travel-log-modal{padding:12px}.travel-log-modal-panel{max-height:84vh;border-radius:18px}.travel-log-modal-head{padding:18px 16px 11px}.travel-log-modal-meta{padding:9px 16px}.travel-log-modal-list{padding:3px 16px 16px}.travel-log-modal-row{padding:11px 12px}.travel-log-modal-head h2{font-size:16px}}

.travel-log-confirm{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:22px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.travel-log-confirm.is-open{visibility:visible;opacity:1;pointer-events:auto}
.travel-log-confirm-backdrop{position:absolute;inset:0;background:rgba(2,7,10,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.travel-log-confirm-panel{position:relative;width:min(380px,100%);padding:26px 24px 22px;border:1px solid rgba(184,127,127,.22);border-radius:18px;background:linear-gradient(145deg,rgba(18,31,38,.99),rgba(7,14,19,.99));box-shadow:0 22px 65px rgba(0,0,0,.55),0 0 35px rgba(184,127,127,.08);text-align:center;transform:translateY(8px) scale(.98);transition:transform .2s ease}
.travel-log-confirm.is-open .travel-log-confirm-panel{transform:translateY(0) scale(1)}
.travel-log-confirm-icon{width:34px;height:34px;margin:0 auto 12px;border:1px solid rgba(184,127,127,.35);border-radius:50%;color:#e0a0a0;font:700 18px/34px Arial,sans-serif}
.travel-log-confirm-panel h3{margin:0;color:#e6f4f7;font-size:14px;letter-spacing:.12em}
.travel-log-confirm-panel p{margin:9px 0 20px;color:#81939a;font-size:10px;line-height:1.6}
.travel-log-confirm-actions{display:flex;gap:9px}
.travel-log-confirm-actions button{flex:1;padding:10px 12px;border-radius:10px;font:700 9px/1.2 inherit;letter-spacing:.12em;cursor:pointer;transition:.18s ease}
.travel-log-confirm-cancel{border:1px solid rgba(120,190,205,.16);background:rgba(12,28,36,.7);color:#a9d6df}
.travel-log-confirm-cancel:hover{border-color:rgba(120,190,205,.32);background:rgba(16,36,45,.9)}
.travel-log-confirm-ok{border:1px solid rgba(184,127,127,.28);background:rgba(90,30,35,.2);color:#e0a0a0}
.travel-log-confirm-ok:hover{border-color:rgba(184,127,127,.42);background:rgba(90,30,35,.3)}


/* V214 — 23-cell map: MIN/MAX live accents without recoloring normal cells. */
.cell.cell-min,
.battery-view-cell.cell-min{
  border-color:#00d9ff!important;
  box-shadow:inset 0 0 16px #00d9ff14,0 0 18px #00d9ff20;
  animation:cellMinPulse 1.8s ease-in-out infinite;
}
.cell.cell-max,
.battery-view-cell.cell-max{
  border-color:#ffb020!important;
  box-shadow:inset 0 0 16px #ffb02016,0 0 20px #ffb02022;
  animation:cellMaxPulse 1.25s ease-in-out infinite;
}
.cell.cell-min::before,
.battery-view-cell.cell-min::before,
.cell.cell-max::before,
.battery-view-cell.cell-max::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}
.cell.cell-min::before,
.battery-view-cell.cell-min::before{box-shadow:inset 0 0 0 1px #00d9ff33;}
.cell.cell-max::before,
.battery-view-cell.cell-max::before{box-shadow:inset 0 0 0 1px #ffb02044;}
@keyframes cellMinPulse{
  0%,100%{box-shadow:inset 0 0 12px #00d9ff0e,0 0 8px #00d9ff12;transform:scale(1)}
  50%{box-shadow:inset 0 0 20px #00d9ff20,0 0 22px #00d9ff2e;transform:scale(1.018)}
}
@keyframes cellMaxPulse{
  0%,100%{box-shadow:inset 0 0 12px #ffb0200e,0 0 8px #ffb02012;transform:scale(1)}
  50%{box-shadow:inset 0 0 22px #ffb02026,0 0 26px #ffb02032;transform:scale(1.025)}
}
@media (prefers-reduced-motion:reduce){
  .cell.cell-min,.battery-view-cell.cell-min,.cell.cell-max,.battery-view-cell.cell-max{animation:none}
}

/* V217 — BMS cell stats: HIGHEST amber, LOWEST cyan, voltage shown in V, DELTA red alert above 60 mV. */
.battery-view-cell-stats>div:nth-child(1) b{color:#ffb020;}
.battery-view-cell-stats>div:nth-child(3) b{color:var(--cyan);}
.battery-view-cell-stats b.delta-alert{color:#ff5268!important;animation:deltaAlertPulse 1s ease-in-out infinite;}
.battery-view-cell-meta span.delta-alert{color:#ff5268!important;border-color:#ff5268!important;animation:deltaAlertPulse 1s ease-in-out infinite;}

/* V220 — Live/in-progress travel session. The active session is separate from saved logs. */
.travel-log-live{border-color:rgba(38,217,255,.24);background:linear-gradient(145deg,rgba(14,43,52,.82),rgba(7,20,26,.72));box-shadow:0 0 0 1px rgba(38,217,255,.04) inset}
.travel-log-live strong{color:#dffaff}
.travel-log-live small{color:#71b9c7}
.travel-log-modal-group{display:grid;gap:8px}
.travel-log-modal-group-title{padding:7px 2px 3px;color:#8ebec8;font-size:9px;font-weight:800;letter-spacing:.16em}


/* Trip / ODO reset picker */
.trip-reset-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}
.trip-reset-modal.is-open{display:flex}
.trip-reset-backdrop{position:absolute;inset:0;background:rgba(2,8,12,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.trip-reset-dialog{position:relative;width:min(360px,calc(100vw - 32px));padding:22px;border:1px solid rgba(38,217,255,.18);border-radius:16px;background:rgba(10,18,24,.97);box-shadow:0 20px 60px rgba(0,0,0,.5);text-align:center;color:#dcecf2}
.trip-reset-icon{width:38px;height:38px;margin:0 auto 10px;display:grid;place-items:center;border:1px solid rgba(38,217,255,.25);border-radius:50%;color:#26d9ff;font-size:20px}
.trip-reset-dialog h3{margin:0 0 6px;font-size:14px;letter-spacing:.08em}
.trip-reset-dialog p{margin:0 0 16px;color:#7f929c;font-size:10px}
.trip-reset-actions{display:grid;gap:8px}
.trip-reset-actions button{appearance:none;border:1px solid #36505b;background:rgba(255,255,255,.025);color:#dcecf2;border-radius:9px;padding:10px 12px;font-size:9px;letter-spacing:.08em;font-weight:800;cursor:pointer}
.trip-reset-actions button:hover{border-color:#26d9ff88;background:#26d9ff10}
.trip-reset-actions .trip-reset-cancel{color:#9cb1ba}
