:root{color-scheme:dark;--bg:#07101b;--panel:rgba(16,29,45,.72);--line:rgba(255,255,255,.09);--text:#f4f8fc;--muted:#8fa3b8;--green:#67f7bd;--blue:#63a9ff;--orange:#ffb56b;--purple:#c190ff;--red:#ff7587}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 72% 8%,#132945 0,transparent 34%),linear-gradient(145deg,#07101b,#091522 52%,#07101b);overflow-x:hidden}.hidden{display:none!important}.ambient{position:fixed;border-radius:999px;filter:blur(100px);opacity:.13;pointer-events:none}.ambient-one{width:420px;height:420px;background:#3e8cff;right:-150px;top:15%}.ambient-two{width:360px;height:360px;background:#36ffc3;left:18%;bottom:-240px}.glass{background:linear-gradient(145deg,rgba(22,39,59,.78),rgba(11,24,38,.72));border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(420px,640px) 1fr;position:relative;z-index:1}.login-panel{margin:4vw;padding:clamp(34px,5vw,74px);border-radius:28px;display:flex;flex-direction:column;justify-content:center}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:750;letter-spacing:.16em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(103,247,189,.45);border-radius:10px;color:var(--green);font-size:17px;box-shadow:inset 0 0 22px rgba(103,247,189,.08)}.brand-login{margin-bottom:72px}.eyebrow{margin:0 0 9px;color:#7890a7;font-size:10px;font-weight:800;letter-spacing:.18em}.login-panel h1{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.055em;margin:0 0 22px}.login-panel h1 span{color:var(--green)}.login-copy{color:var(--muted);font-size:16px;line-height:1.65;max-width:440px;margin:0 0 38px}.login-panel form{display:grid;gap:18px;max-width:460px}.login-panel label{display:grid;gap:8px;color:#b4c3d1;font-size:12px;font-weight:650}.login-panel input,.explorer-head input{width:100%;background:rgba(4,12,22,.66);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:14px 16px;color:var(--text);outline:none;font:inherit}.login-panel input:focus,.explorer-head input:focus{border-color:rgba(103,247,189,.65);box-shadow:0 0 0 3px rgba(103,247,189,.08)}.primary-button{margin-top:5px;border:0;border-radius:13px;background:var(--green);color:#062217;padding:15px 18px;font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.primary-button:hover{filter:brightness(1.06)}.form-error{height:2px;margin:0;color:var(--red);font-size:12px}.privacy-note{margin-top:28px;color:#63768a;font-size:11px}.login-visual{position:relative;display:grid;place-items:center;overflow:hidden}.car-line{width:min(76%,900px);fill:rgba(22,44,66,.6);stroke:rgba(103,247,189,.5);stroke-width:1.5;filter:drop-shadow(0 18px 28px rgba(0,0,0,.45))}.car-line circle{fill:#091522;stroke:#5d7489}.car-line path:nth-child(2){fill:rgba(6,16,27,.9);stroke:rgba(99,169,255,.32)}.car-orbit{position:absolute;border:1px solid rgba(99,169,255,.12);border-radius:50%;transform:rotate(-12deg)}.orbit-one{width:70vw;height:32vw}.orbit-two{width:54vw;height:23vw}.visual-stat{position:absolute;right:9%;bottom:13%;display:grid}.visual-stat span{font-size:52px;font-weight:250}.visual-stat small{text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.app-view{min-height:100vh;display:grid;grid-template-columns:250px 1fr;position:relative;z-index:1}.sidebar{position:sticky;top:0;height:100vh;border-width:0 1px 0 0;padding:30px 22px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:8px;margin-top:64px}.nav-item{border:0;background:transparent;color:#8297aa;border-radius:11px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:650;cursor:pointer}.nav-item span{font-size:18px;width:20px;color:#6e8399}.nav-item:hover{color:#dbe7f1;background:rgba(255,255,255,.035)}.nav-item.active{color:var(--green);background:rgba(103,247,189,.085)}.nav-item.active span{color:var(--green)}.sidebar-bottom{margin-top:auto;display:grid;gap:16px}.server-state{display:flex;gap:9px;align-items:center;color:#8499ad;font-size:11px}.server-state i,.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.logout-button,.text-button{border:0;background:transparent;color:#6f8497;text-align:left;padding:0;cursor:pointer;font:inherit;font-size:12px}.logout-button:hover,.text-button:hover{color:#fff}main{min-width:0;padding:30px clamp(22px,4vw,62px) 56px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h2{margin:0;font-size:28px;letter-spacing:-.035em}.top-actions{display:flex;align-items:center;gap:18px}.data-date{display:grid;text-align:right}.data-date span{font-size:10px;color:#698095;text-transform:uppercase;letter-spacing:.12em}.data-date strong{font-size:12px;margin-top:4px}.icon-button{width:39px;height:39px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#d7e4ef;font-size:19px;cursor:pointer}.icon-button:hover{border-color:rgba(103,247,189,.35)}.period-bar{min-height:53px;border-radius:15px;margin-bottom:22px;padding:8px 13px 8px 18px;display:flex;align-items:center;gap:20px;color:#8195a8;font-size:11px}.segmented{display:flex;gap:4px}.segmented button{background:transparent;border:0;color:#758ba0;border-radius:8px;padding:7px 10px;cursor:pointer}.segmented button.active{background:rgba(103,247,189,.11);color:var(--green)}.data-range{margin-left:auto}.custom-period-panel{display:flex;align-items:end;gap:12px;margin:-14px 0 22px;padding:15px 18px;border-radius:15px}.custom-period-panel label{display:grid;gap:7px;color:#8195a8;font-size:11px}.custom-period-panel input{min-width:205px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#07121f;color:#e4eef6;padding:9px 11px;font:inherit;color-scheme:dark;outline:none}.custom-period-panel input:focus{border-color:rgba(103,247,189,.55);box-shadow:0 0 0 3px rgba(103,247,189,.07)}.custom-period-separator{padding-bottom:10px;color:#587087}.custom-period-actions{display:flex;align-items:center;gap:14px;margin-left:auto;padding-bottom:1px}.custom-period-apply{border:0;border-radius:9px;background:var(--green);color:#062217;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer}
.dashboard-section{display:none}.dashboard-section.active{display:block}.hero-grid{display:grid;grid-template-columns:minmax(380px,1.25fr) 1fr;gap:18px}.vehicle-card{min-height:315px;border-radius:20px;padding:24px 27px;overflow:hidden}.vehicle-card-head{display:flex;justify-content:space-between;align-items:flex-start}.vehicle-card h3,.card-heading h3,.explorer-head h3{margin:0;font-size:20px}.live-pill{display:flex;align-items:center;gap:7px;color:#7e93a7;font-size:9px;letter-spacing:.09em;border:1px solid var(--line);padding:7px 9px;border-radius:999px}.vehicle-silhouette{height:185px;display:grid;place-items:center}.vehicle-silhouette svg{width:95%;max-height:180px;fill:rgba(29,55,78,.55);stroke:rgba(103,247,189,.4);stroke-width:1.5;filter:drop-shadow(0 16px 20px rgba(0,0,0,.35))}.vehicle-silhouette circle{fill:#08121d;stroke:#577085}.vehicle-silhouette .window{fill:#07111c;stroke:#324c64}.vehicle-footer{display:flex;gap:50px}.vehicle-footer span{display:grid;gap:4px}.vehicle-footer small{color:#6f8498;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.vehicle-footer strong{font-size:17px}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kpi-card{border-radius:20px;padding:21px;position:relative;min-height:148px}.kpi-card small{display:block;color:#7f93a7;font-size:11px;margin-top:4px}.kpi-card strong{display:block;font-size:28px;margin-top:14px;letter-spacing:-.04em}.kpi-card p{margin:7px 0 0;color:#667b8e;font-size:10px}.kpi-icon{position:absolute;right:18px;top:17px;width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.045)}.accent-green .kpi-icon,.accent-green strong{color:var(--green)}.accent-blue .kpi-icon,.accent-blue strong{color:var(--blue)}.accent-orange .kpi-icon,.accent-orange strong{color:var(--orange)}.accent-purple .kpi-icon,.accent-purple strong{color:var(--purple)}.progress{height:3px;background:rgba(255,255,255,.08);margin-top:13px;border-radius:3px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--green);box-shadow:0 0 10px var(--green);transition:width .5s ease}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.chart-card,.status-card{border-radius:20px;padding:22px;min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.legend-dot{font-size:10px;color:#7890a5;display:flex;align-items:center;gap:7px}.legend-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.legend-dot.green{color:var(--green)}.legend-dot.blue{color:var(--blue)}.chart{height:250px;position:relative;color:#73899e}.chart.tall{height:390px}.chart svg{width:100%;height:100%;overflow:visible}.chart .grid-line{stroke:rgba(255,255,255,.065);stroke-width:1}.chart .axis-label{fill:#60778c;font-size:10px}.chart .series-line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.chart .series-area{opacity:.08}.empty-chart{height:100%;display:grid;place-items:center;color:#60768b;font-size:12px}.chart-tooltip{position:absolute;display:none;pointer-events:none;background:#07121f;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.35);border-radius:10px;padding:9px 11px;font-size:10px;z-index:3;min-width:150px}.chart-tooltip strong{display:block;color:#aebfce;margin-bottom:6px}.tooltip-row{display:flex;justify-content:space-between;gap:16px;margin-top:4px}.wide{min-height:340px}.signal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.signal-card{border-radius:16px;padding:18px;min-height:112px}.signal-card small{color:#72889d;font-size:10px;display:block;min-height:28px}.signal-card strong{font-size:21px;display:block;margin-top:12px}.signal-card em{font-style:normal;font-size:9px;color:#536a7f}.body-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.body-item{padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:12px;display:flex;justify-content:space-between;align-items:center}.body-item span{font-size:11px;color:#8499ac}.body-item strong{font-size:13px;color:var(--green)}
.explorer-head{border-radius:18px;padding:21px 24px;display:flex;align-items:center;justify-content:space-between}.explorer-head p:not(.eyebrow){color:#71879b;font-size:11px;margin:7px 0 0}.explorer-head input{width:min(320px,40vw)}.explorer-layout{display:grid;grid-template-columns:minmax(400px,1fr) minmax(380px,.9fr);gap:18px;margin-top:18px}.all-signals{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}.signal-row{border:1px solid var(--line);background:rgba(15,28,43,.65);border-radius:13px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;cursor:pointer}.signal-row:hover{border-color:rgba(99,169,255,.3)}.signal-row.selected{border-color:rgba(103,247,189,.48);background:rgba(103,247,189,.06)}.signal-row input{accent-color:var(--green)}.signal-name{display:grid;gap:3px;min-width:0}.signal-name strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-name small{font-size:9px;color:#587087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-value{text-align:right;font-size:12px;color:#c9d6e2}.explorer-chart{position:sticky;top:24px;height:max-content}.chart-help{text-align:center;color:#526a7f;font-size:10px}.toast{position:fixed;right:28px;bottom:28px;background:#112438;border:1px solid var(--line);padding:12px 16px;border-radius:12px;color:#cfe0ed;font-size:12px;opacity:0;transform:translateY(12px);transition:.25s;pointer-events:none;z-index:20}.toast.show{opacity:1;transform:translateY(0)}
.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin:3px 0 0 52px;font-size:9px}.chart-legend b{color:#7890a5;font-weight:600}
.analysis-metrics{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.analysis-metric{border-radius:16px;padding:18px;min-height:120px;position:relative;overflow:hidden}.analysis-metric:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-25px;top:-25px;background:currentColor;opacity:.06}.analysis-metric small{display:block;color:#74899d;font-size:10px}.analysis-metric strong{display:block;font-size:24px;margin-top:16px;letter-spacing:-.04em}.analysis-metric span{display:block;color:#5e7488;font-size:9px;margin-top:8px;line-height:1.35}.tone-green{color:var(--green)}.tone-blue{color:var(--blue)}.tone-purple{color:var(--purple)}.tone-orange{color:var(--orange)}.loading-panel{grid-column:1/-1;border-radius:16px;padding:32px;color:#70869a;text-align:center}.analysis-layout{display:grid;grid-template-columns:minmax(520px,1.5fr) minmax(300px,.7fr);gap:18px;margin-top:18px}.analysis-layout.lower{grid-template-columns:minmax(520px,1.4fr) minmax(300px,.8fr)}.activity-card,.range-simulator,.sessions-card,.insights-card{border-radius:20px;padding:22px;min-width:0}.subtle-label{font-size:10px;color:#657b8f}.activity-chart{height:165px;display:flex;gap:5px;align-items:flex-end;overflow-x:auto;padding:10px 2px 3px}.activity-day{height:100%;min-width:20px;flex:1;border:0;background:transparent;padding:0;display:grid;grid-template-rows:1fr 20px;gap:5px;cursor:pointer;color:#5f7589}.activity-bar{height:100%;width:100%;display:flex;align-items:flex-end;border-radius:6px;background:rgba(255,255,255,.025);overflow:hidden}.activity-bar i{display:block;width:100%;min-height:5px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--green),rgba(99,169,255,.5));opacity:.48;transition:.2s}.activity-day:hover .activity-bar i,.activity-day.active .activity-bar i{opacity:1;box-shadow:0 0 16px rgba(103,247,189,.22)}.activity-day.active small{color:var(--green)}.activity-day small{font-size:8px}.activity-detail{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:#73899c;font-size:10px}.activity-detail strong{color:#dbe7f0;margin-right:auto}.range-simulator{display:flex;flex-direction:column}.estimate-pill{border:1px solid rgba(255,181,107,.3);border-radius:999px;padding:6px 8px;color:var(--orange);font-size:8px;letter-spacing:.1em}.simulator-value{display:flex;align-items:baseline;gap:8px;margin:20px 0 26px}.simulator-value strong{font-size:48px;color:var(--green);letter-spacing:-.06em}.simulator-value span{font-size:11px;color:#6c8296}.range-simulator label{display:flex;justify-content:space-between;color:#879bad;font-size:11px}.range-simulator label b{color:#dce8f1}.range-simulator input{--range-progress:80%;appearance:none;width:100%;height:5px;margin:18px 0 8px;border-radius:5px;background:linear-gradient(90deg,var(--green) var(--range-progress),rgba(255,255,255,.09) var(--range-progress));outline:none}.range-simulator input::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:#e7fff6;border:4px solid var(--green);box-shadow:0 0 18px rgba(103,247,189,.35);cursor:pointer}.range-ticks{display:flex;justify-content:space-between;color:#4f667a;font-size:8px}.range-simulator>p{margin:auto 0 0;padding-top:24px;color:#5d7488;font-size:9px;line-height:1.5}.mini-segmented,.group-filters{display:flex;gap:5px}.mini-segmented button,.group-filters button,.secondary-button{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#71879b;border-radius:8px;padding:7px 10px;font:inherit;font-size:9px;cursor:pointer}.mini-segmented button.active,.group-filters button.active{color:var(--green);border-color:rgba(103,247,189,.3);background:rgba(103,247,189,.07)}.event-list{display:grid;max-height:450px;overflow:auto}.event-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:13px 2px;border-top:1px solid rgba(255,255,255,.06)}.event-row:first-child{border-top:0}.event-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.event-icon.driving{color:var(--blue);background:rgba(99,169,255,.09)}.event-icon.charging{color:var(--green);background:rgba(103,247,189,.09)}.event-row>div:not(.event-values){display:grid;gap:4px}.event-row strong{font-size:11px}.event-row small{font-size:9px;color:#60778b}.event-values{text-align:right;display:grid;gap:4px}.event-values b{font-size:12px}.insight-list{display:grid;gap:9px}.insight-row{display:flex;align-items:center;gap:13px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:12px}.insight-row>i{width:5px;height:36px;border-radius:4px;background:currentColor}.insight-row>div{display:grid;grid-template-columns:1fr auto;gap:3px;width:100%;align-items:center}.insight-row span{font-size:9px;color:#6d8397}.insight-row strong{font-size:13px;text-align:right}.insight-row small{grid-column:1/-1;color:#526a7e;font-size:8px}.method-note{color:#526a7e;font-size:9px;margin:14px 3px 0}.group-filters{margin:12px 0 0;flex-wrap:wrap}.explorer-tools{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 10px}.secondary-button:hover{color:#fff;border-color:rgba(99,169,255,.35)}.explorer-stats{display:grid;gap:5px;margin:6px 0 0 52px}.explorer-stats div{display:flex;justify-content:space-between;gap:12px;font-size:9px}.explorer-stats small{color:#60778b}.empty-list{padding:30px;text-align:center;color:#5e7589;font-size:11px}.chart-reset{display:none;position:absolute;right:8px;top:8px;z-index:4;border:1px solid var(--line);border-radius:8px;background:#0a1725;color:#7890a5;font-size:8px;padding:6px 8px;cursor:pointer}.chart-reset.show{display:block}.hover-line{display:none;stroke:rgba(255,255,255,.2);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.activity-bar i{height:100%;min-height:0;transform-origin:bottom}.activity-bar i.level-1{transform:scaleY(.1)}.activity-bar i.level-2{transform:scaleY(.2)}.activity-bar i.level-3{transform:scaleY(.3)}.activity-bar i.level-4{transform:scaleY(.4)}.activity-bar i.level-5{transform:scaleY(.5)}.activity-bar i.level-6{transform:scaleY(.6)}.activity-bar i.level-7{transform:scaleY(.7)}.activity-bar i.level-8{transform:scaleY(.8)}.activity-bar i.level-9{transform:scaleY(.9)}.activity-bar i.level-10{transform:scaleY(1)}
.chart svg{height:calc(100% - 24px)}.chart.tall{height:auto;min-height:390px}.chart.tall svg{height:330px}.chart.tall .chart-legend{min-height:22px}.explorer-stats{padding-top:8px;border-top:1px solid rgba(255,255,255,.055)}
@media(max-width:1250px){.analysis-metrics{grid-template-columns:repeat(3,1fr)}.analysis-layout,.analysis-layout.lower{grid-template-columns:1fr}}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr}.signal-summary-grid{grid-template-columns:repeat(3,1fr)}.explorer-layout{grid-template-columns:1fr}.explorer-chart{position:static}.login-view{grid-template-columns:1fr}.login-visual{display:none}.login-panel{margin:20px;min-height:calc(100vh - 40px)}}
@media(max-width:760px){.app-view{display:block}.sidebar{position:relative;width:100%;height:auto;padding:18px;border-width:0 0 1px}.sidebar nav{margin-top:18px;display:flex;overflow:auto}.nav-item{white-space:nowrap}.sidebar-bottom{display:none}main{padding:22px 15px 40px}.topbar{align-items:flex-start}.data-date{display:none}.period-bar{overflow:auto}.period-bar>span:first-child,.data-range{display:none}.custom-period-panel{display:grid;grid-template-columns:1fr 20px 1fr;margin-top:-14px}.custom-period-panel input{width:100%;min-width:0}.custom-period-separator{align-self:end;text-align:center}.custom-period-actions{grid-column:1/-1;margin-left:0;justify-content:flex-end}.hero-grid,.chart-grid{grid-template-columns:1fr}.kpi-grid{gap:10px}.kpi-card{min-height:135px;padding:17px}.vehicle-card{min-height:280px}.signal-summary-grid{grid-template-columns:repeat(2,1fr)}.explorer-head{display:grid;gap:18px}.explorer-head input{width:100%}.all-signals{grid-template-columns:1fr}.brand-login{margin-bottom:42px}.login-panel{padding:32px 24px}.login-panel h1{font-size:43px}.analysis-metrics{grid-template-columns:repeat(2,1fr)}.analysis-layout{display:block}.range-simulator,.sessions-card,.insights-card{margin-top:14px}.sessions-heading{align-items:flex-start;gap:14px}.sessions-heading,.explorer-tools{flex-direction:column}.explorer-tools{align-items:stretch}.activity-detail{gap:10px}.event-row{grid-template-columns:34px 1fr}.event-values{grid-column:2;text-align:left;display:flex}.explorer-stats{margin-left:0}.explorer-stats div{display:grid}}
@media(max-width:420px){.kpi-grid,.signal-summary-grid{grid-template-columns:1fr}.vehicle-footer{gap:24px}.segmented button{padding:7px 8px}}
.vehicle-card{min-height:390px}.vehicle-silhouette{height:245px;margin-top:2px}.vehicle-silhouette svg{width:100%;max-height:245px;overflow:visible}.vehicle-silhouette .g6-shadow{fill:rgba(0,0,0,.38);stroke:none}.vehicle-silhouette .g6-body{fill:url(#g6-paint);stroke:rgba(103,247,189,.58);stroke-width:1.5}.vehicle-silhouette .g6-glass{fill:url(#g6-glass);stroke:rgba(99,169,255,.46);stroke-width:1.25}.vehicle-silhouette .g6-panoramic{fill:rgba(99,169,255,.11);stroke:rgba(99,169,255,.2);stroke-width:1}.vehicle-silhouette .g6-pillar,.vehicle-silhouette .g6-detail,.vehicle-silhouette .g6-shoulder,.vehicle-silhouette .g6-lower{fill:none;stroke:rgba(137,174,202,.28);stroke-width:1}.vehicle-silhouette .g6-shoulder{stroke:rgba(103,247,189,.3)}.vehicle-silhouette .g6-light{fill:none;stroke-width:4;stroke-linecap:round}.vehicle-silhouette .g6-light.front{stroke:#7fffd2;filter:drop-shadow(0 0 5px rgba(103,247,189,.8))}.vehicle-silhouette .g6-light.rear{stroke:#ff697f;filter:drop-shadow(0 0 5px rgba(255,105,127,.65))}.vehicle-silhouette .g6-handle{fill:#75b6c7;stroke:none;opacity:.65}.vehicle-silhouette .g6-tire{fill:#050c15;stroke:#526d83;stroke-width:2}.vehicle-silhouette .g6-rim{fill:#102536;stroke:#77a1b9;stroke-width:1.4}.vehicle-silhouette .g6-wheel path{fill:none;stroke:rgba(164,194,211,.42);stroke-width:2}.vehicle-silhouette .g6-hub{fill:#67f7bd;stroke:#d6fff0;stroke-width:1}.vehicle-silhouette .pressure-link{fill:none;stroke:rgba(103,247,189,.36);stroke-width:1;stroke-dasharray:3 4}.vehicle-silhouette .tire-pressure rect{fill:rgba(6,17,29,.94);stroke:rgba(103,247,189,.32);stroke-width:1}.vehicle-silhouette .tire-pressure text{stroke:none}.vehicle-silhouette .tire-axis-title{fill:#7890a5;font-size:9px;font-weight:750;letter-spacing:1.2px}.vehicle-silhouette .tire-side{fill:#67f7bd;font-size:10px;font-weight:800}.vehicle-silhouette .tire-value{fill:#f4f8fc;font-size:10px;font-weight:750}.vehicle-silhouette .tire-pressure:hover rect{stroke:rgba(103,247,189,.8);filter:drop-shadow(0 0 8px rgba(103,247,189,.18))}.vehicle-silhouette .g6-model-mark{fill:rgba(103,247,189,.65);stroke:none;font-size:13px;font-weight:800;letter-spacing:2px}
@media(max-width:760px){.vehicle-card{min-height:360px}.vehicle-silhouette{height:220px}.vehicle-silhouette svg{max-height:220px}}

.trip-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.trip-summary .loading-panel{grid-column:1/-1}.trip-summary-card{border-radius:16px;padding:18px;min-height:118px;position:relative;overflow:hidden}.trip-summary-card:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-30px;top:-30px;background:currentColor;opacity:.065}.trip-summary-card small{display:block;color:#7e93a7;font-size:12px}.trip-summary-card strong{display:block;font-size:25px;margin-top:15px;letter-spacing:-.04em}.trip-summary-card span{display:block;color:#60778b;font-size:12px;line-height:1.35;margin-top:7px}.trip-workspace{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.55fr);gap:18px;margin-top:18px;align-items:start}.trip-index,.trip-detail{border-radius:20px;padding:22px;min-width:0}.trip-index{position:sticky;top:22px}.trip-index-heading{align-items:flex-start;display:grid;gap:14px}.trip-index-heading h3,.trip-detail h3{margin:0;font-size:20px}.trip-index-heading .mini-segmented{flex-wrap:wrap}.trip-index-heading .mini-segmented button,.trip-detail .secondary-button{font-size:12px;padding:8px 10px}.trip-list{display:grid;max-height:690px;overflow:auto;margin:0 -7px;padding:0 7px;scrollbar-color:rgba(103,247,189,.25) transparent}.trip-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:13px;align-items:center;border:1px solid transparent;border-top-color:rgba(255,255,255,.065);background:transparent;color:#dce8f1;padding:16px 10px;text-align:left;cursor:pointer;font:inherit;transition:.18s}.trip-row:first-child{border-top-color:transparent}.trip-row:hover{background:rgba(99,169,255,.045);border-color:rgba(99,169,255,.17);border-radius:12px}.trip-row.active{background:linear-gradient(90deg,rgba(103,247,189,.095),rgba(99,169,255,.035));border-color:rgba(103,247,189,.28);border-radius:12px;box-shadow:inset 3px 0 0 var(--green)}.trip-row-date{display:grid;gap:5px;min-width:0}.trip-row-date strong{font-size:13px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-row-date small,.trip-row-main small,.trip-row-energy small{font-size:11px;color:#60778b}.trip-row-main,.trip-row-energy{display:grid;gap:4px;text-align:right}.trip-row-main b{font-size:14px}.trip-row-energy b{font-size:13px;color:var(--green)}.trip-detail{min-height:620px}.trip-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.trip-detail-head h3{text-transform:capitalize}.trip-detail-head>div>span{display:block;color:#637a8e;font-size:12px;margin-top:7px}.trip-route{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:13px;margin:27px 0 22px;padding:17px 18px;border:1px solid rgba(103,247,189,.13);border-radius:16px;background:linear-gradient(100deg,rgba(103,247,189,.035),rgba(99,169,255,.03))}.trip-route>strong{font-size:28px;color:#ecfff8;letter-spacing:-.04em}.route-terminal{display:flex;align-items:center;gap:9px}.route-terminal>i{width:10px;height:10px;border:3px solid var(--green);border-radius:50%;box-shadow:0 0 12px rgba(103,247,189,.45)}.route-terminal.end>i{border-color:var(--blue);box-shadow:0 0 12px rgba(99,169,255,.4)}.route-terminal span{display:grid;gap:3px}.route-terminal small{font-size:9px;color:#60778b;letter-spacing:.08em}.route-terminal b{font-size:14px}.route-line{height:1px;background:linear-gradient(90deg,var(--green),rgba(103,247,189,.12));position:relative}.route-line.end{background:linear-gradient(90deg,rgba(99,169,255,.12),var(--blue))}.route-line i{position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--green)}.route-line.end i{left:0;background:var(--blue)}.trip-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.trip-kpis>div{padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(255,255,255,.018)}.trip-kpis small{display:block;color:#70869a;font-size:12px}.trip-kpis strong{display:block;font-size:18px;margin-top:9px}.trip-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.75fr);gap:12px;margin-top:12px}.trip-chart-panel,.trip-battery-panel,.trip-comparison{border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:18px;background:rgba(5,14,24,.2);min-width:0}.trip-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.trip-panel-title h4{margin:0;font-size:16px}.trip-panel-title>span{color:#5c7388;font-size:11px}.trip-chart{height:230px;margin-top:9px}.trip-battery-panel{display:flex;flex-direction:column}.soc-flow{display:flex;align-items:center;justify-content:space-between;margin:17px 0 10px}.soc-flow>div{display:grid;gap:4px}.soc-flow>div:last-child{text-align:right}.soc-flow small{font-size:10px;color:#63798d;text-transform:uppercase;letter-spacing:.08em}.soc-flow strong{font-size:22px}.soc-flow>span{color:#48647b}.soc-track{height:5px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden;margin-bottom:17px}.soc-track i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));box-shadow:0 0 12px rgba(103,247,189,.32)}.trip-facts{display:grid;gap:0;margin:0}.trip-facts>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.055);font-size:12px}.trip-facts dt{color:#667d91}.trip-facts dd{margin:0;text-align:right;font-weight:700}.trip-comparison{margin-top:12px}.trip-comparison-row{display:grid;grid-template-columns:minmax(150px,.65fr) 1fr minmax(155px,.65fr);align-items:center;gap:14px;padding:13px 0;border-top:1px solid rgba(255,255,255,.055)}.trip-comparison-row:first-of-type{margin-top:12px}.trip-comparison-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.trip-comparison-row span{font-size:13px;color:#7a90a4}.trip-comparison-row b{font-size:13px}.trip-comparison-row>small{font-size:11px;color:#60778b;text-align:right}.comparison-track{height:7px;border-radius:7px;background:rgba(255,255,255,.07);position:relative}.comparison-track i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--blue),var(--green));box-shadow:0 0 9px rgba(103,247,189,.2)}.comparison-track em{position:absolute;left:50%;top:-4px;width:2px;height:15px;background:#e3edf5;border-radius:2px;opacity:.75}.trip-empty{min-height:180px;display:grid;place-items:center;text-align:center;color:#62798d;font-size:14px;padding:30px}
@media(max-width:1300px){.trip-summary{grid-template-columns:repeat(3,1fr)}.trip-workspace{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}.trip-detail-grid{grid-template-columns:1fr}.trip-index-heading .mini-segmented button{padding:7px 8px}.trip-row{grid-template-columns:minmax(0,1fr) auto}.trip-row-energy{grid-column:2}.trip-row-main{grid-row:1/3;grid-column:2}.trip-row-energy{display:none}}
@media(max-width:980px){.trip-workspace{grid-template-columns:1fr}.trip-index{position:static}.trip-list{max-height:390px}.trip-row{grid-template-columns:minmax(0,1fr) auto auto}.trip-row-main{grid-row:auto;grid-column:auto}.trip-row-energy{display:grid;grid-column:auto}.trip-comparison-row{grid-template-columns:1fr}.trip-comparison-row>small{text-align:left}.trip-route{grid-template-columns:auto 1fr auto 1fr auto}}
@media(max-width:760px){.trip-summary{grid-template-columns:repeat(2,1fr)}.trip-summary-card{min-height:105px;padding:15px}.trip-summary-card strong{font-size:21px}.trip-index,.trip-detail{padding:17px}.trip-detail-head{display:grid}.trip-route{grid-template-columns:auto 1fr auto;padding:14px}.trip-route>strong{grid-column:1/-1;grid-row:1;text-align:center}.route-terminal{grid-row:2}.route-terminal.end{grid-column:3}.route-line{grid-column:2;grid-row:2}.route-line.end{display:none}.trip-kpis{grid-template-columns:repeat(2,1fr)}.trip-row{grid-template-columns:minmax(0,1fr) auto}.trip-row-main{grid-column:2;grid-row:1/3}.trip-row-energy{display:none}.trip-comparison-row{grid-template-columns:1fr}.trip-panel-title{display:grid}.trip-panel-title>span{margin-top:-6px}}
@media(max-width:420px){.trip-summary{grid-template-columns:1fr}.trip-kpis{grid-template-columns:1fr 1fr}.trip-kpis strong{font-size:16px}.trip-route{gap:8px}.route-terminal b{font-size:12px}}

.photo-vehicle{height:250px;position:relative;display:block;isolation:isolate;margin-top:0}.g6-photo-glow{position:absolute;z-index:0;left:8%;right:8%;bottom:5px;height:75%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(99,169,255,.115),rgba(103,247,189,.025) 48%,transparent 72%);filter:blur(7px)}.g6-photo{position:absolute;z-index:2;left:3%;bottom:-2px;width:94%;height:212px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 17px 13px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(99,169,255,.08))}.pressure-pod{position:absolute;z-index:4;top:3px;width:164px;padding:9px 11px 10px;display:grid;grid-template-columns:1fr 1fr;column-gap:10px;border:1px solid rgba(103,247,189,.31);border-radius:12px;background:linear-gradient(145deg,rgba(6,17,29,.96),rgba(13,30,45,.92));box-shadow:0 12px 28px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.025);backdrop-filter:blur(12px)}.pressure-pod:after{content:"";position:absolute;left:50%;top:100%;height:48px;border-left:1px dashed rgba(103,247,189,.42)}.pressure-pod:before{content:"";position:absolute;left:calc(50% - 3px);top:calc(100% + 45px);width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(103,247,189,.85)}.pressure-front{left:24%;transform:translateX(-50%)}.pressure-rear{left:76%;transform:translateX(-50%);border-color:rgba(99,169,255,.34)}.pressure-rear:after{border-color:rgba(99,169,255,.45)}.pressure-rear:before{background:var(--blue);box-shadow:0 0 10px rgba(99,169,255,.8)}.pressure-pod-title{grid-column:1/-1;margin-bottom:7px;color:#71889c;font-size:9px;font-weight:800;letter-spacing:.16em;text-align:center}.pressure-pod>span:not(.pressure-pod-title){display:flex;align-items:center;gap:6px;min-width:0}.pressure-pod b{color:var(--green);font-size:10px}.pressure-rear b{color:var(--blue)}.pressure-pod strong{font-size:11px;white-space:nowrap}.photo-vehicle+.vehicle-footer{position:relative;z-index:5}
@media(max-width:760px){.photo-vehicle{height:225px}.g6-photo{left:1%;width:98%;height:188px}.pressure-pod{top:2px;width:140px;padding:8px 9px}.pressure-pod strong{font-size:10px}.pressure-pod:after{height:39px}.pressure-pod:before{top:calc(100% + 36px)}.pressure-front{left:23%}.pressure-rear{left:77%}}
@media(max-width:430px){.pressure-pod{width:126px;column-gap:6px}.pressure-pod strong{font-size:9px}.pressure-pod-title{font-size:8px}.g6-photo{height:174px}.photo-vehicle{height:210px}}
.g6-photo{height:225px}.pressure-front{left:28%}.pressure-rear{left:72%}.pressure-pod:after{height:116px}.pressure-pod:before{top:calc(100% + 113px)}
@media(max-width:760px){.g6-photo{height:198px}.pressure-front{left:27%}.pressure-rear{left:73%}.pressure-pod:after{height:96px}.pressure-pod:before{top:calc(100% + 93px)}}
@media(max-width:430px){.g6-photo{height:181px}.pressure-pod:after{height:84px}.pressure-pod:before{top:calc(100% + 81px)}}

/* Extended analytics workspace */
.energy-balance-card{border-radius:20px;padding:22px;margin-bottom:18px}.energy-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:10px;margin-top:18px}.energy-balance-grid>div:not(.loading-panel){padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(255,255,255,.018)}.energy-balance-grid small{display:block;color:#70869a;font-size:11px;min-height:28px}.energy-balance-grid strong{display:block;font-size:19px;margin-top:8px}.energy-balance-grid span{display:block;color:#5f768a;font-size:10px;line-height:1.4;margin-top:7px}.energy-validation{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.energy-validation>div{display:grid;gap:5px}.energy-validation span{color:#60788d;font-size:11px}.energy-validation strong{font-size:12px;line-height:1.4}.observed-capacity-card+.signal-summary-grid{margin-bottom:18px}
.observed-capacity-card{border-radius:20px;padding:22px;margin-bottom:18px}.observed-capacity{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.4fr);gap:18px;margin-top:18px}.capacity-result,.capacity-unavailable{display:grid;gap:8px;padding:17px;border:1px solid rgba(103,247,189,.18);border-radius:14px;background:rgba(103,247,189,.035)}.capacity-result small{color:#71889c;font-size:11px}.capacity-result strong{font-size:34px;color:var(--green)}.capacity-result span,.capacity-unavailable span{color:#667d91;font-size:11px;line-height:1.5}.capacity-unavailable{border-color:rgba(255,181,107,.18);background:rgba(255,181,107,.03)}.capacity-unavailable strong{font-size:15px;color:var(--orange)}.capacity-evidence{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.capacity-evidence>div{padding:13px;border:1px solid rgba(255,255,255,.06);border-radius:12px}.capacity-evidence small{display:block;color:#657d91;font-size:10px}.capacity-evidence strong{display:block;margin-top:7px;font-size:15px}
.sidebar nav{margin-top:38px;overflow-y:auto;scrollbar-width:thin}.sidebar .nav-item{min-height:42px}.trip-compare{margin-top:18px;border-radius:20px;padding:22px}.trip-row-shell{display:grid;grid-template-columns:74px 1fr;align-items:stretch;border-top:1px solid rgba(255,255,255,.065);border-radius:12px;transition:.18s}.trip-row-shell:first-child{border-top-color:transparent}.trip-row-shell:hover{background:rgba(99,169,255,.045)}.trip-row-shell.active{background:linear-gradient(90deg,rgba(103,247,189,.095),rgba(99,169,255,.035));box-shadow:inset 3px 0 0 var(--green)}.trip-row-shell .trip-row{border:0;padding-left:4px;background:transparent}.trip-row-shell .trip-row:hover{border:0;background:transparent}.trip-compare-toggle{display:grid;place-items:center;align-content:center;gap:5px;color:#657b8f;font-size:11px;cursor:pointer}.trip-compare-toggle input{accent-color:var(--green);width:17px;height:17px}.trip-compare-content{min-height:170px}.trip-compare-table{display:grid;border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:auto}.compare-row{display:grid;grid-template-columns:minmax(150px,1.1fr) repeat(4,minmax(110px,1fr));gap:12px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.055);align-items:center}.compare-row:first-child{border-top:0}.compare-row span{color:#73899d;font-size:13px}.compare-row b,.compare-row strong{text-align:right;font-size:13px}.compare-head{background:rgba(255,255,255,.025)}.trip-compare-chart{height:280px;margin-top:18px;color:#73899e}.trip-compare-chart svg{width:100%;height:230px}.trip-compare-chart .grid-line{stroke:rgba(255,255,255,.065)}.trip-compare-chart .axis-label{fill:#60778c;font-size:11px}.trip-compare-chart .series-line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.trip-compare-chart .chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px}

.charging-layout{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.55fr);gap:18px;margin-top:18px;align-items:start}.charging-index,.charging-detail{border-radius:20px;padding:22px}.charging-index{position:sticky;top:22px}.charging-list{display:grid;max-height:690px;overflow:auto}.charging-row{border:0;border-top:1px solid rgba(255,255,255,.065);background:transparent;color:#dce8f1;padding:15px 11px;display:flex;justify-content:space-between;gap:16px;text-align:left;cursor:pointer;font:inherit;border-radius:11px}.charging-row:first-child{border-top-color:transparent}.charging-row:hover{background:rgba(99,169,255,.045)}.charging-row.active{background:linear-gradient(90deg,rgba(103,247,189,.095),rgba(99,169,255,.035));box-shadow:inset 3px 0 0 var(--green)}.charging-row>span{display:grid;gap:5px}.charging-row>span:last-child{text-align:right}.charging-row strong{font-size:13px;text-transform:capitalize}.charging-row b{font-size:15px;color:var(--green)}.charging-row small{font-size:12px;color:#60778b}.charging-detail{min-height:590px}.charge-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:18px 0}.charge-kpis>div{padding:14px;border:1px solid rgba(255,255,255,.065);border-radius:12px}.charge-kpis small{display:block;color:#6f8599;font-size:12px;min-height:32px}.charge-kpis strong{display:block;margin-top:8px;font-size:17px}.charge-chart-title{margin-top:25px}.charge-chart{height:270px;margin-top:10px}

.health-grid{display:grid;grid-template-columns:minmax(430px,1.3fr) minmax(330px,.8fr);gap:18px}.health-grid.lower{margin-top:18px;grid-template-columns:1fr 1fr}.alerts-card,.tire-settings-card,.standby-card,.battery-health-card,.quality-card{border-radius:20px;padding:22px;min-width:0}.status-pill{border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:#7a90a4;font-size:11px;white-space:nowrap}.status-pill.good{color:var(--green);border-color:rgba(103,247,189,.3);background:rgba(103,247,189,.06)}.status-pill.warning{color:var(--orange);border-color:rgba(255,181,107,.32);background:rgba(255,181,107,.06)}.status-pill.critical{color:var(--red);border-color:rgba(255,117,135,.32);background:rgba(255,117,135,.06)}.alerts-list{display:grid;gap:9px}.alert-row,.all-good{display:flex;gap:13px;align-items:flex-start;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:12px}.alert-row>i{width:7px;height:38px;border-radius:5px;background:var(--orange);flex:0 0 auto}.alert-row.critical>i{background:var(--red)}.alert-row>div,.all-good>div{display:grid;gap:4px}.alert-row strong,.all-good strong{font-size:14px}.alert-row span,.all-good span{color:#60778b;font-size:12px;line-height:1.45}.all-good{align-items:center}.all-good>i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(103,247,189,.1);color:var(--green);font-style:normal}.threshold-grid{display:grid;gap:12px}.threshold-grid label{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#7890a5;font-size:13px}.threshold-grid label span{display:flex;align-items:center;gap:7px;color:#9bb0c2}.threshold-grid input{width:82px;background:#07121f;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#e4eef6;padding:9px;font:inherit}.tire-health{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.tire-health-row{display:grid;grid-template-columns:9px 1fr auto;gap:10px;align-items:center}.tire-health-row i{width:8px;height:8px;border-radius:50%;background:#6e8397}.tire-health-row i.good{background:var(--green);box-shadow:0 0 9px rgba(103,247,189,.5)}.tire-health-row i.alert{background:var(--orange);box-shadow:0 0 9px rgba(255,181,107,.5)}.tire-health-row span{font-size:13px;color:#748a9e}.tire-health-row strong{font-size:14px}.standby-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.standby-summary>div,.quality-kpis>div{padding:13px;border:1px solid rgba(255,255,255,.06);border-radius:12px}.standby-summary small,.quality-kpis small{display:block;color:#667d91;font-size:12px;min-height:30px}.standby-summary strong,.quality-kpis strong{display:block;margin-top:7px;font-size:19px}.compact-list{display:grid;margin-top:14px}.compact-list>div:not(.empty-list){display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-top:1px solid rgba(255,255,255,.055)}.compact-list span{display:grid;gap:3px}.compact-list strong{font-size:12px}.compact-list small{font-size:11px;color:#60778b}.compact-list b{color:var(--orange)}.battery-evolution-summary{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:18px}.battery-evolution-summary>strong{font-size:30px;color:var(--green)}.battery-evolution-summary>span{font-size:12px;color:#61788c;text-align:right}.evolution-bars{display:grid;gap:11px}.evolution-row{display:grid;grid-template-columns:90px 1fr 70px;gap:10px;align-items:center}.evolution-row>span{text-transform:capitalize;font-size:12px;color:#71879b}.evolution-row>div{height:7px;background:rgba(255,255,255,.06);border-radius:7px;overflow:hidden}.evolution-row>div i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:7px}.evolution-row>strong{text-align:right;font-size:13px}.evolution-row>small{grid-column:2/-1;color:#587084;font-size:11px}.quality-card{margin-top:18px}.quality-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.quality-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:18px}.quality-fields>div{display:grid;grid-template-columns:minmax(120px,.8fr) 1fr 55px;gap:10px;align-items:center}.quality-fields span{font-size:12px;color:#71879b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-fields>div>div{height:5px;background:rgba(255,255,255,.06);border-radius:5px;overflow:hidden}.quality-fields i{display:block;height:100%;background:var(--blue)}.quality-fields strong{text-align:right;font-size:12px}

.reports-head{border-radius:20px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.reports-head h3{margin:0;font-size:22px}.reports-head p:not(.eyebrow){margin:7px 0 0;color:#657c90;font-size:13px}.report-actions{display:flex;gap:9px}.primary-soft{color:var(--green);border-color:rgba(103,247,189,.3);background:rgba(103,247,189,.06)}.monthly-reports{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}.month-report{border-radius:20px;padding:22px}.month-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.month-report-head h3{margin:0;text-transform:capitalize;font-size:21px}.month-report-head>strong{font-size:26px;color:var(--green)}.month-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}.month-report-grid>div{padding:12px;border:1px solid rgba(255,255,255,.055);border-radius:11px}.month-report-grid small{display:block;color:#647b90;font-size:11px;min-height:30px}.month-report-grid b{display:block;margin-top:7px;font-size:14px}
.month-coverage{display:block;margin-top:6px;color:#60778b;font-size:11px}.month-comparisons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.month-comparisons>div{display:grid;gap:5px;padding:13px;border:1px solid rgba(99,169,255,.13);border-radius:12px;background:rgba(99,169,255,.035)}.month-comparisons small,.month-comparisons span{color:#647b90;font-size:11px}.month-comparisons strong{font-size:15px;color:#b9d7ef}

@media(max-width:1250px){.energy-balance-grid{grid-template-columns:repeat(3,1fr)}.energy-validation{grid-template-columns:repeat(2,1fr)}.health-grid,.health-grid.lower{grid-template-columns:1fr}.charge-kpis{grid-template-columns:repeat(3,1fr)}.quality-kpis{grid-template-columns:repeat(3,1fr)}.monthly-reports{grid-template-columns:1fr}}
@media(max-width:980px){.charging-layout{grid-template-columns:1fr}.charging-index{position:static}.quality-fields{grid-template-columns:1fr}.month-report-grid{grid-template-columns:repeat(2,1fr)}.compare-row{grid-template-columns:minmax(130px,1fr) repeat(4,minmax(95px,1fr))}}
@media(max-width:760px){.energy-balance-grid,.energy-validation{grid-template-columns:repeat(2,1fr)}.energy-balance-card,.observed-capacity-card{padding:17px}.observed-capacity{grid-template-columns:1fr}.trip-row-shell{grid-template-columns:62px 1fr}.trip-compare{padding:17px;overflow:hidden}.trip-compare-table{overflow-x:auto}.compare-row{min-width:650px}.charge-kpis,.standby-summary,.quality-kpis{grid-template-columns:repeat(2,1fr)}.health-grid{grid-template-columns:1fr}.reports-head{display:grid}.report-actions{flex-wrap:wrap}.battery-evolution-summary{display:grid}.battery-evolution-summary>span{text-align:left}.evolution-row{grid-template-columns:78px 1fr 62px}.month-comparisons{grid-template-columns:1fr}}
@media print{body{background:#fff;color:#111}.ambient,.sidebar,.topbar,.period-bar,.custom-period-panel,.dashboard-section:not(#section-reports),#section-reports .reports-head .report-actions,.method-note,.toast{display:none!important}.app-view{display:block!important}.dashboard-section#section-reports{display:block!important}main{padding:0}.reports-head,.month-report{background:#fff;border:1px solid #bbb;box-shadow:none;break-inside:avoid}.monthly-reports{grid-template-columns:1fr}.month-report-grid>div{border-color:#ddd}.eyebrow,.reports-head p:not(.eyebrow),.month-report-grid small{color:#555}}
.sidebar nav{flex:1;min-height:0}

/* Intelligence, costs and data operations */
.scheduler-monitor{margin:18px 0;padding:16px;border:1px solid rgba(114,240,202,.14);border-radius:16px;background:rgba(5,15,27,.3)}.scheduler-monitor-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.scheduler-monitor-head>span:first-child{display:grid;gap:4px}.scheduler-monitor-head small,.scheduler-facts small{color:#8197aa;font-size:10px;letter-spacing:.08em}.scheduler-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:14px}.scheduler-facts>div{display:grid;gap:5px;padding:10px;border-radius:11px;background:rgba(255,255,255,.025)}.scheduler-facts strong{font-size:12px;line-height:1.35}.scheduler-monitor p{margin:12px 0 0;color:#8197aa;font-size:12px}@media(max-width:900px){.scheduler-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.scheduler-monitor-head{align-items:flex-start}.scheduler-facts{grid-template-columns:1fr}}
.estimate-pill.good{color:var(--green);border-color:rgba(103,247,189,.3);background:rgba(103,247,189,.06)}.estimate-pill.warning{color:var(--orange);border-color:rgba(255,181,107,.3);background:rgba(255,181,107,.06)}.forecast-detail{display:grid;gap:8px;margin:17px 0}.forecast-detail>div{padding:11px 13px;border:1px solid rgba(255,255,255,.065);border-radius:11px;display:flex;justify-content:space-between;gap:12px}.forecast-detail small{color:#6c8296}.forecast-detail strong{font-size:13px;text-align:right}.trip-kpis{grid-template-columns:repeat(5,1fr)}
.tariff-card,.charge-benchmark-card,.tire-history-card,.import-card,.backup-card,.import-history-card{border-radius:20px;padding:22px;min-width:0}.tariff-card{margin-bottom:18px}.tariff-card>p,.backup-card>p{color:#60778b;font-size:12px;line-height:1.5;margin:15px 0 0}.tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.tariff-grid label{display:grid;gap:8px;color:#748b9f;font-size:13px}.tariff-grid label>span{display:flex;align-items:center;gap:8px}.tariff-grid input,.tariff-grid select,.charge-type-row select{width:100%;background:#07121f;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#e4eef6;padding:10px;font:inherit}.tariff-grid input{min-width:0}.charge-type-row{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:13px 0 17px;border-bottom:1px solid rgba(255,255,255,.06)}.charge-type-row label{display:grid;gap:7px;color:#71879b;font-size:12px}.charge-type-row strong{font-size:25px;color:var(--green)}#charging-summary{grid-template-columns:repeat(6,minmax(115px,1fr))}.charge-kpis{grid-template-columns:repeat(4,1fr)}.charge-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.charge-chart-grid section{min-width:0}.charge-benchmark-card{margin-top:18px}.charge-benchmarks{display:grid}.charge-benchmarks>div:not(.empty-list){display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(100px,.7fr));gap:14px;align-items:center;padding:13px 4px;border-top:1px solid rgba(255,255,255,.06)}.charge-benchmarks>div:first-child{border-top:0}.charge-benchmarks span{display:grid;gap:4px}.charge-benchmarks small{color:#60778b;font-size:11px}.charge-benchmarks b{text-align:right;font-size:13px}
.personal-charge-curve-card{border-radius:20px;padding:22px;margin-top:18px}.charge-curve-controls{display:flex;align-items:center;gap:12px}.charge-curve-controls button:disabled{opacity:.35;cursor:not-allowed}.personal-charge-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:20px;align-items:start;margin-top:18px}.personal-charge-chart{height:auto;min-height:300px}.personal-charge-chart svg{height:285px}.charge-percentile-band{fill:rgba(99,169,255,.14);stroke:rgba(99,169,255,.28);stroke-width:1}.charge-band-legend{color:var(--blue)}.personal-charge-evidence{display:grid;grid-template-columns:1fr 1fr;gap:10px}.personal-charge-evidence>div{padding:13px;border:1px solid rgba(255,255,255,.06);border-radius:12px}.personal-charge-evidence small{display:block;color:#657d91;font-size:10px}.personal-charge-evidence strong{display:block;margin-top:7px;font-size:14px}.personal-charge-evidence>p,.curve-empty span{grid-column:1/-1;color:#657d91;font-size:11px;line-height:1.5}.curve-empty{grid-column:1/-1;display:grid;gap:8px;padding:18px;border:1px solid rgba(255,181,107,.18);border-radius:13px}.curve-empty strong{color:var(--orange);font-size:14px}.charge-performance.typical{color:var(--green)}.charge-performance.faster{color:var(--blue)}.charge-performance.slower{color:var(--orange)}
.charge-history-comparison{display:grid;grid-template-columns:1fr minmax(190px,.7fr);gap:16px;align-items:center;margin:18px 0;padding:15px;border:1px solid rgba(103,247,189,.2);border-radius:13px;background:rgba(103,247,189,.035)}.charge-history-comparison>div{display:grid;gap:5px}.charge-history-comparison strong{font-size:15px;color:var(--green)}.charge-history-comparison span,.charge-history-comparison>small{color:#6a8296;font-size:11px;line-height:1.45}.charge-history-comparison>small{text-align:right}.charge-history-comparison.faster strong{color:var(--blue)}.charge-history-comparison.slower strong,.charge-history-comparison.unavailable strong{color:var(--orange)}.charge-history-comparison.unavailable{border-color:rgba(255,181,107,.18);background:rgba(255,181,107,.025)}
.tire-health-row span{display:grid;gap:3px}.tire-health-row span small{font-size:10px;color:#536b7f}.tire-history-card{margin-top:18px}.tire-trends{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tire-trend-item{display:grid;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.065);border-radius:12px}.tire-trend-item.warning{border-color:rgba(255,181,107,.3);background:rgba(255,181,107,.04)}.tire-trend-item span{display:grid;gap:3px;color:#9ab0c2;font-size:13px}.tire-trend-item small,.tire-trend-item em{font-size:11px;color:#5f778b;font-style:normal}.tire-trend-item strong{font-size:16px}.tire-trend-chart{height:290px;margin-top:16px}
.data-workspace{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.import-card form{display:grid;grid-template-columns:1fr 210px;gap:12px;align-items:stretch}.file-drop{border:1px dashed rgba(99,169,255,.35);border-radius:13px;padding:15px 17px;display:grid;gap:5px;cursor:pointer;background:rgba(99,169,255,.035)}.file-drop:hover{border-color:var(--green)}.file-drop span{font-size:11px;color:#627b90}.file-drop strong{font-size:14px}.file-drop input{display:none}.import-card .primary-button{margin:0}.import-result{min-height:22px;color:#7e96aa;font-size:13px;margin:13px 0 0}.backup-facts{display:grid;gap:12px}.backup-facts>div{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:11px;display:grid;gap:5px}.backup-facts small{color:#647c91;font-size:11px}.backup-facts strong{font-size:14px}.import-history-card{margin-top:18px}.import-history{display:grid}.import-row{display:grid;grid-template-columns:1fr auto minmax(190px,auto);gap:16px;align-items:center;padding:13px 3px;border-top:1px solid rgba(255,255,255,.06)}.import-row:first-child{border-top:0}.import-row span{display:grid;gap:4px}.import-row strong{font-size:13px}.import-row small{font-size:11px;color:#5f778b}.import-row b{font-size:13px}.import-row code{color:#607b90;font-size:11px;text-align:right}.import-row .import-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.import-report{padding:8px 10px;font-size:10px;white-space:nowrap;text-decoration:none}
@media(max-width:1250px){#charging-summary{grid-template-columns:repeat(3,1fr)}.charge-chart-grid{grid-template-columns:1fr}.tire-trends{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.tariff-grid,.data-workspace,.personal-charge-layout,.charge-history-comparison{grid-template-columns:1fr}.charge-history-comparison>small{text-align:left}.charge-benchmarks>div:not(.empty-list){grid-template-columns:1fr 1fr}.charge-benchmarks span{grid-column:1/-1}.charge-benchmarks b{text-align:left}.import-card form{grid-template-columns:1fr}}
@media(max-width:760px){#charging-summary,.charge-kpis,.trip-kpis{grid-template-columns:repeat(2,1fr)}.tire-trends{grid-template-columns:1fr}.import-row{grid-template-columns:1fr auto}.import-row .import-actions{grid-column:1/-1;justify-content:flex-start}.import-row code{display:none}}

/* User-selected XPENG G6 photo */
.login-car-photo{position:relative;z-index:2;width:min(135%,1450px);height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.52)) drop-shadow(0 0 24px rgba(103,247,189,.09));pointer-events:none}.visual-stat{z-index:3}
.photo-vehicle{overflow:hidden}.g6-photo{left:-6%;top:54%;bottom:auto;width:112%;height:auto;transform:translateY(-50%);object-fit:contain;object-position:center}.pressure-front{left:23.5%}.pressure-rear{left:72.5%}
.anomaly-card{margin-top:18px;border-radius:20px;padding:22px;min-width:0}.anomaly-settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.anomaly-settings label{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#9bb0c2;font-size:12px;background:rgba(5,14,24,.28)}.anomaly-settings input{accent-color:var(--green);width:16px;height:16px}.anomaly-settings button{margin-left:auto}.anomaly-coverage{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.anomaly-coverage-item{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:12px}.anomaly-coverage-item span{color:#71889c;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.anomaly-coverage-item strong{font-size:14px}.anomaly-coverage-item small{color:#60778b;font-size:11px}.anomaly-coverage-item.disabled{opacity:.55}.anomaly-list{display:grid;gap:10px}.anomaly-row{display:grid;grid-template-columns:7px 1fr;gap:13px;padding:14px;border:1px solid rgba(255,181,107,.2);border-radius:12px;background:rgba(255,181,107,.025)}.anomaly-row>i{border-radius:5px;background:var(--orange)}.anomaly-row.critical{border-color:rgba(255,117,135,.24);background:rgba(255,117,135,.025)}.anomaly-row.critical>i{background:var(--red)}.anomaly-row>div{display:grid;gap:6px}.anomaly-row div>span{display:flex;justify-content:space-between;gap:12px}.anomaly-row strong{font-size:14px}.anomaly-row time,.anomaly-row small{color:#71879b;font-size:11px}.anomaly-row p{margin:0;color:#9aafc0;font-size:12px;line-height:1.5}.anomaly-row small{padding-top:5px;border-top:1px solid rgba(255,255,255,.055)}
@media(max-width:900px){.anomaly-coverage{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.anomaly-card{padding:17px}.anomaly-settings{display:grid;grid-template-columns:1fr 1fr}.anomaly-settings button{grid-column:1/-1;margin-left:0}.anomaly-coverage{grid-template-columns:1fr}.anomaly-row div>span{display:grid}.anomaly-row time{margin-top:-3px}}
@media(max-width:760px){.g6-photo{left:-22.5%;width:145%;height:auto}.pressure-front{left:17%}.pressure-rear{left:78%}}
@media(max-width:430px){.g6-photo{left:-25%;width:150%;height:auto}}
@media(max-width:430px){.custom-period-panel{grid-template-columns:1fr}.custom-period-separator{display:none}.custom-period-actions{grid-column:1}}

/* LOT 01: explicit calculation status and six reconciled trip indicators */
.month-report-total{display:grid;justify-items:end;gap:8px}.month-report-total>strong{font-size:26px;color:var(--green)}.month-completeness{border:1px solid rgba(255,181,107,.3);border-radius:999px;padding:5px 8px;color:var(--orange);font-size:8px;letter-spacing:.08em}.month-completeness.complete{color:var(--green);border-color:rgba(103,247,189,.3);background:rgba(103,247,189,.05)}
.trip-kpis{grid-template-columns:repeat(6,1fr)}
@media(max-width:760px){.trip-kpis{grid-template-columns:repeat(2,1fr)}}

/* LOT 02: asynchronous import progress and recoverable job history */
.import-progress{display:grid;gap:10px;border:1px solid rgba(99,169,255,.2);border-radius:13px;margin-top:13px;padding:14px 15px;background:rgba(99,169,255,.035)}.import-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.import-progress-heading strong{font-size:13px;color:#d9e8f3}.import-progress-heading span{flex:0 0 auto;border:1px solid rgba(99,169,255,.24);border-radius:999px;padding:5px 8px;color:var(--blue);font-size:9px;letter-spacing:.08em}.import-progress-track{height:7px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06)}.import-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green));box-shadow:0 0 14px rgba(103,247,189,.22);transition:width .3s}.import-progress p{margin:0;color:#9cb0c0;font-size:12px;line-height:1.45}.import-progress small{color:#60788d;font-size:10px;line-height:1.45}.import-progress.import-complete{border-color:rgba(103,247,189,.25);background:rgba(103,247,189,.035)}.import-progress.import-complete .import-progress-heading span{color:var(--green);border-color:rgba(103,247,189,.28)}.import-progress.import-failed{border-color:rgba(255,117,135,.28);background:rgba(255,117,135,.035)}.import-progress.import-failed .import-progress-heading span{color:#ff7587;border-color:rgba(255,117,135,.3)}.import-row span em{font-style:normal;color:#71889b;font-size:10px}.import-status{font-size:9px;letter-spacing:.08em}.import-succeeded .import-status{color:var(--green)}.import-failed .import-status{color:#ff7587}.import-running .import-status,.import-queued .import-status{color:var(--blue)}.import-duplicate .import-status{color:var(--orange)}.import-retry{min-width:90px}
@media(max-width:430px){.import-progress-heading{align-items:flex-start;flex-direction:column}}

/* LOT 27: optional dry-run audit before import */
.import-choice-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px}.import-choice-actions button{width:100%;justify-content:space-between}.import-audit-note{margin:10px 1px 0;color:#647b8f;font-size:10px;line-height:1.45}.import-audit-result{display:grid;gap:13px;margin-top:14px;padding:15px;border:1px solid rgba(99,169,255,.22);border-radius:14px;background:rgba(99,169,255,.035);font-size:11px;line-height:1.5}.import-audit-result.audit-ready{border-color:rgba(103,247,189,.28);background:rgba(103,247,189,.035)}.import-audit-result.audit-blocked{border-color:rgba(255,117,135,.3);background:rgba(255,117,135,.035)}.import-audit-result.audit-running{color:#91a9bc}.import-audit-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.import-audit-head>span{display:grid;gap:3px;min-width:0}.import-audit-head small{color:#698196;font-size:8px;letter-spacing:.1em}.import-audit-head strong{overflow:hidden;text-overflow:ellipsis}.import-audit-head b{flex:0 0 auto;color:var(--green);font-size:9px;letter-spacing:.08em}.audit-blocked .import-audit-head b{color:#ff7587}.import-audit-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.import-audit-kpis>div{display:grid;gap:3px;padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(4,13,24,.24)}.import-audit-kpis small,.import-audit-kpis span{color:#6e8599;font-size:9px}.import-audit-kpis strong{font-size:17px;color:#dceaf4}.import-audit-result>p,.import-audit-details p{margin:0;color:#8da3b5}.import-audit-result details{border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.import-audit-result summary{cursor:pointer;color:var(--blue);font-weight:700}.import-audit-details{display:grid;gap:7px;margin-top:10px;max-height:240px;overflow:auto}.import-audit-download{justify-self:start;text-decoration:none}
@media(max-width:760px){.import-choice-actions{grid-template-columns:1fr}.import-audit-kpis{grid-template-columns:repeat(2,1fr)}.import-audit-head{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.import-audit-kpis{grid-template-columns:1fr}}

/* LOT 28: registry-backed trust status for undocumented signals */
.signal-row.signal-unverified{border-color:rgba(255,181,107,.24);background:rgba(255,181,107,.025)}.freshness-badge.unverified{color:var(--orange)!important}.signal-unverified .signal-value{color:#d5c0a7}

/* LOT 04: supervised official synchronization */
.sync-card{border-radius:20px;padding:22px;margin-bottom:18px;min-width:0}.sync-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.sync-kpis>div{display:grid;gap:7px;padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(5,15,27,.28)}.sync-kpis small{color:#748b9f;font-size:13px}.sync-kpis strong{font-size:17px;line-height:1.25}.sync-kpis span{color:#60778b;font-size:13px;line-height:1.4}.sync-history{display:grid;margin-top:16px;border-top:1px solid rgba(255,255,255,.065)}.sync-run{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) 100px;gap:16px;align-items:center;padding:13px 3px;border-bottom:1px solid rgba(255,255,255,.055)}.sync-run span{display:grid;gap:4px}.sync-run strong{font-size:14px}.sync-run small,.sync-run em{color:#6f879b;font-size:12px;font-style:normal}.sync-run b{font-size:12px;font-weight:500;color:#8fa5b8}.sync-run em{text-align:right}.sync-succeeded strong{color:var(--green)}.sync-duplicate strong{color:var(--orange)}.sync-failed strong,.sync-blocked strong{color:#ff7587}.sync-generating strong,.sync-downloading strong,.sync-importing strong,.sync-requesting strong{color:var(--blue)}
@media(max-width:1000px){.sync-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sync-kpis{grid-template-columns:1fr}.sync-run{grid-template-columns:1fr auto}.sync-run b{grid-column:1/-1}.sync-run em{grid-column:2;grid-row:1;text-align:right}}

/* LOT 06: decoded signals, per-family freshness and shared tire thresholds */
.freshness-old{border-color:rgba(255,181,107,.2)!important}.freshness-unavailable{opacity:.58}.freshness-badge{display:block!important;margin-top:5px;font-size:9px!important;font-style:normal;color:#647c91!important;line-height:1.35}.freshness-badge.recent{color:var(--green)!important}.freshness-badge.old{color:var(--orange)!important}.freshness-badge.unavailable{color:#6e8397!important}.body-item span{display:grid;gap:2px}.body-item strong{max-width:46%;text-align:right}.settings-sync{margin:13px 0 0;color:#61798e;font-size:10px;line-height:1.4}.dictionary-note{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 2px 0;color:#6d8397;font-size:10px}.dictionary-note span{display:flex;align-items:center;gap:6px}.dictionary-note a{margin-left:auto;color:var(--blue);text-decoration:none}.freshness-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6e8397}.freshness-dot.recent{background:var(--green);box-shadow:0 0 8px rgba(103,247,189,.45)}.freshness-dot.old{background:var(--orange)}.signal-row{min-height:78px}.signal-name em{white-space:normal}.signal-card.freshness-old strong,.body-item.freshness-old strong,.signal-row.freshness-old .signal-value{color:var(--orange)}
.all-good.stale>i{color:var(--orange);background:rgba(255,181,107,.1)}
@media(max-width:760px){.dictionary-note a{width:100%;margin-left:0}.body-item{align-items:flex-start}}

/* LOT 08: mobile navigation, accessible states and touch-first charts */
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);border-radius:9px;background:var(--green);color:#052018;padding:11px 15px;font-weight:800;text-decoration:none}.skip-link:focus{transform:translateY(0)}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.mobile-nav-toggle{display:none;min-width:88px;min-height:44px;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(103,247,189,.3);border-radius:11px;background:rgba(103,247,189,.07);color:#dffaf0;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.mobile-nav-icon{font-size:21px;line-height:1}.nav-backdrop{display:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(103,247,189,.78);outline-offset:3px}button:disabled{cursor:wait;opacity:.58}.nav-item:disabled{cursor:wait}
.eyebrow{font-size:11px;color:#91a8bb}.nav-item{font-size:13px;color:#9bb0c2}.server-state,.privacy-note{font-size:12px;color:#8096a9}.data-date span,.vehicle-footer small{font-size:11px;color:#8298aa}.period-bar,.custom-period-panel label{font-size:12px;color:#9bafc0}.kpi-card small,.signal-card small{font-size:12px;color:#93a8ba}.kpi-card p{font-size:12px;color:#8197a9}.live-pill,.legend-dot,.subtle-label,.chart-help,.method-note{font-size:11px;color:#8096aa}.axis-label,.chart .axis-label{fill:#8197aa;font-size:11px}.chart-legend{font-size:11px}.chart-legend b{color:#9db1c2}.trip-row-date small,.trip-row-main small,.trip-row-energy small,.trip-panel-title>span,.trip-comparison-row>small,.charge-benchmarks small,.tire-trend-item small,.tire-trend-item em{font-size:12px;color:#8197aa}.pressure-pod-title{font-size:10px;color:#94aabd}.pressure-pod strong{font-size:12px}
.ui-state{grid-column:1/-1;min-height:128px;width:100%;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;border:1px dashed rgba(151,174,193,.2);border-radius:14px;color:#9eb1c1;text-align:center}.ui-state>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(99,169,255,.09);color:var(--blue);font-size:18px}.ui-state strong{font-size:14px}.ui-state small{max-width:440px;color:#8297a9;font-size:12px;line-height:1.45}.ui-state-loading>span{animation:state-spin 1.1s linear infinite}.ui-state-error{border-color:rgba(255,117,135,.25)}.ui-state-error>span{background:rgba(255,117,135,.1);color:var(--red);animation:none}.ui-state-empty>span{color:#9aafc0;animation:none}@keyframes state-spin{to{transform:rotate(360deg)}}
.photo-vehicle{overflow:hidden}.g6-photo-frame{position:absolute;z-index:2;inset:58px 2.5% 0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.g6-photo{position:static!important;width:100%!important;height:auto!important;max-width:100%;max-height:100%;transform:none!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 14px 12px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(99,169,255,.08))}.pressure-front{left:24%}.pressure-rear{left:76%}
.chart-accessible{height:auto;min-height:250px}.chart-accessible>svg{display:block;height:220px;min-height:220px;touch-action:pan-y;cursor:crosshair}.chart-accessible.tall>svg{height:330px}.chart-actions{min-height:34px;display:flex;justify-content:flex-end;align-items:center;gap:10px}.chart-reset{position:static;margin:0;font-size:12px;min-height:34px;padding:7px 10px}.chart-zoom-status{margin-right:auto;border:1px solid rgba(103,247,189,.24);border-radius:999px;background:rgba(103,247,189,.06);color:#a6c9bb;padding:6px 9px;font-size:11px}.zoom-selection{display:none;fill:rgba(103,247,189,.13);stroke:rgba(103,247,189,.72);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.chart-data{margin:12px 0 0;border-top:1px solid rgba(255,255,255,.08);color:#9eb2c2}.chart-data summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 3px;cursor:pointer;font-size:13px;font-weight:700}.chart-data summary::marker{color:var(--green)}.chart-data summary span{color:#738a9d;font-size:12px;font-weight:500}.chart-table-scroll{max-height:330px;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:10px}.chart-data table{width:100%;min-width:560px;border-collapse:collapse;background:#091522;font-size:12px}.chart-data caption{padding:10px;text-align:left;color:#8197a9}.chart-data th,.chart-data td{padding:9px 10px;border-top:1px solid rgba(255,255,255,.06);text-align:right;white-space:nowrap}.chart-data th:first-child{text-align:left}.chart-data thead th{position:sticky;top:0;z-index:1;background:#102238;color:#c7d6e1}.chart-data tbody th{color:#98adbe;font-weight:500}.chart-data td{color:#eef5fa}

@media(max-width:900px){
  .app-view{display:block}.sidebar{position:fixed;inset:0 0 auto 0;z-index:80;width:100%;height:68px;padding:12px 15px;border-width:0 0 1px;background:rgba(8,20,33,.96);backdrop-filter:blur(20px)}.sidebar-header{height:43px}.mobile-nav-toggle{display:flex}.sidebar nav{display:none;position:fixed;z-index:82;inset:68px 10px 86px;margin:0;padding:12px;grid-template-columns:1fr;align-content:start;gap:5px;overflow-y:auto;border:1px solid rgba(255,255,255,.1);border-radius:0 0 16px 16px;background:#0b1a2a;box-shadow:0 24px 70px rgba(0,0,0,.55)}.sidebar.mobile-open nav{display:grid}.nav-item{min-height:46px;width:100%;font-size:14px}.sidebar-bottom{display:none}.sidebar.mobile-open .sidebar-bottom{position:fixed;z-index:83;left:10px;right:10px;bottom:10px;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#0d2033}.logout-button{min-height:42px;padding:8px 10px;font-size:13px}.nav-backdrop:not(.hidden){display:block;position:fixed;inset:0;z-index:70;border:0;background:rgba(2,8,14,.72);backdrop-filter:blur(3px)}body.nav-open{overflow:hidden}
  main{padding:90px 18px 44px}.period-bar{position:sticky;top:76px;z-index:30;overflow-x:auto;box-shadow:0 10px 30px rgba(3,10,17,.42)}.period-bar .segmented{min-width:max-content}.segmented button{min-height:40px;font-size:13px}.trip-workspace,.charging-layout,.data-workspace,.charge-chart-grid{grid-template-columns:1fr}.trip-index,.charging-index,.explorer-chart{position:static}.analysis-layout,.analysis-layout.lower{grid-template-columns:1fr}.trip-kpis{grid-template-columns:repeat(3,1fr)}.charge-kpis{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr}.vehicle-card{min-width:0}.photo-vehicle{height:240px}.g6-photo-frame{inset:66px 1.5% 0}.pressure-pod{width:144px}.pressure-front{left:22%}.pressure-rear{left:78%}
}
@media(max-width:480px){
  main{padding-left:11px;padding-right:11px}.topbar h2{font-size:24px}.top-actions{gap:8px}.period-bar{margin-left:-2px;margin-right:-2px;padding-left:9px;padding-right:9px}.vehicle-card{min-height:370px;padding:20px 16px}.vehicle-card-head{gap:8px}.live-pill{padding:6px 7px;letter-spacing:.04em}.photo-vehicle{height:228px;margin-left:-6px;margin-right:-6px}.g6-photo-frame{inset:74px 0 2px}.pressure-pod{top:4px;width:130px;padding:8px 7px;column-gap:5px}.pressure-pod strong{font-size:11px}.pressure-front{left:21%}.pressure-rear{left:79%}.pressure-pod:after{height:76px}.pressure-pod:before{top:calc(100% + 73px)}.vehicle-footer{justify-content:space-between;gap:14px}.kpi-grid,.signal-summary-grid,.analysis-metrics,#charging-summary{grid-template-columns:1fr}.trip-kpis,.charge-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-route{grid-template-columns:1fr;justify-items:center}.route-line{width:1px;height:20px}.trip-detail-head,.card-heading{align-items:flex-start}.chart-accessible>svg{height:190px;min-height:190px}.chart-accessible.tall>svg{height:250px}.chart-zoom-status{border-radius:9px;line-height:1.35}.chart-legend{margin-left:4px}.chart-data table{min-width:520px}.toast{left:12px;right:12px;bottom:12px;text-align:center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* LOT 10: release identity and operational telemetry */
.release-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8ba1b4;font-size:12px}.release-meta code{color:#6f879a;font:500 11px ui-monospace,SFMono-Regular,Consolas,monospace}.backup-facts strong[id^="resource-"],#release-data,#release-commit-data,#release-date-data{overflow-wrap:anywhere}.backup-facts #release-commit-data{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#9fb5c6}
@media(max-width:900px){.sidebar.mobile-open .sidebar-bottom{flex-wrap:wrap}.sidebar.mobile-open .release-meta{order:3;width:100%;padding-top:9px;border-top:1px solid rgba(255,255,255,.07)}.sidebar nav{bottom:119px}.sidebar.mobile-open .sidebar-bottom{min-height:109px}}

/* LOT 09: optional quasi-live location and protected route mapping */
.live-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:18px;margin-bottom:18px}.live-status-card,.live-privacy-card,.route-map-card{border-radius:20px;padding:22px;min-width:0}.live-provider-detail,.live-privacy-card p{color:#8297aa;font-size:13px;line-height:1.55}.live-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:18px}.live-kpis>div,.live-route-stats>div{display:grid;gap:6px;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(5,15,27,.3)}.live-kpis small,.live-route-stats small{color:#8197aa;font-size:12px}.live-kpis strong,.live-route-stats strong{font-size:16px}.live-privacy-card{background:linear-gradient(145deg,rgba(103,247,189,.055),rgba(10,26,42,.72))}.live-privacy-card h3{font-size:20px;margin:5px 0 18px}.live-privacy-card>strong{display:block;color:var(--green);font-size:18px;margin-bottom:10px}.live-map-heading{margin-bottom:16px}.live-map-heading label{display:flex;align-items:center;gap:9px;color:#8297aa;font-size:13px}.live-map-heading select{min-width:250px;max-width:390px;background:#07121f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#e4eef6;padding:10px 12px;font:inherit}.live-map{height:520px;border:1px solid rgba(103,247,189,.16);border-radius:15px;overflow:hidden;background:#07111d}.live-map-state{min-height:220px;display:grid;place-items:center}.live-map-state .ui-state{min-height:220px}.live-route-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:14px}.route-data{margin-top:14px;border-top:1px solid rgba(255,255,255,.07);color:#9eb2c2}.route-data summary{min-height:46px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:700}.route-data table{width:100%;border-collapse:collapse;background:#091522;font-size:12px}.route-data caption{padding:10px;text-align:left;color:#8197a9}.route-data th,.route-data td{padding:9px 10px;border-top:1px solid rgba(255,255,255,.06);text-align:right;white-space:nowrap}.route-data th:first-child{text-align:left}.route-data thead th{position:sticky;top:0;background:#102238;color:#c7d6e1}.leaflet-container{font:13px Inter,system-ui,sans-serif}.leaflet-control-attribution{background:rgba(7,17,29,.84)!important;color:#a5bac9!important}.leaflet-control-attribution a{color:#67f7bd!important}.leaflet-bar a{background:#102238!important;color:#eef5fa!important;border-color:#28425a!important}.leaflet-bar a:hover{background:#17324d!important}
@media(max-width:1000px){.live-overview{grid-template-columns:1fr}.live-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.live-map-heading{display:grid;gap:13px}.live-map-heading label{display:grid}.live-map-heading select{width:100%;min-width:0;max-width:none}.live-map{height:410px}.live-route-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.live-kpis,.live-route-stats{grid-template-columns:1fr 1fr}.live-map{height:360px}.live-status-card,.live-privacy-card,.route-map-card{padding:17px}}

/* LOT 11: Enode setup, durable-delivery supervision and privacy controls */
.live-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.live-admin-card,.live-retention-card{border-radius:20px;padding:22px;min-width:0}.live-actions,.live-map-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.live-actions{margin:18px 0 8px}.live-actions .text-button{padding:10px}.live-queue-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0}.live-queue-kpis>div{display:grid;gap:5px;padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:11px;background:rgba(5,15,27,.3)}.live-queue-kpis small{color:#8197aa;font-size:11px}.live-queue-kpis strong{font-size:15px}.live-retention-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px}.live-retention-card h3{margin:4px 0}.danger-button{border:1px solid rgba(255,117,135,.42);border-radius:10px;background:rgba(255,117,135,.08);color:#ff9cab;padding:10px 14px;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap}.danger-button:hover{background:rgba(255,117,135,.14)}.danger-button:disabled{opacity:.5;cursor:wait}
@media(max-width:1000px){.live-admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.live-map-controls,.live-retention-card{align-items:stretch;flex-direction:column}.live-map-controls label,.live-map-controls select,.live-map-controls button,.live-retention-card button{width:100%}.live-queue-kpis{grid-template-columns:repeat(2,1fr)}}
.live-admin-grid.single{grid-template-columns:1fr}

/* LOT 16: explicit Enode vehicle mapping and quarantine visibility */
.enode-vehicle-mapping{display:grid;gap:9px;margin:14px 0}.enode-mapping-summary{padding:11px 12px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(5,15,27,.3);color:#9db0bf;font-size:12px;line-height:1.5}.enode-mapping-summary strong{color:#eaf4fa}.enode-mapping-list{display:grid;gap:8px}.enode-mapping-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:#091726}.enode-mapping-identity{display:grid;gap:3px;min-width:0}.enode-mapping-identity strong,.enode-mapping-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enode-mapping-identity small{color:#7890a3}.enode-mapping-row button{flex:none}.enode-quarantine{color:#ffc06a}.enode-mapped{color:var(--green)}
@media(max-width:560px){.enode-mapping-row{align-items:stretch;flex-direction:column}.enode-mapping-row button{width:100%}}

/* LOT 17: full-period GPS analysis with a bounded display sample */
.live-route-stats{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}

/* LOT 34: qualified GPS coverage, altitude and per-portion analysis */
.live-route-coverage{margin-top:14px;padding:14px;border:1px solid rgba(99,169,255,.14);border-radius:13px;background:rgba(5,15,27,.28)}.route-coverage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.route-coverage-head span{color:#a9bdcb;font-size:13px;font-weight:750}.route-coverage-head strong{font-size:11px;text-transform:uppercase}.route-coverage-head strong.good{color:var(--green)}.route-coverage-head strong.warning{color:var(--orange)}.live-route-coverage>div:last-child{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.live-route-coverage span{display:grid;gap:4px}.live-route-coverage small{color:#71879a;font-size:11px}.live-route-coverage b{font-size:13px}.route-insight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:18px;margin-top:20px}.route-insight-grid>section{min-width:0;padding:16px;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:rgba(5,15,27,.24)}.route-altitude-chart{height:270px;margin-top:10px}.route-portions{display:grid;max-height:335px;overflow:auto}.route-portion{display:grid;grid-template-columns:1fr auto;gap:14px;width:100%;padding:13px 10px;border:0;border-top:1px solid rgba(255,255,255,.065);border-radius:9px;background:transparent;color:#e6eff6;text-align:left;font:inherit;cursor:pointer}.route-portion:first-child{border-top-color:transparent}.route-portion:hover,.route-portion.active{background:rgba(99,169,255,.07)}.route-portion.active{box-shadow:inset 3px 0 0 var(--green)}.route-portion>span{display:grid;gap:4px}.route-portion>span:last-child{text-align:right}.route-portion strong,.route-portion b{font-size:13px}.route-portion b{color:var(--blue)}.route-portion small{color:#71879a;font-size:11px;line-height:1.35}
@media(max-width:1050px){.route-insight-grid{grid-template-columns:1fr}.live-route-coverage>div:last-child{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.live-route-coverage>div:last-child{grid-template-columns:repeat(2,1fr)}.route-portion{grid-template-columns:1fr}.route-portion>span:last-child{text-align:left}.route-insight-grid>section{padding:12px}.route-altitude-chart{height:230px}}

/* LOT 12: durable import phases */
.import-validating .import-status,.import-writing .import-status,.import-backfilling .import-status{color:var(--blue)}

/* LOT 13: transactional XPENG sync phases */
.sync-created strong,.sync-validating strong{color:var(--blue)}

/* LOT 35: planificateur énergétique transparent et facultatif */
.planner-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:18px}.planner-form-card,.planner-result-card,.planner-evidence-card{border-radius:20px;padding:22px}.planner-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.planner-form label{display:grid;gap:7px;color:#93a8ba;font-size:12px}.planner-form label>span{display:flex;align-items:center;gap:7px;color:#6f879b}.planner-form input,.planner-form select{width:100%;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#071522;color:#e7f0f7;padding:10px 11px;font:inherit;color-scheme:dark}.planner-form select{min-height:41px}.planner-form input:focus,.planner-form select:focus{border-color:rgba(103,247,189,.55)}.planner-form .primary-button{grid-column:1/-1;margin-top:4px}.planner-results{display:grid;gap:18px}.planner-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.planner-result-grid>div,.planner-model,.planner-assumption,.planner-validation{padding:15px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(4,15,26,.36)}.planner-result-grid small,.planner-model small,.planner-assumption small,.planner-validation small{display:block;color:#7890a4;font-size:11px}.planner-result-grid strong{display:block;margin-top:7px;font-size:22px}.planner-models{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.planner-model{display:grid;gap:6px}.planner-model.selected{border-color:rgba(103,247,189,.38);background:rgba(103,247,189,.05)}.planner-model strong{font-size:18px}.planner-warning{margin:14px 0 0;padding:12px 14px;border-radius:11px;background:rgba(255,181,107,.09);color:#e9bd8f;font-size:12px}.planner-evidence{display:grid;gap:14px;margin-top:18px}.planner-validation{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.planner-validation strong{display:block;margin-top:5px}.planner-assumptions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.planner-assumption{padding:11px}.planner-assumption b{display:block;margin-top:4px;font-size:13px}.planner-disclaimer{color:#8197aa;font-size:12px;line-height:1.55}.status-pill.tight{color:#ffb56b;border-color:rgba(255,181,107,.3)}.status-pill.insufficient{color:#ff7587;border-color:rgba(255,117,135,.3)}
@media(max-width:1050px){.planner-layout{grid-template-columns:1fr}.planner-result-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.planner-form,.planner-models,.planner-assumptions{grid-template-columns:1fr}.planner-result-grid{grid-template-columns:1fr 1fr}.planner-validation{grid-template-columns:1fr}.planner-form-card,.planner-result-card,.planner-evidence-card{padding:17px}}

/* LOT 36: installation PWA et sélection multi-véhicules */
.vehicle-selector{display:grid;gap:4px;color:#7890a4;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.vehicle-selector select{min-width:150px;border:1px solid rgba(103,247,189,.24);border-radius:10px;background:#0a1928;color:#e5eff6;padding:8px 30px 8px 10px;font:inherit;font-size:12px;text-transform:none;letter-spacing:0;color-scheme:dark}.install-app-button{width:100%;border:1px solid rgba(103,247,189,.3);border-radius:10px;background:rgba(103,247,189,.08);color:var(--green);padding:9px 11px;text-align:left;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.install-app-button:hover{background:rgba(103,247,189,.13)}
@media(max-width:760px){.top-actions{gap:9px}.vehicle-selector select{min-width:125px;max-width:150px}.vehicle-selector{font-size:9px}.sidebar.mobile-open .install-app-button{width:auto}}
@media(max-width:420px){.vehicle-selector{position:absolute;top:72px;right:15px}.topbar:has(.vehicle-selector:not(.hidden)){margin-bottom:66px}}

/* Application settings: centralized, vehicle-scoped preferences */
.settings-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px;border-radius:20px}.settings-intro h3{margin:4px 0 7px;font-size:23px}.settings-intro p:last-child{margin:0;color:#8399aa;font-size:13px;line-height:1.5}.settings-intro p strong{color:#e8f1f7}.settings-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-page-grid>article{min-width:0;margin:0;padding:22px;border-radius:20px}.settings-page-grid .settings-tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page-grid .settings-tariff-grid label:last-child{grid-column:1/-1}.settings-page-grid .tariff-card>p,.anomaly-settings-card>p,.connected-settings-card>p{margin:16px 0 0;color:#7f95a7;font-size:12px;line-height:1.55}.anomaly-settings-card .anomaly-settings{margin:16px 0 0}.anomaly-settings-card .anomaly-settings label{flex:1 1 calc(50% - 5px)}.connected-settings-card .secondary-button{margin-top:18px}.connected-settings-card{background:linear-gradient(145deg,rgba(99,169,255,.055),rgba(10,26,42,.72))}
@media(max-width:900px){.settings-page-grid{grid-template-columns:1fr}}
@media(max-width:520px){.settings-intro{align-items:flex-start;flex-direction:column;padding:17px}.settings-page-grid>article{padding:17px}.settings-page-grid .settings-tariff-grid{grid-template-columns:1fr}.settings-page-grid .settings-tariff-grid label:last-child{grid-column:auto}.anomaly-settings-card .anomaly-settings{display:grid;grid-template-columns:1fr 1fr}.anomaly-settings-card .anomaly-settings label{min-width:0}}
