/* Fleet drilldown v2 — no Control styles or assets modified */
:root{--muted:#a3b8cc}body{color:#e3edf6}.panel-head h2{font-size:16px}.panel-head small,.fleet-filter,.vehicle-bottom,.system-row{font-size:12px}.kpi strong{font-size:38px}.kpi span{font-size:15px}.kpi small{font-size:11px}.vehicle-card h3{font-size:20px}.vehicle-card small{font-size:12px}.battery-label{font-size:12px}.battery-label strong{font-size:15px}.map-tiles{filter:invert(.87) hue-rotate(175deg) saturate(.45) brightness(.98) contrast(1.02)!important}.map-overlay{opacity:.12}.map-credit{font-size:11px!important}.selected-title h2{font-size:26px}.selected-visual{height:190px}.selected-visual img{width:90%;height:220px;object-fit:contain}.energy strong{font-size:34px}.energy small,.mini-metrics small{font-size:12px}.mini-metrics strong{font-size:25px}.system-row{line-height:1.5}.selected-body .primary{font-size:17px;font-weight:750;letter-spacing:.05em;min-height:52px;background:linear-gradient(110deg,#168ba6,#236b96);box-shadow:0 5px 20px #061b2a66}.vehicle-card{display:flex;flex-direction:column;text-align:left}.vehicle-select{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;color:inherit}.card-open{width:100%;min-height:36px;margin-top:9px;border:1px solid #37657e;border-radius:7px;background:#173a50;color:#c8f5ff;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:space-between;padding:5px 10px}.card-open:hover{background:#23536d}.map-marker{background:transparent;border:0}.marker-open{margin:5px auto 0;min-height:34px;background:#153b50;border:1px solid #6acfe4;border-radius:6px;padding:5px 10px;color:#e1faff;font-weight:650;display:block;pointer-events:auto}.map-marker:not(.active) .marker-open{display:none}.map-marker button{cursor:pointer}.vehicle-select:focus-visible,.card-open:focus-visible,.marker-open:focus-visible,.v-button:focus-visible,.model-hotspot:focus-visible{outline:3px solid #9be6f5;outline-offset:3px}
#app.vehicle-page{display:flex;flex-direction:column;gap:12px;height:calc(100vh - 108px);min-height:650px;position:relative;font-size:14px}.v-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.v-back{background:none;border:0;padding:0 0 8px;color:#b6d6e7;font-size:14px;min-height:32px}.v-title{display:flex;gap:12px;align-items:center}.v-title>span:first-child{font-size:14px;color:#92adc4}.v-title h1{font-size:30px;margin:0;line-height:1.2}.v-id{display:flex;gap:22px;align-items:center;color:#a3b5c7;font-size:12px;margin-top:7px}.v-switch{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center}.v-switch label{grid-column:1/-1;color:#a3b5c7;font-size:12px}.v-switch select{background:#182e43;border:1px solid #3b5f79;border-radius:7px;color:#ebf5ff;padding:9px 28px 9px 12px;font-size:16px;min-height:42px}.v-readonly{color:#8dd3df;font-size:12px}.v-alert-strip{border-left:3px solid #4f9cae;padding:6px 10px;background:#122333;color:#e6bc7b;font-size:12px;min-height:28px}.v-essential-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.v-metric{padding:14px;background:#172c40;border:1px solid #2a455c;border-radius:9px;min-width:0}.v-metric>span{display:block;font-size:12px;color:#afc2d4;margin-bottom:7px}.v-metric strong{display:block;font-size:26px;line-height:1.15;font-weight:600;overflow-wrap:anywhere}.v-metric strong.small{font-size:15px}.v-metric strong small{font-size:12px;font-weight:400;color:#a5bdcf}.v-essential-grid .v-metric{background:linear-gradient(120deg,#1b344a,#142637);padding:12px 15px}.v-essential-grid strong{font-size:28px}.v-tabs{display:flex;gap:6px;border-bottom:1px solid #355268;padding-bottom:7px;overflow:auto;flex-shrink:0}.v-button{padding:9px 14px;background:#1a3043;border:1px solid #34556e;border-radius:7px;color:#ccdfed;cursor:pointer;font-size:14px;min-height:42px}.v-button:hover,.v-button.active{background:#22536b;border-color:#6cc6dc;color:#f2fbff}.v-button.accent{background:#17647d;border-color:#3c9db6;color:#e7fbff}.v-tabs .v-button{background:none;border-color:transparent;white-space:nowrap}.v-tabs .active{background:#1a4359;border-color:#4c8ca4;color:#a5eeff}.v-button+ .v-button{margin-left:5px}#v-content{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#3a5b73 transparent;padding:0 2px 4px}.v-overview{height:100%;min-height:365px;transition:margin .2s}.v-overview.with-drawer{margin-right:470px}.v-stage-panel{height:100%;display:flex;flex-direction:column;border:1px solid #35566f;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#223e51,#101f2f 72%)}.v-stage-head{padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #31485b}.v-stage-head span,.v-eyebrow{font-size:11px;letter-spacing:.12em;color:#92b8ce}.v-stage-head h2{font-size:19px;margin:5px 0 0;font-weight:550}#vehicle-stage{position:relative;flex:1;min-height:260px;overflow:hidden}#vehicle-stage canvas{display:block;outline:0;touch-action:none}.v-model-help{text-align:center;color:#a0bdcf;font-size:12px;padding:7px}.v-component-bar{display:flex;justify-content:center;gap:6px;padding:9px 10px;background:#102435;border-top:1px solid #2f4d64;flex-wrap:wrap}.v-component-bar button{font-size:12px;padding:6px 10px;min-height:36px;margin:0!important}.model-hotspot{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;background:#0c2234e8;border:1px solid #669bb4;border-radius:6px;min-height:36px;min-width:36px;padding:4px 8px;color:#dcefff;font-size:11px;cursor:pointer;touch-action:manipulation;box-shadow:0 3px 8px #0007}.model-hotspot i{width:6px;height:6px;border-radius:50%;background:#79d7e3}.model-hotspot.active{border:2px solid #92f0ff;background:#1a546a}.model-hotspot.fault{border-color:#e8b56b;color:#ffe0b5}.model-hotspot.fault i{background:#f1b65d}.v-drawer{position:absolute;right:0;bottom:4px;width:458px;border:1px solid #4d718c;border-radius:12px;background:#112538;z-index:8;display:flex;flex-direction:column;box-shadow:-12px 0 30px #050e1855;overflow:hidden}.v-drawer[hidden]{display:none}.v-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #35536a;background:#1c364b;gap:10px}.v-drawer-head span{font-size:10px;letter-spacing:.12em;color:#a8c9dc}.v-drawer-head h2{font-size:21px;line-height:1.2;margin:6px 0 0}.v-drawer-head button{font-size:25px;min-width:42px;padding:4px}.v-drawer-body{padding:16px;overflow:auto;scrollbar-width:thin}.v-drawer .v-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v-drawer .v-cell{padding:7px}.v-drawer .v-cell strong{font-size:15px}.v-drawer .v-cells{grid-template-columns:repeat(5,1fr)}.v-drawer .v-card{padding:12px}.v-drawer .v-device-grid{grid-template-columns:1fr}.v-drawer h3{font-size:16px;margin:22px 0 12px}.v-drawer .v-events>div{grid-template-columns:9px 1fr}.v-drawer .v-events time{grid-column:2}.v-provenance{font-size:11px;color:#a8bed0;border-top:1px solid #345168;margin-top:18px;padding-top:14px;line-height:1.6}.v-card{border:1px solid #35516b;border-radius:11px;padding:20px;background:linear-gradient(135deg,#182d42,#122335);margin-bottom:14px;min-width:0}.v-card h2{font-size:23px;font-weight:600;margin:0 0 15px}.v-card h3{font-size:17px;margin:0 0 12px}.v-card p{line-height:1.6}.v-section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.v-section-title h2,.v-section-title h3{margin:0}.v-section-title>span{color:#a4c3d7;font-size:12px}.v-identity{border-bottom:1px solid #304c64;padding:0 0 14px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:7px 14px;font-size:12px;line-height:1.5}.v-identity b{color:#a4e3f2}.v-identity span{color:#9fb9ce}.v-identity code{display:block;width:100%;font-size:11px;color:#c1d3df;overflow-wrap:anywhere}.v-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:15px}.v-metrics.compact strong{font-size:22px}.v-two,.v-energy-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v-device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.v-device-card{border:1px solid #3a5870;border-radius:10px;background:linear-gradient(130deg,#203b50,#162a3c);padding:18px;text-align:left;cursor:pointer;color:#e6f2fb;display:flex;flex-direction:column;gap:9px;min-height:160px}.v-device-card:hover{border-color:#8ac8dc;background:#23475c}.v-device-card .v-section-title{margin:0}.v-device-card .v-section-title b{font-size:16px}.v-device-card>span{color:#a6d0e4;font-size:13px}.v-device-card small{font-size:10px;color:#9cb8ce;overflow-wrap:anywhere}.v-device-card em{font-style:normal;font-size:12px;color:#9be5f5;margin-top:auto}.v-device-card.has-fault{border-color:#bc8c45}.v-dot{width:9px;height:9px;border-radius:50%;background:#6be0bc;flex-shrink:0}.v-dot.warn{background:#eeb767}.v-dot.missing{background:#7e8fa1}.v-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0 20px}.v-cell{background:#183c44;border:1px solid #37615e;border-radius:7px;padding:10px}.v-cell>span{display:flex;justify-content:space-between;color:#a1c3bf;font-size:11px}.v-cell strong{display:block;font-size:20px;color:#a1eed2;margin:8px 0 5px;font-weight:600}.v-cell strong small{font-size:11px}.v-cell em{font-size:11px;color:#9bbab9;font-style:normal}.v-cell i{width:5px;height:5px;background:#6c8790;border-radius:50%}.v-cell i.balancing{background:#ffcc75}.v-permissions{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#a5d9c8;padding:10px 0}.v-note,.v-empty{background:#102134;border:1px solid #304d66;border-radius:8px;padding:13px;color:#abc4d6;font-size:12px;line-height:1.7}.v-empty strong{color:#d2dfeb;font-size:17px}.v-empty p{margin:8px 0 0}.v-muted{color:#a3bbcd;font-size:13px}.v-alert{border:1px solid #2c655e;color:#a5dfcf;padding:12px;border-radius:7px;background:#15332f;font-size:13px;margin:12px 0}.v-alert.warning{border-color:#98703d;background:#392d20;color:#f3c27d}.v-settings>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #2e455c;font-size:13px}.v-settings span{color:#a4bfd2}.v-settings b{font-weight:500;color:#e5eff8;text-align:right;overflow-wrap:anywhere}.v-settings .v-chart{min-width:150px}.v-chart{width:100%;height:145px;display:block}.v-chart text{font:11px sans-serif;fill:#9bb8ce}.v-chart-time{display:flex;justify-content:space-between;color:#9eb9cc;font-size:10px;margin-top:7px}.v-route-chart{width:100%;height:200px;background:#102337;border-radius:7px}.v-events>div{display:grid;grid-template-columns:9px 1fr auto;gap:12px;border-bottom:1px solid #30465c;padding:14px 0;align-items:start}.v-events i{width:6px;height:6px;background:#74c9dd;border-radius:50%;margin-top:6px}.v-events strong{font-weight:550;font-size:14px}.v-events p{margin:6px 0 0;font-size:12px;color:#a4bed0}.v-events time{font-size:11px;color:#9db6ca}.v-config{display:grid;grid-template-columns:250px 1fr;gap:16px}.v-config nav{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:0}.v-config nav button{text-align:left;margin:0!important}.v-transfers>div{display:grid;grid-template-columns:140px 180px 110px 85px 1fr;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid #2b455b;font-size:12px}.v-transfers small{color:#aac3d4}.v-tag{display:inline-block;border:1px solid #436378;border-radius:5px;padding:5px 8px;font-size:12px;white-space:nowrap}.v-config details,.v-card details{margin-top:14px}.v-card summary,.v-drawer summary{cursor:pointer;color:#c2e6f6;padding:12px 0;font-size:14px;min-height:44px}.v-section-title input{background:#172f43;border:1px solid #4d6d83;border-radius:7px;padding:10px;color:#edf6ff;min-width:280px;font-size:14px}
@media(min-width:2200px){#app.vehicle-page{height:calc(100vh - 124px);font-size:16px}.v-title h1{font-size:38px}.v-essential-grid strong{font-size:36px}.v-metric>span{font-size:14px}.v-stage-head h2{font-size:23px}.v-drawer{width:520px}.v-overview.with-drawer{margin-right:534px}.v-drawer-head h2{font-size:24px}.v-tabs button{font-size:16px;padding:12px 20px}.v-card h2{font-size:27px}.v-cell strong{font-size:24px}.model-hotspot{font-size:13px;padding:6px 10px}}
@media(max-width:1400px){.vehicle-card{padding:9px}.vehicle-card h3{font-size:16px}.vehicle-card small{font-size:10px}.vehicle-card .vehicle-top{min-height:48px}.vehicle-card .vehicle-thumb{height:54px;width:72px}.vehicle-bottom{font-size:10px}.card-open{min-height:30px;font-size:11px;margin-top:5px}.selected-visual{height:130px}.selected-visual img{height:155px}.selected-title h2{font-size:22px}.energy strong{font-size:27px}.energy small,.mini-metrics small{font-size:10px}.system-row{font-size:10px}.selected-body .primary{font-size:14px;min-height:44px}.kpi strong{font-size:30px}.kpi span{font-size:12px}.kpi small{display:none}#app.vehicle-page{height:calc(100vh - 95px);gap:8px;min-height:620px}.v-title h1{font-size:25px}.v-id{display:block;font-size:10px}.v-id span{margin-left:12px}.v-essential-grid .v-metric{padding:9px}.v-essential-grid strong{font-size:23px}.v-metric>span{font-size:10px}.v-tabs{gap:0}.v-tabs .v-button{font-size:12px;padding:7px 10px}.v-overview.with-drawer{margin-right:390px}.v-drawer{width:380px}.v-stage-head{padding:10px}.v-stage-head h2{font-size:16px}.v-stage-head button{font-size:11px}.model-hotspot span{font-size:10px}.v-component-bar{gap:3px}.v-component-bar button{font-size:10px;padding:5px 6px}.v-device-grid{grid-template-columns:repeat(3,1fr)}.motion-wheels{grid-template-columns:repeat(4,1fr)}.v-card{padding:14px}.v-card h2{font-size:20px}.v-metrics{grid-template-columns:repeat(2,1fr)}.v-cell strong{font-size:16px}.v-cells{gap:5px}.v-cell{padding:7px}.v-three{grid-template-columns:repeat(2,1fr)}.v-transfers>div{grid-template-columns:120px 160px 90px 70px 1fr;gap:8px;font-size:11px}}
@media(max-width:1000px){#app.vehicle-page{height:auto;min-height:calc(100vh - 95px)}.v-heading{align-items:flex-start}.v-title{flex-wrap:wrap}.v-title>span:first-child{display:none}.v-id span{display:block;margin:4px 0}.v-readonly{display:none}.v-essential-grid{grid-template-columns:repeat(3,1fr)}#v-content{overflow:visible}.v-overview{height:600px}.v-overview.with-drawer{margin:0}.v-drawer{position:fixed;top:100px!important;bottom:12px;right:12px;width:min(440px,calc(100vw - 24px))}.v-two,.v-energy-layout,.v-three{grid-template-columns:1fr}.v-device-grid,.motion-wheels{grid-template-columns:repeat(2,1fr)}.v-config{grid-template-columns:1fr}.v-config nav{position:static;flex-direction:row;overflow:auto}.v-config nav button{flex-shrink:0}.v-transfers{overflow:auto}.v-transfers>div{min-width:650px}.v-section-title input{min-width:180px;width:50%}.v-title h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.v-overview{transition:none}}

.marker-select{background:none;border:0;padding:0;color:inherit;cursor:pointer}.marker-open{width:94px;margin-left:-25px}.selected-body .detail-button{min-height:50px;font-size:16px}

/* Keep explicit card actions visible at every target size. */
.vehicle-card{display:grid;grid-template-rows:minmax(0,1fr) 34px;gap:7px;padding:12px;overflow:visible}
.vehicle-select{display:flex;flex-direction:column;justify-content:space-between;min-height:0}.vehicle-top{flex:1;min-height:42px}.vehicle-top .vehicle-thumb{height:65px;width:100px}.vehicle-card .battery-row{margin-top:5px}.vehicle-card .vehicle-bottom{margin-top:5px}.card-open{margin:0;min-height:34px;flex-shrink:0}.vehicle-card.active:after{display:none}
.selected-visual img{height:100%;max-height:100%;object-fit:contain}.v-cell{padding:8px}.v-cell>span{line-height:1}.v-cell strong{line-height:1.1;margin:5px 0 3px;font-size:19px}.v-cell em{font-size:10px;line-height:1}
@media(max-width:1400px){.vehicle-card{padding:8px;grid-template-rows:minmax(0,1fr) 30px;gap:4px}.vehicle-top .vehicle-thumb{height:44px;width:68px}.vehicle-card .vehicle-bottom{margin-top:3px}.card-open{min-height:30px}.vehicle-card .battery-label{font-size:9px}.vehicle-card .battery-label strong{font-size:12px}.vehicle-card h3{font-size:15px}.vehicle-card .vehicle-top small{font-size:9px}}

.v-related{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#183446;border:1px solid #3b6075;border-radius:7px;margin-bottom:13px;font-size:12px}.v-related code{font-size:10px;color:#a9c4d6}
