:root{color-scheme:dark;--bg:#101317;--surface:#181c21;--border:#2b3037;--muted:#929aa7;--text:#edf0f5;--accent:#f29279;--blue:#9bb8dc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,select,input{color:inherit;border:1px solid var(--border);border-radius:9px;background:#1c2128;padding:10px 13px}button:hover{border-color:#697381}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;border-right:1px solid var(--border);padding:35px 24px;display:flex;flex-direction:column;background:#13171b}.wordmark{font-size:23px;letter-spacing:4px;font-weight:750}.wordmark span{display:block;font-size:9px;letter-spacing:3.3px;color:var(--muted);margin-top:5px;font-weight:500}.sidebar-caption{font-size:10px;letter-spacing:1.5px;color:#777f8c;margin:55px 12px 16px}nav{display:grid;gap:8px}nav button{text-align:left;border:0;background:none;color:var(--muted);padding:13px 16px}nav button span{display:inline-block;width:28px;font-size:20px;vertical-align:middle}nav button.active{background:#292826;color:#ffc0ab}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted)}.sidebar-bottom p{font-size:11px;margin:6px 0 22px}.sidebar-bottom button{width:100%;text-align:left;background:none}.status-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#a9c6b4;margin-right:7px}main{max-width:1800px;margin-left:230px;padding:34px 42px 20px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:var(--muted);text-transform:uppercase;margin:0 0 9px}h1{font-size:30px;letter-spacing:-1px;font-weight:550;line-height:1.2;margin:0}h2{font-size:42px;font-weight:500;line-height:1.2;margin:9px 0 7px;letter-spacing:-1px}h3{font-size:17px;font-weight:550;margin:0}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn{font-size:21px;line-height:1;padding:11px 13px}.filterbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:24px}.periods{display:flex;padding:4px;background:#191d22;border:1px solid var(--border);border-radius:10px;gap:2px}.periods button{border:0;background:none;color:var(--muted);padding:8px 12px;font-size:12px}.periods .selected{background:#30353c;color:#fff}.dates{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted)}.dates input{font-size:12px;padding:8px;margin-left:5px;max-width:144px}.hero{min-height:284px;border:1px solid var(--border);border-radius:15px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;background:radial-gradient(ellipse at 90% 20%,#30384055,transparent 70%),#191e24;overflow:hidden;padding:28px 34px;margin-bottom:21px}.hero-stats{display:flex;gap:34px;margin:27px 0 16px}.hero-stats strong{display:block;font-size:23px;font-weight:550;letter-spacing:-.5px}.hero-stats span{font-size:11px;color:var(--muted)}small{color:var(--muted);font-size:11px}.muted{color:var(--muted)}.hero .muted{margin:0}.car-art{position:relative;padding-top:5px}.car-art svg{display:block;width:100%;height:auto}.car-art>span{display:block;text-align:center;font-size:8px;letter-spacing:3px;color:#7e8997;margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 22px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px;min-width:0}.metric p{color:var(--muted);font-size:12px;margin:0 0 13px}.metric strong{font-size:29px;font-weight:500;letter-spacing:-.8px;white-space:nowrap}.metric strong small{font-size:13px;margin-left:4px;letter-spacing:0}.metric>span{display:block;color:var(--muted);font-size:10px;margin-top:10px}.two-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:23px;margin-bottom:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.panel-head .eyebrow{font-size:9px}.legend{font-size:10px;color:var(--muted);white-space:nowrap}.legend i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:6px}.chart svg{width:100%;height:230px;display:block}.chart text{font-family:inherit;font-size:10px;fill:#8f99a7}.chart .grid{stroke:#30363d;stroke-width:1}.chart .bar{fill:var(--blue)}.chart .bar:last-of-type{fill:var(--accent)}.chart .line{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-linejoin:round}.chart .point{fill:var(--accent)}.battery-chart svg{height:300px}.split-total{font-size:34px;font-weight:500;margin:12px 0 22px}.split-total small{font-size:14px}.energy-bar{display:flex;height:13px;gap:3px;margin-bottom:22px}.energy-bar svg{width:100%;height:13px}.charge-row{display:flex;justify-content:space-between;margin:17px 0;font-size:12px}.charge-row span{color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:8px}.dot.dc{background:var(--accent)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.4px;padding:0 12px 13px;text-transform:uppercase}td{padding:15px 12px;border-top:1px solid var(--border)}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{text-align:right;padding-right:0}.route{max-width:250px;white-space:normal;min-width:180px}.route span{color:var(--muted);display:block;font-size:11px;margin-top:3px}.badge{display:inline-block;font-size:10px;padding:3px 7px;border-radius:5px;background:#25303a;color:#b5cce6}.badge.dc{background:#382b26;color:#f4b79e}.text-button{background:none;border:0;color:var(--accent);font-size:11px;padding:0}.search-label{font-size:11px;color:var(--muted)}.search-label input{font-size:12px;margin-left:10px}.footnote{font-size:12px;color:var(--muted);max-width:950px;line-height:1.8}.empty{padding:40px 10px;color:var(--muted);text-align:center}.secondary{margin-top:15px}footer{display:flex;justify-content:space-between;gap:12px;color:#77818e;font-size:10px;padding:8px 0 4px}footer b{margin:0 8px;color:var(--accent)}#notice{padding:12px 16px;background:#352c22;color:#efd4b3;border:1px solid #5a4832;border-radius:8px;margin-bottom:18px}.login{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 20%,#303640,transparent 60%);padding:20px}.login-card{width:100%;max-width:420px;background:#191d22;border:1px solid var(--border);border-radius:18px;padding:36px}.brand-mark{font-size:42px;font-weight:700;letter-spacing:-4px;margin-bottom:28px}.brand-mark span{color:var(--accent)}.login-card h1{font-size:27px}.login-card label{display:block;font-size:12px;color:var(--muted);margin-top:21px}.login-card input{display:block;width:100%;margin-top:8px;padding:12px}.primary{background:var(--accent);color:#271f1c;font-weight:650;border:0;width:100%;margin-top:25px;padding:12px}.primary span{float:right}#login-error{color:#ffb1a7;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){main{padding:40px 55px}}@media(max-width:1200px){.sidebar{width:190px;padding:28px 18px}main{margin-left:190px;padding:25px}.filterbar{align-items:flex-start;flex-direction:column}.hero{padding:26px}.hero-stats{gap:23px}.hero-stats strong{font-size:20px}.two-columns{grid-template-columns:1.4fr 1fr}.metric{padding:18px}.metric strong{font-size:25px}.legend{display:none}}@media(max-width:800px){.sidebar{width:75px;padding:24px 9px}.wordmark{font-size:14px;letter-spacing:1px}.wordmark span,.sidebar-caption,.sidebar-bottom{display:none}nav{margin-top:35px}nav button{font-size:0;text-align:center;padding:12px 4px}nav button span{font-size:24px;width:auto}main{margin-left:75px;padding:22px 18px}.hero{grid-template-columns:1fr}.car-art{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}h1{font-size:26px}.hero-stats{justify-content:space-between;gap:12px}.chart svg{height:210px}}@media(max-width:520px){.sidebar{inset:auto 0 0;width:auto;height:66px;padding:0;background:#171b20ef;backdrop-filter:blur(14px);border-right:0;border-top:1px solid var(--border);z-index:10}.wordmark{display:none}nav{display:flex;justify-content:space-around;margin:0;height:100%;align-items:center}nav button{font-size:9px;display:flex;flex-direction:column;align-items:center;padding:5px 15px;gap:0;border-radius:8px}nav button span{font-size:23px;line-height:1.3}main{margin-left:0;padding:22px 15px 85px}header{margin-bottom:23px}header .eyebrow{font-size:8px;letter-spacing:1.1px}h1{font-size:25px}.header-actions select{max-width:120px;font-size:12px;padding:8px}.icon-btn{padding:8px 10px}.periods{width:100%;justify-content:space-between}.periods button{font-size:11px;padding:8px}.filterbar{gap:12px}.dates{width:100%;justify-content:space-between;gap:4px}.dates input{font-size:11px;padding:7px;max-width:128px}.hero{padding:23px 20px;min-height:250px}.hero h2{font-size:34px}.hero-stats strong{font-size:21px}.hero-stats span{font-size:9px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:24px}.metric p{font-size:11px}.panel{padding:18px}.panel-head{align-items:flex-start}.panel-head h3{font-size:16px}.search-label{max-width:160px}.search-label input{margin:5px 0 0;width:100%}.panel-head select{font-size:12px}footer{flex-direction:column;font-size:9px}.login-card{padding:28px}.battery-chart svg{height:235px}}
