:root{--primary:#409eff;--primary-hover:#66b1ff;--bg:linear-gradient(#f0f2f5b3, #f0f2f580);--card-bg:#fff;--text-color:#303133;--sub-text:#606266;--border-radius:12px;--transition:.3s ease}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#app{width:100%;max-width:100%;overflow-x:hidden}html{scrollbar-width:none;overflow-y:auto}html::-webkit-scrollbar{width:0;height:0}body{background:var(--bg);color:var(--text-color);font-family:Helvetica Neue,sans-serif}button,input{font:inherit}.main-content{z-index:1;background:0 0;flex:1;min-width:0;max-width:100%;padding:20px;position:relative;overflow:hidden auto}#controls{background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:12px 16px;display:flex;box-shadow:0 2px 8px #0000000d}#controls button,.refresh-btn{background:var(--primary);color:#fff;cursor:pointer;transition:background var(--transition), transform .2s;border:none;border-radius:999px;padding:8px 14px}#controls button:hover,.refresh-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}#controls input[type=text]{border:1px solid #dcdfe6;border-radius:4px;width:160px;padding:6px 10px}#deviceContainer{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.device-meta{color:var(--sub-text);margin-bottom:8px;font-size:14px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.empty-block{color:var(--sub-text);background:#fff;border-radius:12px;padding:24px}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:10px;padding:8px 14px}.btn-primary{color:#fff;background:#409eff}.btn-secondary{color:#303133;background:#f2f3f5}.btn-danger{color:#fff;background:#f56c6c}.settings-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000f}@media (width<=768px){.settings-card{border-radius:14px;padding:12px 14px}}.settings-title{margin-bottom:16px;font-size:20px}.form-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.form-row label{color:#606266;min-width:90px}.date-input{border:1px solid #dcdfe6;border-radius:8px;min-width:180px;padding:8px 10px}.selector-box{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.selector-box>*{min-height:40px}.selector-box .date-input,.selector-box .btn-primary{min-width:160px}.flow-page{gap:20px;display:grid}.chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=1279px){.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart-card,.info-card{background:#ffffffad;border:1px solid #ffffffb8;border-radius:16px;min-height:320px;padding:18px;box-shadow:0 4px 16px #0f172a0f,0 1px #fff9}.card-title{color:#1e293b;letter-spacing:-.01em;margin-bottom:14px;font-size:17px;font-weight:700}.chart-canvas-wrap{box-sizing:border-box;background:#f8fafc99;border-radius:12px;width:100%;height:240px;padding:8px;position:relative}.info-card p{color:#64748b;border-bottom:1px solid #e2e8f099;justify-content:space-between;align-items:center;margin:0;padding:10px 0;font-size:14px;display:flex}.info-card p:last-child{border-bottom:none}.info-card strong{color:#1e293b;font-size:16px;font-weight:700}body{background:#f5f7fb;margin:0;font-family:Arial,sans-serif}button{cursor:pointer}body:has(.app-container.night-mode) input[type=range]{accent-color:#60a5fa}body:has(.app-container.night-mode) input[type=range]::-webkit-slider-runnable-track{background:#1e293beb;border:1px solid #94a3b838;border-radius:999px;height:6px}body:has(.app-container.night-mode) input[type=range]::-webkit-slider-thumb{background:#60a5fa;border:2px solid #bfdbfef2;border-radius:50%;width:18px;height:18px;margin-top:-7px;box-shadow:0 0 0 4px #2563eb38}body:has(.app-container.night-mode) input[type=range]::-moz-range-track{background:#1e293beb;border:1px solid #94a3b838;border-radius:999px;height:6px}body:has(.app-container.night-mode) input[type=range]::-moz-range-thumb{background:#60a5fa;border:2px solid #bfdbfef2;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #2563eb38}body:has(.app-container.night-mode) input[type=range]:disabled{opacity:.48}.error-text{color:#e74c3c;margin:0}.dashboard-page{padding:24px}@media (width<=768px){#deviceContainer{grid-template-columns:1fr;gap:10px}.chart-grid{grid-template-columns:1fr;gap:12px}.chart-card,.info-card{border-radius:16px;min-height:0;padding:14px 16px}.card-title{margin-bottom:10px;font-size:15px;font-weight:700}.section-header{margin-bottom:10px}.section-header h2{font-size:18px}.flow-page{gap:12px}.chart-canvas-wrap{border-radius:10px;height:200px;padding:6px}}.toast-container{z-index:99999;pointer-events:none;flex-direction:column;align-items:center;gap:10px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast-item{pointer-events:auto;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;max-width:420px;padding:10px 18px;font-size:14px;font-weight:700;line-height:1.4;display:flex;box-shadow:0 8px 24px #0f172a1a}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.toast-text{min-width:0}.toast-item.success{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.toast-item.success .toast-icon{color:#fff;background:#22c55e}.toast-item.error{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.toast-item.error .toast-icon{color:#fff;background:#ef4444}.toast-enter-active{transition:all .3s cubic-bezier(.22,1,.36,1)}.toast-leave-active{transition:all .25s ease-in}.toast-enter-from{opacity:0;transform:translateY(-16px)}.toast-leave-to{opacity:0;transform:translateY(-12px)}@media (width<=768px){.toast-container{top:calc(env(safe-area-inset-top,0px) + 88px);align-items:stretch;gap:8px;max-width:none;left:16px;right:16px;transform:none}.toast-item{border-radius:12px;width:100%;max-width:none;padding:11px 16px;font-size:13px}}.shake{animation:.4s both shakeX}@keyframes shakeX{0%,to{transform:translate(0)}10%{transform:translate(-4px)}30%{transform:translate(4px)}50%{transform:translate(-4px)}70%{transform:translate(4px)}90%{transform:translate(-2px)}}.auth-page[data-v-e77a4f06]{isolation:isolate;box-sizing:border-box;background:#eef4fb;justify-content:center;align-items:center;min-height:100vh;padding:28px;display:flex;position:relative;overflow:hidden}.auth-page[data-v-e77a4f06]:before{content:"";z-index:-2;opacity:.95;filter:blur(8px);background-image:url(/backgrounds/bg-day.png);background-position:100%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0;transform:scale(1.02)}.auth-page[data-v-e77a4f06]:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f5f8fc47 0%,#f5f8fc24 48%,#f5f8fc0a 100%);position:fixed;inset:0}.auth-shell[data-v-e77a4f06]{width:min(100%,460px);animation:.55s cubic-bezier(.22,.61,.36,1) both card-rise-e77a4f06}@keyframes card-rise-e77a4f06{0%{opacity:0;transform:translateY(22px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card[data-v-e77a4f06]{-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);box-sizing:border-box;background:#ffffffbd;border:1px solid #ffffffd9;border-radius:24px;width:100%;padding:32px;box-shadow:0 24px 56px #0f172a26,0 3px 10px #0f172a0d,inset 0 0 0 1px #ffffff73}.auth-brand-row[data-v-e77a4f06]{align-items:center;gap:12px;margin-bottom:26px;display:flex}.brand-mark[data-v-e77a4f06]{background:linear-gradient(135deg,#fffffff2,#dbeafec7);border:1px solid #bfdbfed9;border-radius:15px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;animation:3s ease-in-out infinite brand-pulse-e77a4f06;display:inline-flex;box-shadow:0 10px 22px #2563eb38}@keyframes brand-pulse-e77a4f06{0%,to{box-shadow:0 10px 22px #2563eb2e,inset 0 0 0 1px #ffffff80}50%{box-shadow:0 12px 38px #2563eb6b,inset 0 0 0 1px #ffffff80,0 0 60px #60a5fa33}}.brand-mark svg[data-v-e77a4f06]{transform-origin:50%;width:26px;height:26px;animation:3s ease-in-out infinite bulb-breathe-e77a4f06;display:block}@keyframes bulb-breathe-e77a4f06{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.bulb-glow[data-v-e77a4f06]{fill:#60a5fa33;stroke:#2563eb;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;transform-origin:14px 14px;animation:3s ease-in-out infinite glow-breathe-e77a4f06}@keyframes glow-breathe-e77a4f06{0%,to{fill:#60a5fa1f;stroke:#2563eb99}50%{fill:#60a5fa73;stroke:#2563eb}}.bulb-line[data-v-e77a4f06]{fill:none;stroke:#1d4ed8;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;animation:3s ease-in-out infinite filament-glow-e77a4f06}@keyframes filament-glow-e77a4f06{0%,to{stroke:#1d4ed880;stroke-width:1.7px}50%{stroke:#1d4ed8;stroke-width:2.1px}}.auth-brand-row strong[data-v-e77a4f06]{color:#111827;font-size:18px;font-weight:800;line-height:1}.form-header h2[data-v-e77a4f06]{letter-spacing:-.02em;color:#0f172a;margin:0 0 8px;font-size:26px;font-weight:800}.form-header p[data-v-e77a4f06]{color:#64748b;margin:0 0 24px;font-size:14px;line-height:1.55}[data-v-e77a4f06] .form-item{margin-bottom:18px}[data-v-e77a4f06] .form-item label{color:#475569;margin-bottom:8px;font-size:13px;font-weight:700;display:block}[data-v-e77a4f06] .form-item input{color:#0f172a;box-sizing:border-box;background:#ffffffd1;border:1px solid #cbd5e1e6;border-radius:13px;outline:none;width:100%;height:46px;padding:0 14px;font-size:14px;transition:border-color .2s,background .2s,box-shadow .2s}[data-v-e77a4f06] .form-item input::placeholder{color:#94a3b8}[data-v-e77a4f06] .form-item input:hover:not(:focus){background:#ffffffeb;border-color:#b8c6dc}[data-v-e77a4f06] .form-item input:focus{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa29}[data-v-e77a4f06] .primary-btn{color:#fff;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb 55%,#1d4ed8);border:1px solid #2563eb;border-radius:13px;width:100%;height:46px;font-size:14px;font-weight:700;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s;position:relative;overflow:hidden;box-shadow:0 10px 22px #2563eb3d,inset 0 0 0 1px #ffffff1f}[data-v-e77a4f06] .primary-btn:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff47 50%,#0000 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-120%)}[data-v-e77a4f06] .primary-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8 55%,#1e40af);border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 14px 30px #2563eb57,inset 0 0 0 1px #ffffff24}[data-v-e77a4f06] .primary-btn:hover:not(:disabled):after{transform:translate(120%)}[data-v-e77a4f06] .primary-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 14px #2563eb33}[data-v-e77a4f06] .primary-btn:disabled{opacity:.65;cursor:not-allowed}[data-v-e77a4f06] .form-footer{text-align:center;color:#64748b;margin-top:18px;font-size:14px}[data-v-e77a4f06] .form-footer a{color:#2563eb;font-weight:700;text-decoration:none;transition:color .18s;position:relative}[data-v-e77a4f06] .form-footer a:after{content:"";transform-origin:50%;background:currentColor;border-radius:1px;height:1.5px;transition:transform .22s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}[data-v-e77a4f06] .form-footer a:hover{color:#1d4ed8}[data-v-e77a4f06] .form-footer a:hover:after{transform:scaleX(1)}@media (width<=640px){.auth-page[data-v-e77a4f06]{padding:16px}.auth-card[data-v-e77a4f06]{padding:24px 20px}.form-header h2[data-v-e77a4f06]{font-size:20px}.form-header p[data-v-e77a4f06]{margin-bottom:20px;font-size:12px}[data-v-e77a4f06] .form-item{margin-bottom:14px}[data-v-e77a4f06] .form-item label{margin-bottom:6px;font-size:12px}[data-v-e77a4f06] .form-item input{border-radius:11px;height:42px;font-size:13px}[data-v-e77a4f06] .primary-btn{border-radius:11px;height:42px;font-size:14px}[data-v-e77a4f06] .form-footer{margin-top:14px;font-size:12px}}@media (width<=760px){.auth-page[data-v-e77a4f06]{align-items:flex-start;padding:16px}.auth-card[data-v-e77a4f06]{padding:24px 20px}[data-v-e77a4f06] .primary-btn{height:40px}}.form-extra[data-v-c2632f1e]{justify-content:space-between;align-items:center;margin:4px 0 22px;font-size:13px;display:flex}.remember[data-v-c2632f1e]{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;transition:color .18s;display:inline-flex}.remember[data-v-c2632f1e]:hover{color:#475569}.remember input[type=checkbox][data-v-c2632f1e]{opacity:0;width:0;height:0;margin:0;position:absolute}.checkbox-box[data-v-c2632f1e]{background:#ffffffe6;border:1.5px solid #94a3b8d9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .18s,background .18s,box-shadow .18s;display:inline-flex}.checkbox-box svg[data-v-c2632f1e]{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14;stroke-dashoffset:14px;width:12px;height:12px;transition:stroke-dashoffset .22s}.remember:hover .checkbox-box[data-v-c2632f1e]{border-color:#93c5fd}.remember input[type=checkbox]:focus-visible+.checkbox-box[data-v-c2632f1e]{box-shadow:0 0 0 3px #60a5fa47}.remember input[type=checkbox]:checked+.checkbox-box[data-v-c2632f1e]{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;box-shadow:0 4px 10px #2563eb47}.remember input[type=checkbox]:checked+.checkbox-box svg[data-v-c2632f1e]{stroke-dashoffset:0}.remember-text[data-v-c2632f1e]{line-height:1}.forgot-link[data-v-c2632f1e]{color:#2563eb;font-weight:700;text-decoration:none;transition:color .18s;position:relative}.forgot-link[data-v-c2632f1e]:after{content:"";transform-origin:50%;background:currentColor;border-radius:1px;height:1.5px;transition:transform .22s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.forgot-link[data-v-c2632f1e]:hover{color:#1d4ed8}.forgot-link[data-v-c2632f1e]:hover:after{transform:scaleX(1)}body:has(.app-container.night-mode){background:#1e293bb3;border-color:#94a3b866}body:has(.app-container.night-mode){color:#94a3b8}@media (width<=640px){.form-extra[data-v-c2632f1e]{margin-bottom:16px;font-size:12px}}[data-v-3c34a63b] .auth-shell{width:min(100%,480px)}.form-body[data-v-3c34a63b] .form-item{animation:.5s cubic-bezier(.22,.61,.36,1) both field-rise-3c34a63b}.form-body[data-v-3c34a63b] .form-item:first-child{animation-delay:40ms}.form-body[data-v-3c34a63b] .form-item:nth-child(2){animation-delay:.1s}.form-body[data-v-3c34a63b] .form-item:nth-child(3){animation-delay:.16s}.form-body[data-v-3c34a63b] .form-item:nth-child(4){animation-delay:.22s}.form-body[data-v-3c34a63b] .primary-btn{animation:.5s cubic-bezier(.22,.61,.36,1) .28s both field-rise-3c34a63b}@keyframes field-rise-3c34a63b{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.form-body[data-v-3c34a63b] .form-item,.form-body[data-v-3c34a63b] .primary-btn{animation:none}}.sidebar[data-v-246e7c82]{z-index:100;-webkit-backdrop-filter:blur(14px);touch-action:none;background:#ffffffe0;border:1px solid #fff9;border-radius:14px;flex-direction:column;align-items:center;width:180px;height:calc(100vh - 48px);padding:28px 10px;display:flex;position:fixed;top:24px;left:24px;overflow:hidden;box-shadow:0 8px 24px #00000014}.sidebar ul[data-v-246e7c82]{z-index:3;flex-direction:column;gap:10px;width:100%;margin:0;padding:0;list-style:none;display:flex;position:relative}.sidebar li[data-v-246e7c82]{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:12px;width:90%;margin:6px auto;padding:11px 16px;transition:color .2s;display:flex;position:relative}.sidebar li.active[data-v-246e7c82]{color:#1d4ed8;cursor:grab;font-weight:650}.sidebar li[data-v-246e7c82]:hover{color:#2563eb}.sidebar-icon[data-v-246e7c82]{opacity:.65;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .2s,transform .2s;display:flex}.sidebar li.active .sidebar-icon[data-v-246e7c82]{opacity:1;transform:scale(1.08)}.sidebar-nav-text[data-v-246e7c82]{white-space:nowrap;line-height:1}.refraction-canvas[data-v-246e7c82]{z-index:4;pointer-events:none;border-radius:14px;width:100%;height:100%;position:absolute;inset:0}.pill-indicator[data-v-246e7c82]{z-index:5;pointer-events:auto;cursor:grab;touch-action:none;transform-origin:50%;will-change:left, top, width, height, transform;-webkit-backdrop-filter:none;background:0 0;border:1px solid #fff3;border-radius:999px;position:absolute;box-shadow:0 18px 42px #0f172a1f,inset 0 0 0 1px #ffffff61,inset 0 1px 2px #ffffff80}.pill-indicator[data-v-246e7c82]:active{cursor:grabbing}.sidebar:has(.pill-dragging) li.active[data-v-246e7c82]{cursor:grabbing}.pill-snapping[data-v-246e7c82]{animation:.48s cubic-bezier(.2,.82,.24,1) both pillTensionRelease-246e7c82;transform:scaleX(1)scaleY(1)}.pill-dragging[data-v-246e7c82]{transform:scaleX(var(--pill-drag-scale-x,.94)) scaleY(var(--pill-drag-scale-y,1.08));z-index:6;animation:.28s cubic-bezier(.2,.82,.2,1) both pillTensionPress-246e7c82;box-shadow:0 24px 58px #0f172a29,inset 0 0 0 1px #ffffff70,inset 0 1px 2px #ffffff94}@keyframes pillTensionPress-246e7c82{0%{transform:scaleX(1)scaleY(1)}58%{transform:scaleX(.915)scaleY(1.12)}to{transform:scaleX(var(--pill-drag-scale-x,.94)) scaleY(var(--pill-drag-scale-y,1.08))}}@keyframes pillTensionRelease-246e7c82{0%{transform:scaleX(.94)scaleY(1.08)}56%{transform:scaleX(1.025)scaleY(.985)}to{transform:scaleX(1)scaleY(1)}}.anim-main[data-v-246e7c82] .icon-sun-core{transform-box:fill-box;transform-origin:50%;animation:.3s cubic-bezier(.2,.8,.2,1) both navSunBurst-246e7c82}.anim-main[data-v-246e7c82] .icon-sun-ray{transform-box:view-box;transform-origin:12px 12px;animation:.34s cubic-bezier(.2,.8,.2,1) both navSunRays-246e7c82}.anim-main[data-v-246e7c82] .ray-1{animation-delay:0s}.anim-main[data-v-246e7c82] .ray-2{animation-delay:25ms}.anim-main[data-v-246e7c82] .ray-3{animation-delay:50ms}.anim-main[data-v-246e7c82] .ray-4{animation-delay:75ms}.anim-main[data-v-246e7c82] .ray-5{animation-delay:.1s}.anim-main[data-v-246e7c82] .ray-6{animation-delay:.125s}.anim-main[data-v-246e7c82] .ray-7{animation-delay:.15s}.anim-main[data-v-246e7c82] .ray-8{animation-delay:.175s}.anim-flow[data-v-246e7c82] .icon-bar{transform-box:fill-box;transform-origin:bottom;animation:.34s cubic-bezier(.2,.8,.2,1) both navBarPulse-246e7c82}.anim-flow[data-v-246e7c82] .icon-bar-1{animation-delay:0s}.anim-flow[data-v-246e7c82] .icon-bar-2{animation-delay:80ms}.anim-flow[data-v-246e7c82] .icon-bar-3{animation-delay:.16s}.anim-settings[data-v-246e7c82] .icon-gear-center,.anim-settings[data-v-246e7c82] .icon-gear-tooth{transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.2,.7,.15,1) both navGearTurn-246e7c82}.anim-firmware[data-v-246e7c82] .icon-device-top-line{transform-box:fill-box;transform-origin:0;animation:.4s cubic-bezier(.34,.6,.15,1) both firmwareTopLineGrow-246e7c82}.anim-firmware[data-v-246e7c82] .icon-device-dot{transform-box:fill-box;transform-origin:50%;animation:.28s cubic-bezier(.2,.8,.2,1) .22s both firmwareDotConfirm-246e7c82}@keyframes navSunBurst-246e7c82{0%{transform:scale(.88)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes navSunRays-246e7c82{0%{opacity:.25;transform:scale(.35)}65%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes navBarPulse-246e7c82{0%{transform:scaleY(.3)}55%{transform:scaleY(1.12)}to{transform:scaleY(1)}}@keyframes navGearTurn-246e7c82{0%{transform:rotate(0)}85%{transform:rotate(140deg)}to{transform:rotate(135deg)}}@keyframes firmwareTopLineGrow-246e7c82{0%{opacity:.45;transform:scaleX(.18)}16%{opacity:1}80%{opacity:1;transform:scaleX(1.08)}to{opacity:1;transform:scaleX(1)}}@keyframes firmwareDotConfirm-246e7c82{0%{opacity:.45;transform:scale(.75)}45%{opacity:1;transform:scale(1.7)}to{opacity:.9;transform:scale(1)}}.night-mode{-webkit-backdrop-filter:none;color:#bfdbfe;background:0 0;border-color:#ffffff24;box-shadow:0 24px 58px #00000057,inset 0 0 0 1px #ffffff57,inset 0 1px 2px #ffffff6b}@media (width<=768px){.sidebar[data-v-246e7c82]{z-index:auto;border-radius:14px;width:calc(100% - 24px);height:auto;margin:12px;padding:10px 6px;display:block;position:relative;top:auto;left:auto}.sidebar ul[data-v-246e7c82]{flex-direction:row;gap:4px}.sidebar li[data-v-246e7c82]{text-align:center;border-radius:14px;flex-direction:column;flex:1;gap:3px;width:auto;margin:0;padding:8px 4px;font-size:12px}.sidebar-icon[data-v-246e7c82]{width:18px;height:18px}.pill-indicator[data-v-246e7c82]{border-radius:999px}}.base-select[data-v-266a3462]{z-index:1;width:100%;position:relative}.base-select.open[data-v-266a3462]{z-index:9999}.select-trigger[data-v-266a3462]{color:#111827;text-align:left;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #dbe3f0;border-radius:14px;width:100%;min-height:44px;padding:0 42px 0 14px;font-size:14px;transition:all .2s;position:relative}.select-trigger[data-v-266a3462]:hover{border-color:#c7d2e3}.open .select-trigger[data-v-266a3462]{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e514}.select-text[data-v-266a3462]{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.select-text.placeholder[data-v-266a3462]{color:#9ca3af}.select-arrow[data-v-266a3462]{color:#6b7280;pointer-events:none;font-size:14px;transition:transform .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.open .select-arrow[data-v-266a3462]{transform:translateY(-50%)rotate(180deg)}.select-dropdown[data-v-266a3462]{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:8px;overflow-y:auto;box-shadow:0 18px 40px #0f172a1f}.select-option[data-v-266a3462]{color:#111827;cursor:pointer;border-radius:12px;align-items:center;min-height:42px;padding:0 14px;font-size:14px;transition:background .18s,color .18s;display:flex}.select-option[data-v-266a3462]:hover{background:#f3f4f6}.select-option.active[data-v-266a3462]{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);font-weight:600}.select-option.disabled[data-v-266a3462]{color:#9ca3af;cursor:not-allowed}.disabled .select-trigger[data-v-266a3462]{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){border-color:#60a5fa80}.app-container.night-mode{border-color:#60a5fab8;box-shadow:0 0 0 4px #2563eb2e}body:has(.app-container.night-mode){border-color:#60a5fab8;box-shadow:0 0 0 4px #2563eb2e}body:has(.app-container.night-mode){color:#cbd5e194}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){background:#0f172af5;border-color:#94a3b83d;box-shadow:0 18px 45px #0000007a}body:has(.app-container.night-mode){color:#e2e8f0e6}body:has(.app-container.night-mode){color:#f8fafcf5;background:#1e293beb}body:has(.app-container.night-mode){color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8)}body:has(.app-container.night-mode){color:#94a3b89e}body:has(.app-container.night-mode){color:#94a3b89e}body:has(.app-container.night-mode){background:#0f172a7a;border-color:#94a3b829}.select-fade-enter-active[data-v-266a3462],.select-fade-leave-active[data-v-266a3462]{transition:opacity .18s,transform .18s}.select-fade-enter-from[data-v-266a3462],.select-fade-leave-to[data-v-266a3462]{opacity:0;transform:translateY(-4px)}@media (width<=768px){.select-trigger[data-v-266a3462]{border-radius:12px;min-height:46px}.select-dropdown[data-v-266a3462]{border-radius:14px}.select-option[data-v-266a3462]{min-height:44px}}.camera-card[data-v-022443c3]{background:var(--card-bg);border-radius:var(--border-radius);border:1px solid #e2e8f0db;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s,opacity .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000d}.camera-card[data-v-022443c3]:after{content:"";pointer-events:none;border-radius:inherit;opacity:0;background:linear-gradient(115deg,#0000 0%,#22c55e24 45%,#0000 58%);position:absolute;inset:0;transform:translate(-100%)}.camera-card.is-online[data-v-022443c3]{border-color:#22c55e42;box-shadow:0 8px 22px #0f172a0f,0 0 0 1px #22c55e14}.camera-card.is-offline[data-v-022443c3]{opacity:.82;border-color:#e2e8f0e6}.camera-card.online-flash[data-v-022443c3]{animation:.9s cubic-bezier(.22,1,.36,1) onlineCardFlash-022443c3}.camera-card.online-flash[data-v-022443c3]:after{animation:.9s cubic-bezier(.22,1,.36,1) onlineCardSweep-022443c3}.card-header[data-v-022443c3]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.clickable-header[data-v-022443c3]{cursor:pointer;transition:transform .18s,opacity .18s}.clickable-header[data-v-022443c3]:hover{opacity:.96;transform:translateY(-1px)}.device-title-block[data-v-022443c3]{flex-direction:column;min-width:0;display:flex}.device-title-block h3[data-v-022443c3]{word-break:break-word;margin:0}.camera-card h3[data-v-022443c3]{margin-bottom:12px;font-size:18px}.last-seen-under-name[data-v-022443c3]{color:#8a8a8a;margin:6px 0 0;font-size:14px;line-height:1.4}.card-status-stack[data-v-022443c3]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:inline-flex}.status-badge[data-v-022443c3],.self-test-badge[data-v-022443c3]{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-badge[data-v-022443c3]{font-weight:600}.status-badge[data-v-022443c3]:before,.self-test-badge[data-v-022443c3]:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.status-badge.online[data-v-022443c3]{color:#18a058;background:#e8f7ed;animation:2s ease-in-out infinite breathe-022443c3}.status-badge.offline[data-v-022443c3]{color:#f56c6c;background:#fef0f0}.device-info-status[data-v-022443c3]{border-radius:999px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.device-info-status.online[data-v-022443c3],.self-test-badge.ok[data-v-022443c3]{color:#16a34a;background:#ecfdf3}.device-info-status.offline[data-v-022443c3],.self-test-badge.bad[data-v-022443c3]{color:#dc2626;background:#fff1f2}.self-test-badge.unknown[data-v-022443c3]{color:#64748b;background:#f1f5f9}.camera-state-section[data-v-022443c3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:10px 0 12px;padding:10px}.camera-work-row[data-v-022443c3]{justify-content:space-between;align-items:center;gap:10px;display:flex}.camera-work-label[data-v-022443c3]{color:#64748b;font-size:12px;font-weight:700}.camera-work-status[data-v-022443c3]{color:#1677ff;font-size:13px;font-weight:800}.camera-work-status.busy[data-v-022443c3]{color:#d97706}.camera-work-status.error[data-v-022443c3]{color:#dc2626}.camera-work-status.active[data-v-022443c3]{color:#16a34a}.camera-roi-warning[data-v-022443c3]{color:#d97706;margin:7px 0 0;font-size:12px;line-height:1.35}.presence-grid[data-v-022443c3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.presence-item[data-v-022443c3]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:7px 8px}.presence-item span[data-v-022443c3],.presence-item strong[data-v-022443c3]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.presence-item span[data-v-022443c3]{color:#64748b;font-size:11px}.presence-item strong[data-v-022443c3]{color:#64748b;margin-top:2px;font-size:13px;font-weight:800}.presence-item.present[data-v-022443c3]{background:#fff7f7;border-color:#f56c6c4d}.presence-item.present strong[data-v-022443c3]{color:#dc2626}.presence-item.ready[data-v-022443c3]{background:#f0fdf4;border-color:#16a34a57}.presence-item.ready strong[data-v-022443c3]{color:#16a34a}.presence-item.inactive[data-v-022443c3]{opacity:.62}.camera-preview[data-v-022443c3]{aspect-ratio:16/9;background:#0f172a;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a0d}.camera-preview img[data-v-022443c3]{object-fit:cover;width:100%;height:100%;display:block}.camera-preview-placeholder[data-v-022443c3]{color:#e2e8f0eb;background:linear-gradient(135deg,#0f172aeb,#1e293beb),repeating-linear-gradient(90deg,#94a3b814 0 1px,#0000 1px 22px);flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;display:flex}.camera-preview-placeholder strong[data-v-022443c3]{font-size:15px}.camera-preview-placeholder p[data-v-022443c3]{color:#cbd5e1b3;margin:0;font-size:12px}.camera-lens[data-v-022443c3]{border:2px solid #7dd3fccc;border-radius:50%;width:34px;height:34px;box-shadow:inset 0 0 0 8px #0ea5e938}.camera-metrics-strip[data-v-022443c3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.camera-metrics-strip div[data-v-022443c3]{background:#fff;border:1px solid #eef2f7;border-radius:10px;min-width:0;padding:9px 10px}.camera-metrics-strip span[data-v-022443c3],.camera-metrics-strip strong[data-v-022443c3]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.camera-metrics-strip span[data-v-022443c3]{color:#94a3b8;font-size:11px;font-weight:700}.camera-metrics-strip strong[data-v-022443c3]{color:#0f172a;margin-top:3px;font-size:13px;font-weight:800}.area-capture-btn[data-v-022443c3]{color:#1677ff;cursor:pointer;text-align:center;background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;width:100%;min-height:30px;margin-top:7px;padding:5px 6px;font-size:12px;font-weight:800;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s,color .2s,opacity .2s}.area-capture-btn span[data-v-022443c3],.area-capture-btn small[data-v-022443c3]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.area-capture-btn span[data-v-022443c3]{color:inherit;margin:0;font-size:12px;line-height:1.15}.area-capture-btn small[data-v-022443c3]{color:#64748b;margin-top:1px;font-size:9.5px;font-weight:600;line-height:1.1}.area-capture-btn[data-v-022443c3]:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 6px 16px #2563eb1f}.area-capture-btn[data-v-022443c3]:disabled{cursor:not-allowed;color:#94a3b8;opacity:.82;background:#f8fafc;border-color:#eef2f7}.area-capture-btn:disabled small[data-v-022443c3]{color:#94a3b8}@keyframes breathe-022443c3{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.55;transform:scale(1.08)}}.device-detail-overlay[data-v-022443c3]{z-index:2000;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.device-detail-modal[data-v-022443c3]{z-index:2001;background:#fff;border-radius:20px;flex-direction:column;width:420px;max-width:92vw;max-height:calc(100vh - 80px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #0000002e}.detail-modal-header[data-v-022443c3],.device-info-head[data-v-022443c3],.section-title-row[data-v-022443c3],.self-test-head[data-v-022443c3]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-modal-header[data-v-022443c3]{flex-shrink:0;gap:16px;padding:22px 22px 14px}.detail-modal-header h3[data-v-022443c3],.device-info-head h4[data-v-022443c3],.firmware-section h4[data-v-022443c3],.self-test-head h4[data-v-022443c3],.section-title-row h4[data-v-022443c3]{color:#0f172a;margin:0;font-weight:900;line-height:1.25}.detail-modal-header h3[data-v-022443c3]{margin:0}.detail-subtitle[data-v-022443c3]{color:#8a8a8a;margin:6px 0 0;font-size:14px}.detail-close-btn[data-v-022443c3]{cursor:pointer;color:#333;background:0 0;border:none;font-size:28px;line-height:1}.device-info-head p[data-v-022443c3],.section-title-row span[data-v-022443c3]{color:#64748b;word-break:break-all;margin:5px 0 0;font-size:13px;line-height:1.35}.detail-modal-body[data-v-022443c3]{scrollbar-gutter:stable;overscroll-behavior:contain;flex:1;min-height:0;padding:0 22px 16px;overflow-y:auto}.detail-modal-footer[data-v-022443c3]{background:linear-gradient(#ffffffe0,#fff 34%);border-top:1px solid #eef2f7;flex-shrink:0;margin-top:0;padding:14px 22px 18px;position:sticky;bottom:0}.device-info-section[data-v-022443c3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:8px;padding:12px 14px}.firmware-section[data-v-022443c3],.self-test-section[data-v-022443c3],.capture-section[data-v-022443c3],.roi-section[data-v-022443c3],.ptz-section[data-v-022443c3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:12px 0;padding:14px}.roi-calibration-layout[data-v-022443c3]{gap:12px;margin-top:12px;display:grid}.roi-calibration-canvas[data-v-022443c3]{aspect-ratio:16/9;touch-action:none;-webkit-user-select:none;user-select:none;background:#0f172a;border:1px solid #dbe3ef;border-radius:12px;position:relative;overflow:hidden}.roi-calibration-canvas img[data-v-022443c3]{object-fit:cover;width:100%;height:100%;display:block}.roi-placeholder[data-v-022443c3]{color:#e2e8f0eb;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;display:flex}.roi-placeholder span[data-v-022443c3]{color:#cbd5e1b8;font-size:12px}.roi-box[data-v-022443c3]{cursor:move;touch-action:none;background:#0ea5e924;border:2px solid #38bdf8;border-radius:8px;padding:0;position:absolute}.roi-box.active[data-v-022443c3]{background:#f59e0b2e;border-color:#f59e0b}.roi-box span[data-v-022443c3]{color:#fff;text-align:center;background:#0f172ac7;border-radius:999px;min-width:20px;height:20px;font-size:12px;font-weight:800;line-height:20px;position:absolute;top:5px;left:6px}.roi-box i[data-v-022443c3]{cursor:nwse-resize;background:#f59e0b;border-radius:4px;width:14px;height:14px;position:absolute;bottom:-5px;right:-5px}.roi-editor-list[data-v-022443c3]{gap:10px;display:grid}.roi-editor-item[data-v-022443c3]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.roi-editor-item.active[data-v-022443c3]{border-color:#f59e0b80;box-shadow:0 0 0 3px #f59e0b14}.roi-global-config .roi-editor-title[data-v-022443c3]{cursor:default}.roi-editor-title[data-v-022443c3]{color:#0f172a;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:800}.roi-editor-item label[data-v-022443c3]{margin-top:8px;display:block}.roi-editor-item label>span[data-v-022443c3]{color:#64748b;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.roi-editor-item input[data-v-022443c3]{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #dbe3f0;border-radius:10px;width:100%;min-height:38px;padding:0 10px;font-size:13px}.roi-number-grid[data-v-022443c3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.roi-global-config .roi-number-grid[data-v-022443c3],.roi-network-grid[data-v-022443c3]{grid-template-columns:repeat(2,minmax(0,1fr))}.roi-preset-group[data-v-022443c3]{border-top:1px dashed #dbe3f0;margin-top:10px;padding-top:8px}.roi-preset-title[data-v-022443c3]{color:#334155;font-size:12px;font-weight:800}.roi-preset-grid[data-v-022443c3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.device-info-head[data-v-022443c3]{gap:10px;margin-bottom:10px}.device-info-head h4[data-v-022443c3]{font-size:15px;font-weight:800;line-height:1.2}.device-info-head p[data-v-022443c3]{margin:3px 0 0;font-size:12px;line-height:1.25}.device-overview-grid[data-v-022443c3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;display:grid}.device-info-cell[data-v-022443c3]{min-width:0;padding:0}.device-info-cell span[data-v-022443c3]{color:#64748b;margin-bottom:3px;font-size:12px;line-height:1.2;display:block}.device-info-cell strong[data-v-022443c3],.device-info-cell input[data-v-022443c3]{color:#0f172a;word-break:break-all;width:100%;font-size:14px;font-weight:800;line-height:1.25;display:block}.device-info-cell input[data-v-022443c3]{box-sizing:border-box;background:0 0;border:none;outline:none;min-width:0;padding:0}.device-info-cell.editable[data-v-022443c3]{cursor:text}.device-info-cell input[data-v-022443c3]::placeholder{color:#94a3b8;font-weight:600}.device-info-cell[data-v-022443c3]:focus-within{background:#409eff14;border-radius:8px}.modal-label[data-v-022443c3]{color:#64748b;margin:12px 0 7px;font-size:13px;font-weight:700;display:block}.firmware-info-grid[data-v-022443c3],.self-test-grid[data-v-022443c3]{gap:8px;margin-top:12px;display:grid}.self-test-grid[data-v-022443c3]{grid-template-columns:repeat(2,minmax(0,1fr))}.firmware-info-item[data-v-022443c3],.self-test-row[data-v-022443c3]{background:#fff;border:1px solid #eef2f7;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.firmware-info-item span[data-v-022443c3],.self-test-row span[data-v-022443c3],.self-test-summary[data-v-022443c3]{color:#64748b}.firmware-info-item strong[data-v-022443c3],.self-test-row strong[data-v-022443c3],.self-test-summary strong[data-v-022443c3]{color:#0f172a;text-align:right;word-break:break-word}.capture-info-grid[data-v-022443c3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.capture-info-item[data-v-022443c3]{background:#fff;border:1px solid #eef2f7;border-radius:10px;padding:9px 10px}.capture-info-item span[data-v-022443c3]{color:#64748b;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.capture-info-item strong[data-v-022443c3]{color:#0f172a;word-break:break-all;font-size:13px;font-weight:800;display:block}.capture-preview[data-v-022443c3]{background:#0f172a;border:1px solid #dbe3ef;border-radius:12px;margin-top:10px;overflow:hidden}.capture-preview img[data-v-022443c3]{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.capture-retry-actions[data-v-022443c3]{justify-content:flex-end;margin-top:10px;display:flex}.self-test-summary[data-v-022443c3]{justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;display:flex}.self-test-row.ok strong[data-v-022443c3]{color:#16a34a}.self-test-row.bad strong[data-v-022443c3]{color:#dc2626}.self-test-row.unknown strong[data-v-022443c3]{color:#64748b}.self-test-status-line[data-v-022443c3],.camera-message[data-v-022443c3],.ota-result[data-v-022443c3]{color:#2563eb;background:#eef4ff;border-radius:10px;margin:10px 0 0;padding:9px 10px;font-size:13px;line-height:1.5}.camera-message.error[data-v-022443c3],.ota-error-msg[data-v-022443c3]{color:#b91c1c;background:#fff1f0}.ota-feedback-slot[data-v-022443c3]{margin-top:10px}.ota-progress-box[data-v-022443c3]{color:#1d4ed8;background:#eef4ff;border:1px solid #2563eb2e;border-radius:12px;padding:10px 12px}.ota-progress-box.success[data-v-022443c3]{color:#15803d;background:#ecfdf3;border-color:#16a34a38}.ota-progress-box.failed[data-v-022443c3]{color:#b91c1c;background:#fff1f2;border-color:#dc262638}.ota-progress-head[data-v-022443c3]{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.ota-progress-track[data-v-022443c3]{background:#2563eb29;border-radius:999px;height:8px;margin-top:9px;overflow:hidden}.ota-progress-fill[data-v-022443c3]{border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%;transition:width .18s}.ptz-grid[data-v-022443c3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.ptz-grid button[data-v-022443c3],.btn-secondary[data-v-022443c3],.btn-primary[data-v-022443c3],.btn-danger[data-v-022443c3]{cursor:pointer;border:none;border-radius:10px;min-height:36px;font-weight:800}.ptz-grid button[data-v-022443c3]{color:#075985;background:#e0f2fe}.ptz-grid button[data-v-022443c3]:disabled,.btn-secondary[data-v-022443c3]:disabled,.btn-primary[data-v-022443c3]:disabled,.btn-danger[data-v-022443c3]:disabled{cursor:not-allowed;opacity:.55}.step-row[data-v-022443c3]{color:#64748b;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;gap:10px;margin-top:12px;font-size:13px;font-weight:700;display:grid}.step-row input[data-v-022443c3]{width:100%}.step-row strong[data-v-022443c3]{color:#0f172a;text-align:right}.detail-modal-actions[data-v-022443c3]{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.btn-secondary[data-v-022443c3]{color:#2563eb;background:#eef4ff;padding:8px 12px}.btn-primary[data-v-022443c3]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);padding:8px 12px}.btn-danger[data-v-022443c3]{color:#f53f3f;background:#fff1f0;padding:8px 12px}.detail-overlay-fade-enter-active[data-v-022443c3],.detail-overlay-fade-leave-active[data-v-022443c3]{transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.detail-overlay-fade-enter-from[data-v-022443c3],.detail-overlay-fade-leave-to[data-v-022443c3]{opacity:0}.detail-card-pop-enter-active[data-v-022443c3]{transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1),filter .42s cubic-bezier(.2,.8,.2,1)}.detail-card-pop-leave-active[data-v-022443c3]{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1)}.detail-card-pop-enter-from[data-v-022443c3]{opacity:0;filter:blur(10px);transform:translateY(24px)scale(.94)}.detail-card-pop-leave-to[data-v-022443c3]{opacity:0;filter:blur(8px);transform:translateY(16px)scale(.98)}@keyframes onlineCardFlash-022443c3{0%{transform:translateY(0)}30%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes onlineCardSweep-022443c3{0%{opacity:0;transform:translate(-100%)}28%{opacity:1}to{opacity:0;transform:translate(100%)}}.app-container.night-mode{color:#94a3b8c7;background:#0f172a8f;border:1px solid #94a3b829;box-shadow:0 18px 40px #00000059}@media (width<=520px){.device-overview-grid[data-v-022443c3],.capture-info-grid[data-v-022443c3],.self-test-grid[data-v-022443c3],.roi-number-grid[data-v-022443c3],.roi-preset-grid[data-v-022443c3],.ptz-grid[data-v-022443c3]{grid-template-columns:1fr}}.card-header[data-v-abb0c4ff]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.device-title-block[data-v-abb0c4ff]{flex-direction:column;min-width:0;display:flex}.device-title-block h3[data-v-abb0c4ff]{margin:0}.last-seen-under-name[data-v-abb0c4ff]{color:#8a8a8a;margin:6px 0 0;font-size:14px;line-height:1.4}.status-badge[data-v-abb0c4ff]{white-space:nowrap;flex-shrink:0}.card-status-stack[data-v-abb0c4ff]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:inline-flex}.status-badge[data-v-abb0c4ff]{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge[data-v-abb0c4ff]:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.status-badge.online[data-v-abb0c4ff]{color:#18a058;background:#e8f7ed;animation:2s ease-in-out infinite breathe-abb0c4ff}.status-badge.offline[data-v-abb0c4ff]{color:#f56c6c;background:#fef0f0}.self-test-badge[data-v-abb0c4ff]{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.self-test-badge[data-v-abb0c4ff]:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.self-test-badge.ok[data-v-abb0c4ff]{color:#16a34a;background:#ecfdf3}.self-test-badge.bad[data-v-abb0c4ff]{color:#dc2626;background:#fff1f2}.self-test-badge.unknown[data-v-abb0c4ff]{color:#64748b;background:#f1f5f9}@keyframes breathe-abb0c4ff{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.55;transform:scale(1.08)}}@keyframes onlineCardFlash-abb0c4ff{0%{transform:translateY(0)}35%{transform:translateY(-2px);box-shadow:0 18px 36px #22c55e29,0 0 0 1px #22c55e33}to{transform:translateY(0)}}@keyframes onlineCardSweep-abb0c4ff{0%{opacity:0;transform:translate(-100%)}30%{opacity:1}to{opacity:0;transform:translate(100%)}}.clickable-header[data-v-abb0c4ff]{cursor:pointer;transition:transform .18s,opacity .18s}.clickable-header[data-v-abb0c4ff]:hover{opacity:.96;transform:translateY(-1px)}.device-detail-overlay[data-v-abb0c4ff]{z-index:2000;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.device-detail-modal[data-v-abb0c4ff]{z-index:2001;background:#fff;border-radius:20px;flex-direction:column;width:420px;max-width:92vw;max-height:calc(100vh - 80px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #0000002e}.detail-modal-header[data-v-abb0c4ff]{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 14px;display:flex}.detail-modal-header h3[data-v-abb0c4ff]{margin:0}.detail-subtitle[data-v-abb0c4ff]{color:#8a8a8a;margin:6px 0 0;font-size:14px}.detail-modal-body[data-v-abb0c4ff]{scrollbar-gutter:stable;overscroll-behavior:contain;flex:1;min-height:0;padding:0 22px 16px;overflow-y:auto}.detail-modal-footer[data-v-abb0c4ff]{background:linear-gradient(#ffffffe0,#fff 34%);border-top:1px solid #eef2f7;flex-shrink:0;margin-top:0;padding:14px 22px 18px;position:sticky;bottom:0}.detail-close-btn[data-v-abb0c4ff]{cursor:pointer;color:#333;background:0 0;border:none;font-size:28px;line-height:1}.detail-info-item[data-v-abb0c4ff]{background:#f8fafc;border-radius:12px;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.device-info-section[data-v-abb0c4ff]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:8px;padding:12px 14px}.device-info-head[data-v-abb0c4ff]{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.device-info-head h4[data-v-abb0c4ff]{color:#0f172a;margin:0;font-size:15px;font-weight:800;line-height:1.2}.device-info-head p[data-v-abb0c4ff]{color:#64748b;word-break:break-all;margin:3px 0 0;font-size:12px;line-height:1.25}.device-info-status[data-v-abb0c4ff]{border-radius:999px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.device-info-status.online[data-v-abb0c4ff]{color:#16a34a;background:#ecfdf3}.device-info-status.offline[data-v-abb0c4ff]{color:#dc2626;background:#fff1f2}.device-overview-grid[data-v-abb0c4ff]{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;display:grid}.device-info-cell[data-v-abb0c4ff]{min-width:0;padding:0}.device-info-cell span[data-v-abb0c4ff]{color:#64748b;margin-bottom:3px;font-size:12px;line-height:1.2;display:block}.device-info-cell strong[data-v-abb0c4ff]{color:#0f172a;word-break:break-all;font-size:14px;font-weight:800;line-height:1.25;display:block}.device-info-cell.editable[data-v-abb0c4ff]{cursor:text}.device-info-cell input[data-v-abb0c4ff]{box-sizing:border-box;color:#0f172a;background:0 0;border:none;outline:none;width:100%;min-width:0;padding:0;font-size:14px;font-weight:800;line-height:1.25}.device-info-cell input[data-v-abb0c4ff]::placeholder{color:#94a3b8;font-weight:600}.device-info-cell[data-v-abb0c4ff]:focus-within{background:#409eff14;border-radius:8px}.detail-label[data-v-abb0c4ff]{color:#64748b}.detail-value[data-v-abb0c4ff]{color:#0f172a;font-weight:600}.detail-modal-actions[data-v-abb0c4ff]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.firmware-section[data-v-abb0c4ff],.self-test-section[data-v-abb0c4ff]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:12px 0;padding:14px}.self-test-head[data-v-abb0c4ff]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.self-test-head h4[data-v-abb0c4ff]{color:#0f172a;margin:0;font-size:15px;font-weight:800}.self-test-summary[data-v-abb0c4ff]{color:#64748b;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.self-test-summary strong[data-v-abb0c4ff]{color:#0f172a;text-align:right}.self-test-grid[data-v-abb0c4ff]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.self-test-row[data-v-abb0c4ff]{background:#fff;border:1px solid #eef2f7;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.self-test-row span[data-v-abb0c4ff]{color:#64748b}.self-test-row strong[data-v-abb0c4ff]{text-align:right}.self-test-row.ok strong[data-v-abb0c4ff]{color:#16a34a}.self-test-row.bad strong[data-v-abb0c4ff]{color:#dc2626}.self-test-row.unknown strong[data-v-abb0c4ff]{color:#64748b}.self-test-status-line[data-v-abb0c4ff]{color:#2563eb;word-break:break-all;background:#eef4ff;border-radius:10px;margin:10px 0 0;padding:9px 10px;font-size:13px;line-height:1.5}@media (width<=520px){.device-overview-grid[data-v-abb0c4ff],.self-test-grid[data-v-abb0c4ff]{grid-template-columns:1fr}}.firmware-section h4[data-v-abb0c4ff]{color:#0f172a;margin:0 0 12px;font-size:15px;font-weight:800}.firmware-info-grid[data-v-abb0c4ff]{gap:8px;margin-top:12px;display:grid}.firmware-info-item[data-v-abb0c4ff]{background:#fff;border:1px solid #eef2f7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.firmware-info-item span[data-v-abb0c4ff]{color:#64748b;font-size:13px}.firmware-info-item strong[data-v-abb0c4ff]{color:#0f172a;text-align:right;word-break:break-all;font-size:13px}.ota-feedback-slot[data-v-abb0c4ff]{flex-direction:column;gap:8px;margin-top:10px;display:flex}.ota-result[data-v-abb0c4ff]{color:#2563eb;scrollbar-gutter:stable;background:#eef4ff;border-radius:10px;max-height:92px;padding:9px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.ota-progress-box[data-v-abb0c4ff]{color:#1d4ed8;background:#eef4ff;border:1px solid #2563eb2e;border-radius:12px;padding:10px 12px}.ota-progress-box.success[data-v-abb0c4ff]{color:#15803d;background:#ecfdf3;border-color:#16a34a38}.ota-progress-box.failed[data-v-abb0c4ff]{color:#b91c1c;background:#fff1f2;border-color:#dc262638}.ota-progress-head[data-v-abb0c4ff]{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.ota-progress-head strong[data-v-abb0c4ff]{color:inherit;font-size:14px}.ota-progress-track[data-v-abb0c4ff]{background:#2563eb29;border-radius:999px;height:8px;margin-top:9px;overflow:hidden}.ota-progress-fill[data-v-abb0c4ff]{border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%;transition:width .18s}.ota-progress-box.success .ota-progress-track[data-v-abb0c4ff]{background:#16a34a29}.ota-progress-box.success .ota-progress-fill[data-v-abb0c4ff]{background:linear-gradient(90deg,#86efac,#16a34a)}.ota-progress-box.failed .ota-progress-track[data-v-abb0c4ff]{background:#dc262624}.ota-progress-box.failed .ota-progress-fill[data-v-abb0c4ff]{background:linear-gradient(90deg,#fca5a5,#dc2626)}.ota-progress-sub[data-v-abb0c4ff]{color:#1e40afc7;margin-top:7px;font-size:12px;line-height:1.45}.ota-progress-box.success .ota-progress-sub[data-v-abb0c4ff]{color:#15803dc7}.ota-progress-box.failed .ota-progress-sub[data-v-abb0c4ff]{color:#b91c1cc7}.ota-error-msg[data-v-abb0c4ff]{color:#b91c1c;background:#fff1f0;border:1px solid #f53f3f2e;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.5}.ota-actions[data-v-abb0c4ff]{flex-wrap:wrap;margin-top:10px}.detail-overlay-fade-enter-active[data-v-abb0c4ff],.detail-overlay-fade-leave-active[data-v-abb0c4ff]{transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.detail-overlay-fade-enter-from[data-v-abb0c4ff],.detail-overlay-fade-leave-to[data-v-abb0c4ff]{opacity:0}.detail-overlay-fade-enter-to[data-v-abb0c4ff],.detail-overlay-fade-leave-from[data-v-abb0c4ff]{opacity:1}.lamp-card[data-v-abb0c4ff],.placeholder-card[data-v-abb0c4ff]{background:var(--card-bg);border-radius:var(--border-radius);border:1px solid #e2e8f0db;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s,opacity .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000d}.lamp-card[data-v-abb0c4ff]:after{content:"";pointer-events:none;border-radius:inherit;opacity:0;background:linear-gradient(115deg,#0000 0%,#22c55e24 45%,#0000 58%);position:absolute;inset:0;transform:translate(-100%)}.lamp-card.is-online[data-v-abb0c4ff]{border-color:#22c55e42;box-shadow:0 8px 22px #0f172a0f,0 0 0 1px #22c55e14}.lamp-card.is-offline[data-v-abb0c4ff]{opacity:.82;border-color:#e2e8f0e6}.lamp-card.online-flash[data-v-abb0c4ff]{animation:.9s cubic-bezier(.22,1,.36,1) onlineCardFlash-abb0c4ff}.lamp-card.online-flash[data-v-abb0c4ff]:after{animation:.9s cubic-bezier(.22,1,.36,1) onlineCardSweep-abb0c4ff}.lamp-card h3[data-v-abb0c4ff]{margin-bottom:12px;font-size:18px}.color-box[data-v-abb0c4ff]{text-align:center;border:1px solid #ccc;border-radius:12px;justify-content:center;align-items:center;min-width:180px;height:40px;margin-top:12px;padding:0 12px;display:inline-flex;box-shadow:inset 0 0 4px #00000014}.lamp-card input[type=range][data-v-abb0c4ff]{width:100%;margin-top:6px}.lamp-card input[type=range][data-v-abb0c4ff]:disabled{opacity:.5;cursor:not-allowed}.field-label[data-v-abb0c4ff]{color:#606266;margin-top:12px;margin-bottom:6px;font-size:14px;display:block}.checkbox-row[data-v-abb0c4ff]{color:#606266;align-items:center;gap:8px;margin-top:12px;display:flex}.cloth-state-strip[data-v-abb0c4ff]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.cloth-state-strip div[data-v-abb0c4ff]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:8px}.cloth-state-strip span[data-v-abb0c4ff],.cloth-state-strip strong[data-v-abb0c4ff]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cloth-state-strip span[data-v-abb0c4ff]{color:#64748b;font-size:11px}.cloth-state-strip strong[data-v-abb0c4ff]{color:#0f172a;margin-top:2px;font-size:13px;font-weight:800}.card-actions[data-v-abb0c4ff]{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.detail-card-pop-enter-active[data-v-abb0c4ff]{transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1),filter .42s cubic-bezier(.2,.8,.2,1)}.detail-card-pop-leave-active[data-v-abb0c4ff]{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1)}.detail-card-pop-enter-from[data-v-abb0c4ff]{opacity:0;filter:blur(10px);transform:translateY(24px)scale(.94)}.detail-card-pop-enter-to[data-v-abb0c4ff],.detail-card-pop-leave-from[data-v-abb0c4ff]{opacity:1;filter:blur();transform:translateY(0)scale(1)}.detail-card-pop-leave-to[data-v-abb0c4ff]{opacity:0;filter:blur(8px);transform:translateY(16px)scale(.98)}.ai-actions[data-v-abb0c4ff]{flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:4px;display:flex}.hidden-file-input[data-v-abb0c4ff]{display:none}.btn-ai[data-v-abb0c4ff]{cursor:pointer;color:#1677ff;background:#eef4ff;border:none;border-radius:10px;padding:8px 12px;font-size:13px;transition:all .2s}.btn-ai[data-v-abb0c4ff]:hover{background:#dbeafe}.btn-ai.active[data-v-abb0c4ff]{color:#f53f3f;background:#fff1f0}.btn-ai[data-v-abb0c4ff]:disabled{cursor:not-allowed;opacity:.6}.btn-preview[data-v-abb0c4ff]{margin-left:8px}.cloth-preview-modal[data-v-abb0c4ff]{z-index:2001;background:#fff;border-radius:18px;width:min(980px,92vw);max-height:88vh;padding:20px;position:relative;overflow:auto;box-shadow:0 20px 60px #0f172a3d}.cloth-preview-content[data-v-abb0c4ff]{grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);align-items:start;gap:16px;margin-top:14px;display:grid}.cloth-preview-image-wrap[data-v-abb0c4ff]{min-width:0}.cloth-preview-image[data-v-abb0c4ff]{object-fit:contain;background:#f6f7f9;border-radius:14px;width:100%;max-height:560px}.ai-reason-card[data-v-abb0c4ff]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;max-height:560px;padding:14px;overflow-y:auto}.ai-reason-title[data-v-abb0c4ff]{color:#0f172a;margin-bottom:10px;font-size:15px;font-weight:800}.ai-reason-section[data-v-abb0c4ff]{margin-top:10px}.ai-reason-label[data-v-abb0c4ff]{color:#2563eb;margin-bottom:4px;font-size:12px;font-weight:700;display:inline-flex}.ai-reason-section p[data-v-abb0c4ff]{color:#475569;margin:0;font-size:13px;line-height:1.6}.ai-reason-summary[data-v-abb0c4ff]{color:#1d4ed8;background:#eef4ff;border-radius:12px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.6}@media (width<=820px){.cloth-preview-content[data-v-abb0c4ff]{grid-template-columns:1fr}.ai-reason-card[data-v-abb0c4ff]{max-height:none}}.modal-hint[data-v-abb0c4ff]{color:#94a3b8;margin:6px 0 0;font-size:12px;line-height:1.5}.modal-error[data-v-abb0c4ff]{color:#f53f3f;background:#fff1f0;border-radius:10px;margin:8px 0 0;padding:8px 10px;font-size:13px;line-height:1.5}.modal-label[data-v-abb0c4ff]{color:#64748b;margin:14px 0 7px;font-size:13px;font-weight:600;display:block}.modal-input[data-v-abb0c4ff]{box-sizing:border-box;color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;outline:none;width:100%;padding:11px 12px;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.modal-input[data-v-abb0c4ff]:focus{background:#fff;border-color:#409eff;box-shadow:0 0 0 3px #409eff24}.modal-input[data-v-abb0c4ff]::placeholder{color:#94a3b8}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172aeb;border:1px solid #94a3b833;box-shadow:0 26px 70px #00000080}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#cbd5e1b8}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode)){background:#0f172a9e;border:1px solid #94a3b82e}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#fecacaf5;border-color:#f871713d}body:has(.app-container.night-mode){background:#0f172adb;border-color:#60a5fab8;box-shadow:0 0 0 3px #2563eb2e}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#fecaca;background:#7f1d1d42;border:1px solid #f8717138}body:has(.app-container.night-mode){background:#0f172a9e;border:1px solid #94a3b82e}body:has(.app-container.night-mode){color:#fecaca;background:#7f1d1d47}.app-container.night-mode,.app-container.night-mode{color:#f8fafcf5;background:#0f172ad1;border:1px solid #94a3b82e;box-shadow:0 18px 40px #00000059}.app-container.night-mode{color:#fecaca;background:#7f1d1d47;border:1px solid #94a3b847;box-shadow:inset 0 0 0 1px #0f172a38}.unknown-device-card[data-v-814fda87]{border-radius:var(--border-radius);background:var(--card-bg);border:1px solid #e2e8f0db;padding:20px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000d}.unknown-device-card.offline[data-v-814fda87]{opacity:.82}.unknown-device-header[data-v-814fda87]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.unknown-device-header h3[data-v-814fda87]{color:#0f172a;margin:0;font-size:18px}.unknown-device-header p[data-v-814fda87]{color:#64748b;margin:6px 0 0;font-size:13px}.status-badge[data-v-814fda87]{border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:800}.status-badge.online[data-v-814fda87]{color:#16a34a;background:#ecfdf3}.status-badge.offline[data-v-814fda87]{color:#dc2626;background:#fff1f2}.unknown-device-grid[data-v-814fda87]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0 0;display:grid}.unknown-device-grid div[data-v-814fda87]{min-width:0}.unknown-device-grid dt[data-v-814fda87]{color:#64748b;font-size:12px}.unknown-device-grid dd[data-v-814fda87]{color:#0f172a;word-break:break-all;margin:4px 0 0;font-size:14px;font-weight:800}.unknown-device-actions[data-v-814fda87]{justify-content:flex-end;margin-top:16px;display:flex}@media (width<=520px){.unknown-device-grid[data-v-814fda87]{grid-template-columns:1fr}}.card-list-enter-active{transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),filter .34s cubic-bezier(.22,1,.36,1)}.card-list-enter-from{opacity:0;filter:blur(6px);transform:translateY(14px)scale(.98)}.card-list-enter-to{opacity:1;filter:blur();transform:translateY(0)scale(1)}.card-list-leave-active{transition:opacity .25s,transform .25s}.card-list-leave-to{opacity:0;transform:scale(.85)}.card-list-move{transition:transform .3s}.modal-overlay[data-v-b117d148]{z-index:2000;background:#0006;justify-content:center;align-items:center;animation:.22s ease-out overlay-fade-in-b117d148;display:flex;position:fixed;inset:0}.modal-card[data-v-b117d148]{z-index:2001;background:#fff;border-radius:16px;width:360px;max-width:92vw;padding:24px;position:relative;box-shadow:0 12px 32px #0000002e}.modal-card h3[data-v-b117d148]{margin-bottom:16px}.modal-label[data-v-b117d148]{color:#606266;margin:12px 0 6px;font-size:14px;display:block}.modal-input[data-v-b117d148]{border:1px solid #dcdfe6;border-radius:8px;width:100%;padding:10px 12px}.modal-actions[data-v-b117d148]{gap:12px;margin-top:20px;display:flex}.btn-confirm[data-v-b117d148],.btn-cancel[data-v-b117d148]{cursor:pointer;border:none;border-radius:10px;flex:1;padding:10px 12px}.btn-confirm[data-v-b117d148]{color:#fff;background:#409eff}.btn-cancel[data-v-b117d148]{color:#303133;background:#f2f3f5}@keyframes overlay-fade-in-b117d148{0%{opacity:0}to{opacity:1}}.ios-modal-card-enter-active[data-v-b117d148],.ios-modal-card-leave-active[data-v-b117d148]{will-change:opacity, transform, filter;transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1),filter .42s cubic-bezier(.2,.8,.2,1)}.ios-modal-card-leave-active[data-v-b117d148]{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1)}.ios-modal-card-enter-from[data-v-b117d148]{opacity:0;filter:blur(10px);transform:translateY(28px)scale(.94)}.ios-modal-card-enter-to[data-v-b117d148],.ios-modal-card-leave-from[data-v-b117d148]{opacity:1;filter:blur();transform:translateY(0)scale(1)}.ios-modal-card-leave-to[data-v-b117d148]{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.98)}.modal-overlay-fade-enter-active[data-v-b117d148],.modal-overlay-fade-leave-active[data-v-b117d148]{transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.modal-overlay-fade-enter-from[data-v-b117d148],.modal-overlay-fade-leave-to[data-v-b117d148]{opacity:0}.modal-overlay-fade-enter-to[data-v-b117d148],.modal-overlay-fade-leave-from[data-v-b117d148]{opacity:1}.compact-readonly-grid[data-v-b117d148]{grid-template-columns:1fr 1fr;gap:8px 10px;margin-bottom:12px;display:grid}.readonly-item[data-v-b117d148]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px}.readonly-item-full[data-v-b117d148]{grid-column:1/-1}.readonly-label[data-v-b117d148]{color:#64748b;margin-bottom:3px;font-size:11px;line-height:1.2}.readonly-value[data-v-b117d148]{color:#0f172a;word-break:break-all;font-size:13px;font-weight:600;line-height:1.35}body:has(.app-container.night-mode){background:#020617a8}body:has(.app-container.night-mode){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ae6;border:1px solid #94a3b833;box-shadow:0 24px 60px #0000007a}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){border-color:#60a5fab8;box-shadow:0 0 0 3px #2563eb2e}body:has(.app-container.night-mode){background:#0f172a9e;border-color:#94a3b82e}body:has(.app-container.night-mode){color:#f8fafcf5}body:has(.app-container.night-mode){color:#e2e8f0e6;background:#1e293bd1;border:1px solid #94a3b83d}.flow-monitor-panel[data-v-0c99863e]{width:100%}.flow-header[data-v-0c99863e]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detect-upload-card[data-v-0c99863e]{background:#f7f8fa;border:1px solid #e5e6eb;border-radius:14px;margin-bottom:16px;padding:16px}.detect-upload-header[data-v-0c99863e]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.detect-upload-title[data-v-0c99863e]{color:#1d2129;font-size:14px;font-weight:700}.detect-upload-hint[data-v-0c99863e]{color:#86909c;font-size:12px}.detect-upload-body[data-v-0c99863e]{align-items:flex-start;gap:16px;display:flex}.detect-preview-col[data-v-0c99863e]{flex-shrink:0;width:200px}.detect-placeholder[data-v-0c99863e]{cursor:pointer;color:#86909c;background:#fff;border:2px dashed #c9cdd4;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:200px;height:150px;font-size:13px;transition:border-color .2s,color .2s;display:flex}.detect-placeholder[data-v-0c99863e]:hover{color:#1677ff;border-color:#1677ff}.detect-placeholder-icon[data-v-0c99863e]{font-size:32px;font-weight:300;line-height:1}.detect-image-preview[data-v-0c99863e]{position:relative}.detect-image-preview img[data-v-0c99863e]{object-fit:cover;border-radius:12px;width:200px;height:150px;display:block}.detect-reselect-btn[data-v-0c99863e]{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:6px;padding:4px 10px;font-size:11px;position:absolute;bottom:6px;right:6px}.detect-action-col[data-v-0c99863e]{flex:1;min-width:0}.detect-btn[data-v-0c99863e]{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 22px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.detect-btn[data-v-0c99863e]:hover:not(:disabled){background:#4096ff}.detect-btn[data-v-0c99863e]:disabled{cursor:not-allowed;background:#a0c4ff}.detect-btn-loading[data-v-0c99863e]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite detect-spin-0c99863e;display:inline-block}@keyframes detect-spin-0c99863e{to{transform:rotate(360deg)}}.detect-error[data-v-0c99863e]{color:#f53f3f;background:#fff1f0;border:1px solid #ffccc7;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:13px}.detect-result-grid[data-v-0c99863e]{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.detect-result-item[data-v-0c99863e]{background:#fff;border-radius:10px;padding:10px}.detect-result-label[data-v-0c99863e]{color:#86909c;margin-bottom:4px;font-size:12px;display:block}.detect-result-value[data-v-0c99863e]{color:#1d2129;word-break:break-all;font-size:15px}.detect-annotated-section[data-v-0c99863e]{margin-top:16px}.detect-annotated-title[data-v-0c99863e]{color:#1d2129;margin-bottom:10px;font-size:13px;font-weight:600}.detect-annotated-preview[data-v-0c99863e]{cursor:pointer;background:#f8fafc;border:1px solid #e5e6eb;border-radius:12px;justify-content:center;align-items:center;max-height:280px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.detect-annotated-preview[data-v-0c99863e]:hover{border-color:#1677ff}.detect-annotated-img[data-v-0c99863e]{object-fit:contain;width:100%;max-height:280px;display:block}.detect-annotated-hint[data-v-0c99863e]{color:#fff;pointer-events:none;background:#00000073;border-radius:6px;padding:3px 10px;font-size:11px;transition:background .2s;position:absolute;bottom:8px;right:10px}.detect-annotated-preview:hover .detect-annotated-hint[data-v-0c99863e]{background:#000000a6}.detect-lightbox-overlay[data-v-0c99863e]{z-index:9999;background:#000000b8;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.detect-lightbox-container[data-v-0c99863e]{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.detect-lightbox-img[data-v-0c99863e]{object-fit:contain;border-radius:10px;max-width:90vw;max-height:90vh;box-shadow:0 8px 40px #0006}.detect-lightbox-close[data-v-0c99863e]{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;line-height:1;transition:background .2s;display:flex;position:absolute;top:-36px;right:-36px}.detect-lightbox-close[data-v-0c99863e]:hover{background:#ffffff4d}.flow-subtitle[data-v-0c99863e]{color:#86909c;margin:-8px 0 16px;font-size:13px}.flow-list[data-v-0c99863e]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.flow-card[data-v-0c99863e]{background:#f7f8fa;border:1px solid #e5e6eb;border-radius:14px;padding:14px}.flow-card-top[data-v-0c99863e]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.flow-device-name[data-v-0c99863e]{color:#1d2129;font-size:15px;font-weight:700}.flow-device-sub[data-v-0c99863e]{color:#86909c;margin-top:4px;font-size:12px}.flow-status[data-v-0c99863e]{color:#1677ff;background:#eef4ff;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:12px}.flow-status.active[data-v-0c99863e]{color:#f53f3f;background:#fff1f0}.flow-data-grid[data-v-0c99863e]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.flow-data-item[data-v-0c99863e]{background:#fff;border-radius:12px;padding:10px}.flow-data-item span[data-v-0c99863e]{color:#86909c;margin-bottom:4px;font-size:12px;display:block}.flow-data-item strong[data-v-0c99863e]{color:#1d2129;font-size:15px}.flow-presence-list[data-v-0c99863e]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.flow-presence-item[data-v-0c99863e]{background:#fff;border:1px solid #e5e6eb;border-radius:10px;min-width:0;padding:8px}.flow-presence-item span[data-v-0c99863e],.flow-presence-item strong[data-v-0c99863e]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.flow-presence-item span[data-v-0c99863e]{color:#86909c;font-size:11px}.flow-presence-item strong[data-v-0c99863e]{color:#86909c;margin-top:2px;font-size:13px;font-weight:800}.flow-presence-item.active[data-v-0c99863e]{background:#fff7f7;border-color:#f53f3f47}.flow-presence-item.active strong[data-v-0c99863e]{color:#f53f3f}.flow-presence-item.ready[data-v-0c99863e]{background:#f0fdf4;border-color:#16a34a57}.flow-presence-item.ready strong[data-v-0c99863e]{color:#16a34a}.flow-presence-item.muted[data-v-0c99863e]{opacity:.58}.flow-roi-warning[data-v-0c99863e]{color:#d97706;margin:10px 0 0;font-size:12px;line-height:1.4}.flow-chart-box[data-v-0c99863e]{color:#86909c;background:#fff;border:1px dashed #c9cdd4;border-radius:12px;justify-content:center;align-items:center;height:160px;margin-top:12px;font-size:13px;display:flex}.empty-flow[data-v-0c99863e]{color:#86909c;text-align:center;background:#f7f8fa;border-radius:14px;padding:30px}@media (width<=768px){.settings-title[data-v-0c99863e]{font-size:16px}.detect-upload-body[data-v-0c99863e]{flex-direction:column}.detect-preview-col[data-v-0c99863e]{width:100%}.detect-placeholder[data-v-0c99863e]{width:100%;height:180px}.detect-image-preview img[data-v-0c99863e]{width:100%;height:auto;max-height:220px}.detect-result-grid[data-v-0c99863e]{grid-template-columns:1fr 1fr}.detect-annotated-preview[data-v-0c99863e],.detect-annotated-img[data-v-0c99863e]{max-height:220px}.detect-lightbox-overlay[data-v-0c99863e]{padding:20px}.detect-lightbox-close[data-v-0c99863e]{top:-32px;right:0}.flow-list[data-v-0c99863e]{grid-template-columns:1fr;gap:10px}.flow-card[data-v-0c99863e]{border-radius:12px;padding:10px 12px}.flow-card-top[data-v-0c99863e]{gap:8px;margin-bottom:8px}.flow-device-name[data-v-0c99863e]{font-size:13px}.flow-device-sub[data-v-0c99863e]{margin-top:2px;font-size:11px}.flow-status[data-v-0c99863e]{padding:3px 8px;font-size:11px}.flow-data-grid[data-v-0c99863e]{gap:6px}.flow-data-item[data-v-0c99863e]{border-radius:10px;padding:8px}.flow-data-item span[data-v-0c99863e]{margin-bottom:2px;font-size:11px}.flow-data-item strong[data-v-0c99863e]{font-size:13px}.flow-chart-box[data-v-0c99863e]{border-radius:10px;height:120px;margin-top:8px;font-size:12px}.empty-flow[data-v-0c99863e]{padding:20px}}.smart-config-section[data-v-f0f21556]{box-sizing:border-box;-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #ffffff8c;border-radius:24px;width:100%;min-width:0;margin:32px 0;padding:28px 24px;box-shadow:0 12px 30px #0f172a12}.smart-card[data-v-f0f21556]{box-sizing:border-box;-webkit-backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #ffffffc2;border-radius:18px;width:100%;min-width:0;max-width:900px;margin:0 auto;padding:24px;box-shadow:0 22px 52px #0f172a1f,inset 0 1px #ffffffe0}.smart-header[data-v-f0f21556]{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.smart-heading[data-v-f0f21556]{min-width:0}.smart-title[data-v-f0f21556]{color:#111827;letter-spacing:0;margin:0;font-size:22px;font-weight:800}.smart-desc[data-v-f0f21556]{color:#6b7280;margin:8px 0 0;font-size:14px;line-height:1.6}.smart-status[data-v-f0f21556]{color:#6b7280;background:#f3f4f6;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:800}.smart-status.active[data-v-f0f21556]{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.smart-status.success[data-v-f0f21556]{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.smart-status.error[data-v-f0f21556]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.smart-status.warning[data-v-f0f21556]{color:#92400e;background:#fffbeb;border-color:#fde68a}.smart-status.stopped[data-v-f0f21556]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.smart-steps[data-v-f0f21556]{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.smart-step[data-v-f0f21556]{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.smart-step span[data-v-f0f21556]{color:#fff;background:#2563eb;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.smart-step p[data-v-f0f21556]{color:#374151;margin:0;font-size:13px;line-height:1.35}.smart-form[data-v-f0f21556]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-row[data-v-f0f21556]{gap:7px;min-width:0;display:grid}.wifi-field[data-v-f0f21556],.password-field[data-v-f0f21556]{grid-column:span 1}.form-row label[data-v-f0f21556]{color:#374151;font-size:14px;font-weight:600}.form-row input[data-v-f0f21556]{box-sizing:border-box;background:#fff;border:1px solid #dcdfe6;border-radius:12px;outline:none;width:100%;min-width:0;height:44px;padding:0 12px;font-size:14px}.form-row input[data-v-f0f21556]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.wifi-row[data-v-f0f21556],.password-row[data-v-f0f21556]{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.field-hint[data-v-f0f21556]{color:#92400e;min-height:18px;margin:0;font-size:12px;line-height:1.45}.field-hint.placeholder[data-v-f0f21556]{visibility:hidden}.smart-actions[data-v-f0f21556]{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn-primary[data-v-f0f21556],.btn-secondary[data-v-f0f21556],.btn-danger[data-v-f0f21556],.btn-light[data-v-f0f21556]{cursor:pointer;white-space:nowrap;border:none;border-radius:12px;min-height:42px;padding:0 16px;font-size:14px;font-weight:800;transition:transform .16s,opacity .16s,box-shadow .16s}.btn-primary[data-v-f0f21556]{color:#fff;background:#2563eb;box-shadow:0 10px 18px #2563eb33}.btn-secondary[data-v-f0f21556]{color:#1d4ed8;background:#eff6ff}.btn-light[data-v-f0f21556]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.btn-danger[data-v-f0f21556]{color:#b91c1c;background:#fee2e2}.btn-primary[data-v-f0f21556]:hover,.btn-secondary[data-v-f0f21556]:hover,.btn-danger[data-v-f0f21556]:hover,.btn-light[data-v-f0f21556]:hover{transform:translateY(-1px)}button[data-v-f0f21556]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.smart-message[data-v-f0f21556]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.6}.smart-message.success[data-v-f0f21556]{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.smart-message.error[data-v-f0f21556]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.smart-message.warning[data-v-f0f21556]{color:#92400e;background:#fffbeb;border-color:#fde68a}.smart-message.stopped[data-v-f0f21556]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.message-title[data-v-f0f21556]{font-size:13px;font-weight:900}.message-body[data-v-f0f21556]{margin-top:2px}.message-action[data-v-f0f21556]{margin-top:8px}.message-action .btn-secondary[data-v-f0f21556]{min-height:32px;padding:0 12px;font-size:12px}.smart-tips[data-v-f0f21556]{color:#92400e;background:#fffbeb;border-radius:14px;margin-top:16px;padding:12px 14px;font-size:12px;line-height:1.6}.smart-tips p[data-v-f0f21556]{margin:4px 0}@media (width<=899px){.smart-config-section[data-v-f0f21556]{margin:28px 0;padding:20px 16px}.smart-card[data-v-f0f21556]{max-width:100%;padding:20px}.smart-form[data-v-f0f21556]{grid-template-columns:1fr}}@media (width<=599px){.smart-config-section[data-v-f0f21556]{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:16px 0 0;padding:0}.smart-card[data-v-f0f21556]{background:#ffffffad;border:1px solid #ffffffb8;border-radius:16px;width:100%;padding:12px 14px;box-shadow:0 16px 40px #0f172a1a}.smart-header[data-v-f0f21556]{flex-direction:column;gap:8px}.smart-title[data-v-f0f21556]{font-size:16px}.smart-desc[data-v-f0f21556]{margin:4px 0 0;font-size:12px}.smart-status[data-v-f0f21556]{align-self:flex-start;padding:4px 10px;font-size:11px}.smart-steps[data-v-f0f21556]{grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.smart-step[data-v-f0f21556]{text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 5px}.smart-step span[data-v-f0f21556]{flex-shrink:0;width:22px;height:22px;font-size:12px}.smart-step p[data-v-f0f21556]{font-size:12px;line-height:1.3}.smart-form[data-v-f0f21556]{gap:10px}.form-row label[data-v-f0f21556]{font-size:12px}.form-row input[data-v-f0f21556]{border-radius:10px;height:38px;padding:0 10px;font-size:13px}.wifi-row[data-v-f0f21556],.password-row[data-v-f0f21556]{grid-template-columns:1fr;gap:6px}.field-hint[data-v-f0f21556]{min-height:0;font-size:11px}.field-hint.placeholder[data-v-f0f21556]{display:none}.smart-actions[data-v-f0f21556]{grid-template-columns:1fr;gap:6px;margin-top:12px;display:grid}.btn-primary[data-v-f0f21556],.btn-secondary[data-v-f0f21556],.btn-danger[data-v-f0f21556],.btn-light[data-v-f0f21556]{width:100%;min-height:40px;font-size:13px}.smart-message[data-v-f0f21556]{margin-top:10px;padding:10px;font-size:12px}.smart-tips[data-v-f0f21556]{margin-top:10px;padding:10px;font-size:11px}}.app-container.night-mode,.app-container.night-mode{color:#e2e8f0e6;background:#0f172a9e;border-color:#94a3b833}.three-layout-shell[data-v-2b174b48]{--workbench-blue:#2563eb;--workbench-blue-soft:#2563eb1a;--workbench-gold:#c8a56c;--workbench-danger:#dc2626;--workbench-text:#0f172a;--workbench-muted:#64748b;--workbench-panel:#ffffffdb;--workbench-border:#94a3b840;flex-direction:column;min-height:0;display:flex;container-type:inline-size}.three-viewport-wrap[data-v-2b174b48]{border:1px solid var(--workbench-border);background:linear-gradient(135deg,#f8fafcf5,#eff6ffeb),radial-gradient(circle at 30% 20%,#60a5fa2e,#0000 32%);border-radius:22px;min-height:430px;position:relative;overflow:hidden}.workbench-glass[data-v-2b174b48]{border:1px solid var(--workbench-border);background:var(--workbench-panel);-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);box-shadow:0 12px 30px #0f172a21}.scene-toolbar[data-v-2b174b48]{z-index:4;pointer-events:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid;position:absolute;top:14px;left:14px;right:14px}.zone-cluster[data-v-2b174b48],.scene-edit-actions[data-v-2b174b48],.view-mode-switch[data-v-2b174b48]{pointer-events:none}.zone-cluster button[data-v-2b174b48],.scene-edit-actions button[data-v-2b174b48],.view-mode-switch button[data-v-2b174b48],.scene-context-bar button[data-v-2b174b48]{pointer-events:auto}.zone-cluster[data-v-2b174b48]{border-radius:16px;padding:5px;position:relative;overflow:hidden}.zone-cluster[data-v-2b174b48]:after{background:linear-gradient(90deg, transparent, var(--workbench-gold), transparent);content:"";opacity:.78;border-radius:999px;height:2px;position:absolute;bottom:0;left:12px;right:12px}.zone-switcher[data-v-2b174b48]{align-items:center;gap:7px;display:inline-flex}.zone-arrow-btn[data-v-2b174b48]{background:var(--workbench-blue-soft);color:#2563eb;cursor:pointer;border:0;border-radius:10px;place-items:center;width:34px;height:34px;font-size:20px;font-weight:900;line-height:1;transition:background .18s,transform .18s,opacity .18s;display:grid}.zone-current-label[data-v-2b174b48]{flex-direction:column;align-items:center;gap:3px;min-width:116px;max-width:154px;line-height:1;display:flex}.zone-current-label strong[data-v-2b174b48]{max-width:100%;color:var(--workbench-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.zone-current-label span[data-v-2b174b48]{color:var(--workbench-muted);font-size:11px;font-weight:700}.scene-edit-actions[data-v-2b174b48]{border-radius:16px;justify-self:end;align-items:center;gap:6px;padding:5px;display:inline-flex}.scene-slot-count[data-v-2b174b48]{color:var(--workbench-muted);white-space:nowrap;padding:0 6px;font-size:12px;font-weight:800}.toolbar-divider[data-v-2b174b48],.context-divider[data-v-2b174b48]{background:var(--workbench-border);width:1px;height:20px}.slot-toolbar button[data-v-2b174b48]{color:#2563eb}.toolbar-action[data-v-2b174b48]{color:#2563eb;cursor:pointer;border:0;border-radius:10px;min-height:34px;padding:0 10px;font-size:12px;font-weight:800;transition:background .18s,color .18s,transform .18s,opacity .18s}.primary-action-btn[data-v-2b174b48]{background:var(--workbench-blue);color:#fff;box-shadow:0 7px 16px #2563eb38}.slot-toolbar .primary-action-btn[data-v-2b174b48]{color:#fff}.layout-action-btn[data-v-2b174b48]{background:var(--workbench-blue-soft)}.view-mode-switch[data-v-2b174b48]{border-radius:14px;gap:3px;padding:4px;display:inline-flex}.view-toggle-btn[data-v-2b174b48]{color:#2563eb}.view-mode-btn[data-v-2b174b48]{min-width:48px;min-height:34px;color:var(--workbench-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:12px;font-weight:800;transition:background .18s,color .18s,transform .18s}.view-mode-btn.is-active[data-v-2b174b48]{background:var(--workbench-blue);color:#fff;box-shadow:0 7px 16px #2563eb33}.scene-context-layer[data-v-2b174b48]{z-index:4;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.scene-context-bar[data-v-2b174b48]{pointer-events:none;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;max-width:min(680px,100%);padding:7px 8px 7px 12px;display:flex}.selected-slot-summary[data-v-2b174b48]{align-items:center;gap:9px;min-width:0;display:flex}.selection-dot[data-v-2b174b48]{background:var(--workbench-blue);border-radius:999px;flex:none;width:8px;height:24px;box-shadow:0 0 16px #2563eb7a}.selected-slot-copy[data-v-2b174b48]{flex-direction:column;gap:2px;min-width:0;display:flex}.selected-slot-copy strong[data-v-2b174b48]{color:var(--workbench-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.selected-slot-copy small[data-v-2b174b48]{color:var(--workbench-muted);font-size:11px;font-weight:700}.context-actions[data-v-2b174b48]{align-items:center;gap:5px;display:flex}.context-action[data-v-2b174b48]{background:var(--workbench-blue-soft);min-height:34px;color:var(--workbench-blue);cursor:pointer;border:0;border-radius:10px;padding:0 10px;font-size:12px;font-weight:800;transition:background .18s,transform .18s,opacity .18s}.context-action.danger[data-v-2b174b48]{color:var(--workbench-danger);background:#dc262614}.scene-empty-hint[data-v-2b174b48]{color:var(--workbench-text);border-radius:15px;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;display:flex}.scene-empty-hint strong[data-v-2b174b48]{font-size:12px;font-weight:800}.scene-empty-hint small[data-v-2b174b48]{color:var(--workbench-muted);font-size:10px;font-weight:700}.zone-arrow-btn[data-v-2b174b48]:hover:not(:disabled),.layout-action-btn[data-v-2b174b48]:hover:not(:disabled),.context-action[data-v-2b174b48]:hover:not(:disabled){background:#2563eb2e;transform:translateY(-1px)}.primary-action-btn[data-v-2b174b48]:hover:not(:disabled),.view-mode-btn.is-active[data-v-2b174b48]:hover{transform:translateY(-1px)}.context-action.danger[data-v-2b174b48]:hover:not(:disabled){background:#dc262624}.zone-arrow-btn[data-v-2b174b48]:disabled,.toolbar-action[data-v-2b174b48]:disabled,.context-action[data-v-2b174b48]:disabled{opacity:.38;cursor:not-allowed}.zone-arrow-btn[data-v-2b174b48]:focus-visible,.toolbar-action[data-v-2b174b48]:focus-visible,.view-mode-btn[data-v-2b174b48]:focus-visible,.context-action[data-v-2b174b48]:focus-visible{outline:2px solid var(--workbench-blue);outline-offset:2px}.three-layout-viewport[data-v-2b174b48]{width:100%;height:430px;min-height:430px}.three-layout-viewport[data-v-2b174b48] canvas{cursor:grab;width:100%;height:100%;display:block}.three-layout-viewport[data-v-2b174b48] canvas:active{cursor:grabbing}.app-container.night-mode .three-layout-shell{--workbench-blue-soft:#60a5fa26;--workbench-text:#f8fafc;--workbench-muted:#cbd5e1;--workbench-panel:#0f172ad1;--workbench-border:#94a3b838}.app-container.night-mode .three-layout-shell .three-viewport-wrap{background:linear-gradient(135deg,#0f172af0,#1e293be6),radial-gradient(circle at 30% 20%,#2563eb2e,#0000 32%)}.app-container.night-mode .three-layout-shell .workbench-glass{box-shadow:0 14px 32px #02061757}.app-container.night-mode .three-layout-shell .zone-arrow-btn,.app-container.night-mode .three-layout-shell .layout-action-btn,.app-container.night-mode .three-layout-shell .context-action{color:#fff;background:#2563eb}.app-container.night-mode .three-layout-shell .context-action.danger{color:#fff;background:#dc2626}@media (width<=1180px){.scene-toolbar[data-v-2b174b48]{grid-template-columns:auto minmax(230px,1fr) auto}.scene-edit-actions[data-v-2b174b48]{flex-wrap:wrap;max-width:100%}.scene-context-bar[data-v-2b174b48]{width:min(620px,100%)}}@container (width<=620px){.scene-toolbar[data-v-2b174b48]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"zone view""actions actions";gap:8px;top:10px;left:10px;right:10px}.zone-cluster[data-v-2b174b48]{grid-area:zone;justify-self:stretch;min-width:0}.zone-switcher[data-v-2b174b48]{justify-content:space-between;width:100%}.zone-current-label[data-v-2b174b48]{min-width:0;max-width:128px}.view-mode-switch[data-v-2b174b48]{grid-area:view}.scene-edit-actions[data-v-2b174b48]{box-sizing:border-box;grid-area:actions;justify-content:flex-end;justify-self:stretch;width:100%}.scene-slot-count[data-v-2b174b48]{margin-right:auto}}@media (width<=768px){.three-viewport-wrap[data-v-2b174b48],.three-layout-viewport[data-v-2b174b48]{min-height:360px}.three-layout-viewport[data-v-2b174b48]{height:360px}.zone-arrow-btn[data-v-2b174b48],.view-mode-btn[data-v-2b174b48],.toolbar-action[data-v-2b174b48],.context-action[data-v-2b174b48]{min-width:44px;min-height:44px}.view-mode-btn[data-v-2b174b48]{padding:0 10px}.scene-context-layer[data-v-2b174b48]{bottom:10px;left:10px;right:10px}.scene-context-bar[data-v-2b174b48]{box-sizing:border-box;flex-wrap:wrap;gap:8px;width:100%;padding:8px}.selected-slot-summary[data-v-2b174b48]{flex:150px}.context-actions[data-v-2b174b48]{flex:auto;justify-content:flex-end}.scene-empty-hint[data-v-2b174b48]{box-sizing:border-box;max-width:calc(100% - 20px)}}@media (prefers-reduced-motion:reduce){.zone-arrow-btn[data-v-2b174b48],.toolbar-action[data-v-2b174b48],.view-mode-btn[data-v-2b174b48],.context-action[data-v-2b174b48]{transition:none}}.light-effect-mini-card[data-v-e8b83552]{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);background:#ffffffad;border:1px solid #ffffffc2;border-radius:22px;width:100%;min-height:100%;padding:16px;box-shadow:0 14px 32px #0f172a1a}.mini-header[data-v-e8b83552]{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.mini-title[data-v-e8b83552]{color:#0f172a;font-size:22px;font-weight:900;line-height:1.2}.mini-subtitle[data-v-e8b83552]{color:#64748b;margin-top:4px;font-size:13px;font-weight:700}.scope-field[data-v-e8b83552]{margin-bottom:12px;display:block}.effect-action-grid[data-v-e8b83552]{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px;display:grid}.effect-action-btn[data-v-e8b83552]{color:#1e293b;text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #e2e8f0e6;border-radius:18px;min-height:70px;padding:12px 14px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;position:relative;overflow:hidden;box-shadow:0 8px 18px #0f172a14}.effect-action-btn strong[data-v-e8b83552],.effect-action-btn span[data-v-e8b83552]{z-index:1;display:block;position:relative}.effect-action-btn strong[data-v-e8b83552]{font-size:15px;font-weight:900;line-height:1.15}.effect-action-btn span[data-v-e8b83552]{color:#475569d1;margin-top:7px;font-size:12px;font-weight:800;line-height:1.15}.effect-action-btn[data-v-e8b83552]:hover{border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 12px 22px #2563eb21}.effect-action-btn.active[data-v-e8b83552]{border-color:#2563eb85;transform:translateY(-1px);box-shadow:0 12px 26px #2563eb2e,inset 0 0 0 1px #ffffff8f}.effect-action-btn.active[data-v-e8b83552]:before{content:"已启用";z-index:2;color:#fff;pointer-events:none;background:#0f172ab8;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;line-height:1.4;position:absolute;bottom:9px;right:10px}.effect-warm[data-v-e8b83552]{background:linear-gradient(135deg,#ffedd5f2,#fbbf2447);border-color:#f59e0b47}.effect-warm.active[data-v-e8b83552]{border-color:#f59e0bbf;box-shadow:0 12px 28px #f59e0b40,0 0 0 2px #f59e0b1f}.effect-neutral[data-v-e8b83552]{background:linear-gradient(135deg,#f8fafcfa,#e2e8f0a6);border-color:#94a3b847}.effect-neutral.active[data-v-e8b83552]{border-color:#64748ba6;box-shadow:0 12px 26px #64748b2e,0 0 0 2px #64748b1a}.effect-cool[data-v-e8b83552]{background:linear-gradient(135deg,#eff6fffa,#93c5fd52);border-color:#3b82f642}.effect-cool.active[data-v-e8b83552]{border-color:#3b82f6b3;box-shadow:0 12px 28px #3b82f638,0 0 0 2px #3b82f61c}.effect-auto[data-v-e8b83552]{background:linear-gradient(135deg,#eef2fff5,#818cf847);border-color:#6366f13d}.effect-auto[data-v-e8b83552]:after{content:"AUTO";color:#4f46e5;background:#6366f124;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900;position:absolute;top:9px;right:10px}.effect-auto.active[data-v-e8b83552]{border-color:#6366f1b8;box-shadow:0 12px 28px #6366f13d,0 0 0 2px #6366f11f}.effect-loop[data-v-e8b83552]{background:linear-gradient(135deg,#3b82f629,#a855f738,#0ea5e929);border-color:#6366f147}.effect-loop[data-v-e8b83552]:after{content:"";border:2px solid #6366f17a;border-left-color:#0000;border-radius:999px;width:18px;height:18px;position:absolute;top:14px;right:12px}.effect-loop.active[data-v-e8b83552]{background:linear-gradient(120deg,#3b82f638,#a855f742,#0ea5e938,#3b82f638) 0 0/220% 220%;border-color:#6366f1b8;animation:3s infinite loopFlow-e8b83552;position:relative;overflow:hidden;box-shadow:0 14px 34px #6366f147}.effect-loop.active[data-v-e8b83552]:before{content:"";aspect-ratio:1;transform-origin:50%;z-index:0;opacity:.48;pointer-events:none;background:conic-gradient(#3b82f61f,#a855f773,#0ea5e961,#3b82f61f);border-radius:50%;width:320%;animation:3s linear infinite loopBorderSpin-e8b83552;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}.effect-loop.active[data-v-e8b83552]:after{display:none}.effect-loop.active[data-v-e8b83552]>*{z-index:1;position:relative}.effect-settings[data-v-e8b83552]{background:linear-gradient(135deg,#f8fafceb,#dbeafe85);border-color:#94a3b83d}.effect-settings.active[data-v-e8b83552]:before{display:none}@keyframes loopFlow-e8b83552{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes loopBorderSpin-e8b83552{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.effect-action-btn[data-v-e8b83552]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.effect-brightness-control[data-v-e8b83552]{background:#f8fafcc7;border:1px solid #e2e8f0e0;border-radius:16px;margin-top:14px;padding:13px 14px}.effect-brightness-header[data-v-e8b83552]{justify-content:space-between;align-items:center;gap:12px;display:flex}.effect-brightness-header .mini-label[data-v-e8b83552]{margin:0}.effect-brightness-header strong[data-v-e8b83552]{color:#2563eb;font-size:13px;font-weight:900;transition:transform .15s,color .15s}.effect-brightness-header strong.brightness-active[data-v-e8b83552]{color:#1d4ed8;transform:scale(1.4)}.effect-brightness-slider[data-v-e8b83552]{accent-color:#2563eb;cursor:pointer;touch-action:pan-y;width:100%;margin:9px 0 0}.effect-brightness-slider.is-dragging[data-v-e8b83552]{cursor:grabbing}.effect-brightness-hint[data-v-e8b83552]{color:#64748b;margin:5px 0 0;font-size:12px;font-weight:700;line-height:1.4}.mini-status[data-v-e8b83552]{color:#64748b;margin-top:10px;font-size:12px;font-weight:700;line-height:1.4}.effect-modal-overlay[data-v-e8b83552]{z-index:2200;background:#0f172a6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.effect-modal-card[data-v-e8b83552]{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0fa;border-radius:22px;width:min(480px,100%);max-height:min(640px,100vh - 48px);padding:22px;overflow-y:auto;box-shadow:0 28px 78px #0f172a52}.effect-modal-header[data-v-e8b83552]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.effect-modal-header h3[data-v-e8b83552]{color:#0f172a;margin:0;font-size:20px;font-weight:900}.effect-modal-header p[data-v-e8b83552]{color:#64748b;margin:6px 0 0;font-size:13px;font-weight:700}.modal-close-btn[data-v-e8b83552]{color:#475569;cursor:pointer;background:#f8fafceb;border:1px solid #cbd5e1e6;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.effect-form[data-v-e8b83552]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-field[data-v-e8b83552]:last-child{grid-column:1/-1}.form-field[data-v-e8b83552]{min-width:0}.effect-form>.form-field[data-v-e8b83552]:nth-child(2),.effect-form>.form-field[data-v-e8b83552]:nth-child(3),.effect-form>.form-field[data-v-e8b83552]:nth-child(4){display:none}.temp-range-field[data-v-e8b83552]{grid-column:1/-1}.temp-range-header[data-v-e8b83552]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.temp-range-value[data-v-e8b83552]{color:#2563eb;white-space:nowrap;font-size:13px;font-weight:900}.dual-temp-slider[data-v-e8b83552]{height:42px;padding:0 15px;position:relative}.dual-temp-track[data-v-e8b83552],.dual-temp-selected[data-v-e8b83552]{pointer-events:none;border-radius:999px;height:6px;position:absolute;top:18px;left:15px;right:15px}.dual-temp-track[data-v-e8b83552]{background:#cbd5e1e6}.dual-temp-selected[data-v-e8b83552]{background:linear-gradient(90deg,#f59e0b,#3b82f6);right:auto}.dual-temp-input[data-v-e8b83552]{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.dual-temp-input[data-v-e8b83552]::-webkit-slider-runnable-track{background:0 0;height:6px}.dual-temp-input[data-v-e8b83552]::-webkit-slider-thumb{pointer-events:auto;cursor:pointer;appearance:none;background:linear-gradient(#ffffff47,#fff0 45%),#2563eb;border:3px solid #fff;border-radius:9px;width:30px;height:20px;margin-top:-7px;box-shadow:0 7px 16px #2563eb52,inset 0 -2px 4px #0f172a2e}.dual-temp-input[data-v-e8b83552]::-moz-range-track{background:0 0;height:6px}.dual-temp-input[data-v-e8b83552]::-moz-range-thumb{pointer-events:auto;cursor:pointer;background:linear-gradient(#ffffff47,#fff0 45%),#2563eb;border:3px solid #fff;border-radius:9px;width:30px;height:20px;box-shadow:0 7px 16px #2563eb52,inset 0 -2px 4px #0f172a2e}.dual-temp-min[data-v-e8b83552]{z-index:2}.dual-temp-max[data-v-e8b83552]{z-index:3}.dual-temp-slider.dragging-min .dual-temp-min[data-v-e8b83552],.dual-temp-slider.dragging-max .dual-temp-max[data-v-e8b83552]{z-index:5}.effect-form>.form-field:nth-child(6)>.mini-label[data-v-e8b83552]{font-size:0}.effect-form>.form-field:nth-child(6)>.mini-label[data-v-e8b83552]:after{content:"灯间延迟";font-size:12px}.effect-form>.form-field[data-v-e8b83552]:nth-child(6):after{content:"用于控制多盏灯之间波动的错开程度，数值越大，流水感越明显。";color:#64748b;margin-top:7px;font-size:12px;font-weight:700;line-height:1.45;display:block}.mini-label[data-v-e8b83552]{color:#64748b;margin:0 0 6px;font-size:12px;font-weight:800;display:block}.mini-input[data-v-e8b83552]{box-sizing:border-box;color:#0f172a;background:#fffffff0;border:1px solid #dbe3ef;border-radius:11px;outline:none;width:100%;padding:9px 10px;font-size:14px}.effect-modal-actions[data-v-e8b83552]{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-btn[data-v-e8b83552]{cursor:pointer;border:none;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:900}.modal-btn.primary[data-v-e8b83552]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.modal-btn.secondary[data-v-e8b83552]{color:#2563eb;background:#3b82f61f}.modal-btn.danger[data-v-e8b83552]{color:#dc2626;background:#ef44441f}.modal-btn.ghost[data-v-e8b83552]{color:#475569;background:#64748b1f}.modal-btn[data-v-e8b83552]:disabled{opacity:.58;cursor:not-allowed}.app-container.night-mode{filter:none;-webkit-backdrop-filter:none;color:#f8fafcf5;background:#0f172ab8;border-color:#94a3b82e;box-shadow:0 18px 40px #00000047}.app-container.night-mode{color:#cbd5e1b8;box-shadow:none;background:#1e293bd1;border-color:#94a3b838}.app-container.night-mode{color:#c7d2fe;accent-color:#60a5fa;background:linear-gradient(135deg,#1e293be6,#33415594);border-color:#94a3b842;box-shadow:0 14px 34px #6366f152}.effect-modal-night .effect-modal-card[data-v-e8b83552]{background:#0f172afc;border-color:#94a3b838;box-shadow:0 24px 70px #0000007a}.effect-modal-night .effect-modal-header h3[data-v-e8b83552]{color:#f8fafcf5}.effect-modal-night .effect-modal-header p[data-v-e8b83552],.effect-modal-night .mini-label[data-v-e8b83552]{color:#cbd5e1b8}.effect-modal-night .mini-input[data-v-e8b83552]{color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}.effect-modal-night .dual-temp-track[data-v-e8b83552]{background:#334155eb}.effect-modal-night .temp-range-value[data-v-e8b83552],.effect-modal-night .effect-form>.form-field[data-v-e8b83552]:nth-child(6):after{color:#bfdbfee6}.effect-modal-night .modal-close-btn[data-v-e8b83552],.effect-modal-night .modal-btn.ghost[data-v-e8b83552]{color:#e2e8f0e6;background:#1e293bd1;border-color:#94a3b83d}.effect-modal-night .modal-btn.secondary[data-v-e8b83552]{color:#bfdbfe;background:#2563eb3d}.effect-modal-night .modal-btn.danger[data-v-e8b83552]{color:#fecaca;background:#7f1d1d47}@media (width<=768px){.light-effect-mini-card[data-v-e8b83552]{border-radius:16px;padding:12px 14px}.mini-header[data-v-e8b83552]{margin-bottom:8px}.mini-title[data-v-e8b83552]{font-size:15px;font-weight:700}.mini-subtitle[data-v-e8b83552]{margin:2px 0 0;font-size:12px;font-weight:400;line-height:1.3}.scope-field[data-v-e8b83552]{margin-bottom:8px}.effect-action-grid[data-v-e8b83552]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.effect-form[data-v-e8b83552]{grid-template-columns:1fr}.effect-action-btn[data-v-e8b83552]{border-radius:14px;min-height:56px;padding:8px 10px}.effect-action-btn strong[data-v-e8b83552]{font-size:11px}.effect-action-btn span[data-v-e8b83552]{margin-top:3px;font-size:9px}.effect-action-btn.active[data-v-e8b83552]:before{padding:1px 4px;font-size:7px;bottom:4px;right:5px}.effect-auto[data-v-e8b83552]:after{padding:1px 4px;font-size:8px;top:6px;right:6px}.effect-loop[data-v-e8b83552]:after{width:14px;height:14px;top:10px;right:8px}.effect-brightness-control[data-v-e8b83552]{border-radius:14px;margin-top:8px;padding:8px}.effect-brightness-header strong[data-v-e8b83552]{font-size:11px}.effect-brightness-hint[data-v-e8b83552]{margin-top:2px;font-size:9px}.mini-status[data-v-e8b83552]{margin-top:6px;font-size:10px}.effect-modal-card[data-v-e8b83552]{padding:16px}.effect-modal-actions[data-v-e8b83552]{justify-content:stretch}.modal-btn[data-v-e8b83552]{flex:140px}}@media (prefers-reduced-motion:reduce){.effect-loop.active[data-v-e8b83552],.effect-loop.active[data-v-e8b83552]:before{animation:none}}.settings-card,.settings-card[data-v-a64c4f07],.form-row[data-v-a64c4f07]{overflow:visible}.query-actions[data-v-a64c4f07]{margin:16px 0}.result-block[data-v-a64c4f07]{margin-top:18px}.result-table[data-v-a64c4f07]{border-collapse:collapse;border-radius:10px;width:100%;overflow:hidden}.result-table th[data-v-a64c4f07],.result-table td[data-v-a64c4f07]{text-align:left;border:1px solid #ebeef5;padding:10px 12px}.result-table thead[data-v-a64c4f07]{background:#f7f8fa}@media (width<=768px){.settings-card[data-v-a64c4f07]{grid-template-columns:1fr 1fr;column-gap:10px;display:grid}.settings-title[data-v-a64c4f07]{grid-column:1/-1;font-size:16px}.form-row[data-v-a64c4f07]:nth-child(2),.form-row[data-v-a64c4f07]:nth-child(3){grid-column:span 1}.form-row[data-v-a64c4f07]:nth-child(4),.query-actions[data-v-a64c4f07],.result-block[data-v-a64c4f07]{grid-column:1/-1}.form-row[data-v-a64c4f07]{flex-direction:column;align-items:stretch;gap:6px;min-width:0;overflow:hidden}.form-row label[data-v-a64c4f07]{min-width:auto;font-size:12px}.date-input[data-v-a64c4f07]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:12px}.form-row[data-v-a64c4f07] .select-trigger{font-size:12px}.query-actions .btn-primary[data-v-a64c4f07]{width:100%}.result-block[data-v-a64c4f07]{overflow-x:auto}.result-table[data-v-a64c4f07]{min-width:320px}.result-table th[data-v-a64c4f07],.result-table td[data-v-a64c4f07]{white-space:nowrap;padding:8px 10px;font-size:14px}}.gimbal-panel[data-v-5e800bfe]{overflow:visible}.panel-header[data-v-5e800bfe]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-desc[data-v-5e800bfe]{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.5}.form-row[data-v-5e800bfe]{align-items:center;gap:12px;margin-top:14px;display:flex}.form-row label[data-v-5e800bfe]{color:#606266;flex:0 0 88px;font-size:14px}.selected-meta[data-v-5e800bfe]{margin-top:8px;padding-left:100px}.gimbal-self-test[data-v-5e800bfe]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:13px;display:flex}.gimbal-self-test span[data-v-5e800bfe]{font-weight:800}.gimbal-self-test small[data-v-5e800bfe]{text-align:right;line-height:1.4}.gimbal-self-test.ok[data-v-5e800bfe]{color:#15803d;background:#ecfdf3;border-color:#16a34a38}.gimbal-self-test.bad[data-v-5e800bfe]{color:#b91c1c;background:#fff1f2;border-color:#dc262638}.gimbal-self-test.unknown[data-v-5e800bfe]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.speed-tabs[data-v-5e800bfe]{flex-wrap:wrap;gap:8px;display:flex}.speed-tab[data-v-5e800bfe]{color:#475569;cursor:pointer;background:#ffffffdb;border:1px solid #cbd5e1f2;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s}.speed-tab[data-v-5e800bfe]:hover{transform:translateY(-1px)}.speed-tab.active[data-v-5e800bfe]{color:#2563eb;background:#409eff24;border-color:#409eff8c}.mode-toggle-btn[data-v-5e800bfe]{color:#2563eb;cursor:pointer;background:#409eff14;border:1px solid #409eff8c;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:800;transition:background .16s,border-color .16s}.mode-toggle-btn[data-v-5e800bfe]:hover{background:#409eff29}.mode-toggle-btn.active[data-v-5e800bfe]{color:#16a34a;background:#22c55e1f;border-color:#22c55e8c}.mode-toggle-btn[data-v-5e800bfe]:disabled{opacity:.55;cursor:not-allowed}.joystick-section[data-v-5e800bfe]{margin-top:18px}.gimbal-control-block[data-v-5e800bfe]{width:100%}.gimbal-control-row[data-v-5e800bfe]{grid-template-columns:230px 1fr;align-items:center;column-gap:34px;width:100%;max-width:620px;margin:16px 0 12px;display:grid}.joystick-side[data-v-5e800bfe]{flex:0 0 230px;justify-content:center;align-items:center;width:230px;min-width:230px;height:230px;display:flex}.joystick-container[data-v-5e800bfe]{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;justify-content:center;align-items:center;width:230px;height:230px;display:flex;position:relative}.joystick-container[data-v-5e800bfe]:active{cursor:grabbing}.gimbal-preset-side[data-v-5e800bfe]{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:12px;width:100%;display:grid}.joystick-around[data-v-5e800bfe]{background-image:linear-gradient(#9da4a8,#f5f8fa);border-radius:50%;justify-content:center;align-items:center;width:170px;height:170px;display:flex;position:relative}.joystick-handle[data-v-5e800bfe]{perspective:300px;background:#c5d1da;border-radius:50%;justify-content:center;align-items:center;width:132px;height:132px;display:flex;box-shadow:0 0 10px #00000080,0 10px 10px #0003,inset 0 0 16px #000000d9,inset 0 0 24px #000000bf,inset 0 0 48px #0003}.joystick-button[data-v-5e800bfe]{pointer-events:none;background-image:linear-gradient(#eff1f1,#86969c);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;transition:transform .16s,box-shadow .16s;display:flex;box-shadow:0 9px 14px #00000080,0 19px 8px -2px #0003,0 33px 8px #0006,0 -12px 10px #ffffff80,inset 0 3px 3px #fff9,inset 0 -3px 3px #595b5c99}.joystick-button.active[data-v-5e800bfe]{transition:none}.joystick-inside[data-v-5e800bfe]{background-image:linear-gradient(#adb9bf,#d4dbdd);border-radius:50%;width:72px;height:72px;position:relative;box-shadow:inset 0 3px 6px #98a0a366,inset 0 -3px 6px #eef4f666}.joystick-dot[data-v-5e800bfe]{background:#e7ecef;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 2px #0000004d,inset 0 -2px 2px #0003}.joystick-dot[data-v-5e800bfe]:first-child{top:10%;left:50%}.joystick-dot[data-v-5e800bfe]:nth-child(2){top:50%;left:90%}.joystick-dot[data-v-5e800bfe]:nth-child(3){top:90%;left:50%}.joystick-dot[data-v-5e800bfe]:nth-child(4){top:50%;left:10%}.joystick-icon[data-v-5e800bfe]{fill:#b4b9bd;opacity:.72;pointer-events:none;width:22px;position:absolute;transform:translate(-50%,-50%)}.joystick-icon-up[data-v-5e800bfe]{top:27px;left:50%;transform:translate(-50%)}.joystick-icon-right[data-v-5e800bfe]{top:50%;left:auto;right:16px}.joystick-icon-down[data-v-5e800bfe]{top:auto;bottom:16px;left:50%}.joystick-icon-left[data-v-5e800bfe]{top:50%;left:27px;transform:translateY(-50%)}.joystick-icon.active[data-v-5e800bfe]{fill:#e3a560;opacity:1;filter:brightness(.9)drop-shadow(0 0 2px #e3a15b)drop-shadow(0 0 1px #fff)}.precision-section[data-v-5e800bfe]{margin-top:18px}.precision-card[data-v-5e800bfe]{background:#f8fafcd1;border:1px solid #e2e8f0f2;border-radius:14px;flex-direction:column;gap:14px;padding:16px;display:flex}.precision-row[data-v-5e800bfe]{flex-direction:column;gap:6px;display:flex}.precision-row label[data-v-5e800bfe]{color:#1e293b;font-size:14px;font-weight:700}.precision-row label strong[data-v-5e800bfe]{color:#2563eb;margin-left:4px}.precision-slider[data-v-5e800bfe]{accent-color:#2563eb;width:100%}.preset-card[data-v-5e800bfe]{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8edf5;border-radius:14px;width:100%;min-height:68px;padding:12px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 2px 8px #0f172a0a}.preset-card[data-v-5e800bfe]:hover{border-color:#3b82f647;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.preset-card[data-v-5e800bfe]:disabled{opacity:.55;cursor:not-allowed}.preset-card strong[data-v-5e800bfe]{color:#1f2937;margin-bottom:4px;font-size:15px;font-weight:700;display:block}.preset-card span[data-v-5e800bfe]{color:#94a3b8;font-size:12px;line-height:1.4;display:block}.device-meta[data-v-5e800bfe]{color:#64748b;font-size:13px}@media (width<=768px){.gimbal-control-row[data-v-5e800bfe]{grid-template-columns:1fr;row-gap:16px;max-width:100%}.joystick-side[data-v-5e800bfe]{flex:0 0 200px;justify-self:center;width:200px;min-width:200px;height:200px}.joystick-container[data-v-5e800bfe]{width:200px;height:200px}.gimbal-preset-side[data-v-5e800bfe]{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.joystick-around[data-v-5e800bfe]{width:150px;height:150px}.joystick-handle[data-v-5e800bfe]{width:116px;height:116px}.joystick-button[data-v-5e800bfe]{width:76px;height:76px}.joystick-inside[data-v-5e800bfe]{width:62px;height:62px}.joystick-dot[data-v-5e800bfe]{width:6px;height:6px}.joystick-icon[data-v-5e800bfe]{width:24px}.form-row[data-v-5e800bfe]{flex-direction:column;align-items:stretch;gap:6px;margin-top:10px}.form-row label[data-v-5e800bfe]{flex:none;font-size:12px}.selected-meta[data-v-5e800bfe]{margin-top:4px;padding-left:0;font-size:12px}}@media (width<=480px){.gimbal-preset-side[data-v-5e800bfe]{grid-template-columns:1fr}}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{background-image:linear-gradient(#3a424a,#1e2832)}.app-container.night-mode{fill:#e3a560;background:#5a646c}.app-container.night-mode{color:#fecaca;background:#7f1d1d47;border-color:#f8717138}.store-toolbar-card[data-v-2788590a]{padding:20px 22px}.store-toolbar[data-v-2788590a]{justify-content:space-between;align-items:center;gap:20px;display:flex}.store-toolbar-left[data-v-2788590a]{flex-direction:column;gap:12px;min-width:0;display:flex}.settings-title[data-v-2788590a]{margin:0;font-size:18px}.store-meta[data-v-2788590a]{flex-wrap:wrap;align-items:center;gap:0;display:flex}.meta-chip[data-v-2788590a]{white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:2px 0;display:inline-flex}.meta-chip+.meta-chip[data-v-2788590a]:before{content:"";background:#cbd5e1;width:1px;height:16px;margin:0 12px;display:inline-block}.meta-key[data-v-2788590a]{color:#64748b;font-size:13px;line-height:1.4}.meta-value[data-v-2788590a]{color:#0f172a;font-size:14px;font-weight:600;line-height:1.4}.store-toolbar-actions[data-v-2788590a]{box-shadow:none;background:0 0;border:none;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.store-action-btn[data-v-2788590a]{box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#475569;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#ffffffa8;border:1px solid #e2e8f0d1;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:7px;width:104px;min-width:0;height:38px;padding:0 16px;font-size:13px;font-weight:700;line-height:1;transition:background .22s,border-color .22s,box-shadow .22s,color .22s;display:inline-flex;box-shadow:0 8px 20px #0f172a0b}.store-action-btn[data-v-2788590a]:hover{background:#ffffffd1;border-color:#cbd5e1f5;box-shadow:0 10px 24px #0f172a11}.store-action-btn[data-v-2788590a]:active{background:#f8fafcd1}.store-action-btn[data-v-2788590a]:focus-visible{border-color:#94a3b8e6;outline:none;box-shadow:0 8px 20px #0f172a0b,0 0 0 3px #94a3b82e}.store-action-btn--theme[data-v-2788590a]{color:#475569;width:104px;padding:0 14px}.store-action-btn--neutral[data-v-2788590a]{color:#334155}.store-action-btn--danger[data-v-2788590a]{color:#ef4444;border-color:#f8717133}.store-action-btn--danger[data-v-2788590a]:hover,.store-action-btn--danger[data-v-2788590a]:focus-visible{color:#dc2626;background:#fef2f2b8;border-color:#f8717142}.theme-mode-icon[data-v-2788590a]{flex:0 0 20px;place-items:center;width:20px;height:20px;display:inline-grid;position:relative}.theme-mode-symbol[data-v-2788590a]{opacity:1;grid-area:1/1;font-size:18px;line-height:1;transition:opacity .22s,transform .22s,color .22s;transform:scale(1)rotate(0)}.theme-mode-symbol--sun[data-v-2788590a]{color:#c26a14;opacity:.82}.theme-mode-symbol--moon[data-v-2788590a]{color:#6366f1;opacity:0;transform:scale(.65)rotate(-24deg)}.store-action-btn--theme.is-night .theme-mode-symbol--sun[data-v-2788590a]{opacity:0;transform:scale(.65)rotate(30deg)}.store-action-btn--theme.is-night .theme-mode-symbol--moon[data-v-2788590a]{opacity:.86;transform:scale(1)rotate(0)}.theme-mode-text[data-v-2788590a],.store-action-text[data-v-2788590a]{line-height:1}.meta-chip+.meta-chip[data-v-2788590a]:before{background:#cbd5e1}.app-container.night-mode{color:#cbd5e1;background:#ffffff1f;border-color:#94a3b83d}.app-container.night-mode,.app-container.night-mode{background:#ffffff29;border-color:#cbd5e152}.app-container.night-mode,.app-container.night-mode{color:#fca5a5;background:#7f1d1d33}@media (width<=960px){.store-toolbar[data-v-2788590a]{flex-direction:column;align-items:stretch}.store-toolbar-actions[data-v-2788590a]{justify-content:flex-start}}@media (width<=768px){.store-toolbar-card[data-v-2788590a]{padding:14px 16px}.store-toolbar-left[data-v-2788590a]{gap:8px}.settings-title[data-v-2788590a]{font-size:16px}.meta-chip[data-v-2788590a]{white-space:nowrap;gap:3px;padding:1px 0}.meta-key[data-v-2788590a]{font-size:11px}.meta-value[data-v-2788590a]{font-size:12px}.meta-chip+.meta-chip[data-v-2788590a]:before{height:13px;margin:0 8px}.store-toolbar-actions[data-v-2788590a]{flex-flow:row;gap:8px;width:100%}.store-toolbar-actions .store-action-btn[data-v-2788590a]{white-space:nowrap;flex:1 1 0;min-width:0;height:40px;padding:0 10px;font-size:13px}.store-toolbar-actions .store-action-btn--theme[data-v-2788590a]{flex:1 1 0}}.heat-card[data-v-135e879e]{overflow:visible}.heat-legend[data-v-135e879e]{color:#606266;flex-wrap:wrap;gap:10px 16px;margin-bottom:18px;font-size:13px;display:flex}.heat-legend span[data-v-135e879e]{align-items:center;gap:6px;display:inline-flex}.legend-dot[data-v-135e879e]{border-radius:999px;width:12px;height:12px;display:inline-block}.legend-cold[data-v-135e879e]{background:#38b4f0}.legend-mid[data-v-135e879e]{background:#faa014}.legend-hot[data-v-135e879e]{background:#ef2832}.heat-zone-grid[data-v-135e879e]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;gap:14px;display:grid}.heat-zone-item[data-v-135e879e]{min-height:170px;color:inherit;cursor:pointer;background:#ffffff8c;border:1px solid #e2e8f080;border-radius:16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;padding:18px 10px 14px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:flex;position:relative}.heat-zone-item[data-v-135e879e]:hover{background:#ffffffbf;border-color:#3b82f64d;transform:translateY(-3px);box-shadow:0 10px 30px #3b82f61f}.rank-badge[data-v-135e879e]{color:#4f46e5;background:#eef2ff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.rank-1[data-v-135e879e]{color:#dc2626;background:#fee2e2}.rank-2[data-v-135e879e]{color:#d97706;background:#fef3c7}.rank-3[data-v-135e879e]{color:#0284c7;background:#e0f2fe}.heat-bubble[data-v-135e879e]{color:#fff;text-shadow:0 1px 3px #0000004d;border-radius:50%;justify-content:center;align-items:center;font-weight:800;transition:transform .25s cubic-bezier(.22,1,.36,1);display:flex}.heat-zone-item:hover .heat-bubble[data-v-135e879e]{transform:scale(1.08)}.heat-bubble-value[data-v-135e879e]{white-space:nowrap;font-size:13px}.heat-zone-name[data-v-135e879e]{color:#303133;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:700;overflow:hidden}.heat-zone-time[data-v-135e879e],.heat-zone-percent[data-v-135e879e]{color:#606266;font-size:12px}.heat-detail-popover[data-v-135e879e]{z-index:2;color:#fff;text-align:left;background:#111827f0;border-radius:10px;gap:4px;width:max-content;max-width:220px;padding:9px 10px;font-size:12px;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a38}@media (width<=768px){.heat-zone-grid[data-v-135e879e]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.heat-zone-item[data-v-135e879e]{min-height:130px;padding:10px 8px 8px}.heat-detail-popover[data-v-135e879e]{width:auto;bottom:calc(100% + 6px);left:8px;right:8px;transform:none}.heat-bubble-value[data-v-135e879e]{font-size:11px}.heat-zone-name[data-v-135e879e]{font-size:12px}.heat-zone-time[data-v-135e879e],.heat-zone-percent[data-v-135e879e]{font-size:11px}}.trend-hint[data-v-abd3a5df]{color:#909399;margin-bottom:8px;font-size:13px}.flow-overview-content[data-v-4574673c]{flex-direction:column;gap:14px;display:flex}.flow-overview-highlights[data-v-4574673c]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.flow-highlight-item[data-v-4574673c]{background:#f8fafc;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.flow-highlight-label[data-v-4574673c]{color:#86909c;font-size:12px}.flow-highlight-value[data-v-4574673c]{color:#1d2129;font-size:20px;font-weight:700}.flow-overview-details[data-v-4574673c]{flex-direction:column;gap:6px;display:flex}.flow-detail-row[data-v-4574673c]{border-bottom:1px solid #e2e8f066;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.flow-detail-label[data-v-4574673c]{color:#86909c;font-size:13px}.flow-detail-value[data-v-4574673c]{color:#1d2129;font-size:13px;font-weight:600}.firmware-panel[data-v-ab06f089]{width:100%;min-width:0}.page-hero[data-v-ab06f089]{background:#ffffffc7;border:1px solid #fffc;border-radius:22px;margin-bottom:20px;padding:22px 24px;box-shadow:0 16px 38px #0f172a14}.page-hero h1[data-v-ab06f089]{color:#111827;letter-spacing:0;margin:0;font-size:28px;font-weight:900}.page-hero p[data-v-ab06f089]{color:#64748b;margin:8px 0 0;line-height:1.6}.firmware-layout[data-v-ab06f089]{grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);align-items:start;gap:20px;display:grid}.manage-card[data-v-ab06f089]{background:#ffffffd1;border:1px solid #ffffffd1;border-radius:22px;min-width:0;padding:22px;box-shadow:0 18px 42px #0f172a1a}.card-header[data-v-ab06f089]{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.card-header h2[data-v-ab06f089]{color:#111827;margin:0;font-size:20px;font-weight:900}.card-header p[data-v-ab06f089]{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.5}.firmware-form[data-v-ab06f089]{gap:16px;display:grid}.form-grid[data-v-ab06f089],.history-filters[data-v-ab06f089]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.history-filters[data-v-ab06f089]{margin-bottom:16px}.form-field[data-v-ab06f089]{color:#303133;gap:8px;min-width:0;font-weight:700;display:grid}.form-field span[data-v-ab06f089]{color:#475569;font-size:13px}.form-field input[data-v-ab06f089],.form-field textarea[data-v-ab06f089]{width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:12px;outline:none;padding:11px 12px;font-weight:400}.form-field input[type=file][data-v-ab06f089]{background:#f8fafc;padding:10px}.form-field textarea[data-v-ab06f089]{resize:vertical}.form-field input[data-v-ab06f089]:focus,.form-field textarea[data-v-ab06f089]:focus{border-color:#409eff;box-shadow:0 0 0 3px #409eff24}.submit-btn[data-v-ab06f089],.refresh-btn[data-v-ab06f089],.text-btn[data-v-ab06f089]{cursor:pointer;border:none;border-radius:12px;font-weight:800}.submit-btn[data-v-ab06f089]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);width:fit-content;padding:11px 18px;box-shadow:0 10px 22px #2563eb38}.refresh-btn[data-v-ab06f089]{color:#1d4ed8;background:#eff6ff;padding:9px 15px}.text-btn[data-v-ab06f089]{color:#2563eb;background:#eef4ff;padding:7px 10px}.submit-btn[data-v-ab06f089]:disabled,.refresh-btn[data-v-ab06f089]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.message[data-v-ab06f089]{border-radius:12px;padding:10px 12px;font-size:13px}.error-message[data-v-ab06f089]{color:#c45656;background:#fff1f0}.success-message[data-v-ab06f089]{color:#529b2e;background:#f0f9eb}.result-panel[data-v-ab06f089]{border-top:1px solid #e2e8f0;margin-top:22px;padding-top:18px}.result-panel h3[data-v-ab06f089]{color:#111827;margin:0 0 14px;font-size:17px}.result-panel dl[data-v-ab06f089]{gap:10px;display:grid}.result-panel dl>div[data-v-ab06f089]{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;display:grid}.result-panel dt[data-v-ab06f089]{color:#64748b;font-size:13px}.result-panel dd[data-v-ab06f089]{word-break:break-word;min-width:0;margin:0}.lan-tip[data-v-ab06f089]{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-top:16px;padding:10px 12px;font-size:13px;line-height:1.5}.history-card[data-v-ab06f089]{overflow:hidden}.history-header[data-v-ab06f089]{align-items:center}.history-table-wrap[data-v-ab06f089]{border:1px solid #e2e8f0;border-radius:16px;width:100%;overflow-x:auto}.history-table[data-v-ab06f089]{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.history-table th[data-v-ab06f089],.history-table td[data-v-ab06f089]{text-align:left;vertical-align:top;border-bottom:1px solid #eef2f7;padding:11px 12px}.history-table th[data-v-ab06f089]{color:#475569;white-space:nowrap;background:#f8fafc;font-weight:900}.history-table td[data-v-ab06f089]{color:#334155}.history-table tr:last-child td[data-v-ab06f089]{border-bottom:none}.changelog-cell[data-v-ab06f089]{word-break:break-word;max-width:220px}.url-actions[data-v-ab06f089]{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.enabled-badge[data-v-ab06f089]{color:#047857;background:#ecfdf5;border-radius:999px;align-items:center;padding:4px 9px;font-weight:900;display:inline-flex}.enabled-badge.disabled[data-v-ab06f089]{color:#b91c1c;background:#fef2f2}.empty-state[data-v-ab06f089]{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;justify-content:center;align-items:center;min-height:150px;display:flex}.app-container.night-mode,.app-container.night-mode{color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ad1;border-color:#94a3b82e;box-shadow:0 18px 40px #00000059}body:has(.app-container.night-mode){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ad1;border-color:#94a3b82e;box-shadow:0 18px 40px #00000059}body:has(.app-container.night-mode){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ad1;border-color:#94a3b82e;box-shadow:0 18px 40px #00000059}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{color:#f8fafcf5}body:has(.app-container.night-mode){color:#f8fafcf5}body:has(.app-container.night-mode){color:#f8fafcf5}body:has(.app-container.night-mode){color:#f8fafcf5}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){color:#cbd5e194}body:has(.app-container.night-mode){color:#cbd5e194}.app-container.night-mode,.app-container.night-mode{border-color:#94a3b833}body:has(.app-container.night-mode){border-color:#94a3b833}body:has(.app-container.night-mode){border-color:#94a3b833}.app-container.night-mode{color:#e2e8f0e6;background:#0f172ab8}body:has(.app-container.night-mode){color:#e2e8f0e6;background:#0f172ab8}.app-container.night-mode{color:#e2e8f0e0;border-color:#94a3b824}body:has(.app-container.night-mode){color:#e2e8f0e0;border-color:#94a3b824}.app-container.night-mode,.app-container.night-mode{color:#bfdbfe;background:#1e293bd1;border:1px solid #94a3b83d}body:has(.app-container.night-mode){color:#bfdbfe;background:#1e293bd1;border:1px solid #94a3b83d}body:has(.app-container.night-mode){color:#bfdbfe;background:#1e293bd1;border:1px solid #94a3b83d}body:has(.app-container.night-mode){color:#fde68a;background:#78350f42;border-color:#f59e0b3d}body:has(.app-container.night-mode){color:#cbd5e1b8;background:#0f172a94;border-color:#94a3b838}.app-container.night-mode{color:#fff!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border-color:#94a3b83d!important;box-shadow:0 18px 45px #0000007a!important}.app-container.night-mode,.app-container.night-mode{color:#94a3b89e!important}.app-container.night-mode{color:#a7f3d0;background:#065f4638;border:1px solid #94a3b83d;border-radius:10px;margin-right:10px;background:#0f172a7a!important;border-color:#94a3b829!important}.app-container.night-mode .firmware-panel .page-hero,.app-container.night-mode .firmware-panel .manage-card{color:#e2e8f0db!important;filter:none!important;-webkit-backdrop-filter:none!important;background:#0f172ad1!important;border:1px solid #94a3b82e!important;box-shadow:0 18px 40px #00000059!important}.app-container.night-mode .firmware-panel h1,.app-container.night-mode .firmware-panel h2,.app-container.night-mode .firmware-panel h3{color:#f8fafcf5!important}.app-container.night-mode .firmware-panel .page-hero p,.app-container.night-mode .firmware-panel .card-header p,.app-container.night-mode .firmware-panel .result-panel dt{color:#cbd5e1b8!important}.app-container.night-mode .firmware-panel .form-field,.app-container.night-mode .firmware-panel .form-field span{color:#e2e8f0d6!important}.app-container.night-mode .firmware-panel input,.app-container.night-mode .firmware-panel textarea{color:#f8fafceb!important;background:#0f172ab3!important;border-color:#94a3b838!important}.app-container.night-mode .firmware-panel input::placeholder,.app-container.night-mode .firmware-panel textarea::placeholder{color:#94a3b8a6!important}.app-container.night-mode .firmware-panel input[type=file]::file-selector-button{border-radius:10px;color:#e2e8f0e6!important;background:#1e293be0!important;border:1px solid #94a3b83d!important}.app-container.night-mode .firmware-panel .history-table-wrap,.app-container.night-mode .firmware-panel .history-table{background:#0f172a94!important;border-color:#94a3b833!important}.app-container.night-mode .firmware-panel .history-table th{color:#e2e8f0e6!important;background:#0f172ad1!important;border-color:#94a3b824!important}.app-container.night-mode .firmware-panel .history-table td{color:#e2e8f0db!important;background:0 0!important;border-color:#94a3b824!important}.app-container.night-mode .firmware-panel .select-trigger{color:#f8fafceb!important;background:#0f172ab3!important;border-color:#94a3b838!important}.app-container.night-mode .firmware-panel .select-dropdown{background:#0f172af5!important;border-color:#94a3b83d!important}.app-container.night-mode .firmware-panel .select-option{color:#e2e8f0e6!important}.app-container.night-mode .firmware-panel .select-option:hover{color:#f8fafcf5!important;background:#1e293beb!important}.app-container.night-mode .firmware-panel .refresh-btn,.app-container.night-mode .firmware-panel .text-btn{color:#bfdbfe!important;background:#1e293bd1!important;border:1px solid #94a3b83d!important}.app-container.night-mode .firmware-panel .empty-state{color:#cbd5e1b8!important;background:#0f172a94!important;border-color:#94a3b838!important}.app-container.night-mode .firmware-panel .result-panel{border-color:#94a3b833!important}@media (width<=1200px){.firmware-layout[data-v-ab06f089]{grid-template-columns:1fr}}@media (width<=768px){.page-hero[data-v-ab06f089]{border-radius:16px;margin-bottom:12px;padding:14px 16px}.page-hero h1[data-v-ab06f089]{font-size:22px}.page-hero p[data-v-ab06f089]{margin:4px 0 0;font-size:12px;line-height:1.4}.manage-card[data-v-ab06f089]{border-radius:16px;padding:14px 16px}.card-header[data-v-ab06f089]{gap:10px;margin-bottom:12px}.card-header h2[data-v-ab06f089]{font-size:17px}.card-header p[data-v-ab06f089]{margin:3px 0 0;font-size:12px}.firmware-form[data-v-ab06f089]{gap:12px}.form-grid[data-v-ab06f089]{grid-template-columns:1fr 1fr;gap:10px}.history-filters[data-v-ab06f089]{grid-template-columns:1fr;gap:10px}.form-field span[data-v-ab06f089]{font-size:12px}.form-field input[data-v-ab06f089],.form-field textarea[data-v-ab06f089]{border-radius:10px;padding:9px 10px;font-size:13px}.submit-btn[data-v-ab06f089]{width:100%;padding:10px 16px;font-size:14px}.result-panel[data-v-ab06f089]{margin-top:14px;padding-top:12px}.result-panel h3[data-v-ab06f089]{margin-bottom:10px;font-size:15px}.result-panel dl>div[data-v-ab06f089]{grid-template-columns:1fr;gap:4px}.history-header[data-v-ab06f089]{flex-direction:column;align-items:flex-start}.lan-tip[data-v-ab06f089]{margin-top:10px;padding:8px 10px;font-size:12px}.empty-state[data-v-ab06f089]{min-height:100px}}.odometer[data-v-ddddbb34]{vertical-align:middle;align-items:center;display:inline-flex}.odometer-col[data-v-ddddbb34]{text-align:center;overflow:hidden}.odometer-roll[data-v-ddddbb34]{flex-direction:column;transition:transform .5s cubic-bezier(.22,.1,.1,1);display:flex}.odometer-num[data-v-ddddbb34]{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex}.odometer-suffix[data-v-ddddbb34]{margin-left:2px;font-weight:800}.odometer-placeholder[data-v-ddddbb34]{font-variant-numeric:tabular-nums;font-weight:800}.time-container[data-v-b02a90ba]{flex-direction:column;align-items:flex-end;margin-bottom:14px;display:flex}.current-time[data-v-b02a90ba]{letter-spacing:.02em;color:#1e293b;will-change:transform;font-size:2rem;font-weight:800;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.current-time.time-tick[data-v-b02a90ba]{transform:scale(1.03)}.time-row[data-v-b02a90ba]{color:#475569;letter-spacing:.01em;align-items:center;gap:8px;margin-top:7px;font-size:14px;font-weight:700;display:flex}.weather-text[data-v-b02a90ba]{margin:0;font-weight:800}.time-divider[data-v-b02a90ba]{opacity:.35;-webkit-user-select:none;user-select:none;font-weight:800}.current-week[data-v-b02a90ba],.current-date[data-v-b02a90ba]{font-weight:800}.weather-icon[data-v-b02a90ba]{color:#64748b;flex:none;justify-content:center;align-items:center;width:36px;height:36px;margin-left:-4px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.weather-icon[data-v-b02a90ba]:hover{transform:scale(1.12)rotate(-3deg)}.weather-icon svg[data-v-b02a90ba]{width:36px;height:36px;display:block;overflow:visible}.weather-icon path[data-v-b02a90ba],.weather-icon circle[data-v-b02a90ba]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.icon-sun[data-v-b02a90ba]{transform-origin:18px 18px;animation:4s ease-in-out infinite sun-breathe-b02a90ba}.icon-sun .sun-glow[data-v-b02a90ba]{fill:#fbbf242e;stroke:none;transform-origin:18px 18px;animation:4s ease-in-out infinite glow-pulse-b02a90ba}.icon-sun .sun-core[data-v-b02a90ba]{fill:#fbbf24;stroke:#f59e0b;stroke-width:1.2px}.icon-sun .sun-core-hl[data-v-b02a90ba]{fill:#ffffff8c;stroke:none}.icon-sun .sun-rays[data-v-b02a90ba]{transform-origin:18px 18px;animation:24s linear infinite ray-spin-b02a90ba}.icon-sun .sun-rays path[data-v-b02a90ba]{stroke:#f59e0b;stroke-width:2.2px;opacity:.85;animation:4s ease-in-out infinite ray-breathe-b02a90ba}@keyframes ray-spin-b02a90ba{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sun-breathe-b02a90ba{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow-pulse-b02a90ba{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.12)}}@keyframes ray-breathe-b02a90ba{0%,to{opacity:.6}50%{opacity:1}}.icon-sun-peek .sun-peek-glow[data-v-b02a90ba]{fill:#fbb02466;stroke:none;transform-origin:24.5px 10.5px;animation:4s ease-in-out infinite glow-pulse-b02a90ba}.icon-sun-peek .sun-peek-body[data-v-b02a90ba]{fill:#fbbf24;stroke:#ea9008;stroke-width:1.4px}.icon-sun-peek .sun-peek-rays path[data-v-b02a90ba]{stroke:#f59e0b;stroke-width:2.6px;opacity:1;animation:4s ease-in-out infinite ray-breathe-b02a90ba}.cloud-body[data-v-b02a90ba]{animation:4s ease-in-out infinite cloud-float-b02a90ba}.cloud-fill[data-v-b02a90ba]{fill:#94a3b82e;stroke:#94a3b8}.weather-icon--partly .cloud-fill[data-v-b02a90ba]{fill:#94a3b859;stroke:#94a3b8;stroke-width:2.4px}.weather-icon--cloudy .cloud-fill[data-v-b02a90ba]{fill:#78879647;stroke:#78909c}.weather-icon--rain .cloud-fill[data-v-b02a90ba]{fill:#607d8b47;stroke:#607d8b}.weather-icon--snow .cloud-fill[data-v-b02a90ba]{fill:#e0e7f052;stroke:#cfd8dc}.weather-icon--fog .cloud-fill[data-v-b02a90ba]{fill:#b0bec53d;stroke:#b0bec5}.weather-icon--thunder .cloud-fill[data-v-b02a90ba]{fill:#455a644d;stroke:#546e7a}@keyframes cloud-float-b02a90ba{0%,to{transform:translate(0)}50%{transform:translate(1.2px,-.8px)}}.icon-rain .raindrop[data-v-b02a90ba]{stroke:#60a5fa;stroke-width:2px;opacity:0;animation:1.2s ease-in infinite rain-fall-b02a90ba}.raindrop-1[data-v-b02a90ba]{animation-delay:0s}.raindrop-2[data-v-b02a90ba]{animation-delay:.35s}.raindrop-3[data-v-b02a90ba]{animation-delay:.7s}.raindrop-4[data-v-b02a90ba]{animation-delay:.15s}.raindrop-5[data-v-b02a90ba]{animation-delay:.55s}.icon-rain.intensity-light .raindrop[data-v-b02a90ba]{stroke-width:1.6px;opacity:.7;animation-duration:1.8s}.icon-rain.intensity-heavy .raindrop[data-v-b02a90ba]{stroke-width:2.5px;stroke:#3b82f6;animation-duration:.7s}@keyframes rain-fall-b02a90ba{0%{opacity:0;transform:translateY(-3px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(3px)}}.icon-snow .snowflake[data-v-b02a90ba]{opacity:0;animation:2s ease-in-out infinite snow-drift-b02a90ba}.icon-snow .snowflake path[data-v-b02a90ba]{stroke:#fff;stroke-width:2px}.snowflake-1[data-v-b02a90ba]{animation-delay:0s}.snowflake-2[data-v-b02a90ba]{animation-delay:.7s}.snowflake-3[data-v-b02a90ba]{animation-delay:1.3s}.snowflake-4[data-v-b02a90ba]{animation-delay:.4s}.icon-snow.intensity-light .snowflake[data-v-b02a90ba]{animation-duration:3s}.icon-snow.intensity-light .snowflake path[data-v-b02a90ba]{stroke-width:1.4px}.icon-snow.intensity-heavy .snowflake[data-v-b02a90ba]{animation-duration:1.3s}.icon-snow.intensity-heavy .snowflake path[data-v-b02a90ba]{stroke-width:2.6px}@keyframes snow-drift-b02a90ba{0%{opacity:0;transform:translateY(-2px)rotate(0)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(3px)rotate(25deg)}}.icon-fog .fog-line[data-v-b02a90ba]{stroke:#94a3b8;stroke-width:2px;opacity:0;animation:3s ease-in-out infinite fog-drift-b02a90ba}.fog-line-1[data-v-b02a90ba]{animation-delay:0s}.fog-line-2[data-v-b02a90ba]{animation-delay:1s}@keyframes fog-drift-b02a90ba{0%{opacity:0;transform:translate(-3px)}40%{opacity:.8}60%{opacity:.8}to{opacity:0;transform:translate(3px)}}.icon-thunder .thunder-bolt[data-v-b02a90ba]{fill:#facc1526;stroke:#eab308;stroke-width:2px;animation:2.5s ease-in-out infinite thunder-flash-b02a90ba}.thunder-bolt-2[data-v-b02a90ba]{transform-origin:13px 28.5px;animation-delay:.8s}.thunder-bolt-3[data-v-b02a90ba]{transform-origin:24.5px 28px;animation-delay:1.6s}.icon-thunder.intensity-light .thunder-bolt[data-v-b02a90ba]{stroke-width:1.8px;animation-duration:3.5s}.icon-thunder.intensity-heavy .thunder-bolt[data-v-b02a90ba]{stroke-width:2.5px;fill:#facc1540;animation-duration:1.2s}.icon-thunder.intensity-normal .thunder-bolt[data-v-b02a90ba]{animation-duration:2.5s}.icon-thunder .hailstone[data-v-b02a90ba]{fill:#c8dcf0b3;stroke:none;animation:1s ease-in infinite hail-fall-b02a90ba}.hailstone-1[data-v-b02a90ba]{animation-delay:0s}.hailstone-2[data-v-b02a90ba]{animation-delay:.5s}@keyframes thunder-flash-b02a90ba{0%,to{opacity:1}10%{opacity:.3}20%{opacity:1}30%{opacity:.5}40%{opacity:1}}@keyframes hail-fall-b02a90ba{0%{opacity:0;transform:translateY(-3px)}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.current-time[data-v-b02a90ba],.weather-icon[data-v-b02a90ba],.icon-sun[data-v-b02a90ba],.sun-glow[data-v-b02a90ba],.sun-rays[data-v-b02a90ba],.sun-rays path[data-v-b02a90ba],.sun-peek-glow[data-v-b02a90ba],.sun-peek-body[data-v-b02a90ba],.sun-peek-rays[data-v-b02a90ba],.cloud-body[data-v-b02a90ba],.raindrop[data-v-b02a90ba],.snowflake[data-v-b02a90ba],.fog-line[data-v-b02a90ba],.thunder-bolt[data-v-b02a90ba],.hailstone[data-v-b02a90ba]{transition:none!important;animation:none!important}.raindrop[data-v-b02a90ba],.snowflake[data-v-b02a90ba],.fog-line[data-v-b02a90ba]{opacity:.85!important}}.app-container.night-mode .current-time{color:#f8fafcf5;text-shadow:0 0 20px #94a3b826}.app-container.night-mode .time-row{color:#e2e8f0c7}.app-container.night-mode .weather-icon{color:#cbd5e1e0}.app-container.night-mode .icon-snow .snowflake path{stroke:#fffffff2}.app-container.night-mode .weather-icon--snow .cloud-fill{fill:#c8d2dc33;stroke:#c8d2dc80}.app-container.night-mode .time-divider{opacity:.25}@media (width<=768px){.current-time[data-v-b02a90ba]{font-size:1.4rem}.time-row[data-v-b02a90ba]{flex-wrap:wrap;gap:6px;margin-top:7px;font-size:12px}.time-container[data-v-b02a90ba]{margin-bottom:6px}.weather-icon[data-v-b02a90ba],.weather-icon svg[data-v-b02a90ba]{width:24px;height:24px}.time-divider[data-v-b02a90ba]{display:none}}.app-container[data-v-861ac1a0]{isolation:isolate;background:#eef4fb;width:100%;max-width:100%;min-height:100vh;display:block;position:relative;overflow:hidden visible}.app-container[data-v-861ac1a0]:before{content:"";z-index:0;opacity:.95;filter:blur(8px);pointer-events:none;background-image:url(/backgrounds/bg-day.png);background-position:100%;background-repeat:no-repeat;background-size:cover;transition:opacity .5s,filter .5s;position:fixed;inset:0;transform:scale(1.02)}.app-container[data-v-861ac1a0]:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#f5f8fc2e 0%,#f5f8fc14 45%,#f5f8fc05 100%);transition:background .5s;position:fixed;inset:0}.app-container.night-mode[data-v-861ac1a0]:before{opacity:1;background-image:url(/backgrounds/bg-night.png)}.app-container.night-mode[data-v-861ac1a0]:after{background:linear-gradient(90deg,#0206176b 0%,#02061738 55%,#02061714 100%)}.page-switcher[data-v-861ac1a0]{--page-push-distance:calc(100vh - 72px);--page-switch-height:calc(100vh - 72px);min-height:calc(100vh - 72px);position:relative;overflow:visible}.page-switcher.is-switching[data-v-861ac1a0]{height:var(--page-switch-height);min-height:0;overflow:hidden}.page-section[data-v-861ac1a0]{width:100%;position:relative}.page-switcher.is-switching .page-section[data-v-861ac1a0]{will-change:transform, opacity;height:100%;min-height:100%;overflow:hidden}.page-switcher.is-switching[data-v-861ac1a0] .env-card,.page-switcher.is-switching[data-v-861ac1a0] .scan-panel,.page-switcher.is-switching[data-v-861ac1a0] .settings-group-card,.page-switcher.is-switching[data-v-861ac1a0] #controls,.page-switcher.is-switching[data-v-861ac1a0] .store-layout-main{-webkit-backdrop-filter:none!important}.page-switcher.is-switching[data-v-861ac1a0] .env-card,.page-switcher.is-switching[data-v-861ac1a0] .scan-panel,.page-switcher.is-switching[data-v-861ac1a0] .settings-group-card,.page-switcher.is-switching[data-v-861ac1a0] #controls,.page-switcher.is-switching[data-v-861ac1a0] .store-layout-main,.page-switcher.is-switching[data-v-861ac1a0] .settings-full-card{transition-property:opacity,transform!important}.odometer-motion-pending[data-v-861ac1a0]{visibility:hidden}.tab-page-next-enter-active[data-v-861ac1a0],.tab-page-next-leave-active[data-v-861ac1a0],.tab-page-prev-enter-active[data-v-861ac1a0],.tab-page-prev-leave-active[data-v-861ac1a0]{transition:transform .42s cubic-bezier(.2,.8,.2,1)}.tab-page-next-leave-active[data-v-861ac1a0],.tab-page-prev-leave-active[data-v-861ac1a0]{pointer-events:none;width:100%;position:absolute;inset:0}.tab-page-next-enter-from[data-v-861ac1a0]{transform:translateY(var(--page-push-distance))}.tab-page-next-leave-to[data-v-861ac1a0],.tab-page-prev-enter-from[data-v-861ac1a0]{transform:translateY(calc(var(--page-push-distance) * -1))}.tab-page-prev-leave-to[data-v-861ac1a0]{transform:translateY(var(--page-push-distance))}.section-space-top[data-v-861ac1a0]{margin-top:10px}.env-layout[data-v-861ac1a0]{flex-wrap:wrap;gap:16px;margin-bottom:22px;display:flex}.env-card[data-v-861ac1a0]{background:#fff;border-radius:16px;flex:48%;min-width:300px;padding:14px 16px;box-shadow:0 4px 10px #00000014}.env-card h4[data-v-861ac1a0]{margin:0 0 10px;font-size:17px}[data-v-861ac1a0] .env-card,[data-v-861ac1a0] .lamp-card,[data-v-861ac1a0] .settings-card,[data-v-861ac1a0] .placeholder-card,[data-v-861ac1a0] .empty-block,[data-v-861ac1a0] .scan-panel,[data-v-861ac1a0] .chart-card,[data-v-861ac1a0] .info-card,[data-v-861ac1a0] #controls{-webkit-backdrop-filter:blur(12px);background:#ffffffad;border:1px solid #ffffffb8;box-shadow:0 16px 40px #0f172a1a}.env-info[data-v-861ac1a0]{gap:8px;margin-top:12px;display:grid}.stat-grid[data-v-861ac1a0]{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.stat-item[data-v-861ac1a0]{border-right:1px solid #cbd5e1b8;min-width:0;padding:0 18px 0 0}.stat-item[data-v-861ac1a0]:last-child{border-right:none;padding-right:0}.meta-grid[data-v-861ac1a0]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:0;width:100%;margin-bottom:14px;display:grid}.meta-item[data-v-861ac1a0]{min-width:0;padding:0 24px}.meta-item[data-v-861ac1a0]:first-child{padding-left:0}.meta-item+.meta-item[data-v-861ac1a0]{border-left:1px solid #cbd5e1b8}.meta-item[data-v-861ac1a0]:last-child{padding-right:0}.stat-label[data-v-861ac1a0]{color:#64748b;margin-bottom:4px;font-size:13px;line-height:1.2;display:block}.stat-value[data-v-861ac1a0]{color:#0f172a;font-size:16px;font-weight:800;line-height:1.25;display:block}#metaInfo[data-v-861ac1a0]{grid-template-columns:auto auto;gap:6px 30px;display:grid}.lux-display[data-v-861ac1a0]{background:#f8fafcb8;border-radius:13px;align-items:center;gap:4px;min-height:44px;margin-top:10px;padding:10px 12px;display:flex}.lux-label[data-v-861ac1a0]{color:#475569;font-weight:600}.lux-label-web[data-v-861ac1a0]{display:inline}.lux-label-mobile[data-v-861ac1a0],.lux-odometer-mobile[data-v-861ac1a0]{display:none}.lux-odometer-web[data-v-861ac1a0]{color:#0f172a;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}[data-v-861ac1a0] .lux-odometer-web .odometer-num,[data-v-861ac1a0] .lux-odometer-web .odometer-suffix{font-weight:600}.lux-placeholder[data-v-861ac1a0]{color:#0f172a;font-weight:600}.page-section>h1[data-v-861ac1a0]{color:#1f2937;letter-spacing:-.02em;margin:26px 0 16px;font-size:34px;font-weight:900;line-height:1.1}#controls[data-v-861ac1a0]{border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 28px;padding:14px 18px;display:flex}#controls>button[data-v-861ac1a0]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:999px;min-height:40px;padding:10px 18px;font-size:14px;font-weight:800;box-shadow:0 8px 18px #2563eb2e}#controls>button[data-v-861ac1a0]:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}#controls label[data-v-861ac1a0]{color:#64748b;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}#controls input[data-v-861ac1a0]{box-sizing:border-box;color:#334155;background:#ffffffdb;border:1px solid #cbd5e1e6;border-radius:10px;width:178px;height:36px;padding:0 12px;font-size:14px}#scanStatus[data-v-861ac1a0]{color:#64748b;margin-left:auto;font-size:14px;font-weight:700}#scanStatus.ws-status-pill[data-v-861ac1a0]{background:#f8fafcdb;border:1px solid #cbd5e1d1;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:6px 12px;transition:background .22s,border-color .22s,color .22s,box-shadow .22s;display:inline-flex}.ws-status-dot[data-v-861ac1a0]{background:#ef4444;border-radius:999px;flex:0 0 9px;width:9px;height:9px;position:relative;box-shadow:0 0 0 4px #ef44441f}.ws-status-dot[data-v-861ac1a0]:after{content:"";border-radius:inherit;opacity:0;border:1px solid;position:absolute;inset:-6px}#scanStatus.ws-connected[data-v-861ac1a0]{color:#15803d;background:#f0fdf4e6;border-color:#22c55e3d;box-shadow:0 8px 18px #16a34a14}#scanStatus.ws-connected .ws-status-dot[data-v-861ac1a0]{background:#22c55e;box-shadow:0 0 0 4px #22c55e24}#scanStatus.ws-connected .ws-status-dot[data-v-861ac1a0]:after,#scanStatus.ws-scanning .ws-status-dot[data-v-861ac1a0]:after{animation:1.8s ease-out infinite wsStatusPulse-861ac1a0}#scanStatus.ws-scanning[data-v-861ac1a0]{color:#0369a1;background:#f0f9ffeb;border-color:#0ea5e947}#scanStatus.ws-scanning .ws-status-dot[data-v-861ac1a0]{background:#0ea5e9;box-shadow:0 0 0 4px #0ea5e924}@keyframes wsStatusPulse-861ac1a0{0%{opacity:.45;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}.settings-layout[data-v-861ac1a0]{flex-direction:column;gap:20px;display:flex}.settings-row[data-v-861ac1a0]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.settings-half-card[data-v-861ac1a0]{min-width:0;height:100%}.settings-full-card[data-v-861ac1a0]{width:100%}.settings-group-card[data-v-861ac1a0]{-webkit-backdrop-filter:blur(12px);box-sizing:border-box;background:#ffffff8c;border:1px solid #ffffff8c;border-radius:24px;width:100%;min-width:0;margin-top:24px;padding:24px;box-shadow:0 12px 30px #0f172a12}.settings-group-title[data-v-861ac1a0]{color:#1d2129;border-bottom:1px solid #e5e6eb;margin:0 0 18px;padding-bottom:14px;font-size:17px;font-weight:700}.settings-group-grid[data-v-861ac1a0]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.settings-group-grid[data-v-861ac1a0]>*{min-width:0}.settings-group-grid[data-v-861ac1a0] .smart-config-section{width:100%;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.settings-group-grid[data-v-861ac1a0] .smart-config-section .smart-card{-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #ffffff80;border-radius:12px;max-width:none;margin:0;padding:20px;box-shadow:0 4px 16px #0f172a0d}.night-mode[data-v-861ac1a0]{color:#e5eaf3;background:linear-gradient(#1f2329 0%,#14181f 100%);transition:background .5s,color .5s}.night-mode .main-content[data-v-861ac1a0]{background:0 0}.app-container[data-v-861ac1a0] .env-card,.app-container[data-v-861ac1a0] .lamp-card,.app-container[data-v-861ac1a0] .settings-card,.app-container[data-v-861ac1a0] .smart-card,.app-container[data-v-861ac1a0] .layout-card,.app-container[data-v-861ac1a0] .light-effect-mini-card,.app-container[data-v-861ac1a0] .sidebar,.app-container[data-v-861ac1a0] .chart-card,.app-container[data-v-861ac1a0] #controls{transition:background .5s,border-color .5s,box-shadow .5s,color .5s}.app-container .settings-group-card[data-v-861ac1a0]{transition:background .35s,border-color .35s,box-shadow .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,color .35s}.night-mode .device-meta[data-v-861ac1a0],.night-mode .field-label[data-v-861ac1a0],.night-mode .checkbox-row[data-v-861ac1a0],.night-mode .settings-title[data-v-861ac1a0],.night-mode .settings-group-title[data-v-861ac1a0],.night-mode .readonly-box[data-v-861ac1a0]{color:#c9d1d9}.night-mode .lux-display[data-v-861ac1a0]{background:#1e293bb8}.night-mode[data-v-861ac1a0] .sidebar li.active,.night-mode[data-v-861ac1a0] .sidebar li:hover{background:#409eff2e}.app-container.night-mode[data-v-861ac1a0] .env-card,.app-container.night-mode[data-v-861ac1a0] .lamp-card,.app-container.night-mode[data-v-861ac1a0] .settings-card,.app-container.night-mode[data-v-861ac1a0] .smart-card,.app-container.night-mode[data-v-861ac1a0] .placeholder-card,.app-container.night-mode[data-v-861ac1a0] .empty-block,.app-container.night-mode[data-v-861ac1a0] .scan-panel,.app-container.night-mode[data-v-861ac1a0] .chart-card,.app-container.night-mode[data-v-861ac1a0] .info-card,.app-container.night-mode[data-v-861ac1a0] #controls,.app-container.night-mode[data-v-861ac1a0] .sidebar{color:#e5e7eb;-webkit-backdrop-filter:none;background:#0f172ab8;border:1px solid #94a3b82e;box-shadow:0 18px 45px #00000059}.night-mode .settings-group-title[data-v-861ac1a0]{border-bottom-color:#94a3b838}.app-container.night-mode .settings-group-card[data-v-861ac1a0]{-webkit-backdrop-filter:none;background:linear-gradient(135deg,#0f172ab8,#1e293b94);border-color:#94a3b838;box-shadow:0 18px 45px #00000059}.app-container.night-mode[data-v-861ac1a0] .flow-card,.app-container.night-mode[data-v-861ac1a0] .flow-data-item,.app-container.night-mode[data-v-861ac1a0] .flow-chart-box,.app-container.night-mode[data-v-861ac1a0] .empty-flow,.app-container.night-mode[data-v-861ac1a0] .smart-step,.app-container.night-mode[data-v-861ac1a0] .smart-status,.app-container.night-mode[data-v-861ac1a0] .smart-message{color:#e5e7eb!important;background:#0f172a9e!important;border-color:#94a3b838!important}.app-container.night-mode[data-v-861ac1a0] .flow-device-name,.app-container.night-mode[data-v-861ac1a0] .flow-data-item strong,.app-container.night-mode[data-v-861ac1a0] .meta-value,.app-container.night-mode[data-v-861ac1a0] .smart-title{color:#f8fafc!important}.app-container.night-mode[data-v-861ac1a0] .flow-device-sub,.app-container.night-mode[data-v-861ac1a0] .flow-data-item span,.app-container.night-mode[data-v-861ac1a0] .meta-key,.app-container.night-mode[data-v-861ac1a0] .smart-desc,.app-container.night-mode[data-v-861ac1a0] .flow-chart-box,.app-container.night-mode[data-v-861ac1a0] .smart-step p{color:#94a3b8!important}.app-container.night-mode[data-v-861ac1a0] input,.app-container.night-mode[data-v-861ac1a0] select,.app-container.night-mode[data-v-861ac1a0] .date-input,.app-container.night-mode[data-v-861ac1a0] .text-input,.app-container.night-mode[data-v-861ac1a0] .region-input,.app-container.night-mode[data-v-861ac1a0] .readonly-box,.app-container.night-mode[data-v-861ac1a0] .select-trigger{color:#e5e7eb!important;background:#0f172ac2!important;border-color:#94a3b847!important}.app-container.night-mode[data-v-861ac1a0] input::placeholder,.app-container.night-mode[data-v-861ac1a0] .select-text.placeholder{color:#64748b!important}.app-container.night-mode[data-v-861ac1a0] .select-dropdown{background:#0f172af5!important;border-color:#94a3b83d!important;box-shadow:0 18px 45px #00000073!important}.app-container.night-mode[data-v-861ac1a0] .select-option{color:#e5e7eb!important}.app-container.night-mode[data-v-861ac1a0] .select-option:hover{background:#1e293be6!important}.app-container.night-mode[data-v-861ac1a0] .flow-status{color:#93c5fd!important;background:#2563eb38!important}.app-container.night-mode[data-v-861ac1a0] .flow-status.active{color:#fecaca!important;background:#7f1d1d4d!important}.app-container.night-mode[data-v-861ac1a0] .btn-secondary,.app-container.night-mode[data-v-861ac1a0] .secondary-btn,.app-container.night-mode[data-v-861ac1a0] .scan-cancel-btn{color:#e5e7eb!important;background:#1e293bd1!important;border:1px solid #94a3b83d!important}.app-container.night-mode[data-v-861ac1a0] .btn-logout,.app-container.night-mode[data-v-861ac1a0] .btn-danger{color:#fecaca!important;background:#7f1d1d42!important}.app-container.night-mode[data-v-861ac1a0] .smart-tips{color:#fde68a!important;background:#78350f38!important;border:1px solid #f59e0b2e!important}.app-container.night-mode[data-v-861ac1a0] .layout-card,.app-container.night-mode[data-v-861ac1a0] .light-effect-mini-card,.app-container.night-mode[data-v-861ac1a0] .smart-config-section,.app-container.night-mode[data-v-861ac1a0] .direction-pad,.app-container.night-mode[data-v-861ac1a0] .preset-btn,.app-container.night-mode[data-v-861ac1a0] .slider-card,.app-container.night-mode[data-v-861ac1a0] .scan-item,.app-container.night-mode[data-v-861ac1a0] .firmware-section,.app-container.night-mode[data-v-861ac1a0] .firmware-info-item,.app-container.night-mode[data-v-861ac1a0] .detail-info-item,.app-container.night-mode[data-v-861ac1a0] .readonly-item{color:#e2e8f0e0!important;background:#0f172ab8!important;border-color:#94a3b82e!important;box-shadow:0 18px 40px #00000059!important}.app-container.night-mode[data-v-861ac1a0] .layout-card,.app-container.night-mode[data-v-861ac1a0] .light-effect-mini-card{background:#0f172ad1!important}.app-container.night-mode[data-v-861ac1a0] h1,.app-container.night-mode[data-v-861ac1a0] h2,.app-container.night-mode[data-v-861ac1a0] h3,.app-container.night-mode[data-v-861ac1a0] h4,.app-container.night-mode[data-v-861ac1a0] .card-title,.app-container.night-mode[data-v-861ac1a0] .scan-panel-title,.app-container.night-mode[data-v-861ac1a0] .layout-header h2,.app-container.night-mode[data-v-861ac1a0] .mini-title,.app-container.night-mode[data-v-861ac1a0] .device-title-block h3,.app-container.night-mode[data-v-861ac1a0] .preset-btn strong,.app-container.night-mode[data-v-861ac1a0] .slider-card-header,.app-container.night-mode[data-v-861ac1a0] .firmware-section h4,.app-container.night-mode[data-v-861ac1a0] .firmware-info-item strong,.app-container.night-mode[data-v-861ac1a0] .detail-value,.app-container.night-mode[data-v-861ac1a0] .readonly-value,.app-container.night-mode[data-v-861ac1a0] .lamp-info strong,.app-container.night-mode[data-v-861ac1a0] .zone-order-row strong{color:#f8fafcf5!important}.app-container.night-mode[data-v-861ac1a0] .env-info,.app-container.night-mode[data-v-861ac1a0] .stat-label,.app-container.night-mode[data-v-861ac1a0] #metaInfo,.app-container.night-mode[data-v-861ac1a0] #scanStatus,.app-container.night-mode[data-v-861ac1a0] .scan-item-info,.app-container.night-mode[data-v-861ac1a0] .field-label,.app-container.night-mode[data-v-861ac1a0] .checkbox-row,.app-container.night-mode[data-v-861ac1a0] .form-row label,.app-container.night-mode[data-v-861ac1a0] .modal-label,.app-container.night-mode[data-v-861ac1a0] .detail-label,.app-container.night-mode[data-v-861ac1a0] .firmware-info-item span,.app-container.night-mode[data-v-861ac1a0] .readonly-label,.app-container.night-mode[data-v-861ac1a0] .mini-label,.app-container.night-mode[data-v-861ac1a0] .lamp-info span,.app-container.night-mode[data-v-861ac1a0] .zone-order-row span,.app-container.night-mode[data-v-861ac1a0] .message-body{color:#e2e8f0e0!important}.app-container.night-mode[data-v-861ac1a0] .stat-item,.app-container.night-mode[data-v-861ac1a0] .meta-item{border-color:#94a3b838!important}.app-container.night-mode[data-v-861ac1a0] .stat-value{color:#f8fafcf5!important}.app-container.night-mode[data-v-861ac1a0] .panel-desc,.app-container.night-mode[data-v-861ac1a0] .last-seen-under-name,.app-container.night-mode[data-v-861ac1a0] .layout-header p,.app-container.night-mode[data-v-861ac1a0] .mini-status,.app-container.night-mode[data-v-861ac1a0] .preset-btn span,.app-container.night-mode[data-v-861ac1a0] .device-meta,.app-container.night-mode[data-v-861ac1a0] .detail-subtitle,.app-container.night-mode[data-v-861ac1a0] .modal-hint,.app-container.night-mode[data-v-861ac1a0] .scan-empty,.app-container.night-mode[data-v-861ac1a0] .empty-block,.app-container.night-mode[data-v-861ac1a0] .field-hint.placeholder{color:#cbd5e1b8!important}.app-container.night-mode[data-v-861ac1a0] input::placeholder,.app-container.night-mode[data-v-861ac1a0] textarea::placeholder,.app-container.night-mode[data-v-861ac1a0] .select-text.placeholder{color:#cbd5e194!important}.app-container.night-mode[data-v-861ac1a0] .scan-empty,.app-container.night-mode[data-v-861ac1a0] .empty-block{background:#0f172a94!important;border-color:#94a3b838!important}.app-container.night-mode[data-v-861ac1a0] .speed-tab,.app-container.night-mode[data-v-861ac1a0] .compact-btn,.app-container.night-mode[data-v-861ac1a0] .shortcut-btn,.app-container.night-mode[data-v-861ac1a0] .btn-light,.app-container.night-mode[data-v-861ac1a0] .reset-layout-btn,.app-container.night-mode[data-v-861ac1a0] .scan-clear-btn,.app-container.night-mode[data-v-861ac1a0] .mini-btn.stop,.app-container.night-mode[data-v-861ac1a0] .btn-ai{color:#e2e8f0e6!important;box-shadow:none!important;background:#1e293bd1!important;border:1px solid #94a3b83d!important}.app-container.night-mode[data-v-861ac1a0] .speed-tab.active,.app-container.night-mode[data-v-861ac1a0] .compact-btn.primary,.app-container.night-mode[data-v-861ac1a0] .btn-ai:not(.active):hover,.app-container.night-mode[data-v-861ac1a0] .reset-layout-btn:hover,.app-container.night-mode[data-v-861ac1a0] .shortcut-btn:hover,.app-container.night-mode[data-v-861ac1a0] .compact-btn:hover{color:#bfdbfe!important;background:#2563eb42!important;border-color:#60a5fa73!important}.app-container.night-mode[data-v-861ac1a0] .dir-btn{color:#93c5fd!important;background:#1e293be0!important;border:1px solid #60a5fa38!important;box-shadow:0 10px 22px #00000047!important}.app-container.night-mode[data-v-861ac1a0] .dir-btn:hover{background:#2563eb47!important}.app-container.night-mode[data-v-861ac1a0] .field-hint:not(.placeholder){color:#fcd34d!important}.app-container.night-mode[data-v-861ac1a0] .smart-status.active{color:#bfdbfe!important;background:#2563eb47!important;border-color:#60a5fa5c!important}.app-container.night-mode[data-v-861ac1a0] .smart-status.success,.app-container.night-mode[data-v-861ac1a0] .status-badge.online{color:#a7f3d0!important;background:#065f4647!important;border-color:#34d39938!important}.app-container.night-mode[data-v-861ac1a0] .smart-status.error,.app-container.night-mode[data-v-861ac1a0] .status-badge.offline,.app-container.night-mode[data-v-861ac1a0] .btn-ai.active{color:#fecaca!important;background:#7f1d1d47!important;border-color:#f8717138!important}.app-container.night-mode[data-v-861ac1a0] .smart-status.warning,.app-container.night-mode[data-v-861ac1a0] .smart-message.warning,.app-container.night-mode[data-v-861ac1a0] .ota-result{color:#fde68a!important;background:#78350f42!important;border-color:#f59e0b3d!important}.app-container.night-mode[data-v-861ac1a0] .status-badge{border:1px solid #94a3b82e}.app-container.night-mode[data-v-861ac1a0] .color-box,.app-container.night-mode[data-v-861ac1a0] .lux-display,.app-container.night-mode[data-v-861ac1a0] .zone-order-row span{border-color:#94a3b838!important;box-shadow:inset 0 0 0 1px #0f172a38!important}.app-container.night-mode[data-v-861ac1a0] .store-stage{background:#020617c7!important;border-color:#94a3b838!important}.app-container.night-mode[data-v-861ac1a0] .store-bg{filter:blur(2px)brightness(.58)saturate(.82)!important}.app-container.night-mode[data-v-861ac1a0] .zone-box{background:#2563eb33!important;border-color:#60a5fab8!important;box-shadow:0 16px 36px #0000005c!important}.app-container.night-mode[data-v-861ac1a0] .zone-name-input,.app-container.night-mode[data-v-861ac1a0] .zone-count,.app-container.night-mode[data-v-861ac1a0] .lamp-node{color:#f8fafcf5!important;background:#0f172ae6!important;border-color:#94a3b84d!important}.app-container.night-mode[data-v-861ac1a0] .lamp-node.active,.app-container.night-mode[data-v-861ac1a0] .lamp-node.selected{border-color:#fbbf24eb!important;box-shadow:0 0 0 5px #fbbf242e,0 18px 44px #00000075!important}.app-container.night-mode[data-v-861ac1a0] .smart-message.success{color:#a7f3d0!important;background:#065f4638!important}.app-container.night-mode[data-v-861ac1a0] .smart-message.error{color:#fecaca!important;background:#7f1d1d38!important}.app-container.night-mode .current-time[data-v-861ac1a0]{color:#f8fafcf5}.scan-panel-title[data-v-861ac1a0]{color:#1e293b;margin-bottom:16px;font-size:22px;font-weight:700}.scan-empty[data-v-861ac1a0]{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;justify-content:center;align-items:center;min-height:88px;display:flex}.scan-list[data-v-861ac1a0]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.scan-item[data-v-861ac1a0]{background:linear-gradient(#f8fbff 0%,#eef6ff 100%);border:1px solid #dbeafe;border-radius:16px;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 18px 16px;transition:transform .2s,box-shadow .2s;display:flex}.scan-item-info div[data-v-861ac1a0]:first-child{color:#0f172a;font-size:18px;font-weight:700}.scan-add-btn[data-v-861ac1a0]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s;box-shadow:0 8px 18px #2563eb38}.scan-add-btn[data-v-861ac1a0]:active{transform:translateY(0)}.scan-add-btn[data-v-861ac1a0]:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.scan-cancel-btn[data-v-861ac1a0]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s,border-color .15s}.scan-cancel-btn[data-v-861ac1a0]:hover{opacity:.96;border-color:#94a3b8;transform:translateY(-1px)}.scan-panel[data-v-861ac1a0]{-webkit-backdrop-filter:blur(18px)saturate(1.08);background:#ffffffe0;border:1px solid #e2e8f0e6;border-radius:22px;margin:20px 0 24px;padding:20px 22px;position:relative;overflow:hidden;box-shadow:0 12px 40px #0f172a14,inset 0 1px #ffffffb3}.scan-panel.scanning[data-v-861ac1a0]:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0%,#3b82f614 44%,#0000 58%);animation:2.6s ease-in-out infinite scanPanelSweep-861ac1a0;position:absolute;inset:0;transform:translate(-100%)}.scan-panel-header[data-v-861ac1a0]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.scan-panel-title[data-v-861ac1a0]{color:#1e293b;letter-spacing:-.02em;font-size:22px;font-weight:700}.scan-clear-btn[data-v-861ac1a0]{color:#475569;cursor:pointer;background:#ffffffe0;border:1px solid #cbd5e1f2;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),opacity .18s cubic-bezier(.2,.8,.2,1)}.scan-clear-btn[data-v-861ac1a0]:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.scan-clear-btn[data-v-861ac1a0]:active{transform:scale(.965)}.scan-progress[data-v-861ac1a0]{margin:-4px 0 14px}.scan-progress-track[data-v-861ac1a0]{background:#cbd5e185;border-radius:999px;height:5px;overflow:hidden}.scan-progress-fill[data-v-861ac1a0]{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#2563eb);height:100%;transition:width .38s cubic-bezier(.22,1,.36,1);box-shadow:0 0 18px #2563eb61}.scan-empty[data-v-861ac1a0]{color:#64748b;background:#f8fafce6;border:1px dashed #cbd5e1;border-radius:18px;justify-content:center;place-items:center;gap:10px;min-height:92px;display:grid}.scan-radar[data-v-861ac1a0]{background:radial-gradient(circle,#3b82f642 0 4px,#0000 5px),repeating-radial-gradient(circle,#3b82f624 0 1px,#0000 1px 15px);border-radius:50%;width:54px;height:54px;position:relative;box-shadow:inset 0 0 0 1px #2563eb2e}.scan-radar[data-v-861ac1a0]:before,.scan-radar[data-v-861ac1a0]:after{content:"";border:1px solid #2563eb2e;border-radius:50%;position:absolute;inset:8px}.scan-radar[data-v-861ac1a0]:after{inset:18px}.scan-radar-sweep[data-v-861ac1a0]{border-radius:inherit;background:conic-gradient(#2563eb66,#2563eb0a 38%,#0000 39%);animation:1.25s linear infinite scanRadarSweep-861ac1a0;position:absolute;inset:0}.scan-list[data-v-861ac1a0]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid;position:relative}.scan-item[data-v-861ac1a0]{background:linear-gradient(#f8fbfffa 0%,#eef6fffa 100%);border:1px solid #dbeafef2;border-radius:18px;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 18px 16px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1);display:flex;box-shadow:0 8px 24px #3b82f614,inset 0 1px #ffffffb8}.scan-item[data-v-861ac1a0]:hover{transform:translateY(-2px);box-shadow:0 14px 30px #3b82f624,inset 0 1px #ffffffb8}.ios-card-enter-active[data-v-861ac1a0]{transition:opacity .36s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1),box-shadow .36s cubic-bezier(.22,1,.36,1)}.ios-card-leave-active[data-v-861ac1a0]{transition:opacity .22s,transform .22s}.ios-card-enter-from[data-v-861ac1a0]{opacity:0;transform:translateY(14px)scale(.96)}.ios-card-leave-to[data-v-861ac1a0]{opacity:0;transform:translateY(8px)scale(.98)}.ios-card-move[data-v-861ac1a0]{transition:transform .28s cubic-bezier(.22,1,.36,1)}@keyframes scanPanelSweep-861ac1a0{0%{transform:translate(-105%)}55%,to{transform:translate(105%)}}@keyframes scanRadarSweep-861ac1a0{to{transform:rotate(360deg)}}.scan-item-info[data-v-861ac1a0]{color:#334155;flex-direction:column;gap:8px;font-size:15px;line-height:1.5;display:flex}.scan-item-info div[data-v-861ac1a0]:first-child{color:#0f172a;letter-spacing:-.02em;font-size:18px;font-weight:700}.scan-item-actions[data-v-861ac1a0]{flex-wrap:wrap;gap:10px;display:flex}.scan-add-btn[data-v-861ac1a0],.scan-cancel-btn[data-v-861ac1a0],#controls>button[data-v-861ac1a0],.btn-confirm[data-v-861ac1a0],.btn-cancel[data-v-861ac1a0]{transform-origin:50%;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),opacity .18s cubic-bezier(.2,.8,.2,1)}.scan-add-btn[data-v-861ac1a0]:active,.scan-cancel-btn[data-v-861ac1a0]:active,#controls>button[data-v-861ac1a0]:active,.btn-confirm[data-v-861ac1a0]:active,.btn-cancel[data-v-861ac1a0]:active{transform:scale(.965)}.scan-add-btn[data-v-861ac1a0]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:700;box-shadow:0 10px 22px #2563eb38}.scan-add-btn[data-v-861ac1a0]:hover{opacity:.97;transform:translateY(-1px)}.scan-cancel-btn[data-v-861ac1a0]{color:#475569;cursor:pointer;background:#ffffffeb;border:1px solid #cbd5e1f2;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:700;box-shadow:0 8px 18px #0f172a0f}.scan-cancel-btn[data-v-861ac1a0]:hover{opacity:.97;transform:translateY(-1px)}.ios-panel-enter-active[data-v-861ac1a0]{will-change:opacity, transform;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1)}.ios-panel-leave-active[data-v-861ac1a0]{will-change:opacity, transform;transition:opacity .26s cubic-bezier(.4,0,1,1),transform .26s cubic-bezier(.4,0,1,1)}.ios-panel-enter-from[data-v-861ac1a0]{opacity:0;transform:translateY(18px)scale(.965)}.ios-panel-enter-to[data-v-861ac1a0],.ios-panel-leave-from[data-v-861ac1a0]{opacity:1;transform:translateY(0)scale(1)}.ios-panel-leave-to[data-v-861ac1a0]{opacity:0;transform:translateY(10px)scale(.985)}.text-input[data-v-861ac1a0]{border:1px solid #dcdfe6;border-radius:8px;width:100%;padding:8px 10px}.settings-half-card[data-v-861ac1a0],.settings-full-card[data-v-861ac1a0]{z-index:1;position:relative}.settings-half-card[data-v-861ac1a0]:focus-within,.settings-full-card[data-v-861ac1a0]:focus-within{z-index:50}.main-content[data-v-861ac1a0]{z-index:2;box-sizing:border-box;width:auto;min-width:0;max-width:100%;min-height:100vh;margin-left:228px;padding:24px 24px 48px 0;position:relative;overflow-x:hidden}.layout-card[data-v-861ac1a0]{box-sizing:border-box;-webkit-backdrop-filter:blur(14px);background:#ffffffc2;border:1px solid #ffffffc7;border-radius:24px;flex-direction:column;height:100%;margin:0;padding:18px;display:flex;box-shadow:0 18px 46px #0f172a24}.layout-header[data-v-861ac1a0]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.layout-header>div[data-v-861ac1a0]:first-child{flex:200px;min-width:0}.layout-header h2[data-v-861ac1a0]{color:#111827;letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:22px;font-weight:900}.three-layout-mvp-panel[data-v-861ac1a0]{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.store-layout-row[data-v-861ac1a0]{grid-template-columns:minmax(320px,.75fr) minmax(520px,1.55fr);align-items:stretch;gap:20px;margin:20px 0 28px;display:grid}.store-layout-row[data-v-861ac1a0]>*{min-width:0}.store-effect-mini[data-v-861ac1a0]{width:100%;height:100%}.store-layout-main[data-v-861ac1a0]{min-width:0;height:100%}@media (width<=1360px){.store-layout-row[data-v-861ac1a0]{grid-template-columns:minmax(340px,.95fr) minmax(460px,1.15fr)}}@media (width<=1180px){.store-layout-row[data-v-861ac1a0]{grid-template-columns:1fr}.store-effect-mini[data-v-861ac1a0]{width:100%;position:static}}@media (width<=768px){.main-content[data-v-861ac1a0]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0;padding:12px 18px;overflow-x:hidden}.page-switcher[data-v-861ac1a0]{--page-push-distance:calc(100vh - 90px);--page-switch-height:calc(100vh - 90px);min-height:calc(100vh - 90px)}.tab-page-next-enter-from[data-v-861ac1a0]{transform:translate(100vw)}.tab-page-next-leave-to[data-v-861ac1a0],.tab-page-prev-enter-from[data-v-861ac1a0]{transform:translate(-100vw)}.tab-page-prev-leave-to[data-v-861ac1a0]{transform:translate(100vw)}.section-space-top[data-v-861ac1a0]{margin-top:6px}.env-layout[data-v-861ac1a0]{gap:0;margin-bottom:12px}.env-card[data-v-861ac1a0]{flex:100%;min-width:0;padding:12px 14px}.env-card[data-v-861ac1a0]:first-child{border-radius:14px 14px 0 0;padding-bottom:8px}.env-card[data-v-861ac1a0]:last-child{border-top:1px solid #cbd5e180;border-radius:0 0 14px 14px;align-items:center;padding-top:8px;padding-bottom:8px;display:flex}.env-card h4[data-v-861ac1a0]{margin:0 0 8px;font-size:15px}.env-card:last-child h4[data-v-861ac1a0]{display:none}.stat-grid[data-v-861ac1a0]{flex-wrap:nowrap;justify-content:space-between;gap:0}.stat-item[data-v-861ac1a0]{text-align:center;border-right:1px solid #cbd5e185;flex:1 1 0;min-width:0;padding:4px 8px}.stat-item[data-v-861ac1a0]:first-child{padding-left:0}.stat-item[data-v-861ac1a0]:last-child{border-right:none;padding-right:0}.stat-label[data-v-861ac1a0]{margin-bottom:2px;font-size:10px}.stat-value[data-v-861ac1a0]{font-size:13px}.meta-grid[data-v-861ac1a0]{flex:2 2 0;gap:0;margin-bottom:0;display:flex}.meta-item[data-v-861ac1a0]{text-align:center;border-right:1px solid #cbd5e166;flex:1 1 0;padding:4px 8px}.lux-display[data-v-861ac1a0]{text-align:center;background:0 0;border-right:none;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-height:0;margin-top:0;padding:4px 8px;display:flex}.lux-label[data-v-861ac1a0]{font-weight:400;line-height:1.2;display:block}.lux-label-web[data-v-861ac1a0]{display:none}.lux-label-mobile[data-v-861ac1a0]{color:#64748b;white-space:nowrap;font-size:10px;font-weight:400;line-height:1.2;display:block}.lux-odometer-web[data-v-861ac1a0]{display:none}.lux-odometer-mobile[data-v-861ac1a0]{font-size:13px;font-weight:800;line-height:1.25;display:inline-flex}.page-section>h1[data-v-861ac1a0]{z-index:1;margin:0;font-size:26px;position:absolute;top:0;left:0}#controls[data-v-861ac1a0]{border-radius:14px;gap:8px;margin:10px 0 18px;padding:12px 14px}#controls>button[data-v-861ac1a0]{flex-shrink:0;min-height:30px;padding:6px 10px;font-size:11px}#controls label[data-v-861ac1a0]{white-space:nowrap;flex:100%;align-items:center;gap:3px;width:auto;min-width:0;font-size:11px;display:inline-flex}#controls input[data-v-861ac1a0]{flex:1 1 0;width:auto;min-width:60px;height:30px;padding:0 6px;font-size:12px}#scanStatus[data-v-861ac1a0]{width:100%;margin-left:0;font-size:12px}.store-layout-row[data-v-861ac1a0]{gap:10px;margin:10px 0 16px}.layout-card[data-v-861ac1a0]{border-radius:16px;padding:12px 14px}.layout-header[data-v-861ac1a0]{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px}.layout-header>div[data-v-861ac1a0]:first-child{flex:none}.layout-header h2[data-v-861ac1a0]{font-size:15px;font-weight:700}.scan-panel[data-v-861ac1a0]{border-radius:18px;margin:12px 0 16px;padding:14px 16px}.scan-panel-title[data-v-861ac1a0]{margin-bottom:10px;font-size:18px}.scan-panel-header[data-v-861ac1a0]{margin-bottom:10px}.scan-list[data-v-861ac1a0]{grid-template-columns:1fr;gap:10px}.scan-item[data-v-861ac1a0]{border-radius:14px;gap:10px;padding:12px 14px}.scan-item-info[data-v-861ac1a0]{gap:4px;font-size:13px}.scan-item-info div[data-v-861ac1a0]:first-child{font-size:15px}.scan-add-btn[data-v-861ac1a0],.scan-cancel-btn[data-v-861ac1a0]{padding:8px 14px;font-size:13px}.scan-empty[data-v-861ac1a0]{min-height:64px;font-size:13px}}@media (width<=900px){.settings-row[data-v-861ac1a0]{grid-template-columns:1fr}.settings-half-card[data-v-861ac1a0]{position:relative}.settings-half-card[data-v-861ac1a0]:focus-within{z-index:80}.settings-group-grid[data-v-861ac1a0]{grid-template-columns:1fr;gap:14px}.settings-group-card[data-v-861ac1a0]{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin-top:18px;padding:0}.app-container.night-mode .settings-group-card[data-v-861ac1a0]{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none}.settings-group-title[data-v-861ac1a0]{margin-bottom:14px;padding-bottom:10px;font-size:15px}}.app-container.night-mode[data-v-861ac1a0],.app-container.night-mode .main-content[data-v-861ac1a0],.app-container.night-mode[data-v-861ac1a0] .sidebar,.app-container.night-mode[data-v-861ac1a0] .env-card,.app-container.night-mode[data-v-861ac1a0] .lamp-card,.app-container.night-mode[data-v-861ac1a0] .settings-card,.app-container.night-mode[data-v-861ac1a0] .placeholder-card,.app-container.night-mode[data-v-861ac1a0] .empty-block,.app-container.night-mode[data-v-861ac1a0] .scan-panel,.app-container.night-mode[data-v-861ac1a0] .scan-item,.app-container.night-mode[data-v-861ac1a0] .chart-card,.app-container.night-mode[data-v-861ac1a0] .info-card,.app-container.night-mode[data-v-861ac1a0] #controls,.app-container.night-mode[data-v-861ac1a0] .layout-card,.app-container.night-mode[data-v-861ac1a0] .light-effect-mini-card,.app-container.night-mode[data-v-861ac1a0] .smart-config-section,.app-container.night-mode[data-v-861ac1a0] .smart-card,.app-container.night-mode[data-v-861ac1a0] .direction-pad,.app-container.night-mode[data-v-861ac1a0] .preset-btn,.app-container.night-mode[data-v-861ac1a0] .slider-card,.app-container.night-mode[data-v-861ac1a0] .flow-card,.app-container.night-mode[data-v-861ac1a0] .flow-data-item,.app-container.night-mode[data-v-861ac1a0] .flow-chart-box,.app-container.night-mode[data-v-861ac1a0] .firmware-section,.app-container.night-mode[data-v-861ac1a0] .firmware-info-item,.app-container.night-mode[data-v-861ac1a0] .detail-info-item,.app-container.night-mode[data-v-861ac1a0] .readonly-item{filter:none!important;-webkit-backdrop-filter:none!important}[data-v-c50712b1] .auth-shell{width:min(100%,720px)}[data-v-c50712b1] .form-header{border-bottom:1px solid #cbd5e173;margin-bottom:22px;padding-bottom:16px}[data-v-c50712b1] .form-header p{margin:0}.form-grid[data-v-c50712b1]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.single-row[data-v-c50712b1]{grid-template-columns:1fr}.form-item[data-v-c50712b1] .base-select{width:100%}.form-item[data-v-c50712b1] .select-trigger{min-height:46px;box-shadow:none;color:#0f172a;background:#fffc;border:1.5px solid #cbd5e1d9;border-radius:13px;font-size:14px}.form-item[data-v-c50712b1] .select-trigger:hover{border-color:#93c5fd}.form-item[data-v-c50712b1] .open .select-trigger{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26,0 0 0 1px #2563eb14}.form-item[data-v-c50712b1] .select-text.placeholder{color:#94a3b8}.form-item[data-v-c50712b1] .select-dropdown{border-color:#cbd5e1e6;border-radius:14px;max-height:260px;box-shadow:0 16px 34px #0f172a1f}.form-item[data-v-c50712b1] .select-option{border-radius:10px;min-height:38px}.form-item[data-v-c50712b1] .select-option.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-weight:600}.setup-note[data-v-c50712b1]{color:#64748b;margin:0 0 18px;font-size:13px;line-height:1.55}.form-actions[data-v-c50712b1]{border-top:1px solid #cbd5e173;justify-content:flex-end;gap:12px;padding-top:18px;display:flex}.form-actions .primary-btn[data-v-c50712b1],.form-actions .secondary-btn[data-v-c50712b1],.secondary-btn[data-v-c50712b1]{cursor:pointer;box-sizing:border-box;border-radius:13px;height:44px;padding:0 20px;font-size:13px;font-weight:700;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s}.form-actions .primary-btn[data-v-c50712b1]{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #2563eb;width:auto;box-shadow:0 8px 22px #2563eb38,inset 0 0 0 1px #ffffff1a}.form-actions .primary-btn[data-v-c50712b1]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 26px #2563eb47,inset 0 0 0 1px #ffffff1f}.form-actions .primary-btn[data-v-c50712b1]:active:not(:disabled){transform:translateY(0)}.form-actions .primary-btn[data-v-c50712b1]:disabled{opacity:.6;cursor:not-allowed}.form-actions .secondary-btn[data-v-c50712b1],.secondary-btn[data-v-c50712b1]{color:#475569;background:#ffffffa8;border:1.5px solid #cbd5e1d9}.form-actions .secondary-btn[data-v-c50712b1]:hover,.secondary-btn[data-v-c50712b1]:hover{color:#334155;background:#fff;border-color:#94a3b8;transform:translateY(-1px)}.form-actions .secondary-btn[data-v-c50712b1]:active,.secondary-btn[data-v-c50712b1]:active{transform:translateY(0)}.app-container.night-mode{border-bottom-color:#47556959}body:has(.app-container.night-mode){border-bottom-color:#47556959}.app-container.night-mode{color:#e2e8f0;background:#1e293bb3;border-color:#47556973}body:has(.app-container.night-mode){color:#e2e8f0;background:#1e293bb3;border-color:#47556973}.app-container.night-mode{border-color:#60a5fa73}body:has(.app-container.night-mode){border-color:#60a5fa73}.app-container.night-mode{background:#1e293be6;border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb33,0 0 0 1px #60a5fa1f}body:has(.app-container.night-mode){background:#1e293be6;border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb33,0 0 0 1px #60a5fa1f}body:has(.app-container.night-mode){color:#64748b}.app-container.night-mode{color:#94a3b8}body:has(.app-container.night-mode){color:#94a3b8}.app-container.night-mode{border-top-color:#47556959}body:has(.app-container.night-mode){border-top-color:#47556959}body:has(.app-container.night-mode){color:#cbd5e1;background:#1e293b8c;border-color:#47556966}body:has(.app-container.night-mode){color:#cbd5e1;background:#1e293b8c;border-color:#47556966}.app-container.night-mode,.app-container.night-mode{color:#e2e8f0;background:#1e293bcc;border-color:#94a3b880}body:has(.app-container.night-mode){color:#e2e8f0;background:#1e293bcc;border-color:#94a3b880}body:has(.app-container.night-mode){color:#e2e8f0;background:#1e293bcc;border-color:#94a3b880}@media (width<=760px){.form-grid[data-v-c50712b1]{grid-template-columns:1fr;gap:0}.form-actions[data-v-c50712b1]{flex-direction:column-reverse}.form-actions .primary-btn[data-v-c50712b1],.form-actions .secondary-btn[data-v-c50712b1],.secondary-btn[data-v-c50712b1]{width:100%;height:43px}}.store-profile-page[data-v-e3203d2b]{box-sizing:border-box;background:radial-gradient(circle at 16% 4%,#ffffffc7,#0000 26%),radial-gradient(circle at 88% 96%,#dbeafe80,#0000 34%),linear-gradient(135deg,#f6f2ea 0%,#f3f7fc 48%,#eaf1f8 100%);min-height:100vh;padding:20px 24px 30px}.store-profile-shell[data-v-e3203d2b]{max-width:940px;margin:0 auto}.page-header[data-v-e3203d2b]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.page-header h1[data-v-e3203d2b]{color:#0f172a;letter-spacing:-.02em;margin:0 0 6px;font-size:28px;font-weight:800}.page-header p[data-v-e3203d2b]{color:#64748b;margin:0;font-size:13px;line-height:1.55}.profile-card[data-v-e3203d2b]{-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);background:linear-gradient(135deg,#ffffffdb,#ffffffa8),#ffffffb3;border:1px solid #fffc;border-radius:24px;padding:30px 32px;box-shadow:0 24px 50px #414e6024,0 3px 10px #414e600d,inset 0 0 0 1px #fff6}.card-section-title[data-v-e3203d2b]{border-bottom:1px solid #cbd5e194;margin-bottom:18px;padding-bottom:16px}.card-section-title h2[data-v-e3203d2b]{color:#0f172a;letter-spacing:-.01em;margin:0 0 6px;font-size:16px;font-weight:800}.card-section-title span[data-v-e3203d2b]{color:#64748b;font-size:13px;line-height:1.45}.form-grid[data-v-e3203d2b]{grid-template-columns:1fr 1fr;gap:18px;display:grid}.single-row[data-v-e3203d2b]{grid-template-columns:1fr}.form-item[data-v-e3203d2b]{margin-bottom:17px}.form-item label[data-v-e3203d2b]{color:#475569;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.form-item input[data-v-e3203d2b]{box-sizing:border-box;color:#0f172a;background:#ffffffd1;border:1px solid #cbd5e1e6;border-radius:13px;outline:none;width:100%;height:46px;padding:0 14px;font-size:14px;transition:border-color .18s,background .18s,box-shadow .18s}.form-item input[data-v-e3203d2b]:hover:not(:focus){background:#ffffffeb;border-color:#b8c6dc}.form-item input[data-v-e3203d2b]:focus{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa29}.form-item input[data-v-e3203d2b]::placeholder{color:#94a3b8}.form-item[data-v-e3203d2b] .base-select{width:100%}.form-item[data-v-e3203d2b] .select-trigger{min-height:45px;box-shadow:none;color:#0f172a;background:#ffffffe0;border-color:#dbe3ee;border-radius:12px}.form-item[data-v-e3203d2b] .select-trigger:hover{border-color:#b7c4d7}.form-item[data-v-e3203d2b] .open .select-trigger{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa29}.form-item[data-v-e3203d2b] .select-dropdown{border-color:#cbd5e1e6;border-radius:14px;max-height:260px;box-shadow:0 16px 32px #0f172a1c}.form-item[data-v-e3203d2b] .select-option{border-radius:9px;min-height:38px}.form-item[data-v-e3203d2b] .select-option.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-weight:600}.form-helper-note[data-v-e3203d2b]{color:#64748b;margin:-2px 0 14px;font-size:13px;line-height:1.55}.form-actions[data-v-e3203d2b]{border-top:1px solid #cbd5e194;justify-content:flex-end;gap:12px;margin-top:4px;padding-top:18px;display:flex}.btn-primary[data-v-e3203d2b],.btn-secondary[data-v-e3203d2b]{cursor:pointer;box-sizing:border-box;border-radius:13px;height:44px;padding:0 20px;font-size:13px;font-weight:700;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s}.btn-primary[data-v-e3203d2b]{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #2563eb;box-shadow:0 10px 22px #2563eb38,inset 0 0 0 1px #ffffff1a}.btn-primary[data-v-e3203d2b]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 14px 30px #2563eb4d,inset 0 0 0 1px #ffffff1f}.btn-primary[data-v-e3203d2b]:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 14px #2563eb33}.btn-secondary[data-v-e3203d2b]{color:#475569;background:#ffffffa8;border:1.5px solid #cbd5e1d9}.btn-secondary[data-v-e3203d2b]:hover:not(:disabled){color:#334155;background:#fff;border-color:#94a3b8;transform:translateY(-1px)}.btn-secondary[data-v-e3203d2b]:active:not(:disabled){transform:translateY(0)}.btn-primary[data-v-e3203d2b]:disabled,.btn-secondary[data-v-e3203d2b]:disabled{cursor:not-allowed;opacity:.62;box-shadow:none;transform:none}.page-header .btn-secondary[data-v-e3203d2b]{border-radius:10px;height:36px;padding:0 14px}.error-text[data-v-e3203d2b]{color:#dc2626;background:#fef2f2b8;border:1px solid #f871712e;border-radius:10px;margin:0 0 12px;padding:9px 11px;font-size:13px}.success-text[data-v-e3203d2b]{color:#15803d;background:#f0fdf4b8;border:1px solid #4ade802e;border-radius:10px;margin:0 0 12px;padding:9px 11px;font-size:13px}@media (width<=768px){.store-profile-page[data-v-e3203d2b]{padding:16px}.store-profile-shell[data-v-e3203d2b]{max-width:100%}.page-header[data-v-e3203d2b]{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.page-header h1[data-v-e3203d2b]{font-size:22px}.page-header .btn-secondary[data-v-e3203d2b]{width:auto;height:34px}.profile-card[data-v-e3203d2b]{border-radius:18px;padding:18px 20px}.card-section-title[data-v-e3203d2b]{margin-bottom:16px;padding-bottom:12px}.form-grid[data-v-e3203d2b]{grid-template-columns:1fr;gap:0}.form-item[data-v-e3203d2b]{margin-bottom:14px}.form-helper-note[data-v-e3203d2b]{margin-bottom:12px}.form-actions[data-v-e3203d2b]{flex-direction:column-reverse;gap:10px;padding-top:14px}.btn-primary[data-v-e3203d2b],.btn-secondary[data-v-e3203d2b]{width:100%;height:40px}}
