.lang-toggle[data-v-7ef09bab]{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:.2rem .5rem;cursor:pointer;transition:all .15s}.lang-toggle[data-v-7ef09bab]:hover{color:var(--text-color);border-color:var(--text-color)}.slim-header[data-v-4b659f63]{background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--nav-border);padding:0 1rem;padding-top:var(--safe-area-top);display:flex;align-items:center;justify-content:space-between;height:calc(40px + var(--safe-area-top));z-index:50;flex-shrink:0}.header-brand[data-v-4b659f63]{font-size:1rem;font-weight:700;color:var(--primary);text-decoration:none;letter-spacing:-.02em;display:flex;align-items:baseline;gap:.45rem}.build-badge[data-v-4b659f63]{font-size:.65rem;font-weight:400;color:var(--text-muted);letter-spacing:0;opacity:.7}.search-trigger[data-v-4b659f63]{display:inline-flex;align-items:center;gap:.4rem;background:var(--badge-bg);border:1px solid var(--border-color);border-radius:8px;padding:.25rem .65rem;cursor:pointer;color:var(--text-muted);font-size:.78rem;transition:background .2s,border-color .2s}.search-trigger[data-v-4b659f63]:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.search-trigger svg[data-v-4b659f63]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-actions[data-v-4b659f63]{display:flex;align-items:center;gap:.4rem}.ws-failed-badge[data-v-4b659f63]{display:inline-flex;align-items:center;gap:.3rem;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:6px;padding:.2rem .5rem;font-size:.72rem;font-weight:600;white-space:nowrap}.ws-failed-badge[data-v-4b659f63]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--danger);flex-shrink:0}.search-hint[data-v-4b659f63]{font-family:inherit}.logout-btn[data-v-4b659f63]{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:8px;padding:.25rem .45rem;cursor:pointer;color:var(--text-muted);transition:background .2s,color .2s}.logout-btn[data-v-4b659f63]:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.logout-btn svg[data-v-4b659f63]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:900px){.slim-header[data-v-4b659f63]{height:calc(36px + var(--safe-area-top))}.search-hint[data-v-4b659f63]{display:none}}.icon-rail[data-v-64d05a19]{width:62px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:.5rem 0;gap:.25rem;flex-shrink:0;overflow-y:auto}.rail-btn[data-v-64d05a19]{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.4rem .25rem;border-radius:10px;transition:color .15s,background .15s;width:54px}.rail-btn[data-v-64d05a19]:hover{color:var(--text-color);background:var(--badge-bg)}.rail-btn.active[data-v-64d05a19]{color:var(--primary)}.rail-btn.active .rail-icon[data-v-64d05a19]{background:var(--primary-light);border-radius:10px}.rail-icon[data-v-64d05a19]{width:36px;height:28px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s;border-radius:10px;position:relative}.rail-icon svg[data-v-64d05a19]{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rail-label[data-v-64d05a19]{font-size:.6rem;font-weight:500;line-height:1;white-space:nowrap}.rail-badge[data-v-64d05a19]{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;border-radius:999px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;line-height:1;color:#fff;background:var(--danger)}@media(max-width:900px){.icon-rail[data-v-64d05a19]{display:none}}.palette-backdrop[data-v-c9935f76]{position:fixed;inset:0;background:var(--overlay-bg);z-index:80}.palette-container[data-v-c9935f76]{position:fixed;top:15vh;left:50%;transform:translate(-50%);width:560px;max-width:calc(100vw - 2rem);max-height:60vh;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 16px 48px #0003,0 4px 12px #0000001a;z-index:85;display:flex;flex-direction:column;overflow:hidden}.palette-input-wrapper[data-v-c9935f76]{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--separator-color);gap:.6rem}.palette-search-icon[data-v-c9935f76]{width:18px;height:18px;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.palette-input[data-v-c9935f76]{flex:1;background:none;border:none;outline:none;font-size:1rem;color:var(--text-color);padding:0;box-shadow:none}.palette-input[data-v-c9935f76]::placeholder{color:var(--text-muted)}.palette-esc[data-v-c9935f76]{font-size:.7rem;padding:.15rem .4rem;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);background:var(--badge-bg);flex-shrink:0}.palette-list[data-v-c9935f76]{overflow-y:auto;padding:.4rem}.palette-group[data-v-c9935f76]{margin-bottom:.25rem}.palette-group-title[data-v-c9935f76]{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:.5rem .6rem .25rem}.palette-item[data-v-c9935f76]{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--text-color);font-size:.9rem;text-align:left;transition:background .1s}.palette-item[data-v-c9935f76]:hover,.palette-item.selected[data-v-c9935f76]{background:var(--primary-light)}.palette-item.selected[data-v-c9935f76]{color:var(--primary)}.palette-item-icon[data-v-c9935f76]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;opacity:.6}.palette-item-label[data-v-c9935f76]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item-category[data-v-c9935f76]{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.palette-empty[data-v-c9935f76]{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.palette-backdrop-enter-active[data-v-c9935f76],.palette-backdrop-leave-active[data-v-c9935f76]{transition:opacity .2s ease}.palette-backdrop-enter-from[data-v-c9935f76],.palette-backdrop-leave-to[data-v-c9935f76]{opacity:0}.palette-enter-active[data-v-c9935f76]{transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.palette-leave-active[data-v-c9935f76]{transition:opacity .15s ease,transform .15s ease}.palette-enter-from[data-v-c9935f76]{opacity:0;transform:translate(-50%) scale(.95)}.palette-leave-to[data-v-c9935f76]{opacity:0;transform:translate(-50%) scale(.98)}@media(max-width:900px){.palette-container[data-v-c9935f76]{top:1rem;max-height:calc(100vh - 2rem)}}.toast-container[data-v-f2a7c1d4]{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:380px}@media(max-width:900px){.toast-container[data-v-f2a7c1d4]{top:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px) + .75rem);left:1rem;right:1rem;max-width:none;align-items:stretch}}.toast[data-v-f2a7c1d4]{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;border-radius:12px;font-size:.875rem;font-weight:500;box-shadow:0 4px 16px #0000002e;pointer-events:all;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.toast.success[data-v-f2a7c1d4]{background:var(--success);color:#fff}.toast.error[data-v-f2a7c1d4]{background:var(--danger);color:#fff}.toast.warning[data-v-f2a7c1d4]{background:var(--warning);color:#fff}.toast.info[data-v-f2a7c1d4]{background:var(--primary);color:#fff}.toast-icon[data-v-f2a7c1d4]{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.toast-icon svg[data-v-f2a7c1d4]{width:18px;height:18px;fill:currentColor}.toast-message[data-v-f2a7c1d4]{flex:1;line-height:1.3}.toast-action[data-v-f2a7c1d4]{flex-shrink:0;background:#fff3;border:none;color:inherit;font-size:.8rem;font-weight:600;padding:.25rem .6rem;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap}.toast-action[data-v-f2a7c1d4]:hover{background:#ffffff59}.toast-dismiss[data-v-f2a7c1d4]{flex-shrink:0;background:none;border:none;color:inherit;font-size:1.2rem;line-height:1;padding:0 .15rem;cursor:pointer;opacity:.7;transition:opacity .15s}.toast-dismiss[data-v-f2a7c1d4]:hover{opacity:1}.toast-enter-active[data-v-f2a7c1d4]{transition:opacity .25s ease,transform .25s ease}.toast-leave-active[data-v-f2a7c1d4]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-f2a7c1d4]{opacity:0;transform:translate(40px)}.toast-leave-to[data-v-f2a7c1d4]{opacity:0;transform:translate(20px) scale(.97)}@media(max-width:900px){.toast-enter-from[data-v-f2a7c1d4]{opacity:0;transform:translateY(8px) scale(.96)}.toast-leave-to[data-v-f2a7c1d4]{opacity:0;transform:translateY(4px) scale(.97)}}.floating-panel[data-v-79d90fb0]{position:fixed;right:1rem;bottom:1rem;width:340px;max-height:min(55vh,460px);border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg);box-shadow:0 14px 40px #00000038;z-index:950;display:flex;flex-direction:column}.panel-header[data-v-79d90fb0]{padding:.75rem .8rem;border-bottom:1px solid var(--separator-color);display:flex;justify-content:space-between;gap:.6rem}.panel-subtitle[data-v-79d90fb0]{display:block;color:var(--text-muted);font-size:.75rem;margin-top:.1rem}.panel-actions[data-v-79d90fb0]{display:flex;align-items:flex-start;gap:.4rem}.panel-link[data-v-79d90fb0],.panel-toggle[data-v-79d90fb0]{border:1px solid var(--border-color);border-radius:8px;background:var(--badge-bg);color:var(--text-color);font-size:.72rem;line-height:1;padding:.35rem .45rem;text-decoration:none;cursor:pointer}.panel-toggle[data-v-79d90fb0]{appearance:none}.panel-body[data-v-79d90fb0]{overflow-y:auto;padding:.7rem;display:grid;gap:.55rem}.job-item[data-v-79d90fb0]{border:1px solid var(--separator-color);border-radius:10px;padding:.55rem;background:var(--bg-primary)}.row[data-v-79d90fb0]{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.3rem;font-size:.76rem}.top-row[data-v-79d90fb0]{margin-top:0;font-size:.8rem}.end-row[data-v-79d90fb0]{margin-top:.45rem}.progress-track[data-v-79d90fb0]{margin-top:.4rem;width:100%;height:7px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.progress-fill[data-v-79d90fb0]{height:100%;background:var(--primary);transition:width .2s ease}.muted[data-v-79d90fb0]{color:var(--text-muted)}@media(max-width:900px){.floating-panel[data-v-79d90fb0]{display:none}}:root{--primary: #007aff;--primary-color: #007aff;--primary-dark: #0062cc;--primary-light: rgba(0, 122, 255, .12);--text-color: #1c1c1e;--text-secondary: #3a3a3c;--text-muted: #8e8e93;--bg-color: #f2f2f7;--bg-primary: #ffffff;--bg-secondary: #f2f2f7;--bg-tertiary: #e5e5ea;--bg-grouped: #ffffff;--card-bg: #ffffff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .12);--border-color: rgba(0, 0, 0, .1);--separator-color: rgba(60, 60, 67, .12);--danger: #ff3b30;--danger-bg: rgba(255, 59, 48, .12);--success: #34c759;--success-bg: rgba(52, 199, 89, .12);--warning: #ff9500;--warning-bg: rgba(255, 149, 0, .12);--info-bg: rgba(0, 122, 255, .08);--nav-bg: rgba(255, 255, 255, .85);--nav-border: rgba(0, 0, 0, .08);--input-bg: #ffffff;--input-border: rgba(0, 0, 0, .12);--badge-bg: rgba(0, 0, 0, .05);--badge-text: var(--text-secondary);--overlay-bg: rgba(0, 0, 0, .4);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--primary: #0a84ff;--primary-color: #0a84ff;--primary-dark: #409cff;--primary-light: rgba(10, 132, 255, .18);--text-color: #f5f5f7;--text-secondary: #ebebf0;--text-muted: #8e8e93;--bg-color: #000000;--bg-primary: #1c1c1e;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-grouped: #1c1c1e;--card-bg: #1c1c1e;--card-shadow: 0 1px 3px rgba(0, 0, 0, .3);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .5);--border-color: rgba(255, 255, 255, .1);--separator-color: rgba(84, 84, 88, .65);--danger: #ff453a;--danger-bg: rgba(255, 69, 58, .18);--success: #30d158;--success-bg: rgba(48, 209, 88, .18);--warning: #ff9f0a;--warning-bg: rgba(255, 159, 10, .18);--info-bg: rgba(10, 132, 255, .12);--nav-bg: rgba(28, 28, 30, .85);--nav-border: rgba(255, 255, 255, .08);--input-bg: #2c2c2e;--input-border: rgba(255, 255, 255, .1);--badge-bg: rgba(255, 255, 255, .08);--badge-text: var(--text-secondary);--overlay-bg: rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%}body{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-color);color:var(--text-color);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;touch-action:manipulation}#app{height:100%}.app{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.main-content{flex:1;padding:1rem;min-width:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.bottom-nav{display:none}@media(max-width:900px){body{background:var(--bg-primary)}.main-content{padding:0;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));overflow-x:hidden;width:100%;max-width:100vw}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--nav-border);display:flex;align-items:stretch;justify-content:space-around}.bottom-link{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;border:none;background:none;color:var(--text-muted);text-decoration:none;font-size:.65rem;font-weight:500;min-width:50px;padding:.35rem .5rem;cursor:pointer;transition:color .15s ease,transform .1s ease;-webkit-user-select:none;user-select:none}.bottom-link .icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;position:relative}.bottom-link .icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-link.router-link-active{color:var(--primary)}.bottom-link.router-link-active .icon{background:var(--primary-light);border-radius:12px;width:48px;height:28px}.nav-badge{position:absolute;top:-4px;right:-10px;min-width:16px;height:16px;border-radius:999px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;line-height:1;color:#fff;background:var(--danger)}.bottom-link:active{transform:scale(.92)}.bottom-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}}input,select,textarea{font-family:inherit;font-size:1rem;background:var(--input-bg);color:var(--text-color);border:1px solid var(--input-border);border-radius:10px;padding:.6rem .75rem;transition:border-color .2s,box-shadow .2s;max-width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}button{font-family:inherit;touch-action:manipulation}@media(max-width:900px){input,select,textarea{font-size:16px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--separator-color);border-radius:3px}.pull-indicator{display:flex;justify-content:center;align-items:center;height:0;overflow:visible;pointer-events:none}.pull-spinner{width:24px;height:24px;fill:none;stroke:var(--text-muted);stroke-width:2.5;stroke-linecap:round;transition:transform .15s ease}.pull-spinner.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}img,video,canvas,svg{max-width:100%;height:auto}table{max-width:100%}.mini-comparison-chart[data-v-afb84b19]{width:100%}.dropdown-menu-wrap[data-v-6f426cf0]{position:relative;display:inline-flex}.dropdown-trigger[data-v-6f426cf0]{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:.25rem .4rem;border-radius:6px;color:var(--text-muted);transition:background .15s,color .15s}.dropdown-trigger[data-v-6f426cf0]:hover{background:var(--badge-bg);color:var(--text-color)}.dropdown-panel[data-v-6f426cf0]{position:absolute;right:0;top:100%;margin-top:4px;min-width:140px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:20;overflow:hidden}.dropdown-item[data-v-6f426cf0]{display:block;width:100%;padding:.5rem .75rem;border:none;background:none;text-align:left;font-size:.85rem;color:var(--text-color);cursor:pointer;transition:background .1s}.dropdown-item[data-v-6f426cf0]:hover{background:var(--badge-bg)}.dropdown-item--danger[data-v-6f426cf0]{color:var(--danger)}.dropdown-item--danger[data-v-6f426cf0]:hover{background:var(--danger-bg)}.unified-source-select[data-v-b8abd1a2]{position:relative;width:100%}.unified-source-select.disabled[data-v-b8abd1a2]{opacity:.5;pointer-events:none}.cs-trigger[data-v-b8abd1a2]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem .65rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s;min-height:2.25rem}.unified-source-select--small .cs-trigger[data-v-b8abd1a2]{padding:.3rem .45rem;font-size:.75rem;border-radius:6px;min-height:1.75rem}.cs-trigger[data-v-b8abd1a2]:hover:not(:disabled){border-color:var(--primary)}.cs-trigger.open[data-v-b8abd1a2]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light, rgba(0, 122, 255, .12))}.cs-trigger[data-v-b8abd1a2]:disabled{cursor:not-allowed;opacity:.6}.cs-icon[data-v-b8abd1a2]{flex-shrink:0;font-size:.8rem}.cs-value[data-v-b8abd1a2]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cs-unit[data-v-b8abd1a2]{font-size:.75rem;color:var(--text-muted);padding:.1rem .3rem;background:var(--badge-bg);border-radius:3px;flex-shrink:0}.unified-source-select--small .cs-unit[data-v-b8abd1a2]{font-size:.65rem;padding:.05rem .2rem}.cs-placeholder[data-v-b8abd1a2]{flex:1;color:var(--text-muted)}.cs-actions[data-v-b8abd1a2]{display:flex;align-items:center;gap:.2rem;flex-shrink:0;margin-left:auto}.cs-clear[data-v-b8abd1a2]{font-size:1rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:0 .15rem}.cs-clear[data-v-b8abd1a2]:hover{color:var(--text-color)}.cs-chevron[data-v-b8abd1a2]{font-size:.65rem;color:var(--text-muted)}.cs-dropdown[data-v-b8abd1a2]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card-bg, var(--bg-primary));border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #00000026;z-index:50;display:flex;flex-direction:column;max-height:360px;overflow:hidden}.unified-source-select--small .cs-dropdown[data-v-b8abd1a2]{border-radius:8px;max-height:320px}.cs-search[data-v-b8abd1a2]{padding:.5rem;border-bottom:1px solid var(--separator-color, var(--border-color))}.cs-search input[data-v-b8abd1a2]{width:100%;padding:.4rem .55rem;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:.8rem;outline:none}.cs-search input[data-v-b8abd1a2]:focus{border-color:var(--primary)}.unified-source-select--small .cs-search[data-v-b8abd1a2]{padding:.35rem}.unified-source-select--small .cs-search input[data-v-b8abd1a2]{padding:.3rem .45rem;font-size:.75rem}.cs-list[data-v-b8abd1a2]{overflow-y:auto;padding:.25rem;flex:1}.cs-group-label[data-v-b8abd1a2]{padding:.35rem .5rem .2rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);-webkit-user-select:none;user-select:none}.unified-source-select--small .cs-group-label[data-v-b8abd1a2]{padding:.25rem .4rem .15rem;font-size:.6rem}.cs-item[data-v-b8abd1a2]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--text-color);font-size:.8rem;cursor:pointer;text-align:left;transition:background .1s}.unified-source-select--small .cs-item[data-v-b8abd1a2]{padding:.3rem .45rem;font-size:.75rem;border-radius:5px}.cs-item[data-v-b8abd1a2]:hover,.cs-item.highlighted[data-v-b8abd1a2]{background:var(--badge-bg)}.cs-item.selected[data-v-b8abd1a2]{background:var(--primary-light, rgba(0, 122, 255, .12));color:var(--primary);font-weight:500}.cs-item-name[data-v-b8abd1a2]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-item-source[data-v-b8abd1a2]{color:var(--text-muted);font-size:.75rem}.cs-item-type[data-v-b8abd1a2]{font-size:.65rem;color:var(--text-muted);padding:.05rem .25rem;background:var(--badge-bg);border-radius:3px;flex-shrink:0}.cs-item-badge[data-v-b8abd1a2]{font-size:.6rem;color:var(--primary);padding:.05rem .3rem;background:var(--primary-light, rgba(0, 122, 255, .12));border-radius:3px;flex-shrink:0;font-weight:600}.cs-item-hint[data-v-b8abd1a2]{font-size:.65rem;color:var(--text-muted);flex-shrink:0;font-style:italic}.cs-item-unit[data-v-b8abd1a2]{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.unified-source-select--small .cs-item-unit[data-v-b8abd1a2]{font-size:.65rem}.unified-source-select--small .cs-item-type[data-v-b8abd1a2]{font-size:.6rem}.cs-empty[data-v-b8abd1a2]{padding:1rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.reports[data-v-ec81c5be]{padding:1rem}.page-header[data-v-ec81c5be]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.page-header h1[data-v-ec81c5be]{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.header-actions[data-v-ec81c5be]{display:flex;gap:.5rem;padding-top:4px;flex-shrink:0}.subtitle[data-v-ec81c5be]{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.saved-grid[data-v-ec81c5be]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.saved-card[data-v-ec81c5be]{position:relative;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);padding:0;box-shadow:var(--card-shadow);transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden}.saved-card[data-v-ec81c5be]:hover{border-color:var(--primary);box-shadow:var(--card-shadow-hover);transform:scale(1.01)}.saved-card[data-v-ec81c5be]:active{transform:scale(.98)}.card-link[data-v-ec81c5be]{display:flex;flex-direction:column;padding:1rem;text-decoration:none;color:inherit}.card-header[data-v-ec81c5be]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-header h3[data-v-ec81c5be]{margin:0 0 .35rem;color:var(--text-color);font-size:.95rem;font-weight:600;flex:1;min-width:0}.card-header-actions[data-v-ec81c5be]{display:flex;align-items:center;flex-shrink:0}.card-link h3[data-v-ec81c5be]{margin:0 0 .35rem;color:var(--text-color);font-size:.95rem;font-weight:600}.card-meta[data-v-ec81c5be]{display:flex;gap:.5rem;align-items:center;margin:0 0 .5rem}.badge[data-v-ec81c5be]{background:var(--badge-bg);padding:.2rem .5rem;border-radius:6px;font-size:.75rem;color:var(--text-muted);font-weight:500}.loading[data-v-ec81c5be],.empty-state[data-v-ec81c5be]{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.btn[data-v-ec81c5be]{padding:.5rem 1rem;border:none;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn[data-v-ec81c5be]:active{opacity:.7}.btn-sm[data-v-ec81c5be]{padding:.4rem .75rem;font-size:.8rem}.btn-primary[data-v-ec81c5be]{background:var(--primary);color:#fff}.btn-primary[data-v-ec81c5be]:hover{background:var(--primary-dark)}.btn-secondary[data-v-ec81c5be]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-danger[data-v-ec81c5be]{background:var(--danger-bg);color:var(--danger)}.btn-danger[data-v-ec81c5be]:hover{opacity:.8}.ai-section[data-v-ec81c5be]{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--separator-color)}.ai-section h2[data-v-ec81c5be]{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.ai-section-header[data-v-ec81c5be]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.ai-source-row[data-v-ec81c5be]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.ai-source-label[data-v-ec81c5be]{font-size:.85rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.ai-hint[data-v-ec81c5be]{font-style:italic;font-size:.85rem;color:var(--text-muted);margin:-.5rem 0 .75rem}.ai-error[data-v-ec81c5be]{color:var(--danger);font-size:.9rem;margin:-.5rem 0 .75rem}.ai-card[data-v-ec81c5be]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;box-shadow:var(--card-shadow)}.ai-latest[data-v-ec81c5be]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .15s,border-color .2s;gap:.75rem}.ai-latest[data-v-ec81c5be]:hover{border-color:var(--primary);background:var(--bg-tertiary)}.ai-latest-info[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ai-meta[data-v-ec81c5be]{color:var(--text-muted);font-size:.8rem}.ai-report-header[data-v-ec81c5be]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:.875rem;border-bottom:1px solid var(--separator-color);gap:.75rem}.ai-report-header h3[data-v-ec81c5be]{margin:0 0 .2rem;font-size:1.1rem;font-weight:600}.ai-report-header-actions[data-v-ec81c5be]{display:flex;gap:.5rem;flex-shrink:0}.energy-label-widget[data-v-ec81c5be]{margin-bottom:1.25rem;padding:1rem;background:var(--bg-tertiary);border-radius:12px}.energy-label-main[data-v-ec81c5be]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.energy-label-badge[data-v-ec81c5be]{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);flex-shrink:0}.energy-label-details[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.2rem;min-width:0}.energy-label-title[data-v-ec81c5be]{font-size:.85rem;font-weight:600;color:var(--text-color)}.energy-label-values[data-v-ec81c5be]{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.energy-label-values strong[data-v-ec81c5be]{color:var(--text-color)}.energy-label-note[data-v-ec81c5be]{font-size:.75rem;color:var(--text-muted);margin-top:.1rem}.energy-label-scale[data-v-ec81c5be]{display:flex;border-radius:6px;overflow:hidden;height:24px}.energy-scale-segment[data-v-ec81c5be]{flex:1;display:flex;align-items:center;justify-content:center;opacity:.35;transition:opacity .2s}.energy-scale-segment.active[data-v-ec81c5be]{opacity:1;transform:scaleY(1.15);border-radius:3px;box-shadow:0 1px 4px #0000004d;z-index:1}.energy-scale-label[data-v-ec81c5be]{font-size:.65rem;font-weight:700;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3)}.ai-highlights-grid[data-v-ec81c5be]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem}.ai-highlight-card[data-v-ec81c5be]{background:var(--bg-tertiary);border-radius:10px;padding:.875rem;display:flex;flex-direction:column;gap:.25rem}.ai-highlight-label[data-v-ec81c5be]{font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.ai-highlight-value[data-v-ec81c5be]{font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.ai-highlight-change[data-v-ec81c5be]{font-size:.85rem;font-weight:600}.sentiment-positive[data-v-ec81c5be]{color:var(--success, #34c759)}.sentiment-negative[data-v-ec81c5be]{color:var(--danger)}.sentiment-neutral[data-v-ec81c5be]{color:var(--text-muted)}.ai-change-context[data-v-ec81c5be]{font-weight:400;color:var(--text-muted);margin-left:.25rem}.ai-kpi-grid[data-v-ec81c5be]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.ai-kpi-card[data-v-ec81c5be]{background:var(--bg-tertiary);border-radius:10px;padding:.875rem;display:flex;flex-direction:column;gap:.2rem}.ai-kpi-label[data-v-ec81c5be]{font-size:.8rem;color:var(--text-muted);font-weight:500}.ai-kpi-value-row[data-v-ec81c5be]{display:flex;align-items:baseline;gap:.3rem}.ai-kpi-value[data-v-ec81c5be]{font-size:1.3rem;font-weight:700}.ai-kpi-unit[data-v-ec81c5be]{font-size:.85rem;color:var(--text-muted)}.ai-kpi-rating[data-v-ec81c5be]{font-size:.8rem;font-weight:600}.rating-excellent[data-v-ec81c5be],.rating-good[data-v-ec81c5be]{color:var(--success, #34c759)}.rating-average[data-v-ec81c5be]{color:var(--warning, #ff9500)}.rating-poor[data-v-ec81c5be]{color:var(--danger)}.ai-kpi-context[data-v-ec81c5be]{font-size:.75rem;color:var(--text-muted)}.ai-findings-list[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.ai-finding-card[data-v-ec81c5be]{border-left:3px solid;border-radius:8px;padding:.75rem 1rem}.finding-info[data-v-ec81c5be]{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.finding-warning[data-v-ec81c5be]{border-left-color:var(--warning, #ff9500);background:color-mix(in srgb,var(--warning, #ff9500) 8%,transparent)}.finding-critical[data-v-ec81c5be]{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.ai-finding-title[data-v-ec81c5be]{font-size:.9rem;display:block;margin-bottom:.15rem}.ai-finding-desc[data-v-ec81c5be]{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5}.ai-report-content[data-v-ec81c5be]{line-height:1.7}.ai-report-content[data-v-ec81c5be] h1{font-size:1.3rem;margin-top:1.5rem}.ai-report-content[data-v-ec81c5be] h2{font-size:1.15rem;margin-top:1.25rem;color:var(--text-color)}.ai-report-content[data-v-ec81c5be] h3{font-size:1rem;margin-top:1rem}.ai-report-content[data-v-ec81c5be] ul,.ai-report-content[data-v-ec81c5be] ol{padding-left:1.25rem}.ai-report-content[data-v-ec81c5be] li{margin-bottom:.25rem}.ai-report-content[data-v-ec81c5be] strong{color:var(--text-color)}.ai-report-content[data-v-ec81c5be] blockquote{border-left:3px solid var(--primary);padding-left:1rem;color:var(--text-secondary);margin:1rem 0}.ai-older[data-v-ec81c5be]{margin-top:.75rem}.ai-older-toggle[data-v-ec81c5be]{font-size:.85rem;color:var(--text-muted);cursor:pointer;padding:.5rem 0;-webkit-user-select:none;user-select:none}.ai-older-toggle[data-v-ec81c5be]:hover{color:var(--text-secondary)}.ai-older-list[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.ai-older-item[data-v-ec81c5be]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:background .15s;gap:.5rem}.ai-older-item[data-v-ec81c5be]:hover{background:var(--bg-tertiary)}.ai-older-item-info[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.15rem;min-width:0}@media(max-width:900px){.reports[data-v-ec81c5be]{padding:.875rem}.page-header[data-v-ec81c5be]{flex-direction:column;align-items:flex-start}.header-actions[data-v-ec81c5be]{width:100%}.header-actions .btn[data-v-ec81c5be]{flex:1;height:44px}.saved-grid[data-v-ec81c5be]{grid-template-columns:1fr}.ai-section-header[data-v-ec81c5be]{flex-direction:column;align-items:flex-start}.ai-report-header[data-v-ec81c5be]{flex-direction:column;gap:.5rem}.ai-latest[data-v-ec81c5be],.ai-older-item[data-v-ec81c5be]{flex-direction:column;align-items:flex-start;gap:.5rem}.ai-highlights-grid[data-v-ec81c5be],.ai-kpi-grid[data-v-ec81c5be]{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.ai-highlights-grid[data-v-ec81c5be],.ai-kpi-grid[data-v-ec81c5be]{grid-template-columns:1fr}}.export-subtitle[data-v-ec81c5be]{font-size:.9rem;color:var(--text-secondary);margin:-.5rem 0 .75rem}.export-form[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.export-input[data-v-ec81c5be]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--text-color);font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.export-input[data-v-ec81c5be]:focus{outline:none;border-color:var(--primary)}.export-input[data-v-ec81c5be]:disabled{opacity:.6}.export-examples[data-v-ec81c5be]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.export-examples-label[data-v-ec81c5be]{font-size:.8rem;color:var(--text-muted);margin-right:.25rem}.export-chip[data-v-ec81c5be]{padding:.3rem .6rem;border:1px solid var(--border-color);border-radius:16px;background:var(--badge-bg);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:background .15s,border-color .15s}.export-chip[data-v-ec81c5be]:hover{border-color:var(--primary);color:var(--primary)}.export-chip[data-v-ec81c5be]:disabled{opacity:.5;cursor:not-allowed}.export-clarification[data-v-ec81c5be]{padding:.875rem 1rem;background:color-mix(in srgb,var(--warning, #ff9500) 8%,transparent);border-left:3px solid var(--warning, #ff9500);border-radius:8px;font-size:.9rem;margin-bottom:.75rem}.export-result[data-v-ec81c5be]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;gap:.75rem}.export-result-info[data-v-ec81c5be]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.export-result-filename[data-v-ec81c5be]{font-weight:600;font-size:.95rem}.export-result-meta[data-v-ec81c5be]{font-size:.8rem;color:var(--text-muted)}.gauge-widget[data-v-2a70e105]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.25rem}.gauge-value[data-v-2a70e105]{font-size:2.5rem;font-weight:700;letter-spacing:-.04em;line-height:1}.gauge-unit[data-v-2a70e105]{font-size:.85rem;color:var(--text-muted);font-weight:500}.gauge-sparkline[data-v-2a70e105]{width:100%;height:32px;margin-top:.25rem;opacity:.9}.gauge-loading[data-v-2a70e105]{color:var(--text-muted);font-size:1.5rem}.trb[data-v-ea63cf65]{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;position:relative;container-name:trb;container-type:inline-size}.trb-buttons[data-v-ea63cf65]{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.trb-buttons[data-v-ea63cf65]::-webkit-scrollbar{display:none}.trb-label[data-v-ea63cf65]{font-size:.75rem;font-weight:500;color:var(--text-muted);margin-right:.15rem}.trb-group[data-v-ea63cf65]{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.trb-sep[data-v-ea63cf65]{width:1px;height:1.2rem;background:var(--border-color);flex-shrink:0;align-self:center}.trb-btn[data-v-ea63cf65]{border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;padding:.3rem .6rem;font-size:.8rem;cursor:pointer;transition:all .15s;white-space:nowrap}.trb-btn.active[data-v-ea63cf65]{background:var(--primary);color:#fff;border-color:var(--primary)}.trb-btn[data-v-ea63cf65]:active{opacity:.7}.trb-btn[data-v-ea63cf65]:disabled{opacity:.3;cursor:not-allowed}.trb-btn-icon[data-v-ea63cf65]{font-size:.85rem;padding:.25rem .45rem}.trb-nav-btn[data-v-ea63cf65]{padding:.3rem .5rem;font-size:1rem;font-weight:700;line-height:1}.trb-nav-label[data-v-ea63cf65]{font-size:.8rem;font-weight:500;color:var(--text-color);padding:.3rem .4rem;white-space:nowrap}.trb-year-select[data-v-ea63cf65]{padding:.3rem .4rem;border:1px solid var(--border-color);border-radius:8px;background:var(--badge-bg);color:var(--text-color);font-size:.8rem;cursor:pointer;appearance:auto;min-width:4.5rem}.trb-year-select.active[data-v-ea63cf65]{background:var(--primary);color:#fff;border-color:var(--primary)}.trb-year-select[data-v-ea63cf65]:focus{outline:none;border-color:var(--primary)}.trb-custom-range[data-v-ea63cf65]{display:flex;align-items:center;gap:.4rem}.trb-date-input[data-v-ea63cf65]{padding:.3rem .5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.8rem}.trb-date-input[data-v-ea63cf65]:focus{outline:none;border-color:var(--primary)}.trb-custom-sep[data-v-ea63cf65]{font-size:.8rem;color:var(--text-muted)}.trb-mobile[data-v-ea63cf65],.trb-mobile-panel[data-v-ea63cf65]{display:none}.trb-mobile-trigger[data-v-ea63cf65]{display:flex;align-items:center;gap:.35rem;border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;padding:.4rem .65rem;font-size:.85rem;cursor:pointer;transition:all .15s;white-space:nowrap}.trb-mobile-trigger[data-v-ea63cf65]:active{opacity:.7}.trb-mobile-chevron[data-v-ea63cf65]{font-size:.6rem;transition:transform .2s;line-height:1}.trb-mobile-chevron.open[data-v-ea63cf65]{transform:rotate(180deg)}.trb-mobile-nav[data-v-ea63cf65]{display:inline-flex;align-items:center;gap:.15rem}@container trb (max-width: 600px){.trb-desktop[data-v-ea63cf65]{display:none}.trb-mobile[data-v-ea63cf65]{display:flex;align-items:center;gap:.25rem;justify-content:flex-end}.trb-mobile-panel[data-v-ea63cf65]{display:flex;flex-direction:column;gap:.5rem;position:absolute;right:0;top:100%;margin-top:4px;min-width:200px;max-width:100cqw;padding:.6rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 16px #0000002e;z-index:30}.trb-mobile-presets[data-v-ea63cf65]{display:flex;flex-wrap:wrap;gap:.3rem}.trb-mobile-presets .trb-btn[data-v-ea63cf65]{flex:1 1 auto;min-width:3.5rem;text-align:center}.trb-mobile-section[data-v-ea63cf65]{padding-top:.4rem;border-top:1px solid var(--border-color)}.trb-year-select-mobile[data-v-ea63cf65]{width:100%}.trb-mobile-custom-btn[data-v-ea63cf65]{width:100%;text-align:center}.trb-custom-range[data-v-ea63cf65]{flex-wrap:wrap}.trb-custom-range .trb-date-input[data-v-ea63cf65]{flex:1 1 auto;min-width:0}}.measurement-chart[data-v-45edb8dd]{width:100%}.chart-header[data-v-45edb8dd]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.75rem}.current-info[data-v-45edb8dd]{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.current-value[data-v-45edb8dd]{display:flex;align-items:baseline;gap:.35rem}.live-badge[data-v-45edb8dd]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#22c55e;background:#22c55e1f;border-radius:6px;padding:.15rem .45rem;animation:pulse-live-45edb8dd 2s infinite}@keyframes pulse-live-45edb8dd{0%,to{opacity:1}50%{opacity:.5}}.current-value .value[data-v-45edb8dd]{font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.current-value .value-unit[data-v-45edb8dd]{font-size:.9rem;color:var(--text-muted);font-weight:500}.zoom-reset[data-v-45edb8dd]{display:flex;justify-content:center;margin-bottom:.5rem}.zoom-reset-btn[data-v-45edb8dd]{background:var(--badge-bg);border:1px dashed var(--border-color);border-radius:8px;padding:.3rem .6rem;font-size:.75rem;color:var(--text-muted);cursor:pointer}.zoom-reset-btn[data-v-45edb8dd]:hover{color:var(--text-color);border-color:var(--text-muted)}.chart-loading[data-v-45edb8dd],.chart-empty[data-v-45edb8dd]{height:200px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}@media(max-width:600px){.chart-header[data-v-45edb8dd]{flex-direction:column;align-items:flex-start}}.ts-legend[data-v-69bf89e4]{display:flex;gap:.5rem;font-size:.8rem}.ts-legend--top[data-v-69bf89e4],.ts-legend--bottom[data-v-69bf89e4]{flex-direction:row;flex-wrap:wrap;padding:.4rem 0}.ts-legend--vertical[data-v-69bf89e4]{flex-direction:column;min-width:140px;max-width:180px;padding:0 .5rem}.ts-legend-item[data-v-69bf89e4]{display:flex;align-items:center;gap:.3rem;cursor:pointer;padding:.15rem .3rem;border-radius:4px;transition:opacity .15s;white-space:nowrap}.ts-legend-item[data-v-69bf89e4]:hover{background:var(--badge-bg)}.ts-legend-item--hidden[data-v-69bf89e4]{opacity:.35}.ts-legend-item--hidden .ts-legend-swatch[data-v-69bf89e4]{background-color:var(--text-muted)!important}.ts-legend-swatch[data-v-69bf89e4]{width:10px;height:10px;border-radius:2px;flex-shrink:0}.ts-legend-label[data-v-69bf89e4]{color:var(--text-color);font-weight:500;overflow:hidden;text-overflow:ellipsis}.ts-legend-value[data-v-69bf89e4]{font-weight:700;color:var(--text-color);margin-left:.2rem}.ts-legend-unit[data-v-69bf89e4]{color:var(--text-muted);font-weight:400}.ts-legend-live[data-v-69bf89e4]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#22c55e;background:#22c55e1f;border-radius:4px;padding:.1rem .3rem}.ts-legend-secondary[data-v-69bf89e4]{color:var(--text-muted);font-size:.7rem}.ts-legend--vertical .ts-legend-item[data-v-69bf89e4]{flex-wrap:wrap}.ts-legend--vertical .ts-legend-secondary[data-v-69bf89e4]{width:100%;padding-left:16px}.multi-series-chart[data-v-5fd816ba]{width:100%}.chart-header[data-v-5fd816ba]{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:.75rem}.chart-body[data-v-5fd816ba]{display:flex;gap:.5rem}.chart-body--with-legend-left[data-v-5fd816ba],.chart-body--with-legend-right[data-v-5fd816ba]{flex-direction:row}.chart-area[data-v-5fd816ba]{flex:1;min-width:0}.zoom-reset[data-v-5fd816ba]{display:flex;justify-content:center;margin-bottom:.5rem}.zoom-reset-btn[data-v-5fd816ba]{background:var(--badge-bg);border:1px dashed var(--border-color);border-radius:8px;padding:.3rem .6rem;font-size:.75rem;color:var(--text-muted);cursor:pointer}.zoom-reset-btn[data-v-5fd816ba]:hover{color:var(--text-color);border-color:var(--text-muted)}.chart-loading[data-v-5fd816ba],.chart-empty[data-v-5fd816ba]{height:200px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}@media(max-width:600px){.chart-header[data-v-5fd816ba]{flex-direction:column;align-items:flex-start}.chart-body--with-legend-left[data-v-5fd816ba],.chart-body--with-legend-right[data-v-5fd816ba]{flex-direction:column}}.scatter-chart[data-v-caa3f404]{width:100%;height:100%;position:relative}.scatter-loading[data-v-caa3f404],.scatter-error[data-v-caa3f404],.scatter-empty[data-v-caa3f404]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.comparison-widget[data-v-c4de4d92]{height:100%}.widget-loading[data-v-c4de4d92],.widget-empty[data-v-c4de4d92]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.timeseries-widget[data-v-665c8589]{height:100%}.widget-empty[data-v-665c8589]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.chart-wrapper[data-v-b992337c]{height:300px}.consumption-widget[data-v-0dc4a70f]{height:100%}.widget-loading[data-v-0dc4a70f],.widget-empty[data-v-0dc4a70f]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.mini-chart[data-v-abda37a8]{width:100%}.meter-overview[data-v-12d9d3cd]{height:100%;overflow-y:auto}.empty-state[data-v-12d9d3cd]{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.loading[data-v-12d9d3cd]{text-align:center;padding:2rem;color:var(--text-muted)}.meter-groups[data-v-12d9d3cd]{display:flex;flex-direction:column;gap:1rem}.group-title[data-v-12d9d3cd]{margin:0 0 .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.meter-grid[data-v-12d9d3cd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.625rem}.meter-card[data-v-12d9d3cd]{background:var(--bg-tertiary);padding:.75rem;border-radius:10px;display:flex;flex-direction:column;gap:.4rem;color:inherit;text-decoration:none;transition:box-shadow .2s,transform .15s}.meter-card[data-v-12d9d3cd]:hover{box-shadow:var(--card-shadow-hover);transform:scale(1.01)}.meter-head h4[data-v-12d9d3cd]{margin:0;font-size:.85rem;font-weight:600}.meter-unit[data-v-12d9d3cd]{margin:.1rem 0 0;color:var(--text-muted);font-size:.75rem}.btn[data-v-12d9d3cd]{display:inline-flex;align-items:center;padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;text-decoration:none;font-size:.85rem;font-weight:500}.btn-primary[data-v-12d9d3cd]{background:var(--primary);color:#fff}.report-overview[data-v-ecf37472]{height:100%;overflow-y:auto}.empty-state[data-v-ecf37472]{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.loading[data-v-ecf37472]{text-align:center;padding:2rem;color:var(--text-muted)}.report-grid[data-v-ecf37472]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.625rem}.report-card[data-v-ecf37472]{background:var(--bg-tertiary);padding:.75rem;border-radius:10px;color:inherit;text-decoration:none;transition:box-shadow .2s,transform .15s}.report-card[data-v-ecf37472]:hover{box-shadow:var(--card-shadow-hover);transform:scale(1.01)}.report-head[data-v-ecf37472]{margin-bottom:.4rem}.report-head h4[data-v-ecf37472]{margin:0;font-size:.85rem;font-weight:600}.report-meta[data-v-ecf37472]{margin:.1rem 0 0;color:var(--text-muted);font-size:.75rem}.btn[data-v-ecf37472]{display:inline-flex;align-items:center;padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;text-decoration:none;font-size:.85rem;font-weight:500}.btn-secondary[data-v-ecf37472]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.channel-sparkline[data-v-4201b05f]{display:flex;align-items:center;gap:.5rem;min-width:0}.channel-sparkline.empty[data-v-4201b05f]{justify-content:center}.sparkline-svg[data-v-4201b05f]{width:80px;height:28px;flex-shrink:0}.sparkline-value[data-v-4201b05f]{display:flex;flex-direction:column;min-width:0;line-height:1.2}.current-value[data-v-4201b05f]{font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-value small[data-v-4201b05f]{font-weight:400;color:var(--text-muted);font-size:.7rem}.last-time[data-v-4201b05f]{font-size:.65rem;color:var(--text-muted);white-space:nowrap}.no-data[data-v-4201b05f]{color:var(--text-muted);font-size:.8rem}.channel-overview[data-v-4c60a636]{height:100%;overflow-y:auto}.empty-state[data-v-4c60a636]{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.loading[data-v-4c60a636]{text-align:center;padding:2rem;color:var(--text-muted)}.channel-list[data-v-4c60a636]{display:flex;flex-direction:column;gap:.25rem}.channel-row[data-v-4c60a636]{display:grid;grid-template-columns:1fr 210px 80px;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;color:inherit;text-decoration:none;transition:background .15s}.channel-row[data-v-4c60a636]:hover{background:var(--bg-tertiary)}.channel-info[data-v-4c60a636]{display:flex;flex-direction:column;min-width:0}.channel-name[data-v-4c60a636]{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-meta[data-v-4c60a636]{font-size:.75rem;color:var(--text-muted)}.channel-sparkline-col[data-v-4c60a636] .channel-sparkline{width:100%;justify-content:flex-end}.channel-sparkline-col[data-v-4c60a636] .sparkline-value{align-items:flex-end;text-align:right;min-width:80px}.channel-sparkline-col[data-v-4c60a636] .channel-sparkline.empty{justify-content:flex-end}.channel-badges[data-v-4c60a636]{display:flex;gap:.3rem;justify-self:end}.badge[data-v-4c60a636]{font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.badge-meter[data-v-4c60a636]{background:var(--success-bg);color:var(--success)}.badge-type[data-v-4c60a636]{background:var(--badge-bg);color:var(--text-muted)}.btn[data-v-4c60a636]{display:inline-flex;align-items:center;padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;text-decoration:none;font-size:.85rem;font-weight:500}.btn-secondary[data-v-4c60a636]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.detail-modal-overlay[data-v-95742cf6]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.detail-modal[data-v-95742cf6]{background:var(--bg-primary);border-radius:14px;width:100%;max-width:560px;box-shadow:0 8px 32px #00000040;overflow:hidden}.detail-modal-header[data-v-95742cf6]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.detail-modal-header h3[data-v-95742cf6]{font-size:1rem;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-modal-close[data-v-95742cf6]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:0 .25rem;flex-shrink:0}.detail-modal-close[data-v-95742cf6]:hover{color:var(--text-color)}.detail-modal-body[data-v-95742cf6]{padding:1rem 1.25rem .75rem}.detail-modal-footer[data-v-95742cf6]{display:flex;justify-content:flex-end;padding:.5rem 1.25rem 1rem}.btn-link[data-v-95742cf6]{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.85rem;font-weight:500;padding:.25rem 0}.btn-link[data-v-95742cf6]:hover{text-decoration:underline}.flow-node[data-v-1220a9ee]{cursor:default}.node-circle[data-v-1220a9ee]{cursor:pointer;transition:stroke-width .15s ease}.node-circle[data-v-1220a9ee]:hover{stroke-width:3}.clickable-label[data-v-1220a9ee]{cursor:pointer}.clickable-label[data-v-1220a9ee]:hover{opacity:.7}.energy-flow-svg[data-v-76285588]{width:100%;height:100%;color:var(--text-color)}.panel-badge[data-v-76285588]{cursor:pointer}.panel-circle[data-v-76285588]{transition:stroke-width .15s ease}.panel-badge:hover .panel-circle[data-v-76285588]{stroke-width:2.5}.channel-select[data-v-912fbc49]{position:relative;width:100%}.channel-select.disabled[data-v-912fbc49]{opacity:.5;pointer-events:none}.cs-trigger[data-v-912fbc49]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem .65rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s;min-height:2.25rem}.channel-select--small .cs-trigger[data-v-912fbc49]{padding:.3rem .45rem;font-size:.75rem;border-radius:6px;min-height:1.75rem}.cs-trigger[data-v-912fbc49]:hover:not(:disabled){border-color:var(--primary)}.cs-trigger.open[data-v-912fbc49]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light, rgba(0, 122, 255, .12))}.cs-trigger[data-v-912fbc49]:disabled{cursor:not-allowed;opacity:.6}.cs-value[data-v-912fbc49]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cs-unit[data-v-912fbc49]{font-size:.75rem;color:var(--text-muted);padding:.1rem .3rem;background:var(--badge-bg);border-radius:3px;flex-shrink:0}.channel-select--small .cs-unit[data-v-912fbc49]{font-size:.65rem;padding:.05rem .2rem}.cs-placeholder[data-v-912fbc49]{flex:1;color:var(--text-muted)}.cs-actions[data-v-912fbc49]{display:flex;align-items:center;gap:.2rem;flex-shrink:0;margin-left:auto}.cs-clear[data-v-912fbc49]{font-size:1rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:0 .15rem}.cs-clear[data-v-912fbc49]:hover{color:var(--text-color)}.cs-chevron[data-v-912fbc49]{font-size:.65rem;color:var(--text-muted)}.cs-dropdown[data-v-912fbc49]{position:absolute;top:100%;left:0;min-width:max(100%,320px);margin-top:4px;background:var(--card-bg, var(--bg-primary));border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #00000026;z-index:50;display:flex;flex-direction:column;max-height:320px;overflow:hidden}.channel-select--small .cs-dropdown[data-v-912fbc49]{border-radius:8px;max-height:280px}.cs-search[data-v-912fbc49]{padding:.5rem;border-bottom:1px solid var(--separator-color, var(--border-color))}.cs-search input[data-v-912fbc49]{width:100%;padding:.4rem .55rem;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:.8rem;outline:none}.cs-search input[data-v-912fbc49]:focus{border-color:var(--primary)}.channel-select--small .cs-search[data-v-912fbc49]{padding:.35rem}.channel-select--small .cs-search input[data-v-912fbc49]{padding:.3rem .45rem;font-size:.75rem}.cs-list[data-v-912fbc49]{overflow-y:auto;padding:.25rem;flex:1}.cs-group-label[data-v-912fbc49]{padding:.35rem .5rem .2rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);-webkit-user-select:none;user-select:none}.channel-select--small .cs-group-label[data-v-912fbc49]{padding:.25rem .4rem .15rem;font-size:.6rem}.cs-divider[data-v-912fbc49]{height:1px;background:var(--separator-color, var(--border-color));margin:.25rem .5rem}.cs-item[data-v-912fbc49]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--text-color);font-size:.8rem;cursor:pointer;text-align:left;transition:background .1s}.channel-select--small .cs-item[data-v-912fbc49]{padding:.3rem .45rem;font-size:.75rem;border-radius:5px}.cs-item[data-v-912fbc49]:hover,.cs-item.highlighted[data-v-912fbc49]{background:var(--badge-bg)}.cs-item.selected[data-v-912fbc49]{background:var(--primary-light, rgba(0, 122, 255, .12));color:var(--primary);font-weight:500}.cs-item-name[data-v-912fbc49]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-item-unit[data-v-912fbc49]{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.channel-select--small .cs-item-unit[data-v-912fbc49]{font-size:.65rem}.cs-empty[data-v-912fbc49]{padding:1rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.config-dialog[data-v-1c7c8f4a]{position:absolute;inset:0;background:var(--card-bg, #1a1a2e);display:flex;flex-direction:column;border-radius:10px;overflow:hidden;z-index:10}.config-header[data-v-1c7c8f4a]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.config-header h3[data-v-1c7c8f4a]{margin:0;font-size:.9rem;font-weight:600}.tab-bar[data-v-1c7c8f4a]{display:flex;gap:2px;background:var(--badge-bg);border-radius:6px;padding:2px}.tab[data-v-1c7c8f4a]{padding:.25rem .6rem;border:none;background:none;border-radius:5px;font-size:.75rem;cursor:pointer;color:var(--text-muted);transition:all .15s}.tab.active[data-v-1c7c8f4a]{background:var(--bg-primary);color:var(--text-color);font-weight:500}.config-body[data-v-1c7c8f4a]{flex:1;overflow-y:auto;padding:.75rem 1rem}.section[data-v-1c7c8f4a]{margin-bottom:.5rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.section-header[data-v-1c7c8f4a]{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;cursor:pointer;background:var(--badge-bg);-webkit-user-select:none;user-select:none}.section-toggle[data-v-1c7c8f4a]{font-size:.7rem;color:var(--text-muted);width:1em}.section-title[data-v-1c7c8f4a]{flex:1;font-size:.8rem;font-weight:600}.section-enable[data-v-1c7c8f4a]{cursor:pointer}.section-body[data-v-1c7c8f4a]{padding:.5rem .6rem}.form-row[data-v-1c7c8f4a]{margin-bottom:.5rem}.form-row label[data-v-1c7c8f4a]{display:block;font-size:.7rem;font-weight:500;color:var(--text-muted);margin-bottom:.2rem}.checkbox-row label[data-v-1c7c8f4a]{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.75rem;color:var(--text-color)}.checkbox-row input[type=checkbox][data-v-1c7c8f4a]{margin:0}.form-row select[data-v-1c7c8f4a],.form-row input[type=text][data-v-1c7c8f4a],.form-row input[type=number][data-v-1c7c8f4a]{width:100%;padding:.3rem .45rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-color);font-size:.75rem}.input-with-unit[data-v-1c7c8f4a]{display:flex;align-items:center;gap:.4rem}.input-with-unit input[data-v-1c7c8f4a]{flex:1}.input-with-unit span[data-v-1c7c8f4a]{font-size:.75rem;color:var(--text-muted)}.checkbox-label[data-v-1c7c8f4a]{display:flex!important;align-items:center;gap:.35rem;font-size:.75rem!important;cursor:pointer}.consumer-item[data-v-1c7c8f4a]{border:1px solid var(--border-color);border-radius:6px;padding:.5rem;margin-bottom:.5rem}.consumer-header[data-v-1c7c8f4a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.consumer-num[data-v-1c7c8f4a]{font-size:.7rem;font-weight:600;color:var(--text-muted)}.btn-remove[data-v-1c7c8f4a]{background:none;border:none;color:var(--danger, #e74c3c);font-size:1rem;cursor:pointer;padding:0 .25rem;line-height:1}.icon-picker[data-v-1c7c8f4a]{display:flex;flex-wrap:wrap;gap:3px}.icon-btn[data-v-1c7c8f4a]{width:26px;height:26px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-muted);font-size:.65rem;cursor:pointer;transition:all .1s}.icon-btn.selected[data-v-1c7c8f4a]{border-color:var(--primary);background:var(--info-bg);color:var(--primary)}.btn-add[data-v-1c7c8f4a]{width:100%;padding:.35rem;border:1px dashed var(--border-color);border-radius:6px;background:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:background .15s}.btn-add[data-v-1c7c8f4a]:hover{background:var(--badge-bg)}.json-editor[data-v-1c7c8f4a]{width:100%;height:100%;min-height:200px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-color);font-family:monospace;font-size:.75rem;padding:.5rem;resize:none}.json-error[data-v-1c7c8f4a]{color:var(--danger, #e74c3c);font-size:.75rem;margin:.25rem 0 0}.config-footer[data-v-1c7c8f4a]{display:flex;justify-content:flex-end;gap:.5rem;padding:.6rem 1rem;border-top:1px solid var(--border-color)}.btn[data-v-1c7c8f4a]{padding:.35rem .75rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer}.btn-primary[data-v-1c7c8f4a]{background:var(--primary);color:#fff}.btn-secondary[data-v-1c7c8f4a]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.subsection[data-v-1c7c8f4a]{margin-top:.5rem;border:1px dashed var(--border-color);border-radius:6px;padding:.4rem .5rem}.subsection-header[data-v-1c7c8f4a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.subsection-title[data-v-1c7c8f4a]{font-size:.7rem;font-weight:600;color:var(--text-muted)}.btn-add-small[data-v-1c7c8f4a]{background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-size:.8rem;width:20px;height:20px;cursor:pointer;line-height:1;padding:0}.btn-add-small[data-v-1c7c8f4a]:hover{background:var(--badge-bg);color:var(--text-color)}.panel-item[data-v-1c7c8f4a]{border:1px solid var(--border-color);border-radius:5px;padding:.4rem .45rem;margin-bottom:.35rem}.row-with-remove[data-v-1c7c8f4a]{display:flex;gap:.3rem;align-items:center}.row-with-remove input[data-v-1c7c8f4a]{flex:1}.energy-flow-widget[data-v-d03d54c6]{height:100%;position:relative;display:flex;align-items:center;justify-content:center}.empty-state[data-v-d03d54c6]{text-align:center;color:var(--text-muted);padding:2rem}.empty-state p[data-v-d03d54c6]{margin:0 0 .75rem;font-size:.9rem}.btn[data-v-d03d54c6]{padding:.4rem .85rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer}.btn-primary[data-v-d03d54c6]{background:var(--primary);color:#fff}.unified-sparkline[data-v-f846c277]{display:block;width:100%;height:100%}.mini-preview-card[data-v-5670178f]{background:var(--card-bg);border-radius:12px;box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow .2s,transform .15s}.mini-preview-card[data-v-5670178f]:hover{box-shadow:var(--card-shadow-hover)}.mini-preview-card[data-v-5670178f]:active{transform:scale(.98)}.card-link[data-v-5670178f]{display:block;padding:1rem;text-decoration:none;color:inherit}.card-header[data-v-5670178f]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.card-title[data-v-5670178f]{margin:0;font-size:.9rem;font-weight:600;color:var(--text-color);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header-actions[data-v-5670178f]{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.favorite-btn[data-v-5670178f]{background:none;border:none;cursor:pointer;font-size:1rem;padding:.15rem .25rem;border-radius:6px;color:var(--text-muted);transition:color .15s;line-height:1}.favorite-btn[data-v-5670178f]:hover,.favorite-btn.active[data-v-5670178f]{color:#f59e0b}.no-data[data-v-5670178f]{color:var(--text-muted);font-size:.85rem;text-align:center;padding:.5rem 0}.tag-row[data-v-5670178f]{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.5rem}.tag-badge[data-v-5670178f]{background:var(--badge-bg);padding:.1rem .4rem;border-radius:4px;font-size:.7rem;color:var(--text-muted)}.list-widget[data-v-3f12a495]{height:100%;overflow-y:auto}.empty-state[data-v-3f12a495]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.list-rows[data-v-3f12a495]{display:flex;flex-direction:column}.list-row[data-v-3f12a495]{display:grid;grid-template-columns:24px 1fr 80px 90px 70px;align-items:center;gap:.4rem;padding:.45rem .6rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .1s}.list-row[data-v-3f12a495]:last-child{border-bottom:none}.list-row[data-v-3f12a495]:hover{background:var(--badge-bg)}.row-fav[data-v-3f12a495]{background:none;border:none;cursor:pointer;font-size:.95rem;padding:0;color:var(--text-muted);line-height:1;text-align:center}.row-fav[data-v-3f12a495]:hover,.row-fav.active[data-v-3f12a495]{color:#f59e0b}.row-fav-placeholder[data-v-3f12a495]{width:24px}.row-name[data-v-3f12a495]{font-size:.85rem;font-weight:500;color:var(--text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sparkline[data-v-3f12a495]{width:80px;height:28px;flex-shrink:0}.row-value[data-v-3f12a495]{font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-color)}.row-ago[data-v-3f12a495]{font-size:.65rem;color:var(--text-muted);text-align:right;white-space:nowrap}.row-value.stacked[data-v-3f12a495],.row-ago.stacked[data-v-3f12a495]{display:flex;flex-direction:column;gap:.05rem;justify-content:center}.row-value.stacked[data-v-3f12a495]>*:nth-child(2){font-size:.65rem;font-weight:500;opacity:.7}.row-ago.stacked[data-v-3f12a495]>*:nth-child(2){font-size:.6rem;opacity:.7}.list-cards[data-v-3f12a495]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.control-widget[data-v-d0f7dc0e]{display:flex;flex-direction:column;gap:0;height:100%;overflow-y:auto}.control-empty[data-v-d0f7dc0e]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.control-row[data-v-d0f7dc0e]{cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .15s}.control-row[data-v-d0f7dc0e]:last-child{border-bottom:none}.control-row[data-v-d0f7dc0e]:hover{background:var(--hover-bg, rgba(99, 102, 241, .06))}[data-v-d0f7dc0e] .control-row-inner{display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem;gap:.75rem}[data-v-d0f7dc0e] .control-info{display:flex;flex-direction:column;min-width:0;flex:1}[data-v-d0f7dc0e] .control-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d0f7dc0e] .control-ago{font-size:.7rem;color:var(--text-muted)}[data-v-d0f7dc0e] .control-ago.stale{color:var(--danger, #ef4444)}[data-v-d0f7dc0e] .toggle-btn{position:relative;width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;flex-shrink:0;transition:background .2s;padding:0}[data-v-d0f7dc0e] .toggle-btn.off{background:var(--text-muted, #9ca3af)}[data-v-d0f7dc0e] .toggle-btn.on{background:var(--success, #22c55e)}[data-v-d0f7dc0e] .toggle-btn:disabled{opacity:.4;cursor:not-allowed}[data-v-d0f7dc0e] .toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}[data-v-d0f7dc0e] .toggle-btn.on .toggle-knob{transform:translate(20px)}[data-v-d0f7dc0e] .select-control{font-size:.8rem;padding:.25rem .5rem;border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);cursor:pointer;flex-shrink:0;max-width:140px}[data-v-d0f7dc0e] .select-control:disabled{opacity:.4;cursor:not-allowed}[data-v-d0f7dc0e] .state-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:4px;background:var(--bg-secondary, #f3f4f6);color:var(--text-muted);flex-shrink:0}[data-v-d0f7dc0e] .control-error{font-size:.7rem;color:var(--danger, #ef4444);margin-left:.25rem}.statistics-widget[data-v-d9b1949f]{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.statistics-loading[data-v-d9b1949f]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.records-grid[data-v-d9b1949f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.record-card[data-v-d9b1949f]{background:var(--bg-subtle, rgba(0,0,0,.03));border-radius:8px;padding:.625rem;display:flex;flex-direction:column;gap:.125rem}.record-label[data-v-d9b1949f]{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.record-value[data-v-d9b1949f]{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.record-date[data-v-d9b1949f]{font-size:.7rem;color:var(--text-muted)}.streaks-list[data-v-d9b1949f]{display:flex;flex-direction:column;gap:.5rem}.streak-item[data-v-d9b1949f]{display:flex;justify-content:space-between;align-items:center;background:var(--bg-subtle, rgba(0,0,0,.03));border-radius:8px;padding:.625rem}.streak-label[data-v-d9b1949f]{font-size:.85rem;font-weight:600}.streak-threshold[data-v-d9b1949f]{font-size:.7rem;color:var(--text-muted)}.streak-counters[data-v-d9b1949f]{display:flex;gap:1rem;text-align:center}.streak-number[data-v-d9b1949f]{font-size:1.5rem;font-weight:700;line-height:1}.streak-number.muted[data-v-d9b1949f]{color:var(--text-muted)}.streak-suffix[data-v-d9b1949f]{display:block;font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.empty-state[data-v-d9b1949f]{text-align:center;color:var(--text-muted);font-size:.85rem;padding:1rem}.challenges-widget[data-v-9a9aba96]{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.challenges-loading[data-v-9a9aba96]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.challenge-item[data-v-9a9aba96]{background:var(--bg-subtle, rgba(0,0,0,.03));border-radius:8px;padding:.625rem}.challenge-item.completed[data-v-9a9aba96]{opacity:.7}.challenge-item.failed[data-v-9a9aba96]{opacity:.6}.challenge-header[data-v-9a9aba96]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.challenge-title[data-v-9a9aba96]{font-size:.85rem;font-weight:600}.challenge-period[data-v-9a9aba96]{font-size:.7rem;color:var(--text-muted)}.challenge-desc[data-v-9a9aba96]{font-size:.75rem;color:var(--text-muted);margin-bottom:.375rem}.progress-bar-container[data-v-9a9aba96]{width:100%;height:6px;background:var(--bg-muted, rgba(0,0,0,.08));border-radius:3px;overflow:hidden;margin:.25rem 0}.progress-bar[data-v-9a9aba96]{height:100%;border-radius:3px;transition:width .3s ease}.challenge-footer[data-v-9a9aba96]{display:flex;justify-content:space-between;align-items:center}.progress-text[data-v-9a9aba96]{font-size:.7rem;font-weight:600;color:var(--text-muted)}.badge[data-v-9a9aba96]{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.125rem .375rem;border-radius:4px}.badge-success[data-v-9a9aba96]{background:#22c55e26;color:#16a34a}.badge-failed[data-v-9a9aba96]{background:#ef444426;color:#dc2626}.empty-state[data-v-9a9aba96]{text-align:center;color:var(--text-muted);font-size:.85rem;padding:1rem}.ai-text-widget[data-v-21440078]{height:100%;overflow-y:auto;padding:.25rem}.ai-loading[data-v-21440078],.ai-error[data-v-21440078],.ai-empty[data-v-21440078]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.ai-content[data-v-21440078]{font-size:.85rem;line-height:1.5}.ai-content[data-v-21440078] h2,.ai-content[data-v-21440078] h3,.ai-content[data-v-21440078] h4{margin:.5rem 0 .25rem;font-weight:600}.ai-content[data-v-21440078] h2{font-size:1rem}.ai-content[data-v-21440078] h3{font-size:.9rem}.ai-content[data-v-21440078] h4{font-size:.85rem}.ai-content[data-v-21440078] ul{padding-left:1.25rem;margin:.25rem 0}.ai-content[data-v-21440078] li{margin:.125rem 0}.ai-content[data-v-21440078] strong{font-weight:600}.widget-card[data-v-00d430b7]{background:var(--card-bg);border-radius:12px;box-shadow:var(--card-shadow);padding:.875rem;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.widget-title[data-v-00d430b7]{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-body[data-v-00d430b7]{flex:1;min-height:0}.widget-unknown[data-v-00d430b7]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.header-badge[data-v-937c9fdf]{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:var(--badge-bg, rgba(255, 255, 255, .06));border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .15s;white-space:nowrap;font-size:.8rem;color:var(--text-color);line-height:1.3}.header-badge[data-v-937c9fdf]:hover{background:var(--card-bg);border-color:var(--primary)}.badge-icon[data-v-937c9fdf]{font-size:.9rem;line-height:1}.badge-label[data-v-937c9fdf]{color:var(--text-muted);font-weight:500}.badge-value[data-v-937c9fdf]{font-weight:700;font-variant-numeric:tabular-nums}.badge-unit[data-v-937c9fdf]{color:var(--text-muted);font-size:.75rem;font-weight:500}.badge-loading[data-v-937c9fdf],.badge-na[data-v-937c9fdf]{color:var(--text-muted);font-weight:400}.list-config[data-v-054cd958]{background:var(--card-bg);padding:1.25rem;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.config-header[data-v-054cd958]{display:flex;align-items:center;justify-content:space-between}h3[data-v-054cd958]{margin:0;font-size:1rem;font-weight:600}.tab-bar[data-v-054cd958]{display:flex;gap:.25rem}.tab[data-v-054cd958]{padding:.3rem .6rem;border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:6px;font-size:.75rem;cursor:pointer}.tab.active[data-v-054cd958]{background:var(--primary);color:#fff;border-color:var(--primary)}.json-editor[data-v-054cd958]{width:100%;min-height:300px;flex:1;font-family:monospace;font-size:.8rem;padding:.5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);resize:vertical}.json-error[data-v-054cd958]{color:#ef4444;font-size:.75rem;margin:0}.form-group[data-v-054cd958]{display:flex;flex-direction:column;gap:.25rem}.form-group>label[data-v-054cd958]{font-size:.8rem;font-weight:500;color:var(--text-muted)}.form-select[data-v-054cd958]{padding:.4rem .5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.8rem}.source-grid[data-v-054cd958]{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.25rem}.toggle-row[data-v-054cd958]{display:flex;gap:.25rem}.toggle-btn[data-v-054cd958]{padding:.4rem .6rem;border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .15s;text-align:center}.toggle-btn.active[data-v-054cd958]{background:var(--primary);color:#fff;border-color:var(--primary)}.checkbox-row[data-v-054cd958]{display:flex;gap:1rem}.checkbox-label[data-v-054cd958]{display:flex;align-items:center;gap:.3rem;font-size:.8rem;cursor:pointer}.checkbox-label input[type=checkbox][data-v-054cd958]{accent-color:var(--primary)}.empty-list[data-v-054cd958]{font-size:.8rem;color:var(--text-muted);padding:.5rem;text-align:center;border:1px dashed var(--border-color);border-radius:8px}.item-list[data-v-054cd958]{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;max-height:300px;overflow-y:auto}.item-row[data-v-054cd958]{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-bottom:1px solid var(--border-color)}.item-row[data-v-054cd958]:last-child{border-bottom:none}.item-type-badge[data-v-054cd958]{background:var(--badge-bg);padding:.1rem .35rem;border-radius:4px;font-size:.65rem;color:var(--text-muted);flex-shrink:0;min-width:48px;text-align:center}.item-name-input[data-v-054cd958]{font-size:.8rem;flex:1;min-width:0;padding:.15rem .3rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-color)}.item-name-input[data-v-054cd958]:hover,.item-name-input[data-v-054cd958]:focus{border-color:var(--border-color);background:var(--bg-secondary, #fff);outline:none}.item-name-input[data-v-054cd958]::placeholder{color:var(--text-muted);opacity:.7}.item-range-select[data-v-054cd958]{width:60px;padding:.15rem .2rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.7rem;flex-shrink:0}.item-vr-select[data-v-054cd958]{width:46px;padding:.15rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.65rem;flex-shrink:0}.value-range-row[data-v-054cd958]{display:flex;gap:.35rem}.form-select-sm[data-v-054cd958]{flex:1;font-size:.8rem}.item-actions[data-v-054cd958]{display:flex;gap:.2rem;flex-shrink:0}.icon-btn[data-v-054cd958]{background:none;border:1px solid var(--border-color);border-radius:4px;padding:.1rem .3rem;cursor:pointer;font-size:.75rem;line-height:1;color:var(--text-color)}.icon-btn[data-v-054cd958]:hover:not(:disabled){background:var(--badge-bg)}.icon-btn[data-v-054cd958]:disabled{opacity:.3;cursor:default}.icon-btn-danger[data-v-054cd958]{color:#ef4444;border-color:#ef4444}.add-section[data-v-054cd958]{margin-top:.25rem}.add-row[data-v-054cd958]{display:flex;gap:.35rem;align-items:center}.add-type-select[data-v-054cd958]{width:100px;padding:.4rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.8rem;flex-shrink:0}.add-id-channel[data-v-054cd958]{flex:1;min-width:0}.add-id-select[data-v-054cd958]{flex:1;min-width:0;padding:.4rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.8rem}.formula-add-section[data-v-054cd958]{display:flex;flex-direction:column;gap:.25rem;margin-top:.35rem}.formula-row[data-v-054cd958]{display:flex;gap:.35rem;align-items:center}.formula-input[data-v-054cd958]{flex:1;min-width:0;padding:.4rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.8rem;font-family:monospace}.formula-unit-input[data-v-054cd958]{width:60px;padding:.4rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.8rem;flex-shrink:0}.hint[data-v-054cd958]{font-size:.7rem;color:var(--text-muted)}.dialog-actions[data-v-054cd958]{display:flex;gap:.5rem;margin-top:.5rem}.btn[data-v-054cd958]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;font-size:.85rem;font-weight:500;transition:opacity .15s}.btn[data-v-054cd958]:active{opacity:.7}.btn[data-v-054cd958]:disabled{opacity:.5;cursor:default}.btn-sm[data-v-054cd958]{padding:.35rem .65rem;font-size:.8rem}.btn-primary[data-v-054cd958]{background:var(--primary);color:#fff}.btn-secondary[data-v-054cd958]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.config-dialog[data-v-c99110fb]{display:flex;flex-direction:column;height:100%;background:var(--card-bg);border-radius:12px;overflow:hidden}.config-header[data-v-c99110fb]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.config-header h3[data-v-c99110fb]{margin:0;font-size:1rem;font-weight:600}.tab-bar[data-v-c99110fb]{display:flex;gap:.25rem}.tab[data-v-c99110fb]{padding:.3rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--badge-bg);color:var(--text-color);font-size:.8rem;cursor:pointer}.tab.active[data-v-c99110fb]{background:var(--primary);color:#fff;border-color:var(--primary)}.config-body[data-v-c99110fb]{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.config-body[data-v-c99110fb]>*{flex-shrink:0}.config-footer[data-v-c99110fb]{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border-color)}.form-row[data-v-c99110fb]{display:flex;flex-direction:column;gap:.3rem}.form-row label[data-v-c99110fb]{font-size:.8rem;font-weight:500;color:var(--text-muted)}.full-width[data-v-c99110fb]{width:100%;padding:.4rem .5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem}.full-width[data-v-c99110fb]:focus{outline:none;border-color:var(--primary)}.hint[data-v-c99110fb]{font-size:.8rem;color:var(--text-muted);margin:0;padding:.25rem 0}.toggle-buttons[data-v-c99110fb]{display:flex;flex-wrap:wrap;gap:.25rem}.toggle-btn[data-v-c99110fb]{padding:.35rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--badge-bg);color:var(--text-color);font-size:.8rem;cursor:pointer;transition:all .15s}.toggle-btn.active[data-v-c99110fb]{background:var(--primary);color:#fff;border-color:var(--primary)}.toggle-btn-sm[data-v-c99110fb]{padding:.25rem .55rem;font-size:.75rem}.section-title-row[data-v-c99110fb]{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.section-label[data-v-c99110fb]{font-size:.85rem;font-weight:600;color:var(--text-color)}.series-item[data-v-c99110fb]{border:1px solid var(--border-color);border-radius:8px}.series-header[data-v-c99110fb]{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;cursor:pointer;background:var(--badge-bg)}.series-header[data-v-c99110fb]:hover{background:var(--hover-bg, rgba(0,0,0,.04))}.series-toggle[data-v-c99110fb]{font-size:.75rem;width:1rem;color:var(--text-muted)}.series-swatch[data-v-c99110fb]{width:12px;height:12px;border-radius:3px;flex-shrink:0}.series-name[data-v-c99110fb]{flex:1;min-width:0;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-type-badge[data-v-c99110fb]{font-size:.7rem;color:var(--text-muted);background:var(--card-bg);padding:.1rem .4rem;border-radius:4px}.series-actions[data-v-c99110fb]{display:flex;flex-shrink:0;gap:.15rem;margin-left:auto}.icon-btn[data-v-c99110fb]{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:.9rem;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-c99110fb]:hover{background:var(--badge-bg);color:var(--text-color)}.icon-btn[data-v-c99110fb]:disabled{opacity:.3;cursor:not-allowed}.icon-btn-danger[data-v-c99110fb]:hover{color:#ef4444}.series-body[data-v-c99110fb]{padding:.6rem;display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--border-color)}.color-swatches[data-v-c99110fb]{display:flex;gap:.3rem}.color-swatch[data-v-c99110fb]{width:24px;height:24px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.color-swatch.active[data-v-c99110fb]{border-color:var(--text-color);transform:scale(1.1)}.color-swatch[data-v-c99110fb]:hover{transform:scale(1.1)}.add-series-btn[data-v-c99110fb]{width:100%;padding:.5rem;border:1px dashed var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all .15s}.add-series-btn[data-v-c99110fb]:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.btn[data-v-c99110fb]{padding:.4rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .15s}.btn-secondary[data-v-c99110fb]{background:var(--badge-bg);color:var(--text-color)}.btn-primary[data-v-c99110fb]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-c99110fb]:hover{opacity:.9}.btn-secondary[data-v-c99110fb]:hover{background:var(--border-color)}.json-editor[data-v-c99110fb]{width:100%;min-height:300px;font-family:monospace;font-size:.8rem;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);resize:vertical}.json-editor[data-v-c99110fb]:focus{outline:none;border-color:var(--primary)}.json-error[data-v-c99110fb]{color:#ef4444;font-size:.8rem;margin-top:.25rem}.formula-input[data-v-c99110fb]{font-family:monospace;font-size:.8rem}.config-overlay[data-v-2a7085ba]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.config-dialog[data-v-2a7085ba]{background:var(--bg-primary);border-radius:14px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000040;overflow:hidden}.config-header[data-v-2a7085ba]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.config-header h3[data-v-2a7085ba]{font-size:1rem;font-weight:600;margin:0}.config-close[data-v-2a7085ba]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:0 .25rem}.config-close[data-v-2a7085ba]:hover{color:var(--text-color)}.config-body[data-v-2a7085ba]{padding:1rem 1.25rem;overflow-y:auto;flex:1}.config-hint[data-v-2a7085ba]{font-size:.8rem;color:var(--text-muted);margin:0 0 .5rem}.config-empty[data-v-2a7085ba]{font-size:.85rem;color:var(--text-muted);padding:1rem 0}.channel-list[data-v-2a7085ba]{display:flex;flex-direction:column;gap:.25rem}.channel-option[data-v-2a7085ba]{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .15s}.channel-option[data-v-2a7085ba]:hover{background:var(--hover-bg, rgba(99, 102, 241, .06))}.channel-option.selected[data-v-2a7085ba]{background:#6366f114}.ch-name[data-v-2a7085ba]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-type[data-v-2a7085ba]{font-size:.7rem;padding:.1rem .35rem;border-radius:3px;background:var(--bg-secondary, #f3f4f6);color:var(--text-muted);flex-shrink:0}.ch-ctrl[data-v-2a7085ba]{font-size:.65rem;color:var(--success, #22c55e);flex-shrink:0}.selected-order[data-v-2a7085ba]{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.order-item[data-v-2a7085ba]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem}.order-name[data-v-2a7085ba]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-btn[data-v-2a7085ba]{background:none;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;padding:.1rem .35rem;font-size:.75rem;color:var(--text-muted);line-height:1}.order-btn[data-v-2a7085ba]:hover{background:var(--hover-bg, rgba(99, 102, 241, .06));color:var(--text-color)}.config-footer[data-v-2a7085ba]{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border-color)}.btn-secondary[data-v-2a7085ba]{padding:.4rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-color);cursor:pointer;font-size:.85rem}.btn-primary[data-v-2a7085ba]{padding:.4rem 1rem;border:none;border-radius:8px;background:var(--primary, #6366f1);color:#fff;cursor:pointer;font-size:.85rem}.btn-primary[data-v-2a7085ba]:disabled{opacity:.5;cursor:not-allowed}.config-field[data-v-2a7085ba]{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.config-label[data-v-2a7085ba]{font-size:.8rem;font-weight:500;color:var(--text-muted)}.config-input[data-v-2a7085ba]{width:100%;padding:.4rem .5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem}.config-input[data-v-2a7085ba]:focus{outline:none;border-color:var(--primary)}.custom-dashboard[data-v-521b0a67]{padding:1rem}.wizard-banner[data-v-521b0a67]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--primary-light, rgba(37, 99, 235, .08));border:1px solid var(--primary, #2563eb);border-radius:10px;margin-bottom:1rem;gap:1rem}.wizard-banner-content[data-v-521b0a67]{display:flex;align-items:center;gap:.75rem}.wizard-banner-icon[data-v-521b0a67]{font-size:1.25rem}.wizard-banner-text[data-v-521b0a67]{display:flex;flex-direction:column;gap:.1rem;font-size:.9rem}.wizard-banner-progress[data-v-521b0a67]{font-size:.8rem;color:var(--text-muted)}.wizard-banner-actions[data-v-521b0a67]{display:flex;align-items:center;gap:.75rem}.wizard-banner-link[data-v-521b0a67]{padding:.4rem 1rem;background:var(--primary);color:#fff;border-radius:8px;text-decoration:none;font-size:.85rem;font-weight:500;white-space:nowrap}.wizard-banner-link[data-v-521b0a67]:hover{opacity:.9}.wizard-banner-dismiss[data-v-521b0a67]{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:.25rem}.wizard-banner-dismiss[data-v-521b0a67]:hover{color:var(--text-color)}.page-header[data-v-521b0a67]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.dashboard-name-input[data-v-521b0a67]{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;background:var(--badge-bg);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-color);padding:.1rem .5rem;width:100%;max-width:400px}.header-left h1[data-v-521b0a67]{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.dashboard-tabs[data-v-521b0a67]{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}.tab-drag-zone[data-v-521b0a67]{display:flex;gap:.25rem;flex-wrap:wrap}.tab-draggable[data-v-521b0a67]{cursor:grab}.tab-draggable[data-v-521b0a67]:active{cursor:grabbing}.tab-btn[data-v-521b0a67]{border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer;transition:all .15s}.tab-btn.active[data-v-521b0a67]{background:var(--primary);color:#fff;border-color:var(--primary)}.tab-add[data-v-521b0a67]{font-weight:700}.header-actions[data-v-521b0a67]{display:flex;gap:.4rem;flex-wrap:wrap}.badge-strip[data-v-521b0a67]{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.badge-add-btn[data-v-521b0a67]{display:inline-flex;align-items:center;gap:.2rem;padding:.3rem .65rem;border:2px dashed var(--border-color);background:none;color:var(--text-muted);border-radius:20px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.badge-add-btn[data-v-521b0a67]:hover{border-color:var(--primary);color:var(--primary)}.badge-edit-strip[data-v-521b0a67]{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.badge-edit-item[data-v-521b0a67]{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;background:var(--badge-bg);border:1px dashed var(--border-color);border-radius:20px;font-size:.75rem;color:var(--text-muted)}.badge-edit-label[data-v-521b0a67]{font-weight:500}.layout-selector[data-v-521b0a67]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;background:var(--badge-bg);border:1px solid var(--border-color);border-radius:10px}.layout-label[data-v-521b0a67]{font-size:.8rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.layout-btn[data-v-521b0a67]{background:var(--card-bg);border:2px solid var(--border-color);border-radius:6px;padding:4px;cursor:pointer;transition:all .15s}.layout-btn[data-v-521b0a67]:hover{border-color:var(--text-muted)}.layout-btn.active[data-v-521b0a67]{border-color:var(--primary)}.layout-preview[data-v-521b0a67]{display:flex;gap:2px;width:44px;height:26px}.preview-col[data-v-521b0a67]{background:var(--border-color);border-radius:2px;min-width:0}.layout-btn.active .preview-col[data-v-521b0a67]{background:var(--primary)}.dashboard-columns[data-v-521b0a67]{display:grid;gap:.75rem;align-items:start}.dashboard-column[data-v-521b0a67]{display:flex;flex-direction:column;gap:.75rem;min-height:0;min-width:0}.column-drop-zone[data-v-521b0a67]{display:flex;flex-direction:column;gap:.75rem;min-height:80px;border-radius:10px;transition:background .15s}.column-drop-zone[data-v-521b0a67]:empty{border:2px dashed var(--border-color);opacity:.5}.widget-wrapper[data-v-521b0a67]{display:flex;flex-direction:column}.widget-ghost[data-v-521b0a67]{opacity:.4}.widget-drag[data-v-521b0a67]{opacity:.9;box-shadow:0 8px 24px #00000026;transform:rotate(1deg)}.widget-edit-bar[data-v-521b0a67]{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;background:var(--badge-bg);border-radius:8px 8px 0 0;border:1px dashed var(--border-color);border-bottom:none;font-size:.75rem;color:var(--text-muted)}.drag-handle[data-v-521b0a67]{cursor:grab;font-size:1rem;line-height:1;padding:0 .25rem;color:var(--text-muted);-webkit-user-select:none;user-select:none}.drag-handle[data-v-521b0a67]:active{cursor:grabbing}.widget-type-label[data-v-521b0a67]{font-weight:600;flex:1;margin-left:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-edit-actions[data-v-521b0a67]{display:flex;gap:.25rem;flex-shrink:0}.icon-btn[data-v-521b0a67]{background:none;border:1px solid var(--border-color);border-radius:4px;padding:.1rem .3rem;cursor:pointer;font-size:.75rem;line-height:1;color:var(--text-color)}.icon-btn[data-v-521b0a67]:hover{background:var(--badge-bg)}.icon-btn-danger[data-v-521b0a67]{color:#ef4444;border-color:#ef4444}.icon-btn-edit[data-v-521b0a67]{color:var(--primary, #6366f1);border-color:var(--primary, #6366f1)}.ef-config-overlay[data-v-521b0a67]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ef-config-panel[data-v-521b0a67]{position:relative;width:90%;max-width:700px;height:80vh;border-radius:12px;overflow:hidden}.column-add-btn[data-v-521b0a67]{border:2px dashed var(--border-color);background:none;color:var(--text-muted);border-radius:10px;padding:.6rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.column-add-btn[data-v-521b0a67]:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.add-widget-dialog[data-v-521b0a67]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--card-shadow)}.dialog-content h3[data-v-521b0a67]{margin:0 0 1rem;font-size:1rem;font-weight:600}.form-group[data-v-521b0a67]{margin-bottom:.75rem}.form-group label[data-v-521b0a67]{display:block;font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:.25rem}.form-group select[data-v-521b0a67],.form-group input[data-v-521b0a67]{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-color);font-size:.85rem}.source-toggle[data-v-521b0a67]{display:flex;gap:.25rem}.toggle-btn[data-v-521b0a67]{flex:1;padding:.4rem .6rem;border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .15s}.toggle-btn.active[data-v-521b0a67]{background:var(--primary);color:#fff;border-color:var(--primary)}.dialog-actions[data-v-521b0a67]{display:flex;gap:.5rem;margin-top:1rem}.btn[data-v-521b0a67]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;text-decoration:none;font-size:.85rem;font-weight:500;transition:opacity .15s}.btn[data-v-521b0a67]:active{opacity:.7}.btn-sm[data-v-521b0a67]{padding:.35rem .65rem;font-size:.8rem}.btn-primary[data-v-521b0a67]{background:var(--primary);color:#fff}.btn-secondary[data-v-521b0a67]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-danger[data-v-521b0a67]{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.empty-state[data-v-521b0a67]{text-align:center;padding:3rem 1.5rem;background:var(--bg-tertiary);border-radius:12px;color:var(--text-secondary)}@media(max-width:1024px){.dashboard-columns[data-v-521b0a67]{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){.dashboard-columns[data-v-521b0a67]{grid-template-columns:1fr!important}.page-header[data-v-521b0a67]{flex-direction:column}}.meter-card[data-v-1eb401d3]{background:var(--card-bg);border-radius:12px;box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow .2s,transform .15s}.meter-card[data-v-1eb401d3]:hover{box-shadow:var(--card-shadow-hover)}.meter-card[data-v-1eb401d3]:active{transform:scale(.98)}.card-link[data-v-1eb401d3]{display:block;padding:1.25rem;text-decoration:none;color:inherit}.card-header[data-v-1eb401d3]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-header h3[data-v-1eb401d3]{margin:0 0 .5rem;color:var(--text-color);flex:1;min-width:0}.card-header-actions[data-v-1eb401d3]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.favorite-btn[data-v-1eb401d3]{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.2rem .3rem;border-radius:6px;color:var(--text-muted);transition:color .15s;line-height:1}.favorite-btn[data-v-1eb401d3]:hover,.favorite-btn.active[data-v-1eb401d3]{color:#f59e0b}.meter-meta[data-v-1eb401d3]{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.badge[data-v-1eb401d3]{background:var(--badge-bg);padding:.2rem .5rem;border-radius:3px;font-size:.8rem;color:var(--text-muted)}.badge-system[data-v-1eb401d3]{background:var(--info-bg);color:var(--primary)}.unit[data-v-1eb401d3]{color:var(--primary);font-weight:500}.description[data-v-1eb401d3]{color:var(--text-muted);font-size:.9rem;margin:0}.card-chart[data-v-1eb401d3]{margin:.5rem 0 .75rem}.tag-row[data-v-1eb401d3]{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.5rem}.tag-badge[data-v-1eb401d3]{background:var(--badge-bg);padding:.15rem .45rem;border-radius:4px;font-size:.7rem;color:var(--text-muted)}.modal-overlay[data-v-8cad1d3c]{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[data-v-8cad1d3c]{background:var(--card-bg);border-radius:14px;padding:1.5rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal h2[data-v-8cad1d3c]{margin:0 0 1.5rem;color:var(--text-color)}.form-group[data-v-8cad1d3c]{margin-bottom:1rem}.form-group label[data-v-8cad1d3c]{display:block;margin-bottom:.25rem;font-weight:500;color:var(--text-secondary)}.form-group input[data-v-8cad1d3c],.form-group select[data-v-8cad1d3c],.form-group textarea[data-v-8cad1d3c]{width:100%;max-width:100%;padding:.5rem;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;background:var(--input-bg);color:var(--text-color)}.form-group input[data-v-8cad1d3c]:disabled{background:var(--bg-tertiary);color:var(--text-muted)}.form-group small[data-v-8cad1d3c]{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.85rem}.hint-fn[data-v-8cad1d3c]{border-bottom:1px dashed var(--text-muted);cursor:help}.form-actions[data-v-8cad1d3c]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.btn[data-v-8cad1d3c]{padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;font-size:1rem}.btn-primary[data-v-8cad1d3c]{background:var(--primary);color:var(--card-bg)}.btn-primary[data-v-8cad1d3c]:hover{background:var(--primary-dark)}.btn-secondary[data-v-8cad1d3c]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-8cad1d3c]:hover{opacity:.85}@media(max-width:900px){.modal[data-v-8cad1d3c]{max-width:100%;border-radius:10px;margin:0 .5rem}}.meter-selector[data-v-21925016]{position:relative}.selector-container[data-v-21925016]{display:flex;gap:.5rem}.meter-select[data-v-21925016]{flex:1;padding:.75rem;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;transition:border-color .2s}.meter-select[data-v-21925016]:focus{outline:none;border-color:var(--primary)}.btn-create[data-v-21925016]{padding:.75rem 1rem;background:var(--success);color:var(--card-bg);border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-create[data-v-21925016]:hover{opacity:.9}.dialog-overlay[data-v-21925016]{position:fixed;inset:0;background-color:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-content[data-v-21925016]{background:var(--card-bg);border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.dialog-header[data-v-21925016]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--separator-color)}.dialog-header h3[data-v-21925016]{margin:0;font-size:1.25rem;font-weight:600}.btn-close[data-v-21925016]{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.btn-close[data-v-21925016]:hover{background:var(--bg-tertiary)}.import-preview[data-v-5282546b]{margin-top:1.5rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.preview-header[data-v-5282546b]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);gap:1rem}.preview-meta[data-v-5282546b]{display:flex;align-items:center;gap:.75rem}.reading-count[data-v-5282546b]{font-size:.875rem;color:var(--text-muted)}.select-actions[data-v-5282546b]{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.divider[data-v-5282546b]{color:var(--separator-color)}.btn-link[data-v-5282546b]{background:none;border:none;cursor:pointer;color:var(--primary);padding:0;font-size:.875rem}.btn-link[data-v-5282546b]:hover{text-decoration:underline}.warnings[data-v-5282546b]{padding:.5rem 1rem;background:var(--warning-bg);border-bottom:1px solid var(--warning);font-size:.875rem;color:var(--text-color)}.table-wrapper[data-v-5282546b]{overflow-x:auto}table[data-v-5282546b]{width:100%;border-collapse:collapse;font-size:.9rem}thead tr[data-v-5282546b]{background:var(--bg-tertiary)}th[data-v-5282546b],td[data-v-5282546b]{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--separator-color)}th[data-v-5282546b]{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.col-check[data-v-5282546b]{width:2.5rem}tr.disabled td[data-v-5282546b]{opacity:.4}.cell-input[data-v-5282546b]{width:100%;background:transparent;border:1px solid transparent;border-radius:4px;padding:.25rem .4rem;font-size:.9rem;color:inherit;font-family:inherit}.cell-input[data-v-5282546b]:not(:disabled):hover,.cell-input[data-v-5282546b]:not(:disabled):focus{background:var(--input-bg);border-color:var(--primary);outline:none}.cell-input[data-v-5282546b]:disabled{cursor:default}.cell-value[data-v-5282546b]{max-width:120px}.confidence-badge[data-v-5282546b]{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600}.confidence-high[data-v-5282546b]{background:var(--success-bg);color:var(--success)}.confidence-medium[data-v-5282546b]{background:var(--warning-bg);color:var(--warning)}.confidence-low[data-v-5282546b]{background:var(--danger-bg);color:var(--danger)}.confidence-dot[data-v-5282546b]{font-size:1rem}.preview-footer[data-v-5282546b]{padding:.75rem 1rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;background:var(--bg-tertiary)}.btn[data-v-5282546b]{padding:.6rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer}.btn[data-v-5282546b]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-5282546b]{background:var(--primary);color:var(--card-bg)}.btn-primary[data-v-5282546b]:hover:not(:disabled){background:var(--primary-dark)}.modal-backdrop[data-v-98aa942e]{position:fixed;inset:0;background:var(--overlay-bg);z-index:90}.modal-container[data-v-98aa942e]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:640px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 16px 48px #0003,0 4px 12px #0000001a;z-index:95;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-98aa942e]{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--separator-color);gap:1rem}.modal-header h2[data-v-98aa942e]{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.subtitle[data-v-98aa942e]{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem;line-height:1.4}.btn-close[data-v-98aa942e]{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;transition:background .15s}.btn-close[data-v-98aa942e]:hover{background:var(--badge-bg)}.modal-body[data-v-98aa942e]{padding:1.25rem;overflow-y:auto;flex:1;min-height:0}.notice[data-v-98aa942e]{padding:.875rem 1rem;border-radius:10px;font-size:.9rem}.notice-warn[data-v-98aa942e]{background:var(--warning-bg);border:1px solid var(--warning);color:var(--text-color)}.notice code[data-v-98aa942e]{background:var(--badge-bg);padding:.1em .4em;border-radius:4px;font-size:.85em}.form-section[data-v-98aa942e]{display:flex;flex-direction:column;gap:1rem}.field[data-v-98aa942e]{display:flex;flex-direction:column;gap:.35rem}.field-label[data-v-98aa942e]{font-weight:600;font-size:.85rem;color:var(--text-secondary)}.required[data-v-98aa942e]{color:var(--danger)}.data-textarea[data-v-98aa942e]{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:10px;font-size:.9rem;font-family:SF Mono,JetBrains Mono,Fira Mono,monospace;resize:vertical;box-sizing:border-box;color:var(--text-color);background:var(--input-bg)}.data-textarea[data-v-98aa942e]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.file-row[data-v-98aa942e]{display:flex;align-items:center;gap:.75rem;margin-top:.4rem;flex-wrap:wrap}.file-label[data-v-98aa942e]{cursor:pointer}.file-input-hidden[data-v-98aa942e]{display:none}.file-name[data-v-98aa942e]{font-size:.8rem;color:var(--text-muted)}.image-preview-row[data-v-98aa942e]{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.image-preview[data-v-98aa942e]{max-width:100%;max-height:160px;border-radius:10px;border:1px solid var(--border-color);object-fit:contain}.help[data-v-98aa942e]{font-size:.8rem;color:var(--text-muted);margin:0}.btn[data-v-98aa942e]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;border:none;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-98aa942e]:active{opacity:.7}.btn[data-v-98aa942e]:disabled{opacity:.4;cursor:not-allowed}.btn-primary[data-v-98aa942e]{background:var(--primary);color:#fff}.btn-primary[data-v-98aa942e]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-98aa942e]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-98aa942e]:hover:not(:disabled){background:var(--bg-tertiary)}.btn-sm[data-v-98aa942e]{padding:.4rem .85rem;font-size:.8rem}.error-msg[data-v-98aa942e]{color:var(--danger);font-size:.9rem;margin:0}.import-result[data-v-98aa942e]{margin-top:1rem;padding:.875rem 1rem;border-radius:10px;font-size:.9rem}.import-result.success[data-v-98aa942e]{background:var(--success-bg);color:var(--success)}.import-result.warn[data-v-98aa942e]{background:var(--warning-bg);color:var(--warning)}.error-list[data-v-98aa942e]{margin:.5rem 0 0;padding-left:1.25rem;font-size:.85rem}.modal-backdrop-enter-active[data-v-98aa942e],.modal-backdrop-leave-active[data-v-98aa942e]{transition:opacity .2s ease}.modal-backdrop-enter-from[data-v-98aa942e],.modal-backdrop-leave-to[data-v-98aa942e]{opacity:0}.modal-enter-active[data-v-98aa942e]{transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.modal-leave-active[data-v-98aa942e]{transition:opacity .15s ease,transform .15s ease}.modal-enter-from[data-v-98aa942e]{opacity:0;transform:translate(-50%,-50%) scale(.95)}.modal-leave-to[data-v-98aa942e]{opacity:0;transform:translate(-50%,-50%) scale(.98)}@media(max-width:900px){.modal-container[data-v-98aa942e]{width:calc(100vw - 1rem);max-height:calc(100vh - 2rem)}.btn[data-v-98aa942e]{width:100%;height:44px}}.meters-page[data-v-ce21fe0e]{padding:1rem}.page-header[data-v-ce21fe0e]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-actions[data-v-ce21fe0e]{display:flex;gap:.5rem;padding-top:4px;flex-shrink:0}.page-header h1[data-v-ce21fe0e]{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.meter-grid[data-v-ce21fe0e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.meter-groups[data-v-ce21fe0e]{display:flex;flex-direction:column;gap:1.5rem}.meter-group[data-v-ce21fe0e]{display:flex;flex-direction:column;gap:.75rem}.group-title[data-v-ce21fe0e]{margin:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.empty-state[data-v-ce21fe0e]{text-align:center;padding:2.5rem 1.5rem;background:var(--bg-tertiary);border-radius:12px;color:var(--text-secondary)}.error[data-v-ce21fe0e]{background:var(--danger-bg);color:var(--danger);padding:.875rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.loading[data-v-ce21fe0e]{text-align:center;padding:2rem;color:var(--text-muted)}.btn[data-v-ce21fe0e]{padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s;white-space:nowrap}.btn[data-v-ce21fe0e]:active{opacity:.7}.btn-primary[data-v-ce21fe0e]{background:var(--primary);color:#fff}.btn-primary[data-v-ce21fe0e]:hover{background:var(--primary-dark)}.btn-secondary[data-v-ce21fe0e]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-ce21fe0e]:hover{background:var(--bg-tertiary)}@media(max-width:900px){.meters-page[data-v-ce21fe0e]{padding:.875rem}.page-header[data-v-ce21fe0e]{flex-direction:column;gap:.75rem}.header-actions[data-v-ce21fe0e]{width:100%}.header-actions .btn[data-v-ce21fe0e]{flex:1;justify-content:center;display:inline-flex;align-items:center;height:44px}.meter-grid[data-v-ce21fe0e]{grid-template-columns:1fr}}.reading-list[data-v-61224d8d]{max-height:500px;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.empty-state[data-v-61224d8d]{text-align:center;padding:2rem;color:var(--text-muted)}table[data-v-61224d8d]{width:100%;border-collapse:collapse}th[data-v-61224d8d],td[data-v-61224d8d]{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--separator-color)}th[data-v-61224d8d]{font-weight:500;color:var(--text-muted);font-size:.9rem}.note[data-v-61224d8d]{color:var(--text-muted);font-size:.9rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-icon[data-v-61224d8d]{cursor:pointer;margin-right:.25rem;font-size:.85rem;opacity:.7;transition:opacity .15s}.photo-icon[data-v-61224d8d]:hover{opacity:1}.actions[data-v-61224d8d]{text-align:right;white-space:nowrap}.btn-icon[data-v-61224d8d]{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1rem;opacity:.6;border-radius:10px}.btn-icon[data-v-61224d8d]:hover{opacity:1}.meter-change[data-v-61224d8d]{background:var(--warning-bg)}.change-badge[data-v-61224d8d]{display:inline-block;background:var(--warning);color:var(--text-color);padding:.15rem .4rem;border-radius:12px;font-size:.75rem;margin-left:.5rem}@media(max-width:900px){.reading-list[data-v-61224d8d]{overflow-x:auto;-webkit-overflow-scrolling:touch}table[data-v-61224d8d]{min-width:600px}}.image-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal{background:var(--card-bg);border-radius:12px;padding:1rem;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem}.image-modal img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px}.close-btn{padding:.5rem 1.5rem;background:var(--text-muted);color:var(--card-bg);border:none;border-radius:10px;cursor:pointer;font-size:.9rem}.close-btn:hover{background:var(--bg-tertiary)}.modal-overlay[data-v-d4f94ff1]{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[data-v-d4f94ff1]{background:var(--card-bg);border-radius:14px;padding:1.5rem;width:100%;max-width:400px}.modal h2[data-v-d4f94ff1]{margin:0 0 1.5rem;color:var(--text-color)}.form-group[data-v-d4f94ff1]{margin-bottom:1rem}.form-group label[data-v-d4f94ff1]{display:block;margin-bottom:.25rem;font-weight:500;color:var(--text-muted)}.form-group input[data-v-d4f94ff1]{width:100%;padding:.5rem;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;background:var(--input-bg);color:var(--text-color)}.form-actions[data-v-d4f94ff1]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.btn[data-v-d4f94ff1]{padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;font-size:1rem}.btn[data-v-d4f94ff1]:active{opacity:.7}.btn-primary[data-v-d4f94ff1]{background:var(--primary);color:var(--card-bg)}.btn-primary[data-v-d4f94ff1]:hover{background:var(--primary-dark)}.btn-secondary[data-v-d4f94ff1]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-d4f94ff1]:hover{opacity:.85}@media(max-width:900px){.modal[data-v-d4f94ff1]{max-width:100%}}.meter-detail[data-v-5adc62b6]{padding:1rem}.page-header[data-v-5adc62b6]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:.75rem}.page-header h1[data-v-5adc62b6]{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.meter-info[data-v-5adc62b6]{color:var(--text-muted);margin:0;font-size:.9rem}.meter-formula[data-v-5adc62b6]{margin:.5rem 0 0;color:var(--text-muted);font-size:.9rem}.meter-formula code[data-v-5adc62b6]{background:var(--bg-tertiary);color:var(--text-secondary);padding:.15rem .35rem;border-radius:6px;font-size:.85rem}.content-grid[data-v-5adc62b6]{display:grid;grid-template-columns:1fr 380px;gap:1rem}.content-grid--full[data-v-5adc62b6]{grid-template-columns:1fr}.section-title[data-v-5adc62b6]{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.chart-section[data-v-5adc62b6],.readings-section[data-v-5adc62b6]{background:var(--card-bg);padding:1.25rem;border-radius:12px;box-shadow:var(--card-shadow)}.section-header[data-v-5adc62b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}.section-header h2[data-v-5adc62b6]{margin:0;font-size:1.1rem;font-weight:600}.consumption-controls[data-v-5adc62b6]{display:flex;align-items:center;gap:.5rem}.span-toggle[data-v-5adc62b6]{display:inline-flex;align-items:center;gap:.25rem}.trb-btn[data-v-5adc62b6]{border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;padding:.3rem .6rem;font-size:.8rem;cursor:pointer;transition:all .15s}.trb-btn.active[data-v-5adc62b6]{background:var(--primary);color:#fff;border-color:var(--primary)}.trb-btn[data-v-5adc62b6]:active{opacity:.7}.consumption-table[data-v-5adc62b6]{margin-top:1.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.consumption-table table[data-v-5adc62b6]{width:100%;border-collapse:collapse}.consumption-table th[data-v-5adc62b6],.consumption-table td[data-v-5adc62b6]{padding:.5rem .625rem;text-align:left;border-bottom:1px solid var(--separator-color);font-size:.9rem}.consumption-table th[data-v-5adc62b6]{font-weight:600;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.consumption-table tfoot td[data-v-5adc62b6]{border-top:2px solid var(--border-color);border-bottom:none}.empty-state[data-v-5adc62b6],.loading[data-v-5adc62b6]{text-align:center;padding:2rem;color:var(--text-muted)}.btn[data-v-5adc62b6]{padding:.5rem 1rem;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s;white-space:nowrap}.btn[data-v-5adc62b6]:active{opacity:.7}.btn-primary[data-v-5adc62b6]{background:var(--primary);color:#fff}.btn-primary[data-v-5adc62b6]:hover{background:var(--primary-dark)}.live-card[data-v-5adc62b6]{background:var(--card-bg);border-radius:12px;box-shadow:var(--card-shadow);padding:1.25rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.live-card-value[data-v-5adc62b6]{display:flex;align-items:baseline;gap:.4rem}.live-card-number[data-v-5adc62b6]{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;line-height:1;transition:color .15s}.live-card-unit[data-v-5adc62b6]{font-size:1.1rem;color:var(--text-muted);font-weight:500}.live-card-meta[data-v-5adc62b6]{display:flex;align-items:center;gap:.6rem}.live-badge[data-v-5adc62b6]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#22c55e;background:#22c55e1f;border-radius:6px;padding:.15rem .45rem;animation:pulse-live-5adc62b6 2s infinite}@keyframes pulse-live-5adc62b6{0%,to{opacity:1}50%{opacity:.5}}.live-card-time[data-v-5adc62b6]{font-size:.85rem;color:var(--text-muted)}.meter-meta-row[data-v-5adc62b6]{margin-top:.5rem}.favorite-toggle[data-v-5adc62b6]{background:none;border:1px solid var(--border-color);border-radius:6px;padding:.25rem .6rem;cursor:pointer;font-size:.8rem;color:var(--text-muted);transition:color .15s,border-color .15s}.favorite-toggle[data-v-5adc62b6]:hover,.favorite-toggle.active[data-v-5adc62b6]{color:#f59e0b;border-color:#f59e0b}.meter-hints[data-v-5adc62b6]{margin-top:.5rem}.meter-hint[data-v-5adc62b6]{margin:.15rem 0;font-size:.8rem;color:var(--text-muted)}.tags-section[data-v-5adc62b6]{margin-top:.75rem}.tags-label[data-v-5adc62b6]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.tags-editor[data-v-5adc62b6]{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;align-items:center}.tag-badge[data-v-5adc62b6]{display:inline-flex;align-items:center;gap:.2rem;background:var(--badge-bg);padding:.2rem .5rem;border-radius:5px;font-size:.8rem;color:var(--text-muted)}.tag-badge.removable[data-v-5adc62b6]:hover{background:var(--separator-color)}.tag-remove[data-v-5adc62b6]{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:0;margin-left:.1rem;opacity:.6}.tag-remove[data-v-5adc62b6]:hover{opacity:1;color:var(--danger)}.tag-input-wrap[data-v-5adc62b6]{position:relative}.tag-input[data-v-5adc62b6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;padding:.2rem .5rem;font-size:.8rem;color:var(--text-color);width:140px}.tag-input[data-v-5adc62b6]:focus{outline:none;border-color:var(--primary)}.tag-suggestions[data-v-5adc62b6]{position:absolute;top:100%;left:0;margin-top:2px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:20;min-width:140px;max-height:120px;overflow-y:auto}.tag-suggestion[data-v-5adc62b6]{display:block;width:100%;padding:.35rem .6rem;border:none;background:none;text-align:left;font-size:.8rem;color:var(--text-color);cursor:pointer}.tag-suggestion[data-v-5adc62b6]:hover{background:var(--badge-bg)}@media(max-width:900px){.meter-detail[data-v-5adc62b6]{padding:.875rem}.content-grid[data-v-5adc62b6]{grid-template-columns:1fr}.page-header[data-v-5adc62b6]{flex-direction:column;gap:.5rem}.page-header .btn[data-v-5adc62b6]{width:100%;justify-content:center;display:inline-flex;align-items:center;height:44px}.section-header[data-v-5adc62b6]{flex-direction:column;align-items:flex-start;gap:.5rem}.consumption-controls[data-v-5adc62b6]{flex-wrap:wrap;width:100%}.chart-section[data-v-5adc62b6],.readings-section[data-v-5adc62b6]{padding:1rem}}.series-form[data-v-ebbdbce0]{background:var(--card-bg);border-radius:16px;border:1px solid var(--border-color);padding:1.5rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 12px 30px #0f172a14}.form-header[data-v-ebbdbce0]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.eyebrow[data-v-ebbdbce0]{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.form-header h3[data-v-ebbdbce0]{margin:0;font-size:1.25rem}.form-header p[data-v-ebbdbce0]{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem}.form-body[data-v-ebbdbce0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.form-section[data-v-ebbdbce0]{display:flex;flex-direction:column;gap:.75rem}.section-card[data-v-ebbdbce0]{background:var(--bg-primary);border-radius:14px;border:1px solid var(--border-color);padding:1rem}.section-title[data-v-ebbdbce0]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.form-grid[data-v-ebbdbce0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.form-group[data-v-ebbdbce0]{display:flex;flex-direction:column;gap:.5rem}.span-2[data-v-ebbdbce0]{grid-column:span 2}.checkbox-label[data-v-ebbdbce0]{display:inline-flex;gap:.5rem;align-items:center;font-weight:500;color:var(--text-secondary)}.info-tooltip[data-v-ebbdbce0]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--border-color);font-size:.75rem;color:var(--text-muted);cursor:help}.form-group label[data-v-ebbdbce0]{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.hint[data-v-ebbdbce0]{color:var(--text-secondary);font-size:.8rem}.muted[data-v-ebbdbce0]{color:var(--text-muted);font-size:.8rem}.trend-list[data-v-ebbdbce0]{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);max-height:180px;overflow-y:auto}.trend-item[data-v-ebbdbce0]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-color)}.form-group select[data-v-ebbdbce0],.form-group input[data-v-ebbdbce0]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);font-size:.95rem}.range-groupby[data-v-ebbdbce0]{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.form-group select[data-v-ebbdbce0]:disabled,.form-group input[data-v-ebbdbce0]:disabled{opacity:.6;cursor:not-allowed}.toggle-group[data-v-ebbdbce0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.35rem;padding:.35rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px}.date-range[data-v-ebbdbce0]{display:flex;align-items:center;gap:.4rem}.date-range input[data-v-ebbdbce0]{min-width:140px}.date-separator[data-v-ebbdbce0]{color:var(--text-muted)}.toggle-btn[data-v-ebbdbce0]{padding:.5rem 1rem;border:none;background:transparent;font-size:.875rem;cursor:pointer;transition:background-color .2s,color .2s;border-radius:10px;font-weight:600}.toggle-btn.active[data-v-ebbdbce0]{background:var(--primary);color:#fff;box-shadow:0 6px 14px var(--primary-light)}.toggle-btn[data-v-ebbdbce0]:hover:not(.active){background:var(--bg-tertiary)}.btn[data-v-ebbdbce0]{padding:.5rem 1rem;border:none;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary[data-v-ebbdbce0]{background:var(--primary);color:#fff}.btn-primary[data-v-ebbdbce0]:hover:not(:disabled){background:var(--primary-dark)}.btn-primary[data-v-ebbdbce0]:disabled{opacity:.4;cursor:not-allowed}.series-error[data-v-ebbdbce0]{color:var(--danger);font-size:.8rem}@media(max-width:700px){.form-header[data-v-ebbdbce0]{flex-direction:column;align-items:stretch}.form-header .btn[data-v-ebbdbce0]{width:100%;justify-content:center}.span-2[data-v-ebbdbce0]{grid-column:span 1}}.series-list[data-v-bdbfe05d]{margin-bottom:1.5rem}.empty-message[data-v-bdbfe05d]{color:var(--text-muted);font-size:.9rem;text-align:center;padding:1rem}.series-items[data-v-bdbfe05d]{display:flex;flex-direction:column;gap:.5rem}.series-toolbar[data-v-bdbfe05d]{display:flex;justify-content:flex-end;gap:.5rem}.btn[data-v-bdbfe05d]{padding:.5rem 1rem;border:none;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary[data-v-bdbfe05d]{background:var(--primary);color:var(--card-bg)}.btn-primary[data-v-bdbfe05d]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-bdbfe05d]{background:var(--bg-secondary);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-bdbfe05d]:hover{background:var(--bg-tertiary)}.series-item[data-v-bdbfe05d]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:12px;font-size:.9rem}.series-item.editing[data-v-bdbfe05d]{flex-direction:column;align-items:stretch;gap:1rem;background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--card-shadow)}.series-edit-header[data-v-bdbfe05d]{display:flex;align-items:center;gap:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.series-period-edit[data-v-bdbfe05d]{display:flex;gap:1rem;align-items:flex-end;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.period-toggle[data-v-bdbfe05d]{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.period-btn[data-v-bdbfe05d]{padding:.35rem .75rem;border:none;background:transparent;font-size:.8rem;cursor:pointer;border-radius:6px;font-weight:600;color:var(--text-secondary)}.period-btn.active[data-v-bdbfe05d]{background:var(--primary);color:#fff}.period-btn[data-v-bdbfe05d]:hover:not(.active){background:var(--bg-secondary)}.date-range-edit[data-v-bdbfe05d]{display:flex;align-items:center;gap:.4rem}.date-sep[data-v-bdbfe05d]{color:var(--text-muted)}.series-edit-grid[data-v-bdbfe05d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.field[data-v-bdbfe05d]{display:flex;flex-direction:column;gap:.4rem}.field label[data-v-bdbfe05d]{font-size:.8rem;color:var(--text-secondary);font-weight:600}.span-2[data-v-bdbfe05d]{grid-column:span 2}.color-dot[data-v-bdbfe05d]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.series-name[data-v-bdbfe05d]{font-weight:500}.series-input[data-v-bdbfe05d]{font-weight:500;border:1px solid var(--border-color);border-radius:6px;padding:.25rem .4rem;background:var(--bg-primary);color:var(--text-color);font-size:.9rem}.series-select[data-v-bdbfe05d]{border:1px solid var(--border-color);border-radius:6px;padding:.35rem .5rem;background:var(--bg-primary);font-size:.9rem}.series-year[data-v-bdbfe05d]{color:var(--text-secondary)}.series-multiplier[data-v-bdbfe05d]{font-size:.8rem;padding:.2rem .5rem;background:var(--warning-bg);border-radius:4px;color:var(--warning);font-weight:500}.series-type[data-v-bdbfe05d]{font-size:.8rem;padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary)}.series-tag[data-v-bdbfe05d]{font-size:.8rem;padding:.2rem .5rem;background:var(--info-bg);border-radius:4px;color:var(--primary)}.series-tag--trend[data-v-bdbfe05d]{background:var(--primary-light);color:var(--primary)}.series-tag--channel[data-v-bdbfe05d]{background:var(--badge-bg);color:var(--text-secondary);font-size:.75rem}.series-toggle[data-v-bdbfe05d]{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-secondary)}.info-tooltip[data-v-bdbfe05d]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--border-color);font-size:.75rem;color:var(--text-muted);cursor:help}.series-unit[data-v-bdbfe05d]{color:var(--text-muted);font-size:.85rem}.series-collapsible[data-v-bdbfe05d]{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.collapse-toggle[data-v-bdbfe05d]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--text-secondary);width:100%;text-align:left}.collapse-toggle[data-v-bdbfe05d]:hover{background:var(--bg-secondary)}.series-collapsible>.series-items[data-v-bdbfe05d]{padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.5rem}.chevron[data-v-bdbfe05d]{display:inline-block;font-size:1rem;font-weight:600;color:var(--text-muted);transition:transform .2s}.chevron.expanded[data-v-bdbfe05d]{transform:rotate(90deg)}.collapse-summary[data-v-bdbfe05d]{font-weight:500}.collapse-dots[data-v-bdbfe05d]{display:inline-flex;gap:.25rem;margin-left:auto;flex-wrap:wrap}.color-dot-sm[data-v-bdbfe05d]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.remove-btn[data-v-bdbfe05d]{margin-left:auto;width:24px;height:24px;border:none;background:none;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;border-radius:4px;transition:background-color .2s,color .2s}.remove-btn[data-v-bdbfe05d]:hover{background:var(--danger);color:var(--card-bg)}@media(max-width:900px){.series-edit-grid[data-v-bdbfe05d]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.span-2[data-v-bdbfe05d]{grid-column:span 1}.series-period-edit[data-v-bdbfe05d]{flex-direction:column;align-items:stretch}.date-range-edit[data-v-bdbfe05d]{flex-direction:column}}.color-swatches[data-v-bdbfe05d]{display:flex;flex-wrap:wrap;gap:.3rem}.color-swatch[data-v-bdbfe05d]{width:22px;height:22px;border-radius:5px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s;padding:0}.color-swatch.active[data-v-bdbfe05d]{border-color:var(--text-color);transform:scale(1.15)}.color-swatch[data-v-bdbfe05d]:hover{transform:scale(1.1)}.chart-wrapper[data-v-16d7fac8]{height:400px}.empty-state[data-v-16d7fac8]{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.95rem}.comparison[data-v-d309e9b4]{padding:1rem;display:flex;flex-direction:column;gap:1.25rem;position:relative}.page-header[data-v-d309e9b4]{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem}.page-title[data-v-d309e9b4]{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.title-block[data-v-d309e9b4]{display:flex;flex-direction:column;gap:.25rem}.page-actions[data-v-d309e9b4]{display:flex;gap:.5rem;flex-shrink:0}.panel[data-v-d309e9b4]{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);padding:1.125rem;box-shadow:var(--card-shadow)}.panel-header[data-v-d309e9b4]{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.panel-actions[data-v-d309e9b4]{display:flex;gap:.5rem;flex-shrink:0;align-self:center}.panel-header h2[data-v-d309e9b4]{margin:0;font-size:1.05rem;font-weight:600}.panel-header p[data-v-d309e9b4]{margin:.2rem 0 0;color:var(--text-muted);font-size:.85rem}.loading[data-v-d309e9b4]{text-align:center;padding:.75rem;color:var(--text-muted)}.table-scroll[data-v-d309e9b4]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1.125rem;padding:0 1.125rem}.report-table table[data-v-d309e9b4]{width:100%;border-collapse:collapse;min-width:0;table-layout:fixed}.report-table th[data-v-d309e9b4],.report-table td[data-v-d309e9b4]{padding:.625rem .75rem;border-bottom:1px solid var(--separator-color);text-align:right;white-space:normal;font-size:.85rem}.report-table th[data-v-d309e9b4]{text-align:left;background:var(--bg-secondary);font-weight:600;position:sticky;top:0;z-index:2;font-size:.8rem;color:var(--text-secondary)}.report-table .row-label[data-v-d309e9b4]{text-align:left;font-weight:600}.series-header[data-v-d309e9b4]{display:flex;align-items:center;gap:.35rem}.series-title[data-v-d309e9b4]{font-weight:600;text-align:left}.series-unit[data-v-d309e9b4]{color:var(--text-muted);font-weight:500}.empty-cell[data-v-d309e9b4]{color:var(--text-muted)}.totals[data-v-d309e9b4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.625rem}.total-card[data-v-d309e9b4]{padding:.875rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);border-left:4px solid}.total-header[data-v-d309e9b4]{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.color-dot[data-v-d309e9b4]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.total-name[data-v-d309e9b4]{font-size:.8rem;color:var(--text-muted)}.multiplier-badge[data-v-d309e9b4]{font-size:.7rem;padding:.1rem .35rem;background:var(--warning-bg);color:var(--warning);border-radius:4px;font-weight:600}.total-value[data-v-d309e9b4]{font-size:1.15rem;font-weight:700;margin:0}.modal-overlay[data-v-d309e9b4]{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[data-v-d309e9b4]{background:var(--card-bg);padding:1.25rem;border-radius:14px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.modal h3[data-v-d309e9b4]{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.modal .form-group[data-v-d309e9b4]{margin-bottom:1rem}.modal .form-group label[data-v-d309e9b4]{display:block;font-size:.8rem;font-weight:500;margin-bottom:.4rem;color:var(--text-muted)}.modal .form-group input[data-v-d309e9b4]{width:100%;padding:.6rem .75rem;border:1px solid var(--input-border);border-radius:10px;font-size:.95rem;background:var(--input-bg);color:var(--text-color)}.modal-actions[data-v-d309e9b4]{display:flex;justify-content:flex-end;gap:.5rem}.modal-actions .btn[data-v-d309e9b4]{min-width:100px}.modal .btn-primary[data-v-d309e9b4]{background:var(--primary);color:#fff;border:1px solid transparent}.modal .btn-secondary[data-v-d309e9b4]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn[data-v-d309e9b4]{padding:.5rem 1rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-d309e9b4]:active{opacity:.7}.btn-primary[data-v-d309e9b4]{background:var(--primary);color:#fff}.btn-primary[data-v-d309e9b4]:hover:not(:disabled){background:var(--primary-dark)}.btn-primary[data-v-d309e9b4]:disabled{opacity:.4;cursor:not-allowed}.btn-secondary[data-v-d309e9b4]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-d309e9b4]:hover{background:var(--bg-tertiary)}@media(max-width:900px){.comparison[data-v-d309e9b4]{padding:.875rem;gap:1rem}.page-header[data-v-d309e9b4]{flex-direction:column;align-items:flex-start}.page-actions[data-v-d309e9b4]{width:100%}.page-actions .btn[data-v-d309e9b4]{flex:1;text-align:center;justify-content:center;display:inline-flex;align-items:center;height:44px}.panel[data-v-d309e9b4]{padding:.875rem}.table-scroll[data-v-d309e9b4]{margin:0 -.875rem;padding:0 .875rem}.report-table th[data-v-d309e9b4],.report-table td[data-v-d309e9b4]{padding:.4rem .5rem;font-size:.78rem}.report-table th .series-header[data-v-d309e9b4]{writing-mode:vertical-rl;transform:rotate(180deg);align-items:flex-start;gap:.2rem;height:120px}.totals[data-v-d309e9b4]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.modal[data-v-d309e9b4]{margin:auto .5rem}.modal-actions[data-v-d309e9b4]{flex-direction:column}.modal-actions .btn[data-v-d309e9b4]{width:100%;min-width:0;height:44px;justify-content:center;display:inline-flex;align-items:center}}.settings-layout[data-v-ba274ccc]{padding:1rem;max-width:1200px}.settings-layout h1[data-v-ba274ccc]{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.settings-tabs[data-v-ba274ccc]{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--separator-color);padding-bottom:0}.tab[data-v-ba274ccc]{padding:.5rem 1rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}.tab[data-v-ba274ccc]:hover{color:var(--text-color)}.tab.active[data-v-ba274ccc]{color:var(--primary);border-bottom-color:var(--primary)}@media(max-width:900px){.settings-layout[data-v-ba274ccc]{padding:.875rem}.settings-tabs[data-v-ba274ccc]{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab[data-v-ba274ccc]{white-space:nowrap;flex-shrink:0}}.settings-page[data-v-82a55521]{max-width:800px}.settings-section[data-v-82a55521]{background:var(--card-bg);padding:1.25rem;border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:1.25rem}.settings-section h2[data-v-82a55521]{margin-top:0;font-size:1.1rem;font-weight:600}.description[data-v-82a55521]{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.description code[data-v-82a55521]{background:var(--badge-bg);color:var(--text-secondary);padding:.15rem .4rem;border-radius:4px}.info-grid[data-v-82a55521]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.info-item[data-v-82a55521]{display:flex;flex-direction:column;gap:.25rem}.info-label[data-v-82a55521]{font-size:.8rem;color:var(--text-muted)}.info-value[data-v-82a55521]{font-size:1.1rem;font-weight:600}.button-group[data-v-82a55521]{display:flex;gap:.75rem}.btn[data-v-82a55521]{padding:.6rem 1.25rem;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn[data-v-82a55521]:active{opacity:.7}.btn[data-v-82a55521]:disabled{opacity:.4;cursor:not-allowed}.btn-primary[data-v-82a55521]{background:var(--primary);color:#fff}.btn-primary[data-v-82a55521]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-82a55521]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-82a55521]:hover:not(:disabled){background:var(--bg-tertiary)}.message[data-v-82a55521]{padding:.875rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.message.success[data-v-82a55521]{background:var(--success-bg);color:var(--success)}.message.error[data-v-82a55521]{background:var(--danger-bg);color:var(--danger)}.s3-form .form-grid[data-v-82a55521]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.form-group[data-v-82a55521]{display:flex;flex-direction:column;gap:.25rem}.form-group label[data-v-82a55521]{font-size:.8rem;font-weight:500;color:var(--text-muted)}.form-group input[data-v-82a55521],.form-group select[data-v-82a55521]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-size:.9rem}.form-check[data-v-82a55521]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.hint[data-v-82a55521]{font-size:.75rem;color:var(--text-muted);font-weight:400}.s3-status h3[data-v-82a55521],.s3-form+div h3[data-v-82a55521]{font-size:.95rem;font-weight:600;margin:0 0 .75rem}.status-badge[data-v-82a55521]{display:inline-block;padding:.15rem .5rem;border-radius:6px;font-size:.8rem;font-weight:500}.status-idle[data-v-82a55521]{background:var(--badge-bg);color:var(--text-muted)}.status-running[data-v-82a55521]{background:var(--primary-bg, #eff6ff);color:var(--primary)}.status-completed[data-v-82a55521]{background:var(--success-bg);color:var(--success)}.status-failed[data-v-82a55521]{background:var(--danger-bg);color:var(--danger)}.history-table[data-v-82a55521]{width:100%;border-collapse:collapse;font-size:.85rem}.history-table th[data-v-82a55521]{text-align:left;padding:.5rem;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-weight:500}.history-table td[data-v-82a55521]{padding:.5rem;border-bottom:1px solid var(--border-color)}.type-badge[data-v-82a55521]{padding:.1rem .4rem;border-radius:4px;font-size:.75rem;font-weight:500}.type-badge.full[data-v-82a55521]{background:var(--primary-bg, #eff6ff);color:var(--primary)}.type-badge.delta[data-v-82a55521]{background:var(--badge-bg);color:var(--text-secondary)}.generation-row[data-v-82a55521]{cursor:pointer}.generation-row[data-v-82a55521]:hover{background:var(--hover-bg, rgba(0,0,0,.03))}.expand-icon[data-v-82a55521]{display:inline-block;width:1rem;font-size:.7rem;color:var(--text-muted)}.gen-size-hint[data-v-82a55521]{margin-left:.5rem;font-size:.75rem;color:var(--text-muted)}.delta-row[data-v-82a55521]{background:var(--hover-bg, rgba(0,0,0,.02))}.delta-row td[data-v-82a55521]{font-size:.8rem;color:var(--text-secondary)}.btn-icon[data-v-82a55521]{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1rem;color:var(--text-muted);border-radius:4px}.btn-icon[data-v-82a55521]:hover{background:var(--hover-bg, rgba(0,0,0,.06));color:var(--text-color)}.modal-overlay[data-v-82a55521]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.preview-modal[data-v-82a55521]{background:var(--card-bg);border-radius:12px;box-shadow:0 8px 32px #0003;width:90vw;max-width:1200px;max-height:80vh;display:flex;flex-direction:column}.modal-header[data-v-82a55521]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-82a55521]{margin:0;font-size:1rem}.modal-header .btn-icon[data-v-82a55521]{font-size:1.5rem}.modal-body[data-v-82a55521]{padding:1rem 1.25rem;overflow:auto;flex:1}.preview-controls[data-v-82a55521]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.preview-controls label[data-v-82a55521]{font-weight:500;font-size:.9rem}.preview-controls select[data-v-82a55521]{padding:.4rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-size:.85rem;min-width:200px}.preview-loading[data-v-82a55521]{text-align:center;padding:2rem;color:var(--text-muted)}.preview-pagination[data-v-82a55521]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.preview-info[data-v-82a55521]{font-size:.8rem;color:var(--text-muted)}.preview-page-controls[data-v-82a55521]{display:flex;align-items:center;gap:.5rem}.preview-page-info[data-v-82a55521]{font-size:.8rem;color:var(--text-muted);min-width:4rem;text-align:center}.btn-sm[data-v-82a55521]{padding:.2rem .5rem;font-size:.85rem;min-width:2rem}.preview-table-wrapper[data-v-82a55521]{overflow:auto;max-height:55vh}.preview-table[data-v-82a55521]{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}.preview-table th[data-v-82a55521]{position:sticky;top:0;background:var(--card-bg);text-align:left;padding:.4rem .6rem;border-bottom:2px solid var(--border-color);color:var(--text-muted);font-weight:600;font-size:.75rem}.preview-table td[data-v-82a55521]{padding:.35rem .6rem;border-bottom:1px solid var(--border-color);max-width:300px;overflow:hidden;text-overflow:ellipsis}.preview-table tbody tr[data-v-82a55521]:hover{background:var(--hover-bg, rgba(0,0,0,.03))}.preview-empty[data-v-82a55521]{text-align:center;padding:2rem;color:var(--text-muted)}@media(max-width:900px){.button-group[data-v-82a55521]{flex-direction:column}.button-group .btn[data-v-82a55521]{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center}.s3-form .form-grid[data-v-82a55521]{grid-template-columns:1fr}}.household-page[data-v-bfba97b4]{max-width:800px}.settings-section[data-v-bfba97b4]{background:var(--card-bg);padding:1.25rem;border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:1.25rem}.settings-section h2[data-v-bfba97b4]{margin-top:0;font-size:1.1rem;font-weight:600}.description[data-v-bfba97b4]{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.button-group[data-v-bfba97b4]{display:flex;gap:.75rem}.field-grid[data-v-bfba97b4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem;margin-bottom:1rem}.field-grid label[data-v-bfba97b4]{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.field-grid input[data-v-bfba97b4],.field-grid select[data-v-bfba97b4]{padding:.5rem .6rem;border:1px solid var(--input-border);border-radius:10px;font-size:.95rem;background:var(--input-bg);color:var(--text-color)}.redirect-card[data-v-bfba97b4]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:10px}.redirect-card p[data-v-bfba97b4]{color:var(--text-muted);font-size:.9rem;margin:0}.btn[data-v-bfba97b4]{padding:.6rem 1.25rem;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn[data-v-bfba97b4]:active{opacity:.7}.btn[data-v-bfba97b4]:disabled{opacity:.4;cursor:not-allowed}.btn-primary[data-v-bfba97b4]{background:var(--primary);color:#fff}.btn-primary[data-v-bfba97b4]:hover:not(:disabled){background:var(--primary-dark)}.message[data-v-bfba97b4]{padding:.875rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.message.success[data-v-bfba97b4]{background:var(--success-bg);color:var(--success)}.message.error[data-v-bfba97b4]{background:var(--danger-bg);color:var(--danger)}@media(max-width:900px){.button-group[data-v-bfba97b4]{flex-direction:column}.button-group .btn[data-v-bfba97b4]{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center}.field-grid[data-v-bfba97b4]{grid-template-columns:1fr}}.bulk-readings[data-v-d4e292f6]{padding:1rem}.bulk-readings h1[data-v-d4e292f6]{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.page-header[data-v-d4e292f6]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}.date-row[data-v-d4e292f6]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.date-row input[data-v-d4e292f6]{padding:.5rem .6rem;border:1px solid var(--input-border);border-radius:10px;background:var(--input-bg);color:var(--text-color)}.groups[data-v-d4e292f6]{display:flex;flex-direction:column;gap:1.25rem}.group-title[data-v-d4e292f6]{margin:0 0 .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.meter-list[data-v-d4e292f6]{display:flex;flex-direction:column;gap:.5rem}.meter-row[data-v-d4e292f6]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}.meter-info[data-v-d4e292f6]{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.meter-name[data-v-d4e292f6]{font-weight:600;font-size:.95rem}.meter-last[data-v-d4e292f6]{color:var(--text-muted);font-size:.8rem}.value-input[data-v-d4e292f6]{width:120px;padding:.5rem .6rem;border:1px solid var(--input-border);border-radius:10px;text-align:right;background:var(--input-bg);color:var(--text-color);flex-shrink:0}.actions[data-v-d4e292f6]{margin-top:1.25rem;display:flex;justify-content:flex-end}.error[data-v-d4e292f6]{background:var(--danger-bg);color:var(--danger);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.success[data-v-d4e292f6]{background:var(--success-bg);color:var(--success);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.empty-state[data-v-d4e292f6]{padding:2rem;background:var(--bg-tertiary);border-radius:12px;text-align:center;color:var(--text-muted)}@media(max-width:900px){.bulk-readings[data-v-d4e292f6]{padding:.875rem}.page-header[data-v-d4e292f6]{flex-direction:column;align-items:flex-start}.meter-row[data-v-d4e292f6]{flex-direction:column;align-items:stretch;gap:.5rem}.value-input[data-v-d4e292f6]{width:100%}.actions .btn[data-v-d4e292f6]{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center}}.plugins-view[data-v-e25edc0c]{max-width:1200px}.page-header[data-v-e25edc0c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}h1[data-v-e25edc0c]{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.edge-banner[data-v-e25edc0c]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:10px;margin-bottom:1.25rem;font-size:.85rem}.edge-banner.connected[data-v-e25edc0c]{background:var(--success-bg);border:1px solid var(--success)}.edge-banner.disconnected[data-v-e25edc0c]{background:var(--danger-bg);border:1px solid var(--danger)}.edge-banner-left[data-v-e25edc0c]{display:flex;align-items:center;gap:.5rem}.connection-dot[data-v-e25edc0c]{width:10px;height:10px;border-radius:50%;background:var(--danger);flex-shrink:0}.connection-dot.online[data-v-e25edc0c]{background:var(--success)}.connection-label[data-v-e25edc0c]{color:var(--text-color)}.edge-meta[data-v-e25edc0c]{display:flex;gap:1rem;color:var(--text-muted);font-size:.8rem}.cache-pending[data-v-e25edc0c]{color:var(--warning, #f59e0b);font-weight:500}.disconnect-notice[data-v-e25edc0c]{text-align:center;padding:2rem;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}.disconnect-notice p[data-v-e25edc0c]{margin:0 0 .5rem}.disconnect-notice .hint[data-v-e25edc0c]{font-size:.8rem;color:var(--text-muted)}.plugins-grid[data-v-e25edc0c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.plugin-card[data-v-e25edc0c]{border:1px solid var(--border-color);border-radius:12px;padding:.875rem;background:var(--card-bg);transition:all .2s;box-shadow:var(--card-shadow)}.plugin-card.healthy[data-v-e25edc0c]{border-color:var(--success)}.plugin-card.disabled[data-v-e25edc0c]{opacity:.55}.plugin-header[data-v-e25edc0c]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.plugin-info h3[data-v-e25edc0c]{margin:0;font-size:1.05rem;font-weight:600;text-transform:capitalize}.plugin-id[data-v-e25edc0c]{margin:.1rem 0 0;font-size:.75rem;color:var(--text-muted);font-family:monospace}.settings-icon[data-v-e25edc0c]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:var(--text-muted);transition:background .15s,color .15s;flex-shrink:0}.settings-icon[data-v-e25edc0c]:hover{background:var(--badge-bg);color:var(--text-color)}.plugin-status[data-v-e25edc0c]{display:flex;gap:.5rem;margin-bottom:.5rem;font-size:.8rem;flex-wrap:wrap;align-items:center}.status-badge[data-v-e25edc0c]{padding:.2rem .6rem;border-radius:6px;font-weight:500}.status-badge.active[data-v-e25edc0c]{background:var(--success-bg);color:var(--success)}.status-badge.inactive[data-v-e25edc0c]{background:var(--danger-bg);color:var(--danger)}.status-badge.configured[data-v-e25edc0c]{background:var(--badge-bg);color:var(--text-secondary)}.status-badge.unconfigured[data-v-e25edc0c]{background:var(--danger-bg);color:var(--danger)}.status-badge.kind[data-v-e25edc0c]{background:var(--badge-bg);color:var(--text-muted)}.error-message[data-v-e25edc0c]{margin-bottom:.5rem;padding:.4rem .6rem;background:var(--danger-bg);color:var(--danger);border-radius:6px;font-size:.75rem;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.capabilities[data-v-e25edc0c]{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.cap-tag[data-v-e25edc0c]{padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:500;background:var(--badge-bg);color:var(--text-secondary);border:1px solid var(--border-color)}.plugin-actions[data-v-e25edc0c]{display:flex;gap:.4rem;flex-wrap:wrap}.empty-state[data-v-e25edc0c]{text-align:center;padding:2rem;color:var(--text-muted)}.empty-state p[data-v-e25edc0c]{margin-bottom:1rem}.empty-state .hint[data-v-e25edc0c]{font-size:.8rem}.btn[data-v-e25edc0c]{padding:.45rem .85rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s}.btn[data-v-e25edc0c]:active{opacity:.7}.btn-primary[data-v-e25edc0c]{background:var(--primary);color:#fff}.btn-primary[data-v-e25edc0c]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-e25edc0c]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-e25edc0c]:hover:not(:disabled){background:var(--bg-tertiary)}.btn-sm[data-v-e25edc0c]{padding:.35rem .65rem;font-size:.75rem}.btn[data-v-e25edc0c]:disabled{opacity:.4;cursor:not-allowed}.modal[data-v-e25edc0c]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content[data-v-e25edc0c]{background:var(--card-bg);padding:1.5rem;border-radius:14px;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 20px 60px #0000004d}.modal-description[data-v-e25edc0c]{color:var(--text-muted);margin-bottom:1.25rem;line-height:1.6;font-size:.9rem}.form-group[data-v-e25edc0c]{margin-bottom:1.25rem}.form-group label[data-v-e25edc0c]{display:block;margin-bottom:.4rem;font-weight:500;font-size:.85rem;color:var(--text-secondary)}.form-input[data-v-e25edc0c]{width:100%;padding:.6rem .75rem;border:1px solid var(--input-border);border-radius:10px;font-size:.95rem;background:var(--input-bg);color:var(--text-color)}.form-input[data-v-e25edc0c]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.date-range-row[data-v-e25edc0c]{display:flex;align-items:center;gap:.5rem}.date-range-row .form-input[data-v-e25edc0c]{flex:1;min-width:0}.date-range-sep[data-v-e25edc0c]{color:var(--text-muted);font-weight:500}.modal-actions[data-v-e25edc0c]{display:flex;gap:.75rem;justify-content:flex-end}.loading[data-v-e25edc0c],.error[data-v-e25edc0c]{text-align:center;padding:2rem;color:var(--text-muted)}@media(max-width:900px){.page-header[data-v-e25edc0c]{flex-direction:column;align-items:flex-start;gap:.75rem}.plugins-grid[data-v-e25edc0c]{grid-template-columns:1fr}.edge-banner[data-v-e25edc0c]{flex-direction:column;align-items:flex-start;gap:.5rem}.modal-actions[data-v-e25edc0c]{flex-direction:column}.modal-actions .btn[data-v-e25edc0c]{width:100%;height:44px}}.plugin-config-view[data-v-2eeaba7c]{padding:1rem;max-width:800px;margin:0 auto}.page-header[data-v-2eeaba7c]{margin-bottom:1.5rem}.back-link[data-v-2eeaba7c]{display:inline-block;color:var(--primary);text-decoration:none;margin-bottom:.4rem;font-size:.85rem;font-weight:500}.back-link[data-v-2eeaba7c]:hover{text-decoration:underline}h1[data-v-2eeaba7c]{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.02em}.redirect-card[data-v-2eeaba7c]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;text-align:center}.redirect-text[data-v-2eeaba7c]{font-size:1rem;font-weight:500;margin:0 0 .75rem;color:var(--text-color)}.redirect-hint[data-v-2eeaba7c]{font-size:.85rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.6}.btn[data-v-2eeaba7c]{padding:.55rem 1.25rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s}.btn-primary[data-v-2eeaba7c]{background:var(--primary);color:#fff}.btn-primary[data-v-2eeaba7c]:hover{background:var(--primary-dark)}@media(max-width:900px){.plugin-config-view[data-v-2eeaba7c]{padding:.875rem}}.jobs-view[data-v-de69ffff]{max-width:1200px}.page-header[data-v-de69ffff]{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}.page-header h1[data-v-de69ffff]{margin:0;font-size:1.5rem;font-weight:700}.subtitle[data-v-de69ffff]{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.header-actions[data-v-de69ffff]{display:flex;align-items:flex-end;gap:.6rem}.plugin-filter[data-v-de69ffff]{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--text-muted)}.plugin-filter select[data-v-de69ffff]{min-width:220px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);padding:.45rem .6rem}.job-section[data-v-de69ffff]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1rem;box-shadow:var(--card-shadow);margin-bottom:1rem}.job-section h2[data-v-de69ffff]{margin:0 0 .85rem;font-size:1rem}.table-wrap[data-v-de69ffff]{overflow-x:auto}.jobs-table[data-v-de69ffff]{width:100%;border-collapse:collapse;font-size:.85rem}.jobs-table th[data-v-de69ffff],.jobs-table td[data-v-de69ffff]{border-bottom:1px solid var(--separator-color);text-align:left;padding:.6rem .45rem;vertical-align:top}.jobs-table th[data-v-de69ffff]{color:var(--text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.progress-cell[data-v-de69ffff]{min-width:200px}.progress-label[data-v-de69ffff]{display:flex;gap:.4rem;margin-bottom:.2rem;color:var(--text-muted);font-size:.75rem}.records-count[data-v-de69ffff]{margin-left:auto;color:var(--text-muted)}.records-col[data-v-de69ffff]{white-space:nowrap;font-size:.8rem;color:var(--text-muted)}.progress-track[data-v-de69ffff]{width:100%;height:8px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.progress-fill[data-v-de69ffff]{height:100%;background:var(--primary);transition:width .2s ease}.status-badge[data-v-de69ffff]{display:inline-flex;padding:.18rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.status-pending[data-v-de69ffff],.status-running[data-v-de69ffff]{background:var(--primary-light);color:var(--primary)}.status-success[data-v-de69ffff]{background:var(--success-bg);color:var(--success)}.status-partial[data-v-de69ffff]{background:var(--warning-bg);color:var(--warning)}.status-failed[data-v-de69ffff],.status-cancelled[data-v-de69ffff]{background:var(--danger-bg);color:var(--danger)}.muted[data-v-de69ffff]{color:var(--text-muted);font-size:.75rem}.error-text[data-v-de69ffff]{margin:.35rem 0 0;font-size:.75rem;white-space:pre-wrap;color:var(--danger)}.empty-state[data-v-de69ffff]{padding:1rem;border-radius:8px;background:var(--bg-secondary);color:var(--text-muted);font-size:.9rem}.message[data-v-de69ffff]{padding:.8rem;border-radius:10px;margin-bottom:1rem}.message.error[data-v-de69ffff]{background:var(--danger-bg);color:var(--danger)}.btn[data-v-de69ffff]{border:1px solid var(--border-color);background:var(--badge-bg);color:var(--text-color);border-radius:8px;padding:.45rem .75rem;font-size:.8rem;cursor:pointer}.btn[data-v-de69ffff]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-de69ffff]:hover:not(:disabled){background:var(--bg-tertiary)}.btn-danger[data-v-de69ffff]{background:var(--danger-bg);color:var(--danger);border-color:transparent}.btn-danger[data-v-de69ffff]:hover{opacity:.85}.btn-sm[data-v-de69ffff]{padding:.25rem .5rem;font-size:.75rem}@media(max-width:900px){.page-header[data-v-de69ffff]{flex-direction:column;align-items:stretch}.header-actions[data-v-de69ffff]{width:100%;flex-direction:column;align-items:stretch}.plugin-filter select[data-v-de69ffff]{min-width:0}}.csd-overlay[data-v-7d218e8a]{position:fixed;inset:0;background:var(--overlay-bg, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.csd-dialog[data-v-7d218e8a]{background:var(--card-bg, var(--bg-primary));border-radius:14px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.csd-header[data-v-7d218e8a]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--separator-color, var(--border-color))}.csd-header h3[data-v-7d218e8a]{margin:0;font-size:1.1rem;font-weight:600}.csd-close[data-v-7d218e8a]{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:0}.csd-close[data-v-7d218e8a]:hover{color:var(--text-color)}.csd-body[data-v-7d218e8a]{padding:1.25rem}.modal-overlay[data-v-2da0a0fc]{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[data-v-2da0a0fc]{background:var(--card-bg);border-radius:14px;width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--card-shadow-hover)}.modal-header[data-v-2da0a0fc]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--separator-color)}.modal-header h3[data-v-2da0a0fc]{margin:0;font-size:1.1rem;font-weight:600}.modal-close[data-v-2da0a0fc]{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:0}.modal-body[data-v-2da0a0fc]{padding:1.25rem;overflow-y:auto;flex:1}.tab-content[data-v-2da0a0fc]{display:flex;flex-direction:column;gap:.75rem}.form-group[data-v-2da0a0fc]{display:flex;flex-direction:column;gap:.3rem}.form-group label[data-v-2da0a0fc]{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.form-group .optional[data-v-2da0a0fc]{font-weight:400;color:var(--text-muted)}.form-group input[data-v-2da0a0fc],.form-group select[data-v-2da0a0fc],.form-group textarea[data-v-2da0a0fc]{padding:.5rem .65rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem;font-family:inherit;width:100%;box-sizing:border-box}.form-group textarea[data-v-2da0a0fc]{resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.form-row[data-v-2da0a0fc]{display:flex;gap:.75rem}.form-row .form-group[data-v-2da0a0fc]{flex:1}.formula-wrapper[data-v-2da0a0fc]{position:relative}.formula-actions[data-v-2da0a0fc]{margin-top:.35rem}.form-error[data-v-2da0a0fc]{color:var(--danger);font-size:.8rem;padding:.5rem .65rem;background:var(--danger-bg);border-radius:8px}.form-actions[data-v-2da0a0fc]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.preview-result[data-v-2da0a0fc]{margin-top:.5rem;border:1px solid var(--border-color);border-radius:8px;padding:.6rem .75rem;background:var(--badge-bg)}.preview-value[data-v-2da0a0fc]{display:flex;align-items:baseline;gap:.35rem;font-size:.85rem}.preview-label[data-v-2da0a0fc]{color:var(--text-muted);font-size:.75rem;font-weight:600}.preview-error[data-v-2da0a0fc]{color:var(--danger);font-size:.8rem}.preview-refs[data-v-2da0a0fc]{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--separator-color);display:flex;flex-direction:column;gap:.2rem}.preview-ref[data-v-2da0a0fc]{display:flex;justify-content:space-between;font-size:.75rem}.preview-ref-name[data-v-2da0a0fc]{color:var(--text-muted)}.preview-ref-value[data-v-2da0a0fc]{font-variant-numeric:tabular-nums}.btn[data-v-2da0a0fc]{padding:.4rem .75rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-2da0a0fc]:active{opacity:.7}.btn-primary[data-v-2da0a0fc]{background:var(--primary);color:#fff}.btn-secondary[data-v-2da0a0fc]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn[data-v-2da0a0fc]:disabled{opacity:.4;cursor:not-allowed}.btn-sm[data-v-2da0a0fc]{padding:.3rem .55rem;font-size:.75rem}.channels-view[data-v-886d763d]{max-width:1200px;padding:1rem}.page-header[data-v-886d763d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.page-header h2[data-v-886d763d]{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.filter-bar[data-v-886d763d]{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.filter-search[data-v-886d763d]{flex:1;min-width:160px;padding:.45rem .75rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem}.filter-select[data-v-886d763d]{padding:.45rem .6rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem;min-width:120px}.filter-toggle[data-v-886d763d]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;white-space:nowrap}.filter-toggle input[data-v-886d763d]{accent-color:var(--primary)}.result-count[data-v-886d763d]{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.datasource-group[data-v-886d763d]{margin-bottom:1.5rem}.datasource-header[data-v-886d763d]{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-icon[data-v-886d763d]{font-size:.85rem;color:var(--text-muted);width:1rem}.datasource-header h3[data-v-886d763d]{font-size:1rem;font-weight:600;margin:0}.datasource-meta[data-v-886d763d]{font-size:.8rem;color:var(--text-muted)}.channel-table[data-v-886d763d]{border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.channel-row[data-v-886d763d]{display:grid;grid-template-columns:50px 1fr minmax(140px,220px) 80px 80px 100px 140px;gap:.5rem;padding:.55rem .9rem;align-items:center;border-top:1px solid var(--border-color);font-size:.85rem}.channel-row[data-v-886d763d]:first-child{border-top:none}.channel-row.disabled[data-v-886d763d]{opacity:.5}.channel-row-header[data-v-886d763d]{background:var(--badge-bg);font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-top:none}.channel-link[data-v-886d763d]{font-weight:500;color:var(--primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.channel-link[data-v-886d763d]:hover{text-decoration:underline}.col-unit[data-v-886d763d],.col-class[data-v-886d763d]{color:var(--text-muted)}.type-badge[data-v-886d763d]{font-size:.7rem;padding:.1rem .45rem;border-radius:5px;font-weight:500}.type-badge.gauge[data-v-886d763d]{background:var(--info-bg);color:var(--primary)}.type-badge.counter[data-v-886d763d]{background:var(--success-bg);color:var(--success)}.col-actions[data-v-886d763d]{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.btn-delete[data-v-886d763d]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.btn-delete[data-v-886d763d]:hover:not(:disabled){background:color-mix(in srgb,var(--danger, #e74c3c) 12%,transparent);color:var(--danger, #e74c3c)}.btn-delete[data-v-886d763d]:disabled{opacity:.4;cursor:not-allowed}.toggle[data-v-886d763d]{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.toggle input[data-v-886d763d]{opacity:0;width:0;height:0}.toggle-slider[data-v-886d763d]{position:absolute;inset:0;background:var(--bg-tertiary);border-radius:20px;transition:background .2s}.toggle-slider[data-v-886d763d]:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider[data-v-886d763d]{background:var(--primary)}.toggle input:checked+.toggle-slider[data-v-886d763d]:before{transform:translate(16px)}.toggle input:disabled+.toggle-slider[data-v-886d763d]{opacity:.5;cursor:not-allowed}.btn[data-v-886d763d]{padding:.35rem .65rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-886d763d]:active{opacity:.7}.btn-primary[data-v-886d763d]{background:var(--primary);color:#fff;border:none}.btn-secondary[data-v-886d763d]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-886d763d]:hover:not(:disabled){background:var(--bg-tertiary)}.btn[data-v-886d763d]:disabled{opacity:.4;cursor:not-allowed}.linked-meter-link[data-v-886d763d]{font-size:.75rem;color:var(--success);font-weight:500;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.linked-meter-link[data-v-886d763d]:hover{text-decoration:underline}.btn-disconnect[data-v-886d763d]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);font-size:.7rem;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.btn-disconnect[data-v-886d763d]:hover:not(:disabled){background:color-mix(in srgb,var(--danger, #e74c3c) 12%,transparent);color:var(--danger, #e74c3c)}.btn-disconnect[data-v-886d763d]:disabled{opacity:.4;cursor:not-allowed}.link-meter-inline[data-v-886d763d]{display:flex;align-items:center;gap:.35rem}.meter-select[data-v-886d763d]{font-size:.75rem;padding:.25rem .4rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-color);max-width:160px}.empty-state[data-v-886d763d]{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-hint[data-v-886d763d]{font-size:.85rem;margin-top:.5rem;max-width:400px;margin-inline:auto;line-height:1.5;margin-bottom:1rem}.loading[data-v-886d763d],.error[data-v-886d763d]{text-align:center;padding:2rem;color:var(--text-muted)}.error[data-v-886d763d]{color:var(--danger)}.spinner-small[data-v-886d763d]{display:inline-block;width:12px;height:12px;border:2px solid var(--danger, #e74c3c);border-top-color:transparent;border-radius:50%;animation:spin-886d763d .6s linear infinite}@keyframes spin-886d763d{to{transform:rotate(360deg)}}@media(max-width:900px){.channels-view[data-v-886d763d]{padding:.875rem}.page-header h2[data-v-886d763d]{font-size:1.25rem}.filter-bar[data-v-886d763d]{gap:.35rem}.filter-select[data-v-886d763d]{min-width:0;font-size:.8rem}.channel-row[data-v-886d763d]{grid-template-columns:40px 1fr 60px 60px}.col-trend[data-v-886d763d],.col-class[data-v-886d763d],.col-actions[data-v-886d763d]{display:none}.datasource-header[data-v-886d763d]{flex-wrap:wrap;gap:.15rem}}.modal-overlay[data-v-d7cdebc1]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-d7cdebc1]{background:var(--bg-primary);border-radius:14px;width:100%;max-width:480px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.modal-header[data-v-d7cdebc1]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-d7cdebc1]{font-size:1rem;font-weight:600;margin:0}.close-btn[data-v-d7cdebc1]{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:0 .25rem}.close-btn[data-v-d7cdebc1]:hover{color:var(--text-color)}.modal-body[data-v-d7cdebc1]{padding:1.25rem}.modal-footer[data-v-d7cdebc1]{padding:.75rem 1.25rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.5rem}.phase-loading[data-v-d7cdebc1]{text-align:center;color:var(--text-muted);padding:1rem 0}.estimate-intro[data-v-d7cdebc1]{font-size:.85rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.5}.estimate-details[data-v-d7cdebc1]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.estimate-row[data-v-d7cdebc1]{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.estimate-label[data-v-d7cdebc1]{color:var(--text-muted);font-weight:500}.estimate-value[data-v-d7cdebc1]{font-weight:600}.source-details[data-v-d7cdebc1]{font-size:.8rem;color:var(--text-muted)}.source-details summary[data-v-d7cdebc1]{cursor:pointer;font-weight:500;padding:.3rem 0}.source-list[data-v-d7cdebc1]{margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem}.source-item[data-v-d7cdebc1]{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.78rem}.source-name[data-v-d7cdebc1]{font-weight:500;color:var(--text-color)}.source-range[data-v-d7cdebc1]{color:var(--text-muted)}.phase-running[data-v-d7cdebc1]{text-align:center}.running-text[data-v-d7cdebc1]{font-size:.85rem;color:var(--text-muted);margin:0 0 .75rem}.progress-bar-container[data-v-d7cdebc1]{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar[data-v-d7cdebc1]{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.progress-stats[data-v-d7cdebc1]{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-top:.5rem}.phase-complete[data-v-d7cdebc1]{text-align:center}.complete-icon[data-v-d7cdebc1]{width:48px;height:48px;border-radius:50%;background:#22c55e1f;color:#22c55e;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto .75rem}.complete-title[data-v-d7cdebc1]{font-size:1rem;font-weight:600;margin:0 0 1rem}.complete-stats[data-v-d7cdebc1]{display:flex;flex-direction:column;gap:.4rem;text-align:left}.phase-error[data-v-d7cdebc1]{text-align:center;padding:.5rem 0}.error-text[data-v-d7cdebc1]{font-size:.85rem;color:var(--danger, #e74c3c);margin:0}.btn[data-v-d7cdebc1]{padding:.45rem .9rem;border:none;border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-d7cdebc1]:active{opacity:.7}.btn-primary[data-v-d7cdebc1]{background:var(--primary);color:#fff}.btn-primary[data-v-d7cdebc1]:hover{opacity:.9}.btn-secondary[data-v-d7cdebc1]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-d7cdebc1]:hover{background:var(--bg-tertiary)}.channel-detail[data-v-4ae54ee5]{max-width:900px}.page-header[data-v-4ae54ee5]{margin-bottom:1.5rem}.back-btn[data-v-4ae54ee5]{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.85rem;padding:0;margin-bottom:.5rem}.back-btn[data-v-4ae54ee5]:hover{text-decoration:underline}.header-row[data-v-4ae54ee5]{display:flex;align-items:center;gap:.6rem}.header-row h2[data-v-4ae54ee5]{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.editable-name[data-v-4ae54ee5]{cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .15s}.editable-name[data-v-4ae54ee5]:hover{border-bottom-color:var(--text-muted)}.name-edit-input[data-v-4ae54ee5]{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;padding:.1rem .4rem;border:1px solid var(--primary);border-radius:6px;background:var(--input-bg);color:var(--text-color);outline:none;min-width:200px}.live-section[data-v-4ae54ee5]{margin-bottom:1.25rem}.live-row[data-v-4ae54ee5]{display:flex;align-items:center;gap:.6rem}.switch-toggle[data-v-4ae54ee5],.switch-status[data-v-4ae54ee5]{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;padding:0;font:inherit}.switch-status[data-v-4ae54ee5]{cursor:default}.switch-toggle.disabled[data-v-4ae54ee5]{opacity:.5;cursor:wait}.switch-track[data-v-4ae54ee5]{position:relative;width:52px;height:28px;border-radius:14px;background:var(--border-color, #444);transition:background .2s}.switch-toggle:hover .switch-track[data-v-4ae54ee5]:not(.readonly){background:var(--text-muted, #666)}.switch-toggle.on .switch-track[data-v-4ae54ee5],.switch-status.on .switch-track[data-v-4ae54ee5]{background:#22c55e}.switch-toggle.on:hover .switch-track[data-v-4ae54ee5]:not(.readonly){background:#16a34a}.switch-knob[data-v-4ae54ee5]{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.switch-toggle.on .switch-knob[data-v-4ae54ee5],.switch-status.on .switch-knob[data-v-4ae54ee5]{transform:translate(24px)}.switch-label[data-v-4ae54ee5]{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.select-control[data-v-4ae54ee5]{font-size:1.25rem;font-weight:600;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--border-color, #444);background:var(--input-bg, #1a1a2e);color:var(--text-color);cursor:pointer;min-width:150px}.select-control[data-v-4ae54ee5]:disabled{opacity:.5;cursor:wait}.live-value[data-v-4ae54ee5]{display:flex;align-items:baseline;gap:.35rem}.live-value .value[data-v-4ae54ee5]{font-size:2rem;font-weight:700;letter-spacing:-.03em}.live-value .value-unit[data-v-4ae54ee5]{font-size:1rem;color:var(--text-muted);font-weight:500}.live-value.muted .value[data-v-4ae54ee5]{color:var(--text-muted)}.live-badge[data-v-4ae54ee5]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#22c55e;background:#22c55e1f;border-radius:6px;padding:.15rem .45rem;animation:pulse-live-4ae54ee5 2s infinite}.stale-badge[data-v-4ae54ee5]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#f59e0b;background:#f59e0b1f;border-radius:6px;padding:.15rem .45rem}@keyframes pulse-live-4ae54ee5{0%,to{opacity:1}50%{opacity:.5}}.chart-section[data-v-4ae54ee5],.meta-section[data-v-4ae54ee5]{margin-bottom:1.5rem}.meta-section h3[data-v-4ae54ee5]{font-size:.9rem;font-weight:600;margin:0 0 .75rem}.meta-grid[data-v-4ae54ee5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.meta-item[data-v-4ae54ee5]{display:flex;flex-direction:column;gap:.15rem}.meta-label[data-v-4ae54ee5]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.meta-value[data-v-4ae54ee5]{font-size:.85rem}.meta-value.mono[data-v-4ae54ee5]{font-family:monospace;font-size:.8rem;word-break:break-all}.type-badge[data-v-4ae54ee5]{font-size:.7rem;padding:.1rem .45rem;border-radius:5px;font-weight:500}.type-badge.gauge[data-v-4ae54ee5]{background:var(--info-bg);color:var(--primary)}.type-badge.counter[data-v-4ae54ee5]{background:var(--success-bg);color:var(--success)}.type-badge.switch[data-v-4ae54ee5]{background:#f59e0b1f;color:#f59e0b}.type-badge.select[data-v-4ae54ee5]{background:#a855f71f;color:#a855f7}.actions-section[data-v-4ae54ee5]{padding-top:.5rem}.btn[data-v-4ae54ee5]{padding:.4rem .85rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-4ae54ee5]:active{opacity:.7}.btn-secondary[data-v-4ae54ee5]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-4ae54ee5]:hover:not(:disabled){background:var(--bg-tertiary)}.btn[data-v-4ae54ee5]:disabled{opacity:.4;cursor:not-allowed}.linked-meter-link[data-v-4ae54ee5]{font-size:.85rem;color:var(--success);font-weight:500;text-decoration:none}.linked-meter-link[data-v-4ae54ee5]:hover{text-decoration:underline}.btn-disconnect[data-v-4ae54ee5]{color:var(--text-muted)}.btn-disconnect[data-v-4ae54ee5]:hover:not(:disabled){color:var(--danger, #e74c3c)}.actions-section[data-v-4ae54ee5]{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.link-meter-inline[data-v-4ae54ee5]{display:flex;align-items:center;gap:.4rem}.meter-select[data-v-4ae54ee5]{font-size:.8rem;padding:.3rem .5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-color)}.btn-sm[data-v-4ae54ee5]{padding:.3rem .6rem;font-size:.75rem}.btn-primary[data-v-4ae54ee5]{background:var(--primary);color:#fff;border:none}.loading[data-v-4ae54ee5],.error[data-v-4ae54ee5]{text-align:center;padding:2rem;color:var(--text-muted)}.error[data-v-4ae54ee5]{color:var(--danger)}.formula-section[data-v-4ae54ee5]{margin-bottom:1.5rem}.formula-header[data-v-4ae54ee5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.formula-header h3[data-v-4ae54ee5]{font-size:.9rem;font-weight:600;margin:0}.formula-header-actions[data-v-4ae54ee5]{display:flex;gap:.4rem}.formula-section h3[data-v-4ae54ee5]{font-size:.9rem;font-weight:600;margin:0 0 .75rem}.formula-code[data-v-4ae54ee5]{background:var(--badge-bg);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .8rem;font-family:SF Mono,Fira Code,monospace;font-size:.8rem;white-space:pre-wrap;word-break:break-all;margin:0;color:var(--text-color)}.edit-form[data-v-4ae54ee5]{display:flex;flex-direction:column;gap:.75rem}.form-group[data-v-4ae54ee5]{display:flex;flex-direction:column;gap:.3rem}.form-group label[data-v-4ae54ee5]{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-group .optional[data-v-4ae54ee5]{font-weight:400;text-transform:none}.form-group input[data-v-4ae54ee5],.form-group select[data-v-4ae54ee5],.form-group textarea[data-v-4ae54ee5]{padding:.5rem .65rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.85rem;font-family:inherit;width:100%;box-sizing:border-box}.form-group textarea[data-v-4ae54ee5]{resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.form-row[data-v-4ae54ee5]{display:flex;gap:.75rem}.form-row .form-group[data-v-4ae54ee5]{flex:1}.formula-wrapper[data-v-4ae54ee5]{position:relative}.formula-actions[data-v-4ae54ee5]{margin-top:.35rem}.channel-picker[data-v-4ae54ee5]{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--card-shadow-hover);z-index:10;max-height:250px;display:flex;flex-direction:column;margin-top:.25rem}.picker-search[data-v-4ae54ee5]{padding:.5rem .65rem;border:none;border-bottom:1px solid var(--separator-color);background:transparent;color:var(--text-color);font-size:.8rem;outline:none}.picker-list[data-v-4ae54ee5]{overflow-y:auto;flex:1}.picker-item[data-v-4ae54ee5]{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .65rem;background:none;border:none;border-bottom:1px solid var(--separator-color);cursor:pointer;text-align:left;width:100%;transition:background .1s}.picker-item[data-v-4ae54ee5]:hover{background:var(--badge-bg)}.picker-name[data-v-4ae54ee5]{font-size:.8rem;font-weight:500;color:var(--text-color)}.picker-meta[data-v-4ae54ee5]{font-size:.7rem;color:var(--text-muted)}.picker-empty[data-v-4ae54ee5]{padding:.75rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.edit-error[data-v-4ae54ee5]{color:var(--danger);font-size:.8rem;padding:.5rem .65rem;background:var(--danger-bg);border-radius:8px}.edit-actions[data-v-4ae54ee5]{display:flex;justify-content:flex-end;gap:.5rem}.formula-actions[data-v-4ae54ee5]{display:flex;gap:.4rem}.preview-result[data-v-4ae54ee5]{margin-top:.5rem;padding:.6rem .75rem;background:var(--badge-bg);border:1px solid var(--border-color);border-radius:8px;font-size:.8rem}.preview-value[data-v-4ae54ee5]{font-size:.85rem}.preview-value strong[data-v-4ae54ee5]{font-weight:700}.preview-error[data-v-4ae54ee5]{color:var(--danger)}.preview-refs[data-v-4ae54ee5]{margin-top:.4rem;display:flex;flex-direction:column;gap:.2rem}.preview-ref[data-v-4ae54ee5]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.preview-ref-name[data-v-4ae54ee5]{font-weight:500}.tab-nav[data-v-4ae54ee5]{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border-color)}.tab-btn[data-v-4ae54ee5]{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .85rem;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.tab-btn[data-v-4ae54ee5]:hover{color:var(--text-color)}.tab-btn.active[data-v-4ae54ee5]{color:var(--primary);border-bottom-color:var(--primary)}.statistics-tab .stats-section[data-v-4ae54ee5]{background:var(--card-bg);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.statistics-tab .stats-section h3[data-v-4ae54ee5]{font-size:.9rem;font-weight:600;margin:0 0 1rem;color:var(--text-color)}.stat-grid[data-v-4ae54ee5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card[data-v-4ae54ee5]{background:var(--bg-tertiary);border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.25rem}.stat-value[data-v-4ae54ee5]{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text-color)}.stat-label[data-v-4ae54ee5]{font-size:.75rem;color:var(--text-muted);font-weight:500}.statistics-tab .table-wrapper[data-v-4ae54ee5]{overflow-x:auto}.statistics-tab .stats-table[data-v-4ae54ee5]{width:100%;border-collapse:collapse;font-size:.82rem}.statistics-tab .stats-table th[data-v-4ae54ee5]{text-align:left;font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:.5rem .75rem;border-bottom:1px solid var(--border-color)}.statistics-tab .stats-table td[data-v-4ae54ee5]{padding:.55rem .75rem;border-bottom:1px solid var(--border-color);color:var(--text-color)}.statistics-tab .stats-table tbody tr:last-child td[data-v-4ae54ee5]{border-bottom:none}.statistics-tab .stats-table .right[data-v-4ae54ee5]{text-align:right}.statistics-tab .mono[data-v-4ae54ee5]{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.statistics-tab .muted[data-v-4ae54ee5]{color:var(--text-muted)}.level-badge[data-v-4ae54ee5]{background:var(--badge-bg);padding:.15rem .5rem;border-radius:5px;font-size:.78rem;font-weight:500}.density-grid[data-v-4ae54ee5]{display:flex;flex-wrap:wrap;gap:3px}.density-cell[data-v-4ae54ee5]{width:52px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:500;cursor:default}.density-none[data-v-4ae54ee5]{background:var(--bg-tertiary);color:var(--text-muted)}.density-sparse[data-v-4ae54ee5]{background:#6366f126;color:var(--primary)}.density-normal[data-v-4ae54ee5]{background:#6366f159;color:#fff}.density-dense[data-v-4ae54ee5]{background:#6366f1a6;color:#fff}.density-legend[data-v-4ae54ee5]{display:flex;gap:.75rem;margin-top:.6rem;font-size:.72rem;color:var(--text-muted)}.density-legend-item[data-v-4ae54ee5]{display:flex;align-items:center;gap:.3rem}.density-swatch[data-v-4ae54ee5]{display:inline-block;width:12px;height:12px;border-radius:3px}@media(max-width:600px){.stat-grid[data-v-4ae54ee5]{grid-template-columns:repeat(2,1fr)}}.favorite-toggle[data-v-4ae54ee5]{background:none;border:1px solid var(--border-color);border-radius:6px;padding:.25rem .6rem;cursor:pointer;font-size:.8rem;color:var(--text-muted);transition:color .15s,border-color .15s}.favorite-toggle[data-v-4ae54ee5]:hover,.favorite-toggle.active[data-v-4ae54ee5]{color:#f59e0b;border-color:#f59e0b}.tags-section[data-v-4ae54ee5]{margin-top:1rem}.tags-editor[data-v-4ae54ee5]{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;align-items:center}.tag-badge[data-v-4ae54ee5]{display:inline-flex;align-items:center;gap:.2rem;background:var(--badge-bg);padding:.2rem .5rem;border-radius:5px;font-size:.8rem;color:var(--text-muted)}.tag-badge.removable[data-v-4ae54ee5]:hover{background:var(--separator-color)}.tag-remove[data-v-4ae54ee5]{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:0;margin-left:.1rem;opacity:.6}.tag-remove[data-v-4ae54ee5]:hover{opacity:1;color:var(--danger)}.tag-input-wrap[data-v-4ae54ee5]{position:relative}.tag-input[data-v-4ae54ee5]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;padding:.2rem .5rem;font-size:.8rem;color:var(--text-color);width:140px}.tag-input[data-v-4ae54ee5]:focus{outline:none;border-color:var(--primary)}.tag-suggestions[data-v-4ae54ee5]{position:absolute;top:100%;left:0;margin-top:2px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:20;min-width:140px;max-height:120px;overflow-y:auto}.tag-suggestion[data-v-4ae54ee5]{display:block;width:100%;padding:.35rem .6rem;border:none;background:none;text-align:left;font-size:.8rem;color:var(--text-color);cursor:pointer}.tag-suggestion[data-v-4ae54ee5]:hover{background:var(--badge-bg)}.statistics-page[data-v-6b2008c9]{max-width:900px}.page-header[data-v-6b2008c9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.page-header h2[data-v-6b2008c9]{font-size:1.1rem;font-weight:600;margin:0}.loading-state[data-v-6b2008c9]{text-align:center;color:var(--text-muted);padding:3rem 1rem}.message.error[data-v-6b2008c9]{background:var(--danger-bg);color:var(--danger);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem}.stats-section[data-v-6b2008c9]{background:var(--card-bg);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.stats-section h3[data-v-6b2008c9]{font-size:.9rem;font-weight:600;margin:0 0 1rem;color:var(--text-color)}.stat-grid[data-v-6b2008c9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card[data-v-6b2008c9]{background:var(--bg-tertiary);border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.25rem}.stat-value[data-v-6b2008c9]{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text-color)}.stat-label[data-v-6b2008c9]{font-size:.75rem;color:var(--text-muted);font-weight:500}.table-wrapper[data-v-6b2008c9]{overflow-x:auto}.stats-table[data-v-6b2008c9]{width:100%;border-collapse:collapse;font-size:.82rem}.stats-table th[data-v-6b2008c9]{text-align:left;font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:.5rem .75rem;border-bottom:1px solid var(--border-color)}.stats-table td[data-v-6b2008c9]{padding:.55rem .75rem;border-bottom:1px solid var(--border-color);color:var(--text-color)}.stats-table tbody tr:last-child td[data-v-6b2008c9]{border-bottom:none}.stats-table .right[data-v-6b2008c9]{text-align:right}.mono[data-v-6b2008c9]{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.muted[data-v-6b2008c9]{color:var(--text-muted)}.channel-id[data-v-6b2008c9]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-link[data-v-6b2008c9]{color:var(--primary);cursor:pointer;text-decoration:none}.channel-link[data-v-6b2008c9]:hover{text-decoration:underline}.sub-row td[data-v-6b2008c9]{border-bottom:1px solid var(--border-color);padding-top:0}.sub-detail[data-v-6b2008c9]{font-size:.75rem;color:var(--text-muted);padding-left:1rem}.level-badge[data-v-6b2008c9]{background:var(--badge-bg);padding:.15rem .5rem;border-radius:5px;font-size:.78rem;font-weight:500}.status-badge[data-v-6b2008c9]{padding:.15rem .45rem;border-radius:5px;font-size:.75rem;font-weight:500;background:var(--badge-bg)}.status-badge.success[data-v-6b2008c9]{background:var(--success-bg);color:var(--success)}.status-badge.error[data-v-6b2008c9]{background:var(--danger-bg);color:var(--danger)}.storage-grid[data-v-6b2008c9]{display:flex;flex-direction:column;gap:.6rem}.storage-row[data-v-6b2008c9]{display:grid;grid-template-columns:120px 80px 1fr;align-items:center;gap:.75rem}.storage-label[data-v-6b2008c9]{font-size:.82rem;color:var(--text-muted)}.storage-value[data-v-6b2008c9]{font-size:.82rem;font-weight:600;text-align:right;font-family:SF Mono,Fira Code,monospace}.storage-bar[data-v-6b2008c9]{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.storage-bar-fill[data-v-6b2008c9]{height:100%;border-radius:4px;transition:width .3s ease}.table-fill[data-v-6b2008c9]{background:var(--primary)}.index-fill[data-v-6b2008c9]{background:#f59e0b}.toast-fill[data-v-6b2008c9]{background:#8b5cf6}.ingestion-chart[data-v-6b2008c9]{display:flex;flex-direction:column;gap:.4rem}.ingestion-row[data-v-6b2008c9]{display:grid;grid-template-columns:85px 1fr 80px;align-items:center;gap:.75rem}.ingestion-date[data-v-6b2008c9]{font-size:.8rem;color:var(--text-muted)}.ingestion-bar-wrapper[data-v-6b2008c9]{height:20px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.ingestion-bar[data-v-6b2008c9]{height:100%;background:var(--primary);border-radius:4px;opacity:.7;transition:width .3s ease;min-width:2px}.ingestion-count[data-v-6b2008c9]{font-size:.8rem;font-weight:600;text-align:right}.btn[data-v-6b2008c9]{padding:.4rem .85rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .15s}.btn[data-v-6b2008c9]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-6b2008c9]{background:var(--badge-bg);color:var(--text-color)}.btn-secondary[data-v-6b2008c9]:hover:not(:disabled){opacity:.8}.rules-subsection[data-v-6b2008c9]{margin-bottom:1.25rem}.rules-subsection[data-v-6b2008c9]:last-child{margin-bottom:0}.rules-subsection h4[data-v-6b2008c9]{font-size:.82rem;font-weight:600;color:var(--text-muted);margin:0 0 .5rem}.rules-desc[data-v-6b2008c9]{font-size:.82rem;color:var(--text-muted);margin:0 0 .6rem;line-height:1.5}.rules-table td[data-v-6b2008c9]{vertical-align:middle}.rules-table .level-badge[data-v-6b2008c9]{margin-right:.25rem}@media(max-width:600px){.stat-grid[data-v-6b2008c9]{grid-template-columns:repeat(2,1fr)}.storage-row[data-v-6b2008c9]{grid-template-columns:100px 70px 1fr}}.log-view[data-v-03e7f2e9]{display:flex;flex-direction:column;gap:.75rem}.hero[data-v-03e7f2e9]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.hero-title[data-v-03e7f2e9]{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.hero-sub[data-v-03e7f2e9]{font-size:.78rem;color:var(--text-muted);margin-top:.1rem}.hero-stats[data-v-03e7f2e9]{display:flex;gap:.35rem;flex-wrap:wrap}.hero-stat[data-v-03e7f2e9]{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:8px;background:var(--card-bg, #fff);border:1px solid var(--separator-color, #e5e7eb);font-size:.8rem;white-space:nowrap;transition:box-shadow .3s,border-color .3s}.hero-stat.glow[data-v-03e7f2e9]{border-color:#10b9814d;box-shadow:0 0 8px #10b9811a}.hero-num[data-v-03e7f2e9]{font-weight:700;font-variant-numeric:tabular-nums;font-size:.95rem}.hero-label[data-v-03e7f2e9]{font-size:.68rem;color:var(--text-muted)}.title-icon[data-v-03e7f2e9]{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.radar-dot[data-v-03e7f2e9]{width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background .3s;z-index:1}.radar-dot.online[data-v-03e7f2e9]{background:#10b981;box-shadow:0 0 6px #10b98199}.radar-ring[data-v-03e7f2e9]{position:absolute;width:22px;height:22px;border-radius:50%;border:2px solid transparent}.radar-ring.active[data-v-03e7f2e9]{animation:radarPulse-03e7f2e9 2s ease-out infinite}.ring2.active[data-v-03e7f2e9]{animation-delay:1s}@keyframes radarPulse-03e7f2e9{0%{transform:scale(.4);border-color:#10b981cc;opacity:1}to{transform:scale(1.8);border-color:#10b98100;opacity:0}}.batch-ping[data-v-03e7f2e9]{width:6px;height:6px;border-radius:50%;background:transparent;transition:background .05s;margin-left:.2rem}.batch-ping.flash[data-v-03e7f2e9]{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.conn-dot[data-v-03e7f2e9]{width:8px;height:8px;border-radius:50%;background:#ef4444;transition:background .3s,box-shadow .3s}.conn-dot.online[data-v-03e7f2e9]{background:#10b981;box-shadow:0 0 6px #10b98199;animation:connPulse-03e7f2e9 2s ease-in-out infinite}@keyframes connPulse-03e7f2e9{0%,to{box-shadow:0 0 4px #10b9814d}50%{box-shadow:0 0 10px #10b981b3}}.throughput-card[data-v-03e7f2e9]{background:var(--card-bg, #fff);border:1px solid var(--separator-color, #e5e7eb);border-radius:10px;padding:.6rem .75rem}.sparkline-header[data-v-03e7f2e9]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.35rem}.section-label[data-v-03e7f2e9]{font-size:.82rem;font-weight:600}.section-meta[data-v-03e7f2e9]{font-size:.7rem;color:var(--text-muted)}.sparkline[data-v-03e7f2e9]{display:flex;align-items:flex-end;gap:1.5px;height:72px}.spark-bar[data-v-03e7f2e9]{flex:1;min-width:0;border-radius:2px 2px 0 0;transition:height .35s ease-out,background-color .35s;position:relative;background:var(--separator-color, #e5e7eb)}.spark-bar.current[data-v-03e7f2e9]{box-shadow:0 0 6px #6366f180;border-radius:2px}.spark-tip[data-v-03e7f2e9]{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:700;color:var(--text-color);pointer-events:none;white-space:nowrap}.main-grid[data-v-03e7f2e9]{display:grid;grid-template-columns:1fr 280px;gap:.75rem;min-height:0}.controls[data-v-03e7f2e9]{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem}.filter-wrap[data-v-03e7f2e9]{flex:1;position:relative}.filter-icon[data-v-03e7f2e9]{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);font-size:.8rem;pointer-events:none;opacity:.45}.filter-input[data-v-03e7f2e9]{width:100%;padding:.4rem .65rem .4rem 1.85rem;border:1px solid var(--separator-color, #e5e7eb);border-radius:7px;background:var(--card-bg, #fff);font-size:.82rem;color:var(--text-color);outline:none;transition:border-color .2s}.filter-input[data-v-03e7f2e9]:focus{border-color:var(--primary, #6366f1)}.filter-input[data-v-03e7f2e9]::placeholder{color:var(--text-muted)}.btn[data-v-03e7f2e9]{padding:.4rem .85rem;border:1px solid var(--separator-color, #e5e7eb);border-radius:7px;background:var(--card-bg, #fff);color:var(--text-color);font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.btn[data-v-03e7f2e9]:hover{background:var(--separator-color, #f3f4f6)}.btn.active[data-v-03e7f2e9]{background:var(--primary, #6366f1);color:#fff;border-color:var(--primary, #6366f1)}.btn-subtle[data-v-03e7f2e9]{color:var(--text-muted)}.feed-col[data-v-03e7f2e9]{min-width:0}.event-feed[data-v-03e7f2e9]{background:var(--card-bg, #fff);border:1px solid var(--separator-color, #e5e7eb);border-radius:10px;height:520px;overflow-y:auto;overflow-x:hidden;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,monospace;font-size:.78rem;position:relative;transition:border-color .1s}.event-feed.feed-flash[data-v-03e7f2e9]{border-color:#6366f159}.scanline[data-v-03e7f2e9]{position:sticky;top:0;left:0;right:0;height:2px;z-index:2;pointer-events:none;background:transparent}.scanline.active[data-v-03e7f2e9]{background:linear-gradient(90deg,transparent,var(--primary, #6366f1),transparent);animation:scanMove-03e7f2e9 3s ease-in-out infinite;opacity:.6}@keyframes scanMove-03e7f2e9{0%{transform:scaleX(.1);opacity:0}15%{transform:scaleX(1);opacity:.7}50%{opacity:.3}85%{transform:scaleX(1);opacity:.7}to{transform:scaleX(.1);opacity:0}}.event-row[data-v-03e7f2e9]{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem .35rem 0;border-bottom:1px solid color-mix(in srgb,var(--separator-color, #e5e7eb) 50%,transparent);transition:background .1s}.event-row[data-v-03e7f2e9]:hover{background:color-mix(in srgb,var(--src, #6366f1) 5%,transparent)}.event-stripe[data-v-03e7f2e9]{width:3px;align-self:stretch;border-radius:0 2px 2px 0;flex-shrink:0}.event-enter-active[data-v-03e7f2e9]{transition:all .2s ease-out}.event-enter-from[data-v-03e7f2e9]{opacity:0;transform:translate(-12px)}.event-time[data-v-03e7f2e9]{color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums;font-size:.72rem;opacity:.7}.event-source[data-v-03e7f2e9]{font-size:.62rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:.08rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;min-width:3.2rem;text-align:center}.event-channel[data-v-03e7f2e9]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color);font-size:.78rem}.event-value-group[data-v-03e7f2e9]{display:flex;align-items:baseline;gap:.25rem;flex-shrink:0;margin-left:auto}.event-value[data-v-03e7f2e9]{font-weight:700;color:var(--text-color);font-variant-numeric:tabular-nums}.event-unit[data-v-03e7f2e9]{color:var(--text-muted);font-size:.7rem;min-width:2.2rem}.empty-state[data-v-03e7f2e9]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.88rem;text-align:center;gap:.3rem}.empty-icon[data-v-03e7f2e9]{font-size:2rem;margin-bottom:.3rem}.empty-hint[data-v-03e7f2e9]{font-size:.73rem;opacity:.6}.pulse-slow[data-v-03e7f2e9]{animation:pulseSlow-03e7f2e9 2s ease-in-out infinite;color:var(--primary, #6366f1)}@keyframes pulseSlow-03e7f2e9{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.side-col[data-v-03e7f2e9]{background:var(--card-bg, #fff);border:1px solid var(--separator-color, #e5e7eb);border-radius:10px;padding:.65rem .75rem;align-self:start;max-height:570px;overflow-y:auto}.side-col .section-label[data-v-03e7f2e9]{margin-bottom:.5rem}.channel-list[data-v-03e7f2e9]{display:flex;flex-direction:column;gap:.55rem}.ch-row[data-v-03e7f2e9]{display:flex;flex-direction:column;gap:.2rem}.ch-head[data-v-03e7f2e9]{display:flex;align-items:center;gap:.35rem;font-size:.78rem}.ch-rank[data-v-03e7f2e9]{font-weight:800;font-size:.72rem;width:1rem;text-align:center;flex-shrink:0}.ch-name[data-v-03e7f2e9]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ch-count[data-v-03e7f2e9]{font-weight:700;font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--text-muted);flex-shrink:0}.ch-bar-track[data-v-03e7f2e9]{height:4px;background:var(--separator-color, #f3f4f6);border-radius:2px;overflow:hidden}.ch-bar-fill[data-v-03e7f2e9]{height:100%;border-radius:2px;transition:width .6s ease-out}@media(max-width:900px){.main-grid[data-v-03e7f2e9]{grid-template-columns:1fr}.side-col[data-v-03e7f2e9]{max-height:250px}.event-feed[data-v-03e7f2e9]{height:400px}}@media(max-width:600px){.hero[data-v-03e7f2e9]{flex-direction:column;align-items:flex-start}.hero-stats[data-v-03e7f2e9]{width:100%}.event-time[data-v-03e7f2e9]{display:none}.event-feed[data-v-03e7f2e9]{height:350px}}.flow-view[data-v-4c3cb87f]{display:flex;flex-direction:column;gap:.75rem}.flow-header[data-v-4c3cb87f]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.flow-title[data-v-4c3cb87f]{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.flow-sub[data-v-4c3cb87f]{font-size:.75rem;color:var(--text-muted);margin-top:.1rem}.flow-stats[data-v-4c3cb87f]{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.stat-chip[data-v-4c3cb87f]{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;background:var(--card-bg, #fff);border:1px solid var(--separator-color, #e5e7eb);border-radius:7px;font-size:.78rem;white-space:nowrap;transition:border-color .3s}.stat-chip.online[data-v-4c3cb87f]{border-color:#10b98159}.stat-dot[data-v-4c3cb87f]{width:7px;height:7px;border-radius:50%;background:#ef4444;flex-shrink:0;transition:background .3s,box-shadow .3s}.stat-dot.online[data-v-4c3cb87f]{background:#10b981;box-shadow:0 0 5px #10b9818c}.stat-num[data-v-4c3cb87f]{font-weight:700;font-variant-numeric:tabular-nums}.stat-lbl[data-v-4c3cb87f]{font-size:.68rem;color:var(--text-muted)}.canvas-wrap[data-v-4c3cb87f]{position:relative;background:var(--card-bg, #fff);border:1px solid var(--separator-color, #e5e7eb);border-radius:12px;overflow:hidden}.flow-svg[data-v-4c3cb87f]{width:100%;height:auto;display:block}.particles-canvas[data-v-4c3cb87f]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.legend[data-v-4c3cb87f]{display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:.25rem 0}.legend-item[data-v-4c3cb87f]{display:flex;align-items:center;gap:.4rem;font-size:.78rem}.legend-dot[data-v-4c3cb87f]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.legend-label[data-v-4c3cb87f]{color:var(--text-muted);font-weight:500}.settings-layout[data-v-bf58beb9]{padding:1rem;max-width:1200px}.settings-layout h1[data-v-bf58beb9]{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.settings-tabs[data-v-bf58beb9]{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--separator-color);padding-bottom:0}.tab[data-v-bf58beb9]{padding:.5rem 1rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}.tab[data-v-bf58beb9]:hover{color:var(--text-color)}.tab.active[data-v-bf58beb9]{color:var(--primary);border-bottom-color:var(--primary)}@media(max-width:900px){.settings-layout[data-v-bf58beb9]{padding:.875rem}.settings-tabs[data-v-bf58beb9]{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab[data-v-bf58beb9]{white-space:nowrap;flex-shrink:0}}.watt-pilot-page[data-v-c75596d1]{max-width:900px}.loading[data-v-c75596d1]{text-align:center;padding:3rem;color:var(--text-muted)}.live-cards[data-v-c75596d1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.live-card[data-v-c75596d1]{background:var(--card-bg);padding:1rem 1.25rem;border-radius:12px;box-shadow:var(--card-shadow);cursor:pointer;transition:box-shadow .15s}.live-card[data-v-c75596d1]:hover{box-shadow:var(--card-shadow-hover)}.live-card-label[data-v-c75596d1]{font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:.35rem}.live-card-value[data-v-c75596d1]{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.live-card-unit[data-v-c75596d1]{font-size:1rem;font-weight:500;color:var(--text-muted)}.live-card-no-data[data-v-c75596d1]{color:var(--text-muted)}.live-card-ago[data-v-c75596d1]{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.live-card-sparkline[data-v-c75596d1]{margin-top:.5rem;height:32px;width:100%}.soc-value-row[data-v-c75596d1]{display:flex;align-items:center;gap:.5rem}.battery-icon[data-v-c75596d1]{width:48px;height:24px;flex-shrink:0;color:var(--text-muted)}.pv-icon[data-v-c75596d1]{width:32px;height:32px;flex-shrink:0}.pv-forecast-card[data-v-c75596d1]{cursor:pointer}.pv-forecast-card[data-v-c75596d1]:hover{box-shadow:var(--card-shadow)}.pv-value-row[data-v-c75596d1]{display:flex;align-items:center;gap:.5rem}.pv-forecast-tomorrow[data-v-c75596d1]{font-size:1rem;font-weight:600;color:var(--text-muted);margin-top:.35rem}.pv-forecast-tomorrow-label[data-v-c75596d1]{font-size:.8rem;font-weight:500}.settings-section[data-v-c75596d1]{background:var(--card-bg);padding:1.25rem;border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:1.25rem}.settings-section h2[data-v-c75596d1]{margin-top:0;font-size:1.1rem;font-weight:600}.description[data-v-c75596d1]{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.schedule-block.no-prices[data-v-c75596d1]{opacity:.5}.no-prices-banner[data-v-c75596d1]{padding:.75rem 1rem;border-radius:8px;background:var(--warning-bg, rgba(230, 168, 23, .12));color:var(--warning, #e6a817);font-size:.85rem;font-weight:500}.schedule-block[data-v-c75596d1]{margin-bottom:.75rem}.schedule-label[data-v-c75596d1]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.35rem;font-weight:500}.schedule-bar[data-v-c75596d1]{display:flex;height:36px}.schedule-bar[data-v-c75596d1]>:first-child{border-radius:8px 0 0 8px}.schedule-bar[data-v-c75596d1]>:last-child{border-radius:0 8px 8px 0}.schedule-hour[data-v-c75596d1]{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;border-right:1px solid rgba(255,255,255,.15);transition:opacity .15s;cursor:default}.schedule-hour[data-v-c75596d1]:last-child{border-right:none}.schedule-hour[data-v-c75596d1]:hover{opacity:.8}.schedule-hour.past[data-v-c75596d1]{opacity:.35;pointer-events:none}.schedule-hour.pinned[data-v-c75596d1]{position:relative}.schedule-hour.pinned[data-v-c75596d1]:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:#fff;opacity:.85}.btn-reset-pins[data-v-c75596d1]{background:none;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;color:var(--text-muted);cursor:pointer;padding:.1rem .4rem;line-height:1;transition:color .15s,border-color .15s}.btn-reset-pins[data-v-c75596d1]:hover{color:var(--primary, #007aff);border-color:var(--primary, #007aff)}.load-schedule-bars[data-v-c75596d1]{margin-top:.5rem}.load-schedule-row[data-v-c75596d1]{margin-bottom:.25rem}.load-schedule-label[data-v-c75596d1]{font-size:.75rem;color:var(--text-muted);margin-bottom:.15rem;font-weight:500}.schedule-bar-sm[data-v-c75596d1]{height:22px}.schedule-bar-sm .hour-label[data-v-c75596d1]{font-size:0}.schedule-chart[data-v-c75596d1]{height:200px;margin-top:12px}.hour-label[data-v-c75596d1]{font-size:.65rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.schedule-legend[data-v-c75596d1]{display:flex;gap:1rem;margin-top:.5rem;font-size:.8rem;color:var(--text-muted)}.legend-item[data-v-c75596d1]{display:flex;align-items:center;gap:.35rem}.legend-dot[data-v-c75596d1]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-group-label[data-v-c75596d1]{font-weight:600;color:var(--text-secondary)}.legend-separator[data-v-c75596d1]{color:var(--separator-color)}.recalculate-row[data-v-c75596d1]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.simulate-group[data-v-c75596d1]{display:flex;align-items:center;gap:.35rem}.simulate-label[data-v-c75596d1]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.simulate-input[data-v-c75596d1]{padding:.4rem .5rem;border:1px solid var(--input-border);border-radius:8px;font-size:.85rem;background:var(--input-bg);color:var(--text-color)}.btn-clear[data-v-c75596d1]{background:none;border:none;font-size:1.2rem;color:var(--text-muted);cursor:pointer;padding:0 .25rem;line-height:1}.btn-clear[data-v-c75596d1]:hover{color:var(--danger)}.clickable[data-v-c75596d1]{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:color .15s}.clickable[data-v-c75596d1]:hover{color:var(--primary, #007aff)}.load-schedule-label.clickable[data-v-c75596d1]{cursor:pointer}.drawer-hint[data-v-c75596d1]{font-size:.65rem;margin-left:.25rem;opacity:.5}.drawer-backdrop[data-v-c75596d1]{position:fixed;inset:0;background:#0006;z-index:999}.drawer-backdrop-enter-active[data-v-c75596d1],.drawer-backdrop-leave-active[data-v-c75596d1]{transition:opacity .3s ease}.drawer-backdrop-enter-from[data-v-c75596d1],.drawer-backdrop-leave-to[data-v-c75596d1]{opacity:0}.drawer-panel[data-v-c75596d1]{position:fixed;top:0;right:0;bottom:0;width:min(400px,85vw);background:var(--card-bg, #1c1c1e);z-index:1000;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000004d;will-change:transform}.drawer-slide-enter-active[data-v-c75596d1],.drawer-slide-leave-active[data-v-c75596d1]{transition:transform .3s ease}.drawer-slide-enter-from[data-v-c75596d1],.drawer-slide-leave-to[data-v-c75596d1]{transform:translate(100%)}.drawer-header[data-v-c75596d1]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--separator-color);flex-shrink:0}.drawer-header h3[data-v-c75596d1]{margin:0;font-size:1rem;font-weight:600}.drawer-close[data-v-c75596d1]{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0 .25rem;line-height:1}.drawer-close[data-v-c75596d1]:hover{color:var(--text-color)}.drawer-body[data-v-c75596d1]{flex:1;overflow-y:auto;padding:1rem 1.25rem;-webkit-overflow-scrolling:touch}.drawer-reasoning[data-v-c75596d1]{margin:0 0 1rem 1rem;padding:0;font-size:.85rem;color:var(--text-muted);line-height:1.6}.drawer-reasoning li[data-v-c75596d1]{margin-bottom:.35rem}.drawer-hours-title[data-v-c75596d1]{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.drawer-hour-row[data-v-c75596d1]{display:flex;align-items:baseline;gap:.75rem;padding:.4rem 0;border-bottom:1px solid var(--separator-color);font-size:.85rem}.drawer-hour-time[data-v-c75596d1]{font-weight:600;font-variant-numeric:tabular-nums;min-width:3.5rem;color:var(--text-color)}.drawer-hour-label[data-v-c75596d1]{font-weight:500;color:var(--text-secondary);min-width:4.5rem}.drawer-hour-reason[data-v-c75596d1]{color:var(--text-muted);flex:1}.drawer-empty[data-v-c75596d1]{color:var(--text-muted);font-size:.85rem;text-align:center;padding:2rem 0}.meta-stats[data-v-c75596d1]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.8rem;color:var(--text-muted)}.meta-stats span[data-v-c75596d1]{background:var(--badge-bg);padding:.2rem .5rem;border-radius:6px}.button-group[data-v-c75596d1]{display:flex;gap:.75rem}.btn[data-v-c75596d1]{padding:.6rem 1.25rem;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn[data-v-c75596d1]:active{opacity:.7}.btn[data-v-c75596d1]:disabled{opacity:.4;cursor:not-allowed}.btn-secondary[data-v-c75596d1]{background:var(--badge-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary[data-v-c75596d1]:hover:not(:disabled){background:var(--bg-tertiary)}.btn-charge[data-v-c75596d1]{background:var(--success);color:#fff}.btn-lock[data-v-c75596d1]{background:var(--warning, #e6a817);color:#fff}.log-table-wrapper[data-v-c75596d1]{overflow-x:auto}.log-table[data-v-c75596d1]{width:100%;border-collapse:collapse;font-size:.85rem}.log-table th[data-v-c75596d1],.log-table td[data-v-c75596d1]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--separator-color)}.log-table th[data-v-c75596d1]{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.status-ok[data-v-c75596d1]{color:var(--success);font-weight:500}.status-err[data-v-c75596d1]{color:var(--danger);font-weight:500}.message[data-v-c75596d1]{padding:.875rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.message.success[data-v-c75596d1]{background:var(--success-bg);color:var(--success)}.message.error[data-v-c75596d1]{background:var(--danger-bg);color:var(--danger)}@media(max-width:900px){.live-cards[data-v-c75596d1]{grid-template-columns:1fr 1fr}.button-group[data-v-c75596d1]{flex-direction:column}.button-group .btn[data-v-c75596d1]{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center}.hour-label[data-v-c75596d1]{font-size:0}}.watt-pilot-page[data-v-3c08da5e]{max-width:900px}.loading[data-v-3c08da5e]{text-align:center;padding:3rem;color:var(--text-muted)}.settings-section[data-v-3c08da5e]{background:var(--card-bg);padding:1.25rem;border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:1.25rem}.settings-section h2[data-v-3c08da5e]{margin-top:0;font-size:1.1rem;font-weight:600}.description[data-v-3c08da5e]{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.channel-section[data-v-3c08da5e]{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--separator-color)}.channel-grid[data-v-3c08da5e]{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.channel-grid label[data-v-3c08da5e]{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.channel-grid select[data-v-3c08da5e]{padding:.5rem .6rem;border:1px solid var(--input-border);border-radius:10px;font-size:.95rem;background:var(--input-bg);color:var(--text-color);width:100%}.required[data-v-3c08da5e]{color:var(--danger);margin-left:.2rem}.field-label[data-v-3c08da5e]{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.field-grid[data-v-3c08da5e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.875rem;margin-bottom:1rem}.field-grid label[data-v-3c08da5e]{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.field-grid input[data-v-3c08da5e],.field-grid select[data-v-3c08da5e]{padding:.5rem .6rem;border:1px solid var(--input-border);border-radius:10px;font-size:.95rem;background:var(--input-bg);color:var(--text-color)}.field-hint[data-v-3c08da5e]{font-size:.78rem;color:var(--text-muted);font-weight:400}.info-banner[data-v-3c08da5e]{background:var(--info-bg, #cce5ff);color:var(--info, #004085);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.info-banner a[data-v-3c08da5e]{color:inherit;font-weight:600;text-decoration:underline}.button-group[data-v-3c08da5e]{display:flex;gap:.75rem}.btn[data-v-3c08da5e]{padding:.6rem 1.25rem;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn[data-v-3c08da5e]:active{opacity:.7}.btn[data-v-3c08da5e]:disabled{opacity:.4;cursor:not-allowed}.btn-primary[data-v-3c08da5e]{background:var(--primary);color:#fff}.btn-primary[data-v-3c08da5e]:hover:not(:disabled){background:var(--primary-dark)}.message[data-v-3c08da5e]{padding:.875rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.message.success[data-v-3c08da5e]{background:var(--success-bg);color:var(--success)}.message.error[data-v-3c08da5e]{background:var(--danger-bg);color:var(--danger)}@media(max-width:900px){.field-grid[data-v-3c08da5e],.channel-grid[data-v-3c08da5e]{grid-template-columns:1fr}}
