@font-face{font-family:LINE Seed Sans TH;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/LINESeedSansTH_W_Rg.woff2)format("woff2")}@font-face{font-family:LINE Seed Sans TH;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/LINESeedSansTH_W_Bd.woff2)format("woff2")}@font-face{font-family:LINE Seed Sans TH;font-style:normal;font-weight:800 900;font-display:swap;src:url(/fonts/LINESeedSansTH_W_XBd.woff2)format("woff2")}:root{--bg:#fff;--bg-2:#f7f8fa;--card:#fff;--card-2:#f4f6f8;--line:#eaecf0;--ink:#0e121b;--ink-2:#6b7280;--brand:#00d696;--brand-ink:#fff;--amber:#d98a00;--red:#e5484d;--blue:#2f7ddb;--radius:12px;--radius-ctl:8px;--font:"LINE Seed Sans TH", -apple-system, BlinkMacSystemFont, "Sukhumvit Set", "Noto Sans Thai", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:where(button,a,[role=button],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-ctl)}@media (prefers-reduced-motion:no-preference){.btn:active:not(:disabled),.chip:active,.botnav-item:active,.home-action:active,.charging-banner:active,.home-pending:active,.loc-charger:active,.list-item:active{opacity:.92;transform:scale(.985)}}html,body,#root{height:100%}html,body{max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}:root{--safe-top:max(10px, env(safe-area-inset-top))}.app{max-width:480px;min-height:100%;padding:var(--safe-top) 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.charging-banner{text-align:left;width:100%;color:var(--ink);cursor:pointer;font-family:var(--font);background:#00d6961a;border:1px solid #00d69666;border-radius:12px;align-items:center;gap:12px;margin:4px 0 12px;padding:12px 14px;display:flex}.charging-banner-ic{flex:none;align-items:center;gap:5px;font-size:18px;display:flex}.charging-banner-txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.charging-banner-txt b{font-size:14px;font-weight:700}.charging-banner-txt span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.charging-banner-arrow{color:var(--brand);flex:none;font-size:22px;font-weight:700}.skel{background-color:var(--card-2);background-image:linear-gradient(90deg,#0000 0%,#ffffffb3 50%,#0000 100%);background-repeat:no-repeat;background-size:220% 100%;flex:none;animation:1.25s ease-in-out infinite skel-shimmer;display:block}@keyframes skel-shimmer{0%{background-position:180% 0}to{background-position:-180% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:34px 20px;display:flex}.empty-state-ic{color:var(--ink-2);opacity:.65;margin-bottom:4px}.empty-state-title{color:var(--ink);margin:0;font-size:15px;font-weight:700}.empty-state-sub{color:var(--ink-2);max-width:264px;margin:0;font-size:13px;line-height:1.5}.topbar{align-items:center;gap:10px;padding:14px 0 10px;display:flex}.topbar .logo{letter-spacing:-.02em;font-size:17px;font-weight:800}.topbar .logo b{color:var(--brand)}.topbar .spacer{flex:1}.topbar a{color:var(--ink-2);border-radius:10px;padding:6px 10px;font-size:13px;text-decoration:none}.topbar a.active,.topbar a:hover{color:var(--ink);background:var(--bg-2)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card+.card,.stack>*+*{margin-top:12px}h1{letter-spacing:-.01em;margin:10px 0 4px;font-size:22px;font-weight:800}h2{margin:0 0 10px;font-size:15px;font-weight:700}.sub{color:var(--ink-2);margin:0;font-size:13.5px}.dim{color:var(--ink-2)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.small{font-size:12.5px}.center{text-align:center}.btn{border-radius:var(--radius-ctl);width:100%;min-height:48px;font-size:14px;font-weight:700;font-family:var(--font);background:var(--card-2);color:var(--ink);cursor:pointer;border:none;padding:13px 24px;display:block}.btn:disabled{background:var(--card-2);color:var(--ink-2);cursor:default}.btn.primary{background:var(--brand);color:var(--brand-ink)}.btn.primary:disabled{background:var(--card-2);color:var(--ink-2)}.btn.danger{background:var(--red);color:#fff}.btn.ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.btn.ghost:disabled{color:var(--ink-2);background:0 0}.btn.inline{border-radius:10px;width:auto;padding:9px 14px;font-size:13.5px;display:inline-block}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--card-2);color:var(--ink);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);border-radius:999px;padding:9px 16px}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.pill{border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.pill.ok{color:var(--brand);background:#00d79626}.pill.warn{color:var(--amber);background:#d98a001f}.pill.bad{color:var(--red);background:#e5484d1f}.pill.info{color:var(--blue);background:#2f7ddb1f}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.dot.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.dot.pulse,.gauge-ring{animation:none!important}}.input{background:var(--bg-2);border:1px solid var(--line);width:100%;color:var(--ink);font-size:17px;font-family:var(--font);border-radius:12px;padding:14px 16px}.input:focus{outline:2px solid var(--brand);outline-offset:-1px}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}.sheet-grip{background:var(--line);border-radius:999px;width:40px;height:4px;margin:-4px auto 12px}.input.code{text-align:center;letter-spacing:.5em;font-family:ui-monospace,Menlo,monospace;font-size:24px}.search-box{position:relative}.search-box .search-ic{color:var(--ink-2);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-box .input{padding-left:38px}.otp-wrap{position:relative}.otp-boxes{justify-content:space-between;gap:8px;display:flex}.otp-box{border:1px solid var(--ink-2);border-radius:var(--radius-ctl);font-variant-numeric:tabular-nums;width:50px;height:60px;color:var(--ink);background:var(--bg);justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.otp-box.active{border-color:var(--brand);border-width:1.5px}.otp-hidden{opacity:0;color:#0000;caret-color:#0000;background:0 0;border:none;width:100%;height:100%;font-size:24px;position:absolute;inset:0}.glow-circle{background:#00d7960d;border-radius:50%;justify-content:center;align-items:center;width:128px;height:128px;margin:0 auto;display:flex;position:relative}.glow-circle:before{content:"";filter:blur(10px);background:radial-gradient(circle,#80ebcb00 45%,#40e1b059 75%,#20dca326 100%);border-radius:50%;position:absolute;inset:-6px}.glow-circle:after{content:"";border:2px solid var(--brand);border-radius:50%;position:absolute;inset:-1px}.glow-circle img{z-index:1;width:48px;height:48px;position:relative}.gauge{text-align:center;padding:26px 0 18px}.balance-amt{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:42px;font-weight:800;line-height:1}.gauge .kw{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:46px;font-weight:800;line-height:1}.gauge .kw small{color:var(--ink-2);font-size:18px;font-weight:600}.gauge .state{margin-top:8px}.meter-row{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.meter{background:var(--bg-2);text-align:center;border-radius:12px;flex:1;padding:10px 8px}.meter .v{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.meter .l{color:var(--ink-2);margin-top:2px;font-size:11px}.bar{background:var(--bg-2);border-radius:4px;height:8px;margin-top:14px;overflow:hidden}.bar>i{background:var(--brand);border-radius:4px;height:100%;transition:width .6s;display:block}.row{justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:14.5px;display:flex}.row+.row{border-top:1px solid var(--line)}.row .k{color:var(--ink-2)}.row .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.sheet-veil{z-index:40;background:#0009;position:fixed;inset:0}.sheet{z-index:41;background:var(--card);border:1px solid var(--line);max-width:480px;padding:20px 20px calc(24px + env(safe-area-inset-bottom));border-bottom:none;border-radius:20px 20px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.sheet h2{font-size:18px}.scan-wrap{border-radius:var(--radius);aspect-ratio:1;background:#000;position:relative;overflow:hidden}.scan-wrap video{object-fit:cover;width:100%;height:100%}.scan-frame{pointer-events:none;border:2px solid #00d796d9;border-radius:18px;position:absolute;inset:12%}.err{color:var(--red);font-size:13.5px}.spin{border:2.5px solid var(--line);border-top-color:var(--brand);vertical-align:-4px;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite rot;display:inline-block}@keyframes rot{to{transform:rotate(360deg)}}.list-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:13px 2px;font-size:14px;display:flex}.list-item:last-child{border-bottom:none}a{color:var(--brand)}.wallet-hero{background:var(--brand);border-radius:var(--radius);color:#fff;padding:20px 18px}.wallet-hero .label{opacity:.9;margin:0;font-size:13px}.wallet-hero .amount{font-variant-numeric:tabular-nums;margin:2px 0 14px;font-size:30px;font-weight:800}.wallet-hero .btns{gap:10px;display:flex}.wallet-hero .btns .w{color:var(--ink);border-radius:var(--radius-ctl);min-height:44px;font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;background:#fff;border:none;flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.wallet-hero .btns .g{color:#fff;border-radius:var(--radius-ctl);min-height:44px;font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;background:#0000002e;border:none;flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.head-chip{border:1px solid var(--brand);border-radius:var(--radius-ctl);background:#00d7960a;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.charging-dark{border-radius:var(--radius);color:#fff;background:linear-gradient(#00d79633,#0000 256px),#0a0d0b;padding:20px 18px 24px}.charging-dark .pill-status{color:#fff;background:#ffffff1a;border-radius:999px;align-items:center;gap:8px;margin:8px auto 0;padding:6px 16px;font-size:14px;font-weight:600;display:inline-flex}.ring-wrap{width:256px;height:256px;margin:28px auto 20px;position:relative}.ring-wrap svg{transform:rotate(-90deg)}.ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .big{font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1}.ring-center .big small{color:#99a1af;font-size:22px;font-weight:600}.ring-center .sub2{color:var(--brand);margin-top:8px;font-size:14px}.metric-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.metric-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:14px 16px}.metric-card .t{color:#99a1af;align-items:center;gap:8px;font-size:12px;display:flex}.metric-card .v{font-variant-numeric:tabular-nums;margin-top:8px;font-size:24px;font-weight:800}.metric-card .v small{color:var(--brand);margin-left:3px;font-size:13px;font-weight:600}.btn.stop{color:#fff;background:#ff5a5f;margin-top:22px;box-shadow:0 6px 24px #ff5a5f4d}.complete-green{background:var(--brand);border-radius:var(--radius);color:#fff;text-align:center;padding:40px 18px 18px}.complete-green .check{width:96px;height:96px;color:var(--brand);background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 22px;font-size:44px;display:flex}.complete-green h2{color:#fff;margin:0;font-size:26px;font-weight:800}.complete-green .sub3{color:#ffffffd9;margin:6px 0 24px;font-size:14px}.summary-card{color:var(--ink);text-align:left;background:#fff;border-radius:16px;padding:18px}.total{color:var(--brand);font-size:22px;font-weight:800}.btn.tinted{color:var(--brand);background:#ffffffd9}.btn.on-green{color:var(--brand);background:#fff}.receipt-icon{background:var(--brand);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 14px;font-size:30px;display:flex;box-shadow:0 6px 20px #00d79659}.pay-opt{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;display:flex}.pay-opt.on{border-color:var(--brand);background:#00d7960f}.pay-opt input[type=radio]{accent-color:var(--brand);width:18px;height:18px}.pay-opt .pay-opt-main{flex:1;font-weight:600}.save-card-check{color:var(--ink-2);cursor:pointer;align-items:center;gap:9px;padding:2px 0;font-size:13.5px;display:flex}.save-card-check input[type=checkbox]{accent-color:var(--brand);width:17px;height:17px}.botnav{z-index:50;border-top:1px solid var(--line);max-width:480px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(5,1fr);align-items:end;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0e121b0d}.botnav-item,.botnav-fab{cursor:pointer;font:inherit;color:var(--ink-2);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:4px 0;font-size:11px;text-decoration:none;display:flex}.botnav-item.active{color:var(--brand);font-weight:700}.botnav-fab{margin-top:-22px}.botnav-fab svg{box-sizing:border-box;background:var(--brand);border-radius:50%;width:56px;height:56px;padding:16px;box-shadow:0 8px 20px #00d69666}.botnav-fab span{color:var(--brand);font-weight:600}.has-botnav{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.welcome-page{max-width:480px;min-height:100vh;margin:calc(-1 * var(--safe-top)) -16px calc(-24px - env(safe-area-inset-bottom));padding:calc(12px + var(--safe-top)) 24px calc(24px + env(safe-area-inset-bottom));background:url(/fig/welcome-bg.png) 50%/cover no-repeat;flex-direction:column;display:flex;position:relative}.welcome-page:before{content:"";pointer-events:none;background:linear-gradient(#ffffffeb 0%,#ffffffbf 55%,#fff0 100%);height:46%;position:absolute;inset:0 0 auto}.welcome-page>*{z-index:1;position:relative}.welcome-top{flex-direction:column;gap:16px;display:flex}.back-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;margin:-10px -10px -10px -12px;display:flex}.welcome-logo{object-fit:contain;align-self:flex-start;width:auto;height:48px}.welcome-headline{flex-direction:column;gap:8px;display:flex}.welcome-headline h1{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.welcome-headline .sub{font-size:14px;line-height:1.5}.welcome-field{flex-direction:column;gap:8px;display:flex}.welcome-field>label{color:var(--ink);font-size:14px;font-weight:700}.station-card{border:1px solid var(--brand);background:var(--bg);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;display:flex}.station-status{color:var(--brand);gap:8px;font-size:14px;font-weight:700;display:flex}.station-spec{color:var(--brand);align-items:center;gap:6px;font-size:12px;display:flex}.station-spec svg{flex:none;width:22px;height:22px}.phone-input{background:var(--bg);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;height:52px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 4px 10px #eaecf099}.phone-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #00d69626}.phone-input svg{width:18px;height:18px;color:var(--ink-2);flex:none}.phone-input input{min-width:0;font-family:var(--font);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:15px}.phone-input input::placeholder{color:var(--ink-2)}.welcome-hero{flex:1;min-height:120px}.welcome-bottom{background:linear-gradient(to top, var(--bg) 62%, transparent);flex-direction:column;gap:10px;padding-top:18px;display:flex}.welcome-bottom .terms{text-align:center;color:var(--ink-2);margin:0;font-size:12px;line-height:1.6}.welcome-bottom .terms .lnk{color:var(--brand)}.home-greet{align-items:center;gap:10px;padding:6px 0 2px;display:flex}.home-logo-img{flex:none;width:auto;height:34px;display:block}.home-hello{flex-direction:column;min-width:0;line-height:1.2;display:flex}.home-hello .hi{color:var(--ink);font-size:16px;font-weight:700}.home-hello .phone{color:var(--ink-2);font-size:13px;font-weight:500}.home-wallet-card{isolation:isolate;min-height:140px;color:var(--brand-ink);background:radial-gradient(140% 120% at 92% -12%, color-mix(in srgb, var(--brand) 34%, white) 0%, transparent 55%), linear-gradient(145deg, color-mix(in srgb, var(--brand) 80%, var(--ink)) 0%, var(--brand) 55%, color-mix(in srgb, var(--brand) 62%, white) 100%);border-radius:16px;flex-direction:column;justify-content:center;gap:10px;padding:18px 16px;display:flex;position:relative;overflow:hidden}.home-wallet-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-wallet-label{align-items:center;gap:8px;font-size:14px;font-weight:400;display:flex}.home-wallet-badge{background:var(--bg);color:var(--ink);border-radius:16px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.home-wallet-badge svg{color:var(--brand)}.home-balance{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.home-actions{gap:8px;display:flex}.home-action{background:var(--bg);border:1px solid var(--brand);min-height:48px;color:var(--ink);font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:flex}.home-action svg{color:var(--brand)}.home-cards-head{margin-top:2px}.home-cards-head .t{color:var(--ink);margin:0;font-size:14px;font-weight:700}.home-cards-head .s{color:var(--ink-2);margin:2px 0 0;font-size:14px;line-height:1.45}.home-card-item{border:1px solid var(--line);background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.home-card-item .brand{color:var(--ink);align-items:center;gap:8px;font-weight:700;display:flex}.home-card-item .brand svg{color:var(--brand)}.home-card-item .exp{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.home-add-card{border:1.5px dashed color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 6%, var(--bg));width:100%;min-height:120px;color:var(--ink);font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.home-add-card svg{color:var(--brand)}.home-pending{text-align:left;width:100%;color:var(--ink);cursor:pointer;font-family:var(--font);background:#d98a0014;border:1px solid #d98a0059;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.home-pending-ic{flex:none;font-size:20px}.home-pending-txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-pending-txt b{font-size:14px;font-weight:700}.home-pending-txt span{color:var(--ink-2);font-size:12.5px}.home-pending-arrow{color:var(--amber);flex:none;font-size:22px;font-weight:700}.scan-hero{padding:28px 0 8px}.scan-logo{filter:drop-shadow(0 6px 24px #22d07e40);width:min(280px,80%);height:auto;margin:0 auto 14px;display:block}.btn.scan-cta{justify-content:center;align-items:center;gap:8px;display:flex}.btn.scan-cta svg{flex:none}.scan-card{padding:10px}.scan-err,.scan-close{margin-top:10px}.plug-screen{text-align:center;flex-direction:column;min-height:72vh;padding:4px 4px 8px;display:flex}.plug-topbar{color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:700}.plug-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;display:flex}.plug-orb{border:3px solid var(--brand);background:#00d7960a;border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto;display:flex;position:relative;box-shadow:0 0 34px #00d6968c,inset 0 0 26px #00d69614}.plug-orb img{width:72px;height:72px;display:block}@media (prefers-reduced-motion:no-preference){.plug-orb{animation:2.6s ease-in-out infinite orb-breath}}@keyframes orb-breath{0%,to{box-shadow:0 0 34px #00d6968c,inset 0 0 26px #00d69614}50%{box-shadow:0 0 50px #00d696cc,inset 0 0 26px #00d69614}}.plug-text{flex-direction:column;align-items:center;gap:4px;display:flex}.plug-headline{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.plug-sub{color:var(--ink-2);max-width:300px;margin:0;font-size:14px}.plug-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.plug-note{color:var(--ink-2);text-align:center;margin:10px 0 0;font-size:12.5px}.cfg-head{align-items:center;gap:8px;margin:2px 0 6px;display:flex}.cfg-head .back{cursor:pointer;width:32px;height:32px;color:var(--ink);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:20px;display:flex}.cfg-head .title{text-align:center;color:var(--ink);flex:1;font-size:15px;font-weight:700}.cfg-head .spacer{flex-shrink:0;width:32px}.cfg-label{color:var(--ink);margin:4px 0 0;font-size:14px;font-weight:700}.cfg-modes{gap:8px;display:flex}.cfg-mode{border:1px solid var(--ink-2);min-width:0;color:var(--ink-2);font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;text-align:center;white-space:nowrap;background:#99a0ae0d;border-radius:999px;flex:1;padding:9px 6px}.cfg-mode.on{border-color:var(--brand);color:var(--brand);background:#00d6960d}.cfg-value{border:1px solid var(--brand);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;display:flex}.cfg-value .cap{color:var(--ink);font-size:14px}.cfg-value .num-row{justify-content:center;align-items:center;gap:16px;display:flex}.cfg-value .step{border:1px solid var(--brand);width:28px;height:28px;color:var(--brand);cursor:pointer;font-size:18px;line-height:1;font-family:var(--font);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.cfg-value .step:disabled{opacity:.4;cursor:default}.cfg-value .big{color:var(--brand);font-variant-numeric:tabular-nums;letter-spacing:-.01em;min-width:96px;font-size:36px;font-weight:800;line-height:1}.cfg-value .big small{margin-left:2px;font-size:18px;font-weight:700}.cfg-value .hint{color:var(--ink);margin:0;font-size:12px}.cfg-info{color:var(--brand);background:#00d7960f;border-radius:16px;align-items:center;gap:8px;padding:12px 16px;font-size:12.5px;display:flex}.cfg-info.warn{color:var(--amber);background:#d98a0014}.cfg-info .ic{flex-shrink:0;font-size:14px}.cfg-info a{font-weight:700;text-decoration:underline}.cfg-quick{flex-wrap:wrap;gap:8px;display:flex}.cfg-quick .q{border:1px solid var(--line);background:var(--card-2);min-width:64px;color:var(--ink);cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--font);text-align:center;border-radius:999px;flex:1;padding:8px 10px}.cfg-quick .q.on{background:var(--brand);border-color:var(--brand);color:#fff}.charge-live{border-radius:var(--radius);background:linear-gradient(255deg,#bbeddd 0%,#89cbb9 42%,#599da9 67%,#597d86 100%);padding:16px 0 0;position:relative;overflow:hidden}.charge-live-top{flex-direction:column;align-items:center;gap:6px;padding:0 16px 8px;display:flex}.charge-live-pill{color:var(--ink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff47;border-radius:999px;align-items:center;gap:8px;padding:7px 16px;font-size:14px;font-weight:700;display:inline-flex}.charge-live-eta{color:#fff;text-shadow:0 1px 2px #00000026;margin:0;font-size:12.5px}.charge-live-sheet{border-radius:24px 24px var(--radius) var(--radius);background:#fff;flex-direction:column;align-items:center;gap:28px;margin-top:12px;padding:28px 20px 22px;display:flex}.ring-live{width:240px;height:240px;margin:0 auto;position:relative}.ring-live svg{display:block;transform:rotate(-90deg)}.ring-live-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-live-pct{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:60px;font-weight:800;line-height:1}.ring-live-pct small{color:var(--ink);font-size:24px;font-weight:700}.ring-live-kwh{color:var(--ink-2);margin-top:6px;font-size:14px}.metric-live-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.metric-live{background:var(--brand);color:#fff;border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex;box-shadow:0 0 10px #00d79640}.metric-live .cap{color:#fffffff2;align-items:center;gap:4px;font-size:12px;display:flex}.metric-live .val{font-variant-numeric:tabular-nums;letter-spacing:-.01em;align-items:baseline;gap:4px;font-size:32px;font-weight:800;line-height:1;display:flex}.metric-live .val small{font-size:14px;font-weight:700}.charge-live-sheet .btn.stop-green{margin-top:4px}.charge-live-hint{color:var(--ink-2);text-align:center;margin:-14px 0 0;font-size:12px}.done-screen{text-align:center;padding:6px 2px 0}.done-badge{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:8px auto 16px;font-size:44px;display:flex;box-shadow:0 4px 14px #00d79640}.done-title{color:var(--ink);margin:0;font-size:18px;font-weight:800}.done-sub{color:var(--ink-2);margin:6px 0 0;font-size:14px}.done-card{border:1px solid var(--brand);text-align:left;background:#fff;border-radius:16px;margin-top:24px;padding:16px}.done-card .head{color:var(--ink);margin:0 0 12px;font-size:18px;font-weight:800}.done-row{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:14px;display:flex}.done-row .k{color:var(--ink)}.done-row .v{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.done-div{background:var(--line);height:1px;margin:8px 0}.done-row.total .k{font-size:14px}.done-row.total .v{color:var(--ink);font-size:20px;font-weight:800}.done-actions{flex-direction:column;gap:8px;margin-top:24px;display:flex}.btn.soft{color:var(--brand);background:#00d6961a}.status-card{text-align:center}.status-icon{justify-content:center;align-items:center;margin:4px 0 12px;display:inline-flex}.status-icon.danger{color:var(--red)}.status-icon.warn{color:var(--amber)}.status-icon.muted{color:var(--ink-2)}.status-actions{gap:10px;margin-top:14px;display:flex}.btn-ic{justify-content:center;align-items:center;gap:6px;display:inline-flex}.receipt-page{flex-direction:column;min-height:calc(100dvh - 130px);display:flex}.receipt-head{justify-content:space-between;align-items:center;padding:2px 0 8px;display:flex}.receipt-head .title{color:var(--ink);font-size:14px;font-weight:700}.receipt-iconbtn{cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;margin:-6px;padding:6px;display:flex}.receipt-iconbtn:disabled{color:var(--ink-2);cursor:default}.receipt-card{border:1px solid var(--brand);background:var(--bg);border-radius:16px;flex-direction:column;gap:16px;margin:auto 0;padding:20px 16px;display:flex}.receipt-badge{background:var(--brand);width:96px;height:96px;color:var(--brand-ink);box-shadow:0 4px 12.5px color-mix(in srgb, var(--brand) 30%, transparent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:flex}.receipt-total{text-align:center}.receipt-total .lbl{color:var(--ink);margin:0;font-size:14px}.receipt-total .amt{color:var(--ink);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:30px;font-weight:800}.receipt-divider{background:var(--line);border:0;height:1px;margin:0}.receipt-rows{flex-direction:column;gap:14px;display:flex}.receipt-row{justify-content:space-between;align-items:flex-start;gap:16px;font-size:14px;display:flex}.receipt-row .k{color:var(--ink);flex:none}.receipt-row .v{color:var(--ink);text-align:right;font-weight:700}.receipt-actions{margin-top:24px}.hist-summary{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);align-items:center;gap:12px;padding:12px 16px;font-size:13.5px;display:flex}.hist-summary b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.hist-summary .sep{background:var(--line);width:1px;height:16px}.hist-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.hist-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 16px;display:flex}.hist-item:last-child{border-bottom:none}.hist-ic{width:36px;height:36px;color:var(--brand);background:#00d6961f;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.hist-main{flex:1;min-width:0}.hist-title{align-items:center;gap:8px;font-size:14.5px;font-weight:700;line-height:1.3;display:flex}.hist-title .dim{font-weight:500}.hist-live{padding:2px 8px;font-size:11px}.hist-meta{text-align:right;flex-shrink:0}.hist-kwh{font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:800}.hist-kwh .unit{color:var(--ink-2);font-size:12px;font-weight:500}.hist-cost{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12.5px}.loc-card{padding:0;overflow:hidden}.loc-head{align-items:flex-start;gap:10px;padding:16px 16px 10px;display:flex}.loc-pin{width:34px;height:34px;color:var(--brand);background:#00d6961f;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.loc-title{flex:1;min-width:0}.loc-title h2{margin:0;font-size:16px;font-weight:700;line-height:1.3}.loc-title .sub{margin:2px 0 0}.loc-dist{color:var(--ink-2);flex-shrink:0;padding-top:2px;font-size:12.5px;font-weight:700}.loc-summary{align-items:center;gap:10px;padding:0 16px 12px;display:flex}.loc-chargers{border-top:1px solid var(--line);background:var(--card-2)}.loc-charger{color:inherit;border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;text-decoration:none;display:flex}.loc-charger:last-child{border-bottom:none}.loc-charger:active{background:var(--line)}.loc-charger .dot{flex-shrink:0}.loc-charger-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.loc-charger-main b{font-size:14.5px;font-weight:700}.loc-charger-main .dim{font-size:11.5px}.loc-charger .pill{flex-shrink:0}.loc-arrow{color:var(--ink-2);flex-shrink:0;font-size:20px;line-height:1}
