:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,:root[data-theme=dark]{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-surface: rgba(30, 30, 46, .8);--bg-surface-solid: #1e1e2e;--bg-elevated: rgba(255, 255, 255, .03);--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(59, 130, 246, .15);--bg-input: rgba(0, 0, 0, .3);--bg-raised: #334155;--border-primary: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .2);--border-focus: rgba(59, 130, 246, .6);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .5);--text-dimmed: rgba(255, 255, 255, .35);--accent-blue: #3b82f6;--accent-blue-hover: #2563eb;--accent-green: #10b981;--accent-red: #ef4444;--accent-amber: #f59e0b;--chart-bg: rgba(0, 0, 0, .2);--chart-grid: rgba(255, 255, 255, .15);--chart-grid-subtle: rgba(255, 255, 255, .06);--chart-axis: rgba(255, 255, 255, .45);--tooltip-bg: rgba(15, 23, 42, .95);--tooltip-border: rgba(255, 255, 255, .15);--table-header-bg: rgba(255, 255, 255, .04);--table-row-hover: rgba(255, 255, 255, .02);--table-border: rgba(255, 255, 255, .06);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);color-scheme:dark}:root[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-surface: rgba(255, 255, 255, .95);--bg-surface-solid: #ffffff;--bg-elevated: rgba(0, 0, 0, .02);--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(59, 130, 246, .08);--bg-input: #ffffff;--bg-raised: #e2e8f0;--border-primary: rgba(0, 0, 0, .12);--border-subtle: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .2);--border-focus: rgba(59, 130, 246, .5);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-dimmed: #94a3b8;--accent-blue: #2563eb;--accent-blue-hover: #1d4ed8;--accent-green: #059669;--accent-red: #dc2626;--accent-amber: #d97706;--chart-bg: rgba(0, 0, 0, .03);--chart-grid: rgba(0, 0, 0, .12);--chart-grid-subtle: rgba(0, 0, 0, .06);--chart-axis: rgba(0, 0, 0, .5);--tooltip-bg: rgba(255, 255, 255, .98);--tooltip-border: rgba(0, 0, 0, .12);--table-header-bg: rgba(0, 0, 0, .03);--table-row-hover: rgba(0, 0, 0, .02);--table-border: rgba(0, 0, 0, .06);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);color-scheme:light}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);transition:background .3s,color .3s}#app{width:100%;min-height:100vh}.login-container[data-v-b2ca3a88]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:24px}.login-card[data-v-b2ca3a88]{width:100%;max-width:440px;background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid var(--border-primary);box-shadow:0 8px 32px #0000004d;padding:48px 40px}.login-header[data-v-b2ca3a88]{text-align:center;margin-bottom:40px}.logo[data-v-b2ca3a88]{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:16px;margin-bottom:24px}.logo svg[data-v-b2ca3a88]{width:36px;height:36px;color:var(--text-primary)}.login-header h1[data-v-b2ca3a88]{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.login-header p[data-v-b2ca3a88]{font-size:.95rem;color:var(--text-muted);margin:0}.login-form[data-v-b2ca3a88]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-b2ca3a88]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-b2ca3a88]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input[data-v-b2ca3a88]{width:100%;padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:all .3s ease}.form-group input[data-v-b2ca3a88]:focus{outline:none;border-color:#3b82f6;background:var(--bg-hover);box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-b2ca3a88]::placeholder{color:var(--text-dimmed)}.form-group input[data-v-b2ca3a88]:disabled{opacity:.5;cursor:not-allowed}.password-input[data-v-b2ca3a88]{position:relative}.password-input input[data-v-b2ca3a88]{padding-right:48px}.toggle-password[data-v-b2ca3a88]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.toggle-password[data-v-b2ca3a88]:hover{color:var(--text-secondary)}.toggle-password svg[data-v-b2ca3a88]{width:20px;height:20px}.form-options[data-v-b2ca3a88]{display:flex;align-items:center;justify-content:space-between;gap:16px}.checkbox-label[data-v-b2ca3a88]{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox][data-v-b2ca3a88]{width:16px;height:16px;cursor:pointer}.forgot-password[data-v-b2ca3a88]{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;transition:color .3s ease}.forgot-password[data-v-b2ca3a88]:hover{color:#60a5fa}.error-message[data-v-b2ca3a88]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.875rem}.error-message svg[data-v-b2ca3a88]{width:20px;height:20px;flex-shrink:0}.login-button[data-v-b2ca3a88]{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.login-button[data-v-b2ca3a88]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.login-button[data-v-b2ca3a88]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-b2ca3a88]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-b2ca3a88]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner svg[data-v-b2ca3a88]{width:20px;height:20px;animation:spin-b2ca3a88 1s linear infinite}@keyframes spin-b2ca3a88{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer[data-v-b2ca3a88]{margin-top:32px;text-align:center}.login-footer p[data-v-b2ca3a88]{font-size:.8rem;color:var(--text-dimmed);margin:0}.modal-overlay[data-v-b2ca3a88]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-content[data-v-b2ca3a88]{position:relative;width:100%;max-width:440px;background:var(--bg-surface-solid);border-radius:16px;border:1px solid var(--border-primary);padding:40px;box-shadow:0 8px 32px #00000080}.modal-close[data-v-b2ca3a88]{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;transition:color .3s ease}.modal-close[data-v-b2ca3a88]:hover{color:var(--text-primary)}.modal-close svg[data-v-b2ca3a88]{width:24px;height:24px}.modal-content h2[data-v-b2ca3a88]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 16px}.modal-content p[data-v-b2ca3a88]{font-size:.95rem;color:var(--text-secondary);margin:0 0 24px;line-height:150%}.reset-button[data-v-b2ca3a88]{width:100%;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.reset-button[data-v-b2ca3a88]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.reset-button[data-v-b2ca3a88]:disabled{opacity:.6;cursor:not-allowed}.reset-success[data-v-b2ca3a88]{text-align:center;padding:24px 0}.reset-success svg[data-v-b2ca3a88]{width:64px;height:64px;color:#10b981;margin-bottom:24px}.reset-success h3[data-v-b2ca3a88]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.reset-success p[data-v-b2ca3a88]{margin-bottom:32px}.reset-success strong[data-v-b2ca3a88]{color:#3b82f6}.close-modal-button[data-v-b2ca3a88]{padding:12px 32px;background:var(--bg-raised);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.close-modal-button[data-v-b2ca3a88]:hover{background:var(--bg-raised);border-color:var(--border-hover)}@media (max-width: 480px){.login-card[data-v-b2ca3a88]{padding:32px 24px}.login-header h1[data-v-b2ca3a88]{font-size:1.5rem}.form-options[data-v-b2ca3a88]{flex-direction:column;align-items:flex-start}}.reset-container[data-v-fbb763af]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:24px}.reset-card[data-v-fbb763af]{width:100%;max-width:440px;background:var(--bg-surface);border-radius:16px;border:1px solid var(--border-primary);box-shadow:0 8px 32px #0000004d;padding:40px;color:var(--text-primary)}h1[data-v-fbb763af]{font-size:1.5rem;margin:0 0 24px}form[data-v-fbb763af]{display:flex;flex-direction:column;gap:8px}label[data-v-fbb763af]{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-top:8px}input[data-v-fbb763af]{padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.95rem}input[data-v-fbb763af]:focus{outline:none;border-color:#3b82f6}.info[data-v-fbb763af]{color:var(--text-secondary);margin:0 0 24px}.error[data-v-fbb763af]{margin-top:8px;padding:10px 12px;border-radius:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5;font-size:.875rem}.primary[data-v-fbb763af]{margin-top:16px;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600;cursor:pointer}.primary[data-v-fbb763af]:disabled{opacity:.6;cursor:not-allowed}.link[data-v-fbb763af]{background:none;border:none;color:#93c5fd;cursor:pointer;padding:8px}.modal-overlay[data-v-87c790b9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-87c790b9]{width:100%;max-width:820px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 20px 60px #00000080;overflow:hidden;animation:slideIn-87c790b9 .25s ease}.modal-header[data-v-87c790b9]{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-primary);background:var(--bg-elevated)}.modal-title-section h2[data-v-87c790b9]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.group-name[data-v-87c790b9]{font-size:.9rem;color:#60a5fa;margin:4px 0 0;font-weight:500}.close-button[data-v-87c790b9]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex-shrink:0}.close-button[data-v-87c790b9]:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary)}.close-button[data-v-87c790b9]:disabled{opacity:.5;cursor:not-allowed}.close-button svg[data-v-87c790b9]{width:18px;height:18px}.modal-body[data-v-87c790b9]{padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.info-banner[data-v-87c790b9]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px}.info-banner svg[data-v-87c790b9]{width:20px;height:20px;color:#60a5fa;flex-shrink:0}.info-banner p[data-v-87c790b9]{font-size:.875rem;line-height:1.5;color:#93c5fd;margin:0}.command-section[data-v-87c790b9]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-87c790b9]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-87c790b9]{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-input[data-v-87c790b9]{width:100%;padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:all .2s ease;box-sizing:border-box}.form-input[data-v-87c790b9]::placeholder{color:var(--text-dimmed)}.form-input[data-v-87c790b9]:focus{outline:none;background:var(--bg-hover);border-color:#3b82f680}.slider[data-v-87c790b9]{width:100%;height:6px;background:var(--bg-raised);border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider[data-v-87c790b9]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #3b82f666}.slider[data-v-87c790b9]::-moz-range-thumb{width:20px;height:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;cursor:pointer}.slider-labels[data-v-87c790b9]{display:flex;justify-content:space-between}.slider-labels span[data-v-87c790b9]{font-size:.75rem;color:var(--text-muted)}.breakdown[data-v-87c790b9]{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.breakdown-header[data-v-87c790b9]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-hover);font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.breakdown-sum[data-v-87c790b9]{color:var(--text-muted);text-transform:none;letter-spacing:0}.breakdown-sum.ok[data-v-87c790b9]{color:#4ade80}.share-list[data-v-87c790b9]{max-height:240px;overflow-y:auto}.share-row[data-v-87c790b9]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-top:1px solid var(--border-subtle);transition:background .15s ease}.share-row[data-v-87c790b9]:hover{background:var(--bg-elevated)}.share-main[data-v-87c790b9]{display:flex;flex-direction:column}.share-name[data-v-87c790b9]{font-size:.9rem;color:var(--text-primary)}.share-sub[data-v-87c790b9]{font-size:.75rem;color:var(--text-muted)}.share-power[data-v-87c790b9]{font-size:.95rem;font-weight:600;color:#93c5fd;font-variant-numeric:tabular-nums}.empty-state[data-v-87c790b9]{padding:16px;font-size:.875rem;color:var(--text-muted)}.excluded[data-v-87c790b9]{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:8px}.excluded-title[data-v-87c790b9]{font-size:.8rem;font-weight:600;color:#fca5a5;margin-bottom:4px}.excluded-row[data-v-87c790b9]{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.excluded-reason[data-v-87c790b9]{color:var(--text-muted)}.action-buttons[data-v-87c790b9]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-btn[data-v-87c790b9]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.action-btn svg[data-v-87c790b9]{width:20px;height:20px}.charge-btn[data-v-87c790b9]{background:#22c55e26;border:2px solid rgba(34,197,94,.5);color:#4ade80}.charge-btn[data-v-87c790b9]:hover:not(:disabled){background:#22c55e40;transform:translateY(-2px)}.discharge-btn[data-v-87c790b9]{background:#fbbf2426;border:2px solid rgba(251,191,36,.5);color:#fbbf24}.discharge-btn[data-v-87c790b9]:hover:not(:disabled){background:#fbbf2440;transform:translateY(-2px)}.action-btn[data-v-87c790b9]:disabled{opacity:.4;cursor:not-allowed}.summary-grid[data-v-87c790b9]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-item[data-v-87c790b9]{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px}.summary-label[data-v-87c790b9]{font-size:.75rem;color:var(--text-muted)}.summary-value[data-v-87c790b9]{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.summary-value.charge[data-v-87c790b9],.cmd.charge[data-v-87c790b9]{color:#4ade80}.summary-value.discharge[data-v-87c790b9],.cmd.discharge[data-v-87c790b9]{color:#fbbf24}.results-summary[data-v-87c790b9]{padding:12px 16px;border-radius:8px;font-size:.9rem;font-weight:600;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#93c5fd}.results-summary.done[data-v-87c790b9]{background:#22c55e1a;border-color:#22c55e4d;color:#86efac}.results-summary.partial[data-v-87c790b9]{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.table-wrapper[data-v-87c790b9]{overflow:auto;max-height:320px;border:1px solid var(--border-primary);border-radius:8px}.confirm-table[data-v-87c790b9]{width:100%;border-collapse:collapse;font-size:.85rem}.confirm-table th[data-v-87c790b9]{position:sticky;top:0;background:var(--bg-surface-solid);text-align:left;padding:8px 12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.confirm-table td[data-v-87c790b9]{padding:8px 12px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.confirm-table .num[data-v-87c790b9]{text-align:right}.confirm-table .strong[data-v-87c790b9]{color:var(--text-primary);font-weight:600}.mono[data-v-87c790b9]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--text-secondary)}.cmd[data-v-87c790b9]{font-weight:600;white-space:nowrap}.warn[data-v-87c790b9]{display:block;font-size:.75rem;color:#fca5a5}.status[data-v-87c790b9]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--bg-hover);color:var(--text-secondary)}.status.sent[data-v-87c790b9]{background:#22c55e26;color:#4ade80}.status.failed[data-v-87c790b9]{background:#ef444426;color:#f87171}.result-message[data-v-87c790b9]{padding:12px 16px;border-radius:8px}.result-message.error[data-v-87c790b9]{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.result-message p[data-v-87c790b9]{font-size:.875rem;margin:0;color:#fca5a5}.modal-footer[data-v-87c790b9]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-primary);background:var(--bg-elevated)}.btn[data-v-87c790b9]{padding:12px 24px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary[data-v-87c790b9]{background:var(--bg-hover);border:1px solid var(--border-primary);color:var(--text-secondary)}.btn-secondary[data-v-87c790b9]:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary)}.btn-primary.charge[data-v-87c790b9]{background:#16a34a;color:#fff}.btn-primary.charge[data-v-87c790b9]:hover{background:#15803d}.btn-primary.discharge[data-v-87c790b9]{background:#d97706;color:#fff}.btn-primary.discharge[data-v-87c790b9]:hover{background:#b45309}.btn[data-v-87c790b9]:disabled{opacity:.5;cursor:not-allowed}@keyframes slideIn-87c790b9{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.modal-header[data-v-87c790b9],.modal-body[data-v-87c790b9]{padding:16px}.modal-title-section h2[data-v-87c790b9]{font-size:1.25rem}.summary-grid[data-v-87c790b9]{grid-template-columns:1fr 1fr}.action-buttons[data-v-87c790b9]{grid-template-columns:1fr}.modal-footer[data-v-87c790b9]{flex-direction:column-reverse}.btn[data-v-87c790b9]{width:100%}}.app-header[data-v-65ba0f66]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-primary);padding:16px 24px 0;position:sticky;top:0;z-index:100;transition:background .3s,border-color .3s}.header-content[data-v-65ba0f66]{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-left[data-v-65ba0f66]{display:flex;align-items:center;gap:16px}.logo[data-v-65ba0f66]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;flex-shrink:0}.logo svg[data-v-65ba0f66]{width:28px;height:28px;color:var(--text-primary)}.header-title h1[data-v-65ba0f66]{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.header-title p[data-v-65ba0f66]{font-size:.8rem;color:var(--text-muted);margin:2px 0 0}.header-right[data-v-65ba0f66]{position:relative;display:flex;align-items:center;gap:12px}.group-command-button[data-v-65ba0f66]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#fbbf2426,#f59e0b26);border:1px solid rgba(251,191,36,.4);border-radius:8px;color:#fbbf24;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative}.group-command-button[data-v-65ba0f66]:hover{background:linear-gradient(135deg,#fbbf2440,#f59e0b40);border-color:#fbbf2499;color:#fcd34d;box-shadow:0 4px 12px #fbbf2433;transform:translateY(-1px)}.group-command-button svg[data-v-65ba0f66]{width:18px;height:18px;flex-shrink:0}.theme-toggle[data-v-65ba0f66]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s}.theme-toggle[data-v-65ba0f66]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.theme-toggle svg[data-v-65ba0f66]{width:18px;height:18px}.filter-button[data-v-65ba0f66]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative}.filter-button[data-v-65ba0f66]:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.filter-button.active[data-v-65ba0f66]{background:#3b82f626;border-color:#3b82f666;color:#60a5fa}.filter-button svg[data-v-65ba0f66]{width:18px;height:18px;flex-shrink:0}.filter-badge[data-v-65ba0f66]{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#3b82f6;border-radius:10px;color:#fff;font-size:.75rem;font-weight:700}.socket-status[data-v-65ba0f66]{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid;font-size:.78rem;font-weight:600;letter-spacing:.02em;pointer-events:none;-webkit-user-select:none;user-select:none}.socket-status.connected[data-v-65ba0f66]{background:#10b9811a;border-color:#10b9814d;color:#10b981}.socket-status.disconnected[data-v-65ba0f66]{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.socket-dot[data-v-65ba0f66]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.socket-status.connected .socket-dot[data-v-65ba0f66]{background:#10b981;box-shadow:0 0 #10b98166;animation:pulse-green-65ba0f66 2s ease-in-out infinite}.socket-status.disconnected .socket-dot[data-v-65ba0f66]{background:#ef4444}@keyframes pulse-green-65ba0f66{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 5px #10b98100}to{box-shadow:0 0 #10b98100}}.socket-label[data-v-65ba0f66]{line-height:1}.user-info[data-v-65ba0f66]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;cursor:pointer;transition:all .3s ease}.user-info[data-v-65ba0f66]:hover{background:var(--bg-hover);border-color:var(--border-hover)}.user-avatar[data-v-65ba0f66]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;flex-shrink:0}.user-avatar svg[data-v-65ba0f66]{width:20px;height:20px;color:var(--text-primary)}.user-details[data-v-65ba0f66]{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name[data-v-65ba0f66]{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-65ba0f66]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dropdown-icon[data-v-65ba0f66]{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;transition:transform .3s ease}.user-info:hover .dropdown-icon[data-v-65ba0f66]{color:var(--text-secondary)}.user-menu-overlay[data-v-65ba0f66]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998}.user-menu[data-v-65ba0f66]{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--bg-surface-solid);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg);z-index:999;overflow:hidden}.menu-header[data-v-65ba0f66]{padding:20px;background:var(--bg-elevated)}.menu-user-info[data-v-65ba0f66]{display:flex;gap:12px}.menu-user-avatar[data-v-65ba0f66]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;flex-shrink:0}.menu-user-avatar svg[data-v-65ba0f66]{width:24px;height:24px;color:var(--text-primary)}.menu-user-details[data-v-65ba0f66]{display:flex;flex-direction:column;gap:4px;min-width:0}.menu-user-name[data-v-65ba0f66]{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.3}.menu-user-email[data-v-65ba0f66]{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-user-role[data-v-65ba0f66]{display:inline-flex;align-items:center;padding:4px 10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-self:flex-start;margin-top:4px}.menu-divider[data-v-65ba0f66]{height:1px;background:var(--border-primary)}.menu-items[data-v-65ba0f66]{padding:8px}.menu-item[data-v-65ba0f66]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:left}.menu-item[data-v-65ba0f66]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.menu-item svg[data-v-65ba0f66]{width:18px;height:18px;flex-shrink:0}.menu-item.logout[data-v-65ba0f66]{color:#fca5a5}.menu-item.logout[data-v-65ba0f66]:hover:not(:disabled){background:#ef44441a;color:#ef4444}.menu-item[data-v-65ba0f66]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-65ba0f66]{animation:spin-65ba0f66 1s linear infinite}@keyframes spin-65ba0f66{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.menu-enter-active[data-v-65ba0f66],.menu-leave-active[data-v-65ba0f66]{transition:all .2s ease}.menu-enter-from[data-v-65ba0f66],.menu-leave-to[data-v-65ba0f66]{opacity:0;transform:translateY(-8px)}.filters-panel[data-v-65ba0f66]{padding:16px 0;border-top:1px solid var(--border-subtle);margin-top:16px}.filters-content[data-v-65ba0f66]{max-width:1400px;margin:0 auto;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-group[data-v-65ba0f66]{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px}.filter-group label[data-v-65ba0f66]{font-size:.85rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-input-wrapper[data-v-65ba0f66]{position:relative;display:flex;align-items:center}.filter-icon[data-v-65ba0f66]{position:absolute;left:12px;width:18px;height:18px;color:var(--text-dimmed);pointer-events:none}.filter-input[data-v-65ba0f66],.filter-select[data-v-65ba0f66]{width:100%;padding:10px 40px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.9rem;transition:all .3s ease}.filter-select[data-v-65ba0f66]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(128,128,128,0.7)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.filter-select option[data-v-65ba0f66]{background:var(--bg-surface-solid);color:var(--text-primary);padding:8px}.filter-input[data-v-65ba0f66]::placeholder{color:var(--text-dimmed)}.filter-input[data-v-65ba0f66]:focus,.filter-select[data-v-65ba0f66]:focus{outline:none;background:var(--bg-hover);border-color:var(--border-focus)}.clear-input[data-v-65ba0f66]{position:absolute;right:8px;padding:6px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.clear-input[data-v-65ba0f66]:hover{color:var(--text-primary)}.clear-input svg[data-v-65ba0f66]{width:16px;height:16px}.clear-all-button[data-v-65ba0f66]{padding:10px 20px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.clear-all-button[data-v-65ba0f66]:hover{background:#ef444440;border-color:#ef444480}.clear-all-button svg[data-v-65ba0f66]{width:16px;height:16px}.filters-enter-active[data-v-65ba0f66],.filters-leave-active[data-v-65ba0f66]{transition:all .3s ease}.filters-enter-from[data-v-65ba0f66]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.filters-enter-to[data-v-65ba0f66],.filters-leave-from[data-v-65ba0f66]{opacity:1;max-height:200px}.filters-leave-to[data-v-65ba0f66]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}@media (max-width: 768px){.app-header[data-v-65ba0f66]{padding:12px 16px 0}.header-title h1[data-v-65ba0f66]{font-size:1.1rem}.header-title p[data-v-65ba0f66],.user-details[data-v-65ba0f66]{display:none}.user-menu[data-v-65ba0f66]{right:-8px;width:260px}.group-command-button span[data-v-65ba0f66]{display:none}.filter-button span[data-v-65ba0f66]:not(.filter-badge){display:none}.socket-label[data-v-65ba0f66]{display:none}.filters-content[data-v-65ba0f66]{flex-direction:column}.filter-group[data-v-65ba0f66]{width:100%}.clear-all-button[data-v-65ba0f66]{width:100%;justify-content:center}}.modal-overlay[data-v-410ba536]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-410ba536]{background:#fff;border-radius:12px;max-width:540px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-410ba536]{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-primary)}.modal-header h2[data-v-410ba536]{margin:0;font-size:20px;font-weight:600;color:#111827}.close-btn[data-v-410ba536]{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;line-height:1}.close-btn[data-v-410ba536]:hover{background:#f3f4f6;color:#111827}.modal-form[data-v-410ba536]{padding:24px}.form-group[data-v-410ba536]{margin-bottom:20px}.form-group label[data-v-410ba536]{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#374151}.form-input[data-v-410ba536]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s;font-family:inherit}.form-input[data-v-410ba536]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.disabled[data-v-410ba536]{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-hint[data-v-410ba536]{display:block;margin-top:4px;font-size:12px;color:#6b7280}textarea.form-input[data-v-410ba536]{resize:vertical;min-height:80px}.checkbox-group[data-v-410ba536]{margin-bottom:24px}.checkbox-label[data-v-410ba536]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-input[data-v-410ba536]{width:18px;height:18px;cursor:pointer}.error-message[data-v-410ba536]{padding:12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:20px}.modal-actions[data-v-410ba536]{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--border-primary)}.btn[data-v-410ba536]{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-410ba536]{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-cancel[data-v-410ba536]:hover{background:#f9fafb}.btn-save[data-v-410ba536]{background:#3b82f6;color:#fff}.btn-save[data-v-410ba536]:hover:not(:disabled){background:#2563eb;box-shadow:0 2px 8px #3b82f64d}.btn-save[data-v-410ba536]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-22df10cb]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-22df10cb .2s ease}@keyframes fadeIn-22df10cb{0%{opacity:0}to{opacity:1}}.modal-container[data-v-22df10cb]{background:var(--bg-surface-solid);border:1px solid rgba(59,130,246,.3);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideIn-22df10cb .3s ease}@keyframes slideIn-22df10cb{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-22df10cb]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(148,163,184,.1)}.modal-header h2[data-v-22df10cb]{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.close-btn[data-v-22df10cb]{background:none;border:none;color:var(--text-muted);font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-btn[data-v-22df10cb]:hover{background:#94a3b81a;color:var(--text-primary)}.modal-content[data-v-22df10cb]{padding:24px}.action-info[data-v-22df10cb]{display:flex;flex-direction:column;gap:24px}.action-name-section[data-v-22df10cb]{display:flex;flex-direction:column;gap:12px;padding-bottom:20px;border-bottom:1px solid rgba(148,163,184,.1)}.action-name[data-v-22df10cb]{margin:0;font-size:1.5rem;font-weight:700;color:#60a5fa}.status-badge[data-v-22df10cb]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:600;width:fit-content}.status-badge.status-active[data-v-22df10cb]{background:#34d39926;border:1px solid rgba(52,211,153,.3);color:#34d399}.status-badge.status-inactive[data-v-22df10cb]{background:#6b728026;border:1px solid rgba(107,114,128,.3);color:var(--text-muted)}.status-dot[data-v-22df10cb]{width:8px;height:8px;border-radius:50%;background:currentColor}.status-active .status-dot[data-v-22df10cb]{animation:pulse-22df10cb 2s ease-in-out infinite}@keyframes pulse-22df10cb{0%,to{opacity:1}50%{opacity:.5}}.command-section[data-v-22df10cb]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:16px}.section-label[data-v-22df10cb]{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.command-value[data-v-22df10cb]{font-size:1.25rem;font-weight:700;color:#60a5fa}.details-section[data-v-22df10cb]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:16px}.details-grid[data-v-22df10cb]{display:grid;grid-template-columns:1fr;gap:12px}.detail-item[data-v-22df10cb]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-surface);border-radius:6px;font-size:.875rem}.detail-label[data-v-22df10cb]{color:var(--text-muted);font-weight:500}.detail-value[data-v-22df10cb]{color:var(--text-primary);font-weight:600;text-align:right}.detail-value.monospace[data-v-22df10cb]{font-family:monospace;font-size:.8rem}.mqtt-section[data-v-22df10cb]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:16px}.mqtt-command[data-v-22df10cb]{padding:12px;background:var(--bg-input);border:1px solid rgba(148,163,184,.1);border-radius:6px;font-family:monospace;font-size:.875rem;color:#34d399;word-break:break-all}.modal-actions[data-v-22df10cb]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(148,163,184,.1)}.btn[data-v-22df10cb]{padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn[data-v-22df10cb]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-22df10cb]{background:#94a3b81a;color:var(--text-primary);border:1px solid rgba(148,163,184,.3)}.btn-cancel[data-v-22df10cb]:hover:not(:disabled){background:#94a3b833;border-color:#94a3b880}.btn-confirm[data-v-22df10cb]{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.5)}.btn-confirm[data-v-22df10cb]:hover:not(:disabled){background:#3b82f64d;border-color:#3b82f6b3;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.action-button-group[data-v-3c67ce3a]{margin-top:16px}.empty-state[data-v-3c67ce3a]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:8px;font-size:.875rem;color:#6b7280;background:var(--bg-elevated)}.actions-list[data-v-3c67ce3a]{display:flex;flex-direction:column;gap:16px}.action-section[data-v-3c67ce3a]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:16px}.action-header[data-v-3c67ce3a]{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.1)}.action-title-row[data-v-3c67ce3a]{display:flex;justify-content:space-between;align-items:center;gap:12px}.action-name[data-v-3c67ce3a]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.status-badge[data-v-3c67ce3a]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-badge.status-active[data-v-3c67ce3a]{background:#34d39926;border:1px solid rgba(52,211,153,.3);color:#34d399}.status-badge.status-inactive[data-v-3c67ce3a]{background:#6b728026;border:1px solid rgba(107,114,128,.3);color:var(--text-muted)}.status-dot[data-v-3c67ce3a]{width:6px;height:6px;border-radius:50%;background:currentColor}.status-active .status-dot[data-v-3c67ce3a]{animation:pulse-3c67ce3a 2s ease-in-out infinite}@keyframes pulse-3c67ce3a{0%,to{opacity:1}50%{opacity:.5}}.command-buttons[data-v-3c67ce3a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.command-btn[data-v-3c67ce3a]{display:flex;align-items:center;justify-content:center;padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.command-btn[data-v-3c67ce3a]:hover{background:#3b82f633;border-color:#3b82f680;transform:translateY(-1px)}.feedback-message[data-v-3c67ce3a]{margin-top:12px;padding:12px;border-radius:8px;font-size:.875rem;display:flex;align-items:center;gap:8px;animation:slideDown-3c67ce3a .3s ease}@keyframes slideDown-3c67ce3a{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-message.success[data-v-3c67ce3a]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.feedback-message.error[data-v-3c67ce3a]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.feedback-icon[data-v-3c67ce3a]{width:16px;height:16px;flex-shrink:0}.modal-backdrop[data-v-68221666]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-container[data-v-68221666]{background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #00000080;overflow:hidden}.modal-header[data-v-68221666]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-primary)}.modal-header h3[data-v-68221666]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.close-btn[data-v-68221666]{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-raised);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.close-btn[data-v-68221666]:hover{background:var(--bg-raised);color:var(--text-primary)}.close-btn svg[data-v-68221666]{width:16px;height:16px}.modal-tabs[data-v-68221666]{display:flex;border-bottom:1px solid var(--border-primary)}.tab-btn[data-v-68221666]{flex:1;padding:12px 16px;border:none;background:none;color:var(--text-muted);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s;position:relative}.tab-btn[data-v-68221666]:hover{color:var(--text-primary);background:var(--bg-elevated)}.tab-btn.active[data-v-68221666]{color:#38bdf8}.tab-btn.active[data-v-68221666]:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;background:#38bdf8;border-radius:1px}.modal-body[data-v-68221666]{padding:24px}.tab-content[data-v-68221666]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-68221666]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-68221666]{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-group label strong[data-v-68221666]{color:var(--text-primary);text-transform:none}.command-toggle[data-v-68221666]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cmd-btn[data-v-68221666]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;border:1px solid var(--border-primary);background:var(--bg-surface-solid);color:var(--text-muted);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s}.cmd-btn svg[data-v-68221666]{width:18px;height:18px}.cmd-btn[data-v-68221666]:hover{border-color:var(--border-primary);color:var(--text-primary)}.cmd-btn.active[data-v-68221666]{border-color:#38bdf8;background:#38bdf814;color:#38bdf8}.input-field[data-v-68221666]{padding:12px 14px;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:.92rem;transition:border-color .2s;font-family:ui-monospace,Menlo,Monaco,monospace}.input-field[data-v-68221666]:focus{outline:none;border-color:#38bdf8}.input-field[data-v-68221666]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.duration-slider[data-v-68221666]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-raised);border-radius:3px;outline:none}.duration-slider[data-v-68221666]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#38bdf8;cursor:pointer;border:2px solid var(--border-primary)}.slider-labels[data-v-68221666]{display:flex;justify-content:space-between;font-size:.7rem;color:#64748b}.pv-input-row[data-v-68221666]{display:flex;align-items:center;gap:12px}.pv-slider[data-v-68221666]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-raised);border-radius:3px;outline:none}.pv-slider[data-v-68221666]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#38bdf8;cursor:pointer;border:2px solid var(--border-primary)}.pv-value[data-v-68221666]{font-size:1rem;font-weight:700;color:#38bdf8;min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.time-summary[data-v-68221666]{padding:12px 14px;background:#38bdf80a;border:1px solid rgba(56,189,248,.12);border-radius:10px;display:flex;flex-direction:column;gap:6px}.time-row[data-v-68221666]{display:flex;justify-content:space-between;align-items:center}.time-label[data-v-68221666]{font-size:.8rem;color:#64748b;font-weight:500}.time-value[data-v-68221666]{font-size:.88rem;color:var(--text-primary);font-family:ui-monospace,Menlo,Monaco,monospace;font-variant-numeric:tabular-nums}.send-btn[data-v-68221666]{padding:14px 24px;border:none;border-radius:10px;font-weight:600;font-size:.92rem;cursor:pointer;transition:all .2s;color:var(--text-primary)}.send-btn[data-v-68221666]:disabled{opacity:.4;cursor:not-allowed}.send-btn.charging[data-v-68221666]{background:#10b981}.send-btn.charging[data-v-68221666]:hover:not(:disabled){background:#059669}.send-btn.discharging[data-v-68221666]{background:#ef4444}.send-btn.discharging[data-v-68221666]:hover:not(:disabled){background:#dc2626}.feedback[data-v-68221666]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:8px;font-size:.84rem;margin-top:12px}.feedback svg[data-v-68221666]{width:18px;height:18px;flex-shrink:0}.feedback.success[data-v-68221666]{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.feedback.error[data-v-68221666]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}@media (max-width: 480px){.modal-backdrop[data-v-68221666]{padding:12px}.command-toggle[data-v-68221666]{grid-template-columns:1fr}}.lc[data-v-78e7efcb]{width:100%}.lc-legend[data-v-78e7efcb]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.lc-legend-btn[data-v-78e7efcb]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #cbd5e1);cursor:pointer;transition:opacity .15s,border-color .15s}.lc-legend-btn[data-v-78e7efcb]:hover{border-color:#0ea5e9}.lc-legend-btn.off[data-v-78e7efcb]{opacity:.4}.lc-legend-btn.empty[data-v-78e7efcb]{cursor:default;opacity:.6}.lc-nodata[data-v-78e7efcb]{font-size:11px;color:#fbbf24}.lc-dot[data-v-78e7efcb]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.lc-plot[data-v-78e7efcb]{position:relative}.lc-plot svg.zoomable[data-v-78e7efcb]{cursor:crosshair;-webkit-user-select:none;user-select:none}.lc-legend-alert[data-v-78e7efcb]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;border-radius:999px;color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.35)}.lc-swatch[data-v-78e7efcb]{width:14px;height:3px;border-radius:2px;background:#ef4444}.lc-legend-spacer[data-v-78e7efcb]{flex:1}.lc-hint[data-v-78e7efcb]{align-self:center;font-size:11px;color:var(--text-secondary, #94a3b8)}.lc-reset[data-v-78e7efcb]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;border-radius:999px;border:1px solid #0ea5e9;background:#0ea5e91f;color:#7dd3fc;cursor:pointer;transition:background .15s}.lc-reset[data-v-78e7efcb]:hover{background:#0ea5e938}.lc-reset svg[data-v-78e7efcb]{width:14px;height:14px}.lc-alert-band[data-v-78e7efcb]{fill:#ef44441a}.lc-line-alert[data-v-78e7efcb]{stroke-width:2.5}.lc-selection[data-v-78e7efcb]{fill:#0ea5e926;stroke:#0ea5e9;stroke-width:1;stroke-dasharray:4 3}.lc-tooltip-alert[data-v-78e7efcb]{color:#f87171}.lc-grid[data-v-78e7efcb]{stroke:var(--border-primary, #2a3a4a);stroke-width:1;opacity:.6}.lc-axis[data-v-78e7efcb]{fill:var(--text-secondary, #94a3b8);font-size:11px}.lc-line[data-v-78e7efcb]{fill:none;stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}.lc-cursor[data-v-78e7efcb]{stroke:var(--text-secondary, #94a3b8);stroke-dasharray:3 3;opacity:.7}.lc-point[data-v-78e7efcb]{stroke:var(--bg-primary, #0b1622);stroke-width:1.5}.lc-empty[data-v-78e7efcb]{display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-secondary, #94a3b8);border:1px dashed var(--border-primary, #2a3a4a);border-radius:8px}.lc-tooltip[data-v-78e7efcb]{position:absolute;width:208px;pointer-events:none;padding:8px 10px;border-radius:8px;background:var(--tooltip-bg);border:1px solid var(--border-primary, #2a3a4a);box-shadow:0 8px 24px #0006;font-size:12px;color:var(--text-primary)}.lc-tooltip-time[data-v-78e7efcb]{font-weight:600;margin-bottom:4px;color:var(--text-muted)}.lc-tooltip-row[data-v-78e7efcb]{display:flex;align-items:center;gap:6px;line-height:1.6}.lc-tooltip-label[data-v-78e7efcb]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-tooltip-value[data-v-78e7efcb]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.lc-tooltip-missing[data-v-78e7efcb]{font-family:inherit;font-weight:400;font-style:italic;color:var(--text-muted)}.lc-tooltip-note[data-v-78e7efcb]{margin-top:6px;padding-top:6px;border-top:1px solid rgba(148,163,184,.25);color:var(--text-muted)}.lc-tooltip-note.warn[data-v-78e7efcb]{color:#fbbf24}.ld-overlay[data-v-6c98fc4f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#020810b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:ld-fade-6c98fc4f .15s ease-out}.ld-modal[data-v-6c98fc4f]{width:min(1240px,100%);height:min(820px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--bg-secondary, #0f1b2a);border:1px solid var(--border-primary, #2a3a4a);border-radius:12px;box-shadow:0 24px 64px #00000080;color:var(--text-primary, #e2e8f0);animation:ld-rise-6c98fc4f .18s ease-out}.ld-overlay.embedded[data-v-6c98fc4f]{position:static;inset:auto;display:block;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;animation:none}.ld-overlay.embedded .ld-modal[data-v-6c98fc4f]{width:100%;height:max(600px,calc(100vh - 260px));box-shadow:none;animation:none}.ld-header[data-v-6c98fc4f]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-primary, #2a3a4a)}.ld-header h2[data-v-6c98fc4f]{margin:0;font-size:18px;font-weight:600;line-height:1.2}.ld-sub[data-v-6c98fc4f]{margin:4px 0 0;font-size:13px;color:var(--text-secondary, #94a3b8)}.ld-mono[data-v-6c98fc4f]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-secondary, #94a3b8)}.ld-icon-btn[data-v-6c98fc4f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.ld-icon-btn.small[data-v-6c98fc4f]{width:28px;height:28px}.ld-icon-btn[data-v-6c98fc4f]:hover:not(:disabled){background:var(--bg-hover, #1e3a54);color:var(--text-primary, #e2e8f0)}.ld-icon-btn[data-v-6c98fc4f]:disabled{cursor:default}.ld-body[data-v-6c98fc4f]{flex:1;min-height:0;display:grid;grid-template-columns:320px 1fr}.ld-params[data-v-6c98fc4f]{display:flex;flex-direction:column;gap:8px;min-height:0;padding:16px;border-right:1px solid var(--border-primary, #2a3a4a);background:var(--bg-primary, #0b1622)}.ld-params-head[data-v-6c98fc4f]{display:flex;align-items:center;justify-content:space-between}.ld-params-head h3[data-v-6c98fc4f]{margin:0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.ld-count[data-v-6c98fc4f]{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8)}.ld-search[data-v-6c98fc4f]{width:100%;padding:8px 10px;font-size:13px;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);outline:none;transition:border-color .15s}.ld-search[data-v-6c98fc4f]:focus{border-color:#0ea5e9}.ld-params-list[data-v-6c98fc4f]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.ld-group[data-v-6c98fc4f]{border-radius:8px}.ld-group-head[data-v-6c98fc4f]{display:flex;align-items:center;gap:4px;padding:4px;border-radius:6px;position:sticky;top:0;background:var(--bg-primary, #0b1622);z-index:1}.ld-collapse[data-v-6c98fc4f]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:transform .15s}.ld-collapse.open[data-v-6c98fc4f]{transform:rotate(90deg)}.ld-group-items[data-v-6c98fc4f]{display:flex;flex-direction:column;padding:0 0 8px 24px}.ld-check[data-v-6c98fc4f]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px;border-radius:6px;cursor:pointer;color:var(--text-primary, #cbd5e1);transition:background .12s;min-width:0}.ld-check span[data-v-6c98fc4f]:not(.ld-count){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ld-check[data-v-6c98fc4f]:hover{background:var(--bg-hover, #1e3a54)}.ld-check.group[data-v-6c98fc4f]{flex:1;font-weight:600}.ld-group-name[data-v-6c98fc4f]{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ld-check input[data-v-6c98fc4f]{accent-color:#0ea5e9;width:14px;height:14px;flex-shrink:0;cursor:pointer}.ld-params-foot[data-v-6c98fc4f]{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-secondary, #94a3b8);padding-top:8px;border-top:1px solid var(--border-primary, #2a3a4a)}.ld-link[data-v-6c98fc4f]{border:none;background:none;padding:0;font-size:12px;font-weight:600;color:#38bdf8;cursor:pointer}.ld-link[data-v-6c98fc4f]:hover{text-decoration:underline}.raw-toggle[data-v-6c98fc4f]{align-self:flex-start}.ld-main[data-v-6c98fc4f]{display:flex;flex-direction:column;gap:16px;min-width:0;padding:16px 24px 24px;overflow-y:auto}.ld-toolbar[data-v-6c98fc4f]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.ld-presets[data-v-6c98fc4f]{display:flex;gap:4px}.ld-chip[data-v-6c98fc4f]{padding:6px 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #cbd5e1);cursor:pointer;transition:border-color .15s,background .15s}.ld-chip[data-v-6c98fc4f]:hover{border-color:#0ea5e9;background:var(--bg-hover, #1e3a54)}.ld-range[data-v-6c98fc4f]{display:flex;flex-wrap:wrap;gap:8px}.ld-range label[data-v-6c98fc4f]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary, #94a3b8)}.ld-range input[data-v-6c98fc4f]{padding:6px 8px;font-size:13px;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);color-scheme:dark}.ld-btn[data-v-6c98fc4f]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.ld-btn[data-v-6c98fc4f]:hover:not(:disabled){background:var(--bg-hover, #1e3a54);border-color:#0ea5e9}.ld-btn.primary[data-v-6c98fc4f]{margin-left:auto;background:#0284c7;border-color:#0284c7;color:#fff}.ld-btn.primary[data-v-6c98fc4f]:hover:not(:disabled){background:#0369a1}.ld-btn[data-v-6c98fc4f]:disabled{opacity:.5;cursor:default}.ld-chart-card[data-v-6c98fc4f]{border:1px solid var(--border-primary, #2a3a4a);border-radius:10px;padding:16px;background:var(--bg-primary, #0b1622)}.ld-placeholder[data-v-6c98fc4f],.ld-state[data-v-6c98fc4f]{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--text-secondary, #94a3b8)}.ld-placeholder[data-v-6c98fc4f]{min-height:380px;text-align:center}.ld-state[data-v-6c98fc4f]{padding:24px 0}.ld-main-foot[data-v-6c98fc4f]{display:flex;justify-content:flex-end}.ld-hint[data-v-6c98fc4f]{margin:8px 0 0;font-size:13px;color:var(--text-secondary, #94a3b8)}.ld-error[data-v-6c98fc4f]{margin:0;font-size:13px;color:#f87171}.ld-warn[data-v-6c98fc4f]{margin:0;font-size:12px;color:#fbbf24}.ld-pre[data-v-6c98fc4f]{margin:0;max-height:200px;overflow:auto;padding:8px;font-size:11px;line-height:1.5;border-radius:6px;background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #cbd5e1)}.ld-spinner[data-v-6c98fc4f]{width:12px;height:12px;border:2px solid rgba(148,163,184,.3);border-top-color:#0ea5e9;border-radius:50%;animation:ld-spin-6c98fc4f .7s linear infinite}.ld-spinner.light[data-v-6c98fc4f]{border-color:var(--border-hover);border-top-color:#fff}@keyframes ld-spin-6c98fc4f{to{transform:rotate(360deg)}}@keyframes ld-fade-6c98fc4f{0%{opacity:0}}@keyframes ld-rise-6c98fc4f{0%{opacity:0;transform:translateY(8px)}}@media (max-width: 860px){.ld-modal[data-v-6c98fc4f]{height:calc(100vh - 32px)}.ld-body[data-v-6c98fc4f]{grid-template-columns:1fr;grid-template-rows:minmax(200px,40%) 1fr}.ld-params[data-v-6c98fc4f]{border-right:none;border-bottom:1px solid var(--border-primary, #2a3a4a)}.ld-header[data-v-6c98fc4f],.ld-main[data-v-6c98fc4f]{padding-left:16px;padding-right:16px}.ld-btn.primary[data-v-6c98fc4f]{margin-left:0}}.ms-overlay[data-v-7edee40f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#020810b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:ms-fade-7edee40f .15s ease-out}.ms-modal[data-v-7edee40f]{width:min(1080px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--bg-secondary, #0f1b2a);border:1px solid var(--border-primary, #2a3a4a);border-radius:12px;box-shadow:0 24px 64px #00000080;color:var(--text-primary, #e2e8f0);animation:ms-rise-7edee40f .18s ease-out}.ms-overlay.embedded[data-v-7edee40f]{position:static;inset:auto;display:block;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;animation:none}.ms-overlay.embedded .ms-modal[data-v-7edee40f]{width:100%;max-height:none;box-shadow:none;animation:none}.ms-header[data-v-7edee40f]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-primary, #2a3a4a)}.ms-header h2[data-v-7edee40f]{margin:0;font-size:18px;font-weight:600;line-height:1.2}.ms-sub[data-v-7edee40f]{margin:4px 0 0;font-size:13px;color:var(--text-secondary, #94a3b8)}.ms-mono[data-v-7edee40f]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ms-sub .ms-mono[data-v-7edee40f]{color:var(--text-secondary, #94a3b8)}.ms-mono.strong[data-v-7edee40f]{font-weight:600;color:var(--text-primary, #e2e8f0)}.ms-icon-btn[data-v-7edee40f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.ms-icon-btn[data-v-7edee40f]:hover{background:var(--bg-hover, #1e3a54);color:var(--text-primary, #e2e8f0)}.ms-body[data-v-7edee40f]{overflow-y:auto;padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.ms-control[data-v-7edee40f]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.ms-status[data-v-7edee40f]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.ms-pill[data-v-7edee40f]{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8)}.ms-pill-dot[data-v-7edee40f]{width:8px;height:8px;border-radius:50%;background:currentColor}.ms-pill.idle[data-v-7edee40f]{color:#34d399;border-color:#10b98159}.ms-pill.failed[data-v-7edee40f]{color:#f87171;border-color:#ef444459}.ms-pill.running[data-v-7edee40f]{color:#38bdf8;border-color:#0ea5e966}.ms-pill.running .ms-pill-dot[data-v-7edee40f]{animation:ms-pulse-7edee40f 1s ease-in-out infinite}.ms-meta[data-v-7edee40f]{font-size:13px;color:var(--text-secondary, #94a3b8)}.ms-actions[data-v-7edee40f]{display:flex;gap:8px}.ms-btn[data-v-7edee40f]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.ms-btn[data-v-7edee40f]:hover:not(:disabled){background:var(--bg-hover, #1e3a54);border-color:#0ea5e9}.ms-btn.primary[data-v-7edee40f]{background:#0284c7;border-color:#0284c7;color:#fff}.ms-btn.primary[data-v-7edee40f]:hover:not(:disabled){background:#0369a1}.ms-btn[data-v-7edee40f]:disabled{opacity:.55;cursor:default}.ms-progress[data-v-7edee40f]{height:4px;border-radius:999px;background:var(--bg-elevated, #1a2a3a);overflow:hidden}.ms-progress-bar[data-v-7edee40f]{height:100%;background:linear-gradient(90deg,#0284c7,#38bdf8);border-radius:999px;transition:width .5s linear}.ms-stats[data-v-7edee40f]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ms-stat[data-v-7edee40f]{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:10px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-primary, #0b1622)}.ms-stat-value[data-v-7edee40f]{font-size:24px;font-weight:600;line-height:1.2}.ms-stat-value.accent[data-v-7edee40f]{color:#38bdf8}.ms-stat-label[data-v-7edee40f]{font-size:12px;color:var(--text-secondary, #94a3b8)}.ms-networks[data-v-7edee40f]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ms-networks-label[data-v-7edee40f]{font-size:12px;color:var(--text-secondary, #94a3b8);margin-right:4px}.ms-pre.text[data-v-7edee40f]{max-height:120px;white-space:pre-wrap;word-break:break-all}.ms-filters[data-v-7edee40f]{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.ms-search[data-v-7edee40f]{flex:1;min-width:200px;padding:8px 10px;font-size:13px;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);outline:none;transition:border-color .15s}.ms-search[data-v-7edee40f]:focus{border-color:#0ea5e9}.ms-toggle[data-v-7edee40f]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary, #cbd5e1);cursor:pointer}.ms-toggle input[data-v-7edee40f]{accent-color:#0ea5e9}.ms-hosts[data-v-7edee40f]{display:flex;flex-direction:column;border:1px solid var(--border-primary, #2a3a4a);border-radius:10px;overflow:hidden;background:var(--bg-primary, #0b1622)}.ms-host+.ms-host[data-v-7edee40f]{border-top:1px solid var(--border-primary, #2a3a4a)}.ms-host-row[data-v-7edee40f]{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;transition:background .12s}.ms-host-row[data-v-7edee40f]:hover{background:var(--bg-hover, #1e3a54)}.ms-host.open .ms-host-row[data-v-7edee40f]{background:var(--bg-elevated, #1a2a3a)}.ms-chevron[data-v-7edee40f]{flex-shrink:0;color:var(--text-secondary, #94a3b8);transition:transform .15s}.ms-host.open .ms-chevron[data-v-7edee40f]{transform:rotate(90deg)}.ms-ip[data-v-7edee40f]{width:120px;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600}.ms-desc[data-v-7edee40f]{flex:1;min-width:0;display:flex;flex-direction:column}.ms-desc-main[data-v-7edee40f],.ms-desc-sub[data-v-7edee40f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-desc-main[data-v-7edee40f]{font-size:13px}.ms-desc-sub[data-v-7edee40f]{font-size:12px;color:var(--text-secondary, #94a3b8)}.ms-tag[data-v-7edee40f]{display:inline-flex;align-items:center;padding:2px 8px;margin:1px 4px 1px 0;font-size:11px;font-weight:600;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #cbd5e1);white-space:nowrap;flex-shrink:0}.ms-tag.small[data-v-7edee40f]{font-size:10px}.ms-tag.type[data-v-7edee40f]{color:#7dd3fc;border-color:#0ea5e959;background:#0ea5e91a}.ms-tag.ok[data-v-7edee40f]{color:#34d399;border-color:#10b98159;background:#10b9811a}.ms-tag.off[data-v-7edee40f]{color:var(--text-secondary, #94a3b8);opacity:.7}.ms-host-detail[data-v-7edee40f]{display:flex;flex-direction:column;gap:16px;padding:16px 16px 16px 40px;animation:ms-fade-7edee40f .15s ease-out}.ms-kv[data-v-7edee40f]{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px}.ms-kv dt[data-v-7edee40f]{font-size:11px;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.ms-kv dd[data-v-7edee40f]{margin:2px 0 0;font-size:13px;word-break:break-word}.ms-block h4[data-v-7edee40f]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #94a3b8)}.ms-chips[data-v-7edee40f]{display:flex;flex-wrap:wrap}.ms-table-wrap[data-v-7edee40f]{overflow-x:auto;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a)}.ms-table[data-v-7edee40f]{width:100%;border-collapse:collapse;font-size:12px}.ms-table th[data-v-7edee40f]{text-align:left;padding:8px;font-weight:600;background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);white-space:nowrap}.ms-table td[data-v-7edee40f]{padding:6px 8px;border-top:1px solid var(--border-primary, #2a3a4a)}.ms-empty[data-v-7edee40f]{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;font-size:13px;text-align:center;color:var(--text-secondary, #94a3b8)}.ms-empty.large[data-v-7edee40f]{min-height:200px;border:1px dashed var(--border-primary, #2a3a4a);border-radius:10px}.ms-link[data-v-7edee40f]{align-self:flex-start;border:none;background:none;padding:0;font-size:12px;font-weight:600;color:#38bdf8;cursor:pointer}.ms-link[data-v-7edee40f]:hover{text-decoration:underline}.ms-pre[data-v-7edee40f]{margin:0;max-height:300px;overflow:auto;padding:12px;font-size:11px;line-height:1.5;border-radius:6px;background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #cbd5e1)}.ms-error[data-v-7edee40f]{margin:0;font-size:13px;color:#f87171}.ms-warn[data-v-7edee40f]{margin:0;font-size:13px;color:#fbbf24}.ms-spinner[data-v-7edee40f]{width:12px;height:12px;border:2px solid rgba(148,163,184,.3);border-top-color:#0ea5e9;border-radius:50%;animation:ms-spin-7edee40f .7s linear infinite}.ms-spinner.light[data-v-7edee40f]{border-color:#ffffff59;border-top-color:#fff}@keyframes ms-spin-7edee40f{to{transform:rotate(360deg)}}@keyframes ms-fade-7edee40f{0%{opacity:0}}@keyframes ms-rise-7edee40f{0%{opacity:0;transform:translateY(8px)}}@keyframes ms-pulse-7edee40f{50%{opacity:.3}}@media (max-width: 720px){.ms-header[data-v-7edee40f],.ms-body[data-v-7edee40f]{padding-left:16px;padding-right:16px}.ms-stats[data-v-7edee40f]{grid-template-columns:1fr}.ms-host-row[data-v-7edee40f]{flex-wrap:wrap}.ms-ip[data-v-7edee40f]{width:auto}.ms-desc[data-v-7edee40f]{flex-basis:100%;order:3}.ms-host-detail[data-v-7edee40f]{padding-left:16px}}.ms-overlay[data-v-21807dcc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#020810b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:ms-fade-21807dcc .15s ease-out}.ms-modal[data-v-21807dcc]{width:min(1080px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--bg-secondary, #0f1b2a);border:1px solid var(--border-primary, #2a3a4a);border-radius:12px;box-shadow:0 24px 64px #00000080;color:var(--text-primary, #e2e8f0);animation:ms-rise-21807dcc .18s ease-out}.ms-overlay.embedded[data-v-21807dcc]{position:static;inset:auto;display:block;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;animation:none}.ms-overlay.embedded .ms-modal[data-v-21807dcc]{width:100%;max-height:none;box-shadow:none;animation:none}.ms-header[data-v-21807dcc]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-primary, #2a3a4a)}.ms-header h2[data-v-21807dcc]{margin:0;font-size:18px;font-weight:600;line-height:1.2}.ms-sub[data-v-21807dcc]{margin:4px 0 0;font-size:13px;color:var(--text-secondary, #94a3b8)}.ms-mono[data-v-21807dcc]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ms-sub .ms-mono[data-v-21807dcc]{color:var(--text-secondary, #94a3b8)}.ms-mono.strong[data-v-21807dcc]{font-weight:600;color:var(--text-primary, #e2e8f0)}.ms-icon-btn[data-v-21807dcc]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.ms-icon-btn[data-v-21807dcc]:hover{background:var(--bg-hover, #1e3a54);color:var(--text-primary, #e2e8f0)}.ms-body[data-v-21807dcc]{overflow-y:auto;padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.ms-control[data-v-21807dcc]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.ms-status[data-v-21807dcc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.ms-pill[data-v-21807dcc]{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8)}.ms-pill-dot[data-v-21807dcc]{width:8px;height:8px;border-radius:50%;background:currentColor}.ms-pill.idle[data-v-21807dcc]{color:#34d399;border-color:#10b98159}.ms-pill.failed[data-v-21807dcc]{color:#f87171;border-color:#ef444459}.ms-pill.running[data-v-21807dcc]{color:#38bdf8;border-color:#0ea5e966}.ms-pill.running .ms-pill-dot[data-v-21807dcc]{animation:ms-pulse-21807dcc 1s ease-in-out infinite}.ms-meta[data-v-21807dcc]{font-size:13px;color:var(--text-secondary, #94a3b8)}.ms-actions[data-v-21807dcc]{display:flex;gap:8px}.ms-btn[data-v-21807dcc]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.ms-btn[data-v-21807dcc]:hover:not(:disabled){background:var(--bg-hover, #1e3a54);border-color:#0ea5e9}.ms-btn.primary[data-v-21807dcc]{background:#0284c7;border-color:#0284c7;color:#fff}.ms-btn.primary[data-v-21807dcc]:hover:not(:disabled){background:#0369a1}.ms-btn[data-v-21807dcc]:disabled{opacity:.55;cursor:default}.ms-progress[data-v-21807dcc]{height:4px;border-radius:999px;background:var(--bg-elevated, #1a2a3a);overflow:hidden}.ms-progress-bar[data-v-21807dcc]{height:100%;background:linear-gradient(90deg,#0284c7,#38bdf8);border-radius:999px;transition:width .5s linear}.ms-stats[data-v-21807dcc]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ms-stat[data-v-21807dcc]{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:10px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-primary, #0b1622)}.ms-stat-value[data-v-21807dcc]{font-size:24px;font-weight:600;line-height:1.2}.ms-stat-value.accent[data-v-21807dcc]{color:#38bdf8}.ms-stat-label[data-v-21807dcc]{font-size:12px;color:var(--text-secondary, #94a3b8)}.ms-networks[data-v-21807dcc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ms-networks-label[data-v-21807dcc]{font-size:12px;color:var(--text-secondary, #94a3b8);margin-right:4px}.ms-pre.text[data-v-21807dcc]{max-height:120px;white-space:pre-wrap;word-break:break-all}.ms-filters[data-v-21807dcc]{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.ms-search[data-v-21807dcc]{flex:1;min-width:200px;padding:8px 10px;font-size:13px;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);outline:none;transition:border-color .15s}.ms-search[data-v-21807dcc]:focus{border-color:#0ea5e9}.ms-toggle[data-v-21807dcc]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary, #cbd5e1);cursor:pointer}.ms-toggle input[data-v-21807dcc]{accent-color:#0ea5e9}.ms-hosts[data-v-21807dcc]{display:flex;flex-direction:column;border:1px solid var(--border-primary, #2a3a4a);border-radius:10px;overflow:hidden;background:var(--bg-primary, #0b1622)}.ms-host+.ms-host[data-v-21807dcc]{border-top:1px solid var(--border-primary, #2a3a4a)}.ms-host-row[data-v-21807dcc]{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;transition:background .12s}.ms-host-row[data-v-21807dcc]:hover{background:var(--bg-hover, #1e3a54)}.ms-host.open .ms-host-row[data-v-21807dcc]{background:var(--bg-elevated, #1a2a3a)}.ms-chevron[data-v-21807dcc]{flex-shrink:0;color:var(--text-secondary, #94a3b8);transition:transform .15s}.ms-host.open .ms-chevron[data-v-21807dcc]{transform:rotate(90deg)}.ms-ip[data-v-21807dcc]{width:120px;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600}.ms-desc[data-v-21807dcc]{flex:1;min-width:0;display:flex;flex-direction:column}.ms-desc-main[data-v-21807dcc],.ms-desc-sub[data-v-21807dcc]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-desc-main[data-v-21807dcc]{font-size:13px}.ms-desc-sub[data-v-21807dcc]{font-size:12px;color:var(--text-secondary, #94a3b8)}.ms-tag[data-v-21807dcc]{display:inline-flex;align-items:center;padding:2px 8px;margin:1px 4px 1px 0;font-size:11px;font-weight:600;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #cbd5e1);white-space:nowrap;flex-shrink:0}.ms-tag.small[data-v-21807dcc]{font-size:10px}.ms-tag.type[data-v-21807dcc]{color:#7dd3fc;border-color:#0ea5e959;background:#0ea5e91a}.ms-tag.ok[data-v-21807dcc]{color:#34d399;border-color:#10b98159;background:#10b9811a}.ms-tag.off[data-v-21807dcc]{color:var(--text-secondary, #94a3b8);opacity:.7}.ms-host-detail[data-v-21807dcc]{display:flex;flex-direction:column;gap:16px;padding:16px 16px 16px 40px;animation:ms-fade-21807dcc .15s ease-out}.ms-kv[data-v-21807dcc]{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px}.ms-kv dt[data-v-21807dcc]{font-size:11px;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.ms-kv dd[data-v-21807dcc]{margin:2px 0 0;font-size:13px;word-break:break-word}.ms-block h4[data-v-21807dcc]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #94a3b8)}.ms-chips[data-v-21807dcc]{display:flex;flex-wrap:wrap}.ms-table-wrap[data-v-21807dcc]{overflow-x:auto;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a)}.ms-table[data-v-21807dcc]{width:100%;border-collapse:collapse;font-size:12px}.ms-table th[data-v-21807dcc]{text-align:left;padding:8px;font-weight:600;background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);white-space:nowrap}.ms-table td[data-v-21807dcc]{padding:6px 8px;border-top:1px solid var(--border-primary, #2a3a4a)}.ms-empty[data-v-21807dcc]{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;font-size:13px;text-align:center;color:var(--text-secondary, #94a3b8)}.ms-empty.large[data-v-21807dcc]{min-height:200px;border:1px dashed var(--border-primary, #2a3a4a);border-radius:10px}.ms-link[data-v-21807dcc]{align-self:flex-start;border:none;background:none;padding:0;font-size:12px;font-weight:600;color:#38bdf8;cursor:pointer}.ms-link[data-v-21807dcc]:hover{text-decoration:underline}.ms-pre[data-v-21807dcc]{margin:0;max-height:300px;overflow:auto;padding:12px;font-size:11px;line-height:1.5;border-radius:6px;background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #cbd5e1)}.ms-error[data-v-21807dcc]{margin:0;font-size:13px;color:#f87171}.ms-warn[data-v-21807dcc]{margin:0;font-size:13px;color:#fbbf24}.ms-spinner[data-v-21807dcc]{width:12px;height:12px;border:2px solid rgba(148,163,184,.3);border-top-color:#0ea5e9;border-radius:50%;animation:ms-spin-21807dcc .7s linear infinite}.ms-spinner.light[data-v-21807dcc]{border-color:#ffffff59;border-top-color:#fff}@keyframes ms-spin-21807dcc{to{transform:rotate(360deg)}}@keyframes ms-fade-21807dcc{0%{opacity:0}}@keyframes ms-rise-21807dcc{0%{opacity:0;transform:translateY(8px)}}@keyframes ms-pulse-21807dcc{50%{opacity:.3}}@media (max-width: 720px){.ms-header[data-v-21807dcc],.ms-body[data-v-21807dcc]{padding-left:16px;padding-right:16px}.ms-stats[data-v-21807dcc]{grid-template-columns:1fr}.ms-host-row[data-v-21807dcc]{flex-wrap:wrap}.ms-ip[data-v-21807dcc]{width:auto}.ms-desc[data-v-21807dcc]{flex-basis:100%;order:3}.ms-host-detail[data-v-21807dcc]{padding-left:16px}}.ms-btn.danger[data-v-21807dcc]{border-color:#ef444480;color:#f87171}.ms-btn.danger[data-v-21807dcc]:hover:not(:disabled){background:#ef44441f;border-color:#ef4444}.ms-stat-value.bad[data-v-21807dcc]{color:#f87171}.ms-tag.err[data-v-21807dcc]{color:#f87171;border-color:#ef444459;background:#ef44441a}.ms-spinner.tiny[data-v-21807dcc]{width:8px;height:8px;border-width:1.5px}.ms-progress.indeterminate .ms-progress-bar[data-v-21807dcc]{width:30%;animation:hs-slide-21807dcc 1.4s ease-in-out infinite}@keyframes hs-slide-21807dcc{0%{transform:translate(-100%)}to{transform:translate(340%)}}.hs-progress-text[data-v-21807dcc]{margin:-8px 0 0}.hs-options[data-v-21807dcc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:16px;border:1px solid var(--border-primary, #2a3a4a);border-radius:10px;background:var(--bg-primary, #0b1622);animation:ms-fade .15s ease-out}.hs-field[data-v-21807dcc]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary, #94a3b8)}.hs-field.wide[data-v-21807dcc],.hs-wide[data-v-21807dcc],.hs-checks[data-v-21807dcc]{grid-column:1 / -1}.hs-field .ms-search[data-v-21807dcc]{min-width:0}.hs-field small[data-v-21807dcc]{font-size:11px;color:var(--text-muted, #64748b);line-height:1.5}.hs-checks[data-v-21807dcc]{display:flex;flex-wrap:wrap;gap:8px 24px}.hs-host+.hs-host[data-v-21807dcc]{border-top:1px solid var(--border-primary, #2a3a4a)}.hs-host-head[data-v-21807dcc]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated, #1a2a3a)}.hs-port[data-v-21807dcc]{color:var(--text-secondary, #94a3b8);font-weight:400}.hs-host-error[data-v-21807dcc]{padding:8px 16px 0}.hs-table-wrap[data-v-21807dcc]{margin:8px 16px 16px}.hs-row[data-v-21807dcc]{cursor:pointer;transition:background .12s}.hs-row[data-v-21807dcc]:hover,.hs-row.open[data-v-21807dcc]{background:var(--bg-hover, #1e3a54)}.hs-row.open .ms-chevron[data-v-21807dcc]{transform:rotate(90deg)}.hs-chev-cell[data-v-21807dcc]{width:20px}.hs-detail-row td[data-v-21807dcc]{background:var(--bg-elevated, #1a2a3a)}.hs-detail[data-v-21807dcc]{display:flex;flex-direction:column;gap:16px;padding:8px 8px 8px 28px;animation:ms-fade .15s ease-out}.cs-overlay[data-v-6f91c894]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.cs-modal[data-v-6f91c894]{width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg, 0 20px 60px rgba(0, 0, 0, .4));color:var(--text-primary)}.cs-header[data-v-6f91c894]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-primary)}.cs-header h2[data-v-6f91c894]{margin:0;font-size:1.1rem;font-weight:600;line-height:1.2}.cs-subtitle[data-v-6f91c894]{margin:4px 0 0;font-size:.8rem;color:var(--text-muted);display:flex;gap:8px;flex-wrap:wrap}.cs-close[data-v-6f91c894]{background:none;border:none;color:var(--text-muted);font-size:1.6rem;line-height:1;width:32px;height:32px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.cs-close[data-v-6f91c894]:hover{background:var(--bg-hover);color:var(--text-primary)}.cs-body[data-v-6f91c894]{padding:16px 24px;overflow-y:auto}.cs-form[data-v-6f91c894]{display:flex;flex-direction:column;gap:16px}.cs-readonly-grid[data-v-6f91c894]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:8px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;font-size:.8rem}.cs-readonly-grid>div[data-v-6f91c894]{display:flex;flex-direction:column;gap:2px}.cs-row[data-v-6f91c894]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cs-field[data-v-6f91c894]{display:flex;flex-direction:column;gap:6px}.cs-label[data-v-6f91c894]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cs-input[data-v-6f91c894]{width:100%;padding:8px 12px;background:var(--bg-input, var(--bg-elevated));border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.cs-input[data-v-6f91c894]:focus{outline:none;border-color:var(--accent-blue, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.cs-input[data-v-6f91c894]:disabled{opacity:.75;cursor:default}.cs-mono[data-v-6f91c894]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cs-toggle[data-v-6f91c894]{display:inline-flex;align-items:center;gap:12px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.cs-toggle.disabled[data-v-6f91c894]{cursor:default;opacity:.8}.cs-toggle input[data-v-6f91c894]{position:absolute;opacity:0;pointer-events:none}.cs-toggle-track[data-v-6f91c894]{position:relative;width:36px;height:20px;border-radius:10px;background:var(--border-primary);transition:background .2s}.cs-toggle-thumb[data-v-6f91c894]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.cs-toggle input:checked+.cs-toggle-track[data-v-6f91c894]{background:var(--accent-green, #10b981)}.cs-toggle input:checked+.cs-toggle-track .cs-toggle-thumb[data-v-6f91c894]{transform:translate(16px)}.cs-config[data-v-6f91c894]{display:flex;flex-direction:column;gap:8px}.cs-config-header[data-v-6f91c894]{display:flex;justify-content:space-between;align-items:center}.cs-config-row[data-v-6f91c894]{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;align-items:center}.cs-link[data-v-6f91c894]{background:none;border:none;color:var(--accent-blue, #3b82f6);font-size:.8rem;font-weight:600;cursor:pointer;padding:4px 0}.cs-link[data-v-6f91c894]:hover{text-decoration:underline}.cs-remove[data-v-6f91c894]{width:32px;height:32px;border-radius:6px;border:1px solid var(--border-primary);background:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;transition:all .15s}.cs-remove[data-v-6f91c894]:hover{color:#ef4444;border-color:#ef444480;background:#ef444414}.cs-empty[data-v-6f91c894]{margin:0;font-size:.8rem;color:var(--text-muted)}.cs-inline-error[data-v-6f91c894]{margin:0;font-size:.8rem;color:#ef4444}.cs-banner[data-v-6f91c894]{padding:8px 12px;border-radius:6px;font-size:.8rem;line-height:1.5;border:1px solid}.cs-body>.cs-banner[data-v-6f91c894]{margin-bottom:16px}.cs-banner-info[data-v-6f91c894]{background:#3b82f61a;border-color:#3b82f659;color:var(--accent-blue, #3b82f6)}.cs-banner-error[data-v-6f91c894]{background:#ef44441a;border-color:#ef444459;color:#ef4444}.cs-banner-success[data-v-6f91c894]{background:#10b9811a;border-color:#10b98159;color:#10b981}.cs-banner-warning[data-v-6f91c894]{background:#f59e0b1a;border-color:#f59e0b59;color:#d97706}.cs-state[data-v-6f91c894]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;font-size:.85rem;color:var(--text-muted)}.cs-state-error p[data-v-6f91c894]{margin:0;color:#ef4444}.cs-spinner[data-v-6f91c894]{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:var(--accent-blue, #3b82f6);border-radius:50%;animation:cs-spin-6f91c894 .8s linear infinite}@keyframes cs-spin-6f91c894{to{transform:rotate(360deg)}}.cs-footer[data-v-6f91c894]{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border-primary)}.cs-btn[data-v-6f91c894]{padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent}.cs-btn-secondary[data-v-6f91c894]{background:none;border-color:var(--border-primary);color:var(--text-primary)}.cs-btn-secondary[data-v-6f91c894]:hover{background:var(--bg-hover)}.cs-btn-primary[data-v-6f91c894]{background:var(--accent-blue, #3b82f6);color:#fff}.cs-btn-primary[data-v-6f91c894]:hover:not(:disabled){background:var(--accent-blue-hover, #2563eb)}.cs-btn-primary[data-v-6f91c894]:disabled{opacity:.5;cursor:not-allowed}.cs-fade-enter-active[data-v-6f91c894],.cs-fade-leave-active[data-v-6f91c894]{transition:opacity .2s}.cs-fade-enter-active .cs-modal[data-v-6f91c894],.cs-fade-leave-active .cs-modal[data-v-6f91c894]{transition:transform .2s}.cs-fade-enter-from[data-v-6f91c894],.cs-fade-leave-to[data-v-6f91c894]{opacity:0}.cs-fade-enter-from .cs-modal[data-v-6f91c894],.cs-fade-leave-to .cs-modal[data-v-6f91c894]{transform:translateY(8px) scale(.98)}@media (max-width: 520px){.cs-row[data-v-6f91c894],.cs-readonly-grid[data-v-6f91c894]{grid-template-columns:1fr}.cs-header[data-v-6f91c894],.cs-body[data-v-6f91c894],.cs-footer[data-v-6f91c894]{padding-left:16px;padding-right:16px}}.ms-overlay[data-v-916a16d7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#020810b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:ms-fade-916a16d7 .15s ease-out}.ms-modal[data-v-916a16d7]{width:min(1080px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--bg-secondary, #0f1b2a);border:1px solid var(--border-primary, #2a3a4a);border-radius:12px;box-shadow:0 24px 64px #00000080;color:var(--text-primary, #e2e8f0);animation:ms-rise-916a16d7 .18s ease-out}.ms-overlay.embedded[data-v-916a16d7]{position:static;inset:auto;display:block;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;animation:none}.ms-overlay.embedded .ms-modal[data-v-916a16d7]{width:100%;max-height:none;box-shadow:none;animation:none}.ms-header[data-v-916a16d7]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-primary, #2a3a4a)}.ms-header h2[data-v-916a16d7]{margin:0;font-size:18px;font-weight:600;line-height:1.2}.ms-sub[data-v-916a16d7]{margin:4px 0 0;font-size:13px;color:var(--text-secondary, #94a3b8)}.ms-mono[data-v-916a16d7]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ms-sub .ms-mono[data-v-916a16d7]{color:var(--text-secondary, #94a3b8)}.ms-mono.strong[data-v-916a16d7]{font-weight:600;color:var(--text-primary, #e2e8f0)}.ms-icon-btn[data-v-916a16d7]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.ms-icon-btn[data-v-916a16d7]:hover{background:var(--bg-hover, #1e3a54);color:var(--text-primary, #e2e8f0)}.ms-body[data-v-916a16d7]{overflow-y:auto;padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.ms-control[data-v-916a16d7]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.ms-status[data-v-916a16d7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.ms-pill[data-v-916a16d7]{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8)}.ms-pill-dot[data-v-916a16d7]{width:8px;height:8px;border-radius:50%;background:currentColor}.ms-pill.idle[data-v-916a16d7]{color:#34d399;border-color:#10b98159}.ms-pill.failed[data-v-916a16d7]{color:#f87171;border-color:#ef444459}.ms-pill.running[data-v-916a16d7]{color:#38bdf8;border-color:#0ea5e966}.ms-pill.running .ms-pill-dot[data-v-916a16d7]{animation:ms-pulse-916a16d7 1s ease-in-out infinite}.ms-meta[data-v-916a16d7]{font-size:13px;color:var(--text-secondary, #94a3b8)}.ms-actions[data-v-916a16d7]{display:flex;gap:8px}.ms-btn[data-v-916a16d7]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.ms-btn[data-v-916a16d7]:hover:not(:disabled){background:var(--bg-hover, #1e3a54);border-color:#0ea5e9}.ms-btn.primary[data-v-916a16d7]{background:#0284c7;border-color:#0284c7;color:#fff}.ms-btn.primary[data-v-916a16d7]:hover:not(:disabled){background:#0369a1}.ms-btn[data-v-916a16d7]:disabled{opacity:.55;cursor:default}.ms-progress[data-v-916a16d7]{height:4px;border-radius:999px;background:var(--bg-elevated, #1a2a3a);overflow:hidden}.ms-progress-bar[data-v-916a16d7]{height:100%;background:linear-gradient(90deg,#0284c7,#38bdf8);border-radius:999px;transition:width .5s linear}.ms-stats[data-v-916a16d7]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ms-stat[data-v-916a16d7]{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:10px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-primary, #0b1622)}.ms-stat-value[data-v-916a16d7]{font-size:24px;font-weight:600;line-height:1.2}.ms-stat-value.accent[data-v-916a16d7]{color:#38bdf8}.ms-stat-label[data-v-916a16d7]{font-size:12px;color:var(--text-secondary, #94a3b8)}.ms-networks[data-v-916a16d7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ms-networks-label[data-v-916a16d7]{font-size:12px;color:var(--text-secondary, #94a3b8);margin-right:4px}.ms-pre.text[data-v-916a16d7]{max-height:120px;white-space:pre-wrap;word-break:break-all}.ms-filters[data-v-916a16d7]{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.ms-search[data-v-916a16d7]{flex:1;min-width:200px;padding:8px 10px;font-size:13px;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #e2e8f0);outline:none;transition:border-color .15s}.ms-search[data-v-916a16d7]:focus{border-color:#0ea5e9}.ms-toggle[data-v-916a16d7]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary, #cbd5e1);cursor:pointer}.ms-toggle input[data-v-916a16d7]{accent-color:#0ea5e9}.ms-hosts[data-v-916a16d7]{display:flex;flex-direction:column;border:1px solid var(--border-primary, #2a3a4a);border-radius:10px;overflow:hidden;background:var(--bg-primary, #0b1622)}.ms-host+.ms-host[data-v-916a16d7]{border-top:1px solid var(--border-primary, #2a3a4a)}.ms-host-row[data-v-916a16d7]{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;transition:background .12s}.ms-host-row[data-v-916a16d7]:hover{background:var(--bg-hover, #1e3a54)}.ms-host.open .ms-host-row[data-v-916a16d7]{background:var(--bg-elevated, #1a2a3a)}.ms-chevron[data-v-916a16d7]{flex-shrink:0;color:var(--text-secondary, #94a3b8);transition:transform .15s}.ms-host.open .ms-chevron[data-v-916a16d7]{transform:rotate(90deg)}.ms-ip[data-v-916a16d7]{width:120px;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600}.ms-desc[data-v-916a16d7]{flex:1;min-width:0;display:flex;flex-direction:column}.ms-desc-main[data-v-916a16d7],.ms-desc-sub[data-v-916a16d7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-desc-main[data-v-916a16d7]{font-size:13px}.ms-desc-sub[data-v-916a16d7]{font-size:12px;color:var(--text-secondary, #94a3b8)}.ms-tag[data-v-916a16d7]{display:inline-flex;align-items:center;padding:2px 8px;margin:1px 4px 1px 0;font-size:11px;font-weight:600;border-radius:999px;border:1px solid var(--border-primary, #2a3a4a);background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #cbd5e1);white-space:nowrap;flex-shrink:0}.ms-tag.small[data-v-916a16d7]{font-size:10px}.ms-tag.type[data-v-916a16d7]{color:#7dd3fc;border-color:#0ea5e959;background:#0ea5e91a}.ms-tag.ok[data-v-916a16d7]{color:#34d399;border-color:#10b98159;background:#10b9811a}.ms-tag.off[data-v-916a16d7]{color:var(--text-secondary, #94a3b8);opacity:.7}.ms-host-detail[data-v-916a16d7]{display:flex;flex-direction:column;gap:16px;padding:16px 16px 16px 40px;animation:ms-fade-916a16d7 .15s ease-out}.ms-kv[data-v-916a16d7]{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px}.ms-kv dt[data-v-916a16d7]{font-size:11px;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.ms-kv dd[data-v-916a16d7]{margin:2px 0 0;font-size:13px;word-break:break-word}.ms-block h4[data-v-916a16d7]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #94a3b8)}.ms-chips[data-v-916a16d7]{display:flex;flex-wrap:wrap}.ms-table-wrap[data-v-916a16d7]{overflow-x:auto;border-radius:6px;border:1px solid var(--border-primary, #2a3a4a)}.ms-table[data-v-916a16d7]{width:100%;border-collapse:collapse;font-size:12px}.ms-table th[data-v-916a16d7]{text-align:left;padding:8px;font-weight:600;background:var(--bg-elevated, #1a2a3a);color:var(--text-secondary, #94a3b8);white-space:nowrap}.ms-table td[data-v-916a16d7]{padding:6px 8px;border-top:1px solid var(--border-primary, #2a3a4a)}.ms-empty[data-v-916a16d7]{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;font-size:13px;text-align:center;color:var(--text-secondary, #94a3b8)}.ms-empty.large[data-v-916a16d7]{min-height:200px;border:1px dashed var(--border-primary, #2a3a4a);border-radius:10px}.ms-link[data-v-916a16d7]{align-self:flex-start;border:none;background:none;padding:0;font-size:12px;font-weight:600;color:#38bdf8;cursor:pointer}.ms-link[data-v-916a16d7]:hover{text-decoration:underline}.ms-pre[data-v-916a16d7]{margin:0;max-height:300px;overflow:auto;padding:12px;font-size:11px;line-height:1.5;border-radius:6px;background:var(--bg-elevated, #1a2a3a);color:var(--text-primary, #cbd5e1)}.ms-error[data-v-916a16d7]{margin:0;font-size:13px;color:#f87171}.ms-warn[data-v-916a16d7]{margin:0;font-size:13px;color:#fbbf24}.ms-spinner[data-v-916a16d7]{width:12px;height:12px;border:2px solid rgba(148,163,184,.3);border-top-color:#0ea5e9;border-radius:50%;animation:ms-spin-916a16d7 .7s linear infinite}.ms-spinner.light[data-v-916a16d7]{border-color:#ffffff59;border-top-color:#fff}@keyframes ms-spin-916a16d7{to{transform:rotate(360deg)}}@keyframes ms-fade-916a16d7{0%{opacity:0}}@keyframes ms-rise-916a16d7{0%{opacity:0;transform:translateY(8px)}}@keyframes ms-pulse-916a16d7{50%{opacity:.3}}@media (max-width: 720px){.ms-header[data-v-916a16d7],.ms-body[data-v-916a16d7]{padding-left:16px;padding-right:16px}.ms-stats[data-v-916a16d7]{grid-template-columns:1fr}.ms-host-row[data-v-916a16d7]{flex-wrap:wrap}.ms-ip[data-v-916a16d7]{width:auto}.ms-desc[data-v-916a16d7]{flex-basis:100%;order:3}.ms-host-detail[data-v-916a16d7]{padding-left:16px}}.rt-modal[data-v-916a16d7]{width:min(820px,100%)}.rt-col[data-v-916a16d7]{flex-direction:column}.rt-form[data-v-916a16d7]{display:flex;flex-direction:column;gap:16px}.rt-grid[data-v-916a16d7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rt-advanced[data-v-916a16d7]{padding:16px;border-radius:10px;border:1px dashed var(--border-primary, #2a3a4a);animation:ms-fade .15s ease-out}.rt-span[data-v-916a16d7]{grid-column:1 / -1;margin:0}.rt-field[data-v-916a16d7]{display:flex;flex-direction:column;gap:4px;min-width:0}.rt-field .ms-search[data-v-916a16d7]{min-width:0}.rt-label[data-v-916a16d7]{font-size:12px;font-weight:600;color:var(--text-secondary, #94a3b8)}.rt-req[data-v-916a16d7]{font-weight:400;color:#fbbf24;margin-left:4px}.rt-hint[data-v-916a16d7]{font-size:12px;color:var(--text-secondary, #94a3b8)}.rt-err[data-v-916a16d7]{font-size:12px;color:#f87171}.rt-ok[data-v-916a16d7]{margin:0;font-size:13px;color:#34d399}.rt-muted[data-v-916a16d7]{opacity:.7}.rt-members h4[data-v-916a16d7]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #94a3b8)}.rt-footer[data-v-916a16d7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;border-top:1px solid var(--border-primary, #2a3a4a)}.rt-spacer[data-v-916a16d7]{flex:1}.rt-confirm[data-v-916a16d7]{font-size:13px;color:#fca5a5;flex-basis:100%}.ms-btn.danger[data-v-916a16d7]{border-color:#ef444480;color:#f87171}.ms-btn.danger[data-v-916a16d7]:hover:not(:disabled){background:#ef44441f;border-color:#ef4444}@media (max-width: 640px){.rt-grid[data-v-916a16d7]{grid-template-columns:1fr}}.trend-chart[data-v-93b022cc]{position:relative;width:100%;background:var(--bg-surface-solid, #0f1923);border-radius:8px;padding:12px 8px 8px;box-sizing:border-box}.trend-loading[data-v-93b022cc]{display:flex;align-items:center;gap:10px;color:var(--text-muted, #64748b);font-size:13px;padding:32px 16px;justify-content:center}.trend-spinner[data-v-93b022cc]{width:18px;height:18px;border:2px solid var(--border-primary, #1e3a5f);border-top-color:#3b82f6;border-radius:50%;animation:spin-93b022cc .8s linear infinite}@keyframes spin-93b022cc{to{transform:rotate(360deg)}}.trend-empty[data-v-93b022cc]{color:var(--text-muted, #4a5568);font-size:13px;text-align:center;padding:32px}.trend-legend[data-v-93b022cc]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:0 4px}.legend-btn[data-v-93b022cc]{display:flex;align-items:center;gap:5px;background:var(--bg-elevated, #1a2a3a);border:1px solid var(--border-primary, #2a3a4a);color:var(--text-secondary, #94a3b8);font-size:11px;padding:3px 8px;border-radius:4px;cursor:pointer;transition:opacity .15s}.legend-btn[data-v-93b022cc]:hover{background:var(--bg-hover, #1e3a54)}.legend-btn.inactive[data-v-93b022cc]{opacity:.35}.legend-dot[data-v-93b022cc]{display:inline-block;width:10px;height:10px;border-radius:50%}.chart-grid-line[data-v-93b022cc]{stroke:var(--chart-grid, #2a3a4a)}.axis-label[data-v-93b022cc]{fill:var(--text-muted, #4a5568);font-size:10px;font-family:monospace}.soc-label[data-v-93b022cc]{fill:#a78bfa}.axis-title[data-v-93b022cc]{fill:var(--text-muted, #4a5568);font-size:10px}.trend-tooltip[data-v-93b022cc]{position:absolute;top:44px;left:60px;background:var(--tooltip-bg, #1a2a3a);border:1px solid var(--tooltip-border, #2a3a4a);border-radius:6px;padding:8px 10px;pointer-events:none;z-index:10;min-width:160px}.tooltip-time[data-v-93b022cc]{font-size:11px;color:var(--text-muted, #94a3b8);margin-bottom:5px;font-weight:600}.tooltip-row[data-v-93b022cc]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary, #cbd5e1);margin-bottom:2px;transition:opacity .15s}.tooltip-row.faded[data-v-93b022cc]{opacity:.3}.tooltip-dot[data-v-93b022cc]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tooltip-label[data-v-93b022cc]{flex:1;color:var(--text-muted, #94a3b8)}.tooltip-val[data-v-93b022cc]{font-family:monospace;font-weight:600}.trend-date-bar[data-v-93b022cc]{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:10px;position:relative}.date-arrow-btn[data-v-93b022cc]{display:flex;align-items:center;justify-content:center;background:var(--bg-elevated, #1a2a3a);border:1px solid var(--border-primary, #2a3a4a);color:var(--text-secondary, #94a3b8);border-radius:5px;width:28px;height:28px;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.date-arrow-btn[data-v-93b022cc]:hover:not(:disabled){background:var(--bg-hover, #1e3a54);color:var(--text-primary, #e2e8f0);border-color:var(--border-focus, #3b82f6)}.expand-btn[data-v-93b022cc]{position:absolute;right:0}.expand-btn.active[data-v-93b022cc]{color:var(--border-focus, #3b82f6);border-color:var(--border-focus, #3b82f6)}.date-arrow-btn[data-v-93b022cc]:disabled{opacity:.3;cursor:default}.date-input-wrap[data-v-93b022cc]{position:relative;display:flex;align-items:center;cursor:pointer}.date-display[data-v-93b022cc]{font-size:12px;font-weight:600;color:var(--text-primary, #cbd5e1);background:var(--bg-elevated, #1a2a3a);border:1px solid var(--border-primary, #2a3a4a);border-radius:5px;padding:4px 10px;white-space:nowrap;transition:background .15s,border-color .15s}.date-input-wrap:hover .date-display[data-v-93b022cc]{background:var(--bg-hover, #1e3a54);border-color:var(--border-focus, #3b82f6)}.date-input-hidden[data-v-93b022cc]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;pointer-events:none}.gp[data-v-f4a4aae1]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;margin-bottom:20px;overflow:hidden}.gp-header[data-v-f4a4aae1]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.gp-title[data-v-f4a4aae1]{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:0}.gp-title[data-v-f4a4aae1]:hover{color:var(--text-primary)}.gp-sub[data-v-f4a4aae1]{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted, var(--text-secondary))}.gp-chevron[data-v-f4a4aae1]{width:14px;height:14px;transition:transform .2s ease}.gp-chevron.open[data-v-f4a4aae1]{transform:rotate(90deg)}.gp-refresh[data-v-f4a4aae1]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border-primary);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease}.gp-actions[data-v-f4a4aae1]{display:flex;align-items:center;gap:8px}.gp-export[data-v-f4a4aae1]{position:relative}.gp-export-btn[data-v-f4a4aae1]{height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;border-radius:8px;border:1px solid var(--border-primary);background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.gp-export-btn svg[data-v-f4a4aae1]{width:14px;height:14px}.gp-export-btn[data-v-f4a4aae1]:hover:not(:disabled){color:var(--text-primary);border-color:#2563eb}.gp-export-btn[data-v-f4a4aae1]:disabled{opacity:.5;cursor:default}.gp-export-backdrop[data-v-f4a4aae1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.gp-export-menu[data-v-f4a4aae1]{position:absolute;right:0;top:calc(100% + 6px);z-index:21;min-width:240px;background:var(--bg-surface-solid, var(--bg-elevated));border:1px solid var(--border-primary);border-radius:10px;box-shadow:0 12px 32px #0000004d;padding:4px;animation:gp-menu-in-f4a4aae1 .12s ease}.gp-export-menu button[data-v-f4a4aae1]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer}.gp-export-menu button[data-v-f4a4aae1]:hover{background:var(--bg-hover, rgba(37, 99, 235, .1))}.gp-export-item-title[data-v-f4a4aae1]{color:var(--text-primary);font-size:.85rem}.gp-export-item-sub[data-v-f4a4aae1]{color:var(--text-secondary);font-size:.75rem}@keyframes gp-menu-in-f4a4aae1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gp-refresh[data-v-f4a4aae1]:hover:not(:disabled){color:var(--text-primary);border-color:#2563eb}.gp-refresh[data-v-f4a4aae1]:disabled{opacity:.6;cursor:default}.gp-refresh svg[data-v-f4a4aae1]{width:16px;height:16px}.spinning[data-v-f4a4aae1]{animation:gp-spin-f4a4aae1 1s linear infinite}.gp-body[data-v-f4a4aae1]{padding:0 16px 16px}.gp-controls[data-v-f4a4aae1]{display:flex;flex-wrap:wrap;gap:16px 24px;padding:4px 0 16px;border-bottom:1px solid var(--border-subtle, var(--border-primary));margin-bottom:16px}.gp-control[data-v-f4a4aae1]{display:flex;flex-direction:column;gap:6px}.gp-control-label[data-v-f4a4aae1]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.gp-segment[data-v-f4a4aae1]{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.gp-segment button[data-v-f4a4aae1]{background:transparent;border:none;border-right:1px solid var(--border-primary);color:var(--text-secondary);font-size:.8rem;padding:6px 12px;cursor:pointer;transition:background .15s ease,color .15s ease}.gp-segment button[data-v-f4a4aae1]:last-child{border-right:none}.gp-segment button[data-v-f4a4aae1]:hover{color:var(--text-primary)}.gp-segment button.active[data-v-f4a4aae1]{background:#2563eb;color:#fff}.gp-dates[data-v-f4a4aae1]{display:flex;align-items:center;gap:8px}.gp-dash[data-v-f4a4aae1]{color:var(--text-secondary);font-size:.8rem}.gp-input[data-v-f4a4aae1]{background:var(--bg-surface-solid, transparent);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.8rem;padding:6px 10px;color-scheme:dark light}.gp-input[data-v-f4a4aae1]:focus{outline:none;border-color:#2563eb}.gp-charts[data-v-f4a4aae1]{transition:opacity .2s ease}.gp-charts.refreshing[data-v-f4a4aae1]{opacity:.55}.gp-divider[data-v-f4a4aae1]{height:1px;background:var(--border-subtle, var(--border-primary));margin:8px 0 16px}.gp-state[data-v-f4a4aae1]{display:flex;align-items:center;gap:8px;justify-content:center;min-height:120px;color:var(--text-secondary);font-size:.85rem;text-align:center;flex-wrap:wrap}.gp-error[data-v-f4a4aae1]{color:#f87171}.gp-retry[data-v-f4a4aae1]{background:transparent;border:1px solid currentColor;color:inherit;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.8rem}.gp-spinner[data-v-f4a4aae1]{width:14px;height:14px;border:2px solid var(--border-primary);border-top-color:#2563eb;border-radius:50%;animation:gp-spin-f4a4aae1 .8s linear infinite}@keyframes gp-spin-f4a4aae1{to{transform:rotate(360deg)}}.revenue-chart[data-v-bc57f226]{position:relative;width:100%;background:var(--chart-bg);border-radius:8px;padding:12px 8px 8px;box-sizing:border-box}.month-bar[data-v-bc57f226]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.month-arrow-btn[data-v-bc57f226]{display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:5px;width:28px;height:28px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.month-arrow-btn[data-v-bc57f226]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:#3b82f6}.month-arrow-btn[data-v-bc57f226]:disabled{opacity:.3;cursor:default}.month-label[data-v-bc57f226]{font-size:13px;font-weight:700;color:var(--text-primary);min-width:120px;text-align:center}.totals-bar[data-v-bc57f226]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:8px 4px;background:var(--bg-elevated);border-radius:6px;border:1px solid var(--border-subtle)}.total-chip[data-v-bc57f226]{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-hover);border-radius:4px;transition:opacity .15s}.total-chip.inactive[data-v-bc57f226]{opacity:.35}.total-chip--grand[data-v-bc57f226]{margin-left:auto;background:var(--bg-hover);border:1px solid var(--border-primary)}.total-dot[data-v-bc57f226]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.total-label[data-v-bc57f226]{font-size:11px;color:var(--text-muted)}.total-val[data-v-bc57f226]{font-size:12px;font-weight:700;font-family:monospace}.total-val--grand[data-v-bc57f226]{color:var(--text-primary)}.chart-legend[data-v-bc57f226]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:0 4px}.legend-btn[data-v-bc57f226]{display:flex;align-items:center;gap:5px;background:var(--bg-hover);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:11px;padding:3px 9px;border-radius:4px;cursor:pointer;transition:opacity .15s,background .15s}.legend-btn[data-v-bc57f226]:hover{border-color:#3b82f6;color:var(--text-primary)}.legend-btn.inactive[data-v-bc57f226]{opacity:.35}.legend-dot[data-v-bc57f226]{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.grid-line[data-v-bc57f226]{stroke:var(--chart-grid-subtle);stroke-width:1}.axis-line[data-v-bc57f226]{stroke:var(--chart-grid);stroke-width:1}.crosshair[data-v-bc57f226]{stroke:var(--chart-axis);stroke-width:1;stroke-dasharray:3 3}.axis-label[data-v-bc57f226]{fill:var(--chart-axis);font-size:10px;font-family:monospace}.axis-title[data-v-bc57f226]{fill:var(--chart-axis);font-size:11px}.chart-tooltip[data-v-bc57f226]{position:absolute;top:120px;left:70px;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 8px 24px #0003;padding:8px 12px;pointer-events:none;z-index:10;min-width:180px}.tooltip-day[data-v-bc57f226]{font-size:11px;color:var(--text-secondary);font-weight:700;margin-bottom:6px}.tooltip-row[data-v-bc57f226]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary);margin-bottom:2px;transition:opacity .15s}.tooltip-row.faded[data-v-bc57f226]{opacity:.3}.tooltip-dot[data-v-bc57f226]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.tooltip-label[data-v-bc57f226]{flex:1;color:var(--text-secondary)}.tooltip-val[data-v-bc57f226]{font-family:monospace;font-weight:600}.tooltip-total[data-v-bc57f226]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-primary);margin-top:5px;padding-top:5px;border-top:1px solid var(--border-primary)}.tooltip-total .tooltip-label[data-v-bc57f226]{color:var(--text-primary)}.revenue-accordion[data-v-88d11f99]{background:var(--bg-elevated);border:1px solid rgba(52,211,153,.2);border-radius:12px;overflow:hidden}.revenue-accordion-header[data-v-88d11f99]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.revenue-accordion-header[data-v-88d11f99]:hover{background:#34d3990f}.revenue-accordion-header.open[data-v-88d11f99]{border-bottom:1px solid rgba(52,211,153,.15);background:#34d3990d}.revenue-accordion-title[data-v-88d11f99]{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.06em}.revenue-accordion-title svg[data-v-88d11f99]{width:18px;height:18px;flex-shrink:0}.revenue-chevron[data-v-88d11f99]{width:18px;height:18px;color:#34d399;transition:transform .25s ease}.revenue-chevron.open[data-v-88d11f99]{transform:rotate(180deg)}.revenue-accordion-body[data-v-88d11f99]{padding:20px}.revenue-controls[data-v-88d11f99]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;margin-bottom:16px}.revenue-control[data-v-88d11f99]{display:flex;flex-direction:column;gap:6px}.revenue-control-label[data-v-88d11f99]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.revenue-input[data-v-88d11f99]{background:var(--bg-surface-solid, transparent);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.85rem;padding:6px 10px;min-width:200px}.revenue-input[data-v-88d11f99]:focus{outline:none;border-color:#34d399}.revenue-check[data-v-88d11f99]{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;padding-bottom:6px}.revenue-check input[data-v-88d11f99]{accent-color:#34d399}.revenue-refreshing[data-v-88d11f99]{font-size:.8rem;color:var(--text-secondary);padding-bottom:6px}.revenue-dim[data-v-88d11f99]{opacity:.55;transition:opacity .2s ease}.revenue-state[data-v-88d11f99]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:80px;color:var(--text-secondary);font-size:.9rem;text-align:center}.revenue-error[data-v-88d11f99]{color:#f87171}.revenue-retry[data-v-88d11f99]{background:transparent;border:1px solid currentColor;color:inherit;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.8rem}.revenue-spinner[data-v-88d11f99]{width:14px;height:14px;border:2px solid var(--border-primary);border-top-color:#34d399;border-radius:50%;animation:revenue-spin-88d11f99 .8s linear infinite}@keyframes revenue-spin-88d11f99{to{transform:rotate(360deg)}}.revenue-table-wrap[data-v-88d11f99]{margin-top:16px;overflow-x:auto;border:1px solid var(--border-primary);border-radius:8px}.revenue-table[data-v-88d11f99]{width:100%;border-collapse:collapse;font-size:.85rem}.revenue-table th[data-v-88d11f99]{padding:8px 16px;text-align:left;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-primary)}.revenue-table td[data-v-88d11f99]{padding:8px 16px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle, var(--border-primary))}.revenue-table tbody tr[data-v-88d11f99]{cursor:pointer;transition:background .15s ease}.revenue-table tbody tr[data-v-88d11f99]:hover{background:#34d3990f}.revenue-table tbody tr.selected[data-v-88d11f99]{background:#34d3991f}.revenue-table tbody tr:last-child td[data-v-88d11f99]{border-bottom:none}.num[data-v-88d11f99]{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.val-telemetry[data-v-88d11f99]{color:#34d399}.val-planned[data-v-88d11f99]{color:#3b82f6}.val-capacity[data-v-88d11f99]{color:#f59e0b}.val-total[data-v-88d11f99]{font-weight:600}.alarms-card[data-v-ab98fe70]{background:var(--bg-surface);border:1px solid rgba(248,113,113,.25);border-radius:16px;overflow:hidden}.alarms-card-header[data-v-ab98fe70]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.alarms-card-header[data-v-ab98fe70]:hover{background:var(--bg-active)}.alarms-card-title[data-v-ab98fe70]{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700;color:#f87171}.alarms-card-title svg[data-v-ab98fe70]{width:20px;height:20px;flex-shrink:0}.alarms-count-badge[data-v-ab98fe70]{background:#f8717126;border:1px solid rgba(248,113,113,.35);border-radius:10px;color:#f87171;font-size:.75rem;font-weight:700;padding:2px 8px}.alarms-collapse-icon[data-v-ab98fe70]{width:18px;height:18px;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.alarms-collapse-icon.collapsed[data-v-ab98fe70]{transform:rotate(180deg)}.alarms-loading[data-v-ab98fe70]{padding:24px;text-align:center;color:var(--text-muted);font-size:.85rem}.alarms-error[data-v-ab98fe70]{color:#ef4444}.alarms-site-list[data-v-ab98fe70]{border-top:1px solid var(--border-subtle)}.alarms-filters[data-v-ab98fe70]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.alarms-filter[data-v-ab98fe70]{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.alarms-filter select[data-v-ab98fe70]{min-width:140px;padding:6px 8px;background:var(--bg-input, var(--bg-elevated));border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.8rem;text-transform:none;letter-spacing:normal;cursor:pointer;transition:border-color .15s}.alarms-filter select[data-v-ab98fe70]:hover,.alarms-filter select[data-v-ab98fe70]:focus{outline:none;border-color:var(--accent-blue, #3b82f6)}.alarms-filter-clear[data-v-ab98fe70]{padding:6px 8px;background:none;border:none;color:var(--accent-blue, #3b82f6);font-size:.8rem;font-weight:600;cursor:pointer}.alarms-filter-clear[data-v-ab98fe70]:hover{text-decoration:underline}@media (max-width: 480px){.alarms-filters[data-v-ab98fe70]{padding:8px 12px}.alarms-filter[data-v-ab98fe70]{flex:1 1 100%}.alarms-filter select[data-v-ab98fe70]{flex:1}}.alarms-table[data-v-ab98fe70]{width:100%;border-collapse:collapse;font-size:.82rem}.alarms-table thead tr[data-v-ab98fe70]{background:var(--bg-surface-solid);border-bottom:1px solid var(--border-subtle)}.alarms-table th[data-v-ab98fe70]{padding:8px 16px;text-align:left;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.alarms-table th.col-age[data-v-ab98fe70]{text-align:right}.alarm-row[data-v-ab98fe70]{border-bottom:1px solid var(--border-subtle);transition:background .15s ease}.alarm-row.alarm-row-continued[data-v-ab98fe70]{border-top-color:transparent}.alarm-row[data-v-ab98fe70]:has(+.alarm-row-continued){border-bottom-color:transparent}.alarm-row[data-v-ab98fe70]:last-child{border-bottom:none}.alarm-row[data-v-ab98fe70]:hover{background:var(--bg-active)}.alarm-row td[data-v-ab98fe70]{padding:8px 16px;vertical-align:middle}.alarm-device-id[data-v-ab98fe70],.alarm-device[data-v-ab98fe70]{font-family:monospace;font-size:.78rem;color:var(--text-muted);white-space:nowrap}.alarm-name[data-v-ab98fe70]{color:var(--text-primary);font-weight:500}.alarm-created[data-v-ab98fe70]{font-size:.78rem;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.alarm-age[data-v-ab98fe70]{text-align:right;color:#f87171;font-weight:600;font-size:.78rem;white-space:nowrap}.alarms-p1-badge[data-v-ab98fe70]{margin-left:8px;padding:2px 8px;border-radius:999px;background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444;font-size:.72rem;font-weight:600;text-transform:none;letter-spacing:0}.alarm-row.alarm-row-p1[data-v-ab98fe70]{background:#ef44441a;box-shadow:inset 3px 0 #ef4444}.alarm-row.alarm-row-p1[data-v-ab98fe70]:hover{background:#ef444429}.alarm-row.alarm-row-p1 .alarm-site[data-v-ab98fe70],.alarm-row.alarm-row-p1 .alarm-name[data-v-ab98fe70],.alarm-row.alarm-row-p1 .alarm-priority[data-v-ab98fe70]{color:#ef4444;font-weight:600}.alarm-site[data-v-ab98fe70]{font-weight:600;color:var(--text-primary);white-space:nowrap}.alarm-group[data-v-ab98fe70]{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.alarm-priority[data-v-ab98fe70]{font-variant-numeric:tabular-nums;white-space:nowrap}.alarm-toggle-row td[data-v-ab98fe70]{padding:0;border-top:1px solid var(--border-subtle)}.alarm-toggle-btn[data-v-ab98fe70]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.alarm-toggle-btn[data-v-ab98fe70]:hover{background:var(--bg-active);color:var(--text-primary)}.alarm-toggle-icon[data-v-ab98fe70]{width:16px;height:16px;transition:transform .2s ease}.alarm-toggle-icon.expanded[data-v-ab98fe70]{transform:rotate(180deg)}.sortable-th[data-v-ab98fe70]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.sortable-th[data-v-ab98fe70]:hover{color:var(--text-primary)}.sort-arrow[data-v-ab98fe70]{font-size:.6rem;margin-left:4px;color:#2563eb}@media (max-width: 768px){.hide-xs[data-v-ab98fe70]{display:none}}@media (max-width: 480px){.hide-sm[data-v-ab98fe70]{display:none}}.site-list[data-v-2ff5e903]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-primary);border-radius:12px;padding:24px}.site-list-header[data-v-2ff5e903]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-left[data-v-2ff5e903]{display:flex;align-items:center;gap:16px}.back-btn[data-v-2ff5e903]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.back-btn[data-v-2ff5e903]:hover{background:#3b82f626;border-color:#3b82f666;color:#60a5fa}.back-btn svg[data-v-2ff5e903]{width:16px;height:16px;flex-shrink:0}.site-list-header h2[data-v-2ff5e903]{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.header-icon[data-v-2ff5e903]{width:28px;height:28px;flex-shrink:0;color:#3b82f6}.header-title[data-v-2ff5e903]{display:flex;flex-direction:column;min-width:0;line-height:1.2}.header-eyebrow[data-v-2ff5e903]{font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.header-name[data-v-2ff5e903]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.refresh-btn[data-v-2ff5e903]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease}.refresh-btn[data-v-2ff5e903]:hover:not(:disabled){background:#3b82f633;transform:scale(1.05)}.refresh-btn[data-v-2ff5e903]:disabled{opacity:.5;cursor:not-allowed}.refresh-btn svg[data-v-2ff5e903]{width:20px;height:20px;color:#60a5fa}.refresh-btn svg.spinning[data-v-2ff5e903]{animation:spin-2ff5e903 1s linear infinite}@keyframes spin-2ff5e903{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading[data-v-2ff5e903],.empty-state[data-v-2ff5e903]{text-align:center;padding:48px;color:var(--text-muted)}.empty-state svg[data-v-2ff5e903]{width:64px;height:64px;margin-bottom:16px;opacity:.5}.empty-state p[data-v-2ff5e903]{margin:8px 0}.empty-state-hint[data-v-2ff5e903]{font-size:.9rem;color:#6b7280;font-style:italic}.sites-table[data-v-2ff5e903]{width:100%}.table-header[data-v-2ff5e903]{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr 1fr .8fr .8fr 1.5fr 32px;gap:12px;padding:8px 12px;background:var(--table-header-bg);border-radius:8px;margin-bottom:6px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.col-label-short[data-v-2ff5e903]{display:none}.sortable[data-v-2ff5e903]{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px;transition:color .2s}.sortable[data-v-2ff5e903]:hover{color:#60a5fa}.sort-icon[data-v-2ff5e903]{width:14px;height:14px;flex-shrink:0;transition:transform .2s}.sort-icon.desc[data-v-2ff5e903]{transform:rotate(180deg)}.site-row-container[data-v-2ff5e903]{margin-bottom:4px}.site-row[data-v-2ff5e903]{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr 1fr .8fr .8fr 1.5fr 32px;gap:12px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .3s ease;align-items:center}.col-settings[data-v-2ff5e903]{display:flex;justify-content:flex-end}.row-settings-btn[data-v-2ff5e903]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.row-settings-btn svg[data-v-2ff5e903]{width:14px;height:14px;transition:transform .3s ease}.row-settings-btn[data-v-2ff5e903]:hover:not(:disabled){color:var(--accent-blue, #3b82f6);border-color:#3b82f680;background:#3b82f614}.row-settings-btn:hover:not(:disabled) svg[data-v-2ff5e903]{transform:rotate(60deg)}.row-settings-btn[data-v-2ff5e903]:disabled{opacity:.4;cursor:not-allowed}.site-row[data-v-2ff5e903]:hover{background:var(--bg-hover);border-color:#3b82f64d}.site-row.expanded[data-v-2ff5e903]{border-bottom-left-radius:0;border-bottom-right-radius:0;background:var(--bg-hover);border-color:#3b82f680}.col-name[data-v-2ff5e903]{display:flex;align-items:center;gap:8px}.expand-icon[data-v-2ff5e903]{width:20px;height:20px;color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.site-row.expanded .expand-icon[data-v-2ff5e903]{transform:rotate(180deg)}.expand-icon svg[data-v-2ff5e903]{width:100%;height:100%}.site-name-wrapper[data-v-2ff5e903]{display:flex;flex-direction:column;gap:2px}.site-name[data-v-2ff5e903]{font-weight:600;color:var(--text-primary);font-size:.95rem}.col-device-id[data-v-2ff5e903],.col-grid[data-v-2ff5e903],.col-pv[data-v-2ff5e903],.col-bess[data-v-2ff5e903],.col-soc[data-v-2ff5e903],.col-devices[data-v-2ff5e903],.col-updated[data-v-2ff5e903]{color:var(--text-secondary);font-size:.875rem}.status-badge[data-v-2ff5e903]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.importing[data-v-2ff5e903]{color:#ef4444;font-weight:600}.exporting[data-v-2ff5e903]{color:#34d399;font-weight:600}.soc-low[data-v-2ff5e903]{color:#ef4444;font-weight:600}.soc-normal[data-v-2ff5e903]{color:#34d399;font-weight:600}.no-data[data-v-2ff5e903]{color:#6b7280;font-style:italic}.timestamp[data-v-2ff5e903]{font-size:.8rem;color:var(--text-muted)}.accordion-actions[data-v-2ff5e903]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.accordion-action-btn[data-v-2ff5e903]{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.accordion-action-btn svg[data-v-2ff5e903]{width:13px;height:13px;flex-shrink:0}.accordion-action-btn.controller-btn[data-v-2ff5e903]{background:#10b9811a;border-color:#10b9814d;color:#34d399}.accordion-action-btn.controller-btn[data-v-2ff5e903]:hover{background:#10b98133;border-color:#10b98180}.accordion-action-btn.config-btn[data-v-2ff5e903]{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.accordion-action-btn.config-btn[data-v-2ff5e903]:hover{background:#3b82f633;border-color:#3b82f680}.accordion-action-btn.edit-btn[data-v-2ff5e903]{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}.accordion-action-btn.edit-btn[data-v-2ff5e903]:hover{background:#fbbf2433;border-color:#fbbf2480}.accordion-action-btn.detail-btn[data-v-2ff5e903]{background:#94a3b814;border-color:#94a3b833;color:var(--text-muted)}.accordion-action-btn.detail-btn[data-v-2ff5e903]:hover{background:#94a3b826;border-color:#94a3b859;color:var(--text-primary)}.accordion-action-btn.logger-btn[data-v-2ff5e903]{color:#0ea5e9;border-color:#0ea5e94d}.accordion-action-btn.logger-btn[data-v-2ff5e903]:hover:not(:disabled){background:#0ea5e92e;border-color:#0ea5e980}.accordion-action-btn.logger-btn[data-v-2ff5e903]:disabled{opacity:.4;cursor:not-allowed}.accordion-action-btn.health-btn[data-v-2ff5e903]{color:#10b981;border-color:#10b9814d;background:#10b98114}.accordion-action-btn.health-btn[data-v-2ff5e903]:hover{background:#10b9812e;border-color:#10b98180}.accordion-content[data-v-2ff5e903]{padding:14px 16px;background:var(--bg-surface-solid);border:1px solid rgba(59,130,246,.5);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.trend-section[data-v-2ff5e903]{margin-bottom:12px}.controller-alarms[data-v-2ff5e903]{margin-bottom:12px;padding:10px 14px;background:var(--bg-elevated);border:1px solid rgba(248,113,113,.3);border-radius:6px}.controller-alarms-title[data-v-2ff5e903]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#f87171;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.controller-alarms-list[data-v-2ff5e903]{display:flex;flex-direction:column;gap:4px}.controller-alarm[data-v-2ff5e903]{display:grid;grid-template-columns:40px minmax(80px,auto) 1fr auto;align-items:center;gap:12px;padding:6px 10px;border-radius:4px;border-left:3px solid var(--border-primary);background:var(--bg-surface-solid);font-size:.8rem;line-height:1.5}.controller-alarm-p1[data-v-2ff5e903]{border-left-color:#ef4444;background:#ef44441a}.controller-alarm-priority[data-v-2ff5e903]{font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.controller-alarm-device[data-v-2ff5e903]{font-family:monospace;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.controller-alarm-name[data-v-2ff5e903]{color:var(--text-primary);font-weight:500}.controller-alarm-p1 .controller-alarm-priority[data-v-2ff5e903],.controller-alarm-p1 .controller-alarm-name[data-v-2ff5e903]{color:#ef4444;font-weight:600}.controller-alarm-age[data-v-2ff5e903]{color:var(--text-muted);font-size:.75rem;white-space:nowrap;text-align:right}@media (max-width: 480px){.controller-alarm[data-v-2ff5e903]{grid-template-columns:32px 1fr auto}.controller-alarm-device[data-v-2ff5e903]{display:none}}.trend-section-title[data-v-2ff5e903]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.site-info-card[data-v-2ff5e903]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:6px;padding:10px 14px;margin-bottom:10px}.site-info-header[data-v-2ff5e903]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.site-info-header h3[data-v-2ff5e903]{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0}.site-info-grid[data-v-2ff5e903]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px}.site-info-item[data-v-2ff5e903]{display:flex;flex-direction:row;align-items:baseline;gap:6px;padding:5px 8px;background:var(--bg-surface);border-radius:4px;border:1px solid var(--border-subtle)}.info-label[data-v-2ff5e903]{font-size:.68rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.info-value[data-v-2ff5e903]{font-size:.8rem;color:var(--text-secondary);font-weight:600}.info-value.monospace[data-v-2ff5e903]{font-family:monospace;font-size:.75rem}.devices-header[data-v-2ff5e903]{margin-bottom:8px}.device-id-label[data-v-2ff5e903]{font-size:.75rem;color:var(--text-muted);margin-top:2px}.device-id-value[data-v-2ff5e903]{color:#60a5fa;font-family:monospace;-webkit-user-select:all;user-select:all}.devices-header h3[data-v-2ff5e903]{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0}.live-badge[data-v-2ff5e903]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:12px;font-size:.7rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.05em}.live-dot[data-v-2ff5e903]{width:6px;height:6px;border-radius:50%;background:#34d399;animation:pulse-dot-2ff5e903 2s ease-in-out infinite}@keyframes pulse-dot-2ff5e903{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.devices-grid[data-v-2ff5e903]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.device-card[data-v-2ff5e903]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:6px;padding:10px 12px;transition:all .3s ease}.device-card.live-device[data-v-2ff5e903]{border-color:#34d3994d;box-shadow:0 0 12px #34d3991a}.live-indicator[data-v-2ff5e903]{display:inline-block;margin-left:8px;padding:2px 8px;background:#34d39933;border-radius:4px;font-size:.7rem;font-weight:600;color:#34d399;text-transform:uppercase}.device-header[data-v-2ff5e903]{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.1)}.device-icon[data-v-2ff5e903]{width:22px;height:22px;flex-shrink:0}.device-icon svg[data-v-2ff5e903]{width:100%;height:100%}.device-info[data-v-2ff5e903]{flex:1;min-width:0}.device-type[data-v-2ff5e903]{font-weight:600;color:var(--text-primary);font-size:.82rem}.device-serial[data-v-2ff5e903]{font-size:.68rem;color:var(--text-muted);font-family:monospace}.device-status[data-v-2ff5e903]{padding:2px 6px;border-radius:6px;font-size:.65rem;font-weight:600;text-transform:uppercase}.device-status.enabled[data-v-2ff5e903]{background:#34d39933;color:#34d399}.device-status.disabled[data-v-2ff5e903]{background:#6b728033;color:var(--text-muted)}.device-details[data-v-2ff5e903]{display:flex;flex-direction:column;gap:8px}.detail-section[data-v-2ff5e903]{background:var(--bg-surface);border-radius:4px;padding:8px}.section-title[data-v-2ff5e903]{font-size:.72rem;font-weight:600;color:#60a5fa;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.data-section[data-v-2ff5e903]{background:#3b82f614;border:1px solid rgba(59,130,246,.25);border-radius:6px;padding:8px 10px;margin-bottom:8px}.data-header[data-v-2ff5e903]{margin-bottom:6px}.data-title[data-v-2ff5e903]{font-size:.72rem;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.04em}.data-grid[data-v-2ff5e903]{display:flex;flex-direction:column;gap:3px}.data-item[data-v-2ff5e903]{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:8px;padding:3px 7px;background:var(--bg-surface);border-radius:4px}.data-label[data-v-2ff5e903]{font-size:.65rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.data-value[data-v-2ff5e903]{font-size:.82rem;color:#60a5fa;font-weight:700;font-family:monospace;text-align:right;word-break:break-all}.config-accordion[data-v-2ff5e903]{background:var(--bg-elevated);border:1px solid rgba(148,163,184,.2);border-radius:6px;overflow:hidden}.config-accordion-header[data-v-2ff5e903]{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;transition:all .2s ease;background:var(--bg-surface);border-bottom:1px solid transparent}.config-accordion-header[data-v-2ff5e903]:hover{background:var(--bg-surface)}.config-accordion-header.expanded[data-v-2ff5e903]{border-bottom-color:#94a3b833}.config-accordion-header span[data-v-2ff5e903]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.accordion-icon[data-v-2ff5e903]{width:16px;height:16px;color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.config-accordion-header.expanded .accordion-icon[data-v-2ff5e903]{transform:rotate(180deg)}.config-accordion-content[data-v-2ff5e903]{padding:12px;background:var(--bg-elevated)}.detail-row[data-v-2ff5e903]{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:4px 0}.detail-label[data-v-2ff5e903]{color:var(--text-muted);font-weight:500}.detail-value[data-v-2ff5e903]{color:var(--text-primary);font-family:monospace;font-size:.75rem;text-align:right}.alarms-section[data-v-2ff5e903]{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.alarms-title[data-v-2ff5e903]{display:flex;align-items:center;gap:8px;color:#fca5a5}.alarms-title svg[data-v-2ff5e903]{width:16px;height:16px}.alarms-list[data-v-2ff5e903]{display:flex;flex-direction:column;gap:8px}.alarm-item[data-v-2ff5e903]{padding:10px 12px;border-radius:4px;font-size:.85rem;line-height:1.5;display:flex;align-items:center;gap:8px;font-family:system-ui,-apple-system,sans-serif}.alarm-item.alarm-active[data-v-2ff5e903]{background:#ef44441f;border-left:3px solid #ef4444;color:#fca5a5}.alarm-item.alarm-inactive[data-v-2ff5e903]{background:#6b72801f;border-left:3px solid #6b7280;color:var(--text-muted)}@media (max-width: 1600px){.table-header[data-v-2ff5e903],.site-row[data-v-2ff5e903]{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr .8fr 32px}.col-devices[data-v-2ff5e903],.col-updated[data-v-2ff5e903]{display:none}}@media (max-width: 1200px){.table-header[data-v-2ff5e903],.site-row[data-v-2ff5e903]{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr .8fr 32px}.col-devices[data-v-2ff5e903],.col-updated[data-v-2ff5e903]{display:none}}@media (max-width: 768px){.site-list[data-v-2ff5e903]{padding:12px 8px}.site-list-header[data-v-2ff5e903]{margin-bottom:12px}.site-list-header h2[data-v-2ff5e903]{font-size:1rem;gap:6px}.header-icon[data-v-2ff5e903]{width:18px;height:18px}.back-btn[data-v-2ff5e903]{padding:6px 10px;font-size:.75rem;gap:4px}.back-btn svg[data-v-2ff5e903]{width:12px;height:12px}.fleet-summary[data-v-2ff5e903]{padding:10px 12px;margin-bottom:12px}.fleet-stat[data-v-2ff5e903]{min-width:calc(50% - 4px);padding:8px 10px;gap:6px}.fleet-stat-icon[data-v-2ff5e903]{width:24px;height:24px;border-radius:6px}.fleet-stat-icon svg[data-v-2ff5e903]{width:12px;height:12px}.fleet-stat-value[data-v-2ff5e903]{font-size:.85rem}.fleet-stat-label[data-v-2ff5e903]{font-size:.62rem}.sites-table[data-v-2ff5e903]{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-header[data-v-2ff5e903],.site-row[data-v-2ff5e903]{grid-template-columns:2fr 1fr 1fr 1fr 1fr .8fr 28px;gap:6px;padding:8px 6px;font-size:.7rem}.table-header[data-v-2ff5e903]{font-size:.6rem;padding:6px;letter-spacing:.02em}.col-device-id[data-v-2ff5e903],.col-devices[data-v-2ff5e903],.col-updated[data-v-2ff5e903],.col-label-full[data-v-2ff5e903]{display:none}.col-label-short[data-v-2ff5e903]{display:inline}.site-name[data-v-2ff5e903]{font-size:.72rem}.expand-icon[data-v-2ff5e903]{width:14px;height:14px}.col-name[data-v-2ff5e903]{gap:4px}.status-badge[data-v-2ff5e903]{padding:2px 6px;font-size:.6rem}.accordion-content[data-v-2ff5e903]{padding:12px 8px}.site-info-grid[data-v-2ff5e903]{grid-template-columns:1fr 1fr;gap:8px}.site-info-item[data-v-2ff5e903]{padding:8px}.devices-grid[data-v-2ff5e903]{grid-template-columns:1fr}}.power-control[data-v-2ff5e903]{margin-top:8px;padding:8px;background:var(--bg-surface);border-radius:6px;border:1px solid rgba(148,163,184,.1)}.power-control-header[data-v-2ff5e903]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.control-label[data-v-2ff5e903]{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.power-value[data-v-2ff5e903]{font-size:.8rem;color:#60a5fa;font-weight:700;font-family:monospace}.power-slider[data-v-2ff5e903]{width:100%;height:4px;border-radius:2px;background:var(--bg-raised);outline:none;-webkit-appearance:none;margin:4px 0}.power-slider[data-v-2ff5e903]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#60a5fa;cursor:pointer;box-shadow:0 1px 4px #60a5fa66;transition:all .2s ease}.power-slider[data-v-2ff5e903]::-webkit-slider-thumb:hover{background:#3b82f6;box-shadow:0 2px 8px #60a5fa99}.power-slider[data-v-2ff5e903]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#60a5fa;cursor:pointer;border:none;box-shadow:0 1px 4px #60a5fa66;transition:all .2s ease}.power-slider[data-v-2ff5e903]::-moz-range-thumb:hover{background:#3b82f6;box-shadow:0 2px 8px #60a5fa99}.slider-labels[data-v-2ff5e903]{display:flex;justify-content:space-between;font-size:.65rem;color:#6b7280;margin-bottom:6px}.control-buttons[data-v-2ff5e903]{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.control-btn[data-v-2ff5e903]{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border:none;border-radius:4px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease}.control-btn svg[data-v-2ff5e903]{width:12px;height:12px}.control-btn[data-v-2ff5e903]:disabled{opacity:.5;cursor:not-allowed}.charging-btn[data-v-2ff5e903]{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.charging-btn[data-v-2ff5e903]:hover:not(:disabled){background:#34d39940;border-color:#34d39980;transform:translateY(-1px)}.discharging-btn[data-v-2ff5e903]{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.discharging-btn[data-v-2ff5e903]:hover:not(:disabled){background:#3b82f640;border-color:#3b82f680;transform:translateY(-1px)}.advanced-btn[data-v-2ff5e903]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-primary);background:#38bdf80f;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s}.advanced-btn svg[data-v-2ff5e903]{width:14px;height:14px}.advanced-btn[data-v-2ff5e903]:hover{background:#38bdf81f;border-color:#38bdf866;color:#38bdf8}.command-feedback[data-v-2ff5e903]{margin-top:6px;padding:5px 8px;border-radius:4px;font-size:.72rem;display:flex;align-items:center;gap:6px;animation:slideDown-2ff5e903 .3s ease}.command-feedback svg[data-v-2ff5e903]{width:12px;height:12px;flex-shrink:0}.command-feedback.success[data-v-2ff5e903]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.command-feedback.error[data-v-2ff5e903]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}@keyframes slideDown-2ff5e903{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.fleet-summary[data-v-2ff5e903]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;padding:16px 20px;margin-bottom:20px}.fleet-summary-title[data-v-2ff5e903]{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dimmed);margin-bottom:14px}.fleet-summary-title svg[data-v-2ff5e903]{width:14px;height:14px;stroke:var(--text-dimmed)}.fleet-count[data-v-2ff5e903]{margin-left:auto;font-size:.75rem;font-weight:500;color:var(--text-dimmed);letter-spacing:0;text-transform:none}.fleet-stats[data-v-2ff5e903]{display:flex;gap:8px;flex-wrap:wrap}.fleet-stat[data-v-2ff5e903]{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 14px;min-width:140px;flex:1}.fleet-stat-icon[data-v-2ff5e903]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fleet-stat-icon svg[data-v-2ff5e903]{width:16px;height:16px}.grid-icon[data-v-2ff5e903]{background:#fbbf241f;stroke:#fbbf24}.grid-icon svg[data-v-2ff5e903]{stroke:#fbbf24}.pv-icon[data-v-2ff5e903]{background:#f59e0b1f}.pv-icon svg[data-v-2ff5e903]{stroke:#f59e0b}.bess-icon[data-v-2ff5e903]{background:#34d3991f}.bess-icon svg[data-v-2ff5e903]{stroke:#34d399}.plan-icon[data-v-2ff5e903]{background:#60a5fa1f}.plan-icon svg[data-v-2ff5e903]{stroke:#60a5fa}.soc-icon[data-v-2ff5e903]{background:#a7f3d01a}.soc-icon svg[data-v-2ff5e903]{stroke:#6ee7b7}.fleet-stat-body[data-v-2ff5e903]{display:flex;flex-direction:column;gap:2px;min-width:0}.fleet-stat-label[data-v-2ff5e903]{font-size:.7rem;font-weight:500;color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.06em}.fleet-stat-value[data-v-2ff5e903]{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.val-positive[data-v-2ff5e903]{color:#fbbf24}.val-negative[data-v-2ff5e903]{color:#f87171}.val-pv[data-v-2ff5e903]{color:#fcd34d}.val-charging[data-v-2ff5e903]{color:#34d399}.val-discharging[data-v-2ff5e903]{color:#fb923c}.val-zero[data-v-2ff5e903]{color:var(--text-muted)}.val-plan[data-v-2ff5e903]{color:#93c5fd}.val-soc[data-v-2ff5e903]{color:#6ee7b7}.fleet-stat-soc[data-v-2ff5e903]{min-width:160px}.soc-display[data-v-2ff5e903]{display:flex;flex-direction:column;gap:4px}.soc-bar-wrap[data-v-2ff5e903]{width:100%;height:4px;background:var(--border-primary);border-radius:2px;overflow:hidden}.soc-bar-fill[data-v-2ff5e903]{height:100%;border-radius:2px;transition:width .6s ease}@media (max-width: 768px){.fleet-stat[data-v-2ff5e903]{min-width:calc(50% - 4px)}}.custom-groups[data-v-eddff90c]{display:flex;flex-direction:column;gap:12px}.custom-groups-head[data-v-eddff90c]{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.custom-groups-head h2[data-v-eddff90c]{margin:0;font-size:1.25rem;color:var(--text-primary)}.custom-groups-head span[data-v-eddff90c]{color:var(--text-muted);font-size:.875rem}.group-dot.custom-dot[data-v-eddff90c]{background:#8b5cf6}.custom-groups-hint[data-v-eddff90c]{color:var(--text-muted);font-size:.875rem}.overview-page[data-v-eddff90c]{min-height:calc(100vh - 81px);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 32px;display:flex;flex-direction:column;gap:32px;transition:background .3s}.overview-header[data-v-eddff90c]{display:flex;align-items:center;gap:20px}.header-icon[data-v-eddff90c]{width:56px;height:56px;background:linear-gradient(135deg,#3b82f633,#2563eb33);border:1px solid rgba(59,130,246,.4);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 24px #3b82f626}.header-icon svg[data-v-eddff90c]{width:28px;height:28px;color:#60a5fa}.header-text h1[data-v-eddff90c]{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0 0 4px}.header-text p[data-v-eddff90c]{font-size:.95rem;color:var(--text-muted);margin:0}.sortable-th[data-v-eddff90c]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.sortable-th[data-v-eddff90c]:hover{color:var(--text-primary)}.sort-arrow[data-v-eddff90c]{font-size:.6rem;margin-left:4px;color:#2563eb}.groups-table-wrap[data-v-eddff90c]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:16px;overflow:hidden}.groups-table[data-v-eddff90c]{width:100%;border-collapse:collapse;font-size:.9rem}.groups-table thead tr[data-v-eddff90c]{background:var(--table-header-bg);border-bottom:1px solid var(--border-primary)}.groups-table th[data-v-eddff90c]{padding:14px 20px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.groups-table th.col-power[data-v-eddff90c],.groups-table th.col-soc[data-v-eddff90c],.groups-table th.col-sites[data-v-eddff90c]{text-align:right}.group-row[data-v-eddff90c]{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s ease}.group-row[data-v-eddff90c]:last-child{border-bottom:none}.group-row[data-v-eddff90c]:hover{background:var(--bg-active)}.group-row:hover .row-arrow[data-v-eddff90c]{opacity:1;transform:translate(3px)}.groups-table td[data-v-eddff90c]{padding:18px 20px;vertical-align:middle}.groups-table td.col-power[data-v-eddff90c],.groups-table td.col-soc[data-v-eddff90c],.groups-table td.col-sites[data-v-eddff90c]{text-align:right}.group-name-cell[data-v-eddff90c]{display:flex;align-items:center;gap:12px}.group-dot[data-v-eddff90c]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.group-name[data-v-eddff90c]{font-weight:600;color:var(--text-primary);font-size:.95rem}.group-p1-badge[data-v-eddff90c]{padding:2px 8px;border-radius:999px;background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444;font-size:.72rem;font-weight:600;white-space:nowrap}.sites-badge[data-v-eddff90c]{display:inline-flex;align-items:center;gap:3px;font-size:.875rem}.sites-online[data-v-eddff90c]{font-weight:700;color:#34d399}.sites-sep[data-v-eddff90c]{color:#475569}.sites-total[data-v-eddff90c]{color:#64748b}.power-val[data-v-eddff90c]{font-weight:600;font-size:.875rem;font-variant-numeric:tabular-nums}.val-import[data-v-eddff90c]{color:#f87171}.val-export[data-v-eddff90c]{color:#34d399}.val-pv[data-v-eddff90c]{color:#fbbf24}.val-charging[data-v-eddff90c]{color:#60a5fa}.val-discharging[data-v-eddff90c]{color:#fb923c}.val-zero[data-v-eddff90c]{color:#64748b}.val-empty[data-v-eddff90c]{color:#334155}.soc-cell[data-v-eddff90c]{display:flex;align-items:center;gap:10px;justify-content:flex-end}.soc-bar-bg[data-v-eddff90c]{width:72px;height:6px;background:#94a3b81f;border-radius:3px;overflow:hidden;flex-shrink:0}.soc-bar-fill[data-v-eddff90c]{height:100%;border-radius:3px;transition:width .4s ease}.soc-label[data-v-eddff90c]{font-weight:700;font-size:.875rem;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.row-arrow[data-v-eddff90c]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#60a5fa;opacity:.3;transition:all .2s ease;margin-left:auto}.row-arrow svg[data-v-eddff90c]{width:16px;height:16px}.col-client[data-v-eddff90c],.client-label[data-v-eddff90c]{color:var(--text-muted);font-size:.85rem}.col-action[data-v-eddff90c]{width:48px}.summary-boxes[data-v-eddff90c]{display:flex;gap:12px;flex-wrap:wrap}.summary-box[data-v-eddff90c]{flex:1;min-width:100px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:6px}.summary-box-soc[data-v-eddff90c]{min-width:140px}.summary-label[data-v-eddff90c]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.summary-value[data-v-eddff90c]{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.val-online[data-v-eddff90c]{color:#34d399}.summary-soc[data-v-eddff90c]{display:flex;align-items:center;gap:10px}.summary-soc-bar-bg[data-v-eddff90c]{flex:1;height:6px;background:#94a3b81f;border-radius:3px;overflow:hidden}.summary-soc-bar-fill[data-v-eddff90c]{height:100%;border-radius:3px;transition:width .4s ease}.empty-state[data-v-eddff90c]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 32px;text-align:center}.empty-icon[data-v-eddff90c]{width:72px;height:72px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.empty-icon svg[data-v-eddff90c]{width:36px;height:36px;color:var(--text-dimmed)}.empty-state h3[data-v-eddff90c]{font-size:1.2rem;font-weight:700;color:var(--text-muted);margin:0}.empty-state p[data-v-eddff90c]{font-size:.9rem;color:var(--text-dimmed);margin:0;max-width:320px;line-height:1.6}.waiting-dots[data-v-eddff90c]{display:flex;gap:8px;margin-top:8px}.waiting-dots span[data-v-eddff90c]{width:8px;height:8px;border-radius:50%;background:var(--bg-raised);animation:dot-pulse-eddff90c 1.4s ease-in-out infinite}.waiting-dots span[data-v-eddff90c]:nth-child(2){animation-delay:.2s}.waiting-dots span[data-v-eddff90c]:nth-child(3){animation-delay:.4s}@keyframes dot-pulse-eddff90c{0%,80%,to{opacity:.3;transform:scale(.9)}40%{opacity:1;transform:scale(1.1)}}@media (max-width: 768px){.overview-page[data-v-eddff90c]{padding:12px 8px;gap:12px}.overview-header[data-v-eddff90c]{gap:10px}.header-icon[data-v-eddff90c]{width:36px;height:36px;border-radius:10px;flex-shrink:0}.header-icon svg[data-v-eddff90c]{width:18px;height:18px}.header-text h1[data-v-eddff90c]{font-size:1.1rem;margin:0 0 2px}.header-text p[data-v-eddff90c]{font-size:.75rem}.groups-table-wrap[data-v-eddff90c]{border-radius:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.groups-table[data-v-eddff90c]{font-size:.72rem;min-width:0;width:100%}.groups-table th[data-v-eddff90c]{padding:8px 5px;font-size:.6rem;letter-spacing:.03em;white-space:nowrap}.groups-table td[data-v-eddff90c]{padding:10px 5px;white-space:nowrap}.group-dot[data-v-eddff90c]{width:6px;height:6px}.group-name-cell[data-v-eddff90c]{gap:6px}.group-name[data-v-eddff90c]{font-size:.72rem}.power-val[data-v-eddff90c]{font-size:.7rem}.soc-cell[data-v-eddff90c]{gap:4px;justify-content:flex-end}.soc-bar-bg[data-v-eddff90c]{display:none}.soc-label[data-v-eddff90c]{font-size:.7rem;min-width:28px}.client-label[data-v-eddff90c]{font-size:.7rem}.row-arrow[data-v-eddff90c]{width:18px;height:18px}.row-arrow svg[data-v-eddff90c]{width:12px;height:12px}.col-action[data-v-eddff90c]{width:28px}.hide-xs[data-v-eddff90c]{display:none}}@media (max-width: 480px){.hide-sm[data-v-eddff90c]{display:none}}.card[data-v-c93fd6c4]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;transition:all .3s ease}.card[data-v-c93fd6c4]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.card.warning[data-v-c93fd6c4]{border-color:#fbbf244d}.card.error[data-v-c93fd6c4]{border-color:#ef44444d}.card-header[data-v-c93fd6c4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.title-section[data-v-c93fd6c4]{display:flex;align-items:center;gap:8px}.icon[data-v-c93fd6c4]{width:24px;height:24px;color:#fbbf24}.card-header h3[data-v-c93fd6c4]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.status-badge[data-v-c93fd6c4]{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.metrics[data-v-c93fd6c4]{display:flex;flex-direction:column;gap:16px}.metric-large[data-v-c93fd6c4]{text-align:center;padding:16px;background:#3b82f61a;border-radius:8px}.metric-large .value[data-v-c93fd6c4]{font-size:2.5rem;font-weight:700;color:#60a5fa;line-height:1}.metric-large .label[data-v-c93fd6c4]{font-size:.875rem;color:var(--text-muted);margin-top:4px}.metric-row[data-v-c93fd6c4]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric[data-v-c93fd6c4]{background:var(--bg-surface);padding:12px;border-radius:8px}.metric-label[data-v-c93fd6c4]{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.metric-value[data-v-c93fd6c4]{font-size:1rem;font-weight:600;color:var(--text-primary)}.error-message[data-v-c93fd6c4]{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.875rem;color:#fca5a5;display:flex;align-items:center;gap:8px}.error-icon[data-v-c93fd6c4]{width:16px;height:16px;flex-shrink:0}.card[data-v-64e4d02a]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;transition:all .3s ease}.card[data-v-64e4d02a]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.card.warning[data-v-64e4d02a]{border-color:#fbbf244d}.card.error[data-v-64e4d02a]{border-color:#ef44444d}.card-header[data-v-64e4d02a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.title-section[data-v-64e4d02a]{display:flex;align-items:center;gap:8px}.icon[data-v-64e4d02a]{width:24px;height:24px;color:#fbbf24}.card-header h3[data-v-64e4d02a]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.status-badge[data-v-64e4d02a]{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.metrics[data-v-64e4d02a]{display:flex;flex-direction:column;gap:12px}.metric-large[data-v-64e4d02a]{text-align:center;padding:16px;background:#fbbf241a;border-radius:8px}.metric-large .value[data-v-64e4d02a]{font-size:2.5rem;font-weight:700;color:#fbbf24;line-height:1}.metric-large .label[data-v-64e4d02a]{font-size:.875rem;color:var(--text-muted);margin-top:4px}.metric-row[data-v-64e4d02a]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric[data-v-64e4d02a]{background:var(--bg-surface);padding:12px;border-radius:8px}.metric-label[data-v-64e4d02a]{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.metric-value[data-v-64e4d02a]{font-size:1rem;font-weight:600;color:var(--text-primary)}.error-message[data-v-64e4d02a]{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.875rem;color:#fca5a5;display:flex;align-items:center;gap:8px}.error-icon[data-v-64e4d02a]{width:16px;height:16px;flex-shrink:0}.card[data-v-01b55b10]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;transition:all .3s ease}.card[data-v-01b55b10]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.card.warning[data-v-01b55b10]{border-color:#fbbf244d}.card.error[data-v-01b55b10]{border-color:#ef44444d}.card-header[data-v-01b55b10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.title-section[data-v-01b55b10]{display:flex;align-items:center;gap:8px}.icon[data-v-01b55b10]{width:24px;height:24px;color:#3b82f6}.card-header h3[data-v-01b55b10]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.status-badge[data-v-01b55b10]{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.mode-indicator[data-v-01b55b10]{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:8px;margin-bottom:16px;color:#000;font-weight:600}.mode-icon[data-v-01b55b10]{font-size:1.25rem}.mode-text[data-v-01b55b10]{font-size:.875rem}.metrics[data-v-01b55b10]{display:flex;flex-direction:column;gap:16px}.metric-large[data-v-01b55b10]{text-align:center;padding:16px;background:#3b82f61a;border-radius:8px}.metric-large .value[data-v-01b55b10]{font-size:2.5rem;font-weight:700;color:#60a5fa;line-height:1}.metric-large .label[data-v-01b55b10]{font-size:.875rem;color:var(--text-muted);margin-top:4px}.soc-container[data-v-01b55b10]{background:var(--bg-surface);padding:16px;border-radius:8px}.soc-label[data-v-01b55b10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.875rem}.soc-label span[data-v-01b55b10]:first-child{color:var(--text-muted)}.soc-value[data-v-01b55b10]{font-weight:700;font-size:1rem}.soc-bar[data-v-01b55b10]{width:100%;height:12px;background:var(--bg-raised);border-radius:6px;overflow:hidden;margin-bottom:8px}.soc-fill[data-v-01b55b10]{height:100%;transition:width .5s ease,background-color .3s ease;border-radius:6px}.capacity-label[data-v-01b55b10]{text-align:center;font-size:.75rem;color:var(--text-muted)}.metric-row[data-v-01b55b10]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric[data-v-01b55b10]{background:var(--bg-surface);padding:12px;border-radius:8px}.metric-label[data-v-01b55b10]{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.metric-value[data-v-01b55b10]{font-size:1rem;font-weight:600;color:var(--text-primary)}.error-message[data-v-01b55b10]{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.875rem;color:#fca5a5;display:flex;align-items:center;gap:8px}.error-icon[data-v-01b55b10]{width:16px;height:16px;flex-shrink:0}.power-control[data-v-01b55b10]{margin-top:8px;padding:8px;background:var(--bg-surface);border-radius:6px;border:1px solid rgba(148,163,184,.1)}.power-control-header[data-v-01b55b10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.control-label[data-v-01b55b10]{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.power-value[data-v-01b55b10]{font-size:.8rem;color:#60a5fa;font-weight:700;font-family:monospace}.power-slider[data-v-01b55b10]{width:100%;height:4px;border-radius:2px;background:var(--bg-raised);outline:none;-webkit-appearance:none;margin:4px 0}.power-slider[data-v-01b55b10]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#60a5fa;cursor:pointer;box-shadow:0 1px 4px #60a5fa66;transition:all .2s ease}.power-slider[data-v-01b55b10]::-webkit-slider-thumb:hover{background:#3b82f6;box-shadow:0 2px 8px #60a5fa99}.power-slider[data-v-01b55b10]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#60a5fa;cursor:pointer;border:none;box-shadow:0 1px 4px #60a5fa66;transition:all .2s ease}.power-slider[data-v-01b55b10]::-moz-range-thumb:hover{background:#3b82f6;box-shadow:0 2px 8px #60a5fa99}.slider-labels[data-v-01b55b10]{display:flex;justify-content:space-between;font-size:.65rem;color:#6b7280;margin-bottom:6px}.control-buttons[data-v-01b55b10]{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.control-btn[data-v-01b55b10]{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border:none;border-radius:4px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease}.control-btn svg[data-v-01b55b10]{width:12px;height:12px}.control-btn[data-v-01b55b10]:disabled{opacity:.5;cursor:not-allowed}.charging-btn[data-v-01b55b10]{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.charging-btn[data-v-01b55b10]:hover:not(:disabled){background:#34d39940;border-color:#34d39980;transform:translateY(-1px)}.discharging-btn[data-v-01b55b10]{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.discharging-btn[data-v-01b55b10]:hover:not(:disabled){background:#3b82f640;border-color:#3b82f680;transform:translateY(-1px)}.command-feedback[data-v-01b55b10]{margin-top:6px;padding:5px 8px;border-radius:4px;font-size:.72rem;display:flex;align-items:center;gap:6px;animation:slideDown-01b55b10 .3s ease}.command-feedback svg[data-v-01b55b10]{width:12px;height:12px;flex-shrink:0}.command-feedback.success[data-v-01b55b10]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.command-feedback.error[data-v-01b55b10]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}@keyframes slideDown-01b55b10{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.energy-flow[data-v-040fd27b]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:24px}.energy-flow h2[data-v-040fd27b]{font-size:1.25rem;font-weight:600;margin:0 0 24px;color:var(--text-primary)}.flow-container[data-v-040fd27b]{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:0;margin-bottom:32px;min-height:200px}.flow-node[data-v-040fd27b]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;background:var(--bg-surface);border:2px solid rgba(148,163,184,.2);border-radius:16px;transition:all .3s ease}.flow-node[data-v-040fd27b]:hover{transform:scale(1.05);box-shadow:0 8px 24px #0000004d}.pv-node[data-v-040fd27b]{border-color:#fbbf2466}.center-node[data-v-040fd27b]{border-color:#3b82f666}.bess-node[data-v-040fd27b]{border-color:#34d39966}.node-icon[data-v-040fd27b]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#3b82f61a}.pv-node .node-icon[data-v-040fd27b]{background:#fbbf241a;color:#fbbf24}.center-node .node-icon[data-v-040fd27b]{background:#3b82f61a;color:#3b82f6}.bess-node .node-icon[data-v-040fd27b]{background:#34d3991a;color:#34d399}.node-icon svg[data-v-040fd27b]{width:28px;height:28px}.node-label[data-v-040fd27b]{font-size:.875rem;color:var(--text-muted);font-weight:500}.node-value[data-v-040fd27b]{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.node-value.importing[data-v-040fd27b]{color:#ef4444}.node-value.exporting[data-v-040fd27b],.node-value.charging[data-v-040fd27b]{color:#34d399}.node-value.discharging[data-v-040fd27b]{color:#3b82f6}.node-status[data-v-040fd27b]{font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:600}.flow-path[data-v-040fd27b]{position:relative;height:3px;width:100%}.flow-line[data-v-040fd27b]{width:100%;height:100%;color:#94a3b84d;transition:color .3s ease}.flow-path.active .flow-line[data-v-040fd27b]{color:#3b82f6cc}.flow-particles[data-v-040fd27b]{position:absolute;top:50%;left:0;width:100%;height:3px;transform:translateY(-50%)}.particle[data-v-040fd27b]{position:absolute;width:8px;height:8px;background:#3b82f6;border-radius:50%;box-shadow:0 0 10px #3b82f6;animation:flowAnimation-040fd27b 2s linear infinite}.particle[data-v-040fd27b]:nth-child(2){animation-delay:.6s}.particle[data-v-040fd27b]:nth-child(3){animation-delay:1.2s}.particle.reverse[data-v-040fd27b]{animation:flowAnimationReverse-040fd27b 2s linear infinite}.particle.reverse[data-v-040fd27b]:nth-child(2){animation-delay:.6s}.particle.reverse[data-v-040fd27b]:nth-child(3){animation-delay:1.2s}@keyframes flowAnimation-040fd27b{0%{left:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@keyframes flowAnimationReverse-040fd27b{0%{left:100%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:0%;opacity:0}}.summary-bar[data-v-040fd27b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px;background:var(--bg-surface);border-radius:8px}.summary-item[data-v-040fd27b]{display:flex;flex-direction:column;gap:4px}.summary-label[data-v-040fd27b]{font-size:.875rem;color:var(--text-muted)}.summary-value[data-v-040fd27b]{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.summary-value.positive[data-v-040fd27b]{color:#34d399}.summary-value.negative[data-v-040fd27b]{color:#ef4444}@media (max-width: 1024px){.flow-container[data-v-040fd27b]{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:16px}.flow-path[data-v-040fd27b]{transform:rotate(90deg);width:80px;margin:0 auto}}.alert-panel[data-v-0a87067d]{background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:20px;margin-bottom:24px}.alert-header[data-v-0a87067d]{display:flex;align-items:center;margin-bottom:16px}.alert-header h2[data-v-0a87067d]{display:flex;align-items:center;gap:8px;font-size:1.125rem;font-weight:600;color:#fca5a5;margin:0}.header-icon[data-v-0a87067d]{width:24px;height:24px}.alert-list[data-v-0a87067d]{display:flex;flex-direction:column;gap:12px}.alert-item[data-v-0a87067d]{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-surface);border-radius:8px;border-left:4px solid;transition:all .3s ease}.alert-item[data-v-0a87067d]:hover{background:var(--bg-surface-solid);transform:translate(4px)}.alert-item.critical[data-v-0a87067d]{border-left-color:#dc2626;background:#dc26260d}.alert-item.error[data-v-0a87067d]{border-left-color:#ef4444;background:#ef44440d}.alert-item.warning[data-v-0a87067d]{border-left-color:#fbbf24;background:#fbbf240d}.alert-item.info[data-v-0a87067d]{border-left-color:#3b82f6;background:#3b82f60d}.alert-icon[data-v-0a87067d]{flex-shrink:0;width:24px;height:24px}.alert-icon svg[data-v-0a87067d]{width:100%;height:100%}.alert-content[data-v-0a87067d]{flex:1;display:flex;flex-direction:column;gap:8px}.alert-meta[data-v-0a87067d]{display:flex;align-items:center;gap:12px;font-size:.75rem}.alert-severity[data-v-0a87067d]{font-weight:700;letter-spacing:.05em}.alert-type[data-v-0a87067d]{padding:2px 8px;background:#94a3b81a;border-radius:4px;color:var(--text-muted);font-weight:600}.alert-time[data-v-0a87067d]{color:#6b7280}.alert-message[data-v-0a87067d]{font-size:.875rem;color:var(--text-primary);line-height:1.5}.acknowledge-btn[data-v-0a87067d]{flex-shrink:0;padding:8px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.acknowledge-btn[data-v-0a87067d]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680}.acknowledge-btn[data-v-0a87067d]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.alert-item[data-v-0a87067d]{flex-direction:column;gap:12px}.alert-meta[data-v-0a87067d]{flex-wrap:wrap}.acknowledge-btn[data-v-0a87067d]{width:100%}}.dashboard[data-v-8820b751]{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);padding:24px}.dashboard-header[data-v-8820b751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:0 8px}.dashboard-header h1[data-v-8820b751]{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0}.site-name[data-v-8820b751]{font-size:.875rem;color:var(--text-muted);margin:4px 0 0}.status-indicator[data-v-8820b751]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500}.status-indicator.operational[data-v-8820b751]{background:#34d3991a;color:#34d399}.status-indicator.warning[data-v-8820b751]{background:#fbbf241a;color:#fbbf24}.status-dot[data-v-8820b751]{width:8px;height:8px;border-radius:50%;animation:pulse-8820b751 2s ease-in-out infinite}.status-indicator.operational .status-dot[data-v-8820b751]{background:#34d399}.status-indicator.warning .status-dot[data-v-8820b751]{background:#fbbf24}@keyframes pulse-8820b751{0%,to{opacity:1}50%{opacity:.5}}.loading[data-v-8820b751]{text-align:center;padding:48px;font-size:1.2rem;color:var(--text-muted)}.dashboard-content[data-v-8820b751]{display:flex;flex-direction:column;gap:24px}.main-grid[data-v-8820b751]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px}.pv-section[data-v-8820b751]{grid-column:1;grid-row:1}.grid-section[data-v-8820b751]{grid-column:2;grid-row:1}.flow-section[data-v-8820b751]{grid-column:1 / -1;grid-row:2}.bess-section[data-v-8820b751]{grid-column:1 / -1;grid-row:3}section h2[data-v-8820b751]{font-size:1.25rem;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.component-grid[data-v-8820b751]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}@media (max-width: 1200px){.main-grid[data-v-8820b751]{grid-template-columns:1fr}.pv-section[data-v-8820b751],.grid-section[data-v-8820b751],.flow-section[data-v-8820b751],.bess-section[data-v-8820b751]{grid-column:1}}@media (max-width: 768px){.dashboard[data-v-8820b751]{padding:16px}.dashboard-header[data-v-8820b751]{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-header h1[data-v-8820b751]{font-size:1.5rem}.devices-grid[data-v-8820b751]{grid-template-columns:1fr}}.devices-detail-section[data-v-8820b751]{grid-column:1 / -1}.live-badge[data-v-8820b751]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:12px;font-size:.7rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.05em}.live-dot[data-v-8820b751]{width:6px;height:6px;border-radius:50%;background:#34d399;animation:pulse-dot-8820b751 2s ease-in-out infinite}@keyframes pulse-dot-8820b751{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.devices-grid[data-v-8820b751]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.device-card[data-v-8820b751]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:16px;transition:all .3s ease}.device-card.live-device[data-v-8820b751]{border-color:#34d3994d;box-shadow:0 0 12px #34d3991a}.device-header[data-v-8820b751]{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.1)}.device-icon[data-v-8820b751]{width:32px;height:32px;flex-shrink:0}.device-icon svg[data-v-8820b751]{width:100%;height:100%}.device-info[data-v-8820b751]{flex:1;min-width:0}.device-type[data-v-8820b751]{font-weight:600;color:var(--text-primary);font-size:.95rem}.device-serial[data-v-8820b751]{font-size:.75rem;color:var(--text-muted);font-family:monospace}.device-status[data-v-8820b751]{padding:4px 8px;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase}.device-status.enabled[data-v-8820b751]{background:#34d39933;color:#34d399}.device-status.disabled[data-v-8820b751]{background:#6b728033;color:var(--text-muted)}.device-details[data-v-8820b751]{display:flex;flex-direction:column;gap:16px}.data-section[data-v-8820b751]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:16px}.data-header[data-v-8820b751]{margin-bottom:12px}.data-title[data-v-8820b751]{font-size:.95rem;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.05em}.data-grid[data-v-8820b751]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.data-item[data-v-8820b751]{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-surface);border-radius:6px}.data-label[data-v-8820b751]{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.data-value[data-v-8820b751]{font-size:1.1rem;color:#60a5fa;font-weight:700;font-family:monospace}.config-accordion[data-v-8820b751]{background:var(--bg-elevated);border:1px solid rgba(148,163,184,.2);border-radius:6px;overflow:hidden}.config-accordion-header[data-v-8820b751]{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;transition:all .2s ease;background:var(--bg-surface);border-bottom:1px solid transparent}.config-accordion-header[data-v-8820b751]:hover{background:var(--bg-surface)}.config-accordion-header.expanded[data-v-8820b751]{border-bottom-color:#94a3b833}.config-accordion-header span[data-v-8820b751]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.accordion-icon[data-v-8820b751]{width:16px;height:16px;color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.config-accordion-header.expanded .accordion-icon[data-v-8820b751]{transform:rotate(180deg)}.config-accordion-content[data-v-8820b751]{padding:12px;background:var(--bg-elevated)}.detail-section[data-v-8820b751]{background:var(--bg-surface);border-radius:6px;padding:12px}.section-title[data-v-8820b751]{font-size:.85rem;font-weight:600;color:#60a5fa;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.detail-row[data-v-8820b751]{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:4px 0}.detail-label[data-v-8820b751]{color:var(--text-muted);font-weight:500}.detail-value[data-v-8820b751]{color:var(--text-primary);font-family:monospace;font-size:.75rem;text-align:right}.alarms-section[data-v-8820b751]{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.alarms-title[data-v-8820b751]{display:flex;align-items:center;gap:8px;color:#fca5a5}.alarms-title svg[data-v-8820b751]{width:16px;height:16px}.alarms-list[data-v-8820b751]{display:flex;flex-direction:column;gap:8px}.alarm-item[data-v-8820b751]{padding:10px 12px;border-radius:4px;font-size:.85rem;line-height:1.5}.alarm-item.alarm-active[data-v-8820b751]{background:#ef44441f;border-left:3px solid #ef4444;color:#fca5a5}.alarm-item.alarm-inactive[data-v-8820b751]{background:#6b72801f;border-left:3px solid #6b7280;color:var(--text-muted)}.live-indicator[data-v-8820b751]{display:inline-block;margin-left:8px;padding:2px 8px;background:#34d39933;border-radius:4px;font-size:.7rem;font-weight:600;color:#34d399;text-transform:uppercase}.power-control[data-v-8820b751]{margin-top:16px;padding:16px;background:var(--bg-surface);border-radius:8px;border:1px solid rgba(148,163,184,.1)}.power-control-header[data-v-8820b751]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.control-label[data-v-8820b751]{font-size:.875rem;color:var(--text-muted);font-weight:500}.power-value[data-v-8820b751]{font-size:1rem;color:#60a5fa;font-weight:700}.power-slider[data-v-8820b751]{width:100%;height:6px;border-radius:3px;background:var(--bg-raised);outline:none;-webkit-appearance:none;margin:8px 0}.power-slider[data-v-8820b751]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#60a5fa;cursor:pointer;box-shadow:0 2px 8px #60a5fa66;transition:all .2s ease}.power-slider[data-v-8820b751]::-webkit-slider-thumb:hover{background:#3b82f6;box-shadow:0 4px 12px #60a5fa99}.power-slider[data-v-8820b751]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#60a5fa;cursor:pointer;border:none;box-shadow:0 2px 8px #60a5fa66;transition:all .2s ease}.power-slider[data-v-8820b751]::-moz-range-thumb:hover{background:#3b82f6;box-shadow:0 4px 12px #60a5fa99}.slider-labels[data-v-8820b751]{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-bottom:12px}.control-buttons[data-v-8820b751]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.control-btn[data-v-8820b751]{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.control-btn svg[data-v-8820b751]{width:16px;height:16px}.control-btn[data-v-8820b751]:disabled{opacity:.5;cursor:not-allowed}.charging-btn[data-v-8820b751]{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.charging-btn[data-v-8820b751]:hover:not(:disabled){background:#34d39940;border-color:#34d39980;transform:translateY(-1px)}.discharging-btn[data-v-8820b751]{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.discharging-btn[data-v-8820b751]:hover:not(:disabled){background:#3b82f640;border-color:#3b82f680;transform:translateY(-1px)}.command-feedback[data-v-8820b751]{margin-top:12px;padding:10px;border-radius:6px;font-size:.875rem;display:flex;align-items:center;gap:8px;animation:slideDown-8820b751 .3s ease}.command-feedback svg[data-v-8820b751]{width:16px;height:16px;flex-shrink:0}.command-feedback.success[data-v-8820b751]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.command-feedback.error[data-v-8820b751]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}@keyframes slideDown-8820b751{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.site-info-section[data-v-8820b751]{margin-bottom:24px}.site-info-card[data-v-8820b751]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:20px;transition:all .3s ease}.site-info-header[data-v-8820b751]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.2)}.site-info-header h3[data-v-8820b751]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.site-info-grid[data-v-8820b751]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.site-info-item[data-v-8820b751]{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-surface);border-radius:6px;transition:background .2s ease}.site-info-item[data-v-8820b751]:hover{background:var(--bg-surface)}.info-label[data-v-8820b751]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.info-value[data-v-8820b751]{font-size:.95rem;font-weight:600;color:var(--text-primary);text-align:right}.info-value.monospace[data-v-8820b751]{font-family:monospace;font-size:.85rem;color:#60a5fa}.info-value.timestamp[data-v-8820b751]{font-size:.85rem;color:var(--text-muted)}.info-value.importing[data-v-8820b751]{color:#ef4444}.info-value.exporting[data-v-8820b751]{color:#34d399}.info-value.soc-low[data-v-8820b751]{color:#ef4444;font-weight:700}.info-value.soc-normal[data-v-8820b751]{color:#34d399}.info-value.no-data[data-v-8820b751]{color:#6b7280;font-style:italic}.site-details-page[data-v-d92969ec]{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);padding:24px}.page-header[data-v-d92969ec]{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid rgba(148,163,184,.2)}.back-btn[data-v-d92969ec]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.back-btn[data-v-d92969ec]:hover{background:#3b82f633;border-color:#3b82f680;transform:translate(-2px)}.back-btn svg[data-v-d92969ec]{width:20px;height:20px}.page-header h1[data-v-d92969ec]{flex:1;margin:0;font-size:2rem;font-weight:700;color:var(--text-primary)}.spacer[data-v-d92969ec]{flex:1}.kiosk-btn[data-v-d92969ec]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid rgba(59,130,246,.3);background:#3b82f61a;color:#60a5fa;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.kiosk-btn[data-v-d92969ec]:hover{background:#3b82f633;border-color:#3b82f680}.kiosk-btn svg[data-v-d92969ec]{width:18px;height:18px}.health-btn[data-v-d92969ec]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid rgba(16,185,129,.3);background:#10b9811a;color:#10b981;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.health-btn[data-v-d92969ec]:hover{background:#10b98133;border-color:#10b98180}.health-btn svg[data-v-d92969ec]{width:18px;height:18px}.loading[data-v-d92969ec]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:400px;color:var(--text-muted)}.loading-spinner[data-v-d92969ec]{width:48px;height:48px;border:4px solid rgba(148,163,184,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin-d92969ec 1s linear infinite}@keyframes spin-d92969ec{to{transform:rotate(360deg)}}.error-state[data-v-d92969ec],.no-devices[data-v-d92969ec]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:400px;color:var(--text-muted)}.error-state svg[data-v-d92969ec],.no-devices svg[data-v-d92969ec]{width:64px;height:64px;color:#6b7280}.error-state p[data-v-d92969ec],.no-devices p[data-v-d92969ec]{font-size:1.1rem;font-weight:500}.page-content[data-v-d92969ec]{display:flex;flex-direction:column;gap:24px;max-width:1600px;margin:0 auto}.site-info-card[data-v-d92969ec]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-info-header[data-v-d92969ec]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.2)}.site-info-header h3[data-v-d92969ec]{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.status-badge[data-v-d92969ec]{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.site-info-grid[data-v-d92969ec]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.site-info-item[data-v-d92969ec]{display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--bg-surface);border-radius:8px;transition:background .2s ease}.site-info-item[data-v-d92969ec]:hover{background:var(--bg-surface)}.info-label[data-v-d92969ec]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.info-value[data-v-d92969ec]{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:right}.info-value.monospace[data-v-d92969ec]{font-family:monospace;font-size:.9rem;color:#60a5fa}.info-value.timestamp[data-v-d92969ec]{font-size:.85rem;color:var(--text-muted)}.info-value.importing[data-v-d92969ec]{color:#ef4444}.info-value.exporting[data-v-d92969ec]{color:#34d399}.info-value.soc-low[data-v-d92969ec]{color:#ef4444;font-weight:700}.info-value.soc-normal[data-v-d92969ec]{color:#34d399}.info-value.no-data[data-v-d92969ec]{color:#6b7280;font-style:italic}.devices-section[data-v-d92969ec]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.devices-header[data-v-d92969ec]{margin-bottom:24px}.devices-header h3[data-v-d92969ec]{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.live-badge[data-v-d92969ec]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#34d39933;border:1px solid rgba(52,211,153,.3);border-radius:12px;font-size:.75rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.05em}.live-dot[data-v-d92969ec]{width:6px;height:6px;border-radius:50%;background:#34d399;animation:pulse-dot-d92969ec 2s ease-in-out infinite}@keyframes pulse-dot-d92969ec{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.devices-grid[data-v-d92969ec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.device-card[data-v-d92969ec]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:20px;transition:all .3s ease}.device-card[data-v-d92969ec]:hover{border-color:#94a3b866;box-shadow:0 4px 12px #0003}.device-card.live-device[data-v-d92969ec]{border-color:#34d3994d;box-shadow:0 0 12px #34d3991a}.device-header[data-v-d92969ec]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.2)}.device-icon[data-v-d92969ec]{width:36px;height:36px;flex-shrink:0}.device-icon svg[data-v-d92969ec]{width:100%;height:100%}.device-info[data-v-d92969ec]{flex:1;min-width:0}.device-type[data-v-d92969ec]{font-weight:700;color:var(--text-primary);font-size:1rem}.device-serial[data-v-d92969ec]{font-size:.8rem;color:var(--text-muted);font-family:monospace}.device-status[data-v-d92969ec]{padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase}.device-status.enabled[data-v-d92969ec]{background:#34d39933;color:#34d399}.device-status.disabled[data-v-d92969ec]{background:#6b728033;color:var(--text-muted)}.device-details[data-v-d92969ec]{display:flex;flex-direction:column;gap:16px}.data-section[data-v-d92969ec]{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:16px}.data-header[data-v-d92969ec]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.data-title[data-v-d92969ec]{font-size:.9rem;font-weight:700;color:#60a5fa;text-transform:uppercase;letter-spacing:.05em}.data-grid[data-v-d92969ec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.data-item[data-v-d92969ec]{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg-surface);border-radius:6px}.data-label[data-v-d92969ec]{font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.data-value[data-v-d92969ec]{font-size:1rem;color:#60a5fa;font-weight:700;font-family:monospace}.config-accordion[data-v-d92969ec]{background:var(--bg-elevated);border:1px solid rgba(148,163,184,.2);border-radius:8px;overflow:hidden}.config-accordion-header[data-v-d92969ec]{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;transition:all .2s ease;background:var(--bg-surface);border-bottom:1px solid transparent}.config-accordion-header[data-v-d92969ec]:hover{background:var(--bg-surface)}.config-accordion-header.expanded[data-v-d92969ec]{border-bottom-color:#94a3b833}.config-accordion-header span[data-v-d92969ec]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.accordion-icon[data-v-d92969ec]{width:18px;height:18px;color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.config-accordion-header.expanded .accordion-icon[data-v-d92969ec]{transform:rotate(180deg)}.config-accordion-content[data-v-d92969ec]{padding:16px;background:var(--bg-elevated)}.detail-section[data-v-d92969ec]{background:var(--bg-surface);border-radius:8px;padding:12px}.detail-row[data-v-d92969ec]{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:6px 0}.detail-label[data-v-d92969ec]{color:var(--text-muted);font-weight:600}.detail-value[data-v-d92969ec]{color:var(--text-primary);font-weight:600;text-align:right}.live-indicator[data-v-d92969ec]{color:#34d399;font-weight:700;font-size:.8em}.alarms-section[data-v-d92969ec]{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.alarms-title[data-v-d92969ec]{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:#fca5a5;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.alarms-title svg[data-v-d92969ec]{width:18px;height:18px}.alarms-list[data-v-d92969ec]{display:flex;flex-direction:column;gap:8px}.alarm-item[data-v-d92969ec]{padding:10px;border-radius:6px;font-size:.85rem;font-weight:500}.alarm-item.alarm-active[data-v-d92969ec]{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alarm-item.alarm-inactive[data-v-d92969ec]{background:#6b72801f;border:1px solid rgba(107,114,128,.3);color:var(--text-muted)}.power-control[data-v-d92969ec]{background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:8px}.power-control-header[data-v-d92969ec]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.control-label[data-v-d92969ec]{font-size:.7rem;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.03em}.power-value[data-v-d92969ec]{font-size:.8rem;font-weight:700;color:#818cf8;font-family:monospace}.power-slider[data-v-d92969ec]{width:100%;height:4px;border-radius:2px;background:var(--bg-surface);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:4px 0}.power-slider[data-v-d92969ec]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#818cf8;cursor:pointer;box-shadow:0 0 4px #818cf880}.power-slider[data-v-d92969ec]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#818cf8;cursor:pointer;border:none;box-shadow:0 0 4px #818cf880}.slider-labels[data-v-d92969ec]{display:flex;justify-content:space-between;margin-top:4px;font-size:.65rem;color:var(--text-muted);margin-bottom:6px}.control-buttons[data-v-d92969ec]{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.control-btn[data-v-d92969ec]{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border-radius:4px;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .2s ease;border:1px solid}.control-btn[data-v-d92969ec]:disabled{opacity:.5;cursor:not-allowed}.control-btn svg[data-v-d92969ec]{width:12px;height:12px}.charging-btn[data-v-d92969ec]{background:#34d3991a;color:#34d399;border-color:#34d3994d}.charging-btn[data-v-d92969ec]:hover:not(:disabled){background:#34d39933;border-color:#34d39980;transform:translateY(-1px)}.discharging-btn[data-v-d92969ec]{background:#3b82f61a;color:#3b82f6;border-color:#3b82f64d}.discharging-btn[data-v-d92969ec]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680;transform:translateY(-1px)}.advanced-btn[data-v-d92969ec]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-primary);background:#38bdf80f;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s}.advanced-btn svg[data-v-d92969ec]{width:14px;height:14px}.advanced-btn[data-v-d92969ec]:hover{background:#38bdf81f;border-color:#38bdf866;color:#38bdf8}.command-feedback[data-v-d92969ec]{margin-top:6px;padding:5px 8px;border-radius:4px;font-size:.72rem;display:flex;align-items:center;gap:6px;animation:slideDown-d92969ec .3s ease}.command-feedback svg[data-v-d92969ec]{width:12px;height:12px;flex-shrink:0}.command-feedback.success[data-v-d92969ec]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.command-feedback.error[data-v-d92969ec]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}@keyframes slideDown-d92969ec{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.controller-page[data-v-3dc4a33c]{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);padding:24px}.page-header[data-v-3dc4a33c]{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid rgba(148,163,184,.2)}.back-btn[data-v-3dc4a33c]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.back-btn[data-v-3dc4a33c]:hover{background:#3b82f633;border-color:#3b82f680;transform:translate(-2px)}.back-btn svg[data-v-3dc4a33c]{width:20px;height:20px}.kiosk-btn[data-v-3dc4a33c]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid rgba(59,130,246,.3);background:#3b82f61a;color:#60a5fa;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.kiosk-btn[data-v-3dc4a33c]:hover{background:#3b82f633;border-color:#3b82f680}.kiosk-btn svg[data-v-3dc4a33c]{width:18px;height:18px}.config-btn[data-v-3dc4a33c]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid rgba(245,158,11,.3);background:#f59e0b1a;color:#fbbf24;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.config-btn[data-v-3dc4a33c]:hover{background:#f59e0b33;border-color:#f59e0b80}.config-btn svg[data-v-3dc4a33c]{width:18px;height:18px}.health-btn[data-v-3dc4a33c]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid rgba(16,185,129,.3);background:#10b9811a;color:#10b981;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.health-btn[data-v-3dc4a33c]:hover{background:#10b98133;border-color:#10b98180}.health-btn svg[data-v-3dc4a33c]{width:18px;height:18px}.header-title[data-v-3dc4a33c]{flex:1;display:flex;flex-direction:column;gap:4px}.header-title h1[data-v-3dc4a33c]{margin:0;font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.1}.page-label[data-v-3dc4a33c]{font-size:.8rem;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.1em}.spacer[data-v-3dc4a33c]{width:140px}.error-state[data-v-3dc4a33c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:400px;color:var(--text-muted)}.error-state svg[data-v-3dc4a33c]{width:64px;height:64px;color:#6b7280}.error-state p[data-v-3dc4a33c]{font-size:1.1rem;font-weight:500}.page-content[data-v-3dc4a33c]{display:flex;flex-direction:column;gap:24px;max-width:1600px;margin:0 auto}.site-info-card[data-v-3dc4a33c]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-info-header[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.2)}.site-info-header h3[data-v-3dc4a33c]{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.status-badge[data-v-3dc4a33c]{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.site-info-grid[data-v-3dc4a33c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.site-info-item[data-v-3dc4a33c]{display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--bg-surface);border-radius:8px;transition:background .2s ease}.site-info-item[data-v-3dc4a33c]:hover{background:var(--bg-surface)}.info-label[data-v-3dc4a33c]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.info-value[data-v-3dc4a33c]{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:right}.info-value.monospace[data-v-3dc4a33c]{font-family:monospace;font-size:.9rem;color:#60a5fa}.info-value.timestamp[data-v-3dc4a33c]{font-size:.85rem;color:var(--text-muted)}.info-value.importing[data-v-3dc4a33c]{color:#ef4444}.info-value.exporting[data-v-3dc4a33c]{color:#34d399}.info-value.soc-low[data-v-3dc4a33c]{color:#ef4444;font-weight:700}.info-value.soc-normal[data-v-3dc4a33c]{color:#34d399}.info-value.no-data[data-v-3dc4a33c]{color:#6b7280;font-style:italic}.commands-card[data-v-3dc4a33c]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.commands-header[data-v-3dc4a33c]{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.2)}.commands-header svg[data-v-3dc4a33c]{width:22px;height:22px;color:#60a5fa;flex-shrink:0}.commands-header h3[data-v-3dc4a33c]{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.commands-grid[data-v-3dc4a33c]{display:flex;flex-direction:column;gap:12px}.command-item[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;background:var(--bg-surface);border:1px solid rgba(148,163,184,.15);border-radius:10px;transition:background .2s ease}.command-item[data-v-3dc4a33c]:hover{background:var(--bg-surface)}.command-info[data-v-3dc4a33c]{display:flex;flex-direction:column;gap:4px;min-width:0}.command-name[data-v-3dc4a33c]{font-size:1rem;font-weight:700;color:var(--text-primary)}.command-description[data-v-3dc4a33c]{font-size:.85rem;color:var(--text-muted)}.command-id[data-v-3dc4a33c]{font-size:.75rem;color:#4b5563;font-family:monospace;margin-top:2px}.command-btn[data-v-3dc4a33c]{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;border:1px solid;white-space:nowrap;flex-shrink:0}.command-btn[data-v-3dc4a33c]:disabled{opacity:.5;cursor:not-allowed}.command-btn svg[data-v-3dc4a33c]{width:18px;height:18px}.scan-btn[data-v-3dc4a33c]{background:#3b82f61a;color:#60a5fa;border-color:#3b82f64d}.scan-btn[data-v-3dc4a33c]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f633}.command-feedback[data-v-3dc4a33c]{padding:14px 16px;border-radius:8px;font-size:.9rem;display:flex;align-items:center;gap:10px;animation:slideDown-3dc4a33c .3s ease}.command-feedback svg[data-v-3dc4a33c]{width:18px;height:18px;flex-shrink:0}.command-feedback.success[data-v-3dc4a33c]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.command-feedback.error[data-v-3dc4a33c]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}@keyframes slideDown-3dc4a33c{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin-3dc4a33c{to{transform:rotate(360deg)}}.spin[data-v-3dc4a33c]{animation:spin-3dc4a33c 1s linear infinite}.socket-log-card[data-v-3dc4a33c]{background:var(--bg-surface-solid);border:1px solid rgba(148,163,184,.2);border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.socket-log-header[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(148,163,184,.1);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.socket-log-header[data-v-3dc4a33c]:hover{background:var(--bg-surface)}.socket-log-title[data-v-3dc4a33c]{display:flex;align-items:center;gap:10px}.socket-log-title svg[data-v-3dc4a33c]{width:20px;height:20px;color:#60a5fa;flex-shrink:0}.socket-log-title h3[data-v-3dc4a33c]{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.msg-count[data-v-3dc4a33c]{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#60a5fa;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:10px;font-family:monospace}.socket-log-actions[data-v-3dc4a33c]{display:flex;align-items:center;gap:8px}.log-action-btn[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.log-action-btn[data-v-3dc4a33c]:hover{background:#3b82f626;border-color:#3b82f666;color:#60a5fa}.log-action-btn svg[data-v-3dc4a33c]{width:15px;height:15px}.collapse-icon[data-v-3dc4a33c]{width:18px;height:18px;color:#6b7280;transition:transform .2s ease;flex-shrink:0}.collapse-icon.collapsed[data-v-3dc4a33c]{transform:rotate(180deg)}.socket-log-body[data-v-3dc4a33c]{max-height:480px;overflow-y:auto;font-family:Courier New,Courier,monospace;font-size:.8rem}.socket-log-body[data-v-3dc4a33c]::-webkit-scrollbar{width:6px}.socket-log-body[data-v-3dc4a33c]::-webkit-scrollbar-track{background:var(--bg-surface)}.socket-log-body[data-v-3dc4a33c]::-webkit-scrollbar-thumb{background:#64748b66;border-radius:3px}.socket-log-empty[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 24px;color:#4b5563;font-size:.9rem;font-family:inherit}.socket-log-empty svg[data-v-3dc4a33c]{width:20px;height:20px}.socket-log-entry[data-v-3dc4a33c]{padding:10px 16px;border-bottom:1px solid rgba(148,163,184,.06);transition:background .15s ease}.socket-log-entry[data-v-3dc4a33c]:hover{background:var(--bg-elevated)}.socket-log-entry.error[data-v-3dc4a33c]{border-left:2px solid rgba(239,68,68,.5)}.socket-log-entry.success[data-v-3dc4a33c]{border-left:2px solid rgba(52,211,153,.5)}.socket-log-entry.data[data-v-3dc4a33c]{border-left:2px solid rgba(96,165,250,.5)}.socket-log-entry.info[data-v-3dc4a33c]{border-left:2px solid rgba(156,163,175,.3)}.log-entry-meta[data-v-3dc4a33c]{display:flex;align-items:center;gap:10px;margin-bottom:4px}.log-time[data-v-3dc4a33c]{color:#4b5563;font-size:.75rem;white-space:nowrap}.log-type[data-v-3dc4a33c]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.log-event[data-v-3dc4a33c]{color:var(--text-primary);font-weight:600;font-size:.8rem}.log-data[data-v-3dc4a33c]{margin:0;color:var(--text-muted);font-size:.75rem;white-space:pre-wrap;word-break:break-all;line-height:1.5;max-height:120px;overflow:hidden;text-overflow:ellipsis}.devices-section[data-v-3dc4a33c]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.devices-header[data-v-3dc4a33c]{margin-bottom:24px}.devices-header h3[data-v-3dc4a33c]{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.live-badge[data-v-3dc4a33c]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#34d39933;border:1px solid rgba(52,211,153,.3);border-radius:12px;font-size:.75rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.05em}.live-dot[data-v-3dc4a33c]{width:6px;height:6px;border-radius:50%;background:#34d399;animation:pulse-dot-3dc4a33c 2s ease-in-out infinite}@keyframes pulse-dot-3dc4a33c{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.devices-grid[data-v-3dc4a33c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.device-card[data-v-3dc4a33c]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:20px;transition:all .3s ease}.device-card[data-v-3dc4a33c]:hover{border-color:#94a3b866;box-shadow:0 4px 12px #0003}.device-card.live-device[data-v-3dc4a33c]{border-color:#34d3994d;box-shadow:0 0 12px #34d3991a}.device-header[data-v-3dc4a33c]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.2)}.device-icon[data-v-3dc4a33c]{width:36px;height:36px;flex-shrink:0}.device-icon svg[data-v-3dc4a33c]{width:100%;height:100%}.device-info[data-v-3dc4a33c]{flex:1;min-width:0}.device-type[data-v-3dc4a33c]{font-weight:700;color:var(--text-primary);font-size:1rem}.device-serial[data-v-3dc4a33c]{font-size:.8rem;color:var(--text-muted);font-family:monospace}.device-status[data-v-3dc4a33c]{padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase}.device-status.enabled[data-v-3dc4a33c]{background:#34d39933;color:#34d399}.device-status.disabled[data-v-3dc4a33c]{background:#6b728033;color:var(--text-muted)}.device-details[data-v-3dc4a33c]{display:flex;flex-direction:column;gap:16px}.data-section[data-v-3dc4a33c]{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:16px}.data-header[data-v-3dc4a33c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.data-title[data-v-3dc4a33c]{font-size:.9rem;font-weight:700;color:#60a5fa;text-transform:uppercase;letter-spacing:.05em}.data-grid[data-v-3dc4a33c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.data-item[data-v-3dc4a33c]{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg-surface);border-radius:6px}.data-label[data-v-3dc4a33c]{font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.data-value[data-v-3dc4a33c]{font-size:1rem;color:#60a5fa;font-weight:700;font-family:monospace}.config-accordion[data-v-3dc4a33c]{background:var(--bg-elevated);border:1px solid rgba(148,163,184,.2);border-radius:8px;overflow:hidden}.config-accordion-header[data-v-3dc4a33c]{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;transition:all .2s ease;background:var(--bg-surface);border-bottom:1px solid transparent}.config-accordion-header[data-v-3dc4a33c]:hover{background:var(--bg-surface)}.config-accordion-header.expanded[data-v-3dc4a33c]{border-bottom-color:#94a3b833}.config-accordion-header span[data-v-3dc4a33c]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.accordion-icon[data-v-3dc4a33c]{width:18px;height:18px;color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.config-accordion-header.expanded .accordion-icon[data-v-3dc4a33c]{transform:rotate(180deg)}.config-accordion-content[data-v-3dc4a33c]{padding:16px;background:var(--bg-elevated)}.detail-section[data-v-3dc4a33c]{background:var(--bg-surface);border-radius:8px;padding:12px}.detail-row[data-v-3dc4a33c]{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:6px 0}.detail-label[data-v-3dc4a33c]{color:var(--text-muted);font-weight:600}.detail-value[data-v-3dc4a33c]{color:var(--text-primary);font-weight:600;text-align:right}.live-indicator[data-v-3dc4a33c]{color:#34d399;font-weight:700;font-size:.8em}.alarms-section[data-v-3dc4a33c]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px}.alarms-title[data-v-3dc4a33c]{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:#fca5a5;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.alarms-title svg[data-v-3dc4a33c]{width:18px;height:18px}.alarms-list[data-v-3dc4a33c]{display:flex;flex-direction:column;gap:8px}.alarm-item[data-v-3dc4a33c]{padding:10px;border-radius:6px;font-size:.85rem;font-weight:500}.alarm-item.alarm-active[data-v-3dc4a33c]{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alarm-item.alarm-inactive[data-v-3dc4a33c]{background:#6b72801f;border:1px solid rgba(107,114,128,.3);color:var(--text-muted)}.power-control[data-v-3dc4a33c]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.1);border-radius:6px;padding:8px}.power-control-header[data-v-3dc4a33c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.control-label[data-v-3dc4a33c]{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.power-value[data-v-3dc4a33c]{font-size:.8rem;color:#60a5fa;font-weight:700;font-family:monospace}.power-slider[data-v-3dc4a33c]{width:100%;height:4px;border-radius:2px;background:var(--bg-raised);outline:none;-webkit-appearance:none;margin:4px 0}.power-slider[data-v-3dc4a33c]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#60a5fa;cursor:pointer;box-shadow:0 1px 4px #60a5fa66;transition:all .2s ease}.power-slider[data-v-3dc4a33c]::-webkit-slider-thumb:hover{background:#3b82f6;box-shadow:0 2px 8px #60a5fa99}.power-slider[data-v-3dc4a33c]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#60a5fa;cursor:pointer;border:none;box-shadow:0 1px 4px #60a5fa66}.slider-labels[data-v-3dc4a33c]{display:flex;justify-content:space-between;font-size:.65rem;color:#6b7280;margin-bottom:6px}.control-buttons[data-v-3dc4a33c]{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.control-btn[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border-radius:4px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid}.control-btn svg[data-v-3dc4a33c]{width:12px;height:12px}.control-btn[data-v-3dc4a33c]:disabled{opacity:.5;cursor:not-allowed}.charging-btn[data-v-3dc4a33c]{background:#34d39926;color:#34d399;border-color:#34d3994d}.charging-btn[data-v-3dc4a33c]:hover:not(:disabled){background:#34d39940;border-color:#34d39980;transform:translateY(-1px)}.discharging-btn[data-v-3dc4a33c]{background:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.discharging-btn[data-v-3dc4a33c]:hover:not(:disabled){background:#3b82f640;border-color:#3b82f680;transform:translateY(-1px)}.command-result[data-v-3dc4a33c]{margin-top:6px;padding:5px 8px;border-radius:4px;font-size:.72rem;display:flex;align-items:center;gap:6px;animation:slideDown-3dc4a33c .3s ease}.command-result svg[data-v-3dc4a33c]{width:12px;height:12px;flex-shrink:0}.command-result.success[data-v-3dc4a33c]{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.command-result.error[data-v-3dc4a33c]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.scan-results-card[data-v-3dc4a33c]{background:var(--bg-surface);border:1px solid rgba(52,211,153,.25);border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown-3dc4a33c .3s ease}.scan-results-header[data-v-3dc4a33c]{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(52,211,153,.15);flex-wrap:wrap;gap:12px}.scan-results-title[data-v-3dc4a33c]{display:flex;align-items:center;gap:10px}.scan-results-title svg[data-v-3dc4a33c]{width:20px;height:20px;color:#34d399;flex-shrink:0}.scan-results-title h3[data-v-3dc4a33c]{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.host-count[data-v-3dc4a33c]{background:#34d3991f;border:1px solid rgba(52,211,153,.3);color:#34d399;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:10px}.scan-meta[data-v-3dc4a33c]{display:flex;align-items:center;gap:12px}.scan-device[data-v-3dc4a33c]{font-family:monospace;font-size:.85rem;color:#60a5fa;font-weight:600}.scan-time[data-v-3dc4a33c]{font-size:.8rem;color:#6b7280}.scan-networks[data-v-3dc4a33c]{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px;border-bottom:1px solid rgba(148,163,184,.08)}.network-badge[data-v-3dc4a33c]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-surface);border:1px solid rgba(148,163,184,.15);border-radius:20px}.network-badge svg[data-v-3dc4a33c]{width:13px;height:13px;color:var(--text-muted);flex-shrink:0}.net-adapter[data-v-3dc4a33c]{font-family:monospace;font-size:.8rem;color:var(--text-muted);font-weight:600}.net-cidr[data-v-3dc4a33c]{font-family:monospace;font-size:.8rem;color:#60a5fa}.hosts-table-wrap[data-v-3dc4a33c]{overflow-x:auto}.hosts-table[data-v-3dc4a33c]{width:100%;border-collapse:collapse;font-size:.875rem}.hosts-table thead th[data-v-3dc4a33c]{padding:10px 16px;text-align:left;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;background:var(--bg-elevated);border-bottom:1px solid rgba(148,163,184,.1);white-space:nowrap}.host-row[data-v-3dc4a33c]{border-bottom:1px solid rgba(148,163,184,.06);transition:background .15s ease}.host-row[data-v-3dc4a33c]:hover{background:var(--bg-elevated)}.host-row td[data-v-3dc4a33c]{padding:10px 16px;vertical-align:middle}.host-ip[data-v-3dc4a33c]{font-family:monospace;font-size:.9rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.host-hostname[data-v-3dc4a33c]{color:var(--text-muted);font-size:.85rem}.host-mac[data-v-3dc4a33c]{font-family:monospace;font-size:.8rem;color:#6b7280;white-space:nowrap}.host-adapter[data-v-3dc4a33c]{font-family:monospace;font-size:.8rem;color:var(--text-muted)}.host-ports[data-v-3dc4a33c]{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.port-none[data-v-3dc4a33c]{font-size:.75rem;color:#4b5563;font-style:italic}.port-badge[data-v-3dc4a33c]{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;font-family:monospace;background:#64748b26;color:var(--text-muted);border:1px solid rgba(100,116,139,.25)}.port-badge.port-502[data-v-3dc4a33c]{background:#fbbf241a;color:#fbbf24;border-color:#fbbf244d}.port-badge.port-8291[data-v-3dc4a33c]{background:#34d3991a;color:#34d399;border-color:#34d3994d}.port-badge.port-443[data-v-3dc4a33c]{background:#60a5fa1a;color:#60a5fa;border-color:#60a5fa4d}.port-badge.port-80[data-v-3dc4a33c]{background:#a78bfa1a;color:#a78bfa;border-color:#a78bfa4d}.host-type[data-v-3dc4a33c]{white-space:nowrap}.device-type-badge[data-v-3dc4a33c]{font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:6px;background:#64748b1a;color:#6b7280;border:1px solid rgba(100,116,139,.2)}.device-type-badge.type-mikrotik[data-v-3dc4a33c]{background:#34d3991a;color:#34d399;border-color:#34d3994d}.device-type-badge.type-modbus[data-v-3dc4a33c]{background:#fbbf241a;color:#fbbf24;border-color:#fbbf244d}.modal-overlay[data-v-e908c414]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-content[data-v-e908c414]{position:relative;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;background:var(--bg-surface-solid);border-radius:16px;border:1px solid var(--border-primary);padding:40px;box-shadow:0 8px 32px #00000080}.modal-close[data-v-e908c414]{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;transition:color .3s ease}.modal-close[data-v-e908c414]:hover{color:var(--text-primary)}.modal-close svg[data-v-e908c414]{width:24px;height:24px}.modal-content h2[data-v-e908c414]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 24px}.user-form[data-v-e908c414]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-e908c414]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-e908c414]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input[data-v-e908c414],.form-group select[data-v-e908c414]{width:100%;padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:all .3s ease}.form-group input[data-v-e908c414]:focus,.form-group select[data-v-e908c414]:focus{outline:none;border-color:#3b82f6;background:var(--bg-hover);box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-e908c414]::placeholder{color:var(--text-dimmed)}.form-group input[data-v-e908c414]:disabled,.form-group select[data-v-e908c414]:disabled{opacity:.5;cursor:not-allowed}.password-input[data-v-e908c414]{position:relative}.password-input input[data-v-e908c414]{padding-right:48px}.toggle-password[data-v-e908c414]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.toggle-password[data-v-e908c414]:hover{color:var(--text-secondary)}.toggle-password svg[data-v-e908c414]{width:20px;height:20px}.field-note[data-v-e908c414]{font-size:.8rem;color:var(--text-muted);margin:0}.reset-password-button[data-v-e908c414]{padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;align-self:flex-start}.reset-password-button[data-v-e908c414]:hover{background:#3b82f633;border-color:#3b82f680}.password-reset-section[data-v-e908c414]{padding:16px;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:8px;display:flex;flex-direction:column;gap:12px}.password-reset-actions[data-v-e908c414]{display:flex;gap:8px}.cancel-reset-button[data-v-e908c414],.confirm-reset-button[data-v-e908c414]{flex:1;padding:10px 16px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-reset-button[data-v-e908c414]{background:var(--bg-hover);border:1px solid var(--border-primary);color:var(--text-secondary)}.cancel-reset-button[data-v-e908c414]:hover{background:var(--bg-raised)}.confirm-reset-button[data-v-e908c414]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.confirm-reset-button[data-v-e908c414]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.confirm-reset-button[data-v-e908c414]:disabled{opacity:.6;cursor:not-allowed}.checkbox-label[data-v-e908c414]{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary);cursor:pointer}.checkbox-label input[type=checkbox][data-v-e908c414]{width:18px;height:18px;cursor:pointer}.error-message[data-v-e908c414]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.875rem}.error-message svg[data-v-e908c414]{width:20px;height:20px;flex-shrink:0}.form-actions[data-v-e908c414]{display:flex;gap:12px;margin-top:8px}.cancel-button[data-v-e908c414],.save-button[data-v-e908c414]{flex:1;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button[data-v-e908c414]{background:var(--bg-raised);border:1px solid var(--border-hover);color:var(--text-primary)}.cancel-button[data-v-e908c414]:hover:not(:disabled){background:var(--bg-raised);border-color:var(--border-hover)}.save-button[data-v-e908c414]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.save-button[data-v-e908c414]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.save-button[data-v-e908c414]:disabled,.cancel-button[data-v-e908c414]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-e908c414]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner svg[data-v-e908c414]{width:20px;height:20px;animation:spin-e908c414 1s linear infinite}@keyframes spin-e908c414{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.array-input[data-v-e908c414]{display:flex;flex-direction:column;gap:12px}.input-with-button[data-v-e908c414]{display:flex;gap:8px}.input-with-button input[data-v-e908c414]{flex:1}.add-button[data-v-e908c414]{padding:12px 20px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-button[data-v-e908c414]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680}.add-button[data-v-e908c414]:disabled{opacity:.5;cursor:not-allowed}.chip-container[data-v-e908c414]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-e908c414]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:20px;color:#93c5fd;font-size:.875rem}.chip span[data-v-e908c414]{line-height:1}.chip-remove[data-v-e908c414]{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;line-height:0}.chip-remove[data-v-e908c414]:hover:not(:disabled){color:var(--text-primary)}.chip-remove[data-v-e908c414]:disabled{opacity:.5;cursor:not-allowed}.chip-remove svg[data-v-e908c414]{width:14px;height:14px}@media (max-width: 640px){.modal-content[data-v-e908c414]{padding:24px}.modal-content h2[data-v-e908c414]{font-size:1.25rem}}.user-management[data-v-cd2c42a7]{padding:24px;max-width:1400px;margin:0 auto}.header[data-v-cd2c42a7]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.header-content h1[data-v-cd2c42a7]{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.header-content p[data-v-cd2c42a7]{font-size:1rem;color:var(--text-muted);margin:0}.create-button[data-v-cd2c42a7]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.create-button[data-v-cd2c42a7]:hover{transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.create-button svg[data-v-cd2c42a7]{width:20px;height:20px}.error-banner[data-v-cd2c42a7]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;margin-bottom:24px}.error-banner svg[data-v-cd2c42a7]{width:20px;height:20px;flex-shrink:0}.dismiss-button[data-v-cd2c42a7]{margin-left:auto;background:none;border:none;color:#fca5a5;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .3s ease}.dismiss-button[data-v-cd2c42a7]:hover{color:#ef4444}.dismiss-button svg[data-v-cd2c42a7]{width:16px;height:16px}.loading-container[data-v-cd2c42a7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:16px}.loading-spinner svg[data-v-cd2c42a7]{width:48px;height:48px;color:#3b82f6;animation:spin-cd2c42a7 1s linear infinite}@keyframes spin-cd2c42a7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p[data-v-cd2c42a7]{color:var(--text-muted);font-size:1rem}.users-table-container[data-v-cd2c42a7]{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border-primary);overflow-x:auto}.users-table[data-v-cd2c42a7]{width:100%;min-width:1200px;border-collapse:collapse}.users-table thead[data-v-cd2c42a7]{background:var(--bg-hover)}.users-table th[data-v-cd2c42a7]{padding:16px 20px;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.users-table tbody tr[data-v-cd2c42a7]{border-top:1px solid var(--border-primary);transition:background .2s ease}.users-table tbody tr[data-v-cd2c42a7]:hover{background:var(--bg-elevated)}.users-table tbody tr.current-user[data-v-cd2c42a7]{background:#3b82f60d}.users-table td[data-v-cd2c42a7]{padding:16px 20px;color:var(--text-primary);font-size:.95rem}.user-name[data-v-cd2c42a7]{display:flex;align-items:center;gap:8px}.you-badge[data-v-cd2c42a7]{padding:2px 8px;background:#3b82f633;border:1px solid rgba(59,130,246,.4);border-radius:4px;font-size:.75rem;font-weight:600;color:#60a5fa}.role-badge[data-v-cd2c42a7]{display:inline-block;padding:4px 12px;border-radius:6px;font-size:.875rem;font-weight:500;text-transform:capitalize}.role-badge-admin[data-v-cd2c42a7]{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.role-badge-manager[data-v-cd2c42a7]{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.role-badge-operator[data-v-cd2c42a7]{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status-badge[data-v-cd2c42a7]{display:inline-block;padding:4px 12px;border-radius:6px;font-size:.875rem;font-weight:500}.status-active[data-v-cd2c42a7]{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status-inactive[data-v-cd2c42a7]{background:#6b728026;color:var(--text-muted);border:1px solid rgba(107,114,128,.3)}.debug-enabled[data-v-cd2c42a7]{background:#fbbf2426;color:#fcd34d;border:1px solid rgba(251,191,36,.3)}.debug-disabled[data-v-cd2c42a7]{background:#6b72801a;color:var(--text-dimmed);border:1px solid rgba(107,114,128,.2)}.actions[data-v-cd2c42a7]{display:flex;gap:8px}.action-button[data-v-cd2c42a7]{padding:8px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.action-button svg[data-v-cd2c42a7]{width:16px;height:16px}.edit-button[data-v-cd2c42a7]{color:#60a5fa}.edit-button[data-v-cd2c42a7]:hover{background:#3b82f626;border-color:#3b82f64d}.delete-button[data-v-cd2c42a7]{color:#fca5a5}.delete-button[data-v-cd2c42a7]:hover{background:#ef444426;border-color:#ef44444d}.empty-state[data-v-cd2c42a7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.empty-state svg[data-v-cd2c42a7]{width:64px;height:64px;color:var(--text-dimmed);margin-bottom:16px}.empty-state h3[data-v-cd2c42a7]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state p[data-v-cd2c42a7]{font-size:.95rem;color:var(--text-muted);margin:0}.modal-overlay[data-v-cd2c42a7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-content[data-v-cd2c42a7]{position:relative;width:100%;max-width:440px;background:var(--bg-surface-solid);border-radius:16px;border:1px solid var(--border-primary);padding:40px;box-shadow:0 8px 32px #00000080}.delete-confirm[data-v-cd2c42a7]{text-align:center}.delete-icon[data-v-cd2c42a7]{width:64px;height:64px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:#ef444426;border-radius:50%}.delete-icon svg[data-v-cd2c42a7]{width:32px;height:32px;color:#ef4444}.modal-content h2[data-v-cd2c42a7]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 16px}.modal-content p[data-v-cd2c42a7]{font-size:.95rem;color:var(--text-secondary);margin:0 0 32px;line-height:150%}.modal-content p strong[data-v-cd2c42a7]{color:var(--text-primary)}.modal-actions[data-v-cd2c42a7]{display:flex;gap:12px;justify-content:center}.cancel-button[data-v-cd2c42a7],.delete-confirm-button[data-v-cd2c42a7]{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button[data-v-cd2c42a7]{background:var(--bg-raised);border:1px solid var(--border-hover);color:var(--text-primary)}.cancel-button[data-v-cd2c42a7]:hover{background:var(--bg-raised);border-color:var(--border-hover)}.delete-confirm-button[data-v-cd2c42a7]{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff}.delete-confirm-button[data-v-cd2c42a7]:hover{transform:translateY(-2px);box-shadow:0 8px 16px #ef44444d}.landing-page[data-v-cd2c42a7]{padding:4px 8px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:4px;font-size:.85rem;font-family:Courier New,monospace;color:#93c5fd}.chip-list[data-v-cd2c42a7]{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.mini-chip[data-v-cd2c42a7]{display:inline-block;padding:4px 8px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:12px;color:#93c5fd;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.more-badge[data-v-cd2c42a7]{display:inline-block;padding:4px 6px;background:var(--bg-raised);border-radius:10px;color:var(--text-muted);font-size:.7rem;font-weight:600}.all-access[data-v-cd2c42a7]{color:var(--text-dimmed);font-style:italic;font-size:.85rem}@media (max-width: 768px){.user-management[data-v-cd2c42a7]{padding:16px}.header[data-v-cd2c42a7]{flex-direction:column;align-items:stretch}.create-button[data-v-cd2c42a7]{width:100%;justify-content:center}.header-content h1[data-v-cd2c42a7]{font-size:1.5rem}}.coe[data-v-017761ca]{display:flex;flex-direction:column;gap:4px}.coe.nested[data-v-017761ca]{margin:4px 0 8px 12px;padding-left:12px;border-left:1px solid rgba(148,163,184,.18)}.coe-empty[data-v-017761ca]{font-size:13px;color:#64748b;padding:8px 0}.coe-row[data-v-017761ca]{display:grid;grid-template-columns:minmax(140px,220px) 1fr 28px;align-items:center;gap:12px;padding:4px 8px;border-radius:8px;transition:background .15s}.coe-row[data-v-017761ca]:hover{background:#94a3b80d}.coe-row.object[data-v-017761ca]{display:block;padding:0}.coe-row.object[data-v-017761ca]:hover{background:none}.coe-row.list[data-v-017761ca]{align-items:start}.coe-row.list .coe-key[data-v-017761ca]{padding-top:8px}.coe-key[data-v-017761ca]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coe-group-head[data-v-017761ca]{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:8px}.coe-group-head[data-v-017761ca]:hover{background:#94a3b80d}.coe-toggle[data-v-017761ca]{display:flex;align-items:center;gap:8px;background:none;border:none;color:inherit;cursor:pointer;padding:4px 0}.coe-toggle svg[data-v-017761ca]{color:#64748b;transition:transform .15s}.coe-toggle svg.open[data-v-017761ca]{transform:rotate(90deg)}.coe-toggle .coe-key[data-v-017761ca]{color:#93c5fd;font-weight:600}.coe-meta[data-v-017761ca]{font-size:12px;color:#64748b}.coe-input input[type=text][data-v-017761ca],.coe-input input[type=number][data-v-017761ca],.coe-json textarea[data-v-017761ca],.coe-add-form input[data-v-017761ca],.coe-add-form select[data-v-017761ca]{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .15s,box-shadow .15s}.coe-input input[data-v-017761ca]:focus,.coe-json textarea[data-v-017761ca]:focus,.coe-add-form input[data-v-017761ca]:focus,.coe-add-form select[data-v-017761ca]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.coe-input input[data-v-017761ca]:disabled,.coe-json textarea[data-v-017761ca]:read-only{color:var(--text-muted);background:var(--bg-elevated)}.coe-json textarea[data-v-017761ca]{resize:vertical;line-height:1.5}.coe-text[data-v-017761ca]{position:relative;display:flex;align-items:center}.coe-badge[data-v-017761ca]{position:absolute;right:8px;padding:2px 8px;border-radius:999px;background:#f59e0b26;color:#fbbf24;font-size:11px;font-weight:600;pointer-events:auto}.coe-switch[data-v-017761ca]{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.coe-switch input[data-v-017761ca]{position:absolute;opacity:0;pointer-events:none}.coe-switch-track[data-v-017761ca]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s}.coe-switch-dot[data-v-017761ca]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.coe-switch input:checked+.coe-switch-track[data-v-017761ca]{background:#10b981}.coe-switch input:checked+.coe-switch-track .coe-switch-dot[data-v-017761ca]{transform:translate(16px)}.coe-switch input:focus-visible+.coe-switch-track[data-v-017761ca]{box-shadow:0 0 0 3px #3b82f64d}.coe-switch input:disabled+.coe-switch-track[data-v-017761ca]{opacity:.6}.coe-switch-label[data-v-017761ca]{font-size:12px;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.coe-remove[data-v-017761ca]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:none;color:#64748b;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.coe-row:hover .coe-remove[data-v-017761ca],.coe-group-head:hover .coe-remove[data-v-017761ca],.coe-remove[data-v-017761ca]:focus-visible{opacity:1}.coe-remove[data-v-017761ca]:hover{background:#ef444426;color:#f87171}.coe-error[data-v-017761ca]{display:block;margin-top:4px;font-size:12px;color:#f87171}.coe-add[data-v-017761ca]{padding:4px 8px}.coe-add-form[data-v-017761ca]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.coe-add-form input[data-v-017761ca]{width:200px}.coe-add-form select[data-v-017761ca]{width:130px;font-family:inherit}.coe-add-btn[data-v-017761ca]{padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.3);background:none;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.coe-add-btn[data-v-017761ca]:hover{color:var(--text-primary);border-color:#94a3b880}.coe-add-btn.primary[data-v-017761ca]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}@media (max-width: 640px){.coe-row[data-v-017761ca]{grid-template-columns:1fr 28px}.coe-row .coe-key[data-v-017761ca]{grid-column:1 / -1}}.ce[data-v-d4d8281b]{display:flex;flex-direction:column;gap:16px;padding-bottom:88px}.ce-toolbar[data-v-d4d8281b]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.ce-version[data-v-d4d8281b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ce-version-badge[data-v-d4d8281b]{padding:4px 12px;border-radius:999px;background:#3b82f626;color:#93c5fd;font-size:12px;font-weight:600}.ce-version-badge.muted[data-v-d4d8281b]{background:#64748b33;color:#cbd5e1}.ce-version-meta[data-v-d4d8281b]{font-size:13px;color:#94a3b8}.ce-toolbar-actions[data-v-d4d8281b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ce-segment[data-v-d4d8281b]{display:inline-flex;padding:2px;border-radius:8px;background:#0f172a99;border:1px solid rgba(148,163,184,.2)}.ce-segment button[data-v-d4d8281b]{padding:6px 14px;border:none;border-radius:6px;background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.ce-segment button.active[data-v-d4d8281b]{background:#3b82f633;color:#e2e8f0}.ce-btn[data-v-d4d8281b]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#1e293bcc;color:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.ce-btn[data-v-d4d8281b]:hover:not(:disabled){background:#334155e6;border-color:#94a3b873}.ce-btn[data-v-d4d8281b]:active:not(:disabled){transform:translateY(1px)}.ce-btn[data-v-d4d8281b]:disabled{opacity:.5;cursor:not-allowed}.ce-btn.small[data-v-d4d8281b]{padding:4px 10px;font-size:12px}.ce-btn.ghost[data-v-d4d8281b]{background:none}.ce-btn.ghost.on[data-v-d4d8281b]{border-color:#f59e0b80;color:#fbbf24}.ce-btn.primary[data-v-d4d8281b]{background:#2563eb;border-color:#2563eb;color:#fff}.ce-btn.primary[data-v-d4d8281b]:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.ce-btn.danger[data-v-d4d8281b]{border-color:#ef444466;color:#fca5a5;background:#ef444414}.ce-btn.danger[data-v-d4d8281b]:hover:not(:disabled){background:#ef44442e;border-color:#ef444499}.ce-btn svg.spin[data-v-d4d8281b]{animation:ce-spin-d4d8281b .8s linear infinite}.ce-link[data-v-d4d8281b]{background:none;border:none;color:#60a5fa;font-size:12px;font-weight:600;cursor:pointer;padding:0}.ce-link[data-v-d4d8281b]:hover{color:#93c5fd}.ce-icon-btn[data-v-d4d8281b]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:none;color:#cbd5e1;cursor:pointer;transition:background .15s}.ce-icon-btn[data-v-d4d8281b]:hover:not(:disabled){background:#94a3b81a}.ce-icon-btn[data-v-d4d8281b]:disabled{opacity:.35;cursor:not-allowed}.ce-banner[data-v-d4d8281b]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.5;animation:ce-in-d4d8281b .2s ease-out}.ce-banner.info[data-v-d4d8281b]{background:#3b82f614;border:1px solid rgba(59,130,246,.25);color:#bfdbfe}.ce-banner.success[data-v-d4d8281b]{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.ce-banner.error[data-v-d4d8281b]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.ce-state[data-v-d4d8281b]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;color:#94a3b8;font-size:14px}.ce-state.error[data-v-d4d8281b]{color:#fca5a5}.ce-body[data-v-d4d8281b]{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.ce-side[data-v-d4d8281b]{position:sticky;top:16px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);max-height:calc(100vh - 220px);overflow-y:auto}.ce-side-head[data-v-d4d8281b]{display:flex;justify-content:space-between;align-items:center;padding:16px 8px 8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.ce-count[data-v-d4d8281b]{margin-left:4px;padding:0 6px;border-radius:999px;background:#64748b40;color:#cbd5e1}.ce-device-list[data-v-d4d8281b]{display:flex;flex-direction:column;gap:2px}.ce-side-item[data-v-d4d8281b]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:none;color:#cbd5e1;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.ce-side-item.general[data-v-d4d8281b]{flex-direction:column;align-items:flex-start;gap:2px}.ce-side-item[data-v-d4d8281b]:hover{background:#94a3b814}.ce-side-item.active[data-v-d4d8281b]{background:#3b82f624;border-color:#3b82f659;color:#f1f5f9}.ce-side-title[data-v-d4d8281b]{font-size:13px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-side-sub[data-v-d4d8281b]{font-size:12px;color:#64748b}.ce-side-empty[data-v-d4d8281b]{margin:0;padding:8px 12px;font-size:12px;color:#64748b}.ce-type[data-v-d4d8281b]{flex-shrink:0;min-width:48px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-align:center;letter-spacing:.04em;background:#64748b40;color:#cbd5e1}.ce-type[data-type=GRID][data-v-d4d8281b]{background:#3b82f633;color:#93c5fd}.ce-type[data-type=PV][data-v-d4d8281b]{background:#f59e0b33;color:#fcd34d}.ce-type[data-type=ESS][data-v-d4d8281b]{background:#10b98133;color:#6ee7b7}.ce-type[data-type=LOAD][data-v-d4d8281b]{background:#ef44442e;color:#fca5a5}.ce-type[data-type=EMI][data-v-d4d8281b]{background:#14b8a633;color:#5eead4}.ce-add-device[data-v-d4d8281b]{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:8px;background:#0f172a80}.ce-add-device input[data-v-d4d8281b],.ce-comment[data-v-d4d8281b]{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172ab3;color:#e2e8f0;font-size:13px}.ce-add-device input[data-v-d4d8281b]:focus,.ce-comment[data-v-d4d8281b]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.ce-add-device-actions[data-v-d4d8281b]{display:flex;gap:8px}.ce-field-error[data-v-d4d8281b]{font-size:12px;color:#f87171}.ce-main[data-v-d4d8281b]{min-width:0;padding:16px 16px 24px;border-radius:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);animation:ce-in-d4d8281b .18s ease-out}.ce-main-head[data-v-d4d8281b]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 8px 16px;margin-bottom:8px;border-bottom:1px solid rgba(148,163,184,.12)}.ce-main-head h3[data-v-d4d8281b]{margin:0;font-size:18px;font-weight:600;color:#f1f5f9;line-height:1.2}.ce-main-head p[data-v-d4d8281b]{margin:4px 0 0;font-size:13px;color:#94a3b8}.ce-main-actions[data-v-d4d8281b]{display:flex;align-items:center;gap:8px}.ce-json[data-v-d4d8281b]{display:flex;flex-direction:column;gap:12px}.ce-json textarea[data-v-d4d8281b]{width:100%;min-height:calc(100vh - 360px);padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172ab3;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;resize:vertical}.ce-json textarea[data-v-d4d8281b]:focus{outline:none;border-color:#3b82f6}.ce-json-actions[data-v-d4d8281b]{display:flex;justify-content:flex-end}.ce-savebar[data-v-d4d8281b]{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:12px;width:min(880px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:#0f172af5;border:1px solid rgba(59,130,246,.35);box-shadow:0 16px 48px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ce-savebar-info[data-v-d4d8281b]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#e2e8f0;white-space:nowrap}.ce-dot[data-v-d4d8281b]{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b33}.ce-comment[data-v-d4d8281b]{flex:1;min-width:0}.ce-bar-enter-active[data-v-d4d8281b],.ce-bar-leave-active[data-v-d4d8281b]{transition:opacity .2s,transform .2s}.ce-bar-enter-from[data-v-d4d8281b],.ce-bar-leave-to[data-v-d4d8281b]{opacity:0;transform:translate(-50%,16px)}.ce-spinner[data-v-d4d8281b]{display:inline-block;width:16px;height:16px;border:2px solid rgba(148,163,184,.3);border-top-color:#60a5fa;border-radius:50%;animation:ce-spin-d4d8281b .8s linear infinite}.ce-spinner.small[data-v-d4d8281b]{width:12px;height:12px;border-top-color:#fff}@keyframes ce-spin-d4d8281b{to{transform:rotate(360deg)}}@keyframes ce-in-d4d8281b{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width: 860px){.ce-body[data-v-d4d8281b]{grid-template-columns:1fr}.ce-side[data-v-d4d8281b]{position:static;max-height:none}.ce-savebar[data-v-d4d8281b]{flex-wrap:wrap}.ce-comment[data-v-d4d8281b]{flex-basis:100%;order:3}}.ci-overlay[data-v-d4d8281b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#020617b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ci-fade-d4d8281b .15s ease-out}.ci-dialog[data-v-d4d8281b]{width:100%;max-width:560px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-radius:16px;border:1px solid rgba(148,163,184,.2);background:var(--bg-surface-solid);color:var(--text-primary);box-shadow:0 24px 64px #00000080;animation:ci-pop-d4d8281b .2s ease-out}.ci-head[data-v-d4d8281b]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 16px}.ci-head h2[data-v-d4d8281b]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.2}.ci-head p[data-v-d4d8281b]{margin:4px 0 0;font-size:13px;color:var(--text-muted);line-height:1.5}.ci-close[data-v-d4d8281b]{padding:8px;border:none;border-radius:8px;background:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.ci-close[data-v-d4d8281b]:hover{background:#94a3b81f;color:var(--text-primary)}.ci-body[data-v-d4d8281b]{display:flex;flex-direction:column;gap:16px;padding:0 24px 16px;overflow-y:auto}.ci-input[data-v-d4d8281b]{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:var(--bg-surface);color:var(--text-primary);font-size:14px;box-sizing:border-box}.ci-input[data-v-d4d8281b]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.ci-list[data-v-d4d8281b]{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.ci-list.compact[data-v-d4d8281b]{max-height:240px}.ci-item[data-v-d4d8281b]{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:var(--bg-elevated);color:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.ci-item[data-v-d4d8281b]:hover:not(:disabled){background:#3b82f61f;border-color:#3b82f659}.ci-item[data-v-d4d8281b]:disabled{opacity:.5;cursor:wait}.ci-item-name[data-v-d4d8281b]{font-size:14px;font-weight:500;color:var(--text-primary)}.ci-item-sub[data-v-d4d8281b]{font-size:12px;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ci-empty[data-v-d4d8281b]{margin:0;padding:16px;font-size:13px;color:#64748b;text-align:center}.ci-manual[data-v-d4d8281b]{display:flex;flex-direction:column;gap:8px}.ci-manual label[data-v-d4d8281b]{font-size:12px;color:var(--text-muted)}.ci-manual-row[data-v-d4d8281b]{display:flex;gap:8px}.ci-loading[data-v-d4d8281b]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.ci-section-head[data-v-d4d8281b]{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ci-check[data-v-d4d8281b]{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:var(--bg-elevated);cursor:pointer;transition:background .15s}.ci-check[data-v-d4d8281b]:hover{background:var(--bg-raised)}.ci-check.disabled[data-v-d4d8281b]{opacity:.5;cursor:not-allowed}.ci-check input[data-v-d4d8281b]{accent-color:#3b82f6;width:16px;height:16px;flex-shrink:0}.ci-check>span[data-v-d4d8281b]:not(.ce-type):not(.ci-tag){display:flex;flex-direction:column;gap:2px;min-width:0}.ci-check-title[data-v-d4d8281b]{font-size:14px;font-weight:500;color:var(--text-primary)}.ci-check-sub[data-v-d4d8281b]{font-size:12px;color:var(--text-muted);line-height:1.5}.ci-tag[data-v-d4d8281b]{margin-left:auto;font-size:11px;font-weight:600;color:#fbbf24;white-space:nowrap}.ci-foot[data-v-d4d8281b]{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid rgba(148,163,184,.15)}.ci-spacer[data-v-d4d8281b]{flex:1}@keyframes ci-fade-d4d8281b{0%{opacity:0}to{opacity:1}}@keyframes ci-pop-d4d8281b{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.sf-grid[data-v-38fd9b6f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px}.sf-field[data-v-38fd9b6f]{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-field.wide[data-v-38fd9b6f]{grid-column:1 / -1}.sf-field.legacy .sf-label[data-v-38fd9b6f]{color:#94a3b8}.sf-label-row[data-v-38fd9b6f]{display:flex;align-items:baseline;gap:8px;min-width:0}.sf-label[data-v-38fd9b6f]{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.5}.sf-req[data-v-38fd9b6f]{color:#fbbf24;font-weight:600}.sf-key[data-v-38fd9b6f]{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sf-help[data-v-38fd9b6f]{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.sf-error[data-v-38fd9b6f]{margin:0;font-size:12px;color:#f87171;line-height:1.5}.sf-tag[data-v-38fd9b6f]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#64748b33;color:#cbd5e1}.sf-tag.legacy[data-v-38fd9b6f]{background:#f59e0b26;color:#fbbf24}.sf-tag.error[data-v-38fd9b6f]{background:#ef444426;color:#fca5a5}.sf-tag.info[data-v-38fd9b6f]{background:#3b82f626;color:#93c5fd}.sf-control[data-v-38fd9b6f]{display:flex;align-items:center;gap:8px;min-width:0}.sf-input[data-v-38fd9b6f],.sf-select[data-v-38fd9b6f]{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;color:#e2e8f0;font-size:13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.sf-input.mono[data-v-38fd9b6f]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sf-input[data-v-38fd9b6f]::placeholder{color:#64748b}.sf-input[data-v-38fd9b6f]:focus,.sf-select[data-v-38fd9b6f]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.sf-input.invalid[data-v-38fd9b6f],.sf-select.invalid[data-v-38fd9b6f]{border-color:#ef444499}.sf-input[data-v-38fd9b6f]:disabled,.sf-select[data-v-38fd9b6f]:disabled{color:#94a3b8;background:#0f172a4d;cursor:not-allowed}.sf-select option[data-v-38fd9b6f]{background:#0f172a;color:#e2e8f0}.sf-unit[data-v-38fd9b6f]{flex-shrink:0;font-size:12px;font-weight:600;color:#94a3b8}.sf-readonly[data-v-38fd9b6f]{padding:8px 12px;border-radius:8px;background:#0f172a4d;color:#cbd5e1;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sf-switch[data-v-38fd9b6f]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 0}.sf-switch input[data-v-38fd9b6f]{position:absolute;opacity:0;pointer-events:none}.sf-switch-track[data-v-38fd9b6f]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s;flex-shrink:0}.sf-switch-dot[data-v-38fd9b6f]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.sf-switch input:checked+.sf-switch-track[data-v-38fd9b6f]{background:#10b981}.sf-switch input:checked+.sf-switch-track .sf-switch-dot[data-v-38fd9b6f]{transform:translate(16px)}.sf-switch input:focus-visible+.sf-switch-track[data-v-38fd9b6f]{box-shadow:0 0 0 3px #3b82f64d}.sf-switch input:disabled+.sf-switch-track[data-v-38fd9b6f]{opacity:.6}.sf-switch-text[data-v-38fd9b6f]{font-size:13px;color:#cbd5e1}.sf-switch-text.muted[data-v-38fd9b6f]{color:#64748b}.sf-chips[data-v-38fd9b6f]{display:flex;flex-wrap:wrap;gap:8px}.sf-chip[data-v-38fd9b6f]{padding:4px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a80;color:#cbd5e1;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.sf-chip[data-v-38fd9b6f]:hover:not(:disabled){border-color:#3b82f680}.sf-chip.on[data-v-38fd9b6f]{background:#3b82f633;border-color:#3b82f68c;color:#e2e8f0}.sf-chip.legacy[data-v-38fd9b6f]{border-style:dashed}.sf-chip[data-v-38fd9b6f]:disabled{cursor:default;opacity:.7}.sf-icon-btn[data-v-38fd9b6f]{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a80;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sf-icon-btn[data-v-38fd9b6f]:hover:not(:disabled){background:#94a3b81f;color:#e2e8f0}.sf-icon-btn.danger[data-v-38fd9b6f]:hover:not(:disabled){background:#ef444426;color:#f87171}.sf-icon-btn[data-v-38fd9b6f]:disabled{opacity:.35;cursor:not-allowed}.sf-btn[data-v-38fd9b6f]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.35);background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sf-btn[data-v-38fd9b6f]:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b899}.sf-btn.solid[data-v-38fd9b6f]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}.sf-btn[data-v-38fd9b6f]:disabled{opacity:.5;cursor:not-allowed}.sf-group[data-v-38fd9b6f]{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a59;min-width:0}.sf-group-head[data-v-38fd9b6f]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sf-group-title[data-v-38fd9b6f]{margin:0;font-size:14px;font-weight:600;color:#f1f5f9;line-height:1.2}.sf-group.unknown[data-v-38fd9b6f]{border-style:dashed;border-color:#f59e0b59;background:#f59e0b0a}.sf-advanced-toggle[data-v-38fd9b6f]{align-self:flex-start}.sf-rows[data-v-38fd9b6f]{display:flex;flex-direction:column;gap:8px}.sf-row-card[data-v-38fd9b6f]{border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a73;overflow:hidden;transition:border-color .15s}.sf-row-card.open[data-v-38fd9b6f]{border-color:#3b82f659}.sf-row-card.invalid[data-v-38fd9b6f]{border-color:#ef444473}.sf-row-head[data-v-38fd9b6f]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}.sf-row-toggle[data-v-38fd9b6f]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px 0}.sf-row-toggle svg[data-v-38fd9b6f]{flex-shrink:0;color:#64748b;transition:transform .15s}.sf-row-card.open .sf-row-toggle svg[data-v-38fd9b6f]{transform:rotate(90deg)}.sf-row-index[data-v-38fd9b6f]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b}.sf-row-summary[data-v-38fd9b6f]{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row-body[data-v-38fd9b6f]{padding:8px 16px 16px;animation:sf-open-38fd9b6f .15s ease-out}.sf-scalar-rows[data-v-38fd9b6f]{display:flex;flex-direction:column;gap:8px}.sf-scalar-row[data-v-38fd9b6f]{display:flex;align-items:flex-start;gap:8px}.sf-scalar-row[data-v-38fd9b6f]>:first-child{flex:1;min-width:0}.sf-empty[data-v-38fd9b6f]{margin:0;font-size:13px;color:#64748b}@keyframes sf-open-38fd9b6f{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 640px){.sf-grid[data-v-38fd9b6f]{grid-template-columns:1fr}}.sf-grid[data-v-96872860]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px}.sf-field[data-v-96872860]{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-field.wide[data-v-96872860]{grid-column:1 / -1}.sf-field.legacy .sf-label[data-v-96872860]{color:#94a3b8}.sf-label-row[data-v-96872860]{display:flex;align-items:baseline;gap:8px;min-width:0}.sf-label[data-v-96872860]{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.5}.sf-req[data-v-96872860]{color:#fbbf24;font-weight:600}.sf-key[data-v-96872860]{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sf-help[data-v-96872860]{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.sf-error[data-v-96872860]{margin:0;font-size:12px;color:#f87171;line-height:1.5}.sf-tag[data-v-96872860]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#64748b33;color:#cbd5e1}.sf-tag.legacy[data-v-96872860]{background:#f59e0b26;color:#fbbf24}.sf-tag.error[data-v-96872860]{background:#ef444426;color:#fca5a5}.sf-tag.info[data-v-96872860]{background:#3b82f626;color:#93c5fd}.sf-control[data-v-96872860]{display:flex;align-items:center;gap:8px;min-width:0}.sf-input[data-v-96872860],.sf-select[data-v-96872860]{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;color:#e2e8f0;font-size:13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.sf-input.mono[data-v-96872860]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sf-input[data-v-96872860]::placeholder{color:#64748b}.sf-input[data-v-96872860]:focus,.sf-select[data-v-96872860]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.sf-input.invalid[data-v-96872860],.sf-select.invalid[data-v-96872860]{border-color:#ef444499}.sf-input[data-v-96872860]:disabled,.sf-select[data-v-96872860]:disabled{color:#94a3b8;background:#0f172a4d;cursor:not-allowed}.sf-select option[data-v-96872860]{background:#0f172a;color:#e2e8f0}.sf-unit[data-v-96872860]{flex-shrink:0;font-size:12px;font-weight:600;color:#94a3b8}.sf-readonly[data-v-96872860]{padding:8px 12px;border-radius:8px;background:#0f172a4d;color:#cbd5e1;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sf-switch[data-v-96872860]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 0}.sf-switch input[data-v-96872860]{position:absolute;opacity:0;pointer-events:none}.sf-switch-track[data-v-96872860]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s;flex-shrink:0}.sf-switch-dot[data-v-96872860]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.sf-switch input:checked+.sf-switch-track[data-v-96872860]{background:#10b981}.sf-switch input:checked+.sf-switch-track .sf-switch-dot[data-v-96872860]{transform:translate(16px)}.sf-switch input:focus-visible+.sf-switch-track[data-v-96872860]{box-shadow:0 0 0 3px #3b82f64d}.sf-switch input:disabled+.sf-switch-track[data-v-96872860]{opacity:.6}.sf-switch-text[data-v-96872860]{font-size:13px;color:#cbd5e1}.sf-switch-text.muted[data-v-96872860]{color:#64748b}.sf-chips[data-v-96872860]{display:flex;flex-wrap:wrap;gap:8px}.sf-chip[data-v-96872860]{padding:4px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a80;color:#cbd5e1;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.sf-chip[data-v-96872860]:hover:not(:disabled){border-color:#3b82f680}.sf-chip.on[data-v-96872860]{background:#3b82f633;border-color:#3b82f68c;color:#e2e8f0}.sf-chip.legacy[data-v-96872860]{border-style:dashed}.sf-chip[data-v-96872860]:disabled{cursor:default;opacity:.7}.sf-icon-btn[data-v-96872860]{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a80;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sf-icon-btn[data-v-96872860]:hover:not(:disabled){background:#94a3b81f;color:#e2e8f0}.sf-icon-btn.danger[data-v-96872860]:hover:not(:disabled){background:#ef444426;color:#f87171}.sf-icon-btn[data-v-96872860]:disabled{opacity:.35;cursor:not-allowed}.sf-btn[data-v-96872860]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.35);background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sf-btn[data-v-96872860]:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b899}.sf-btn.solid[data-v-96872860]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}.sf-btn[data-v-96872860]:disabled{opacity:.5;cursor:not-allowed}.sf-group[data-v-96872860]{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a59;min-width:0}.sf-group-head[data-v-96872860]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sf-group-title[data-v-96872860]{margin:0;font-size:14px;font-weight:600;color:#f1f5f9;line-height:1.2}.sf-group.unknown[data-v-96872860]{border-style:dashed;border-color:#f59e0b59;background:#f59e0b0a}.sf-advanced-toggle[data-v-96872860]{align-self:flex-start}.sf-rows[data-v-96872860]{display:flex;flex-direction:column;gap:8px}.sf-row-card[data-v-96872860]{border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a73;overflow:hidden;transition:border-color .15s}.sf-row-card.open[data-v-96872860]{border-color:#3b82f659}.sf-row-card.invalid[data-v-96872860]{border-color:#ef444473}.sf-row-head[data-v-96872860]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}.sf-row-toggle[data-v-96872860]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px 0}.sf-row-toggle svg[data-v-96872860]{flex-shrink:0;color:#64748b;transition:transform .15s}.sf-row-card.open .sf-row-toggle svg[data-v-96872860]{transform:rotate(90deg)}.sf-row-index[data-v-96872860]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b}.sf-row-summary[data-v-96872860]{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row-body[data-v-96872860]{padding:8px 16px 16px;animation:sf-open-96872860 .15s ease-out}.sf-scalar-rows[data-v-96872860]{display:flex;flex-direction:column;gap:8px}.sf-scalar-row[data-v-96872860]{display:flex;align-items:flex-start;gap:8px}.sf-scalar-row[data-v-96872860]>:first-child{flex:1;min-width:0}.sf-empty[data-v-96872860]{margin:0;font-size:13px;color:#64748b}@keyframes sf-open-96872860{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 640px){.sf-grid[data-v-96872860]{grid-template-columns:1fr}}.sf-grid[data-v-ba6ecb00]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px}.sf-field[data-v-ba6ecb00]{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-field.wide[data-v-ba6ecb00]{grid-column:1 / -1}.sf-field.legacy .sf-label[data-v-ba6ecb00]{color:#94a3b8}.sf-label-row[data-v-ba6ecb00]{display:flex;align-items:baseline;gap:8px;min-width:0}.sf-label[data-v-ba6ecb00]{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.5}.sf-req[data-v-ba6ecb00]{color:#fbbf24;font-weight:600}.sf-key[data-v-ba6ecb00]{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sf-help[data-v-ba6ecb00]{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.sf-error[data-v-ba6ecb00]{margin:0;font-size:12px;color:#f87171;line-height:1.5}.sf-tag[data-v-ba6ecb00]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#64748b33;color:#cbd5e1}.sf-tag.legacy[data-v-ba6ecb00]{background:#f59e0b26;color:#fbbf24}.sf-tag.error[data-v-ba6ecb00]{background:#ef444426;color:#fca5a5}.sf-tag.info[data-v-ba6ecb00]{background:#3b82f626;color:#93c5fd}.sf-control[data-v-ba6ecb00]{display:flex;align-items:center;gap:8px;min-width:0}.sf-input[data-v-ba6ecb00],.sf-select[data-v-ba6ecb00]{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;color:#e2e8f0;font-size:13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.sf-input.mono[data-v-ba6ecb00]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sf-input[data-v-ba6ecb00]::placeholder{color:#64748b}.sf-input[data-v-ba6ecb00]:focus,.sf-select[data-v-ba6ecb00]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.sf-input.invalid[data-v-ba6ecb00],.sf-select.invalid[data-v-ba6ecb00]{border-color:#ef444499}.sf-input[data-v-ba6ecb00]:disabled,.sf-select[data-v-ba6ecb00]:disabled{color:#94a3b8;background:#0f172a4d;cursor:not-allowed}.sf-select option[data-v-ba6ecb00]{background:#0f172a;color:#e2e8f0}.sf-unit[data-v-ba6ecb00]{flex-shrink:0;font-size:12px;font-weight:600;color:#94a3b8}.sf-readonly[data-v-ba6ecb00]{padding:8px 12px;border-radius:8px;background:#0f172a4d;color:#cbd5e1;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sf-switch[data-v-ba6ecb00]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 0}.sf-switch input[data-v-ba6ecb00]{position:absolute;opacity:0;pointer-events:none}.sf-switch-track[data-v-ba6ecb00]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s;flex-shrink:0}.sf-switch-dot[data-v-ba6ecb00]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.sf-switch input:checked+.sf-switch-track[data-v-ba6ecb00]{background:#10b981}.sf-switch input:checked+.sf-switch-track .sf-switch-dot[data-v-ba6ecb00]{transform:translate(16px)}.sf-switch input:focus-visible+.sf-switch-track[data-v-ba6ecb00]{box-shadow:0 0 0 3px #3b82f64d}.sf-switch input:disabled+.sf-switch-track[data-v-ba6ecb00]{opacity:.6}.sf-switch-text[data-v-ba6ecb00]{font-size:13px;color:#cbd5e1}.sf-switch-text.muted[data-v-ba6ecb00]{color:#64748b}.sf-chips[data-v-ba6ecb00]{display:flex;flex-wrap:wrap;gap:8px}.sf-chip[data-v-ba6ecb00]{padding:4px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a80;color:#cbd5e1;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.sf-chip[data-v-ba6ecb00]:hover:not(:disabled){border-color:#3b82f680}.sf-chip.on[data-v-ba6ecb00]{background:#3b82f633;border-color:#3b82f68c;color:#e2e8f0}.sf-chip.legacy[data-v-ba6ecb00]{border-style:dashed}.sf-chip[data-v-ba6ecb00]:disabled{cursor:default;opacity:.7}.sf-icon-btn[data-v-ba6ecb00]{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a80;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sf-icon-btn[data-v-ba6ecb00]:hover:not(:disabled){background:#94a3b81f;color:#e2e8f0}.sf-icon-btn.danger[data-v-ba6ecb00]:hover:not(:disabled){background:#ef444426;color:#f87171}.sf-icon-btn[data-v-ba6ecb00]:disabled{opacity:.35;cursor:not-allowed}.sf-btn[data-v-ba6ecb00]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.35);background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sf-btn[data-v-ba6ecb00]:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b899}.sf-btn.solid[data-v-ba6ecb00]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}.sf-btn[data-v-ba6ecb00]:disabled{opacity:.5;cursor:not-allowed}.sf-group[data-v-ba6ecb00]{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a59;min-width:0}.sf-group-head[data-v-ba6ecb00]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sf-group-title[data-v-ba6ecb00]{margin:0;font-size:14px;font-weight:600;color:#f1f5f9;line-height:1.2}.sf-group.unknown[data-v-ba6ecb00]{border-style:dashed;border-color:#f59e0b59;background:#f59e0b0a}.sf-advanced-toggle[data-v-ba6ecb00]{align-self:flex-start}.sf-rows[data-v-ba6ecb00]{display:flex;flex-direction:column;gap:8px}.sf-row-card[data-v-ba6ecb00]{border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a73;overflow:hidden;transition:border-color .15s}.sf-row-card.open[data-v-ba6ecb00]{border-color:#3b82f659}.sf-row-card.invalid[data-v-ba6ecb00]{border-color:#ef444473}.sf-row-head[data-v-ba6ecb00]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}.sf-row-toggle[data-v-ba6ecb00]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px 0}.sf-row-toggle svg[data-v-ba6ecb00]{flex-shrink:0;color:#64748b;transition:transform .15s}.sf-row-card.open .sf-row-toggle svg[data-v-ba6ecb00]{transform:rotate(90deg)}.sf-row-index[data-v-ba6ecb00]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b}.sf-row-summary[data-v-ba6ecb00]{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row-body[data-v-ba6ecb00]{padding:8px 16px 16px;animation:sf-open-ba6ecb00 .15s ease-out}.sf-scalar-rows[data-v-ba6ecb00]{display:flex;flex-direction:column;gap:8px}.sf-scalar-row[data-v-ba6ecb00]{display:flex;align-items:flex-start;gap:8px}.sf-scalar-row[data-v-ba6ecb00]>:first-child{flex:1;min-width:0}.sf-empty[data-v-ba6ecb00]{margin:0;font-size:13px;color:#64748b}@keyframes sf-open-ba6ecb00{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 640px){.sf-grid[data-v-ba6ecb00]{grid-template-columns:1fr}}.sf-grid[data-v-18e71825]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px}.sf-field[data-v-18e71825]{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-field.wide[data-v-18e71825]{grid-column:1 / -1}.sf-field.legacy .sf-label[data-v-18e71825]{color:#94a3b8}.sf-label-row[data-v-18e71825]{display:flex;align-items:baseline;gap:8px;min-width:0}.sf-label[data-v-18e71825]{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.5}.sf-req[data-v-18e71825]{color:#fbbf24;font-weight:600}.sf-key[data-v-18e71825]{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sf-help[data-v-18e71825]{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.sf-error[data-v-18e71825]{margin:0;font-size:12px;color:#f87171;line-height:1.5}.sf-tag[data-v-18e71825]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#64748b33;color:#cbd5e1}.sf-tag.legacy[data-v-18e71825]{background:#f59e0b26;color:#fbbf24}.sf-tag.error[data-v-18e71825]{background:#ef444426;color:#fca5a5}.sf-tag.info[data-v-18e71825]{background:#3b82f626;color:#93c5fd}.sf-control[data-v-18e71825]{display:flex;align-items:center;gap:8px;min-width:0}.sf-input[data-v-18e71825],.sf-select[data-v-18e71825]{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;color:#e2e8f0;font-size:13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.sf-input.mono[data-v-18e71825]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sf-input[data-v-18e71825]::placeholder{color:#64748b}.sf-input[data-v-18e71825]:focus,.sf-select[data-v-18e71825]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.sf-input.invalid[data-v-18e71825],.sf-select.invalid[data-v-18e71825]{border-color:#ef444499}.sf-input[data-v-18e71825]:disabled,.sf-select[data-v-18e71825]:disabled{color:#94a3b8;background:#0f172a4d;cursor:not-allowed}.sf-select option[data-v-18e71825]{background:#0f172a;color:#e2e8f0}.sf-unit[data-v-18e71825]{flex-shrink:0;font-size:12px;font-weight:600;color:#94a3b8}.sf-readonly[data-v-18e71825]{padding:8px 12px;border-radius:8px;background:#0f172a4d;color:#cbd5e1;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sf-switch[data-v-18e71825]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 0}.sf-switch input[data-v-18e71825]{position:absolute;opacity:0;pointer-events:none}.sf-switch-track[data-v-18e71825]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s;flex-shrink:0}.sf-switch-dot[data-v-18e71825]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.sf-switch input:checked+.sf-switch-track[data-v-18e71825]{background:#10b981}.sf-switch input:checked+.sf-switch-track .sf-switch-dot[data-v-18e71825]{transform:translate(16px)}.sf-switch input:focus-visible+.sf-switch-track[data-v-18e71825]{box-shadow:0 0 0 3px #3b82f64d}.sf-switch input:disabled+.sf-switch-track[data-v-18e71825]{opacity:.6}.sf-switch-text[data-v-18e71825]{font-size:13px;color:#cbd5e1}.sf-switch-text.muted[data-v-18e71825]{color:#64748b}.sf-chips[data-v-18e71825]{display:flex;flex-wrap:wrap;gap:8px}.sf-chip[data-v-18e71825]{padding:4px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a80;color:#cbd5e1;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.sf-chip[data-v-18e71825]:hover:not(:disabled){border-color:#3b82f680}.sf-chip.on[data-v-18e71825]{background:#3b82f633;border-color:#3b82f68c;color:#e2e8f0}.sf-chip.legacy[data-v-18e71825]{border-style:dashed}.sf-chip[data-v-18e71825]:disabled{cursor:default;opacity:.7}.sf-icon-btn[data-v-18e71825]{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a80;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sf-icon-btn[data-v-18e71825]:hover:not(:disabled){background:#94a3b81f;color:#e2e8f0}.sf-icon-btn.danger[data-v-18e71825]:hover:not(:disabled){background:#ef444426;color:#f87171}.sf-icon-btn[data-v-18e71825]:disabled{opacity:.35;cursor:not-allowed}.sf-btn[data-v-18e71825]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.35);background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sf-btn[data-v-18e71825]:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b899}.sf-btn.solid[data-v-18e71825]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}.sf-btn[data-v-18e71825]:disabled{opacity:.5;cursor:not-allowed}.sf-group[data-v-18e71825]{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a59;min-width:0}.sf-group-head[data-v-18e71825]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sf-group-title[data-v-18e71825]{margin:0;font-size:14px;font-weight:600;color:#f1f5f9;line-height:1.2}.sf-group.unknown[data-v-18e71825]{border-style:dashed;border-color:#f59e0b59;background:#f59e0b0a}.sf-advanced-toggle[data-v-18e71825]{align-self:flex-start}.sf-rows[data-v-18e71825]{display:flex;flex-direction:column;gap:8px}.sf-row-card[data-v-18e71825]{border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a73;overflow:hidden;transition:border-color .15s}.sf-row-card.open[data-v-18e71825]{border-color:#3b82f659}.sf-row-card.invalid[data-v-18e71825]{border-color:#ef444473}.sf-row-head[data-v-18e71825]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}.sf-row-toggle[data-v-18e71825]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px 0}.sf-row-toggle svg[data-v-18e71825]{flex-shrink:0;color:#64748b;transition:transform .15s}.sf-row-card.open .sf-row-toggle svg[data-v-18e71825]{transform:rotate(90deg)}.sf-row-index[data-v-18e71825]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b}.sf-row-summary[data-v-18e71825]{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row-body[data-v-18e71825]{padding:8px 16px 16px;animation:sf-open-18e71825 .15s ease-out}.sf-scalar-rows[data-v-18e71825]{display:flex;flex-direction:column;gap:8px}.sf-scalar-row[data-v-18e71825]{display:flex;align-items:flex-start;gap:8px}.sf-scalar-row[data-v-18e71825]>:first-child{flex:1;min-width:0}.sf-empty[data-v-18e71825]{margin:0;font-size:13px;color:#64748b}@keyframes sf-open-18e71825{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 640px){.sf-grid[data-v-18e71825]{grid-template-columns:1fr}}.sf-device[data-v-18e71825]{display:flex;flex-direction:column;gap:24px}.sf-divider[data-v-18e71825]{height:1px;background:#94a3b81f}.sf-grid[data-v-91b141db]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px}.sf-field[data-v-91b141db]{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-field.wide[data-v-91b141db]{grid-column:1 / -1}.sf-field.legacy .sf-label[data-v-91b141db]{color:#94a3b8}.sf-label-row[data-v-91b141db]{display:flex;align-items:baseline;gap:8px;min-width:0}.sf-label[data-v-91b141db]{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.5}.sf-req[data-v-91b141db]{color:#fbbf24;font-weight:600}.sf-key[data-v-91b141db]{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sf-help[data-v-91b141db]{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.sf-error[data-v-91b141db]{margin:0;font-size:12px;color:#f87171;line-height:1.5}.sf-tag[data-v-91b141db]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#64748b33;color:#cbd5e1}.sf-tag.legacy[data-v-91b141db]{background:#f59e0b26;color:#fbbf24}.sf-tag.error[data-v-91b141db]{background:#ef444426;color:#fca5a5}.sf-tag.info[data-v-91b141db]{background:#3b82f626;color:#93c5fd}.sf-control[data-v-91b141db]{display:flex;align-items:center;gap:8px;min-width:0}.sf-input[data-v-91b141db],.sf-select[data-v-91b141db]{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;color:#e2e8f0;font-size:13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.sf-input.mono[data-v-91b141db]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sf-input[data-v-91b141db]::placeholder{color:#64748b}.sf-input[data-v-91b141db]:focus,.sf-select[data-v-91b141db]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.sf-input.invalid[data-v-91b141db],.sf-select.invalid[data-v-91b141db]{border-color:#ef444499}.sf-input[data-v-91b141db]:disabled,.sf-select[data-v-91b141db]:disabled{color:#94a3b8;background:#0f172a4d;cursor:not-allowed}.sf-select option[data-v-91b141db]{background:#0f172a;color:#e2e8f0}.sf-unit[data-v-91b141db]{flex-shrink:0;font-size:12px;font-weight:600;color:#94a3b8}.sf-readonly[data-v-91b141db]{padding:8px 12px;border-radius:8px;background:#0f172a4d;color:#cbd5e1;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sf-switch[data-v-91b141db]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 0}.sf-switch input[data-v-91b141db]{position:absolute;opacity:0;pointer-events:none}.sf-switch-track[data-v-91b141db]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s;flex-shrink:0}.sf-switch-dot[data-v-91b141db]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.sf-switch input:checked+.sf-switch-track[data-v-91b141db]{background:#10b981}.sf-switch input:checked+.sf-switch-track .sf-switch-dot[data-v-91b141db]{transform:translate(16px)}.sf-switch input:focus-visible+.sf-switch-track[data-v-91b141db]{box-shadow:0 0 0 3px #3b82f64d}.sf-switch input:disabled+.sf-switch-track[data-v-91b141db]{opacity:.6}.sf-switch-text[data-v-91b141db]{font-size:13px;color:#cbd5e1}.sf-switch-text.muted[data-v-91b141db]{color:#64748b}.sf-chips[data-v-91b141db]{display:flex;flex-wrap:wrap;gap:8px}.sf-chip[data-v-91b141db]{padding:4px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a80;color:#cbd5e1;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.sf-chip[data-v-91b141db]:hover:not(:disabled){border-color:#3b82f680}.sf-chip.on[data-v-91b141db]{background:#3b82f633;border-color:#3b82f68c;color:#e2e8f0}.sf-chip.legacy[data-v-91b141db]{border-style:dashed}.sf-chip[data-v-91b141db]:disabled{cursor:default;opacity:.7}.sf-icon-btn[data-v-91b141db]{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a80;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sf-icon-btn[data-v-91b141db]:hover:not(:disabled){background:#94a3b81f;color:#e2e8f0}.sf-icon-btn.danger[data-v-91b141db]:hover:not(:disabled){background:#ef444426;color:#f87171}.sf-icon-btn[data-v-91b141db]:disabled{opacity:.35;cursor:not-allowed}.sf-btn[data-v-91b141db]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.35);background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sf-btn[data-v-91b141db]:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b899}.sf-btn.solid[data-v-91b141db]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}.sf-btn[data-v-91b141db]:disabled{opacity:.5;cursor:not-allowed}.sf-group[data-v-91b141db]{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a59;min-width:0}.sf-group-head[data-v-91b141db]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sf-group-title[data-v-91b141db]{margin:0;font-size:14px;font-weight:600;color:#f1f5f9;line-height:1.2}.sf-group.unknown[data-v-91b141db]{border-style:dashed;border-color:#f59e0b59;background:#f59e0b0a}.sf-advanced-toggle[data-v-91b141db]{align-self:flex-start}.sf-rows[data-v-91b141db]{display:flex;flex-direction:column;gap:8px}.sf-row-card[data-v-91b141db]{border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a73;overflow:hidden;transition:border-color .15s}.sf-row-card.open[data-v-91b141db]{border-color:#3b82f659}.sf-row-card.invalid[data-v-91b141db]{border-color:#ef444473}.sf-row-head[data-v-91b141db]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}.sf-row-toggle[data-v-91b141db]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px 0}.sf-row-toggle svg[data-v-91b141db]{flex-shrink:0;color:#64748b;transition:transform .15s}.sf-row-card.open .sf-row-toggle svg[data-v-91b141db]{transform:rotate(90deg)}.sf-row-index[data-v-91b141db]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b}.sf-row-summary[data-v-91b141db]{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row-body[data-v-91b141db]{padding:8px 16px 16px;animation:sf-open-91b141db .15s ease-out}.sf-scalar-rows[data-v-91b141db]{display:flex;flex-direction:column;gap:8px}.sf-scalar-row[data-v-91b141db]{display:flex;align-items:flex-start;gap:8px}.sf-scalar-row[data-v-91b141db]>:first-child{flex:1;min-width:0}.sf-empty[data-v-91b141db]{margin:0;font-size:13px;color:#64748b}@keyframes sf-open-91b141db{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 640px){.sf-grid[data-v-91b141db]{grid-template-columns:1fr}}.ce[data-v-841806e5]{display:flex;flex-direction:column;gap:16px;padding-bottom:88px}.ce-toolbar[data-v-841806e5]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.ce-version[data-v-841806e5]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ce-version-badge[data-v-841806e5]{padding:4px 12px;border-radius:999px;background:#3b82f626;color:#93c5fd;font-size:12px;font-weight:600}.ce-version-badge.muted[data-v-841806e5]{background:#64748b33;color:#cbd5e1}.ce-version-meta[data-v-841806e5]{font-size:13px;color:#94a3b8}.ce-toolbar-actions[data-v-841806e5]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ce-segment[data-v-841806e5]{display:inline-flex;padding:2px;border-radius:8px;background:#0f172a99;border:1px solid rgba(148,163,184,.2)}.ce-segment button[data-v-841806e5]{padding:6px 14px;border:none;border-radius:6px;background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.ce-segment button.active[data-v-841806e5]{background:#3b82f633;color:#e2e8f0}.ce-btn[data-v-841806e5]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#1e293bcc;color:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.ce-btn[data-v-841806e5]:hover:not(:disabled){background:#334155e6;border-color:#94a3b873}.ce-btn[data-v-841806e5]:active:not(:disabled){transform:translateY(1px)}.ce-btn[data-v-841806e5]:disabled{opacity:.5;cursor:not-allowed}.ce-btn.small[data-v-841806e5]{padding:4px 10px;font-size:12px}.ce-btn.ghost[data-v-841806e5]{background:none}.ce-btn.ghost.on[data-v-841806e5]{border-color:#f59e0b80;color:#fbbf24}.ce-btn.primary[data-v-841806e5]{background:#2563eb;border-color:#2563eb;color:#fff}.ce-btn.primary[data-v-841806e5]:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.ce-btn.danger[data-v-841806e5]{border-color:#ef444466;color:#fca5a5;background:#ef444414}.ce-btn.danger[data-v-841806e5]:hover:not(:disabled){background:#ef44442e;border-color:#ef444499}.ce-btn svg.spin[data-v-841806e5]{animation:ce-spin-841806e5 .8s linear infinite}.ce-link[data-v-841806e5]{background:none;border:none;color:#60a5fa;font-size:12px;font-weight:600;cursor:pointer;padding:0}.ce-link[data-v-841806e5]:hover{color:#93c5fd}.ce-icon-btn[data-v-841806e5]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:none;color:#cbd5e1;cursor:pointer;transition:background .15s}.ce-icon-btn[data-v-841806e5]:hover:not(:disabled){background:#94a3b81a}.ce-icon-btn[data-v-841806e5]:disabled{opacity:.35;cursor:not-allowed}.ce-banner[data-v-841806e5]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.5;animation:ce-in-841806e5 .2s ease-out}.ce-banner.info[data-v-841806e5]{background:#3b82f614;border:1px solid rgba(59,130,246,.25);color:#bfdbfe}.ce-banner.success[data-v-841806e5]{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.ce-banner.error[data-v-841806e5]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.ce-state[data-v-841806e5]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;color:#94a3b8;font-size:14px}.ce-state.error[data-v-841806e5]{color:#fca5a5}.ce-body[data-v-841806e5]{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.ce-side[data-v-841806e5]{position:sticky;top:16px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);max-height:calc(100vh - 220px);overflow-y:auto}.ce-side-head[data-v-841806e5]{display:flex;justify-content:space-between;align-items:center;padding:16px 8px 8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.ce-count[data-v-841806e5]{margin-left:4px;padding:0 6px;border-radius:999px;background:#64748b40;color:#cbd5e1}.ce-device-list[data-v-841806e5]{display:flex;flex-direction:column;gap:2px}.ce-side-item[data-v-841806e5]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:none;color:#cbd5e1;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.ce-side-item.general[data-v-841806e5]{flex-direction:column;align-items:flex-start;gap:2px}.ce-side-item[data-v-841806e5]:hover{background:#94a3b814}.ce-side-item.active[data-v-841806e5]{background:#3b82f624;border-color:#3b82f659;color:#f1f5f9}.ce-side-title[data-v-841806e5]{font-size:13px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-side-sub[data-v-841806e5]{font-size:12px;color:#64748b}.ce-side-empty[data-v-841806e5]{margin:0;padding:8px 12px;font-size:12px;color:#64748b}.ce-type[data-v-841806e5]{flex-shrink:0;min-width:48px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-align:center;letter-spacing:.04em;background:#64748b40;color:#cbd5e1}.ce-type[data-type=GRID][data-v-841806e5]{background:#3b82f633;color:#93c5fd}.ce-type[data-type=PV][data-v-841806e5]{background:#f59e0b33;color:#fcd34d}.ce-type[data-type=ESS][data-v-841806e5]{background:#10b98133;color:#6ee7b7}.ce-type[data-type=LOAD][data-v-841806e5]{background:#ef44442e;color:#fca5a5}.ce-type[data-type=EMI][data-v-841806e5]{background:#14b8a633;color:#5eead4}.ce-add-device[data-v-841806e5]{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:8px;background:#0f172a80}.ce-add-device input[data-v-841806e5],.ce-comment[data-v-841806e5]{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172ab3;color:#e2e8f0;font-size:13px}.ce-add-device input[data-v-841806e5]:focus,.ce-comment[data-v-841806e5]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.ce-add-device-actions[data-v-841806e5]{display:flex;gap:8px}.ce-field-error[data-v-841806e5]{font-size:12px;color:#f87171}.ce-main[data-v-841806e5]{min-width:0;padding:16px 16px 24px;border-radius:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);animation:ce-in-841806e5 .18s ease-out}.ce-main-head[data-v-841806e5]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 8px 16px;margin-bottom:8px;border-bottom:1px solid rgba(148,163,184,.12)}.ce-main-head h3[data-v-841806e5]{margin:0;font-size:18px;font-weight:600;color:#f1f5f9;line-height:1.2}.ce-main-head p[data-v-841806e5]{margin:4px 0 0;font-size:13px;color:#94a3b8}.ce-main-actions[data-v-841806e5]{display:flex;align-items:center;gap:8px}.ce-json[data-v-841806e5]{display:flex;flex-direction:column;gap:12px}.ce-json textarea[data-v-841806e5]{width:100%;min-height:calc(100vh - 360px);padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172ab3;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;resize:vertical}.ce-json textarea[data-v-841806e5]:focus{outline:none;border-color:#3b82f6}.ce-json-actions[data-v-841806e5]{display:flex;justify-content:flex-end}.ce-savebar[data-v-841806e5]{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:12px;width:min(880px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:#0f172af5;border:1px solid rgba(59,130,246,.35);box-shadow:0 16px 48px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ce-savebar-info[data-v-841806e5]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#e2e8f0;white-space:nowrap}.ce-dot[data-v-841806e5]{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b33}.ce-comment[data-v-841806e5]{flex:1;min-width:0}.ce-bar-enter-active[data-v-841806e5],.ce-bar-leave-active[data-v-841806e5]{transition:opacity .2s,transform .2s}.ce-bar-enter-from[data-v-841806e5],.ce-bar-leave-to[data-v-841806e5]{opacity:0;transform:translate(-50%,16px)}.ce-spinner[data-v-841806e5]{display:inline-block;width:16px;height:16px;border:2px solid rgba(148,163,184,.3);border-top-color:#60a5fa;border-radius:50%;animation:ce-spin-841806e5 .8s linear infinite}.ce-spinner.small[data-v-841806e5]{width:12px;height:12px;border-top-color:#fff}@keyframes ce-spin-841806e5{to{transform:rotate(360deg)}}@keyframes ce-in-841806e5{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width: 860px){.ce-body[data-v-841806e5]{grid-template-columns:1fr}.ce-side[data-v-841806e5]{position:static;max-height:none}.ce-savebar[data-v-841806e5]{flex-wrap:wrap}.ce-comment[data-v-841806e5]{flex-basis:100%;order:3}}.sf-grid[data-v-841806e5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px}.sf-field[data-v-841806e5]{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-field.wide[data-v-841806e5]{grid-column:1 / -1}.sf-field.legacy .sf-label[data-v-841806e5]{color:#94a3b8}.sf-label-row[data-v-841806e5]{display:flex;align-items:baseline;gap:8px;min-width:0}.sf-label[data-v-841806e5]{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.5}.sf-req[data-v-841806e5]{color:#fbbf24;font-weight:600}.sf-key[data-v-841806e5]{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sf-help[data-v-841806e5]{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.sf-error[data-v-841806e5]{margin:0;font-size:12px;color:#f87171;line-height:1.5}.sf-tag[data-v-841806e5]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#64748b33;color:#cbd5e1}.sf-tag.legacy[data-v-841806e5]{background:#f59e0b26;color:#fbbf24}.sf-tag.error[data-v-841806e5]{background:#ef444426;color:#fca5a5}.sf-tag.info[data-v-841806e5]{background:#3b82f626;color:#93c5fd}.sf-control[data-v-841806e5]{display:flex;align-items:center;gap:8px;min-width:0}.sf-input[data-v-841806e5],.sf-select[data-v-841806e5]{width:100%;min-width:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;color:#e2e8f0;font-size:13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.sf-input.mono[data-v-841806e5]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sf-input[data-v-841806e5]::placeholder{color:#64748b}.sf-input[data-v-841806e5]:focus,.sf-select[data-v-841806e5]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.sf-input.invalid[data-v-841806e5],.sf-select.invalid[data-v-841806e5]{border-color:#ef444499}.sf-input[data-v-841806e5]:disabled,.sf-select[data-v-841806e5]:disabled{color:#94a3b8;background:#0f172a4d;cursor:not-allowed}.sf-select option[data-v-841806e5]{background:#0f172a;color:#e2e8f0}.sf-unit[data-v-841806e5]{flex-shrink:0;font-size:12px;font-weight:600;color:#94a3b8}.sf-readonly[data-v-841806e5]{padding:8px 12px;border-radius:8px;background:#0f172a4d;color:#cbd5e1;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sf-switch[data-v-841806e5]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 0}.sf-switch input[data-v-841806e5]{position:absolute;opacity:0;pointer-events:none}.sf-switch-track[data-v-841806e5]{width:36px;height:20px;border-radius:999px;background:#64748b66;position:relative;transition:background .2s;flex-shrink:0}.sf-switch-dot[data-v-841806e5]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#e2e8f0;transition:transform .2s}.sf-switch input:checked+.sf-switch-track[data-v-841806e5]{background:#10b981}.sf-switch input:checked+.sf-switch-track .sf-switch-dot[data-v-841806e5]{transform:translate(16px)}.sf-switch input:focus-visible+.sf-switch-track[data-v-841806e5]{box-shadow:0 0 0 3px #3b82f64d}.sf-switch input:disabled+.sf-switch-track[data-v-841806e5]{opacity:.6}.sf-switch-text[data-v-841806e5]{font-size:13px;color:#cbd5e1}.sf-switch-text.muted[data-v-841806e5]{color:#64748b}.sf-chips[data-v-841806e5]{display:flex;flex-wrap:wrap;gap:8px}.sf-chip[data-v-841806e5]{padding:4px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a80;color:#cbd5e1;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.sf-chip[data-v-841806e5]:hover:not(:disabled){border-color:#3b82f680}.sf-chip.on[data-v-841806e5]{background:#3b82f633;border-color:#3b82f68c;color:#e2e8f0}.sf-chip.legacy[data-v-841806e5]{border-style:dashed}.sf-chip[data-v-841806e5]:disabled{cursor:default;opacity:.7}.sf-icon-btn[data-v-841806e5]{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172a80;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sf-icon-btn[data-v-841806e5]:hover:not(:disabled){background:#94a3b81f;color:#e2e8f0}.sf-icon-btn.danger[data-v-841806e5]:hover:not(:disabled){background:#ef444426;color:#f87171}.sf-icon-btn[data-v-841806e5]:disabled{opacity:.35;cursor:not-allowed}.sf-btn[data-v-841806e5]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px dashed rgba(148,163,184,.35);background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sf-btn[data-v-841806e5]:hover:not(:disabled){color:#e2e8f0;border-color:#94a3b899}.sf-btn.solid[data-v-841806e5]{border-style:solid;border-color:#3b82f680;background:#3b82f626;color:#93c5fd}.sf-btn[data-v-841806e5]:disabled{opacity:.5;cursor:not-allowed}.sf-group[data-v-841806e5]{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a59;min-width:0}.sf-group-head[data-v-841806e5]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sf-group-title[data-v-841806e5]{margin:0;font-size:14px;font-weight:600;color:#f1f5f9;line-height:1.2}.sf-group.unknown[data-v-841806e5]{border-style:dashed;border-color:#f59e0b59;background:#f59e0b0a}.sf-advanced-toggle[data-v-841806e5]{align-self:flex-start}.sf-rows[data-v-841806e5]{display:flex;flex-direction:column;gap:8px}.sf-row-card[data-v-841806e5]{border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a73;overflow:hidden;transition:border-color .15s}.sf-row-card.open[data-v-841806e5]{border-color:#3b82f659}.sf-row-card.invalid[data-v-841806e5]{border-color:#ef444473}.sf-row-head[data-v-841806e5]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}.sf-row-toggle[data-v-841806e5]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px 0}.sf-row-toggle svg[data-v-841806e5]{flex-shrink:0;color:#64748b;transition:transform .15s}.sf-row-card.open .sf-row-toggle svg[data-v-841806e5]{transform:rotate(90deg)}.sf-row-index[data-v-841806e5]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b}.sf-row-summary[data-v-841806e5]{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row-body[data-v-841806e5]{padding:8px 16px 16px;animation:sf-open-841806e5 .15s ease-out}.sf-scalar-rows[data-v-841806e5]{display:flex;flex-direction:column;gap:8px}.sf-scalar-row[data-v-841806e5]{display:flex;align-items:flex-start;gap:8px}.sf-scalar-row[data-v-841806e5]>:first-child{flex:1;min-width:0}.sf-empty[data-v-841806e5]{margin:0;font-size:13px;color:#64748b}@keyframes sf-open-841806e5{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 640px){.sf-grid[data-v-841806e5]{grid-template-columns:1fr}}.scf-side-label[data-v-841806e5]{flex:1;min-width:0;font-size:13px;font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scf-side-stack[data-v-841806e5]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.scf-issue-badge[data-v-841806e5]{flex-shrink:0;margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:#ef444433;color:#fca5a5;font-size:11px;font-weight:600;text-align:center;line-height:18px}.scf-issues[data-v-841806e5]{margin-bottom:16px;border-radius:10px;border:1px solid rgba(239,68,68,.3);background:#ef444414;color:var(--accent-red);overflow:hidden}.scf-issues-head[data-v-841806e5]{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;background:none;color:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.scf-issues-toggle[data-v-841806e5]{margin-left:auto;font-size:12px;color:#fca5a5}.scf-issues ul[data-v-841806e5]{margin:0;padding:0 16px 12px;list-style:none;display:flex;flex-direction:column;gap:4px}.scf-issues li button[data-v-841806e5]{border:none;background:none;padding:2px 0;color:var(--accent-red);font-size:13px;text-align:left;cursor:pointer;line-height:1.5}.scf-issues li button[data-v-841806e5]:hover{color:var(--text-primary);text-decoration:underline}.scf-issues strong[data-v-841806e5]{font-weight:600}.scf-more[data-v-841806e5]{font-size:12px;color:#fca5a5}.ce[data-v-ce8e18d2]{display:flex;flex-direction:column;gap:16px;padding-bottom:88px}.ce-toolbar[data-v-ce8e18d2]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.ce-version[data-v-ce8e18d2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ce-version-badge[data-v-ce8e18d2]{padding:4px 12px;border-radius:999px;background:#3b82f626;color:#93c5fd;font-size:12px;font-weight:600}.ce-version-badge.muted[data-v-ce8e18d2]{background:#64748b33;color:#cbd5e1}.ce-version-meta[data-v-ce8e18d2]{font-size:13px;color:#94a3b8}.ce-toolbar-actions[data-v-ce8e18d2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ce-segment[data-v-ce8e18d2]{display:inline-flex;padding:2px;border-radius:8px;background:#0f172a99;border:1px solid rgba(148,163,184,.2)}.ce-segment button[data-v-ce8e18d2]{padding:6px 14px;border:none;border-radius:6px;background:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.ce-segment button.active[data-v-ce8e18d2]{background:#3b82f633;color:#e2e8f0}.ce-btn[data-v-ce8e18d2]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#1e293bcc;color:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.ce-btn[data-v-ce8e18d2]:hover:not(:disabled){background:#334155e6;border-color:#94a3b873}.ce-btn[data-v-ce8e18d2]:active:not(:disabled){transform:translateY(1px)}.ce-btn[data-v-ce8e18d2]:disabled{opacity:.5;cursor:not-allowed}.ce-btn.small[data-v-ce8e18d2]{padding:4px 10px;font-size:12px}.ce-btn.ghost[data-v-ce8e18d2]{background:none}.ce-btn.ghost.on[data-v-ce8e18d2]{border-color:#f59e0b80;color:#fbbf24}.ce-btn.primary[data-v-ce8e18d2]{background:#2563eb;border-color:#2563eb;color:#fff}.ce-btn.primary[data-v-ce8e18d2]:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.ce-btn.danger[data-v-ce8e18d2]{border-color:#ef444466;color:#fca5a5;background:#ef444414}.ce-btn.danger[data-v-ce8e18d2]:hover:not(:disabled){background:#ef44442e;border-color:#ef444499}.ce-btn svg.spin[data-v-ce8e18d2]{animation:ce-spin-ce8e18d2 .8s linear infinite}.ce-link[data-v-ce8e18d2]{background:none;border:none;color:#60a5fa;font-size:12px;font-weight:600;cursor:pointer;padding:0}.ce-link[data-v-ce8e18d2]:hover{color:#93c5fd}.ce-icon-btn[data-v-ce8e18d2]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:none;color:#cbd5e1;cursor:pointer;transition:background .15s}.ce-icon-btn[data-v-ce8e18d2]:hover:not(:disabled){background:#94a3b81a}.ce-icon-btn[data-v-ce8e18d2]:disabled{opacity:.35;cursor:not-allowed}.ce-banner[data-v-ce8e18d2]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.5;animation:ce-in-ce8e18d2 .2s ease-out}.ce-banner.info[data-v-ce8e18d2]{background:#3b82f614;border:1px solid rgba(59,130,246,.25);color:#bfdbfe}.ce-banner.success[data-v-ce8e18d2]{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.ce-banner.error[data-v-ce8e18d2]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.ce-state[data-v-ce8e18d2]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;color:#94a3b8;font-size:14px}.ce-state.error[data-v-ce8e18d2]{color:#fca5a5}.ce-body[data-v-ce8e18d2]{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.ce-side[data-v-ce8e18d2]{position:sticky;top:16px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);max-height:calc(100vh - 220px);overflow-y:auto}.ce-side-head[data-v-ce8e18d2]{display:flex;justify-content:space-between;align-items:center;padding:16px 8px 8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.ce-count[data-v-ce8e18d2]{margin-left:4px;padding:0 6px;border-radius:999px;background:#64748b40;color:#cbd5e1}.ce-device-list[data-v-ce8e18d2]{display:flex;flex-direction:column;gap:2px}.ce-side-item[data-v-ce8e18d2]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:none;color:#cbd5e1;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.ce-side-item.general[data-v-ce8e18d2]{flex-direction:column;align-items:flex-start;gap:2px}.ce-side-item[data-v-ce8e18d2]:hover{background:#94a3b814}.ce-side-item.active[data-v-ce8e18d2]{background:#3b82f624;border-color:#3b82f659;color:#f1f5f9}.ce-side-title[data-v-ce8e18d2]{font-size:13px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-side-sub[data-v-ce8e18d2]{font-size:12px;color:#64748b}.ce-side-empty[data-v-ce8e18d2]{margin:0;padding:8px 12px;font-size:12px;color:#64748b}.ce-type[data-v-ce8e18d2]{flex-shrink:0;min-width:48px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-align:center;letter-spacing:.04em;background:#64748b40;color:#cbd5e1}.ce-type[data-type=GRID][data-v-ce8e18d2]{background:#3b82f633;color:#93c5fd}.ce-type[data-type=PV][data-v-ce8e18d2]{background:#f59e0b33;color:#fcd34d}.ce-type[data-type=ESS][data-v-ce8e18d2]{background:#10b98133;color:#6ee7b7}.ce-type[data-type=LOAD][data-v-ce8e18d2]{background:#ef44442e;color:#fca5a5}.ce-type[data-type=EMI][data-v-ce8e18d2]{background:#14b8a633;color:#5eead4}.ce-add-device[data-v-ce8e18d2]{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:8px;background:#0f172a80}.ce-add-device input[data-v-ce8e18d2],.ce-comment[data-v-ce8e18d2]{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#0f172ab3;color:#e2e8f0;font-size:13px}.ce-add-device input[data-v-ce8e18d2]:focus,.ce-comment[data-v-ce8e18d2]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.ce-add-device-actions[data-v-ce8e18d2]{display:flex;gap:8px}.ce-field-error[data-v-ce8e18d2]{font-size:12px;color:#f87171}.ce-main[data-v-ce8e18d2]{min-width:0;padding:16px 16px 24px;border-radius:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);animation:ce-in-ce8e18d2 .18s ease-out}.ce-main-head[data-v-ce8e18d2]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 8px 16px;margin-bottom:8px;border-bottom:1px solid rgba(148,163,184,.12)}.ce-main-head h3[data-v-ce8e18d2]{margin:0;font-size:18px;font-weight:600;color:#f1f5f9;line-height:1.2}.ce-main-head p[data-v-ce8e18d2]{margin:4px 0 0;font-size:13px;color:#94a3b8}.ce-main-actions[data-v-ce8e18d2]{display:flex;align-items:center;gap:8px}.ce-json[data-v-ce8e18d2]{display:flex;flex-direction:column;gap:12px}.ce-json textarea[data-v-ce8e18d2]{width:100%;min-height:calc(100vh - 360px);padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172ab3;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;resize:vertical}.ce-json textarea[data-v-ce8e18d2]:focus{outline:none;border-color:#3b82f6}.ce-json-actions[data-v-ce8e18d2]{display:flex;justify-content:flex-end}.ce-savebar[data-v-ce8e18d2]{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:12px;width:min(880px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:#0f172af5;border:1px solid rgba(59,130,246,.35);box-shadow:0 16px 48px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ce-savebar-info[data-v-ce8e18d2]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#e2e8f0;white-space:nowrap}.ce-dot[data-v-ce8e18d2]{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b33}.ce-comment[data-v-ce8e18d2]{flex:1;min-width:0}.ce-bar-enter-active[data-v-ce8e18d2],.ce-bar-leave-active[data-v-ce8e18d2]{transition:opacity .2s,transform .2s}.ce-bar-enter-from[data-v-ce8e18d2],.ce-bar-leave-to[data-v-ce8e18d2]{opacity:0;transform:translate(-50%,16px)}.ce-spinner[data-v-ce8e18d2]{display:inline-block;width:16px;height:16px;border:2px solid rgba(148,163,184,.3);border-top-color:#60a5fa;border-radius:50%;animation:ce-spin-ce8e18d2 .8s linear infinite}.ce-spinner.small[data-v-ce8e18d2]{width:12px;height:12px;border-top-color:#fff}@keyframes ce-spin-ce8e18d2{to{transform:rotate(360deg)}}@keyframes ce-in-ce8e18d2{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width: 860px){.ce-body[data-v-ce8e18d2]{grid-template-columns:1fr}.ce-side[data-v-ce8e18d2]{position:static;max-height:none}.ce-savebar[data-v-ce8e18d2]{flex-wrap:wrap}.ce-comment[data-v-ce8e18d2]{flex-basis:100%;order:3}}.ch[data-v-b7cc3931]{display:flex;flex-direction:column;gap:16px}.ch-body[data-v-b7cc3931]{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}.ch-list[data-v-b7cc3931]{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;background:var(--bg-surface);border:1px solid rgba(148,163,184,.15);max-height:calc(100vh - 240px);overflow-y:auto}.ch-item[data-v-b7cc3931]{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-secondary);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.ch-item[data-v-b7cc3931]:hover{background:#94a3b814}.ch-item.active[data-v-b7cc3931]{background:#3b82f624;border-color:#3b82f659}.ch-item-top[data-v-b7cc3931]{display:flex;align-items:center;gap:8px}.ch-id[data-v-b7cc3931]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--text-primary);font-size:13px}.ch-current[data-v-b7cc3931]{padding:1px 8px;border-radius:999px;background:#10b9812e;color:#6ee7b7;font-size:11px;font-weight:600}.ch-date[data-v-b7cc3931]{margin-left:auto;font-size:12px;color:var(--text-muted)}.ch-item-meta[data-v-b7cc3931]{display:flex;gap:8px;font-size:12px;color:var(--text-muted)}.ch-source[data-v-b7cc3931]{color:#64748b}.ch-comment[data-v-b7cc3931]{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5;font-style:italic}.ch-preview[data-v-b7cc3931]{min-width:0;padding:16px;border-radius:12px;background:var(--bg-surface);border:1px solid rgba(148,163,184,.15);display:flex;flex-direction:column;gap:12px}.ch-preview-head[data-v-b7cc3931]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px}.ch-preview-head h3[data-v-b7cc3931]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.2}.ch-preview-head p[data-v-b7cc3931]{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.ch-restore[data-v-b7cc3931]{display:flex;gap:8px;flex-wrap:wrap}.ch-restore input[data-v-b7cc3931]{width:220px;padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:var(--bg-surface);color:var(--text-primary);font-size:13px}.ch-restore input[data-v-b7cc3931]:focus{outline:none;border-color:#3b82f6}.ch-pre[data-v-b7cc3931]{margin:0;padding:16px;border-radius:8px;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;line-height:1.5;max-height:calc(100vh - 320px);overflow:auto}.ch-btn[data-v-b7cc3931]{padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.ch-btn[data-v-b7cc3931]:hover:not(:disabled){background:var(--bg-raised)}.ch-btn[data-v-b7cc3931]:disabled{opacity:.5;cursor:not-allowed}.ch-btn.primary[data-v-b7cc3931]{background:#2563eb;border-color:#2563eb;color:#fff}.ch-btn.primary[data-v-b7cc3931]:hover:not(:disabled){background:#1d4ed8}.ch-banner[data-v-b7cc3931]{margin:0;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.5}.ch-banner.success[data-v-b7cc3931]{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.ch-banner.error[data-v-b7cc3931]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.ch-state[data-v-b7cc3931]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:14px}.ch-state.error[data-v-b7cc3931]{color:#fca5a5}.ch-spinner[data-v-b7cc3931]{display:inline-block;width:16px;height:16px;border:2px solid rgba(148,163,184,.3);border-top-color:#60a5fa;border-radius:50%;animation:ch-spin-b7cc3931 .8s linear infinite}@keyframes ch-spin-b7cc3931{to{transform:rotate(360deg)}}@media (max-width: 860px){.ch-body[data-v-b7cc3931]{grid-template-columns:1fr}.ch-list[data-v-b7cc3931]{max-height:320px}}.cc[data-v-ebc768b2]{padding:24px 24px 96px;display:flex;flex-direction:column;gap:24px;color:var(--text-primary)}.cc-header[data-v-ebc768b2]{display:flex;align-items:flex-start;gap:24px}.cc-back[data-v-ebc768b2]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:var(--bg-surface);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,transform .15s}.cc-back[data-v-ebc768b2]:hover{background:var(--bg-raised);transform:translate(-2px)}.cc-back svg[data-v-ebc768b2]{width:16px;height:16px}.cc-title[data-v-ebc768b2]{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.cc-label[data-v-ebc768b2]{font-size:12px;font-weight:600;color:#fbbf24;text-transform:uppercase;letter-spacing:.1em}.cc-title h1[data-v-ebc768b2]{margin:0;font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.cc-sub[data-v-ebc768b2]{margin:0;font-size:13px;color:var(--text-muted)}.cc-name[data-v-ebc768b2]{display:flex;align-items:center;gap:8px;min-width:0}.cc-name h1[data-v-ebc768b2]{overflow-wrap:anywhere}.cc-name-edit[data-v-ebc768b2]{flex-shrink:0;display:inline-flex;padding:8px;border:none;border-radius:8px;background:none;color:#64748b;cursor:pointer;opacity:.6;transition:opacity .15s,background .15s,color .15s}.cc-name:hover .cc-name-edit[data-v-ebc768b2],.cc-name-edit[data-v-ebc768b2]:focus-visible{opacity:1}.cc-name-edit[data-v-ebc768b2]:hover{background:#94a3b81f;color:var(--text-primary)}.cc-name-form[data-v-ebc768b2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cc-name-input[data-v-ebc768b2]{flex:1 1 280px;min-width:0;padding:6px 12px;border-radius:8px;border:1px solid #3b82f6;background:var(--bg-surface);color:var(--text-primary);font-size:22px;font-weight:600;line-height:1.2;box-shadow:0 0 0 3px #3b82f633}.cc-name-input[data-v-ebc768b2]:focus{outline:none}.cc-name-btn[data-v-ebc768b2]{padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.cc-name-btn[data-v-ebc768b2]:hover:not(:disabled){background:var(--bg-raised)}.cc-name-btn.primary[data-v-ebc768b2]{background:#2563eb;border-color:#2563eb;color:#fff}.cc-name-btn.primary[data-v-ebc768b2]:hover:not(:disabled){background:#1d4ed8}.cc-name-btn[data-v-ebc768b2]:disabled{opacity:.5;cursor:not-allowed}.cc-name-msg[data-v-ebc768b2]{margin:0;font-size:13px;animation:cc-open-ebc768b2 .2s ease-out}.cc-name-msg.error[data-v-ebc768b2]{color:#fca5a5}.cc-name-msg.success[data-v-ebc768b2]{color:#6ee7b7}.cc-mono[data-v-ebc768b2]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cc-jump[data-v-ebc768b2]{display:flex;flex-wrap:wrap;gap:8px}.cc-jump-btn[data-v-ebc768b2]{padding:6px 14px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:var(--bg-surface);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.cc-jump-btn[data-v-ebc768b2]:hover{background:#3b82f626;border-color:#3b82f666;color:var(--text-primary)}.cc-jump-btn.closed[data-v-ebc768b2]{color:#64748b;border-style:dashed}.cc-jump-btn.ghost[data-v-ebc768b2]{margin-left:auto;background:none}.cc-section[data-v-ebc768b2]{scroll-margin-top:16px;display:flex;flex-direction:column;gap:16px;padding-top:16px;border-top:1px solid rgba(148,163,184,.15);min-width:0}.cc-section.closed[data-v-ebc768b2]{gap:0}.cc-section-head[data-v-ebc768b2]{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:0 -12px;width:calc(100% + 24px);border:none;border-radius:8px;background:none;color:inherit;text-align:left;cursor:pointer;transition:background .15s}.cc-section-head[data-v-ebc768b2]:hover{background:#94a3b80f}.cc-section-head[data-v-ebc768b2]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.cc-chevron[data-v-ebc768b2]{flex-shrink:0;color:#64748b;transform:rotate(90deg);transition:transform .2s ease}.cc-section.closed .cc-chevron[data-v-ebc768b2]{transform:rotate(0)}.cc-section-text[data-v-ebc768b2]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.cc-section-title[data-v-ebc768b2]{font-size:20px;font-weight:600;color:var(--text-primary);line-height:1.2}.cc-section-desc[data-v-ebc768b2]{font-size:13px;color:var(--text-muted);line-height:1.5}.cc-section-state[data-v-ebc768b2]{flex-shrink:0;font-size:12px;font-weight:600;color:#64748b;opacity:0;transition:opacity .15s}.cc-section-head:hover .cc-section-state[data-v-ebc768b2]{opacity:1}.cc-section-body[data-v-ebc768b2]{min-width:0;animation:cc-open-ebc768b2 .2s ease-out}@keyframes cc-open-ebc768b2{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cc-locked[data-v-ebc768b2]{padding:16px;border-radius:12px;border:1px dashed rgba(148,163,184,.3);color:var(--text-muted);font-size:13px}@media (max-width: 640px){.cc[data-v-ebc768b2]{padding:16px 16px 96px}.cc-header[data-v-ebc768b2]{flex-direction:column;gap:16px}.cc-title h1[data-v-ebc768b2]{font-size:22px}}.network-map[data-v-effddb30]{padding:2rem;max-width:1400px;margin:0 auto}.header[data-v-effddb30]{margin-bottom:2rem}.header h2[data-v-effddb30]{font-size:1.8rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.header-info[data-v-effddb30]{display:flex;gap:1.5rem;align-items:center;font-size:.9rem;color:#666}.site-name[data-v-effddb30]{font-weight:600;color:#2563eb}.device-count[data-v-effddb30]{padding:.25rem .75rem;background:#f3f4f6;border-radius:1rem;font-weight:500}.last-update[data-v-effddb30]{color:#999}.not-connected[data-v-effddb30],.no-data[data-v-effddb30]{text-align:center;padding:3rem;color:#666;background:#f9fafb;border-radius:.5rem}.table-container[data-v-effddb30]{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.network-table[data-v-effddb30]{width:100%;border-collapse:collapse}.network-table thead[data-v-effddb30]{background:#f9fafb;border-bottom:2px solid var(--border-primary)}.network-table th[data-v-effddb30]{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#374151}.network-table tbody tr[data-v-effddb30]{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.network-table tbody tr[data-v-effddb30]:hover{background:#f9fafb}.network-table tbody tr.has-telemetry[data-v-effddb30]{background:#f0f9ff}.network-table tbody tr.has-telemetry[data-v-effddb30]:hover{background:#e0f2fe}.network-table td[data-v-effddb30]{padding:1rem;font-size:.9rem}.antenna-mac[data-v-effddb30]{font-family:Courier New,monospace;font-weight:600;color:#1f2937}.last-active[data-v-effddb30]{color:#6b7280;white-space:nowrap}.hostname[data-v-effddb30]{font-weight:500;color:#1f2937}.ip-list[data-v-effddb30]{display:flex;flex-direction:column;gap:.25rem}.ip-item[data-v-effddb30]{font-family:Courier New,monospace;font-size:.85rem;color:#4b5563}.ess-details[data-v-effddb30]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;flex-wrap:wrap}.ess-details span[data-v-effddb30]{display:inline-flex;align-items:center;gap:.25rem}.ess-details .separator[data-v-effddb30]:before{content:"•";margin-right:.5rem;color:var(--text-secondary)}.ess-details strong[data-v-effddb30]{color:#6b7280;font-weight:600}.no-data-text[data-v-effddb30]{color:var(--text-secondary)}@media (max-width: 1200px){.network-table[data-v-effddb30]{font-size:.85rem}.network-table th[data-v-effddb30],.network-table td[data-v-effddb30]{padding:.75rem .5rem}}@media (max-width: 768px){.network-map[data-v-effddb30]{padding:1rem}.header h2[data-v-effddb30]{font-size:1.5rem}.header-info[data-v-effddb30]{flex-direction:column;align-items:flex-start;gap:.5rem}.table-container[data-v-effddb30]{overflow-x:auto}.network-table[data-v-effddb30]{min-width:800px}}.pools-page[data-v-cbd8625a]{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:24px;position:relative;transition:background .3s}.connection-overlay[data-v-cbd8625a]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-surface-solid);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000}.overlay-content[data-v-cbd8625a]{background:var(--bg-surface-solid);border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:48px;max-width:480px;text-align:center;box-shadow:0 20px 60px #00000080}.overlay-icon[data-v-cbd8625a]{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 24px;background:#ef444426;border:2px solid rgba(239,68,68,.3);border-radius:50%}.disconnect-icon[data-v-cbd8625a]{width:40px;height:40px;color:#ef4444;animation:pulse-cbd8625a 2s ease-in-out infinite}@keyframes pulse-cbd8625a{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.overlay-content h2[data-v-cbd8625a]{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.error-message[data-v-cbd8625a]{font-size:1rem;color:#fca5a5;margin:0 0 32px}.reconnect-info[data-v-cbd8625a]{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:12px}.spinner-small[data-v-cbd8625a]{width:24px;height:24px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-cbd8625a 1s linear infinite}.reconnect-info p[data-v-cbd8625a]{margin:0;font-size:.95rem;font-weight:600;color:#60a5fa}.overlay-fade-enter-active[data-v-cbd8625a],.overlay-fade-leave-active[data-v-cbd8625a]{transition:all .3s ease}.overlay-fade-enter-from[data-v-cbd8625a],.overlay-fade-leave-to[data-v-cbd8625a]{opacity:0}.overlay-fade-enter-from .overlay-content[data-v-cbd8625a],.overlay-fade-leave-to .overlay-content[data-v-cbd8625a]{transform:scale(.95) translateY(-20px)}.page-header[data-v-cbd8625a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1[data-v-cbd8625a]{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.subtitle[data-v-cbd8625a]{font-size:1rem;color:var(--text-muted);margin:0}.loading-container[data-v-cbd8625a]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-muted)}.spinner[data-v-cbd8625a]{width:48px;height:48px;border:4px solid rgba(59,130,246,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin-cbd8625a 1s linear infinite;margin-bottom:16px}@keyframes spin-cbd8625a{to{transform:rotate(360deg)}}.error-container[data-v-cbd8625a]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#ef4444}.error-icon[data-v-cbd8625a]{font-size:3rem;margin-bottom:16px}.stats-grid[data-v-cbd8625a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card[data-v-cbd8625a]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.stat-card[data-v-cbd8625a]:hover{background:var(--bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon[data-v-cbd8625a]{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-cbd8625a]{width:24px;height:24px}.stat-content[data-v-cbd8625a]{flex:1}.stat-label[data-v-cbd8625a]{font-size:.875rem;color:var(--text-muted);margin-bottom:4px}.stat-value[data-v-cbd8625a]{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.pools-list[data-v-cbd8625a]{display:flex;flex-direction:column;gap:24px}.pool-card[data-v-cbd8625a]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:16px;padding:24px;transition:all .3s ease}.pool-card[data-v-cbd8625a]:hover{background:var(--bg-hover);box-shadow:var(--shadow-lg)}.pool-header[data-v-cbd8625a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-primary)}.pool-name[data-v-cbd8625a]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.pool-meta[data-v-cbd8625a]{font-size:.875rem;color:var(--text-muted);margin:0}.pool-id-badge[data-v-cbd8625a]{background:#3b82f626;color:#60a5fa;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:600;border:1px solid rgba(59,130,246,.3)}.devices-grid[data-v-cbd8625a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.device-card[data-v-cbd8625a]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:16px;transition:all .3s ease}.device-card[data-v-cbd8625a]:hover{background:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px)}.device-header[data-v-cbd8625a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.device-name[data-v-cbd8625a]{font-size:1rem;font-weight:600;color:var(--text-primary)}.device-status[data-v-cbd8625a]{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--text-primary)}.status-indicators[data-v-cbd8625a]{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.status-badge[data-v-cbd8625a]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:8px;border:1px solid;flex:1;min-width:0;transition:all .2s ease}.status-badge[data-v-cbd8625a]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.status-header[data-v-cbd8625a]{display:flex;align-items:center;gap:6px}.status-enabled[data-v-cbd8625a]{background:#10b98126;border-color:#10b9814d}.status-disabled[data-v-cbd8625a]{background:#ef444426;border-color:#ef44444d}.status-qualified[data-v-cbd8625a]{background:#a855f726;border-color:#a855f74d}.status-not-qualified[data-v-cbd8625a]{background:#94a3b826;border-color:#94a3b84d}.status-icon[data-v-cbd8625a]{width:16px;height:16px;flex-shrink:0}.status-enabled .status-icon[data-v-cbd8625a]{color:#10b981}.status-disabled .status-icon[data-v-cbd8625a]{color:#ef4444}.status-qualified .status-icon[data-v-cbd8625a]{color:#a855f7}.status-not-qualified .status-icon[data-v-cbd8625a]{color:var(--text-muted)}.status-label[data-v-cbd8625a]{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.status-value[data-v-cbd8625a]{font-size:.875rem;font-weight:600}.status-enabled .status-value[data-v-cbd8625a]{color:#10b981}.status-disabled .status-value[data-v-cbd8625a]{color:#ef4444}.status-qualified .status-value[data-v-cbd8625a]{color:#a855f7}.status-not-qualified .status-value[data-v-cbd8625a]{color:var(--text-muted)}.accordion-toggle[data-v-cbd8625a]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin:8px 0;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:var(--text-muted);-webkit-user-select:none;user-select:none}.accordion-toggle[data-v-cbd8625a]:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.chevron-icon[data-v-cbd8625a]{width:20px;height:20px;transition:transform .3s ease}.chevron-expanded[data-v-cbd8625a]{transform:rotate(180deg)}.accordion-enter-active[data-v-cbd8625a],.accordion-leave-active[data-v-cbd8625a]{transition:all .3s ease;overflow:hidden}.accordion-enter-from[data-v-cbd8625a],.accordion-leave-to[data-v-cbd8625a]{opacity:0;max-height:0;margin-top:0;margin-bottom:0}.accordion-enter-to[data-v-cbd8625a],.accordion-leave-from[data-v-cbd8625a]{opacity:1;max-height:500px}.device-details[data-v-cbd8625a]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-top:8px}.detail-row[data-v-cbd8625a]{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.detail-label[data-v-cbd8625a]{color:var(--text-muted)}.detail-value[data-v-cbd8625a]{color:var(--text-primary);font-weight:500}.eic-code[data-v-cbd8625a]{font-family:monospace;font-size:.8rem}.error-row[data-v-cbd8625a]{background:#ef44441a;padding:8px;border-radius:6px;border:1px solid rgba(239,68,68,.3)}.error-text[data-v-cbd8625a]{color:#fca5a5;font-size:.8rem;word-break:break-word}.device-footer[data-v-cbd8625a]{padding-top:12px;border-top:1px solid var(--border-subtle)}.device-client[data-v-cbd8625a]{font-size:.8rem;color:#64748b;font-style:italic}@media (max-width: 768px){.pools-page[data-v-cbd8625a]{padding:16px}.page-header h1[data-v-cbd8625a]{font-size:1.5rem}.stats-grid[data-v-cbd8625a]{grid-template-columns:1fr;gap:12px}.stat-card[data-v-cbd8625a]{padding:16px}.devices-grid[data-v-cbd8625a]{grid-template-columns:1fr}.pool-header[data-v-cbd8625a]{flex-direction:column;gap:16px}.pool-id-badge[data-v-cbd8625a]{align-self:flex-start}.status-indicators[data-v-cbd8625a]{flex-direction:column}.status-badge[data-v-cbd8625a]{flex:none}}.bc-overlay[data-v-26c18cf8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:bc-fade-26c18cf8 .2s ease}@keyframes bc-fade-26c18cf8{0%{opacity:0}}.bc-modal[data-v-26c18cf8]{width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg, 0 20px 60px rgba(0, 0, 0, .4));color:var(--text-primary)}.bc-header[data-v-26c18cf8]{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 24px;border-bottom:1px solid var(--border-primary)}.bc-header h2[data-v-26c18cf8]{margin:0;font-size:1.1rem;font-weight:600}.bc-header p[data-v-26c18cf8]{margin:4px 0 0;font-size:.8rem;color:var(--text-muted)}.bc-close[data-v-26c18cf8]{background:none;border:none;color:var(--text-muted);font-size:1.6rem;line-height:1;width:32px;height:32px;border-radius:6px;cursor:pointer}.bc-close[data-v-26c18cf8]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.bc-body[data-v-26c18cf8]{padding:16px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.bc-fields[data-v-26c18cf8]{display:grid;grid-template-columns:2fr 1fr;gap:16px}.bc-fields[data-v-26c18cf8]>:only-child{grid-column:1 / -1}.bc-field[data-v-26c18cf8]{display:flex;flex-direction:column;gap:6px}.bc-label[data-v-26c18cf8]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.bc-select[data-v-26c18cf8]{padding:8px 12px;background:var(--bg-input, var(--bg-elevated));border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.85rem}.bc-select[data-v-26c18cf8]:focus{outline:none;border-color:var(--accent-blue, #3b82f6)}.bc-warning[data-v-26c18cf8],.bc-summary[data-v-26c18cf8],.bc-empty[data-v-26c18cf8]{padding:8px 12px;border-radius:6px;font-size:.8rem;line-height:1.5}.bc-warning[data-v-26c18cf8]{background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);color:#d97706}.bc-summary[data-v-26c18cf8]{background:#10b9811a;border:1px solid rgba(16,185,129,.35);color:#10b981}.bc-summary.has-failed[data-v-26c18cf8]{background:#ef44441a;border-color:#ef444459;color:#ef4444}.bc-empty[data-v-26c18cf8]{background:var(--bg-elevated);border:1px solid var(--border-primary);color:var(--text-muted)}.bc-confirm[data-v-26c18cf8]{display:flex;flex-direction:column;gap:16px;animation:bc-fade-26c18cf8 .2s ease}.bc-confirm-title[data-v-26c18cf8]{margin:0;font-size:.95rem;font-weight:600}.bc-confirm-grid[data-v-26c18cf8]{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:8px 16px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;font-size:.875rem}.bc-confirm-count[data-v-26c18cf8]{color:var(--accent-blue, #3b82f6)}.bc-list[data-v-26c18cf8]{list-style:none;margin:0;padding:0;border:1px solid var(--border-primary);border-radius:8px;max-height:260px;overflow-y:auto}.bc-list li[data-v-26c18cf8]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;border-bottom:1px solid var(--border-subtle)}.bc-list li[data-v-26c18cf8]:last-child{border-bottom:none}.bc-list li.dimmed .bc-name[data-v-26c18cf8]{color:var(--text-muted)}.bc-name[data-v-26c18cf8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-status[data-v-26c18cf8]{flex-shrink:0;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--bg-elevated);color:var(--text-muted)}.bc-status.sent[data-v-26c18cf8]{background:#10b98126;color:#10b981}.bc-status.failed[data-v-26c18cf8]{background:#ef444426;color:#ef4444}.bc-status.pending[data-v-26c18cf8]{background:#3b82f626;color:#3b82f6}.bc-footer[data-v-26c18cf8]{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border-primary)}.bc-btn[data-v-26c18cf8]{padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.bc-btn[data-v-26c18cf8]:disabled{opacity:.5;cursor:not-allowed}.bc-btn-secondary[data-v-26c18cf8]{background:none;border-color:var(--border-primary);color:var(--text-primary)}.bc-btn-secondary[data-v-26c18cf8]:hover:not(:disabled){background:var(--bg-hover)}.bc-btn-primary[data-v-26c18cf8]{background:var(--accent-blue, #3b82f6);color:#fff}.bc-btn-primary[data-v-26c18cf8]:hover:not(:disabled){background:var(--accent-blue-hover, #2563eb)}@media (max-width: 520px){.bc-fields[data-v-26c18cf8]{grid-template-columns:1fr}}.cp-page[data-v-ccaa5386]{padding:24px;color:var(--text-primary)}.cp-header[data-v-ccaa5386]{margin-bottom:24px}.cp-header h1[data-v-ccaa5386]{margin:0 0 8px;font-size:1.75rem;font-weight:700;line-height:1.2}.cp-subtitle[data-v-ccaa5386]{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.875rem;color:var(--text-muted)}.cp-dot[data-v-ccaa5386]{width:8px;height:8px;border-radius:50%;margin-left:10px}.cp-dot.online[data-v-ccaa5386]{background:#10b981}.cp-dot.stale[data-v-ccaa5386]{background:#f59e0b}.cp-dot.offline[data-v-ccaa5386]{background:#6b7280}.cp-toolbar[data-v-ccaa5386]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.cp-search[data-v-ccaa5386]{flex:1 1 280px;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--bg-input, var(--bg-elevated));border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);transition:border-color .15s}.cp-search[data-v-ccaa5386]:focus-within{border-color:var(--accent-blue, #3b82f6)}.cp-search input[data-v-ccaa5386]{flex:1;min-width:0;padding:9px 0;background:none;border:none;outline:none;color:var(--text-primary);font-size:.875rem}.cp-select[data-v-ccaa5386]{padding:9px 12px;background:var(--bg-input, var(--bg-elevated));border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer;max-width:200px}.cp-select[data-v-ccaa5386]:focus{outline:none;border-color:var(--accent-blue, #3b82f6)}.cp-link[data-v-ccaa5386]{background:none;border:none;padding:4px 8px;color:var(--accent-blue, #3b82f6);font-size:.8rem;font-weight:600;cursor:pointer;border-radius:6px}.cp-link[data-v-ccaa5386]:hover{background:var(--bg-hover)}.cp-bulkbar[data-v-ccaa5386]{display:flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:16px;background:#3b82f614;border:1px solid rgba(59,130,246,.35);border-radius:8px;font-size:.875rem}.cp-bulk-actions[data-v-ccaa5386]{margin-left:auto;display:flex;align-items:center;gap:8px}.cp-bar-enter-active[data-v-ccaa5386],.cp-bar-leave-active[data-v-ccaa5386]{transition:opacity .2s,transform .2s}.cp-bar-enter-from[data-v-ccaa5386],.cp-bar-leave-to[data-v-ccaa5386]{opacity:0;transform:translateY(-6px)}.cp-muted[data-v-ccaa5386]{color:var(--text-muted);font-size:.8rem}.cp-btn[data-v-ccaa5386]{padding:7px 14px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.cp-btn-primary[data-v-ccaa5386]{background:var(--accent-blue, #3b82f6);color:#fff}.cp-btn-primary[data-v-ccaa5386]:hover{background:var(--accent-blue-hover, #2563eb)}.cp-btn-secondary[data-v-ccaa5386]{background:var(--bg-surface-solid);border-color:var(--border-primary);color:var(--text-primary)}.cp-btn-secondary[data-v-ccaa5386]:hover{background:var(--bg-hover)}.cp-table-wrap[data-v-ccaa5386]{overflow-x:auto;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:12px}.cp-table[data-v-ccaa5386]{width:100%;border-collapse:collapse;font-size:.85rem}.cp-table th[data-v-ccaa5386]{position:sticky;top:0;padding:12px;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--table-header-bg, var(--bg-elevated));border-bottom:1px solid var(--border-primary);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.cp-table th[data-v-ccaa5386]:hover,.cp-table th.active[data-v-ccaa5386]{color:var(--text-primary)}.cp-th[data-v-ccaa5386]{display:inline-flex;align-items:center;gap:4px}.cp-sort[data-v-ccaa5386]{font-size:.65rem;opacity:.5}th.active .cp-sort[data-v-ccaa5386]{opacity:1;color:var(--accent-blue, #3b82f6)}.cp-table td[data-v-ccaa5386]{padding:10px 12px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.cp-table tbody tr[data-v-ccaa5386]{cursor:pointer;transition:background .12s}.cp-table tbody tr[data-v-ccaa5386]:hover{background:var(--bg-hover)}.cp-table tbody tr.selected[data-v-ccaa5386]{background:#3b82f614}.cp-table tbody tr.offline td[data-v-ccaa5386]:not(.cp-check):not(.cp-actions-col){color:var(--text-muted)}.cp-table tbody tr:last-child td[data-v-ccaa5386]{border-bottom:none}.cp-check[data-v-ccaa5386]{width:40px;cursor:default!important}.cp-check input[data-v-ccaa5386]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-blue, #3b82f6)}.cp-actions-col[data-v-ccaa5386]{width:44px;cursor:default!important}.cp-name[data-v-ccaa5386]{font-weight:600}.cp-mono[data-v-ccaa5386]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.cp-status[data-v-ccaa5386]{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:10px;font-size:.75rem;font-weight:600}.cp-status[data-v-ccaa5386]:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cp-status.online[data-v-ccaa5386]{background:#10b98126;color:#10b981}.cp-status.stale[data-v-ccaa5386]{background:#f59e0b26;color:#d97706}.cp-status.offline[data-v-ccaa5386],.cp-status.nodata[data-v-ccaa5386]{background:#6b72802e;color:var(--text-muted)}.cp-version[data-v-ccaa5386]{display:flex;align-items:center;gap:8px}.cp-version .outdated[data-v-ccaa5386]{color:#d97706}.cp-update[data-v-ccaa5386]{padding:2px 10px;font-size:.7rem;font-weight:600;border-radius:6px;border:1px solid var(--accent-blue, #3b82f6);background:none;color:var(--accent-blue, #3b82f6);cursor:pointer;transition:all .15s}.cp-update[data-v-ccaa5386]:hover{background:var(--accent-blue, #3b82f6);color:#fff}.cp-icon-btn[data-v-ccaa5386]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:none;color:var(--text-muted);cursor:pointer;transition:all .15s}.cp-icon-btn[data-v-ccaa5386]:hover{background:var(--bg-elevated);color:var(--text-primary)}.cp-empty-row td[data-v-ccaa5386]{padding:40px 12px;text-align:center;color:var(--text-muted);cursor:default}@media (max-width: 768px){.cp-page[data-v-ccaa5386]{padding:16px}.cp-select[data-v-ccaa5386]{flex:1 1 140px;max-width:none}.cp-bulkbar[data-v-ccaa5386]{flex-wrap:wrap}.cp-bulk-actions[data-v-ccaa5386]{margin-left:0;width:100%}}.kratt-page[data-v-3c117c13]{padding:24px;width:100%;max-width:100%;color:var(--text-primary)}.page-top[data-v-3c117c13]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-top h1[data-v-3c117c13]{margin:0;font-size:1.5rem}.page-top .muted[data-v-3c117c13]{margin:2px 0 0;color:var(--text-muted);font-size:.88rem}.top-actions[data-v-3c117c13]{display:flex;gap:8px}.config-bar[data-v-3c117c13]{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:10px;margin-bottom:20px;flex-wrap:wrap}.field[data-v-3c117c13]{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--text-secondary)}.field.wide[data-v-3c117c13]{grid-column:span 2}.field input[data-v-3c117c13],.field textarea[data-v-3c117c13]{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.9rem}.field textarea[data-v-3c117c13]{font-family:inherit;resize:vertical}.with-btn[data-v-3c117c13]{display:flex;gap:6px}.with-btn input[data-v-3c117c13]{flex:1}.check[data-v-3c117c13]{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:var(--text-secondary);cursor:pointer}.banner[data-v-3c117c13]{padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.88rem}.banner-error[data-v-3c117c13]{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#dc2626}.banner-success[data-v-3c117c13]{background:#22c55e1f;border:1px solid rgba(34,197,94,.4);color:#059669}.empty[data-v-3c117c13]{padding:24px;text-align:center;color:var(--text-muted)}.empty.small[data-v-3c117c13]{padding:14px;font-size:.88rem}.muted[data-v-3c117c13]{color:var(--text-muted)}.asset-card[data-v-3c117c13]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;margin-bottom:20px}.asset-head[data-v-3c117c13]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle)}.asset-head h2[data-v-3c117c13]{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.asset-meta[data-v-3c117c13]{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:.82rem;color:var(--text-muted)}.asset-actions[data-v-3c117c13]{display:flex;gap:8px;flex-wrap:wrap}.devices-table-wrap[data-v-3c117c13]{overflow-x:auto;width:100%}.devices-table[data-v-3c117c13]{width:100%;min-width:100%;border-collapse:collapse;font-size:.85rem}.devices-table.compact[data-v-3c117c13]{font-size:.8rem}.devices-table th[data-v-3c117c13],.devices-table td[data-v-3c117c13]{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-primary)}.devices-table th[data-v-3c117c13]{font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-hover)}.devices-table tbody tr[data-v-3c117c13]:hover{background:var(--bg-hover)}.devices-table th.sortable[data-v-3c117c13]{cursor:pointer;-webkit-user-select:none;user-select:none}.devices-table th.sortable[data-v-3c117c13]:hover{color:var(--text-primary);background:var(--bg-active)}.devices-table th.action-head[data-v-3c117c13]{text-align:center;font-size:.68rem}.devices-table td.action-cell[data-v-3c117c13]{text-align:center;padding:4px 6px}.sort-ind[data-v-3c117c13]{display:inline-block;width:.7em;font-size:.7rem;color:#2563eb;margin-left:2px}.btn-cell[data-v-3c117c13]{padding:5px 10px;font-size:.76rem;width:100%}.totals-row td[data-v-3c117c13]{background:#2563eb14;font-weight:600;border-top:1px solid var(--border-primary);color:var(--text-primary)}.totals-label[data-v-3c117c13]{text-align:right;color:var(--text-muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.mono[data-v-3c117c13]{font-family:ui-monospace,Menlo,Monaco,monospace}.num[data-v-3c117c13]{text-align:right;font-variant-numeric:tabular-nums}.small[data-v-3c117c13]{font-size:.78rem;color:var(--text-secondary)}.actions-col[data-v-3c117c13]{width:1%}.row-actions[data-v-3c117c13]{display:flex;flex-wrap:wrap;gap:4px}.chip[data-v-3c117c13]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.chip-green[data-v-3c117c13]{background:#22c55e26;color:#059669;border:1px solid rgba(34,197,94,.35)}.chip-grey[data-v-3c117c13]{background:#94a3b826;color:var(--text-muted);border:1px solid rgba(148,163,184,.35)}.btn[data-v-3c117c13]{padding:7px 12px;border-radius:6px;border:1px solid transparent;font-size:.82rem;cursor:pointer;font-weight:500}.btn[data-v-3c117c13]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-3c117c13]{background:#2563eb;color:#fff}.btn-primary[data-v-3c117c13]:hover:not(:disabled){background:#1d4ed8}.btn-secondary[data-v-3c117c13]{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-primary)}.btn-secondary[data-v-3c117c13]:hover:not(:disabled){background:var(--bg-active)}.btn-ghost[data-v-3c117c13]{background:transparent;color:var(--text-primary);border-color:var(--border-primary)}.btn-ghost[data-v-3c117c13]:hover:not(:disabled){background:var(--bg-hover)}.btn-danger[data-v-3c117c13]{color:#dc2626;border-color:#ef444459}.btn-danger[data-v-3c117c13]:hover:not(:disabled){background:#ef444414}.modal-backdrop[data-v-3c117c13]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal[data-v-3c117c13]{width:100%;max-width:620px;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh}.modal-wide[data-v-3c117c13]{max-width:1200px}.modal-small[data-v-3c117c13]{max-width:460px}.modal-head[data-v-3c117c13]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.modal-head h3[data-v-3c117c13]{margin:0;font-size:1rem;color:var(--text-primary)}.modal-body[data-v-3c117c13]{padding:18px;overflow:auto}.modal-actions[data-v-3c117c13]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border-subtle)}.form-grid[data-v-3c117c13]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-grid[data-v-3c117c13]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.detail-grid>div[data-v-3c117c13]{display:flex;flex-direction:column;padding:8px 10px;background:var(--bg-elevated);border-radius:6px}.detail-grid .k[data-v-3c117c13]{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-grid .v[data-v-3c117c13]{font-size:.9rem;color:var(--text-primary)}.section[data-v-3c117c13]{margin-top:16px}.section h4[data-v-3c117c13]{margin:0 0 8px;font-size:.9rem;color:var(--text-primary)}.qual-group[data-v-3c117c13]{margin-top:10px}.qual-head[data-v-3c117c13]{margin-bottom:4px;font-size:.82rem;color:var(--text-secondary)}.json-block[data-v-3c117c13]{background:var(--bg-input);padding:10px;border-radius:6px;font-size:.78rem;max-height:260px;overflow:auto;color:var(--text-primary)}.range-bar[data-v-3c117c13]{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px;flex-wrap:wrap}.seg[data-v-3c117c13]{display:inline-flex;background:var(--bg-elevated);border-radius:8px;padding:3px}.seg button[data-v-3c117c13]{background:transparent;border:0;color:var(--text-secondary);padding:6px 12px;font-size:.82rem;border-radius:6px;cursor:pointer}.seg button.active[data-v-3c117c13]{background:#2563eb;color:#fff}.period-block[data-v-3c117c13]{margin-bottom:18px;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.period-head[data-v-3c117c13]{display:flex;gap:16px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-hover);font-size:.82rem;color:var(--text-primary)}.toast[data-v-3c117c13]{position:fixed;bottom:24px;right:24px;padding:12px 18px;border-radius:8px;font-size:.88rem;font-weight:500;z-index:1100;box-shadow:0 8px 24px #0006;max-width:420px}.toast-success[data-v-3c117c13]{background:#059669;color:#fff}.toast-error[data-v-3c117c13]{background:#dc2626;color:#fff}.metering-points[data-v-3c117c13]{display:flex;flex-direction:column;gap:6px}.metering-points>span[data-v-3c117c13]{font-size:.82rem;color:var(--text-secondary)}.mp-row[data-v-3c117c13]{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}.mp-row input[data-v-3c117c13]{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.88rem}.mp-add[data-v-3c117c13]{align-self:flex-start;margin-top:2px}.eic-cell[data-v-3c117c13]{position:relative}.eic-toggle[data-v-3c117c13]{cursor:pointer;color:#2563eb;font-weight:600;text-decoration:underline;text-decoration-style:dotted}.eic-toggle[data-v-3c117c13]:hover{color:#1d4ed8}.eic-expanded[data-v-3c117c13]{cursor:pointer;display:flex;flex-direction:column;gap:2px}.eic-item[data-v-3c117c13]{display:block;white-space:nowrap}.api-log[data-v-3c117c13]{position:fixed;right:16px;bottom:16px;width:460px;max-width:calc(100vw - 32px);background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-lg);z-index:900;display:flex;flex-direction:column}.api-log.collapsed[data-v-3c117c13]{width:auto}.api-log-head[data-v-3c117c13]{display:flex;justify-content:space-between;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border-subtle)}.api-log-body[data-v-3c117c13]{padding:6px 8px;max-height:50vh;overflow:auto}.api-entry[data-v-3c117c13]{padding:6px 4px;border-bottom:1px solid var(--border-subtle);font-size:.8rem}.api-entry summary[data-v-3c117c13]{cursor:pointer;display:flex;gap:8px;align-items:center}.api-entry summary[data-v-3c117c13]::-webkit-details-marker{display:none}.api-status[data-v-3c117c13]{font-weight:700;font-size:.7rem;padding:1px 6px;border-radius:4px}.api-success .api-status[data-v-3c117c13]{background:#22c55e26;color:#059669;border:1px solid rgba(34,197,94,.4)}.api-error .api-status[data-v-3c117c13]{background:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.4)}.api-time[data-v-3c117c13]{color:var(--text-muted);font-size:.72rem}.api-label[data-v-3c117c13]{font-family:ui-monospace,Menlo,Monaco,monospace;font-size:.78rem;color:var(--text-primary);flex:1;word-break:break-all}.api-detail[data-v-3c117c13]{padding-top:6px}.api-section-label[data-v-3c117c13]{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:6px 0 2px}.json-block.error[data-v-3c117c13]{color:#dc2626}.trend-chart[data-v-34459278]{position:relative;width:100%;background:var(--bg-surface-solid, #0f1923);border-radius:8px;padding:12px 8px 8px;box-sizing:border-box}.trend-chart.compact[data-v-34459278]{padding:8px 6px 6px}.chart-title[data-v-34459278]{font-size:.82rem;font-weight:600;color:var(--text-secondary, #94a3b8);margin-bottom:6px;padding:0 4px}.trend-legend[data-v-34459278]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:0 4px}.legend-btn[data-v-34459278]{display:flex;align-items:center;gap:5px;background:var(--bg-elevated, #1a2a3a);border:1px solid var(--border-primary, #2a3a4a);color:var(--text-secondary, #94a3b8);font-size:11px;padding:3px 8px;border-radius:4px;cursor:pointer;transition:opacity .15s,background .15s}.compact .legend-btn[data-v-34459278]{font-size:10px;padding:2px 6px}.legend-btn[data-v-34459278]:hover{background:var(--bg-hover, #1e3a54)}.legend-btn.inactive[data-v-34459278]{opacity:.35}.legend-dot[data-v-34459278]{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.compact .legend-dot[data-v-34459278]{width:8px;height:8px}.chart-grid-line[data-v-34459278]{stroke:var(--chart-grid, #2a3a4a)}.axis-label[data-v-34459278]{fill:var(--text-muted, #4a5568);font-size:10px;font-family:monospace}.axis-label-right[data-v-34459278]{fill:var(--text-muted, #64748b)}.axis-title[data-v-34459278]{fill:var(--text-muted, #4a5568);font-size:10px}.trend-tooltip[data-v-34459278]{position:absolute;top:44px;left:60px;background:var(--tooltip-bg, #1a2a3a);border:1px solid var(--tooltip-border, #2a3a4a);border-radius:6px;padding:8px 10px;pointer-events:none;z-index:10;min-width:170px}.compact .trend-tooltip[data-v-34459278]{top:32px;left:52px}.tooltip-time[data-v-34459278]{font-size:11px;color:var(--text-muted, #94a3b8);margin-bottom:5px;font-weight:600}.tooltip-row[data-v-34459278]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary, #cbd5e1);margin-bottom:2px;transition:opacity .15s}.tooltip-row.faded[data-v-34459278]{opacity:.3}.tooltip-dot[data-v-34459278]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tooltip-label[data-v-34459278]{flex:1;color:var(--text-muted, #94a3b8)}.tooltip-val[data-v-34459278]{font-family:monospace;font-weight:600}.trend-empty[data-v-34459278]{color:var(--text-muted, #4a5568);font-size:13px;text-align:center;padding:32px}.revenue-page[data-v-d2d7465d]{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:24px;color:var(--text-primary);transition:background .3s}.top-bar[data-v-d2d7465d]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.top-left[data-v-d2d7465d]{display:flex;align-items:center;gap:12px}.back-btn[data-v-d2d7465d]{display:inline-flex;align-items:center;gap:4px}.page-title[data-v-d2d7465d]{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.top-right[data-v-d2d7465d]{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.field-inline[data-v-d2d7465d]{display:flex;flex-direction:column;gap:4px}.field-label[data-v-d2d7465d]{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.with-btn[data-v-d2d7465d]{display:flex;gap:6px}.input[data-v-d2d7465d]{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.9rem}.input[data-v-d2d7465d]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.btn[data-v-d2d7465d]{padding:7px 12px;border-radius:6px;border:1px solid transparent;font-size:.82rem;cursor:pointer;font-weight:500;transition:background .15s,border-color .15s}.btn[data-v-d2d7465d]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-d2d7465d]{background:#2563eb;color:#fff}.btn-primary[data-v-d2d7465d]:hover:not(:disabled){background:#1d4ed8}.btn-ghost[data-v-d2d7465d]{background:transparent;color:var(--text-primary);border-color:var(--border-primary)}.btn-ghost[data-v-d2d7465d]:hover:not(:disabled){background:var(--bg-hover)}.btn-sm[data-v-d2d7465d]{padding:5px 10px;font-size:.78rem}.loading-container[data-v-d2d7465d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:16px;color:var(--text-muted)}.spinner[data-v-d2d7465d]{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:#3b82f6;border-radius:50%;animation:spin-d2d7465d .8s linear infinite}.spinner-small[data-v-d2d7465d]{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:#3b82f6;border-radius:50%;animation:spin-d2d7465d .8s linear infinite}.spinner-tiny[data-v-d2d7465d]{width:14px;height:14px;border:2px solid var(--border-subtle);border-top-color:#3b82f6;border-radius:50%;animation:spin-d2d7465d .8s linear infinite}@keyframes spin-d2d7465d{to{transform:rotate(360deg)}}.section-loading[data-v-d2d7465d]{display:flex;align-items:center;gap:10px;padding:16px;color:var(--text-muted);font-size:.88rem}.error-container[data-v-d2d7465d]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 24px}.banner[data-v-d2d7465d]{padding:10px 14px;border-radius:8px;font-size:.88rem;max-width:600px;width:100%}.banner-error[data-v-d2d7465d]{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.stats-grid[data-v-d2d7465d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card[data-v-d2d7465d]{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;transition:background .15s}.stat-card[data-v-d2d7465d]:hover{background:var(--bg-hover)}.stat-icon[data-v-d2d7465d]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex-shrink:0}.stat-icon svg[data-v-d2d7465d]{width:22px;height:22px}.stat-content[data-v-d2d7465d]{display:flex;flex-direction:column;gap:2px}.stat-label[data-v-d2d7465d]{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.stat-value[data-v-d2d7465d]{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.empty[data-v-d2d7465d]{padding:24px;text-align:center;color:var(--text-muted)}.empty.small[data-v-d2d7465d]{padding:14px;font-size:.88rem}.assets-list[data-v-d2d7465d]{display:flex;flex-direction:column;gap:16px}.asset-card[data-v-d2d7465d]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;transition:border-color .15s}.asset-card[data-v-d2d7465d]:hover{border-color:var(--border-hover)}.asset-head[data-v-d2d7465d]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.asset-head[data-v-d2d7465d]:hover{background:var(--bg-hover)}.asset-info[data-v-d2d7465d]{flex:1;min-width:0}.asset-title-row[data-v-d2d7465d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.asset-title-row h2[data-v-d2d7465d]{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.asset-meta[data-v-d2d7465d]{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;font-size:.8rem;color:var(--text-muted)}.asset-head-right[data-v-d2d7465d]{display:flex;align-items:center;gap:12px;flex-shrink:0}.revenue-badge[data-v-d2d7465d]{padding:4px 10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);border-radius:8px;font-size:.82rem;font-weight:600;color:#60a5fa;font-variant-numeric:tabular-nums;white-space:nowrap}.loading-badge[data-v-d2d7465d]{display:flex;align-items:center;padding:6px 14px}.chevron[data-v-d2d7465d]{width:20px;height:20px;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.chevron-open[data-v-d2d7465d]{transform:rotate(180deg)}.chip[data-v-d2d7465d]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.chip-green[data-v-d2d7465d]{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.35)}.chip-red[data-v-d2d7465d]{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.35)}.chip-yellow[data-v-d2d7465d]{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.35)}.chip-grey[data-v-d2d7465d]{background:#94a3b826;color:var(--text-muted);border:1px solid rgba(148,163,184,.35)}.asset-body[data-v-d2d7465d]{padding:0 20px 20px;border-top:1px solid var(--border-subtle)}.revenue-grid[data-v-d2d7465d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:16px 0}.rev-card[data-v-d2d7465d]{padding:14px 16px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:10px}.rev-label[data-v-d2d7465d]{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:4px}.rev-value[data-v-d2d7465d]{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.section-title[data-v-d2d7465d]{margin:20px 0 10px;font-size:.88rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.trend-section[data-v-d2d7465d]{margin-bottom:20px}.device-row-clickable[data-v-d2d7465d]{cursor:pointer;transition:background .15s}.device-row-clickable[data-v-d2d7465d]:hover{background:var(--bg-hover)!important}.expand-icon[data-v-d2d7465d]{display:inline-block;font-size:9px;margin-right:6px;transition:transform .2s;color:var(--text-muted)}.expand-icon.rotated[data-v-d2d7465d]{transform:rotate(90deg)}.device-chart-row td[data-v-d2d7465d]{background:var(--bg-primary);border-top:none}.market-grid[data-v-d2d7465d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:16px}.market-item[data-v-d2d7465d]{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px}.market-label[data-v-d2d7465d]{font-size:.78rem;color:var(--text-muted);font-weight:500}.market-value[data-v-d2d7465d]{font-size:.88rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.devices-table-wrap[data-v-d2d7465d]{overflow-x:auto;width:100%;border:1px solid var(--border-subtle);border-radius:8px}.devices-table[data-v-d2d7465d]{width:100%;min-width:100%;border-collapse:collapse;font-size:.85rem}.devices-table.compact[data-v-d2d7465d]{font-size:.8rem}.devices-table th[data-v-d2d7465d],.devices-table td[data-v-d2d7465d]{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-primary)}.devices-table th[data-v-d2d7465d]{font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-hover)}.devices-table tbody tr[data-v-d2d7465d]:hover{background:var(--bg-hover)}.totals-row td[data-v-d2d7465d]{background:#2563eb14;font-weight:600;border-top:1px solid var(--border-primary);color:var(--text-primary)}.totals-label[data-v-d2d7465d]{text-align:right;color:var(--text-muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;font-weight:600}.mono[data-v-d2d7465d]{font-family:ui-monospace,Menlo,Monaco,monospace}.num[data-v-d2d7465d]{text-align:right;font-variant-numeric:tabular-nums}.small[data-v-d2d7465d]{font-size:.78rem;color:var(--text-secondary)}.accordion-enter-active[data-v-d2d7465d],.accordion-leave-active[data-v-d2d7465d]{transition:all .25s ease;overflow:hidden}.accordion-enter-from[data-v-d2d7465d],.accordion-leave-to[data-v-d2d7465d]{opacity:0;max-height:0}.accordion-enter-to[data-v-d2d7465d],.accordion-leave-from[data-v-d2d7465d]{opacity:1;max-height:2000px}@media (max-width: 768px){.revenue-page[data-v-d2d7465d]{padding:16px}.top-bar[data-v-d2d7465d]{flex-direction:column;align-items:stretch;gap:12px}.top-right[data-v-d2d7465d]{flex-direction:column;gap:10px}.stats-grid[data-v-d2d7465d]{grid-template-columns:repeat(2,1fr);gap:10px}.revenue-grid[data-v-d2d7465d]{grid-template-columns:1fr}.market-grid[data-v-d2d7465d]{grid-template-columns:repeat(2,1fr)}.asset-head[data-v-d2d7465d]{flex-direction:column;align-items:flex-start;gap:8px}.asset-head-right[data-v-d2d7465d]{align-self:flex-end}.stat-card[data-v-d2d7465d]{padding:14px 16px}.stat-value[data-v-d2d7465d]{font-size:1.1rem}}@media (max-width: 480px){.stats-grid[data-v-d2d7465d],.market-grid[data-v-d2d7465d]{grid-template-columns:1fr}}.reports-page[data-v-baf8b3a6]{padding:32px 24px;max-width:1400px;margin:0 auto}.page-header[data-v-baf8b3a6]{margin-bottom:24px}.page-header h1[data-v-baf8b3a6]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.page-header .muted[data-v-baf8b3a6]{margin:4px 0 0;font-size:.88rem;color:var(--text-muted)}.controls-layout[data-v-baf8b3a6]{margin-bottom:24px}.list-panel[data-v-baf8b3a6]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.list-section[data-v-baf8b3a6]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:10px;overflow:hidden}.list-header[data-v-baf8b3a6]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.list-items[data-v-baf8b3a6]{max-height:400px;overflow-y:auto;padding:4px}.devices-section .list-items[data-v-baf8b3a6],.list-section .list-items[data-v-baf8b3a6]{padding:0}.sortable-th[data-v-baf8b3a6]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.sortable-th[data-v-baf8b3a6]:hover{color:var(--text-primary)}.sort-arrow[data-v-baf8b3a6]{font-size:.6rem;opacity:.25;margin-left:3px;transition:opacity .15s}.sort-arrow.active[data-v-baf8b3a6]{opacity:1}.groups-table[data-v-baf8b3a6],.devices-table[data-v-baf8b3a6]{width:100%;border-collapse:collapse;font-size:.82rem}.groups-table th[data-v-baf8b3a6],.devices-table th[data-v-baf8b3a6]{padding:6px 12px;text-align:left;font-size:.72rem;font-weight:600;color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle)}.groups-table td[data-v-baf8b3a6],.devices-table td[data-v-baf8b3a6]{padding:8px 12px;color:var(--text-secondary)}.groups-table td.mono[data-v-baf8b3a6],.devices-table td.mono[data-v-baf8b3a6]{font-family:ui-monospace,Menlo,Monaco,monospace;font-size:.78rem}.group-row[data-v-baf8b3a6],.device-row[data-v-baf8b3a6]{cursor:pointer;transition:background .15s}.group-row[data-v-baf8b3a6]:hover,.device-row[data-v-baf8b3a6]:hover{background:var(--bg-hover)}.group-row.active[data-v-baf8b3a6],.device-row.active[data-v-baf8b3a6]{background:var(--bg-active)}.group-row.active td[data-v-baf8b3a6],.device-row.active td[data-v-baf8b3a6]{color:var(--accent-blue);font-weight:500}.list-placeholder[data-v-baf8b3a6]{padding:16px 12px;font-size:.82rem;color:var(--text-dimmed);text-align:center}.date-actions-bar[data-v-baf8b3a6]{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px 20px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:10px}.control-group[data-v-baf8b3a6]{display:flex;flex-direction:column;gap:6px;min-width:160px;position:relative}.control-group label[data-v-baf8b3a6]{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.control-group input[type=date][data-v-baf8b3a6]{padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.88rem;transition:border-color .2s}.control-group input[data-v-baf8b3a6]:focus{outline:none;border-color:var(--border-focus)}.control-actions[data-v-baf8b3a6]{flex-direction:row;align-items:flex-end;gap:8px}.btn[data-v-baf8b3a6]{padding:10px 20px;border:none;border-radius:8px;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn[data-v-baf8b3a6]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-baf8b3a6]{background:var(--accent-blue);color:#fff}.btn-primary[data-v-baf8b3a6]:hover:not(:disabled){background:var(--accent-blue-hover)}.btn-secondary[data-v-baf8b3a6]{background:var(--bg-hover);border:1px solid var(--border-primary);color:var(--text-secondary)}.btn-secondary[data-v-baf8b3a6]:hover:not(:disabled){background:var(--bg-active);border-color:var(--border-hover)}.mode-toggle[data-v-baf8b3a6]{display:flex;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.mode-btn[data-v-baf8b3a6]{padding:9px 16px;background:var(--bg-elevated);border:none;color:var(--text-muted);font-size:.84rem;font-weight:500;cursor:pointer;transition:all .15s}.mode-btn[data-v-baf8b3a6]:not(:last-child){border-right:1px solid var(--border-primary)}.mode-btn[data-v-baf8b3a6]:hover{background:var(--bg-hover);color:var(--text-primary)}.mode-btn.active[data-v-baf8b3a6]{background:var(--accent-blue);color:#fff}.date-range-warning[data-v-baf8b3a6]{font-size:.8rem;color:#f59e0b;padding:4px 0;width:100%}.mode-badge[data-v-baf8b3a6]{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#06b6d426;color:#06b6d4;border:1px solid rgba(6,182,212,.3)}.spinner-inline[data-v-baf8b3a6]{position:absolute;right:10px;bottom:12px;width:16px;height:16px;border:2px solid var(--border-primary);border-top-color:var(--accent-blue);border-radius:50%;animation:spin-baf8b3a6 .7s linear infinite}.loading-overlay[data-v-baf8b3a6]{display:flex;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--text-secondary);font-size:.95rem}.spinner-lg[data-v-baf8b3a6]{width:28px;height:28px;border:3px solid var(--border-primary);border-top-color:var(--accent-blue);border-radius:50%;animation:spin-baf8b3a6 .8s linear infinite}@keyframes spin-baf8b3a6{to{transform:rotate(360deg)}}.error-banner[data-v-baf8b3a6]{padding:12px 16px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--accent-red);font-size:.88rem;margin-bottom:16px}.info-bar[data-v-baf8b3a6]{display:flex;gap:24px;flex-wrap:wrap;padding:12px 16px;background:var(--bg-active);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:20px;font-size:.85rem;color:var(--text-secondary)}.info-bar strong[data-v-baf8b3a6]{color:var(--text-primary)}.chart-section[data-v-baf8b3a6]{margin-bottom:32px}.chart-section h2[data-v-baf8b3a6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.chart-legend[data-v-baf8b3a6]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.legend-toggle[data-v-baf8b3a6]{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:6px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.legend-toggle[data-v-baf8b3a6]:hover{background:var(--bg-hover)}.legend-toggle.disabled[data-v-baf8b3a6]{opacity:.45;border-color:var(--border-subtle)}.legend-dot[data-v-baf8b3a6]{width:10px;height:10px;border-radius:2px;transition:background .15s}.chart-wrap[data-v-baf8b3a6]{position:relative;background:var(--chart-bg);border:1px solid var(--border-primary);border-radius:10px;padding:16px;overflow-x:auto}.chart-tooltip[data-v-baf8b3a6]{position:absolute;pointer-events:none;transform:translate(12px,-50%);background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:8px;padding:10px 12px;min-width:180px;box-shadow:var(--shadow-lg);z-index:50}.tooltip-time[data-v-baf8b3a6]{font-size:.72rem;color:var(--text-muted);margin-bottom:6px;font-family:ui-monospace,Menlo,Monaco,monospace}.tooltip-row[data-v-baf8b3a6]{display:flex;align-items:center;gap:6px;padding:2px 0}.tooltip-dot[data-v-baf8b3a6]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.tooltip-label[data-v-baf8b3a6]{font-size:.75rem;color:var(--text-secondary);flex:1}.tooltip-value[data-v-baf8b3a6]{font-size:.78rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.chart-svg[data-v-baf8b3a6]{width:100%;height:300px}.grid-line-main[data-v-baf8b3a6]{stroke:var(--chart-grid)}.grid-line-sub[data-v-baf8b3a6]{stroke:var(--chart-grid-subtle)}.axis-label[data-v-baf8b3a6]{font-size:10px;fill:var(--chart-axis)}.table-section h2[data-v-baf8b3a6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.table-wrap[data-v-baf8b3a6]{overflow-x:auto;border:1px solid var(--border-primary);border-radius:10px}.data-table[data-v-baf8b3a6]{width:100%;border-collapse:collapse;font-size:.82rem}.data-table th[data-v-baf8b3a6],.data-table td[data-v-baf8b3a6]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--table-border)}.data-table th[data-v-baf8b3a6]{background:var(--table-header-bg);color:var(--text-muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}.data-table th.sortable[data-v-baf8b3a6]{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable[data-v-baf8b3a6]:hover{color:var(--text-primary);background:var(--bg-hover)}.data-table td[data-v-baf8b3a6]{color:var(--text-secondary)}.data-table td.num[data-v-baf8b3a6],.data-table th.num[data-v-baf8b3a6]{text-align:right;font-variant-numeric:tabular-nums}.data-table td.mono[data-v-baf8b3a6]{font-family:ui-monospace,Menlo,Monaco,monospace;font-size:.78rem}.data-table tbody tr[data-v-baf8b3a6]:hover{background:var(--table-row-hover)}.empty-state[data-v-baf8b3a6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;color:var(--text-dimmed);text-align:center}.empty-state svg[data-v-baf8b3a6]{width:56px;height:56px;margin-bottom:16px;opacity:.5}.empty-state p[data-v-baf8b3a6]{font-size:.95rem;max-width:400px}@media (max-width: 768px){.reports-page[data-v-baf8b3a6]{padding:16px}.list-panel[data-v-baf8b3a6]{grid-template-columns:1fr}.date-actions-bar[data-v-baf8b3a6]{flex-direction:column;gap:12px}.control-group[data-v-baf8b3a6]{width:100%}.control-actions[data-v-baf8b3a6]{flex-direction:row;width:100%}.control-actions .btn[data-v-baf8b3a6]{flex:1}}.pf[data-v-fe802cfc]{max-width:none;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.pf-head[data-v-fe802cfc]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pf-head h1[data-v-fe802cfc]{margin:0;font-size:1.6rem;font-weight:600;line-height:1.2;color:var(--text-primary)}.pf-sub[data-v-fe802cfc]{margin:4px 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.pf-group-chart[data-v-fe802cfc]{margin-bottom:0}.pf-table-card[data-v-fe802cfc]{transition:opacity .2s ease}.pf-card[data-v-fe802cfc]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.pf-card h2[data-v-fe802cfc]{margin:0 0 8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.pf-controls[data-v-fe802cfc]{display:flex;flex-wrap:wrap;gap:16px 24px}.pf-control[data-v-fe802cfc]{display:flex;flex-direction:column;gap:6px}.pf-label[data-v-fe802cfc]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.pf-input[data-v-fe802cfc]{background:var(--bg-input, transparent);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.85rem;padding:6px 10px;min-width:160px;color-scheme:dark light}.pf-input[data-v-fe802cfc]:focus{outline:none;border-color:var(--accent-blue)}.pf-segment[data-v-fe802cfc]{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.pf-segment button[data-v-fe802cfc]{background:transparent;border:none;border-right:1px solid var(--border-primary);color:var(--text-secondary);font-size:.8rem;padding:6px 12px;cursor:pointer;transition:background .15s ease,color .15s ease}.pf-segment button[data-v-fe802cfc]:last-child{border-right:none}.pf-segment button[data-v-fe802cfc]:hover{color:var(--text-primary)}.pf-segment button.active[data-v-fe802cfc]{background:#2563eb;color:#fff}.pf-segment.small button[data-v-fe802cfc]{padding:4px 10px;font-size:.75rem}.pf-reasons-head[data-v-fe802cfc]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.pf-reasons-head h2[data-v-fe802cfc]{margin:0}.pf-dates[data-v-fe802cfc]{display:flex;align-items:center;gap:8px}.pf-dates .pf-input[data-v-fe802cfc]{min-width:0}.pf-muted[data-v-fe802cfc]{color:var(--text-muted);font-size:.8rem;font-weight:400;text-transform:none;letter-spacing:0}.pf-icon-btn[data-v-fe802cfc]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border-primary);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease}.pf-icon-btn[data-v-fe802cfc]:hover:not(:disabled){color:var(--text-primary);border-color:#2563eb}.pf-icon-btn[data-v-fe802cfc]:disabled{opacity:.6;cursor:default}.pf-icon-btn svg[data-v-fe802cfc]{width:16px;height:16px}.spinning[data-v-fe802cfc]{animation:pf-spin-fe802cfc 1s linear infinite}.pf-state[data-v-fe802cfc]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;min-height:160px;color:var(--text-secondary);font-size:.9rem;text-align:center}.pf-error[data-v-fe802cfc]{color:#f87171}.pf-retry[data-v-fe802cfc]{background:transparent;border:1px solid currentColor;color:inherit;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.8rem}.pf-spinner[data-v-fe802cfc]{width:14px;height:14px;border:2px solid var(--border-primary);border-top-color:#2563eb;border-radius:50%;animation:pf-spin-fe802cfc .8s linear infinite}@keyframes pf-spin-fe802cfc{to{transform:rotate(360deg)}}.pf-content[data-v-fe802cfc]{display:flex;flex-direction:column;gap:16px;transition:opacity .2s ease;animation:pf-in-fe802cfc .25s ease}.pf-content.refreshing[data-v-fe802cfc],.pf-table-card.refreshing[data-v-fe802cfc]{opacity:.55}@keyframes pf-in-fe802cfc{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pf-scope[data-v-fe802cfc]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--text-primary);font-weight:600}.pf-link[data-v-fe802cfc]{background:none;border:none;color:var(--accent-blue);cursor:pointer;font-size:.85rem;padding:0}.pf-link[data-v-fe802cfc]:hover{text-decoration:underline}.pf-kpis[data-v-fe802cfc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pf-kpi[data-v-fe802cfc]{display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,transform .2s ease}.pf-kpi[data-v-fe802cfc]:hover{border-color:var(--border-hover);transform:translateY(-2px)}.pf-kpi.main[data-v-fe802cfc]{border-color:#3b82f666}.pf-kpi-value[data-v-fe802cfc]{font-size:2rem;font-weight:600;line-height:1.2;color:var(--text-primary)}.pf-kpi-value small[data-v-fe802cfc]{font-size:1rem;margin-left:2px;color:var(--text-muted)}.pf-kpi-meta[data-v-fe802cfc]{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.good[data-v-fe802cfc]{color:#10b981}.warn[data-v-fe802cfc]{color:#f59e0b}.bad[data-v-fe802cfc]{color:#ef4444}.pf-bar[data-v-fe802cfc]{height:6px;border-radius:999px;background:var(--border-subtle);overflow:hidden}.pf-bar.thin[data-v-fe802cfc]{height:4px}.pf-bar span[data-v-fe802cfc]{display:block;height:100%;border-radius:inherit;background:var(--accent-blue);transition:width .5s ease}.pf-bar span.good[data-v-fe802cfc]{background:#10b981}.pf-bar span.warn[data-v-fe802cfc]{background:#f59e0b}.pf-bar span.bad[data-v-fe802cfc]{background:#ef4444}.pf-grid[data-v-fe802cfc]{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.pf-divider[data-v-fe802cfc]{height:1px;background:var(--border-subtle);margin:8px 0 16px}.pf-empty[data-v-fe802cfc]{padding:48px 0;text-align:center}.pf-reasons p[data-v-fe802cfc]{margin:0 0 16px;line-height:1.5}.pf-reasons ul[data-v-fe802cfc]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.pf-reason-head[data-v-fe802cfc]{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:var(--text-primary);font-size:.9rem}.pf-reason-name[data-v-fe802cfc]{flex:1}.pf-dot[data-v-fe802cfc]{width:8px;height:8px;border-radius:50%}.pf-reason-meta[data-v-fe802cfc]{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:var(--text-muted);font-size:.75rem;line-height:1.5}.pf-reason-meta span[data-v-fe802cfc]:last-child{white-space:nowrap;color:var(--text-secondary)}.pf-reason-dir[data-v-fe802cfc]{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:8px;margin-top:4px;font-size:.75rem;color:var(--text-secondary)}.pf-reason-dir-val[data-v-fe802cfc]{white-space:nowrap;min-width:112px;text-align:right}.pf-reason-dir-val strong[data-v-fe802cfc]{color:var(--text-primary);margin-right:4px}.pf-reason-split[data-v-fe802cfc]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.pf-reason-split>div[data-v-fe802cfc]{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:8px;font-size:.75rem;color:var(--text-secondary)}.pf-reason-split strong[data-v-fe802cfc]{color:var(--text-primary);font-size:.95rem}.pf-reason-split small[data-v-fe802cfc]{color:var(--text-muted);font-size:.72rem}.pf-table .pf-group-start[data-v-fe802cfc]{border-left:1px solid var(--table-border)}.pf-table .pf-sticky[data-v-fe802cfc]{position:sticky;left:0;z-index:1;background:var(--bg-surface-solid)}.pf-table th.pf-sticky[data-v-fe802cfc],.pf-table tfoot td.pf-sticky[data-v-fe802cfc]{background:linear-gradient(var(--table-header-bg),var(--table-header-bg)),var(--bg-surface-solid)}.pf-table-wrap[data-v-fe802cfc]{overflow-x:auto}.pf-table[data-v-fe802cfc]{width:100%;border-collapse:collapse;font-size:.85rem}.pf-table th[data-v-fe802cfc]{text-align:left;padding:8px 12px;background:var(--table-header-bg);color:var(--text-secondary);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.pf-table th.sorted[data-v-fe802cfc]{color:var(--accent-blue)}.pf-table th.asc[data-v-fe802cfc]:after{content:" ▲";font-size:.6rem}.pf-table th.desc[data-v-fe802cfc]:after{content:" ▼";font-size:.6rem}.pf-table th[data-v-fe802cfc]:hover{color:var(--text-primary)}.pf-table th.pf-th-group[data-v-fe802cfc]{cursor:default;text-align:center;border-bottom:1px solid var(--table-border)}.pf-table th.pf-th-group[data-v-fe802cfc]:hover{color:var(--text-secondary)}.pf-table tfoot td[data-v-fe802cfc]{border-top:2px solid var(--border-primary);font-weight:600;background:var(--table-header-bg)}.pf-table tfoot tr[data-v-fe802cfc]{cursor:default}.pf-cell-sub[data-v-fe802cfc]{display:block;color:var(--text-muted);font-size:.72rem}.pf-strong[data-v-fe802cfc]{font-weight:600}.pf-reason-total[data-v-fe802cfc]{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.9rem}.pf-reason-total strong[data-v-fe802cfc]{color:var(--text-primary);font-size:1.1rem}.pf-table td[data-v-fe802cfc]{padding:8px 12px;border-top:1px solid var(--table-border);color:var(--text-primary)}.pf-table .num[data-v-fe802cfc]{text-align:right;white-space:nowrap}.pf-table tbody tr[data-v-fe802cfc]{cursor:pointer;transition:background .15s ease}.pf-table tbody tr[data-v-fe802cfc]:hover{background:var(--bg-hover)}.pf-dev-name[data-v-fe802cfc]{display:block}.pf-dev-id[data-v-fe802cfc]{display:block;color:var(--text-muted);font-size:.72rem;font-family:ui-monospace,monospace}.pf-pill[data-v-fe802cfc]{display:inline-block;min-width:64px;padding:2px 8px;border-radius:999px;background:var(--bg-hover);font-weight:600;text-align:center}.pf-pill.good[data-v-fe802cfc]{background:#10b98126}.pf-pill.warn[data-v-fe802cfc]{background:#f59e0b26}.pf-pill.bad[data-v-fe802cfc]{background:#ef444426}@media (max-width: 1024px){.pf-kpis[data-v-fe802cfc]{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-grid[data-v-fe802cfc]{grid-template-columns:1fr}}@media (max-width: 600px){.pf[data-v-fe802cfc]{padding:16px}.pf-kpis[data-v-fe802cfc]{grid-template-columns:1fr}.pf-input[data-v-fe802cfc]{min-width:0;width:100%}.pf-control[data-v-fe802cfc]{width:100%}}.cg-page[data-v-36d5d25b]{padding:24px;max-width:1400px;margin:0 auto;color:var(--text-primary)}.cg-header[data-v-36d5d25b]{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.cg-header h1[data-v-36d5d25b]{font-size:2rem;font-weight:700;margin:0 0 8px}.cg-header p[data-v-36d5d25b]{margin:0;color:var(--text-muted);max-width:720px}.cg-primary[data-v-36d5d25b]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600;cursor:pointer;white-space:nowrap}.cg-primary svg[data-v-36d5d25b]{width:18px;height:18px}.cg-primary[data-v-36d5d25b]:disabled{opacity:.6;cursor:not-allowed}.cg-btn[data-v-36d5d25b]{padding:6px 12px;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-elevated);color:var(--text-secondary);font-size:.85rem;cursor:pointer;white-space:nowrap}.cg-btn[data-v-36d5d25b]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.cg-btn[data-v-36d5d25b]:disabled{opacity:.5;cursor:not-allowed}.cg-btn.danger[data-v-36d5d25b]{color:var(--accent-red)}.cg-btn.danger[data-v-36d5d25b]:hover{border-color:var(--accent-red);color:var(--accent-red)}.cg-link[data-v-36d5d25b]{background:none;border:none;padding:0 4px;color:var(--accent-blue);cursor:pointer;font:inherit;text-decoration:underline}.cg-error[data-v-36d5d25b]{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:12px 0;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--accent-red)}.cg-toolbar[data-v-36d5d25b]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cg-toolbar .cg-input[data-v-36d5d25b]{max-width:320px}.cg-input[data-v-36d5d25b]{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.cg-input[data-v-36d5d25b]:focus{outline:none;border-color:var(--border-focus)}.cg-muted[data-v-36d5d25b]{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.cg-state[data-v-36d5d25b]{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 16px;color:var(--text-muted)}.cg-spinner[data-v-36d5d25b]{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-primary);border-top-color:var(--accent-blue);animation:cg-spin-36d5d25b .8s linear infinite}@keyframes cg-spin-36d5d25b{to{transform:rotate(360deg)}}.cg-table-wrap[data-v-36d5d25b]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:12px;overflow-x:auto}.cg-table[data-v-36d5d25b]{width:100%;border-collapse:collapse}.cg-table th[data-v-36d5d25b]{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--table-header-bg);border-bottom:1px solid var(--table-border)}.cg-table td[data-v-36d5d25b]{padding:12px 16px;border-bottom:1px solid var(--table-border);color:var(--text-secondary);font-size:.9rem;vertical-align:middle}.cg-table tbody tr[data-v-36d5d25b]:hover{background:var(--table-row-hover)}.cg-name[data-v-36d5d25b]{color:var(--text-primary);font-weight:600}.cg-id[data-v-36d5d25b],.cg-mono[data-v-36d5d25b]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--text-muted)}.cg-desc[data-v-36d5d25b]{max-width:360px}.cg-count[data-v-36d5d25b]{display:inline-block;min-width:28px;padding:2px 8px;border-radius:999px;text-align:center;background:var(--bg-active);color:var(--accent-blue);font-weight:600}.cg-actions[data-v-36d5d25b]{text-align:right;white-space:nowrap}.cg-actions .cg-btn+.cg-btn[data-v-36d5d25b]{margin-left:6px}.cg-actions-col[data-v-36d5d25b]{width:1%}.cg-backdrop[data-v-36d5d25b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.cg-modal[data-v-36d5d25b]{width:100%;max-width:920px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--bg-surface-solid);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg)}.cg-modal-head[data-v-36d5d25b]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary)}.cg-modal-head h2[data-v-36d5d25b]{margin:0;font-size:1.2rem}.cg-close[data-v-36d5d25b]{background:none;border:none;color:var(--text-muted);font-size:1.6rem;line-height:1;cursor:pointer}.cg-close[data-v-36d5d25b]:hover{color:var(--text-primary)}.cg-modal-body[data-v-36d5d25b]{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:0}.cg-modal-foot[data-v-36d5d25b]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border-primary)}.cg-field[data-v-36d5d25b]{display:flex;flex-direction:column;gap:6px}.cg-field span[data-v-36d5d25b],.cg-label[data-v-36d5d25b]{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.cg-field em[data-v-36d5d25b]{font-style:normal;color:var(--text-muted)}.cg-label strong[data-v-36d5d25b]{color:var(--accent-blue)}.cg-members-head[data-v-36d5d25b]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.cg-topic-add[data-v-36d5d25b]{display:flex;gap:8px;min-width:280px}.cg-hint[data-v-36d5d25b]{margin:-4px 0 0;font-size:.8rem;color:var(--text-muted)}.cg-filters[data-v-36d5d25b]{display:grid;grid-template-columns:1fr 220px auto;gap:8px;align-items:center}.cg-check[data-v-36d5d25b]{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.cg-extra[data-v-36d5d25b]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cg-extra .cg-label[data-v-36d5d25b]{width:100%}.cg-chip[data-v-36d5d25b]{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:var(--bg-raised);color:var(--text-primary);font-size:.8rem}.cg-chip button[data-v-36d5d25b]{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}.cg-stations[data-v-36d5d25b]{border:1px solid var(--border-primary);border-radius:8px;overflow:auto;min-height:200px;max-height:46vh}.cg-station-table th[data-v-36d5d25b]{position:sticky;top:0;z-index:1;background:var(--bg-surface-solid)}.cg-station-table td[data-v-36d5d25b]{padding:8px 12px;cursor:pointer}.cg-station-table tr.on td[data-v-36d5d25b]{background:var(--bg-active)}.cg-check-col[data-v-36d5d25b]{width:36px;text-align:center}.cg-empty[data-v-36d5d25b]{text-align:center;padding:24px}@media (max-width: 900px){.hide-sm[data-v-36d5d25b]{display:none}}@media (max-width: 600px){.hide-xs[data-v-36d5d25b]{display:none}.cg-page[data-v-36d5d25b]{padding:16px}.cg-header[data-v-36d5d25b]{flex-direction:column}.cg-filters[data-v-36d5d25b]{grid-template-columns:1fr}.cg-topic-add[data-v-36d5d25b]{min-width:0;width:100%}}.kiosk-container[data-v-d35be9d6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.kiosk-header[data-v-d35be9d6]{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--bg-surface-solid);border-bottom:1px solid rgba(59,130,246,.15)}.header-left[data-v-d35be9d6]{display:flex;flex-direction:column;gap:4px}.site-title[data-v-d35be9d6]{font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.header-date[data-v-d35be9d6]{font-size:.8rem;color:#64748b}.header-center[data-v-d35be9d6]{display:flex;align-items:center}.live-indicator[data-v-d35be9d6]{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;color:#10b981;letter-spacing:.1em;text-transform:uppercase}.live-dot[data-v-d35be9d6]{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-dot-d35be9d6 2s ease-in-out infinite}@keyframes pulse-dot-d35be9d6{0%,to{opacity:1;box-shadow:0 0 #10b981b3}50%{opacity:.7;box-shadow:0 0 0 6px #10b98100}}.header-right[data-v-d35be9d6]{display:flex;align-items:center;gap:16px}.header-time[data-v-d35be9d6]{font-size:1.5rem;font-weight:300;color:var(--text-primary);font-variant-numeric:tabular-nums}.exit-btn[data-v-d35be9d6]{width:40px;height:40px;border-radius:8px;border:1px solid rgba(100,116,139,.3);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.exit-btn[data-v-d35be9d6]:hover{background:#ef444426;border-color:#ef444466;color:#ef4444}.exit-btn svg[data-v-d35be9d6]{width:20px;height:20px}.kiosk-body[data-v-d35be9d6]{flex:1;display:flex;flex-direction:column;padding:24px 32px;gap:24px;overflow:hidden}.energy-section[data-v-d35be9d6]{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:24px;align-items:center}.energy-card[data-v-d35be9d6]{background:var(--bg-surface-solid);border:1px solid rgba(59,130,246,.12);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .3s}.energy-card[data-v-d35be9d6]:hover{border-color:#3b82f64d}.card-icon[data-v-d35be9d6]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.card-icon svg[data-v-d35be9d6]{width:28px;height:28px}.pv-card .card-icon[data-v-d35be9d6]{background:#f59e0b1f;color:#f59e0b}.pv-card .card-icon svg[data-v-d35be9d6]{stroke:#f59e0b}.ess-card .card-icon[data-v-d35be9d6]{background:#3b82f61f;color:#3b82f6}.ess-card .card-icon svg[data-v-d35be9d6]{stroke:#3b82f6}.grid-card .card-icon[data-v-d35be9d6]{background:#a855f71f;color:#a855f7}.grid-card .card-icon svg[data-v-d35be9d6]{stroke:#a855f7}.alarms-card .card-icon[data-v-d35be9d6]{background:#64748b1f;color:#64748b}.alarms-card .card-icon svg[data-v-d35be9d6]{stroke:#64748b}.alarms-card .card-icon.alarm-active[data-v-d35be9d6]{background:#ef444426;color:#ef4444;animation:alarm-pulse-d35be9d6 2s ease-in-out infinite}.alarms-card .card-icon.alarm-active svg[data-v-d35be9d6]{stroke:#ef4444}@keyframes alarm-pulse-d35be9d6{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.card-label[data-v-d35be9d6]{font-size:.8rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.card-value[data-v-d35be9d6]{font-size:2.2rem;font-weight:700;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.card-value.alarm-value[data-v-d35be9d6]{color:#ef4444}.card-unit[data-v-d35be9d6]{font-size:1rem;font-weight:400;color:#64748b;margin-left:4px}.card-sub[data-v-d35be9d6]{font-size:.75rem;color:#475569}.ess-direction[data-v-d35be9d6],.grid-direction[data-v-d35be9d6]{font-size:.75rem;font-weight:500;padding:2px 10px;border-radius:12px}.ess-direction.charging[data-v-d35be9d6]{color:#8b5cf6;background:#8b5cf61f}.ess-direction.discharging[data-v-d35be9d6]{color:#3b82f6;background:#3b82f61f}.grid-direction.importing[data-v-d35be9d6]{color:#ef4444;background:#ef44441f}.grid-direction.exporting[data-v-d35be9d6]{color:#10b981;background:#10b9811f}.soc-bar-container[data-v-d35be9d6]{width:100%;height:8px;background:var(--bg-raised);border-radius:4px;overflow:hidden;margin-top:4px}.soc-bar[data-v-d35be9d6]{height:100%;border-radius:4px;transition:width 1s ease,background 1s ease}.soc-label[data-v-d35be9d6]{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.energy-flow-visual[data-v-d35be9d6]{display:flex;align-items:center;justify-content:center;min-height:200px}.flow-center[data-v-d35be9d6]{width:100%;max-width:240px}.flow-svg[data-v-d35be9d6]{width:100%;height:auto}.bottom-row[data-v-d35be9d6]{flex:1;display:grid;grid-template-columns:200px 1fr 200px;gap:24px;min-height:0}.chart-section[data-v-d35be9d6]{background:var(--bg-surface-solid);border:1px solid rgba(59,130,246,.12);border-radius:16px;padding:16px;overflow:hidden;min-height:0}.alarm-list[data-v-d35be9d6]{width:100%;display:flex;flex-direction:column;gap:4px;margin-top:4px}.alarm-item[data-v-d35be9d6]{font-size:.7rem;color:#fca5a5;background:#ef444414;padding:4px 8px;border-radius:4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1024px){.energy-section[data-v-d35be9d6]{grid-template-columns:1fr 1fr}.energy-flow-visual[data-v-d35be9d6]{grid-column:1 / -1;order:-1}.bottom-row[data-v-d35be9d6]{grid-template-columns:1fr 1fr}.chart-section[data-v-d35be9d6]{grid-column:1 / -1;order:-1}.kiosk-body[data-v-d35be9d6]{padding:16px}.kiosk-header[data-v-d35be9d6]{padding:12px 16px}}@media (max-width: 640px){.energy-section[data-v-d35be9d6],.bottom-row[data-v-d35be9d6]{grid-template-columns:1fr}.card-value[data-v-d35be9d6]{font-size:1.8rem}.header-time[data-v-d35be9d6]{font-size:1.1rem}}.health-report[data-v-e9f390b9]{max-width:1400px;margin:0 auto;padding:32px 24px}.page-header[data-v-e9f390b9]{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid rgba(148,163,184,.2);flex-wrap:wrap}.back-btn[data-v-e9f390b9]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.3);background:#94a3b814;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all .2s}.back-btn[data-v-e9f390b9]:hover{background:#94a3b826;color:var(--text-primary)}.back-btn svg[data-v-e9f390b9]{width:20px;height:20px}.header-title[data-v-e9f390b9]{display:flex;flex-direction:column}.header-title h1[data-v-e9f390b9]{font-size:1.3rem;font-weight:600;color:var(--text-primary)}.page-label[data-v-e9f390b9]{font-size:.8rem;color:#10b981;font-weight:500}.spacer[data-v-e9f390b9]{flex:1}.date-picker-wrap[data-v-e9f390b9]{display:flex;align-items:center;gap:10px}.date-picker-wrap label[data-v-e9f390b9]{font-size:.8rem;color:#64748b;font-weight:500}.date-input[data-v-e9f390b9]{padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.3);background:var(--bg-surface);color:var(--text-primary);font-size:.85rem;cursor:pointer}.date-input[data-v-e9f390b9]::-webkit-calendar-picker-indicator{filter:invert(.7)}.loading-state[data-v-e9f390b9],.error-state[data-v-e9f390b9]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;color:var(--text-muted)}.error-state svg[data-v-e9f390b9]{width:40px;height:40px;color:#ef4444}.error-state p[data-v-e9f390b9]{color:#f87171}.spinner[data-v-e9f390b9]{width:36px;height:36px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-e9f390b9 .8s linear infinite}@keyframes spin-e9f390b9{to{transform:rotate(360deg)}}.retry-btn[data-v-e9f390b9]{padding:8px 20px;border-radius:8px;border:1px solid rgba(59,130,246,.3);background:#3b82f61a;color:#60a5fa;font-size:.85rem;cursor:pointer;transition:all .2s}.retry-btn[data-v-e9f390b9]:hover{background:#3b82f633}.summary-grid[data-v-e9f390b9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.summary-card[data-v-e9f390b9]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;text-align:center}.card-label[data-v-e9f390b9]{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.card-value[data-v-e9f390b9]{font-size:1.6rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.card-value .unit[data-v-e9f390b9]{font-size:.8rem;font-weight:400;color:#64748b;margin-left:4px}.card-value.positive[data-v-e9f390b9]{color:#10b981}.card-value.negative[data-v-e9f390b9]{color:#ef4444}.card-value.good[data-v-e9f390b9]{color:#10b981}.card-value.warn[data-v-e9f390b9]{color:#f59e0b}.summary-card.energy-moved[data-v-e9f390b9]{border-left:3px solid #3b82f6}.summary-card.charged[data-v-e9f390b9]{border-left:3px solid #10b981}.summary-card.discharged[data-v-e9f390b9]{border-left:3px solid #f59e0b}.summary-card.net[data-v-e9f390b9]{border-left:3px solid #8b5cf6}.summary-card.active-time[data-v-e9f390b9]{border-left:3px solid #06b6d4}.summary-card.data-quality[data-v-e9f390b9]{border-left:3px solid #64748b}.report-section[data-v-e9f390b9]{margin-bottom:32px}.report-section h2[data-v-e9f390b9]{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.15)}.limits-grid[data-v-e9f390b9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.limit-item[data-v-e9f390b9]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-surface);border-radius:8px;border:1px solid rgba(148,163,184,.08)}.limit-label[data-v-e9f390b9]{font-size:.8rem;color:var(--text-muted)}.limit-value[data-v-e9f390b9]{font-size:.85rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.analysis-grid[data-v-e9f390b9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.analysis-card[data-v-e9f390b9]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px}.analysis-header[data-v-e9f390b9]{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.1)}.analysis-header.charging[data-v-e9f390b9]{color:#10b981;border-color:#10b9814d}.analysis-header.discharging[data-v-e9f390b9]{color:#f59e0b;border-color:#f59e0b4d}.stat-rows[data-v-e9f390b9]{display:flex;flex-direction:column;gap:6px}.stat-row[data-v-e9f390b9]{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.8rem}.stat-row>span[data-v-e9f390b9]:first-child{color:var(--text-muted)}.stat-row>span[data-v-e9f390b9]:last-child{color:var(--text-primary);font-weight:500;font-variant-numeric:tabular-nums}.stat-rows.compact .stat-row[data-v-e9f390b9]{font-size:.78rem;padding:2px 0}.timeline-section[data-v-e9f390b9]{margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.08)}.timeline-label[data-v-e9f390b9]{font-size:.75rem;font-weight:500;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.timeline-track[data-v-e9f390b9]{display:flex;height:20px;border-radius:6px;overflow:hidden;background:var(--bg-surface);gap:1px}.timeline-track.large[data-v-e9f390b9]{height:28px;border-radius:8px}.timeline-segment[data-v-e9f390b9]{min-width:2px;transition:width .4s ease,opacity .2s;cursor:default;position:relative}.timeline-segment[data-v-e9f390b9]:hover{opacity:.8;outline:2px solid var(--border-hover);outline-offset:-2px;z-index:1}.timeline-legend[data-v-e9f390b9]{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}.timeline-legend.horizontal[data-v-e9f390b9]{gap:8px 20px;margin-top:14px}.legend-item[data-v-e9f390b9]{display:flex;align-items:center;gap:6px;font-size:.73rem}.legend-dot[data-v-e9f390b9]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.legend-text[data-v-e9f390b9]{color:var(--text-muted)}.legend-value[data-v-e9f390b9]{color:var(--text-secondary);font-weight:500;font-variant-numeric:tabular-nums}.overall-timeline-wrap[data-v-e9f390b9]{max-width:900px}.devices-table-wrap[data-v-e9f390b9]{overflow-x:auto}.data-table[data-v-e9f390b9]{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th[data-v-e9f390b9]{text-align:left;padding:10px 12px;color:#64748b;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(148,163,184,.15);white-space:nowrap}.data-table td[data-v-e9f390b9]{padding:10px 12px;color:var(--text-primary);border-bottom:1px solid rgba(148,163,184,.06);font-variant-numeric:tabular-nums}.data-table .mono[data-v-e9f390b9]{font-family:JetBrains Mono,monospace;font-size:.78rem}.soc-badge[data-v-e9f390b9]{display:inline-block;padding:2px 8px;border-radius:6px;font-weight:600;font-size:.78rem}.soc-badge.high[data-v-e9f390b9]{color:#10b981;background:#10b9811f}.soc-badge.mid[data-v-e9f390b9]{color:#f59e0b;background:#f59e0b1f}.soc-badge.low[data-v-e9f390b9]{color:#ef4444;background:#ef44441f}.device-cards[data-v-e9f390b9]{display:flex;flex-direction:column;gap:16px}.device-analysis-card[data-v-e9f390b9]{background:var(--bg-surface);border:1px solid rgba(148,163,184,.1);border-radius:12px;overflow:hidden}.device-card-header[data-v-e9f390b9]{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-elevated);border-bottom:1px solid rgba(148,163,184,.08)}.device-serial[data-v-e9f390b9]{font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.9rem}.device-type[data-v-e9f390b9]{font-size:.75rem;color:#64748b;padding:2px 10px;background:#64748b26;border-radius:6px}.device-soc[data-v-e9f390b9]{margin-left:auto;font-size:.85rem;color:var(--text-muted)}.device-soc .high[data-v-e9f390b9]{color:#10b981}.device-soc .mid[data-v-e9f390b9]{color:#f59e0b}.device-soc .low[data-v-e9f390b9]{color:#ef4444}.device-sections[data-v-e9f390b9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:#94a3b80f}.device-section[data-v-e9f390b9]{padding:16px 20px;background:var(--bg-surface)}.section-label[data-v-e9f390b9]{font-size:.8rem;font-weight:600;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(148,163,184,.08)}.section-label.charging[data-v-e9f390b9]{color:#10b981}.section-label.discharging[data-v-e9f390b9]{color:#f59e0b}.section-label.other[data-v-e9f390b9]{color:#8b5cf6}.stats-grid[data-v-e9f390b9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.stat-item[data-v-e9f390b9]{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:var(--bg-elevated);border-radius:6px;font-size:.8rem}.stat-item>span[data-v-e9f390b9]:first-child{color:var(--text-muted)}.stat-item>span[data-v-e9f390b9]:last-child{color:var(--text-primary);font-weight:500;font-variant-numeric:tabular-nums}@media (max-width: 768px){.health-report[data-v-e9f390b9]{padding:16px 12px}.analysis-grid[data-v-e9f390b9],.device-sections[data-v-e9f390b9]{grid-template-columns:1fr}.summary-grid[data-v-e9f390b9]{grid-template-columns:repeat(2,1fr)}}.how-it-works[data-v-0751fa1b]{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.page-header[data-v-0751fa1b]{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}.header-content[data-v-0751fa1b]{display:flex;gap:20px;align-items:flex-start;flex:1;min-width:300px}.header-icon[data-v-0751fa1b]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:14px;flex-shrink:0}.header-icon svg[data-v-0751fa1b]{width:28px;height:28px;color:var(--text-primary)}.page-header h1[data-v-0751fa1b]{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.2}.subtitle[data-v-0751fa1b]{font-size:.95rem;color:var(--text-muted);line-height:1.6;max-width:640px}.header-actions[data-v-0751fa1b]{display:flex;gap:8px;flex-shrink:0;padding-top:8px}.action-btn[data-v-0751fa1b]{padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent}.action-btn[data-v-0751fa1b]:not(.outline){background:#3b82f6;color:#fff}.action-btn[data-v-0751fa1b]:not(.outline):hover{background:#2563eb}.action-btn.outline[data-v-0751fa1b]{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-primary)}.action-btn.outline[data-v-0751fa1b]:hover{background:var(--bg-hover);border-color:var(--border-hover)}.sections-container[data-v-0751fa1b]{display:flex;flex-direction:column;gap:8px}.doc-section[data-v-0751fa1b]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.doc-section.expanded[data-v-0751fa1b]{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.section-header[data-v-0751fa1b]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 24px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .2s}.section-header[data-v-0751fa1b]:hover{background:var(--bg-hover)}.section-title[data-v-0751fa1b]{display:flex;align-items:center;gap:14px}.section-number[data-v-0751fa1b]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#3b82f61f;color:#3b82f6;border-radius:8px;font-size:.8rem;font-weight:700;flex-shrink:0}.section-header h2[data-v-0751fa1b]{font-size:1.05rem;font-weight:600;margin:0;color:var(--text-primary)}.chevron[data-v-0751fa1b]{width:20px;height:20px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.doc-section.expanded .chevron[data-v-0751fa1b]{transform:rotate(180deg)}.section-body[data-v-0751fa1b]{padding:0 24px 24px;font-size:.92rem;line-height:1.7;color:var(--text-secondary)}.section-body p[data-v-0751fa1b]{margin:0 0 16px}.section-body h3[data-v-0751fa1b]{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:24px 0 12px}.section-body h3[data-v-0751fa1b]:first-child{margin-top:8px}.section-body ul[data-v-0751fa1b]{margin:0 0 16px;padding-left:20px}.section-body li[data-v-0751fa1b]{margin-bottom:8px}.section-body code[data-v-0751fa1b]{background:var(--bg-elevated);padding:2px 6px;border-radius:4px;font-size:.85em;color:#60a5fa}.code-block[data-v-0751fa1b]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:16px 20px;margin:12px 0 20px;overflow-x:auto}.code-block pre[data-v-0751fa1b]{margin:0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.82rem;line-height:1.65;color:var(--text-primary);white-space:pre;-moz-tab-size:2;tab-size:2}.data-table[data-v-0751fa1b]{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:.85rem}.data-table th[data-v-0751fa1b]{text-align:left;padding:10px 14px;background:var(--bg-elevated);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;border-bottom:1px solid var(--border-primary)}.data-table td[data-v-0751fa1b]{padding:10px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.data-table td code[data-v-0751fa1b]{background:var(--bg-elevated);padding:1px 5px;border-radius:3px;font-size:.85em;color:#60a5fa}.data-table tr:last-child td[data-v-0751fa1b]{border-bottom:none}@media (max-width: 768px){.how-it-works[data-v-0751fa1b]{padding:20px 16px 48px}.page-header[data-v-0751fa1b]{flex-direction:column}.header-actions[data-v-0751fa1b]{width:100%}.action-btn[data-v-0751fa1b]{flex:1;text-align:center}.section-header[data-v-0751fa1b]{padding:14px 16px}.section-body[data-v-0751fa1b]{padding:0 16px 20px}.code-block[data-v-0751fa1b]{padding:12px 14px}.code-block pre[data-v-0751fa1b]{font-size:.75rem}.data-table[data-v-0751fa1b]{display:block;overflow-x:auto}}.debug-panel[data-v-d84da62a]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface-solid);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-primary);z-index:1000;display:flex;flex-direction:column;max-height:400px;transition:max-height .3s ease}.debug-panel.collapsed[data-v-d84da62a]{max-height:48px}.debug-header[data-v-d84da62a]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.header-left[data-v-d84da62a]{display:flex;align-items:center;gap:12px}.debug-header .icon[data-v-d84da62a]{width:20px;height:20px;color:#3b82f6;flex-shrink:0}.debug-header h3[data-v-d84da62a]{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.connection-status[data-v-d84da62a]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:.75rem;font-weight:500;color:#fca5a5;transition:all .3s ease}.connection-status.connected[data-v-d84da62a]{background:#34d3991a;border-color:#34d3994d;color:#34d399}.status-dot[data-v-d84da62a]{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse-d84da62a 2s ease-in-out infinite}@keyframes pulse-d84da62a{0%,to{opacity:1}50%{opacity:.5}}.message-count[data-v-d84da62a]{font-size:.75rem;color:var(--text-muted);padding:4px 8px;background:var(--bg-hover);border-radius:4px}.header-actions[data-v-d84da62a]{display:flex;align-items:center;gap:8px}.action-btn[data-v-d84da62a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.action-btn[data-v-d84da62a]:hover{background:var(--bg-raised);border-color:var(--border-hover);color:var(--text-primary)}.action-btn svg[data-v-d84da62a]{width:16px;height:16px}.connect-btn[data-v-d84da62a],.disconnect-btn[data-v-d84da62a]{width:auto;padding:0 12px;gap:6px;font-size:.8rem;font-weight:500}.connect-btn[data-v-d84da62a]{background:#34d3991a;border-color:#34d3994d;color:#34d399}.connect-btn[data-v-d84da62a]:hover{background:#34d39933;border-color:#34d39980}.disconnect-btn[data-v-d84da62a]{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.disconnect-btn[data-v-d84da62a]:hover{background:#ef444433;border-color:#ef444480}.toggle-btn svg[data-v-d84da62a]{transition:transform .3s ease}.debug-content[data-v-d84da62a]{flex:1;overflow-y:auto;min-height:0}.empty-state[data-v-d84da62a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--text-muted)}.empty-state svg[data-v-d84da62a]{width:48px;height:48px;color:var(--text-dimmed)}.empty-state p[data-v-d84da62a]{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary)}.empty-state span[data-v-d84da62a]{font-size:.875rem}.messages-container[data-v-d84da62a]{padding:8px;display:flex;flex-direction:column;gap:8px}.message[data-v-d84da62a]{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:6px;padding:10px 12px;transition:all .2s ease}.message[data-v-d84da62a]:hover{background:var(--bg-hover);border-color:var(--border-hover)}.message-info[data-v-d84da62a]{border-left:3px solid #3b82f6}.message-success[data-v-d84da62a]{border-left:3px solid #10b981}.message-error[data-v-d84da62a]{border-left:3px solid #ef4444;background:#ef44440d}.message-data[data-v-d84da62a]{border-left:3px solid #8b5cf6}.message-header[data-v-d84da62a]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.message-time[data-v-d84da62a]{font-family:Monaco,Menlo,Courier New,monospace;font-size:.75rem;color:var(--text-muted);flex-shrink:0}.message-event[data-v-d84da62a]{font-family:Monaco,Menlo,Courier New,monospace;font-size:.8rem;font-weight:600;color:#3b82f6;flex-shrink:0}.message-type-badge[data-v-d84da62a]{padding:2px 8px;background:var(--bg-raised);border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.message-data[data-v-d84da62a]{font-family:Monaco,Menlo,Courier New,monospace;font-size:.8rem;color:var(--text-primary);margin:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.5;background:var(--bg-input);padding:8px;border-radius:4px}@media (max-width: 768px){.debug-panel[data-v-d84da62a]{max-height:300px}.debug-header h3[data-v-d84da62a]{font-size:.8rem}.connection-status[data-v-d84da62a],.message-count[data-v-d84da62a]{font-size:.7rem}}.main-app[data-v-c55fd67c]{min-height:calc(100vh - 81px);padding-bottom:48px}.overview-view[data-v-c55fd67c]{min-height:calc(100vh - 81px)}.site-list-view[data-v-c55fd67c]{padding:24px;min-height:calc(100vh - 81px)}.users-view[data-v-c55fd67c],.config-view[data-v-c55fd67c],.controller-view[data-v-c55fd67c],.controller-config-view[data-v-c55fd67c],.network-map-view[data-v-c55fd67c],.pools-view[data-v-c55fd67c],.controllers-view[data-v-c55fd67c],.kratt-view[data-v-c55fd67c],.reports-view[data-v-c55fd67c],.performance-view[data-v-c55fd67c],.how-it-works-view[data-v-c55fd67c]{min-height:calc(100vh - 81px)}.dashboard-view[data-v-c55fd67c],.details-view[data-v-c55fd67c]{min-height:100vh}.back-button-container[data-v-c55fd67c]{padding:24px 24px 0}.back-button[data-v-c55fd67c]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.back-button[data-v-c55fd67c]:hover{background:#3b82f633;border-color:#3b82f680;transform:translate(-4px)}.back-button svg[data-v-c55fd67c]{width:20px;height:20px}@media (max-width: 768px){.site-list-view[data-v-c55fd67c],.back-button-container[data-v-c55fd67c]{padding:16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-primary)}.loading-spinner svg{width:48px;height:48px;animation:spin 1s linear infinite}.loading-spinner span{font-size:1rem;font-weight:500;color:var(--text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.authenticated-app{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);transition:background .3s}
