@font-face{font-family:Sora;font-weight:400;font-display:swap;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2) format("woff2")}@font-face{font-family:Sora;font-weight:600;font-display:swap;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2) format("woff2")}@font-face{font-family:Sora;font-weight:700;font-display:swap;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2")}:root{color-scheme:dark;--ev-brand-lime: #C6F432;--ev-brand-cyan: #19D3E6;--ev-brand-lime-deep: #8FC01A;--ev-brand-cyan-deep: #0E9FB0;--ev-gradient-volt: linear-gradient(135deg, #C6F432, #19D3E6);--ev-gradient-night: linear-gradient(180deg, #0E1526, #070B14);--ev-gradient-glow: linear-gradient(135deg, rgba(198,244,50,.35), rgba(25,211,230,0));--ev-font-display: "Sora", "Inter", system-ui, sans-serif;--ev-font-text: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ev-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ev-space-0: 0px;--ev-space-1: 4px;--ev-space-2: 8px;--ev-space-3: 12px;--ev-space-4: 16px;--ev-space-5: 20px;--ev-space-6: 24px;--ev-space-7: 32px;--ev-space-8: 40px;--ev-space-9: 56px;--ev-space-10: 72px;--ev-radius-xs: 6px;--ev-radius-sm: 10px;--ev-radius-md: 14px;--ev-radius-lg: 20px;--ev-radius-xl: 28px;--ev-radius-pill: 999px;--ev-shadow-sm: 0 1px 2px rgba(0,0,0,.35);--ev-shadow-md: 0 8px 24px rgba(0,0,0,.35);--ev-shadow-lg: 0 20px 56px rgba(0,0,0,.45);--ev-shadow-glow: 0 0 0 1px rgba(198,244,50,.35), 0 8px 40px rgba(198,244,50,.25);--ev-ease-standard: cubic-bezier(.2,.8,.2,1);--ev-ease-emphasized: cubic-bezier(.16,1,.3,1);--ev-ease-spring: cubic-bezier(.34,1.56,.64,1);--ev-dur-instant: 90ms;--ev-dur-fast: .16s;--ev-dur-base: .24s;--ev-dur-slow: .38s;--ev-dur-hero: .72s;--ev-tap: 48px;--ev-max-content: 1040px;--ev-admin-sidebar: 248px;--ev-tab-bar: 64px;--ev-z-base: 0;--ev-z-sticky: 10;--ev-z-overlay: 40;--ev-z-modal: 50;--ev-z-toast: 60;--ev-type-display-size: 40px;--ev-type-display-line: 44px;--ev-type-display-weight: 700;--ev-type-display-tracking: -.02em;--ev-type-h1-size: 28px;--ev-type-h1-line: 34px;--ev-type-h1-weight: 700;--ev-type-h1-tracking: -.015em;--ev-type-h2-size: 22px;--ev-type-h2-line: 28px;--ev-type-h2-weight: 600;--ev-type-h2-tracking: -.01em;--ev-type-h3-size: 17px;--ev-type-h3-line: 24px;--ev-type-h3-weight: 600;--ev-type-h3-tracking: 0em;--ev-type-body-size: 15px;--ev-type-body-line: 22px;--ev-type-body-weight: 400;--ev-type-body-tracking: 0em;--ev-type-bodyStrong-size: 15px;--ev-type-bodyStrong-line: 22px;--ev-type-bodyStrong-weight: 600;--ev-type-bodyStrong-tracking: 0em;--ev-type-small-size: 13px;--ev-type-small-line: 18px;--ev-type-small-weight: 400;--ev-type-small-tracking: 0em;--ev-type-caption-size: 11px;--ev-type-caption-line: 14px;--ev-type-caption-weight: 500;--ev-type-caption-tracking: .04em;--ev-type-numeric-size: 48px;--ev-type-numeric-line: 52px;--ev-type-numeric-weight: 700;--ev-type-numeric-tracking: -.03em;--ev-bg: #070B14;--ev-surface: #0E1526;--ev-surface2: #141D33;--ev-surface3: #1C2744;--ev-border: #26335A;--ev-text: #EAF0FB;--ev-text-muted: #9AA8C7;--ev-text-faint: #6B7A9E;--ev-primary: #C6F432;--ev-on-primary: #0A1200;--ev-accent: #19D3E6;--ev-on-accent: #00161A;--ev-status-available: #34D399;--ev-status-charging: #19D3E6;--ev-status-reserved: #FBBF24;--ev-status-faulted: #F87171;--ev-status-offline: #6B7A9E;--ev-status-info: #60A5FA}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--ev-bg: #F5F8FC;--ev-surface: #FFFFFF;--ev-surface2: #EEF3FA;--ev-surface3: #E1E9F5;--ev-border: #CBD6E8;--ev-text: #0B1220;--ev-text-muted: #445273;--ev-text-faint: #6A7898;--ev-primary: #5A7A00;--ev-on-primary: #FFFFFF;--ev-accent: #00788A;--ev-on-accent: #FFFFFF;--ev-status-available: #047857;--ev-status-charging: #00788A;--ev-status-reserved: #92580A;--ev-status-faulted: #B42318;--ev-status-offline: #5B6785;--ev-status-info: #1D4ED8}}:root[data-theme=light]{color-scheme:light;--ev-bg: #F5F8FC;--ev-surface: #FFFFFF;--ev-surface2: #EEF3FA;--ev-surface3: #E1E9F5;--ev-border: #CBD6E8;--ev-text: #0B1220;--ev-text-muted: #445273;--ev-text-faint: #6A7898;--ev-primary: #5A7A00;--ev-on-primary: #FFFFFF;--ev-accent: #00788A;--ev-on-accent: #FFFFFF;--ev-status-available: #047857;--ev-status-charging: #00788A;--ev-status-reserved: #92580A;--ev-status-faulted: #B42318;--ev-status-offline: #5B6785;--ev-status-info: #1D4ED8}:root[data-theme=dark]{color-scheme:dark;--ev-bg: #070B14;--ev-surface: #0E1526;--ev-surface2: #141D33;--ev-surface3: #1C2744;--ev-border: #26335A;--ev-text: #EAF0FB;--ev-text-muted: #9AA8C7;--ev-text-faint: #6B7A9E;--ev-primary: #C6F432;--ev-on-primary: #0A1200;--ev-accent: #19D3E6;--ev-on-accent: #00161A;--ev-status-available: #34D399;--ev-status-charging: #19D3E6;--ev-status-reserved: #FBBF24;--ev-status-faulted: #F87171;--ev-status-offline: #6B7A9E;--ev-status-info: #60A5FA}@media(prefers-reduced-motion:reduce){:root{--ev-dur-instant:0ms;--ev-dur-fast:0ms;--ev-dur-base:0ms;--ev-dur-slow:0ms;--ev-dur-hero:0ms}}html{background:var(--ev-bg);color:var(--ev-text);font-family:var(--ev-font-text);font-size:var(--ev-type-body-size);line-height:1.47;-webkit-font-smoothing:antialiased}.ev-display{font:700 var(--ev-type-display-size)/var(--ev-type-display-line) var(--ev-font-display);letter-spacing:var(--ev-type-display-tracking)}.ev-numeric{font:700 var(--ev-type-numeric-size)/var(--ev-type-numeric-line) var(--ev-font-display);letter-spacing:var(--ev-type-numeric-tracking);font-variant-numeric:tabular-nums}.ev-volt-text{background:var(--ev-gradient-volt);-webkit-background-clip:text;background-clip:text;color:transparent}.ev-card{background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:var(--ev-radius-lg)}.ev-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ev-tap);padding:0 var(--ev-space-5);border-radius:var(--ev-radius-pill);border:0;font:600 var(--ev-type-bodyStrong-size)/1 var(--ev-font-text);cursor:pointer;transition:transform var(--ev-dur-fast) var(--ev-ease-spring),box-shadow var(--ev-dur-base) var(--ev-ease-standard),filter var(--ev-dur-fast)}.ev-btn--primary{background:var(--ev-primary);color:var(--ev-on-primary)}.ev-btn--primary:hover{box-shadow:var(--ev-shadow-glow)}.ev-btn:active{transform:scale(.97)}.ev-btn:focus-visible{outline:3px solid var(--ev-accent);outline-offset:2px}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Armenian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-armenian-armenian-400-normal-Ch5r40Hp.woff2) format("woff2"),url(/assets/noto-sans-armenian-armenian-400-normal-C5VgNYqZ.woff) format("woff")}@font-face{font-family:Noto Sans Armenian;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-armenian-armenian-600-normal-nM_9o1Cx.woff2) format("woff2"),url(/assets/noto-sans-armenian-armenian-600-normal-DvD7u1IA.woff) format("woff")}@font-face{font-family:Noto Sans Armenian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-armenian-armenian-700-normal-D072dgZa.woff2) format("woff2"),url(/assets/noto-sans-armenian-armenian-700-normal-CJ7_iLhp.woff) format("woff")}:root{--font-display: "Sora", "Inter", "Inter Variable", "Noto Sans Armenian", system-ui, sans-serif;--font-ui: "Inter", "Inter Variable", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-xs: var(--ev-radius-xs);--r-sm: var(--ev-radius-sm);--r-md: var(--ev-radius-md);--r-lg: var(--ev-radius-lg);--r-xl: var(--ev-radius-xl);--r-pill: var(--ev-radius-pill);--ease-out: var(--ev-ease-standard);--ease-emph: var(--ev-ease-emphasized);--ease-spring: var(--ev-ease-spring);--dur-fast: var(--ev-dur-fast);--dur: var(--ev-dur-base);--dur-slow: var(--ev-dur-slow);--dur-hero: var(--ev-dur-hero);--col-w: 440px;--tab-h: var(--ev-tab-bar);--tap: var(--ev-tap);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--bg: var(--ev-bg);--bg-raise: var(--ev-surface);--surface-solid: var(--ev-surface);--surface: color-mix(in srgb, var(--ev-surface) 78%, transparent);--surface-2: var(--ev-surface2);--surface-3: var(--ev-surface3);--stroke: color-mix(in srgb, var(--ev-border) 70%, transparent);--stroke-strong: var(--ev-border);--text: var(--ev-text);--text-2: var(--ev-text-muted);--text-3: var(--ev-text-muted);--faint-deco: var(--ev-text-faint);--volt: var(--ev-primary);--volt-ink: var(--ev-on-primary);--volt-soft: color-mix(in srgb, var(--ev-primary) 16%, transparent);--volt-glow: color-mix(in srgb, var(--ev-primary) 42%, transparent);--accent-text: var(--ev-primary);--cyan: var(--ev-accent);--cyan-text: var(--ev-accent);--green: var(--ev-status-available);--amber: var(--ev-status-reserved);--amber-text: var(--ev-status-reserved);--red: var(--ev-status-faulted);--red-text: var(--ev-status-faulted);--offline: var(--ev-status-offline);--info: var(--ev-status-info);--scrim: color-mix(in srgb, var(--ev-bg) 68%, transparent);--map-bg: var(--ev-bg);--shadow-card: var(--ev-shadow-md);--shadow-pop: var(--ev-shadow-lg);--primary-bg: var(--ev-gradient-volt)}:root[data-theme=light]{--primary-bg: var(--ev-primary);--surface: color-mix(in srgb, var(--ev-surface) 82%, transparent);--shadow-card: 0 1px 2px color-mix(in srgb, var(--ev-text) 10%, transparent), 0 10px 28px -12px color-mix(in srgb, var(--ev-text) 22%, transparent);--shadow-pop: 0 24px 60px -16px color-mix(in srgb, var(--ev-text) 32%, transparent)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%}body{margin:0;min-height:100%;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;overflow:hidden}#root{height:100%}#boot{display:none}h1,h2,h3,h4,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--accent-text);text-decoration:none}img,svg{display:block}:focus-visible{outline:3px solid var(--ev-accent);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;z-index:1000;padding:10px 14px;border-radius:var(--r-sm);background:var(--primary-bg);color:var(--volt-ink);font-weight:700;transition:top var(--dur-fast)}.skip-link:focus{top:12px}.t-display{font-family:var(--font-display);font-weight:700;letter-spacing:var(--ev-type-display-tracking);line-height:1.04}.t-h1{font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:-.025em;line-height:1.12}.t-h2{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.015em;line-height:1.2}.t-body{font-size:15px}.t-small{font-size:13px;color:var(--text-2)}.t-tiny{font-size:12px;color:var(--text-3)}.t-dim{color:var(--text-2)}.t-faint{color:var(--text-3)}.t-accent{color:var(--accent-text)}.t-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","zero" 0}.num-display{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-weight:700;letter-spacing:var(--ev-type-numeric-tracking)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 22px;border-radius:var(--r-md);font-weight:600;font-size:16px;letter-spacing:-.005em;transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur) var(--ease-out),background var(--dur-fast),opacity var(--dur-fast);user-select:none;-webkit-user-select:none;touch-action:manipulation}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary-bg);color:var(--volt-ink);box-shadow:0 0 0 0 var(--volt-glow),0 10px 26px -10px var(--volt-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 0 0 5px var(--volt-soft),0 12px 30px -8px var(--volt-glow)}.btn-ghost{background:var(--surface-2);border:1px solid var(--stroke);color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:var(--stroke-strong)}.btn-quiet{min-height:44px;padding:0 14px;color:var(--text-2);font-weight:600}.btn-quiet:hover:not(:disabled){color:var(--text)}.btn-danger{background:color-mix(in srgb,var(--red) 16%,transparent);border:1px solid color-mix(in srgb,var(--red) 40%,transparent);color:var(--red-text)}.btn-sm{min-height:40px;padding:0 16px;font-size:14px;border-radius:var(--r-sm)}.btn-block{width:100%}.btn-icon{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:var(--surface);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text)}.btn-icon:hover:not(:disabled){border-color:var(--stroke-strong)}.card{background:var(--surface);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--stroke);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.card-solid{background:var(--surface-solid);border:1px solid var(--stroke);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.inset{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--r-md)}.field{display:block;width:100%;min-height:54px;padding:0 16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--stroke);color:var(--text);font-size:16px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.field::placeholder{color:var(--text-3)}.field:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 4px var(--volt-soft)}.field[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 16%,transparent)}.field-label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-2)}.field-error{margin-top:8px;font-size:13px;color:var(--red-text)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--stroke);font-size:14px;font-weight:600;color:var(--text-2);transition:all var(--dur-fast) var(--ease-out);white-space:nowrap}.chip:hover{border-color:var(--stroke-strong);color:var(--text)}.chip[aria-pressed=true],.chip[aria-checked=true],.chip.is-on{background:var(--primary-bg);border-color:transparent;color:var(--volt-ink)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--stroke)}.seg button{position:relative;min-height:40px;border-radius:calc(var(--r-md) - 4px);font-size:14px;font-weight:600;color:var(--text-2);z-index:0}.seg button[aria-checked=true]{color:var(--volt-ink)}.seg .seg-pill{position:absolute;inset:0;z-index:-1;border-radius:calc(var(--r-md) - 4px);background:var(--primary-bg);box-shadow:0 6px 18px -6px var(--volt-glow)}.toggle{position:relative;width:52px;height:32px;flex:none;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--stroke-strong);transition:background var(--dur) var(--ease-out),border-color var(--dur)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--text-2);transition:transform var(--dur) cubic-bezier(.34,1.56,.64,1),background var(--dur)}.toggle[aria-checked=true]{background:var(--volt);border-color:var(--volt)}.toggle[aria-checked=true]:after{transform:translate(20px);background:var(--volt-ink)}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-2)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ev-text) 9%,transparent),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{height:1px;background:var(--stroke);border:0;margin:0}.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:var(--surface-2);border:1px solid var(--stroke);color:var(--text-2)}.badge-ok{color:var(--accent-text);background:var(--volt-soft);border-color:transparent}.badge-warn{color:var(--amber-text);background:color-mix(in srgb,var(--amber) 16%,transparent);border-color:transparent}.badge-bad{color:var(--red-text);background:color-mix(in srgb,var(--red) 16%,transparent);border-color:transparent}.badge-info{color:var(--cyan-text);background:color-mix(in srgb,var(--cyan) 14%,transparent);border-color:transparent}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.skeleton:after{display:none}}.row{display:flex;align-items:center}.row.between,.between{justify-content:space-between}.center{justify-content:center;text-align:center}.stack{display:flex;flex-direction:column}.gap-2{gap:var(--ev-space-2)}.gap-3{gap:var(--ev-space-3)}.gap-4{gap:var(--ev-space-4)}.gap-5{gap:var(--ev-space-5)}.row.gap-2,.row.gap-3{align-items:center}.section-title{margin:var(--ev-space-6) 0 var(--ev-space-3)}.group-title{margin:0 0 var(--ev-space-2);color:var(--text-3);font-weight:600}.logo{display:inline-flex;align-items:center}.logo img{height:100%;width:auto}.logo-on-light{display:none}:root[data-theme=light] .logo-on-dark{display:none}:root[data-theme=light] .logo-on-light{display:block}.coin{flex:none}.money{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.05}.money-line{display:inline-flex;align-items:center;gap:.35em}.money-main{font-variant-numeric:tabular-nums}.money-unit{color:var(--text-2);font-weight:600;font-size:.55em;letter-spacing:.02em}.money-sub{color:var(--text-2);font-size:13px;margin-top:4px}.money-sm .money-main{font-size:15px}.money-md .money-main{font-size:20px}.money-lg .money-main{font-size:30px}.money-xl .money-main{font-size:46px}.money-sm .money-unit{font-size:11px}.money-md .money-unit{font-size:12px}.money-lg .money-unit{font-size:14px}.money-xl .money-unit{font-size:16px}.pill{--tone: var(--ev-status-offline);display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;white-space:nowrap;color:color-mix(in srgb,var(--tone) 78%,var(--ev-text));background:color-mix(in srgb,var(--tone) 14%,transparent);border:1px solid color-mix(in srgb,var(--tone) 34%,transparent)}.pill-available{--tone: var(--ev-status-available)}.pill-charging{--tone: var(--ev-status-charging)}.pill-reserved{--tone: var(--ev-status-reserved)}.pill-faulted{--tone: var(--ev-status-faulted)}.pill-offline{--tone: var(--ev-status-offline)}.pill-info{--tone: var(--ev-status-info)}.pill.is-pulse svg{animation:nudge 2.4s var(--ease-out) infinite}@keyframes nudge{0%,70%,to{transform:scale(1)}80%{transform:scale(1.22)}}.link-live{color:var(--ev-status-available)}.link-reconnecting,.link-polling{color:var(--ev-status-reserved)}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);font-size:14px;background:color-mix(in srgb,var(--tone, var(--ev-status-info)) 12%,transparent);border:1px solid color-mix(in srgb,var(--tone, var(--ev-status-info)) 32%,transparent)}.notice svg{color:var(--tone, var(--ev-status-info));margin-top:1px;flex:none}.notice-warn{--tone: var(--ev-status-reserved)}.notice-bad{--tone: var(--ev-status-faulted)}.notice-info{--tone: var(--ev-status-info)}.notice strong{display:block}.pricing{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke)}.pricing-rows{margin:0;display:grid;gap:12px}.pricing-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pricing-row dt{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:14px}.pricing-row dd{margin:0;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px}.pricing-row-wide dd{max-width:60%}.pricing-next{margin:0}.pricing-up{color:var(--ev-status-reserved)}.pricing-example{margin:0;color:var(--text-2)}.pricebar{margin:0;display:grid;gap:6px}.pricebar-track{position:relative;display:flex;height:14px;border-radius:var(--r-pill);overflow:hidden;background:var(--surface-3);gap:2px}.pricebar-seg{min-width:4px}.pricebar-seg.is-cheap{background:var(--ev-brand-cyan)}.pricebar-seg.is-base{background:var(--ev-brand-lime)}.pricebar-seg.is-pricey{background:var(--ev-status-reserved)}.pricebar-now{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1.5px;background:var(--text);border-radius:2px;box-shadow:0 0 0 2px var(--ev-bg)}.pricebar-scale{display:flex;justify-content:space-between;color:var(--text-3)}.pricebar figcaption{margin:0;color:var(--text-2)}.conn-list{display:grid;gap:10px}.conn{--tone: var(--ev-status-offline);position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:var(--r-lg);background:var(--surface);border:1.5px solid var(--stroke);color:var(--text);transition:border-color var(--dur) var(--ease-out),background var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.conn.tone-available{--tone: var(--ev-status-available)}.conn.tone-charging{--tone: var(--ev-status-charging)}.conn.tone-reserved{--tone: var(--ev-status-reserved)}.conn.tone-faulted{--tone: var(--ev-status-faulted)}.conn.tone-info{--tone: var(--ev-status-info)}.conn-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-md);color:var(--tone);background:color-mix(in srgb,var(--tone) 14%,transparent)}.conn-main{display:flex;flex-direction:column;min-width:0}.conn-type{font-weight:700;font-family:var(--font-display);letter-spacing:-.01em}.conn-meta{color:var(--text-3)}.conn.is-selected{border-color:var(--ev-primary);box-shadow:0 0 0 4px var(--volt-soft);background:color-mix(in srgb,var(--ev-primary) 7%,var(--surface))}.conn.is-disabled{opacity:.62;cursor:not-allowed}.conn-check{position:absolute;top:-8px;right:10px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--primary-bg);color:var(--volt-ink)}.fav{position:relative;flex:none}.fav.is-on{color:var(--ev-status-faulted)}.fav-burst{position:absolute;inset:0;pointer-events:none}.fav-burst i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--ev-status-faulted)}.btn-guest{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 16px 8px 10px;border-radius:var(--r-lg);text-align:left;background:color-mix(in srgb,var(--ev-accent) 10%,var(--surface));border:1.5px solid color-mix(in srgb,var(--ev-accent) 42%,transparent);color:var(--text);transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.btn-guest:hover:not(:disabled){border-color:var(--ev-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ev-accent) 16%,transparent)}.btn-guest:active:not(:disabled){transform:scale(.98)}.btn-guest:disabled{opacity:.5}.btn-guest-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ev-accent);color:var(--ev-on-accent);flex:none}.btn-guest-text{display:flex;flex-direction:column;flex:1}.btn-guest-text small{color:var(--text-2);font-size:12px}.tabbar{position:absolute;left:0;right:0;bottom:0;z-index:var(--ev-z-overlay);display:grid;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:end;height:calc(var(--tab-h) + var(--safe-b));padding:0 8px var(--safe-b);background:color-mix(in srgb,var(--ev-bg) 82%,transparent);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-top:1px solid var(--stroke)}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--tab-h);color:var(--text-3);font-size:11px;font-weight:600;z-index:0}.tab.is-active{color:var(--text)}.tab.is-active svg{color:var(--ev-primary)}.tab-pill{position:absolute;top:6px;width:52px;height:30px;border-radius:var(--r-pill);background:var(--volt-soft);z-index:-1}.tab-scan{align-self:start;justify-self:center;display:grid;place-items:center;width:60px;height:60px;margin-top:-22px;border-radius:50%;background:var(--primary-bg);color:var(--volt-ink);box-shadow:var(--ev-shadow-glow);border:4px solid var(--ev-bg);transition:transform var(--dur-fast) var(--ease-spring)}.tab-scan:active{transform:scale(.92)}.sheet-root{position:fixed;inset:0;z-index:var(--ev-z-modal);display:flex;align-items:flex-end;justify-content:center}.sheet-scrim{position:absolute;inset:0;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;max-height:92dvh;background:var(--ev-surface);border-radius:var(--r-xl) var(--r-xl) 0 0;border:1px solid var(--stroke);border-bottom:0;box-shadow:var(--shadow-pop);outline:none}.sheet-grip{display:grid;place-items:center;height:22px;cursor:grab;touch-action:none;flex:none}.sheet-grip span{width:40px;height:5px;border-radius:3px;background:var(--ev-border)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px 8px;flex:none}.sheet-body{padding:8px 20px calc(24px + var(--safe-b));overflow-y:auto;overscroll-behavior:contain}@media(min-width:720px){.sheet-root{align-items:center}.sheet{border-radius:var(--r-xl);border-bottom:1px solid var(--stroke);max-height:86dvh}.sheet-body{padding-bottom:24px}}.toasts{position:fixed;left:12px;right:12px;bottom:calc(var(--tab-h) + var(--safe-b) + 14px);z-index:var(--ev-z-toast);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:10px;max-width:460px;padding:12px 16px;border-radius:var(--r-pill);font-size:14px;font-weight:600;pointer-events:auto;background:var(--ev-surface3);color:var(--text);border:1px solid var(--ev-border);box-shadow:var(--shadow-pop)}.toast-ok svg{color:var(--ev-status-available)}.toast-error svg{color:var(--ev-status-faulted)}.toast-info svg{color:var(--ev-status-info)}.slide{--thumb: 56px;position:relative;height:64px;border-radius:var(--r-pill);overflow:hidden;background:var(--surface-2);border:1px solid var(--stroke-strong);touch-action:pan-y;user-select:none;-webkit-user-select:none}.slide-fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill);background:var(--primary-bg);opacity:.32}.slide-danger .slide-fill{background:var(--ev-status-faulted);opacity:.3}.slide-label{position:absolute;inset:0;display:grid;place-items:center;padding:0 76px;font-weight:700;color:var(--text-2);letter-spacing:.01em;pointer-events:none;white-space:nowrap}.slide-thumb{position:absolute;left:4px;top:4px;width:var(--thumb);height:var(--thumb);border-radius:50%;display:grid;place-items:center;cursor:grab;touch-action:none;background:var(--primary-bg);color:var(--volt-ink);box-shadow:0 6px 20px var(--volt-glow)}.slide-danger .slide-thumb{background:var(--ev-status-faulted);color:var(--ev-bg);box-shadow:0 6px 20px color-mix(in srgb,var(--ev-status-faulted) 45%,transparent)}.slide-thumb:active{cursor:grabbing}.slide.is-locked{opacity:.55}.slide.is-locked .slide-thumb{cursor:not-allowed}.slide.is-armed{box-shadow:0 0 0 4px var(--volt-soft)}.slide-danger.is-armed{box-shadow:0 0 0 4px color-mix(in srgb,var(--ev-status-faulted) 22%,transparent)}.otp{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.otp-cell{min-width:0;height:60px;text-align:center;font-family:var(--font-display);font-weight:700;font-size:26px;font-variant-numeric:tabular-nums;caret-color:var(--ev-primary);border-radius:var(--r-md);background:var(--surface-2);border:1.5px solid var(--stroke);color:var(--text);padding:0;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.otp-cell:focus{outline:none;border-color:var(--ev-primary);box-shadow:0 0 0 4px var(--volt-soft);transform:translateY(-2px)}.otp-cell[data-filled=true]{border-color:color-mix(in srgb,var(--ev-primary) 55%,var(--stroke))}.otp.is-invalid .otp-cell{border-color:var(--ev-status-faulted);animation:shake .36s var(--ease-out)}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:2.5px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-flex;animation:spin .9s linear infinite}.pulse-ring{position:relative;display:grid;place-items:center;width:108px;height:108px;border-radius:50%;color:var(--ev-primary);background:var(--volt-soft)}.pulse-ring:before,.pulse-ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ev-primary);opacity:0;animation:ripple 2.4s var(--ease-out) infinite}.pulse-ring:after{animation-delay:1.2s}@keyframes ripple{0%{transform:scale(.8);opacity:.7}to{transform:scale(1.7);opacity:0}}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 16px;text-align:center}.empty-hint{max-width:300px}.illu{max-width:100%;height:auto}.success-badge,.fail-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%}.success-badge{background:var(--primary-bg);color:var(--volt-ink)}.fail-badge{background:color-mix(in srgb,var(--ev-status-faulted) 16%,transparent);color:var(--ev-status-faulted);border:1.5px solid color-mix(in srgb,var(--ev-status-faulted) 40%,transparent)}.success-badge.big,.fail-badge.big{width:88px;height:88px}.center-screen{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100%;height:100%;padding:24px;text-align:center;overflow:hidden}.field-area{min-height:90px;padding:12px 16px;resize:vertical}.field-affix{position:relative}.field-affix .field{padding-right:130px}.affix{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:13px;pointer-events:none}.radio-list{display:grid;gap:8px}.radio{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1.5px solid var(--stroke);cursor:pointer;font-weight:600}.radio input{accent-color:var(--ev-primary);width:18px;height:18px;margin:0}.radio.is-on{border-color:var(--ev-primary);background:color-mix(in srgb,var(--ev-primary) 8%,var(--surface-2))}.amount-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.amount{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;justify-items:start;padding:12px 14px;text-align:left;border-radius:var(--r-lg);background:var(--surface-2);border:1.5px solid var(--stroke);color:var(--text);transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.amount .num-display{font-size:24px}.amount small{grid-column:1 / -1;color:var(--text-3)}.amount:active{transform:scale(.97)}.amount.is-on{border-color:var(--ev-primary);background:color-mix(in srgb,var(--ev-primary) 9%,var(--surface-2));box-shadow:0 0 0 4px var(--volt-soft)}.ring{position:relative;width:min(78vw,300px);aspect-ratio:1;margin:0 auto;display:grid;place-items:center}.ring-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ring-track{fill:none;stroke:var(--surface-3);stroke-width:14}.ring-arc,.ring-glow{fill:none;stroke-width:14;stroke-linecap:round}.ring-glow{stroke-width:22;opacity:.55}.ring-tip{fill:var(--text);filter:drop-shadow(0 0 8px var(--ev-brand-lime))}.ring.is-live .ring-arc{animation:breathe 3.2s ease-in-out infinite}@keyframes breathe{50%{opacity:.82}}.particles{position:absolute;inset:-10%;width:120%;height:120%;pointer-events:none}.ring-center{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.ring-label{color:var(--text-2)}.ring-value{font-size:clamp(46px,14vw,64px);line-height:1}.ring-unit{font-family:var(--font-display);font-weight:600;color:var(--text-2)}.ring-power{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 12px;border-radius:var(--r-pill);background:var(--volt-soft);color:var(--ev-primary);font-weight:700}.confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.aurora{position:absolute;inset:-20% -10% auto;height:420px;pointer-events:none;z-index:0;filter:blur(48px);opacity:.55;background:radial-gradient(60% 70% at 25% 30%,color-mix(in srgb,var(--ev-brand-lime) 55%,transparent),transparent 70%),radial-gradient(55% 65% at 75% 25%,color-mix(in srgb,var(--ev-brand-cyan) 55%,transparent),transparent 70%);animation:aurora 9s ease-in-out infinite alternate}@keyframes aurora{to{transform:translate(6%) scale(1.08);opacity:.75}}.spark{display:block;max-width:100%}.areachart{width:100%;height:auto}.areachart .grid-line{stroke:var(--ev-border);stroke-dasharray:3 5;opacity:.6}.areachart .axis-text{fill:var(--text-3);font-size:10px;font-variant-numeric:tabular-nums}.areachart .peak-dot{fill:var(--ev-brand-cyan);stroke:var(--ev-bg);stroke-width:2}.ptr{position:relative}.ptr-indicator{position:absolute;left:0;right:0;top:0;display:grid;place-items:center;height:40px;color:var(--ev-primary);pointer-events:none;z-index:1}.ptr-fallback{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ptr-fallback:focus{position:static;width:auto;height:auto;clip:auto}.rows{margin:0;display:grid;gap:0;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke);overflow:hidden}.rrow{display:flex;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--stroke)}.rrow:last-child{border-bottom:0}.rrow dt{color:var(--text-2);font-size:14px}.rrow dd{margin:0;text-align:right;font-weight:600;font-size:14px}.card{padding:16px}.badge.link{gap:6px}.skip-link{background:var(--primary-bg)}.nowrap{white-space:nowrap}.root-host{height:100%}.app{position:relative;height:100%;overflow:hidden;background:var(--bg)}.maplayer{position:absolute;inset:0;z-index:0;background:var(--map-bg)}.maplayer.is-hidden{visibility:hidden;pointer-events:none}.maplayer .map,.maplayer .map.maplibregl-map,.maplayer .map.mapboxgl-map{position:absolute;inset:0;width:100%;height:100%}.map-loading{background:var(--map-bg)}.map-fallback{display:grid;place-content:center;justify-items:center;gap:8px;color:var(--text-3)}.maplayer .maplibregl-ctrl-bottom-right,.maplayer .mapboxgl-ctrl-bottom-right{display:none}.fit-all{position:absolute;right:12px;bottom:176px;z-index:2;display:none}.is-desktop .fit-all{display:grid;bottom:24px;right:24px}.pin{display:block;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;--pin: var(--ev-status-offline)}.pin-available{--pin: var(--ev-status-available)}.pin-charging{--pin: var(--ev-status-charging)}.pin-faulted{--pin: var(--ev-status-faulted)}.pin-offline{--pin: var(--ev-status-offline)}.pin-core{position:absolute;inset:4px;display:grid;place-items:center;border-radius:50%;color:var(--pin);background:var(--ev-surface);border:2.5px solid var(--pin);box-shadow:0 6px 18px color-mix(in srgb,var(--pin) 35%,transparent),0 2px 6px #00000059;transition:transform var(--dur) var(--ease-spring)}.pin:hover .pin-core{transform:scale(1.12)}.pin:focus-visible{outline:none}.pin:focus-visible .pin-core{outline:3px solid var(--ev-accent);outline-offset:2px}.pin-pulse{position:absolute;inset:4px;border-radius:50%;background:var(--pin);opacity:0}.pin-available .pin-pulse,.pin-charging .pin-pulse{animation:pinPulse 2.6s var(--ease-out) infinite}.pin-charging .pin-pulse{animation-duration:1.6s}@keyframes pinPulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.9);opacity:0}}.pin.is-selected{z-index:3}.pin.is-selected .pin-core{transform:scale(1.3);background:var(--pin);color:var(--ev-bg);box-shadow:0 0 0 6px color-mix(in srgb,var(--pin) 28%,transparent),0 10px 30px color-mix(in srgb,var(--pin) 50%,transparent)}.cluster{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:none;cursor:pointer;--pin: var(--ev-status-offline)}.cluster-available{--pin: var(--ev-status-available)}.cluster-charging{--pin: var(--ev-status-charging)}.cluster-faulted{--pin: var(--ev-status-faulted)}.cluster-ring{position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--pin) 20%,var(--ev-surface));border:2.5px solid var(--pin);box-shadow:0 8px 22px color-mix(in srgb,var(--pin) 30%,transparent);transition:transform var(--dur) var(--ease-spring)}.cluster:hover .cluster-ring{transform:scale(1.1)}.cluster-num{position:relative;font-family:var(--font-display);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;color:var(--text)}.cluster:focus-visible{outline:3px solid var(--ev-accent);outline-offset:2px;border-radius:50%}.user-dot{width:22px;height:22px}.user-dot-core{position:absolute;inset:4px;border-radius:50%;background:var(--ev-status-info);border:3px solid var(--ev-text);box-shadow:0 2px 10px #0006}.user-dot-pulse{position:absolute;inset:0;border-radius:50%;background:var(--ev-status-info);opacity:.4;animation:pinPulse 2.4s var(--ease-out) infinite}.city{pointer-events:none;font-family:var(--font-display);font-weight:600;letter-spacing:.02em;color:var(--text-3);text-shadow:0 0 6px var(--ev-bg),0 0 2px var(--ev-bg);white-space:nowrap}.city>span{display:block;transform:translateY(34px)}.city-1{font-size:13px;color:var(--text-2)}.city-2{font-size:11px}.map-overlay-top{position:absolute;top:calc(var(--safe-t) + 10px);left:12px;right:12px;z-index:5}.is-mobile .pagehost{position:absolute;inset:0;z-index:2;background:var(--bg);overflow:hidden}.is-mobile .pagehost .route{height:100%;padding-top:var(--safe-t)}.is-mobile .pagehost:has(.tabbar){padding-bottom:0}.is-mobile .tabbar{position:absolute}.route{height:100%;min-height:0}.snap{position:absolute;left:0;right:0;z-index:6;display:flex;flex-direction:column;background:var(--ev-bg);border-radius:var(--r-xl) var(--r-xl) 0 0;border:1px solid var(--stroke);border-bottom:0;box-shadow:0 -18px 50px #00000059;touch-action:pan-x}:root[data-theme=light] .snap{box-shadow:0 -14px 40px color-mix(in srgb,var(--ev-text) 16%,transparent)}.snap-grip{display:grid;place-items:center;padding-top:8px;flex:none;cursor:grab}.snap-handle{width:56px;height:24px;display:grid;place-items:center}.snap-handle span{width:40px;height:5px;border-radius:3px;background:var(--ev-border)}.snap-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px 16px;touch-action:pan-y}.is-desktop{display:grid;grid-template-columns:var(--col-w) 1fr}.col{position:relative;z-index:4;display:flex;flex-direction:column;min-height:0;height:100%;background:var(--ev-bg);border-right:1px solid var(--stroke);box-shadow:12px 0 40px #00000040}.col-body{flex:1;min-height:0;overflow-y:auto;padding:0 16px}.col .route{height:auto;min-height:100%}.col .tabbar{position:relative;flex:none}.stage{position:relative;min-width:0;min-height:0}.desk-hide{display:none}.is-desktop .col .page-screen{min-height:calc(100dvh - var(--tab-h))}.mapctl{display:grid;gap:10px}.is-desktop .mapctl{padding:16px 16px 8px}.mapctl-row{display:flex;gap:8px;align-items:center}.search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:48px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--stroke-strong);box-shadow:var(--shadow-card);color:var(--text-2)}.search:focus-within{border-color:var(--ev-primary);box-shadow:0 0 0 4px var(--volt-soft)}.search input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;color:var(--text);font-size:16px}.search input::placeholder{color:var(--text-3)}.search-clear{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--text-2)}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;margin:0 -2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips .chip{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.maphome{display:flex;flex-direction:column;gap:12px;padding-top:4px}.maphome-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.strow-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.strow{display:flex;align-items:stretch;justify-content:space-between;gap:12px;width:100%;padding:14px;text-align:left;color:var(--text);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke);transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-fast),background var(--dur-fast)}.strow:hover{border-color:var(--stroke-strong);background:var(--surface-2)}.strow:active{transform:scale(.985)}.strow-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.strow-name{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.01em}.strow-addr{color:var(--text-2)}.strow-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-top:4px;color:var(--text-3)}.strow-price{display:inline-flex;align-items:center;gap:4px}.strow-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;flex:none}.panel{display:flex;flex-direction:column;gap:20px;padding:4px 0 24px}.station-head{display:flex;align-items:flex-start;gap:10px}.station-name{font-size:22px;line-height:1.15;overflow-wrap:anywhere}.station-addr{margin-top:2px}.station-badges{display:flex;flex-wrap:wrap;gap:8px}.station-sec{display:flex;flex-direction:column;gap:12px}.recent{list-style:none;margin:0;padding:0;display:grid;gap:6px}.recent li{display:flex;align-items:center;gap:8px;color:var(--text-2)}.station-actions{display:flex;flex-wrap:wrap;gap:8px}.station-cta{display:flex;flex-direction:column;gap:10px;position:sticky;bottom:0;padding:12px 0 4px;background:linear-gradient(to top,var(--ev-bg) 70%,transparent)}.page-screen{position:relative;display:flex;flex-direction:column;min-height:0;height:100%}.page-head{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;flex:none}.page-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:24px}.page-actions{display:flex;gap:8px}.page-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 32px}.page-body.is-flush{padding:0}.is-mobile .page-body{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 24px)}.page-foot{flex:none;padding:12px 16px calc(12px + var(--safe-b));background:linear-gradient(to top,var(--ev-bg) 78%,transparent)}.is-desktop .page-head,.is-desktop .page-body{padding-left:0;padding-right:0}.is-desktop .page-foot{padding-left:0;padding-right:0;position:sticky;bottom:0}.col .page-body{overflow:visible}.col .page-screen{height:auto}.login{position:relative;display:flex;flex-direction:column;gap:24px;height:100%;padding:calc(var(--safe-t) + 16px) 20px 24px;overflow-y:auto;background:radial-gradient(80% 40% at 50% 0%,color-mix(in srgb,var(--ev-brand-lime) 14%,transparent),transparent 70%),var(--ev-bg)}.login-back{align-self:flex-start}.login-hero{display:grid;place-items:center;padding:8px 0}.login-form{display:flex;flex-direction:column;gap:16px;max-width:420px;width:100%;margin:0 auto}.login-title{font-size:32px;line-height:1.1}.login-terms{text-align:center}.login-status{min-height:22px}.login-actions{display:flex;gap:8px;flex-wrap:wrap}.balance-card{display:flex;flex-direction:column;gap:12px;padding:16px}.hold-card{display:flex;flex-direction:column;gap:8px;padding:16px}.start-slide{position:sticky;bottom:0;padding:8px 0 4px;background:linear-gradient(to top,var(--ev-bg) 72%,transparent)}.charging{background:radial-gradient(90% 50% at 50% 0%,color-mix(in srgb,var(--ev-brand-cyan) 10%,transparent),transparent 70%)}.charging .page-body{display:flex;flex-direction:column;gap:18px}.charging-head{display:flex;align-items:flex-start;gap:12px;padding-top:calc(var(--safe-t) + 4px)}.charging-wait{display:flex;flex-direction:column;align-items:center;gap:24px;padding:36px 0;text-align:center}.charging-main{display:flex;flex-direction:column;gap:18px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.stat{padding:14px 16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke)}.stat dt{color:var(--text-2);font-size:13px;margin-bottom:6px}.stat dd{margin:0}.stat-time{font-size:30px;line-height:1.05}.gauge{display:grid;gap:6px}.gauge-bar,.funds-bar{height:10px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.gauge-fill{display:block;height:100%;border-radius:inherit;background:var(--ev-gradient-volt)}.funds{display:grid;gap:8px;padding:14px 16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke)}.funds-fill{display:block;height:100%;border-radius:inherit;background:var(--ev-gradient-volt);transition:background var(--dur-slow) var(--ease-out)}.funds-low{border-color:color-mix(in srgb,var(--ev-status-reserved) 50%,transparent)}.funds-low .funds-fill{background:var(--ev-status-reserved)}.funds-critical{border-color:color-mix(in srgb,var(--ev-status-faulted) 55%,transparent);animation:warnPulse 1.6s ease-in-out infinite}.funds-critical .funds-fill{background:var(--ev-status-faulted)}@keyframes warnPulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ev-status-faulted) 22%,transparent)}}.co2{justify-content:center}.charging-foot{position:sticky;bottom:0;padding:24px 0 4px;background:linear-gradient(to top,var(--ev-bg) 72%,transparent)}.receipt{position:relative;overflow:hidden}.receipt .page-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px}.receipt-hero{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding-top:calc(var(--safe-t) + 18px)}.receipt-badge{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--primary-bg);color:var(--volt-ink);box-shadow:0 0 0 10px var(--volt-soft),var(--ev-shadow-glow)}.receipt-badge.failed{background:var(--ev-status-faulted);color:var(--ev-bg);box-shadow:none}.receipt-badge.cancelled{background:var(--surface-3);color:var(--text);box-shadow:none}.receipt-total{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:8px}.detail-total{font-size:40px}.chart-card{display:flex;flex-direction:column;gap:10px}.signup-card{display:flex;flex-direction:column;gap:10px;border-color:color-mix(in srgb,var(--ev-accent) 40%,transparent);background:color-mix(in srgb,var(--ev-accent) 8%,var(--surface))}.stats-card{margin-bottom:20px}.stats4{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stats4 div{display:flex;flex-direction:column;gap:2px}.stats4 strong{font-size:22px}.hrow{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left;color:var(--text);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke);transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-fast)}.hrow:hover{border-color:var(--stroke-strong)}.hrow:active{transform:scale(.985)}.hrow-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex:none;background:var(--surface-3)}.hrow-icon.tone-ok{color:var(--ev-primary);background:var(--volt-soft)}.hrow-icon.tone-bad{color:var(--ev-status-faulted);background:color-mix(in srgb,var(--ev-status-faulted) 14%,transparent)}.hrow-icon.tone-warn{color:var(--ev-status-reserved);background:color-mix(in srgb,var(--ev-status-reserved) 14%,transparent)}.hrow-main{display:flex;flex-direction:column;min-width:0;flex:1}.hrow-name{font-weight:600}.wallet-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(160deg,var(--ev-surface2),var(--ev-surface));border-color:var(--stroke-strong)}.wallet-glow{position:absolute;width:260px;height:260px;right:-90px;top:-110px;border-radius:50%;background:var(--ev-gradient-glow);filter:blur(30px);pointer-events:none}.wallet-card>:not(.wallet-glow){position:relative}.wallet-held{display:flex;align-items:center;gap:6px;color:var(--text-2);margin:0}.wallet-spark{margin:4px 0;max-width:100%;overflow:hidden}.topup-chips{display:flex;gap:8px;flex-wrap:wrap}.txlist{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tx{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--stroke)}.tx-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;flex:none;background:var(--surface-3);color:var(--text-2)}.tx-icon.kind-topup,.tx-icon.kind-bonus,.tx-icon.kind-refund{background:var(--volt-soft);color:var(--ev-primary)}.tx-main{display:flex;flex-direction:column;flex:1;min-width:0;font-weight:600;font-size:14px}.tx-amt{font-weight:700}.tx-amt.is-plus{color:var(--ev-primary)}.profile-card{display:flex;align-items:center;gap:14px}.avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-family:var(--font-display);font-weight:700;font-size:20px;background:var(--primary-bg);color:var(--volt-ink);flex:none}.plist{display:grid;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--stroke);overflow:hidden}.prow{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left;color:var(--text);border-bottom:1px solid var(--stroke);min-height:56px}.prow:last-child{border-bottom:0}.prow.is-link:hover{background:var(--surface-2)}.prow-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);flex:none}.prow-main{display:flex;flex-direction:column;flex:1;min-width:0;font-weight:600}.prow-main .t-tiny{font-weight:400}.danger-zone{display:grid;gap:10px;padding:14px;border-radius:var(--r-lg);border:1px dashed color-mix(in srgb,var(--ev-status-faulted) 45%,transparent)}.prose{display:grid;gap:14px;max-width:60ch}.viewfinder{position:relative;aspect-ratio:1;width:100%;max-width:420px;margin:0 auto;border-radius:var(--r-xl);overflow:hidden;background:var(--ev-surface);border:1px solid var(--stroke-strong)}.vf-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vf-frame{position:absolute;inset:14%}.vf-frame .c{position:absolute;width:34px;height:34px;border:4px solid var(--ev-primary);border-radius:6px}.c.tl{top:0;left:0;border-right:0;border-bottom:0}.c.tr{top:0;right:0;border-left:0;border-bottom:0}.c.bl{bottom:0;left:0;border-right:0;border-top:0}.c.br{bottom:0;right:0;border-left:0;border-top:0}.vf-line{position:absolute;left:4%;right:4%;top:0;height:3px;border-radius:2px;background:var(--ev-gradient-volt);box-shadow:0 0 16px var(--ev-brand-lime)}.vf-msg{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;color:var(--text-2)}.vf-torch{position:absolute;right:12px;bottom:12px}.vf-torch.is-on{background:var(--primary-bg);color:var(--volt-ink)}.found{display:flex;flex-direction:column;gap:14px}.splash{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--ev-gradient-night)}:root[data-theme=light] .splash{background:var(--ev-bg)}.splash-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:var(--ev-gradient-glow);filter:blur(60px);opacity:.7}.splash>*{position:relative}.splash-tag{color:var(--text-2);letter-spacing:.04em}.onboarding{position:relative;display:flex;flex-direction:column;height:100%;padding:calc(var(--safe-t) + 14px) 20px calc(var(--safe-b) + 20px);background:radial-gradient(90% 45% at 50% 0%,color-mix(in srgb,var(--ev-brand-lime) 12%,transparent),transparent 70%),var(--ev-bg);max-width:520px;margin:0 auto}.ob-top{display:flex;align-items:center;justify-content:space-between}.ob-stage{flex:1;display:grid;align-items:center;min-height:0}.ob-slide{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;touch-action:pan-y}.ob-art{width:min(78vw,300px);height:auto}.ob-title{font-size:30px;line-height:1.1}.ob-body{max-width:34ch}.ob-foot{display:grid;gap:18px}.dots{display:flex;justify-content:center;gap:8px}.dot-nav{width:8px;height:8px;border-radius:4px;background:var(--ev-border);transition:width var(--dur) var(--ease-emph),background var(--dur)}.dot-nav.is-on{width:26px;background:var(--primary-bg)}.active-banner{position:fixed;top:calc(var(--safe-t) + 8px);left:12px;right:12px;z-index:30;display:flex;align-items:center;gap:10px;max-width:480px;margin:0 auto;padding:10px 14px;border-radius:var(--r-pill);text-align:left;color:var(--volt-ink);background:var(--primary-bg);box-shadow:var(--ev-shadow-glow);font-weight:600}.is-desktop~.active-banner{left:calc(var(--col-w) + 12px);right:auto}.active-dot{width:10px;height:10px;border-radius:50%;background:var(--volt-ink);animation:pinPulse 1.6s var(--ease-out) infinite}.active-open{display:inline-flex;align-items:center;gap:2px;font-size:13px}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:8px;padding:calc(var(--safe-t) + 6px) 12px 6px;overflow:hidden;font-size:13px;font-weight:600;background:var(--ev-status-reserved);color:var(--ev-bg)}.update-banner{position:fixed;left:12px;right:12px;bottom:calc(var(--tab-h) + var(--safe-b) + 14px);z-index:80;display:flex;align-items:center;gap:10px;max-width:520px;margin:0 auto;padding:14px;border-radius:var(--r-lg);background:var(--ev-surface3);border:1px solid var(--ev-border);box-shadow:var(--shadow-pop)}@media(max-width:380px){.otp{gap:6px}.otp-cell{height:54px;font-size:22px}.money-xl .money-main{font-size:40px}}
