@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@500;600;700&family=Rajdhani:wght@500;600;700&display=swap";:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--font-display: Orbitron, Inter, ui-sans-serif, system-ui, sans-serif;--font-tech: Rajdhani, Inter, ui-sans-serif, system-ui, sans-serif;--bg: #090b0e;--surface: #0e1218;--surface-raised: #121820;--surface-soft: #151b23;--border: #252c37;--border-soft: rgba(154, 170, 190, .14);--text: #f4f7fb;--muted: #8490a1;--dim: #5d6877;--red: #e82127;--green: #31d17d;--blue: #59a7ff;--amber: #f5b847;--purple: #bc8cff;background:var(--bg);color:var(--text)}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;margin:0;min-height:100vh;background:radial-gradient(circle at 80% -20%,rgba(56,109,190,.13),transparent 35rem),radial-gradient(circle at 18% 5%,rgba(232,33,39,.09),transparent 30rem),var(--bg)}button,input{font:inherit}button{color:inherit}.app{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}main{min-width:0}.sidebar{position:sticky;top:0;z-index:5;display:flex;height:100vh;flex-direction:column;justify-content:space-between;padding:25px 15px 19px;border-right:1px solid var(--border);background:#0b0e13}.brand{display:flex;align-items:center;gap:11px;margin:0 10px 28px;color:#fff;font-family:var(--font-display);font-size:15px;letter-spacing:.04em}.brand b{display:grid;width:31px;height:31px;place-items:center;color:#fff;border:1px solid rgba(232,33,39,.65);border-radius:8px;background:var(--red);box-shadow:0 7px 20px #e8212733;font-size:16px}.brand span span{color:var(--red)}.vehicle-aside{display:flex;gap:9px;align-items:center;margin:0 9px 22px;padding:11px 10px;border:1px solid var(--border-soft);border-radius:10px;background:#10151c;color:var(--blue)}.vehicle-aside div{min-width:0;display:grid;gap:2px}.vehicle-aside strong{color:#dee7f2;font-size:12px;font-weight:650}.vehicle-aside span{color:var(--muted);font-size:10px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.bottom-nav button{display:flex;align-items:center;gap:11px;width:100%;border:1px solid transparent;border-radius:9px;padding:11px 12px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;text-align:left;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.sidebar nav button:hover{border-color:var(--border-soft);background:#151a21;color:#fff}.sidebar nav button.active{border-color:#e821275c;background:linear-gradient(90deg,#e8212733,#e8212708);color:#fff}.nav-icon{display:inline-grid;place-items:center;color:inherit}.product-versions{display:flex;gap:7px;padding:0 8px}.product-version-badge{display:inline-flex;gap:5px;align-items:center;border:1px solid var(--border);border-radius:7px;padding:6px 7px;background:#10151c;font-family:var(--font-tech);font-size:11px;letter-spacing:.04em}.product-version-badge span{color:var(--muted)}.product-version-badge b{color:#d9e2ed}.product-version-badge.api b{color:var(--blue)}.bottom-nav{display:none}.prototype-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:128px;padding:30px 32px 22px;border-bottom:1px solid var(--border-soft)}.section-kicker{margin:0 0 5px;color:var(--dim);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:7px;font-family:var(--font-display);font-size:clamp(19px,2.4vw,29px);font-weight:600;letter-spacing:-.035em}h2{margin-bottom:0;font-size:16px;letter-spacing:-.015em}.subtitle{margin:0;color:var(--muted);font-size:13px}.topbar-actions{display:flex;align-items:center;gap:9px}.source-pill{display:inline-flex;gap:6px;align-items:center;border:1px solid rgba(245,184,71,.28);border-radius:99px;padding:7px 10px;background:#18150e;color:#f7d28b;font-size:11px;font-weight:650;white-space:nowrap}.source-pill.archive{border-color:#59a7ff3d;background:#101923;color:#9ac5ff}.mock-tag{display:inline-flex;align-items:center;border:1px solid rgba(245,184,71,.42);border-radius:4px;padding:1px 4px;color:#ffd37b;font-family:var(--font-tech);font-size:9px;font-weight:700;letter-spacing:.08em;line-height:1.1}.icon-button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#141a22;color:var(--muted);cursor:pointer}.icon-button:hover{border-color:#43556c;color:#fff}.content{padding:27px 32px 46px}.console-content{max-width:1680px}.console-notice{margin:20px 32px -4px;border:1px solid rgba(89,167,255,.25);border-radius:9px;padding:10px 13px;background:#0e1823;color:#aed0fb;font-size:12px}.console-notice.error{border-color:#e8212766;background:#201316;color:#ffb1b4}.workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;border:1px solid var(--border);border-radius:10px;padding:7px;background:#10151c}.workspace-tabs,.workspace-actions{display:flex;gap:4px;overflow-x:auto}.workspace-tab,.workspace-action{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:7px;padding:8px 10px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap}.workspace-tab:hover,.workspace-action:hover{color:#fff;background:#1b222c}.workspace-tab.active{border-color:#e8212752;background:#291416;color:#fff}.workspace-action{border-color:var(--border);background:#151b23;color:#b7c4d2}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.kpi-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;padding:15px;background:linear-gradient(145deg,#151b23,#10151c)}.kpi-card:after{position:absolute;inset:0 0 auto;height:2px;background:currentColor;content:"";opacity:.8}.kpi-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:650}.kpi-value-wrap{display:flex;align-items:baseline;gap:5px;min-height:53px;padding-top:10px}.kpi-value{overflow:hidden;color:var(--text);font-family:var(--font-tech);font-size:clamp(24px,2vw,33px);font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.kpi-unit{color:var(--muted);font-family:var(--font-tech);font-size:14px;font-weight:600}.kpi-footer{display:flex;min-height:17px;gap:5px;align-items:center;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.archive-dot{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--blue)}.accent-green{color:var(--green)}.accent-red{color:var(--red)}.accent-blue{color:var(--blue)}.accent-amber{color:var(--amber)}.accent-purple{color:var(--purple)}.kpi-card .kpi-header span,.kpi-card .kpi-footer,.kpi-card .kpi-unit{color:var(--muted)}.kpi-card.accent-green .kpi-value,.kpi-card.accent-green .kpi-header svg{color:var(--green)}.kpi-card.accent-red .kpi-value,.kpi-card.accent-red .kpi-header svg{color:var(--red)}.kpi-card.accent-blue .kpi-value,.kpi-card.accent-blue .kpi-header svg{color:var(--blue)}.kpi-card.accent-amber .kpi-value,.kpi-card.accent-amber .kpi-header svg{color:var(--amber)}.kpi-card.accent-purple .kpi-value,.kpi-card.accent-purple .kpi-header svg{color:var(--purple)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:34px 0 15px}.section-heading h2{font-family:var(--font-display);font-size:17px;font-weight:600}.charts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.chart-card,.wide-chart-card,.timeline-card,.battery-gauge-card,.cell-map-card,.charging-hero-card,.station-map-card,.charge-history-card,.trip-card,.signal-browser-card,.json-inspector-card,.terminal-card{border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,#131920,#0e1319)}.chart-card{overflow:hidden;padding:15px 15px 11px}.chart-card-head{display:flex;align-items:start;justify-content:space-between;gap:14px;color:var(--text)}.chart-title{color:#dfe8f2;font-size:12px;font-weight:650}.chart-metric{color:currentColor;font-family:var(--font-tech);font-size:15px;font-weight:700;white-space:nowrap}.svg-chart-wrap{height:126px;margin-top:14px;color:currentColor}.svg-chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-gridline{stroke:#34404d;stroke-width:.35;opacity:.8;vector-effect:non-scaling-stroke}.chart-card-foot{display:flex;gap:5px;align-items:center;color:var(--dim);font-size:10px}.timeline-card{margin-top:14px;padding:18px}.timeline-count{color:var(--muted);font-size:11px}.timeline-list{display:grid;gap:0;margin-top:13px}.timeline-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--border-soft)}.timeline-icon{display:grid;width:29px;height:29px;place-items:center;border-radius:8px;background:color-mix(in srgb,currentColor 14%,#121820)}.timeline-item strong{display:block;color:#dce5ef;font-size:12px}.timeline-item p{margin:2px 0 0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.timeline-item time{color:var(--dim);font-size:10px;text-align:right}.battery-hero-grid{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,2fr);gap:14px}.battery-gauge-card{display:grid;place-items:center;min-height:275px;padding:23px;text-align:center}.battery-gauge-card p,.cell-map-card p,.charging-hero-left p,.trip-analytics-drawer p{color:var(--muted);font-size:11px;line-height:1.45}.gauge-ring{display:grid;width:184px;height:184px;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 0 320deg,#27333b 320deg 360deg);box-shadow:inset 0 0 0 1px #31d17d40}.gauge-ring>div{display:grid;width:151px;height:151px;place-items:center;align-content:center;border-radius:50%;background:#10151c}.gauge-ring strong{margin-top:4px;color:var(--green);font-family:var(--font-tech);font-size:42px;line-height:1}.gauge-ring span{margin-top:4px;color:var(--muted);font-size:11px}.battery-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.wide-chart-card{margin-top:14px;padding:18px}.wide-chart-card .svg-chart-wrap{height:180px}.chart-axis{display:flex;justify-content:space-between;color:var(--dim);font-size:10px}.cell-map-card{margin-top:14px;padding:18px}.cell-map{display:grid;grid-template-columns:repeat(24,minmax(5px,1fr));gap:5px;margin:18px 0 13px}.cell{height:14px;border-radius:3px;background:#2a5f4b}.cell-normal{background:#287758}.cell-cool{background:#225c8e}.cell-warm{background:#b77d2a}.charging-hero-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2.1fr);gap:20px;padding:20px}.charging-hero-left{display:flex;align-items:center;gap:15px}.charging-hero-left h2{margin-bottom:7px;font-family:var(--font-display);font-size:17px}.charging-hero-left p{margin-bottom:0}.charging-bolt{display:grid;width:64px;height:64px;flex:0 0 auto;place-items:center;border:1px solid rgba(232,33,39,.35);border-radius:17px;background:#2b1417;color:var(--red)}.charging-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.charging-metrics-grid .kpi-card{padding:13px}.charge-lower-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-top:14px}.station-map-card,.charge-history-card{padding:18px}.station-map{position:relative;height:208px;overflow:hidden;margin-top:14px;border:1px solid #26303c;border-radius:9px;background:linear-gradient(140deg,#0f1b25,#152d32 47%,#1c222c 47%,#121a25)}.station-map:before,.trip-map-mini:before{position:absolute;inset:0;background-image:linear-gradient(30deg,transparent 46%,rgba(164,195,220,.22) 47%,rgba(164,195,220,.22) 49%,transparent 50%),linear-gradient(-18deg,transparent 47%,rgba(164,195,220,.15) 48%,rgba(164,195,220,.15) 50%,transparent 51%);content:"";opacity:.9}.map-road{position:absolute;z-index:1;width:100%;height:4px;border-radius:10px;background:#6b7784;transform:rotate(-14deg)}.road-one{top:47%}.road-two{top:65%;transform:rotate(26deg)}.map-pin{position:absolute;z-index:2;display:grid;width:30px;height:30px;place-items:center;border:2px solid #13202a;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 4px 10px #0008}.map-pin.one{top:31%;left:24%}.map-pin.two{top:55%;left:53%;background:var(--blue)}.map-pin.three{top:22%;right:16%}.history-summary{display:grid;gap:12px;margin-top:18px;color:#dce4ef}.history-summary>div{display:grid;gap:6px;color:var(--muted);font-size:12px}.history-summary time{color:var(--dim);font-size:11px}.empty-state{border:1px dashed #344151;border-radius:10px;padding:25px;color:var(--muted);text-align:center}.trips-container{display:grid;gap:14px}.trip-card{padding:19px}.trip-header{display:flex;align-items:start;justify-content:space-between;gap:15px}.trip-date{margin:0 0 5px;color:var(--dim);font-size:11px}.trip-header h2{color:#e2e9f2;font-size:14px}.trip-tag{border:1px solid rgba(245,184,71,.34);border-radius:99px;padding:5px 9px;background:#272014;color:#ffd172;font-size:10px;white-space:nowrap}.trip-tag.city{border-color:#31d17d47;background:#11251c;color:#88e4b2}.trip-main-row{display:grid;grid-template-columns:minmax(160px,.72fr) minmax(0,1.65fr);gap:14px;margin-top:15px}.trip-map-mini{position:relative;min-height:145px;overflow:hidden;border:1px solid #2b3845;border-radius:8px;background:linear-gradient(135deg,#14212e,#26353b)}.trip-map-mini.map-variant-1{background:linear-gradient(135deg,#1a2731,#253c3c)}.map-route{position:absolute;z-index:1;top:54%;left:13%;width:74%;height:45%;border-top:4px solid var(--blue);border-right:4px solid var(--blue);border-radius:0 46% 0 0;transform:rotate(-13deg)}.map-dot{position:absolute;z-index:2;width:11px;height:11px;border:2px solid #fff;border-radius:50%}.map-dot.start{bottom:19%;left:14%;background:var(--green)}.map-dot.end{top:21%;right:14%;background:var(--red)}.map-label{position:absolute;z-index:2;top:9px;left:10px;border-radius:4px;padding:3px 5px;background:#0e151ce6;color:#b6c5d4;font-size:9px}.trip-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trip-stat-box{min-height:66px;border:1px solid var(--border-soft);border-radius:8px;padding:9px;background:#10161e}.trip-stat-box span{display:block;color:var(--muted);font-size:10px}.trip-stat-box strong{display:block;overflow:hidden;margin-top:6px;color:#e8eef5;font-family:var(--font-tech);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.trip-stat-box.accent-green strong{color:var(--green)}.trip-stat-box.accent-blue strong{color:var(--blue)}.trip-stat-box.accent-amber strong{color:var(--amber)}.trip-stat-box.accent-purple strong{color:var(--purple)}.trip-analytics-drawer{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:center;margin-top:15px;border-top:1px solid var(--border-soft);padding-top:15px}.trip-analytics-drawer h3{margin-bottom:0;font-size:12px}.trip-analytics-drawer .svg-chart-wrap{height:74px}.dev-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.developer-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:14px;margin-top:14px}.signal-browser-card,.json-inspector-card{min-height:383px;padding:18px}.signal-search{display:flex;gap:8px;align-items:center;margin:16px 0 11px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:#0c1117;color:var(--muted)}.signal-search input{width:100%;border:0;outline:0;background:transparent;color:#dce6f1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.signal-list{display:grid;gap:5px}.signal-list button{display:flex;justify-content:space-between;gap:10px;border:1px solid transparent;border-radius:7px;padding:9px;background:transparent;color:#aebdcd;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-align:left}.signal-list button:hover,.signal-list button.active{border-color:#31455b;background:#152332;color:#e8f3fd}.signal-list small{color:var(--amber)}.json-inspector-card pre{overflow:auto;min-height:270px;margin:16px 0 0;border:1px solid #202a35;border-radius:8px;padding:14px;background:#0a0e13;color:#a9e4c5;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.6;white-space:pre-wrap}.terminal-card{overflow:hidden;margin-top:14px}.terminal-head{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:#151b23;color:#c7d2de;font-family:var(--font-tech);font-size:12px;font-weight:700}.terminal-head span{display:inline-flex;gap:6px;align-items:center}.terminal-head span:last-child{color:var(--muted);font-size:11px;font-weight:500}.terminal-card code{display:block;padding:15px;background:#080b0f;color:#c6d3df;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.65}.terminal-card code span{color:var(--amber)}.center{display:grid;min-height:100vh;place-items:center;padding:24px}.card{border:1px solid var(--border);border-radius:12px;padding:20px;background:#11171f}.settings-stack{max-width:720px}.settings-stack .card,.totp-card,.tesla-connection-card{margin-bottom:14px}.badge{display:inline-flex;align-items:center;border:1px solid rgba(49,209,125,.32);border-radius:99px;padding:5px 9px;background:#10231a;color:#91dfb1;font-size:11px}.badge.gray{border-color:var(--border);background:#141920;color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.subtle{background:#0f151c}.card h2{margin-bottom:9px}.card p{color:var(--muted);line-height:1.55}.card button,.card input{border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:#0c1117;color:var(--text)}.card button{cursor:pointer}.card label{display:grid;gap:6px;color:var(--muted);font-size:12px}.card form{display:grid;gap:10px}.callout{border:1px solid rgba(232,33,39,.36);border-radius:9px;padding:12px;background:#251518;color:#ffb8bd}.auth-gate{display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 8%,rgba(232,33,39,.2),transparent 23rem),radial-gradient(circle at 78% 94%,rgba(89,167,255,.1),transparent 28rem),#080b10}.totp-code-modal{width:min(100%,490px);border:1px solid rgba(160,183,208,.25);border-radius:18px;padding:34px;background:linear-gradient(145deg,#151c26,#0c1118);box-shadow:0 28px 80px #00000080,0 0 0 1px #ffffff05 inset;text-align:center}.totp-emblem{display:grid;width:45px;height:45px;place-items:center;margin:0 auto 19px;border:1px solid rgba(232,33,39,.7);border-radius:12px;background:linear-gradient(145deg,#ef3740,#a81119);box-shadow:0 10px 26px #e8212742;color:#fff;font-family:var(--font-display);font-size:20px;font-weight:700}.totp-code-modal h1{margin:0 0 11px;font-size:22px}.totp-intro{max-width:350px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.55}.totp-digits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:28px 0 12px}.totp-digits input{width:100%;min-width:0;aspect-ratio:1 / 1.12;border:1px solid #354253;border-radius:10px;outline:none;background:#090e14;color:#f4f8ff;caret-color:var(--red);font-family:var(--font-display);font-size:clamp(20px,5vw,28px);font-weight:600;text-align:center;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.totp-digits input:focus{border-color:var(--red);background:#171015;box-shadow:0 0 0 3px #e8212729}.totp-digits input.has-error{border-color:var(--red);animation:totp-shake .25s ease-in-out}.totp-digits input:disabled{cursor:wait;opacity:.72}.totp-state{margin:0;color:var(--dim);font-family:var(--font-tech);font-size:14px;font-weight:700;letter-spacing:.11em}.totp-error{margin:15px 0 0;color:#ffafb4;font-size:12px}.totp-security-note{margin:23px 0 0;color:var(--dim);font-size:10px;letter-spacing:.05em;text-transform:uppercase}@keyframes totp-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.charging-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app{display:block;padding-bottom:66px}.sidebar{display:none}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--border);padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:#0b1017}.bottom-nav button{display:grid;gap:3px;justify-items:center;border-radius:7px;padding:6px 3px;color:var(--muted);font-size:9px;text-align:center}.bottom-nav button.active{background:#251517;color:#fff}.bottom-nav .nav-icon{height:18px}.prototype-topbar{min-height:112px;padding:23px 20px 19px}.content{padding:20px}.console-notice{margin:16px 20px 0}.kpi-grid,.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-hero-grid,.charging-hero-card,.charge-lower-grid,.developer-grid,.trip-main-row{grid-template-columns:1fr}.trip-map-mini{min-height:170px}}@media(max-width:550px){.prototype-topbar{align-items:start}.topbar-actions{flex-direction:column;align-items:end}.source-pill{font-size:9px}.workspace-bar{align-items:stretch;flex-direction:column}.workspace-tabs{padding-bottom:2px}.workspace-actions{justify-content:flex-end}.kpi-grid,.charts-grid,.dev-metrics-grid{grid-template-columns:1fr}.battery-metrics-grid,.charging-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:31px}.trip-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-analytics-drawer{grid-template-columns:1fr}.timeline-item{grid-template-columns:30px minmax(0,1fr)}.timeline-item time{grid-column:2;text-align:left}.cell-map{grid-template-columns:repeat(16,minmax(5px,1fr))}.terminal-head{gap:10px}.terminal-head span:last-child{text-align:right}.topbar-actions .icon-button{display:none}}#root[data-display-mode=tesla-vertical] .app{display:block;padding-bottom:76px}#root[data-display-mode=tesla-vertical] .sidebar{display:none}#root[data-display-mode=tesla-vertical] .bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--border);padding:7px 13px calc(7px + env(safe-area-inset-bottom));background:#0a0f15}#root[data-display-mode=tesla-vertical] .bottom-nav button{display:grid;gap:4px;justify-items:center;border-radius:8px;padding:7px 5px;color:var(--muted);font-size:10px;text-align:center}#root[data-display-mode=tesla-vertical] .bottom-nav button.active{background:#281416;color:#fff}#root[data-display-mode=tesla-vertical] .prototype-topbar{padding:28px 34px 22px}#root[data-display-mode=tesla-vertical] .content{padding:24px 34px 44px}#root[data-display-mode=tesla-vertical] .kpi-grid,#root[data-display-mode=tesla-vertical] .charts-grid,#root[data-display-mode=tesla-vertical] .dev-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-page{min-width:0}.cost-page-header h1 span{color:var(--dim);font-family:var(--font-tech);font-size:.62em;font-weight:500}.cost-content{max-width:1550px}.cost-controls{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.cost-controls>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.cost-period-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cost-date-range{display:flex;gap:6px;align-items:center}.cost-date-range input,.cost-date-range button{border:1px solid var(--border);border-radius:7px;padding:7px 8px;background:#0c1219;color:#dce6ef;font:inherit;font-size:10px}.cost-date-range button{cursor:pointer}.cost-scenario-tabs,.manual-cost-mode,.cost-tabs{display:flex;gap:5px;flex-wrap:wrap}.cost-scenario-tabs button,.manual-cost-mode button,.cost-tabs button{border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:#111923;color:var(--muted);cursor:pointer;font-size:11px}.cost-scenario-tabs button.active,.manual-cost-mode button.active,.cost-tabs button.active{border-color:#31d17d6b;background:#11281e;color:#adf4c9}.cost-comparison-hero{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr) minmax(220px,1fr);gap:14px;align-items:stretch}.cost-vehicle-card,.cost-savings-core,.cost-break-even,.cost-chart-card,.cost-settings-card{border:1px solid var(--border);border-radius:13px;background:linear-gradient(145deg,#151c25,#0d1218)}.cost-vehicle-card{display:grid;align-content:start;min-height:190px;padding:21px}.cost-vehicle-card.tesla{border-color:#31d17d4d}.cost-vehicle-card.diesel{border-color:#f5b8474a}.cost-card-brand{display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-family:var(--font-tech);font-size:11px;font-weight:700;letter-spacing:.1em}.cost-vehicle-card.tesla .cost-card-brand{color:var(--green)}.cost-vehicle-card.diesel .cost-card-brand{color:var(--amber)}.cost-vehicle-card>strong{margin:21px 0 4px;color:#e7edf5;font-family:var(--font-tech);font-size:31px}.cost-vehicle-card>b{color:var(--text);font-family:var(--font-tech);font-size:19px}.cost-vehicle-card small,.cost-break-even small{color:var(--muted);font-family:inherit;font-size:.55em}.cost-vehicle-card p,.cost-savings-core p,.cost-break-even p{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.cost-savings-core{display:grid;place-items:center;align-content:center;min-height:190px;padding:24px;border-color:#7a67ff5c;text-align:center}.cost-savings-core>span{color:var(--muted);font-size:12px}.cost-savings-core>strong{margin:8px 0 5px;color:var(--purple);font-family:var(--font-tech);font-size:clamp(31px,4vw,45px)}.cost-savings-core>b{color:#d7cffd;font-size:12px}.cost-savings-core p{max-width:250px}.cost-savings-core em{color:#dfd8ff;font-style:normal}.cost-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:14px}.cost-kpi{min-height:125px}.cost-kpi p{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.35}.cost-analysis-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr);gap:14px;margin-top:14px}.cost-chart-card,.cost-break-even{padding:19px}.cost-break-even{position:relative;overflow:hidden;border-color:#59a7ff4d}.cost-break-even:after{position:absolute;right:-35px;bottom:-45px;width:160px;height:160px;border:1px solid rgba(89,167,255,.18);border-radius:50%;content:""}.cost-break-even>strong{position:relative;z-index:1;display:block;margin:19px 0 2px;color:var(--blue);font-family:var(--font-tech);font-size:31px}.cost-break-even>div{display:flex;justify-content:space-between;gap:10px;margin-top:19px;border-top:1px solid var(--border-soft);padding-top:12px;color:var(--muted);font-size:11px}.cost-break-even b{color:#dbe9fa}.cost-bars{display:grid;gap:17px;margin-top:28px}.cost-bars>div{display:grid;grid-template-columns:66px minmax(0,1fr) 86px;gap:10px;align-items:center;color:var(--muted);font-size:11px}.cost-bars i{display:block;height:11px;overflow:hidden;border-radius:99px;background:#202933}.cost-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20a866,#63e29f)}.cost-bars b.diesel-bar{background:linear-gradient(90deg,#bf7922,#ffcc6d)}.cost-bars strong{color:#dce7f0;font-family:var(--font-tech);font-size:12px;text-align:right}.cost-section{margin-top:30px}.cost-charge-list,.cost-trip-table{display:grid;gap:7px}.cost-charge-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto 94px 18px;gap:12px;align-items:center;width:100%;border:1px solid var(--border-soft);border-radius:9px;padding:12px;background:#10161e;color:inherit;cursor:pointer;text-align:left;transition:border-color .15s ease,transform .15s ease}.cost-charge-row:hover{border-color:#3b536a;transform:translateY(-1px)}.cost-charge-row strong,.cost-trip-table strong{color:#e7eef6;font-size:12px}.cost-charge-row p,.cost-trip-table p{overflow:hidden;margin:3px 0 0;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.cost-charge-row>b{color:#dff7e9;font-family:var(--font-tech);font-size:13px;text-align:right}.cost-source-dot{width:7px;height:7px;border-radius:50%;background:#697888}.cost-source-dot.manual_session_total,.cost-source-dot.manual_price_per_kwh{background:var(--purple)}.cost-source-dot.favourite_station_tariff{background:var(--blue)}.cost-source-dot.default_tariff{background:var(--amber)}.cost-source-label{color:var(--muted);font-size:10px;white-space:nowrap}.cost-trip-table>article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(250px,.7fr);gap:15px;align-items:center;border:1px solid var(--border-soft);border-radius:9px;padding:12px;background:#10161e}.trip-money{display:flex;gap:10px;justify-content:end;align-items:center;font-size:10px}.trip-money span{display:grid;gap:3px;color:var(--muted)}.trip-money b{color:#dfe9f2;font-family:var(--font-tech);font-size:12px}.trip-money>strong{color:var(--green);font-family:var(--font-tech)}.cost-settings-card{max-width:1100px;padding:21px}.cost-settings-heading h2{display:flex;gap:8px;align-items:center;margin:5px 0 7px;font-family:var(--font-display);font-size:18px}.cost-settings-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.cost-tabs{margin:20px 0}.cost-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cost-form-grid label{display:grid;gap:6px;color:var(--muted);font-size:11px}.cost-form-grid input,.cost-form-grid select,.tariff-row input{min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#0a1016;color:#e3ecf5;font:inherit}.cost-primary-button{display:inline-flex;gap:7px;align-items:center;justify-content:center;align-self:end;border:1px solid rgba(49,209,125,.46);border-radius:8px;padding:9px 12px;background:#123222;color:#bdf4d2;cursor:pointer;font-weight:650}.cost-primary-button:disabled{cursor:wait;opacity:.6}.tariff-list{display:grid;gap:8px}.tariff-row{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:10px;align-items:center;border:1px solid var(--border-soft);border-radius:9px;padding:11px;background:#10161e}.tariff-row strong{display:block;color:#e4ebf3;font-size:12px}.tariff-row span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.tariff-row label{display:flex;align-items:center;gap:6px}.tariff-row input{width:100%}.tariff-row em{color:var(--muted);font-size:10px;font-style:normal;white-space:nowrap}.tariff-row button,.station-row-actions button,.cost-modal footer button{border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:#17212c;color:#dbe8f3;cursor:pointer;font-size:11px}.station-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:13px}.station-toolbar p{max-width:620px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.station-list{display:grid;gap:8px}.station-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border-soft);border-radius:9px;padding:11px;background:#10161e}.station-marker{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#142d42;color:var(--blue)}.station-row strong{color:#e4edf7;font-size:12px}.station-row p{margin:3px 0 0;color:var(--muted);font-size:10px}.station-row-actions{display:flex;gap:6px}.station-row-actions .danger{color:#ffabb1}.cost-help,.cost-empty{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.cost-error{margin:13px 0 0;color:#ffabb1;font-size:11px}.cost-modal-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:auto;padding:22px;background:#03070bc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cost-modal,.cost-settings-modal{position:relative;width:min(100%,760px);max-height:calc(100vh - 44px);overflow:auto;border:1px solid #304153;border-radius:14px;padding:21px;background:linear-gradient(145deg,#151d27,#0c1118);box-shadow:0 25px 80px #000a}.cost-settings-modal{width:min(100%,1140px);padding:0;background:transparent;border:0;box-shadow:none}.cost-settings-modal .cost-settings-card{max-width:none}.cost-modal header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:18px}.cost-modal h2{margin:4px 0 0;color:#e6eef6;font-family:var(--font-display);font-size:19px}.cost-modal header p{margin:5px 0 0;color:var(--muted);font-size:11px}.cost-modal header>button,.cost-modal-close{border:0;padding:0;background:transparent;color:#c3d0de;cursor:pointer;font-size:28px;line-height:1}.cost-modal-close{position:absolute;z-index:1;top:13px;right:18px}.cost-modal footer{display:flex;justify-content:end;gap:8px;margin-top:19px}.cost-wide-label{grid-column:1 / -1}.cost-checkbox{display:flex!important;grid-column:1 / -1;align-items:center;gap:8px!important}.cost-checkbox input{width:16px;height:16px}.calculator-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:19px}.calculator-results span{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--border-soft);border-radius:8px;padding:10px;color:var(--muted);font-size:11px}.calculator-results b{color:#e3edf6;font-family:var(--font-tech)}.manual-cost-mode{margin-bottom:15px}@media(max-width:960px){.cost-comparison-hero,.cost-analysis-grid{grid-template-columns:1fr}.cost-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-trip-table>article{grid-template-columns:1fr auto}.trip-money{grid-column:1 / -1;justify-content:start}.cost-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cost-controls,.station-toolbar{align-items:stretch;flex-direction:column}.cost-controls>div:last-child{justify-content:start}.cost-comparison-hero{gap:9px}.cost-vehicle-card,.cost-savings-core{min-height:auto}.cost-kpi-grid,.cost-form-grid{grid-template-columns:1fr}.cost-charge-row{grid-template-columns:8px minmax(0,1fr) 18px}.cost-charge-row .cost-source-label,.cost-charge-row>b{grid-column:2;text-align:left}.tariff-row{grid-template-columns:1fr}.cost-trip-table>article{grid-template-columns:1fr}.calculator-results{grid-template-columns:1fr}.cost-modal-layer{padding:9px}.cost-modal{padding:17px}.station-form{grid-template-columns:1fr}}
