.login-gate[data-v-abd23be9]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:100vh}.login-logo[data-v-abd23be9]{width:64px;height:64px;border-radius:14px;display:block}.login-card[data-v-abd23be9]{display:flex;flex-direction:column;gap:12px;width:280px}.login-card h1[data-v-abd23be9]{font-size:1.2em;margin:0}.login-card p[data-v-abd23be9]{margin:0;color:var(--text-secondary)}.login-card input[data-v-abd23be9]{padding:8px 10px;border:1px solid var(--border-hairline);border-radius:6px;background:var(--surface);color:var(--text-primary)}.login-card button[data-v-abd23be9]{padding:8px 10px;border:none;border-radius:6px;background:var(--series-blue);color:#fff;cursor:pointer}.login-card button[data-v-abd23be9]:disabled{opacity:.5;cursor:default}.error[data-v-abd23be9]{color:#d03b3b;font-size:.9em}.modal-overlay[data-v-6a6f1e7c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card[data-v-6a6f1e7c]{background:var(--surface);border-radius:8px;padding:24px;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}h2[data-v-4b09b2f1]{margin:0;font-size:1.1em}p[data-v-4b09b2f1]{margin:0;color:var(--text-secondary);font-size:.9em}form[data-v-4b09b2f1]{display:flex;flex-direction:column;gap:8px}input[data-v-4b09b2f1]{padding:8px 10px;border:1px solid var(--border-hairline);border-radius:6px;background:var(--page);color:var(--text-primary)}button[data-v-4b09b2f1]{padding:8px 10px;border:none;border-radius:6px;background:var(--series-blue);color:#fff;cursor:pointer}button[data-v-4b09b2f1]:disabled{opacity:.5;cursor:default}.dismiss[data-v-4b09b2f1]{background:transparent!important;color:var(--text-secondary)!important}.result.error[data-v-4b09b2f1]{color:#d03b3b}.result.error ul[data-v-4b09b2f1]{margin:8px 0 0;padding-left:18px;font-size:.85em}.result.success[data-v-4b09b2f1]{color:#0ca30c}.code-block[data-v-abb8ab31]{position:relative;background:var(--page);border:1px solid var(--border-hairline);border-radius:6px;padding:10px 12px}.code-block pre[data-v-abb8ab31]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.82em;padding-right:56px;color:var(--text-primary)}.code-block button[data-v-abb8ab31]{position:absolute;top:8px;right:8px;border:1px solid var(--border-hairline);background:var(--surface);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:.78em;cursor:pointer}.instructions h3[data-v-7fbaa5b1]{margin:0 0 4px;color:var(--text-secondary);font-size:.85em;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.instructions p[data-v-7fbaa5b1]{margin:0 0 8px;color:var(--text-secondary);font-size:.9em}.instructions .muted[data-v-7fbaa5b1]{font-size:.8em;color:var(--text-muted);margin-top:-2px}.instructions code[data-v-7fbaa5b1]{background:var(--page);padding:1px 4px;border-radius:4px}.instructions[data-v-7fbaa5b1]>*:not(:last-child){margin-bottom:12px}h2[data-v-43c1ca4e]{margin:0;font-size:1.1em}.dismiss[data-v-43c1ca4e]{align-self:flex-start;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px 0;font-size:.9em}:root{color-scheme:light;--surface: #fcfcfb;--page: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--border-hairline: rgba(11, 11, 11, .1);--series-blue: #2a78d6}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--surface: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--border-hairline: rgba(255, 255, 255, .1);--series-blue: #3987e5}}:root[data-theme=dark]{color-scheme:dark;--surface: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--border-hairline: rgba(255, 255, 255, .1);--series-blue: #3987e5}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;background:var(--page);color:var(--text-primary)}.app-header{padding:12px 20px;border-bottom:1px solid var(--border-hairline);background:var(--surface);display:flex;align-items:center;justify-content:space-between}.brand{font-weight:600;text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:8px}.brand-logo{width:24px;height:24px;border-radius:6px;display:block}.header-nav{display:flex;align-items:center;gap:14px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;border:none;padding:0;cursor:pointer;text-decoration:none}.icon-btn svg{width:18px;height:18px}.tls-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#fab21922;border-bottom:1px solid var(--border-hairline);font-size:.9em}.tls-banner button{border:none;border-radius:6px;padding:6px 10px;cursor:pointer;background:var(--series-blue);color:#fff}.tls-banner .dismiss{background:transparent;color:var(--text-secondary)}main{padding:20px;max-width:1200px;margin:0 auto}a{color:var(--series-blue)}.tile[data-v-c02af890]{display:block;border:1px solid var(--border-hairline);border-radius:8px;padding:16px;text-decoration:none;color:var(--text-primary)}.tile.disabled[data-v-c02af890]{opacity:.5}.tile h3[data-v-c02af890]{margin:0 0 4px}.topology-badge[data-v-c02af890]{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:.65em;font-weight:600;vertical-align:middle}.last-seen[data-v-c02af890]{margin:0 0 12px;color:var(--text-muted);font-size:.85em}dl[data-v-c02af890]{display:grid;gap:6px;margin:0}.row[data-v-c02af890]{display:flex;justify-content:space-between;align-items:baseline}dt[data-v-c02af890]{color:var(--text-secondary);font-size:.85em}dd[data-v-c02af890]{margin:0;font-weight:600}.status[data-v-c02af890]{display:inline-flex;align-items:center;gap:6px;text-transform:capitalize}.dot[data-v-c02af890]{width:8px;height:8px;border-radius:50%;display:inline-block}.no-data[data-v-c02af890]{color:var(--text-muted);font-size:.9em;margin:0}.tile-grid[data-v-41c8a5be]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.empty-state[data-v-41c8a5be]{max-width:520px}.empty-state>p[data-v-41c8a5be]{margin:0 0 14px}.range-picker[data-v-64863f11]{display:flex;gap:4px}.preset[data-v-64863f11]{border:1px solid var(--border-hairline);background:transparent;color:var(--text-secondary);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:.9em}.preset.active[data-v-64863f11]{background:var(--series-blue);color:#fff;border-color:transparent}.collapsible-section[data-v-614f7fe7]{border:1px solid var(--border-hairline);border-radius:8px;padding:16px}.section-header[data-v-614f7fe7]{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-toggle[data-v-614f7fe7]{display:flex;align-items:center;gap:6px;border:none;background:transparent;padding:0;margin:0;font:inherit;font-weight:600;color:var(--text-primary);cursor:pointer}.chevron[data-v-614f7fe7]{width:16px;height:16px;color:var(--text-secondary);transition:transform .15s ease;flex-shrink:0}.chevron.open[data-v-614f7fe7]{transform:rotate(90deg)}.meta[data-v-614f7fe7]{margin:0;color:var(--text-muted);font-size:.85em}.section-content[data-v-614f7fe7]{margin-top:12px}.info-wrap[data-v-d2045cd5]{position:relative;display:inline-block;vertical-align:-2px}.info-btn[data-v-d2045cd5]{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:none;padding:0;margin-left:4px;cursor:default}.info-btn svg[data-v-d2045cd5]{width:13px;height:13px}.info-tooltip[data-v-d2045cd5]{position:absolute;top:100%;left:0;z-index:10;margin-top:6px;padding:8px 10px;width:220px;max-width:220px;white-space:normal;font-style:normal;font-weight:400;font-size:.9em;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-hairline);border-radius:6px;box-shadow:0 4px 12px #0003;visibility:hidden;opacity:0;transition:opacity .1s ease}.info-wrap:hover .info-tooltip[data-v-d2045cd5],.info-wrap:focus-within .info-tooltip[data-v-d2045cd5]{visibility:visible;opacity:1}.metric-chart[data-v-a91af776]{border:1px solid var(--border-hairline);border-radius:8px;padding:16px}.metric-chart h3[data-v-a91af776]{margin:0 0 12px;font-size:.95em;color:var(--text-secondary)}.chart-canvas[data-v-a91af776]{height:220px}.device-stats[data-v-2f60b756]{margin-top:16px}.no-data[data-v-2f60b756]{color:var(--text-muted);font-size:.9em}.sections[data-v-2f60b756]{display:flex;flex-direction:column;gap:16px;margin-top:12px}.tile[data-v-2f60b756]{border:1px solid var(--border-hairline);border-radius:8px;padding:16px}.tile-row[data-v-2f60b756]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tile-row+.tile-row[data-v-2f60b756]{margin-top:16px}.tile h4[data-v-2f60b756]{margin:0 0 10px;font-size:.95em;color:var(--text-secondary)}.chart-holder[data-v-2f60b756]{margin-top:4px}.chart-holder[data-v-2f60b756] .metric-chart{border:none;padding:0}.chart-holder[data-v-2f60b756] .metric-chart h3{display:none}table[data-v-2f60b756]{width:100%;border-collapse:collapse;font-size:.85em}th[data-v-2f60b756],td[data-v-2f60b756]{text-align:left;padding:4px 8px;border-bottom:1px solid var(--border-hairline);font-variant-numeric:tabular-nums}th[data-v-2f60b756]{color:var(--text-secondary);font-weight:400;white-space:nowrap}tbody tr:last-child td[data-v-2f60b756]{border-bottom:none}.muted[data-v-2f60b756]{color:var(--text-muted);font-size:.9em}.peer-warning[data-v-2f60b756]{display:inline-flex;vertical-align:middle;margin-left:4px}.peer-warning svg[data-v-2f60b756]{width:14px;height:14px}.unset[data-v-2f60b756]{font-style:italic;color:var(--text-muted)}h2[data-v-a412e04a]{margin:0;font-size:1.1em}.warning[data-v-a412e04a]{color:#d03b3b;font-size:.9em;margin:0}p[data-v-a412e04a]{margin:0;color:var(--text-secondary);font-size:.9em}input[data-v-a412e04a]{padding:8px 10px;border:1px solid var(--border-hairline);border-radius:6px;background:var(--page);color:var(--text-primary)}.actions[data-v-a412e04a]{display:flex;gap:8px;justify-content:flex-end}.actions button[data-v-a412e04a]{padding:8px 12px;border:none;border-radius:6px;cursor:pointer}.actions button[data-v-a412e04a]:disabled{opacity:.5;cursor:default}.dismiss[data-v-a412e04a]{background:transparent;color:var(--text-secondary)}.danger[data-v-a412e04a]{background:#d03b3b;color:#fff}.error[data-v-a412e04a]{color:#d03b3b}.header-row[data-v-1900423a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.as-of[data-v-1900423a]{margin-left:8px;font-size:.6em;font-weight:400;color:var(--text-muted)}.topology-warning[data-v-1900423a]{margin:12px 0;padding:10px 14px;border:1px solid;border-radius:8px;font-size:.9em}.delete-button[data-v-1900423a]{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d03b3b;background:transparent;color:#d03b3b;border-radius:6px;padding:6px;cursor:pointer}.delete-button svg[data-v-1900423a]{width:16px;height:16px}h2[data-v-4280273c]{margin:0;font-size:1.1em}.warning[data-v-4280273c]{color:#d03b3b;font-size:.9em;margin:0}.actions[data-v-4280273c]{display:flex;gap:8px;justify-content:flex-end}.actions button[data-v-4280273c]{padding:8px 12px;border:none;border-radius:6px;cursor:pointer}.dismiss[data-v-4280273c]{background:transparent;color:var(--text-secondary)}.danger[data-v-4280273c]{background:#d03b3b;color:#fff}.settings-section[data-v-2073dfed]{margin-top:20px;padding:16px;border:1px solid var(--border-hairline);border-radius:8px;max-width:480px}.settings-section h3[data-v-2073dfed]{margin:0 0 10px;font-size:1em}.settings-section p[data-v-2073dfed]{margin:0 0 10px;color:var(--text-secondary);font-size:.9em}.settings-section button[data-v-2073dfed]{border:none;border-radius:6px;padding:8px 12px;cursor:pointer;background:var(--series-blue);color:#fff}.settings-section button[data-v-2073dfed]:disabled{opacity:.5;cursor:default}.checkbox-row[data-v-2073dfed],.days-row[data-v-2073dfed]{display:flex;align-items:center;gap:8px;font-size:.9em;margin-bottom:10px}.theme-options[data-v-2073dfed]{display:flex;gap:16px}.theme-option[data-v-2073dfed]{display:flex;align-items:center;gap:6px;font-size:.9em;cursor:pointer}.days-row input[type=number][data-v-2073dfed]{width:70px;padding:4px 6px;border:1px solid var(--border-hairline);border-radius:6px;background:var(--page);color:var(--text-primary)}.days-row input[type=password][data-v-2073dfed]{flex:1;max-width:220px;padding:4px 6px;border:1px solid var(--border-hairline);border-radius:6px;background:var(--page);color:var(--text-primary)}.error[data-v-2073dfed]{color:#d03b3b}.muted[data-v-2073dfed]{color:var(--text-muted)}
