.side[data-v-86e52ff1]{width:200px;padding:14px 10px;display:flex;flex-direction:column;gap:3px;overflow-y:auto;height:100%;flex-shrink:0;box-shadow:var(--neu-raised);margin:16px 0 16px 16px}.side[data-v-86e52ff1]::-webkit-scrollbar{width:4px}.side[data-v-86e52ff1]::-webkit-scrollbar-thumb{background:var(--neu-shadow-dark);border-radius:2px}.brand[data-v-86e52ff1]{display:flex;align-items:center;gap:8px;padding:4px}.logo[data-v-86e52ff1]{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--brand);display:grid;place-items:center;color:#fff;box-shadow:0 4px 14px #176c6b40}.brand-text b[data-v-86e52ff1]{font-size:13px;font-weight:800;color:var(--ink);letter-spacing:-.01em;display:block;line-height:1.2}.brand-text small[data-v-86e52ff1]{font-size:10px;font-weight:600;color:var(--ink-3);letter-spacing:.02em}.divider[data-v-86e52ff1]{height:1px;background:var(--border-strong);margin:4px 4px 6px}.all-stations[data-v-86e52ff1]{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:10px;cursor:pointer;transition:box-shadow .18s,transform .12s}.all-stations[data-v-86e52ff1]:hover{box-shadow:var(--neu-hover)}.all-stations[data-v-86e52ff1]:active{transform:translateY(1px)}.as-left[data-v-86e52ff1]{display:flex;align-items:center;gap:6px;color:var(--ink)}.as-left b[data-v-86e52ff1]{font-size:11px;font-weight:800}.as-chev[data-v-86e52ff1]{color:var(--ink-3);transition:transform .18s ease}.as-ic[data-v-86e52ff1]{color:var(--brand)}.as-nums[data-v-86e52ff1]{display:flex;align-items:center;gap:4px}.as-num[data-v-86e52ff1]{font-size:10px;font-weight:600;color:var(--ink-2)}.as-num.total[data-v-86e52ff1]{font-size:13px;font-weight:800;color:var(--brand);letter-spacing:-.02em}.as-num.off[data-v-86e52ff1]{color:var(--off);font-weight:700}.as-sep[data-v-86e52ff1]{color:var(--ink-3);font-size:10px;opacity:.5}.station-row[data-v-86e52ff1]{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:background .15s,box-shadow .15s}.station-row[data-v-86e52ff1]:hover{background:rgba(23,108,107,.05)}.sr-chev[data-v-86e52ff1]{color:var(--ink-3);flex-shrink:0}.sr-dot[data-v-86e52ff1]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sr-dot.up[data-v-86e52ff1]{background:var(--ok);box-shadow:0 0 6px #2c7a6280,inset 1px 1px 2px #0000001a}.sr-dot.off[data-v-86e52ff1]{background:var(--off)}.sr-info[data-v-86e52ff1]{flex:1;min-width:0}.sr-name[data-v-86e52ff1]{font-size:11px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-code[data-v-86e52ff1]{font-size:9px;font-weight:500;color:var(--ink-3);margin-top:1px}.sr-off[data-v-86e52ff1]{font-size:9px;font-weight:700;color:var(--off);padding:1px 6px;border-radius:5px;flex-shrink:0}.empty-sm[data-v-86e52ff1]{padding:14px;text-align:center;color:var(--ink-3);font-size:11px;font-weight:600}.side-spacer[data-v-86e52ff1]{flex:1}.user-box[data-v-86e52ff1]{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;margin-top:8px;transition:box-shadow .18s,transform .12s}.user-box[data-v-86e52ff1]:hover{box-shadow:var(--neu-hover);transform:translateY(-1px)}.avatar[data-v-86e52ff1]{width:32px;height:32px;border-radius:10px;background:var(--brand);color:#fff;flex-shrink:0;display:grid;place-items:center;box-shadow:0 4px 12px #176c6b40}.user-info[data-v-86e52ff1]{flex:1;min-width:0}.user-info b[data-v-86e52ff1]{font-size:12px;font-weight:800;color:var(--ink);display:block}.user-info small[data-v-86e52ff1]{font-size:10px;color:var(--ink-3)}.logout-btn[data-v-86e52ff1]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:4px;padding:8px 10px;border:none;border-radius:10px;cursor:pointer;font-size:11px;font-weight:700;color:var(--ink-3);background:transparent;box-shadow:none;transition:color .18s,background .18s}.logout-btn[data-v-86e52ff1]:hover{color:var(--danger);background:rgba(192,69,60,.08)}.title-bar[data-v-731dcbc5]{position:relative;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.left[data-v-731dcbc5]{display:flex;align-items:center;gap:10px;width:240px}.mqtt-wrap[data-v-731dcbc5]{display:inline-flex;align-items:center;gap:7px;height:30px;box-sizing:border-box;padding:0 12px;border-radius:10px;font-size:11px}.mqtt-dot[data-v-731dcbc5]{width:8px;height:8px;border-radius:50%;background:var(--danger);transition:all .3s;box-shadow:inset 0 1px 2px #0003}.mqtt-wrap.on .mqtt-dot[data-v-731dcbc5],.mqtt-dot.on[data-v-731dcbc5]{background:var(--ok);box-shadow:0 0 0 4px #2c7a6229,0 0 12px #2c7a624d;animation:dotBreath-731dcbc5 2.5s ease-in-out infinite}.mqtt-text[data-v-731dcbc5]{font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:.01em;white-space:nowrap}.mqtt-wrap.on .mqtt-text[data-v-731dcbc5]{color:var(--ok)}@keyframes dotBreath-731dcbc5{0%,to{box-shadow:0 0 0 4px #2c7a6229}50%{box-shadow:0 0 0 8px #2c7a620f}}.time-wrap[data-v-731dcbc5]{display:inline-flex;align-items:center;gap:8px;height:30px;box-sizing:border-box;padding:0 12px;border-radius:10px;font-size:11px}.time-wrap .icon[data-v-731dcbc5]{color:var(--ink-3)}.time-wrap .time[data-v-731dcbc5]{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.02em}.center[data-v-731dcbc5]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;pointer-events:none}.deco-bar[data-v-731dcbc5]{width:3px;height:14px;border-radius:2px;background:var(--brand);box-shadow:0 0 8px #176c6b80}.deco-gem[data-v-731dcbc5]{font-size:10px;color:var(--brand);text-shadow:0 0 8px rgba(23,108,107,.5),0 0 16px rgba(23,108,107,.25)}.title[data-v-731dcbc5]{font-size:22px;font-weight:900;letter-spacing:-.025em;background:linear-gradient(100deg,var(--ink) 0%,var(--brand) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.right[data-v-731dcbc5]{display:flex;gap:8px;width:320px;justify-content:flex-end}.top-btn[data-v-731dcbc5]{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;cursor:pointer;font-size:12px;font-weight:700;color:var(--ink-2);background:#fff;border:1px solid var(--border);transition:.18s;box-shadow:none;position:relative}.top-btn[data-v-731dcbc5]:hover{color:var(--brand);border-color:#176c6b4d}.top-btn.danger[data-v-731dcbc5]:hover{color:var(--danger);border-color:#c0453c4d}.top-btn .badge[data-v-731dcbc5]{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.kpi-pie-card[data-v-014fea2c]{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:8px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:.2s;box-shadow:var(--neu-raised)}.kpi-pie-card[data-v-014fea2c]:hover{border-color:#176c6b4d;box-shadow:var(--neu-raised-hover)}.pie-head[data-v-014fea2c]{display:flex;align-items:center;justify-content:space-between;width:100%}.pie-title[data-v-014fea2c]{font-size:10px;color:var(--ink-3);letter-spacing:.02em}.pie-total[data-v-014fea2c]{font-size:16px;font-weight:750;letter-spacing:-.02em;color:var(--ink)}.pie-total .u[data-v-014fea2c]{font-size:10px;color:var(--ink-3);font-weight:500;margin-left:2px}.pie-body[data-v-014fea2c]{position:relative;width:96px;height:96px;margin:2px 0}.pie-ring[data-v-014fea2c]{width:96px;height:96px}.ring-center[data-v-014fea2c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.ring-big[data-v-014fea2c]{font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.ring-lbl[data-v-014fea2c]{font-size:9px;color:var(--ink-3);letter-spacing:.03em}.pie-legend[data-v-014fea2c]{display:grid;grid-template-columns:repeat(2,1fr);gap:1px 6px;width:100%;margin-top:auto}.pl-item[data-v-014fea2c]{display:flex;align-items:center;gap:4px;font-size:9.5px;color:var(--ink-2);line-height:1.3}.pl-dot[data-v-014fea2c]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.pl-num[data-v-014fea2c]{margin-left:auto;font-weight:700;font-size:10px}.kpi-row[data-v-cffef5a7]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:4px 0}.kpi-card[data-v-cffef5a7]{padding:14px 16px;border-radius:16px;display:flex;flex-direction:column;gap:6px;min-height:100px;transition:box-shadow .2s;cursor:default}.kpi-card[data-v-cffef5a7]:hover{box-shadow:var(--neu-hover)}.k-top[data-v-cffef5a7]{display:flex;align-items:center;gap:8px}.k-ic[data-v-cffef5a7]{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.k-label[data-v-cffef5a7]{font-size:12px;font-weight:750;color:var(--ink)}.k-middle[data-v-cffef5a7]{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:-.03em;display:flex;align-items:baseline;justify-content:center;gap:3px}.k-middle .k-unit[data-v-cffef5a7]{font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:0}.k-sub[data-v-cffef5a7]{font-size:10.5px;color:var(--ink-3);font-weight:500;text-align:center}.pie-placeholder[data-v-cffef5a7]{justify-content:center}.charger-card[data-v-60f32b4f]{padding:14px 16px;border-radius:18px;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease;position:relative;overflow:visible;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--border);box-shadow:8px 8px 18px var(--neu-shadow-dark),-8px -8px 18px var(--neu-shadow-light),0 2px 8px var(--neu-shadow-dark)}.charger-card[data-v-60f32b4f]:hover{box-shadow:10px 10px 22px var(--neu-shadow-dark),-10px -10px 22px var(--neu-shadow-light),0 4px 12px var(--neu-shadow-dark);transform:translateY(-2px)}.charger-card[data-v-60f32b4f]:active{box-shadow:var(--neu-inset);transform:translateY(0)}.cc-top[data-v-60f32b4f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cc-title[data-v-60f32b4f]{display:flex;align-items:center;gap:6px;min-width:0}.cc-ic[data-v-60f32b4f]{color:var(--brand);flex-shrink:0}.cc-name[data-v-60f32b4f]{font-size:13px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-status[data-v-60f32b4f]{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;flex-shrink:0}.cc-status.online[data-v-60f32b4f]{background:rgba(44,122,98,.12);color:var(--ok)}.cc-status.offline[data-v-60f32b4f]{background:var(--off);color:#fff}.cc-kpi[data-v-60f32b4f]{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding:8px 10px;background:var(--surface-2);border-radius:10px}.cc-kpi-row[data-v-60f32b4f]{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-3)}.cc-kpi-row b[data-v-60f32b4f]{font-size:11px;font-weight:800;margin:0 2px;color:var(--ink)}.cc-kpi-row b.ok[data-v-60f32b4f]{color:var(--ok)}.cc-kpi-row b.warn[data-v-60f32b4f]{color:var(--warn)}.cc-kpi-row b.danger[data-v-60f32b4f]{color:var(--danger)}.cc-guns[data-v-60f32b4f]{display:flex;flex-direction:column;gap:8px}.cc-gun-row[data-v-60f32b4f]{display:flex;align-items:center;justify-content:space-between;padding:2px 0}.gun-pair[data-v-60f32b4f]{display:flex;align-items:center;gap:16px}.cc-gun[data-v-60f32b4f]{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}.cc-gun:hover .status-dot[data-v-60f32b4f]{transform:scale(1.1)}.dot-wrap[data-v-60f32b4f]{position:relative}.gun-rem[data-v-60f32b4f]{position:absolute;top:-8px;right:-14px;font-size:8px;font-weight:800;line-height:1;padding:2px 4px;border-radius:6px;color:#fff;white-space:nowrap;pointer-events:none;box-shadow:0 1px 4px #00000047}.gun-rem.soon[data-v-60f32b4f]{background:var(--warn)}.gun-rem.later[data-v-60f32b4f]{background:var(--info)}.status-dot[data-v-60f32b4f]{width:24px;height:24px;border-radius:50%;position:relative;box-shadow:var(--neu-inset-sm);transition:all .3s}.status-dot.idle[data-v-60f32b4f]{background:var(--ok);box-shadow:0 4px 10px #2c7a6259,inset 0 1px 2px #fff6}.status-dot.charging[data-v-60f32b4f]{background:var(--info);box-shadow:0 4px 10px #3e8dd966,inset 0 1px 2px #fff6}.status-dot.occupied[data-v-60f32b4f]{background:var(--warn);box-shadow:0 4px 10px #b77a1666,inset 0 1px 2px #fff6}.status-dot.unknown[data-v-60f32b4f]{background:var(--off);box-shadow:0 4px 10px #97a2b359}.status-dot.reserved[data-v-60f32b4f]{background:#8B5CF6;box-shadow:0 0 0 4px #8b5cf633,0 4px 10px #8b5cf666}.pulse-ring[data-v-60f32b4f]{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--info);opacity:.6;animation:pulseRing-60f32b4f 2s ease-out infinite}@keyframes pulseRing-60f32b4f{0%{transform:scale(.6);opacity:.7}80%,to{transform:scale(1.3);opacity:0}}.gun-no[data-v-60f32b4f]{font-size:10px;font-weight:700;color:var(--ink-3);line-height:1}.grid-wrap[data-v-96f775c8]{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;padding:12px 14px;overflow:hidden}.grid-head[data-v-96f775c8]{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sec-title[data-v-96f775c8]{display:flex;align-items:center;gap:8px}.title-bar[data-v-96f775c8]{width:3px;height:14px;border-radius:2px;background:var(--brand)}.title-text[data-v-96f775c8]{font-size:13px;font-weight:750;color:var(--ink);letter-spacing:-.01em}.title-count[data-v-96f775c8]{font-size:10px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:2px 10px;border-radius:12px}.legend[data-v-96f775c8]{display:flex;gap:14px}.lg-item[data-v-96f775c8]{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--ink-3)}.lg-dot[data-v-96f775c8]{width:9px;height:9px;border-radius:50%}.lg-dot.idle[data-v-96f775c8]{background:var(--ok);box-shadow:0 0 0 2px #2c7a6229}.lg-dot.charging[data-v-96f775c8]{background:var(--info);box-shadow:0 0 0 2px #3e8dd929}.lg-dot.occupied[data-v-96f775c8]{background:var(--warn);box-shadow:0 0 0 2px #b77a162e}.lg-dot.offline[data-v-96f775c8]{background:var(--off)}.grid[data-v-96f775c8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 12px 14px 0;overflow:hidden}.empty[data-v-96f775c8]{padding:40px;text-align:center;border-radius:16px;color:var(--ink-3);font-size:13px;font-weight:600}.panel[data-v-6b84e646]{padding:14px;display:flex;flex-direction:column;min-height:0;flex:1;box-shadow:var(--neu-raised);border-radius:18px;border:1px solid var(--border)}.panel-head[data-v-6b84e646]{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 12px;flex-shrink:0}.panel-title[data-v-6b84e646]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--ink)}.panel-title svg[data-v-6b84e646]{color:var(--brand)}.panel-count[data-v-6b84e646]{font-size:11px;font-weight:800;color:var(--brand);background:var(--brand-soft);padding:2px 10px;border-radius:8px}.panel-tools[data-v-6b84e646]{display:flex;gap:6px}.panel-tools .neu-flat.small[data-v-6b84e646]{padding:4px;min-height:26px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2);border:none;cursor:pointer;box-shadow:var(--neu-flat)}.panel-tools .neu-flat.small[data-v-6b84e646]:hover{box-shadow:var(--neu-raised);color:var(--brand)}.broadcast-list[data-v-6b84e646]{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px;min-height:120px;flex:1}.broadcast-list[data-v-6b84e646]::-webkit-scrollbar{width:4px}.broadcast-list[data-v-6b84e646]::-webkit-scrollbar-thumb{background:var(--neu-shadow-dark);border-radius:2px}.broadcast-item[data-v-6b84e646]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface);box-shadow:var(--neu-inset-sm);transition:box-shadow .2s}.broadcast-item.done[data-v-6b84e646]{border-left:3px solid var(--ok)}.broadcast-item.occupied[data-v-6b84e646]{border-left:3px solid var(--warn)}.broadcast-item.soon[data-v-6b84e646]{border-left:3px solid var(--info)}.broadcast-item.soon20[data-v-6b84e646]{border-left:3px solid #8B5CF6}.b-tag[data-v-6b84e646]{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;padding:2px 6px;border-radius:6px;flex-shrink:0;color:#fff;background:var(--ok)}.broadcast-item.done .b-tag[data-v-6b84e646]{background:var(--ok)}.broadcast-item.occupied .b-tag[data-v-6b84e646]{background:var(--warn)}.broadcast-item.soon .b-tag[data-v-6b84e646]{background:var(--info)}.broadcast-item.soon20 .b-tag[data-v-6b84e646]{background:#8B5CF6}.b-icon[data-v-6b84e646]{display:grid;place-items:center;width:14px;height:14px}.b-content[data-v-6b84e646]{flex:1;min-width:0}.b-msg[data-v-6b84e646]{font-size:12px;font-weight:700;color:var(--ink);display:block;line-height:1.4}.b-sub[data-v-6b84e646]{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--ink-3);font-weight:600}.b-charger[data-v-6b84e646]{color:var(--ink-2);font-weight:700}.broadcast-enter-active[data-v-6b84e646]{animation:bEnter-6b84e646 .45s ease-out}.broadcast-leave-active[data-v-6b84e646]{animation:bLeave-6b84e646 .3s ease-in}.broadcast-move[data-v-6b84e646]{transition:transform .3s}@keyframes bEnter-6b84e646{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes bLeave-6b84e646{0%{opacity:1}to{opacity:0;transform:scale(.95);height:0;padding:0;margin:0}}.empty[data-v-6b84e646]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--ink-3);font-size:12px;font-weight:600}.modal-backdrop[data-v-7cec714d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(16,38,38,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fadeIn-7cec714d .2s}@keyframes fadeIn-7cec714d{0%{opacity:0}to{opacity:1}}.modal[data-v-7cec714d]{background:var(--surface-2);border-radius:20px;box-shadow:0 40px 90px -20px #133d4a59;width:800px;max-width:92vw;max-height:88vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-7cec714d .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes slideUp-7cec714d{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.modal-head[data-v-7cec714d]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.mh-left[data-v-7cec714d]{display:flex;align-items:center;gap:12px}.mh-title[data-v-7cec714d]{font-size:16px;font-weight:750;color:var(--ink);letter-spacing:-.02em}.mh-sub[data-v-7cec714d]{font-size:11px;color:var(--ink-3);margin-top:2px}.chip-ic[data-v-7cec714d]{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.chip-ic.up[data-v-7cec714d]{background:var(--brand-soft);color:var(--brand)}.chip-ic.off[data-v-7cec714d]{background:rgba(151,162,179,.15);color:var(--off)}.close-btn[data-v-7cec714d]{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;font-size:14px;color:var(--ink-2);display:grid;place-items:center}.close-btn[data-v-7cec714d]:hover{color:var(--danger);border-color:#c0453c4d;background:rgba(192,69,60,.06)}.modal-body[data-v-7cec714d]{padding:14px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-body[data-v-7cec714d]::-webkit-scrollbar{width:6px}.modal-body[data-v-7cec714d]::-webkit-scrollbar-thumb{background:rgba(16,38,38,.15);border-radius:3px}.section[data-v-7cec714d]{display:flex;flex-direction:column}.section-title[data-v-7cec714d]{font-size:12px;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:6px;margin-bottom:8px}.section-title[data-v-7cec714d]:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--brand)}.summary-row[data-v-7cec714d]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sum-item[data-v-7cec714d]{background:var(--surface);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border)}.sum-lbl[data-v-7cec714d]{font-size:10px;color:var(--ink-3);letter-spacing:.02em}.sum-val[data-v-7cec714d]{font-size:16px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.sum-val small[data-v-7cec714d]{font-size:10px;color:var(--ink-3);font-weight:500;margin-left:2px}.sum-val.online[data-v-7cec714d]{color:var(--ok)}.sum-val.offline[data-v-7cec714d]{color:var(--off)}.sum-val.up[data-v-7cec714d]{color:var(--ok)}.conn-grid[data-v-7cec714d]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.conn-card[data-v-7cec714d]{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px;transition:all .18s;cursor:pointer}.conn-card[data-v-7cec714d]:hover{border-color:#176c6b4d;transform:translateY(-1px)}.conn-card.active[data-v-7cec714d]{border-color:var(--brand);box-shadow:0 4px 14px #176c6b2e}.conn-card.charging[data-v-7cec714d]{border-color:#d84a4a59;background:rgba(216,74,74,.04)}.conn-card.occupied[data-v-7cec714d]{border-color:#b77a1659;background:rgba(183,122,22,.04)}.conn-card.idle[data-v-7cec714d]{border-color:#2c7a6240;background:rgba(44,122,98,.04)}.conn-no[data-v-7cec714d]{font-size:15px;font-weight:750;color:var(--ink)}.conn-status[data-v-7cec714d]{font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;width:fit-content}.conn-status.charging[data-v-7cec714d]{background:rgba(216,74,74,.12);color:#d84a4a}.conn-status.occupied[data-v-7cec714d]{background:rgba(183,122,22,.12);color:var(--warn)}.conn-status.idle[data-v-7cec714d]{background:rgba(44,122,98,.12);color:var(--ok)}.conn-status.reserved[data-v-7cec714d]{background:rgba(91,86,224,.12);color:#5b56e0}.conn-status.unknown[data-v-7cec714d]{background:rgba(151,162,179,.15);color:var(--off)}.conn-plate[data-v-7cec714d]{font-size:10px;color:var(--ink-2);letter-spacing:.02em}.conn-plate.idle[data-v-7cec714d]{color:var(--ink-3);font-style:italic}@media (max-width: 720px){.summary-row[data-v-7cec714d],.conn-grid[data-v-7cec714d]{grid-template-columns:repeat(2,1fr)}}.modal-backdrop[data-v-55344d50]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(16,38,38,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fadeIn-55344d50 .2s}@keyframes fadeIn-55344d50{0%{opacity:0}to{opacity:1}}.modal[data-v-55344d50]{background:var(--surface-2);border-radius:20px;box-shadow:0 40px 90px -20px #133d4a59;width:640px;max-width:92vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-55344d50 .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes slideUp-55344d50{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.modal-head[data-v-55344d50]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.mh-left[data-v-55344d50]{display:flex;align-items:center;gap:12px}.mh-title[data-v-55344d50]{font-size:16px;font-weight:750;color:var(--ink);letter-spacing:-.02em}.mh-sub[data-v-55344d50]{font-size:11px;color:var(--ink-3);margin-top:2px}.chip-ic[data-v-55344d50]{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.chip-ic.up[data-v-55344d50]{background:var(--brand-soft);color:var(--brand)}.chip-ic.off[data-v-55344d50]{background:rgba(151,162,179,.15);color:var(--off)}.close-btn[data-v-55344d50]{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;font-size:14px;color:var(--ink-2);display:grid;place-items:center}.close-btn[data-v-55344d50]:hover{color:var(--danger);border-color:#c0453c4d}.modal-body[data-v-55344d50]{padding:14px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-body[data-v-55344d50]::-webkit-scrollbar{width:6px}.modal-body[data-v-55344d50]::-webkit-scrollbar-thumb{background:rgba(16,38,38,.15);border-radius:3px}.section-title[data-v-55344d50]{font-size:12px;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:6px;margin-bottom:8px}.section-title[data-v-55344d50]:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--brand)}.summary-row[data-v-55344d50]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sum-item[data-v-55344d50]{background:var(--surface);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border)}.sum-lbl[data-v-55344d50]{font-size:10px;color:var(--ink-3);letter-spacing:.02em}.sum-val[data-v-55344d50]{font-size:16px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.sum-val small[data-v-55344d50]{font-size:10px;color:var(--ink-3);font-weight:500;margin-left:2px}.sum-val.online[data-v-55344d50],.sum-val.up[data-v-55344d50]{color:var(--ok)}.sum-val.offline[data-v-55344d50]{color:var(--off)}.telemetry-grid[data-v-55344d50]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tel-item[data-v-55344d50]{background:var(--surface);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border)}.tel-lbl[data-v-55344d50]{font-size:10px;color:var(--ink-3);letter-spacing:.02em}.tel-val[data-v-55344d50]{font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.tel-val small[data-v-55344d50]{font-size:10px;color:var(--ink-3);font-weight:500;margin-left:2px}.vehicle-info[data-v-55344d50]{background:var(--surface);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);box-shadow:var(--neu-inset-sm)}.veh-plate[data-v-55344d50]{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:.08em;font-family:DIN Alternate,Impact,Noto Sans SC,sans-serif;font-variant-numeric:tabular-nums}.veh-sub[data-v-55344d50]{font-size:11px;color:var(--ink-3);font-weight:600}.gantt-row[data-v-55344d50]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.gantt-cell[data-v-55344d50]{border-radius:6px;padding:8px 6px;font-size:9px;min-height:40px;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);background:var(--surface);text-align:center;cursor:default}.gantt-cell.reserved[data-v-55344d50]{background:rgba(183,122,22,.1);border-color:#b77a164d;color:var(--warn)}.gantt-cell.occupied[data-v-55344d50]{background:rgba(216,74,74,.1);border-color:#d84a4a4d;color:#d84a4a}.gantt-cell.idle[data-v-55344d50]{background:var(--surface);border-color:var(--border)}.gantt-time[data-v-55344d50]{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.gantt-driver[data-v-55344d50]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.empty-state[data-v-55344d50]{padding:24px;text-align:center;border-radius:10px;color:var(--ink-3);font-size:12px;font-weight:700;background:var(--surface);box-shadow:var(--neu-inset-sm)}@media (max-width: 720px){.summary-row[data-v-55344d50]{grid-template-columns:repeat(2,1fr)}.gantt-row[data-v-55344d50]{grid-template-columns:repeat(4,1fr)}}.modal-backdrop[data-v-5da17702]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(16,38,38,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;animation:fadeIn-5da17702 .2s}@keyframes fadeIn-5da17702{0%{opacity:0}to{opacity:1}}.modal[data-v-5da17702]{background:#fff;border-radius:20px;box-shadow:0 40px 90px -20px #133d4a59;width:900px;max-width:94vw;max-height:86vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-5da17702 .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes slideUp-5da17702{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.modal-head[data-v-5da17702]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.mh-title[data-v-5da17702]{font-size:16px;font-weight:750;color:var(--ink);letter-spacing:-.02em}.mh-sub[data-v-5da17702]{font-size:11px;color:var(--ink-3);margin-top:2px}.close-btn[data-v-5da17702]{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;color:var(--ink-2);transition:.18s}.close-btn[data-v-5da17702]:hover{color:var(--down);border-color:#c0453c4d}.table-toolbar[data-v-5da17702]{padding:10px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.filter-chips[data-v-5da17702]{display:flex;gap:6px}.chip[data-v-5da17702]{padding:5px 12px;border-radius:20px;border:1px solid var(--border);background:#fff;font-size:11px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.18s}.chip[data-v-5da17702]:hover{border-color:#176c6b4d;color:var(--teal)}.chip.active[data-v-5da17702]{background:rgba(23,108,107,.1);color:var(--teal);border-color:#176c6b40}.table-wrap[data-v-5da17702]{flex:1;overflow-y:auto;padding:0}.sessions-table[data-v-5da17702]{width:100%;border-collapse:collapse;font-size:12px}.sessions-table thead th[data-v-5da17702]{position:sticky;top:0;background:var(--panel-2);padding:9px 12px;text-align:left;font-size:10px;font-weight:700;color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--border)}.sessions-table tbody td[data-v-5da17702]{padding:10px 12px;border-bottom:1px solid rgba(16,38,38,.05);color:var(--ink-2);font-variant-numeric:tabular-nums}.sessions-table tbody tr[data-v-5da17702]:hover{background:rgba(23,108,107,.03)}.sessions-table .code[data-v-5da17702]{font-weight:700;color:var(--ink)}.sessions-table .plate[data-v-5da17702]{font-family:monospace;letter-spacing:.04em}.sessions-table .num[data-v-5da17702]{text-align:right}.sessions-table .num small[data-v-5da17702]{font-size:10px;color:var(--ink-3);font-weight:500;margin-left:2px}.status-tag[data-v-5da17702]{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px}.status-tag.charging[data-v-5da17702]{background:rgba(216,74,74,.12);color:#d84a4a}.status-tag.finished[data-v-5da17702]{background:rgba(44,122,98,.12);color:var(--up)}.status-tag.interrupted[data-v-5da17702]{background:rgba(192,69,60,.1);color:var(--down)}.empty-row[data-v-5da17702]{text-align:center;color:var(--ink-3);padding:36px;font-style:italic}.modal-backdrop[data-v-2809653e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(16,38,38,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fadeIn-2809653e .2s}@keyframes fadeIn-2809653e{0%{opacity:0}to{opacity:1}}.modal[data-v-2809653e]{background:var(--surface-2);border-radius:20px;box-shadow:0 40px 90px -20px #133d4a59;width:600px;max-width:92vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-2809653e .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes slideUp-2809653e{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.modal-head[data-v-2809653e]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.mh-left[data-v-2809653e]{display:flex;align-items:center;gap:12px}.mh-right[data-v-2809653e]{display:flex;align-items:center;gap:10px}.mh-title[data-v-2809653e]{font-size:16px;font-weight:750;color:var(--ink);letter-spacing:-.02em;display:flex;align-items:center;gap:6px}.mh-sub[data-v-2809653e]{font-size:11px;color:var(--ink-3);margin-top:2px}.chip-ic[data-v-2809653e]{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.chip-ic.alarm[data-v-2809653e]{background:rgba(192,69,60,.12);color:#c0453c}.count-badge[data-v-2809653e]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;border-radius:10px}.mini-btn[data-v-2809653e]{border:none;background:var(--brand-soft);color:var(--brand);font-family:inherit;font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease}.mini-btn[data-v-2809653e]:hover{background:var(--brand);color:#fff}.close-btn[data-v-2809653e]{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;font-size:14px;color:var(--ink-2);display:grid;place-items:center}.close-btn[data-v-2809653e]:hover{color:var(--danger);border-color:#c0453c4d}.modal-body[data-v-2809653e]{padding:14px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-body[data-v-2809653e]::-webkit-scrollbar{width:6px}.modal-body[data-v-2809653e]::-webkit-scrollbar-thumb{background:rgba(16,38,38,.15);border-radius:3px}.level-filter[data-v-2809653e]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0}.pill[data-v-2809653e]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-family:inherit;font-size:11px;font-weight:700;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:all .2s ease}.pill[data-v-2809653e]:hover{border-color:var(--brand);color:var(--brand)}.pill.active[data-v-2809653e]{background:var(--brand);border-color:var(--brand);color:#fff}.pill-count[data-v-2809653e]{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;border-radius:8px;background:rgba(16,38,38,.08);color:var(--ink-2);font-variant-numeric:tabular-nums}.pill.active .pill-count[data-v-2809653e]{background:rgba(255,255,255,.25);color:#fff}.alarm-list[data-v-2809653e]{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0}.alarm-item[data-v-2809653e]{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.alarm-top[data-v-2809653e]{display:flex;align-items:center;justify-content:space-between}.level-tag[data-v-2809653e]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.02em}.level-tag.critical[data-v-2809653e]{background:rgba(192,69,60,.1);color:#c0453c}.level-tag.high[data-v-2809653e]{background:rgba(217,100,42,.12);color:#d9642a}.level-tag.warn[data-v-2809653e]{background:rgba(183,122,22,.14);color:#b77a16}.level-tag.info[data-v-2809653e]{background:rgba(23,108,107,.1);color:#176c6b}.alarm-minutes[data-v-2809653e]{font-size:10px;color:var(--ink-3);font-variant-numeric:tabular-nums}.alarm-title[data-v-2809653e]{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35}.alarm-meta[data-v-2809653e]{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.alarm-charger[data-v-2809653e]{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.resolve-btn[data-v-2809653e]{border:none;background:var(--brand-soft);color:var(--brand);font-family:inherit;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease}.resolve-btn[data-v-2809653e]:hover{background:var(--brand);color:#fff}.empty[data-v-2809653e]{padding:36px 16px;text-align:center;color:var(--ink-3);font-size:12px;font-weight:600}.modal-backdrop[data-v-31311edf]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(16,38,38,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;animation:fadeIn-31311edf .2s}@keyframes fadeIn-31311edf{0%{opacity:0}to{opacity:1}}.modal[data-v-31311edf]{background:#fff;border-radius:20px;box-shadow:0 40px 90px -20px #133d4a59;width:460px;max-width:90vw;display:flex;flex-direction:column;animation:slideUp-31311edf .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes slideUp-31311edf{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.modal-head[data-v-31311edf]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.mh-title[data-v-31311edf]{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.close-btn[data-v-31311edf]{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;color:var(--ink-2);transition:.18s}.close-btn[data-v-31311edf]:hover{color:var(--down);border-color:#c0453c4d}.modal-body[data-v-31311edf]{padding:18px;display:flex;flex-direction:column;gap:16px}.set-row[data-v-31311edf]{display:flex;align-items:flex-start;gap:16px}.set-lbl[data-v-31311edf]{font-size:12px;font-weight:600;color:var(--ink);min-width:100px;padding-top:6px}.set-control[data-v-31311edf]{flex:1;display:flex;flex-direction:column;gap:4px}.slider[data-v-31311edf]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:rgba(16,38,38,.12);outline:none;cursor:pointer}.slider[data-v-31311edf]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#176C6B;cursor:pointer;box-shadow:0 2px 6px #176c6b4d;transition:.18s}.slider[data-v-31311edf]::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-val[data-v-31311edf]{font-size:12px;font-weight:700;color:#176c6b;text-align:center;font-variant-numeric:tabular-nums}.slider-labels[data-v-31311edf]{display:flex;justify-content:space-between;font-size:9px;color:var(--ink-3)}.toggle[data-v-31311edf]{width:44px;height:24px;border-radius:20px;border:1px solid var(--border);background:rgba(16,38,38,.08);cursor:pointer;position:relative;padding:0;transition:.2s}.toggle.on[data-v-31311edf]{background:rgba(23,108,107,.9);border-color:#176c6be6}.toggle-knob[data-v-31311edf]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:.2s}.toggle.on .toggle-knob[data-v-31311edf]{left:22px}.toggle-lbl[data-v-31311edf]{font-size:11px;color:var(--ink-3);margin-left:10px;align-self:center}.txt-input[data-v-31311edf]{width:100%;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);font-size:12px;color:var(--ink);font-family:inherit;outline:none;transition:.18s}.txt-input[data-v-31311edf]:focus{border-color:#176c6b66;box-shadow:0 0 0 3px #176c6b14}.modal-foot[data-v-31311edf]{padding:12px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.btn-cancel[data-v-31311edf]{padding:7px 16px;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.18s}.btn-cancel[data-v-31311edf]:hover{border-color:#10262640;color:var(--ink)}.btn-save[data-v-31311edf]{padding:7px 20px;border-radius:10px;border:none;background:#176C6B;font-size:12px;font-weight:600;color:#fff;cursor:pointer;transition:.18s;box-shadow:0 4px 12px #176c6b40}.btn-save[data-v-31311edf]:hover{background:#135a59;transform:translateY(-1px)}.btn-save[data-v-31311edf]:active{transform:translateY(0)}.login-root[data-v-e13f9414]{position:relative;width:100%;height:100vh;height:100dvh;display:grid;place-items:center;background:var(--bg, #F2F3F5);overflow:hidden}.bg-grid[data-v-e13f9414]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border, #E5E7EB) 1px,transparent 1px),linear-gradient(90deg,var(--border, #E5E7EB) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);opacity:.4}.bg-glow[data-v-e13f9414]{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(100px);opacity:.35;pointer-events:none}.g1[data-v-e13f9414]{top:-120px;left:-120px;background:var(--brand, #3B82F6)}.g2[data-v-e13f9414]{bottom:-120px;right:-120px;background:#C4633F}.login-card[data-v-e13f9414]{position:relative;width:400px;padding:48px 40px 32px;border-radius:24px;background:var(--card, #FFFFFF);box-shadow:var(--neu-raised-lg, 0 20px 60px rgba(0,0,0,.15))}.brand[data-v-e13f9414]{text-align:center;margin-bottom:36px}.logo[data-v-e13f9414]{width:64px;height:64px;border-radius:18px;margin:0 auto 16px;display:grid;place-items:center;background:var(--brand, #3B82F6);color:#fff;box-shadow:0 8px 24px #3b82f666}.title[data-v-e13f9414]{font-size:22px;font-weight:700;color:var(--text-1, #1F2937);margin:0 0 4px;letter-spacing:2px}.sub[data-v-e13f9414]{font-size:13px;color:var(--text-3, #9CA3AF);margin:0;letter-spacing:4px}.form[data-v-e13f9414]{display:flex;flex-direction:column;gap:16px}.input-wrap[data-v-e13f9414]{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border-radius:12px;background:var(--bg, #F2F3F5);box-shadow:var(--neu-inset, inset 2px 2px 6px rgba(0,0,0,.1), inset -2px -2px 6px rgba(255,255,255,.8));transition:box-shadow .2s}.input-wrap[data-v-e13f9414]:focus-within{box-shadow:inset 1px 1px 3px #00000014,inset -1px -1px 3px #ffffffe6,0 0 0 2px var(--brand, #3B82F6, .3)}.input-wrap .ic[data-v-e13f9414]{color:var(--text-3, #9CA3AF);flex-shrink:0}.input-wrap input[data-v-e13f9414]{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text-1, #1F2937)}.input-wrap input[data-v-e13f9414]::placeholder{color:var(--text-4, #D1D5DB)}.eye[data-v-e13f9414]{background:none;border:none;cursor:pointer;color:var(--text-3, #9CA3AF);padding:4px;display:grid;place-items:center}.eye[data-v-e13f9414]:hover{color:var(--text-2, #6B7280)}.err[data-v-e13f9414]{padding:10px 14px;border-radius:10px;background:#FEE2E2;color:#dc2626;font-size:13px}.btn-submit[data-v-e13f9414]{height:50px;margin-top:8px;border:none;border-radius:14px;background:var(--brand, #3B82F6);color:#fff;font-size:15px;font-weight:600;letter-spacing:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 24px #3b82f659;transition:transform .15s,box-shadow .15s}.btn-submit[data-v-e13f9414]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 28px #3b82f673}.btn-submit[data-v-e13f9414]:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #3b82f64d}.btn-submit[data-v-e13f9414]:disabled{opacity:.7;cursor:not-allowed}.btn-submit .sp[data-v-e13f9414]{animation:spin-e13f9414 1s linear infinite}@keyframes spin-e13f9414{to{transform:rotate(360deg)}}.foot[data-v-e13f9414]{margin-top:28px;text-align:center;font-size:12px;color:var(--text-4, #D1D5DB);letter-spacing:1px}.dashboard-root[data-v-889cbf1a]{display:flex;width:100%;height:100dvh;min-height:100vh;overflow:hidden;background:var(--bg)}.main[data-v-889cbf1a]{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden;padding:8px 16px 16px 4px;gap:10px}.body[data-v-889cbf1a]{flex:1;display:grid;grid-template-columns:3fr 1fr;gap:12px;min-height:0;overflow:hidden}.body>div[data-v-889cbf1a]{display:flex;flex-direction:column;min-height:0;overflow:hidden}.left-col[data-v-889cbf1a],.right-col[data-v-889cbf1a]{min-width:0;overflow:hidden}
