.topbar{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--panel)}.brand{font-weight:600;letter-spacing:.02em}.brand .dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:99px;background:var(--ok);vertical-align:middle}.spacer{flex:1}.topbar nav a{padding:6px 10px;border-radius:6px;color:var(--muted)}.topbar nav a.router-link-exact-active{background:var(--panel-2);color:var(--text)}.user{display:flex;align-items:center;gap:10px}.main{padding:20px;flex:1;max-width:1400px;margin:0 auto;width:100%}.login-shell[data-v-b27e5bbc]{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0c0c10;overflow:hidden}.bg-mesh[data-v-b27e5bbc]{position:absolute;top:-50px;right:-50px;bottom:-50px;left:-50px;pointer-events:none;overflow:hidden;z-index:0}.orb[data-v-b27e5bbc]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:float-b27e5bbc 14s ease-in-out infinite}.orb.a[data-v-b27e5bbc]{width:420px;height:420px;top:-120px;left:-80px;background:#6366f1}.orb.b[data-v-b27e5bbc]{width:360px;height:360px;bottom:-120px;right:-100px;background:#8b5cf6;animation-delay:-4s}.orb.c[data-v-b27e5bbc]{width:300px;height:300px;top:40%;right:20%;background:#10b981;opacity:.2;animation-delay:-9s}@keyframes float-b27e5bbc{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-30px) scale(1.05)}}.login-card[data-v-b27e5bbc]{position:relative;z-index:1;width:100%;max-width:440px;background:#14141cd9;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:28px 28px 22px;box-shadow:0 24px 60px -10px #0009,0 0 0 1px #6366f114;display:flex;flex-direction:column;gap:24px}.brand[data-v-b27e5bbc]{display:flex;align-items:center;gap:14px}.brand-mark[data-v-b27e5bbc]{width:56px;height:56px;flex-shrink:0}.brand-text h1[data-v-b27e5bbc]{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em;background:linear-gradient(90deg,#fff,#d1d5db);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-text p[data-v-b27e5bbc]{margin:2px 0 0;font-size:12px}.welcome[data-v-b27e5bbc]{margin:0 0 6px;font-size:18px;font-weight:600}.lead[data-v-b27e5bbc]{margin:0 0 18px;font-size:13.5px;line-height:1.5}.btn-github[data-v-b27e5bbc]{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#18181b;color:#fff;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .08s ease}.btn-github[data-v-b27e5bbc]:hover{background:#27272a;border-color:#fff3;transform:translateY(-1px)}.btn-github[data-v-b27e5bbc]:active{transform:translateY(0)}.btn-github svg[data-v-b27e5bbc]{flex-shrink:0}.divider[data-v-b27e5bbc]{display:flex;align-items:center;gap:10px;margin:14px 0 4px;color:#ffffff59;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.divider[data-v-b27e5bbc]:before,.divider[data-v-b27e5bbc]:after{content:"";flex:1;height:1px;background:#ffffff14}.pwd-form[data-v-b27e5bbc]{display:flex;flex-direction:column;gap:10px}.field[data-v-b27e5bbc]{display:flex;flex-direction:column;gap:4px}.field-label[data-v-b27e5bbc]{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c}.field input[data-v-b27e5bbc]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#fff;font-family:inherit;font-size:14px;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.field input[data-v-b27e5bbc]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e;background:#ffffff0a}.field input[data-v-b27e5bbc]::placeholder{color:#ffffff38}.btn-submit[data-v-b27e5bbc]{margin-top:6px;width:100%;padding:11px 16px;border-radius:10px;border:0;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .08s ease,box-shadow .14s ease,opacity .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-submit[data-v-b27e5bbc]:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px -4px #6366f180}.btn-submit[data-v-b27e5bbc]:disabled{opacity:.5;cursor:not-allowed}.error-banner[data-v-b27e5bbc]{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#fecaca;font-size:13px}.error-banner code[data-v-b27e5bbc]{background:#0000004d;padding:1px 5px;border-radius:3px}.loading-row[data-v-b27e5bbc]{display:inline-flex;align-items:center;gap:8px;padding:8px 0}.spin-ring[data-v-b27e5bbc]{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:spin-b27e5bbc .8s linear infinite}@keyframes spin-b27e5bbc{to{transform:rotate(360deg)}}.legal[data-v-b27e5bbc]{border-top:1px solid rgba(255,255,255,.06);padding-top:12px;text-align:center}.muted[data-v-b27e5bbc]{color:#ffffff8c}.small[data-v-b27e5bbc]{font-size:11px}.mono[data-v-b27e5bbc]{font-family:JetBrains Mono,ui-monospace,monospace}@media(max-width:480px){.login-card[data-v-b27e5bbc]{padding:22px 20px 18px}.brand-mark[data-v-b27e5bbc]{width:44px;height:44px}.brand-text h1[data-v-b27e5bbc]{font-size:19px}}.sites-view[data-v-4675434c]{padding-bottom:32px}.page-head[data-v-4675434c]{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.page-head h2[data-v-4675434c]{margin:0}.count-pill[data-v-4675434c]{padding:2px 10px;border:1px solid var(--border, rgba(255,255,255,.1));border-radius:999px;font-variant-numeric:tabular-nums}.refresh-btn[data-v-4675434c]{margin-left:auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:14px}.search-bar[data-v-4675434c]{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:16px;background:var(--bg, #1a1a1a);border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;transition:border-color .12s ease,box-shadow .12s ease}.search-bar[data-v-4675434c]:focus-within{border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.search-icon[data-v-4675434c]{opacity:.5;font-size:16px}.search-input[data-v-4675434c]{flex:1;border:0;background:transparent;color:var(--text);outline:none;font-size:14px;font-family:inherit}.clear-x[data-v-4675434c]{border:0;background:transparent;color:var(--muted, #999);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:12px}.clear-x[data-v-4675434c]:hover{background:#ffffff0f;color:var(--text)}.ctrl-group[data-v-4675434c]{margin-bottom:22px}.ctrl-head[data-v-4675434c]{display:flex;align-items:center;gap:10px;padding:6px 0;margin-bottom:8px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border, rgba(255,255,255,.06))}.ctrl-head h3[data-v-4675434c]{margin:0;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:lowercase;font-family:JetBrains Mono,ui-monospace,monospace;color:var(--text);opacity:.9}.caret[data-v-4675434c]{display:inline-block;font-size:10px;opacity:.55;transition:transform .15s ease;width:10px}.caret.open[data-v-4675434c]{transform:rotate(90deg)}.head-icon[data-v-4675434c]{opacity:.7;font-size:12px}.total-pill[data-v-4675434c]{margin-left:auto;padding:1px 8px;border-radius:999px;background:#ffffff0a;font-variant-numeric:tabular-nums;font-size:11px}.recent-group .ctrl-head[data-v-4675434c]{border-bottom-color:#6366f140}.recent-group .head-icon[data-v-4675434c]{color:var(--accent, #6366f1);opacity:1}.grid[data-v-4675434c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.site-card[data-v-4675434c]{display:block;padding:9px 12px;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:8px;color:var(--text);text-decoration:none;background:#ffffff04;transition:border-color .1s ease,background .1s ease,transform .08s ease;min-width:0}.site-card[data-v-4675434c]:hover{border-color:var(--accent, #6366f1);background:#6366f112;text-decoration:none;transform:translateY(-1px)}.site-card .title[data-v-4675434c]{font-size:13.5px;font-weight:500;line-height:1.25;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-card .row[data-v-4675434c]{display:flex;gap:5px;align-items:center;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-card .dot[data-v-4675434c]{opacity:.35}.site-card.recent[data-v-4675434c]{border-color:#6366f12e;background:#6366f10a}.site-card.recent[data-v-4675434c]:hover{background:#6366f11a}mark[data-v-4675434c]{background:#6366f140;color:inherit;padding:0 1px;border-radius:2px}.empty[data-v-4675434c]{text-align:center;padding:32px 12px;opacity:.6;font-size:13px}.loading-row[data-v-4675434c]{padding:16px 0}.spin-ring[data-v-4675434c]{display:inline-block;width:12px;height:12px;border:2px solid var(--border, #444);border-top-color:var(--accent);border-radius:50%;animation:spin-4675434c .8s linear infinite}@keyframes spin-4675434c{to{transform:rotate(360deg)}}.sfp-overlay[data-v-12f95302]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;justify-content:flex-end;z-index:50;animation:sfp-fade-12f95302 .12s ease-out}@keyframes sfp-fade-12f95302{0%{opacity:0}to{opacity:1}}.sfp[data-v-12f95302]{background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;width:100%;animation:sfp-slide-12f95302 .15s ease-out}.sfp.wide[data-v-12f95302]{width:45%;min-width:480px;max-width:760px}@keyframes sfp-slide-12f95302{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.sfp-head[data-v-12f95302]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:1}.sfp-kind[data-v-12f95302]{flex:0 0 auto}.sfp-name[data-v-12f95302]{font-weight:600}.sfp-path[data-v-12f95302]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfp-body[data-v-12f95302]{flex:1;overflow:auto;padding:10px 12px}.sfp-empty[data-v-12f95302]{padding:24px 12px}.sfp-empty.err[data-v-12f95302]{color:var(--bad)}.sfp-banner[data-v-12f95302]{background:#f59e0b26;border:1px solid var(--warn);color:#fbbf24;padding:6px 8px;border-radius:6px;margin-bottom:8px;font-size:12px}.sfp-pre[data-v-12f95302]{margin:0;font-size:12px;line-height:1.5;background:var(--bg);color:var(--text);padding:8px 10px;border-radius:6px;border:1px solid var(--border);overflow:auto;white-space:pre;display:grid;grid-template-columns:auto 1fr;column-gap:10px}.sfp-pre[data-v-12f95302]:not(.numbered){display:block}.sfp-pre .ln[data-v-12f95302]{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.sfp-pre code[data-v-12f95302]{display:block;grid-column:2;white-space:pre;font-family:var(--mono)}.sfp-image-wrap[data-v-12f95302]{display:flex;align-items:center;justify-content:center;padding:8px}.sfp-image-wrap img[data-v-12f95302]{max-width:100%;max-height:80vh;border:1px solid var(--border);border-radius:6px;background:#000}.sfp-foot[data-v-12f95302]{border-top:1px solid var(--border);padding:8px 12px;display:flex;gap:6px;justify-content:flex-end}.sfp-foot .ghost[data-v-12f95302]{text-decoration:none}.sfm-svg-folder[data-v-8ef2d2a2],.sfm-svg-folder-open[data-v-8ef2d2a2]{color:var(--accent)}.sfm-svg[data-v-8ef2d2a2]{vertical-align:middle;flex-shrink:0}.sfm[data-v-163c979f]{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);display:flex;flex-direction:column;gap:8px;position:relative;outline:none}.sfm[data-v-163c979f]:focus-visible{box-shadow:0 0 0 2px #3b82f659}.sfm-head[data-v-163c979f]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sfm-title[data-v-163c979f]{display:flex;align-items:baseline;gap:6px}.sfm-crumbs[data-v-163c979f]{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap;min-width:0}.crumb[data-v-163c979f]{color:var(--accent);font-family:var(--mono);font-size:12px;display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border-radius:4px}.crumb-sep[data-v-163c979f]{color:var(--muted);font-family:var(--mono);font-size:12px}.sfm-search[data-v-163c979f]{flex:0 1 220px;min-width:140px}.sfm-actions[data-v-163c979f]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sfm-input[data-v-163c979f]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:4px 6px;border-radius:6px;font-size:12px;font-family:inherit}.sfm-input.sm[data-v-163c979f]{padding:3px 6px;font-size:12px}.sfm-rename-input[data-v-163c979f]{width:auto;min-width:120px}.sfm-selbar[data-v-163c979f]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px}.sfm-dropzone[data-v-163c979f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#3b82f61f;border:2px dashed var(--accent);border-radius:8px;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}.sfm-dropzone-inner[data-v-163c979f]{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--accent);font-weight:600}.sfm-dropzone-msg[data-v-163c979f]{font-size:14px}.sfm-table-wrap[data-v-163c979f]{overflow:auto}.sfm-table[data-v-163c979f]{width:100%;border-collapse:collapse;font-size:13px}.sfm-table thead th[data-v-163c979f]{position:sticky;top:0;background:var(--panel);color:var(--muted);text-align:left;font-weight:500;padding:4px 6px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.sfm-table thead th.sfm-col-acts[data-v-163c979f],.sfm-table thead th.sfm-col-check[data-v-163c979f]{cursor:default}.sfm-col-check[data-v-163c979f]{width:28px;text-align:center}.sfm-col-size[data-v-163c979f]{width:80px;text-align:right;white-space:nowrap}.sfm-col-date[data-v-163c979f]{width:150px;text-align:right;white-space:nowrap}.sfm-col-acts[data-v-163c979f]{width:130px;text-align:right;white-space:nowrap}.sfm-row td[data-v-163c979f]{padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:middle}.sfm-row[data-v-163c979f]{cursor:default}.sfm-row[data-v-163c979f]:hover{background:#ffffff05}.sfm-row.sel[data-v-163c979f]{background:#3b82f61a}.sfm-row.focus[data-v-163c979f]{outline:1px solid var(--accent);outline-offset:-1px}.sfm-row.dropTarget[data-v-163c979f]{background:#3b82f62e;outline:1px solid var(--accent)}.sfm-row.protected td[data-v-163c979f]{opacity:.85}.sfm-iconwrap[data-v-163c979f]{display:inline-flex;vertical-align:middle;margin-right:6px;color:var(--muted)}.sfm-row td:first-child+td .sfm-iconwrap[data-v-163c979f]{color:var(--muted)}.sfm-name[data-v-163c979f]{color:var(--text);font-family:var(--mono);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfm-name[data-v-163c979f]:hover{color:var(--accent)}.sfm-empty[data-v-163c979f]{padding:12px 4px;text-align:center}.sfm-ic[data-v-163c979f]{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:4px;width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;padding:0;text-decoration:none;margin-left:2px}.sfm-ic[data-v-163c979f]:hover{border-color:var(--accent);color:var(--accent)}.sfm-ic.danger[data-v-163c979f]:hover{border-color:var(--bad);color:var(--bad)}.sfm-ic[disabled][data-v-163c979f],.sfm-ic[data-v-163c979f]:disabled{opacity:.35;cursor:not-allowed}.sfm-uploads[data-v-163c979f]{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);padding-top:6px}.sfm-upload-row[data-v-163c979f]{display:grid;grid-template-columns:1fr 160px 140px;gap:8px;align-items:center}.sfm-bar[data-v-163c979f]{height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}.sfm-bar-fill[data-v-163c979f]{height:100%;background:var(--accent);transition:width .1s linear}.sfm-bar-fill.done[data-v-163c979f]{background:var(--ok)}.sfm-bar-fill.error[data-v-163c979f]{background:var(--bad)}.sfm-modal-overlay[data-v-163c979f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;display:flex;align-items:center;justify-content:center;animation:sfm-fadein-163c979f .1s ease-out}.sfm-modal-panel[data-v-163c979f]{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:20px;max-width:360px;width:calc(100% - 32px);display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px #00000080}.sfm-modal-header[data-v-163c979f]{font-size:15px}.sfm-modal-body[data-v-163c979f]{font-size:13px;color:var(--text)}.sfm-modal-fname[data-v-163c979f]{word-break:break-all;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-size:12px}.sfm-modal-list[data-v-163c979f]{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:2px;font-size:12px}.sfm-modal-footer[data-v-163c979f]{display:flex;gap:8px;justify-content:flex-end}.sfm-btn-danger[data-v-163c979f]{background:var(--bad);color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.sfm-btn-danger[data-v-163c979f]:hover{filter:brightness(1.1)}@keyframes sfm-fadein-163c979f{0%{opacity:0}to{opacity:1}}.sfm-toasts[data-v-163c979f]{position:fixed;bottom:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:60;pointer-events:none}.sfm-toast[data-v-163c979f]{background:var(--panel-2);border:1px solid var(--border);padding:6px 10px;border-radius:6px;font-size:12px;color:var(--text);box-shadow:0 2px 8px #0006;display:flex;gap:6px;align-items:center;animation:sfm-slidein-163c979f .15s ease-out;pointer-events:auto}.sfm-toast.ok[data-v-163c979f]{border-color:var(--ok)}.sfm-toast.err[data-v-163c979f]{border-color:var(--bad)}.sfm-toast-ic[data-v-163c979f]{color:var(--muted)}.sfm-toast.ok .sfm-toast-ic[data-v-163c979f]{color:var(--ok)}.sfm-toast.err .sfm-toast-ic[data-v-163c979f]{color:var(--bad)}@keyframes sfm-slidein-163c979f{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.site-page[data-v-50971e57]{padding-bottom:32px}.site-header[data-v-50971e57]{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border);margin:0 -16px 18px;padding:4px 16px 0}.site-header-row1[data-v-50971e57]{display:flex;align-items:center;gap:12px;padding:12px 0 10px;flex-wrap:wrap}.back-link[data-v-50971e57]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.back-link[data-v-50971e57]:hover{background:var(--panel);border-color:var(--panel-2);color:var(--text);text-decoration:none}.site-title-block[data-v-50971e57]{min-width:0;flex:1}.site-title[data-v-50971e57]{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-meta[data-v-50971e57]{display:inline-flex;gap:4px;align-items:baseline;margin-top:1px;flex-wrap:wrap}.meta-item[data-v-50971e57]{font-size:11px}.site-quick-stats[data-v-50971e57]{display:inline-flex;align-items:center;gap:14px;padding:4px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--border)}.qs-item[data-v-50971e57]{display:inline-flex;align-items:baseline;gap:4px;font-size:12px}.qs-dot[data-v-50971e57]{display:inline-block;width:6px;height:6px;border-radius:50%;align-self:center;margin-right:2px}.qs-dot.ok[data-v-50971e57]{background:#10b981;box-shadow:0 0 6px #10b98180}.qs-dot.bad[data-v-50971e57]{background:#ef4444}.qs-dot.indigo[data-v-50971e57]{background:#6366f1}.qs-num[data-v-50971e57]{font-weight:600;font-variant-numeric:tabular-nums}.qs-label[data-v-50971e57]{color:#ffffff8c;font-size:11px}.btn-icon[data-v-50971e57]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);text-decoration:none;transition:background .12s ease,color .12s ease,border-color .12s ease}.btn-icon[data-v-50971e57]:hover{background:var(--panel);border-color:var(--accent);color:var(--accent);text-decoration:none}.site-tabs[data-v-50971e57]{display:flex;gap:2px;padding:0;margin-top:4px;border-top:0}.site-tab[data-v-50971e57]{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.005em;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);cursor:pointer;transition:color .12s ease,border-color .12s ease;border-radius:0}.site-tab[data-v-50971e57]:hover{color:var(--text)}.site-tab.active[data-v-50971e57]{color:var(--text);border-bottom-color:var(--accent)}.site-tab .tab-icon[data-v-50971e57]{font-size:11px;opacity:.8;display:inline-block;width:14px;text-align:center}.tab-pane[data-v-50971e57]{display:flex;flex-direction:column;gap:0;animation:tab-fade-in-50971e57 .18s ease-out}@keyframes tab-fade-in-50971e57{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.site-quick-stats[data-v-50971e57]{flex-basis:100%;order:5}.site-tabs[data-v-50971e57]{overflow-x:auto;flex-wrap:nowrap}.site-tab[data-v-50971e57]{white-space:nowrap}}.header[data-v-50971e57]{margin-bottom:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.header h2[data-v-50971e57]{margin:0}.header .muted[data-v-50971e57]{flex:1}.btn-diag[data-v-50971e57]{background:#0ea5e9;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;text-decoration:none}.btn-diag[data-v-50971e57]:hover{filter:brightness(1.1);text-decoration:none}.controls[data-v-50971e57]{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap;position:relative}.controls .spacer[data-v-50971e57]{flex:1}.chk[data-v-50971e57]{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;color:var(--text);font-size:14px}.chk small[data-v-50971e57]{display:block;margin-top:2px}.jump-picker[data-v-50971e57]{position:relative}.jump-picker .arrow[data-v-50971e57]{margin-left:6px;opacity:.7}.jump-menu[data-v-50971e57]{position:absolute;top:40px;left:0;z-index:20;min-width:340px;max-width:420px;max-height:400px;overflow:auto;box-shadow:0 12px 30px #0006}.jump-menu-head[data-v-50971e57]{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}.jump-menu-head .sm[data-v-50971e57]{padding:2px 6px;font-size:11px}.jump-list[data-v-50971e57]{display:grid;gap:2px}.jump-item[data-v-50971e57]{display:grid;grid-template-columns:18px 1fr auto auto;gap:8px;align-items:center;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:13px;margin:0;text-transform:none;letter-spacing:0;color:var(--text)}.jump-item[data-v-50971e57]:hover{background:#ffffff0a}.jump-item .name[data-v-50971e57]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-picker[data-v-50971e57]{position:relative}.history-picker .arrow[data-v-50971e57]{margin-left:6px;opacity:.7}.history-menu[data-v-50971e57]{position:absolute;top:40px;left:0;z-index:20;min-width:340px;max-width:460px;max-height:420px;overflow:auto;box-shadow:0 12px 30px #0006;padding:6px}.history-list[data-v-50971e57]{display:flex;flex-direction:column;gap:2px}.history-item[data-v-50971e57]{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:8px 10px;border-radius:4px;text-align:left;width:100%;background:transparent;border:1px solid transparent}.history-item[data-v-50971e57]:hover{background:#ffffff0a}.history-item.active[data-v-50971e57]{border-color:var(--accent);background:#3b82f614}.history-item .when[data-v-50971e57]{font-size:12px;color:var(--muted)}.history-item .stats[data-v-50971e57]{display:flex;align-items:center;gap:4px;font-size:12px}.viewing-saved[data-v-50971e57]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:10px 14px;border-color:var(--accent);background:#3b82f614}.viewing-saved .sm[data-v-50971e57]{padding:4px 10px;font-size:12px}.status-row[data-v-50971e57]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.status-row .dot[data-v-50971e57]{width:8px;height:8px;border-radius:99px;background:var(--muted)}.status-row.scanning .dot[data-v-50971e57],.status-row.webrtc .dot[data-v-50971e57]{background:var(--accent);animation:pulse-50971e57 1.2s infinite}.status-row.login .dot[data-v-50971e57],.status-row.listing .dot[data-v-50971e57],.status-row.start .dot[data-v-50971e57]{background:var(--warn)}.status-row.done .dot[data-v-50971e57]{background:var(--ok)}.status-row.error .dot[data-v-50971e57]{background:var(--bad)}.status-text[data-v-50971e57]{flex:1}@keyframes pulse-50971e57{0%,to{opacity:1}50%{opacity:.4}}.jumps-grid[data-v-50971e57]{display:grid;gap:10px;margin-bottom:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.jump-card[data-v-50971e57]{padding:12px;display:flex;flex-direction:column;gap:8px}.jump-head[data-v-50971e57]{display:flex;align-items:center;gap:10px}.jump-head .dot[data-v-50971e57]{width:10px;height:10px;border-radius:99px;background:var(--muted)}.jump-card.scanning .dot[data-v-50971e57],.jump-card.webrtc .dot[data-v-50971e57]{background:var(--accent);animation:pulse-50971e57 1.2s infinite}.jump-card.done .dot[data-v-50971e57]{background:var(--ok)}.jump-card.error .dot[data-v-50971e57]{background:var(--bad)}.jump-card.pending .dot[data-v-50971e57]{background:var(--muted)}.jump-title[data-v-50971e57]{flex:1;min-width:0}.jump-title .name[data-v-50971e57]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jump-counts[data-v-50971e57]{text-align:right}.jump-counts .num[data-v-50971e57]{font-size:18px;font-weight:700;display:block;line-height:1}.jump-counts .muted[data-v-50971e57]{font-size:11px}.jump-msg[data-v-50971e57]{font-size:12px;color:var(--muted);min-height:1em}.jump-bars[data-v-50971e57]{display:flex;gap:4px;flex-wrap:wrap}.progress[data-v-50971e57]{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.progress .bar[data-v-50971e57]{height:100%;background:var(--accent);transition:width .3s ease}.jump-card.done .progress .bar[data-v-50971e57]{background:var(--ok)}.jump-card.error .progress .bar[data-v-50971e57]{background:var(--bad)}.status-row .dot.spin[data-v-50971e57]{animation:pulse-50971e57 1s infinite;background:var(--accent)}.timer[data-v-50971e57]{font-size:13px}.scan-progress[data-v-50971e57]{margin-bottom:12px;padding:10px 14px;background:#3b82f60a;border-color:#3b82f640}.scan-progress .bar-track[data-v-50971e57]{height:8px;border-radius:4px;overflow:hidden;background:#ffffff0f;position:relative}.scan-progress .bar-fill[data-v-50971e57]{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa,#3b82f6);background-size:200% 100%;animation:shimmer-50971e57 2s linear infinite;transition:width .3s ease}@keyframes shimmer-50971e57{to{background-position:-200% 0}}.scan-progress .small[data-v-50971e57]{font-size:12px;margin-top:6px}.summary[data-v-50971e57]{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.pill[data-v-50971e57]{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:8px 12px;display:flex;gap:8px;align-items:baseline}.pill .num[data-v-50971e57]{font-size:18px;font-weight:700}.pill .lbl[data-v-50971e57]{font-size:12px;color:var(--muted)}.pill.ok[data-v-50971e57]{border-color:#10b98166}.pill.bad[data-v-50971e57]{border-color:#ef444466}.pill.warn[data-v-50971e57]{border-color:#f59e0b66}.ap-table[data-v-50971e57]{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.ap-table th[data-v-50971e57],.ap-table td[data-v-50971e57]{padding:8px 10px;text-align:left;font-size:13px}.ap-table thead th[data-v-50971e57]{background:var(--panel-2);color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.ap-table tbody tr[data-v-50971e57]{border-top:1px solid var(--border)}.ap-table tbody tr[data-v-50971e57]:hover{background:#ffffff05}.ap-table td.bad[data-v-50971e57]{color:#f87171;font-weight:600}.panel.error[data-v-50971e57]{margin-top:12px;color:var(--bad)}.btn-fix[data-v-50971e57]{background:#2563eb}.btn-leak[data-v-50971e57]{background:#9333ea}.btn-apply[data-v-50971e57]{background:#ea580c}.btn-nf[data-v-50971e57]{background:#0d9488}.btn-revert[data-v-50971e57]{background:#475569}.btn-newfix[data-v-50971e57]{background:#db2777}.btn-oldfix[data-v-50971e57]{background:#a16207}.btn-l2[data-v-50971e57]{background:#0ea5e9}.btn-tunnel[data-v-50971e57]{background:#0891b2;color:#fff;border:0;border-radius:4px;padding:6px 10px;cursor:pointer;font-weight:600}.btn-tunnel[data-v-50971e57]:disabled{opacity:.5;cursor:not-allowed}.tunnels-panel[data-v-50971e57]{margin-top:12px;padding:10px 14px;border-left:3px solid #0891b2}.tunnels-panel.has-tunnels[data-v-50971e57]{border-left-color:#10b981}.tunnels-head[data-v-50971e57]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tunnels-head strong[data-v-50971e57]{font-size:13px;text-transform:uppercase;letter-spacing:.04em}.tunnel-count[data-v-50971e57]{font-size:11px;padding:1px 7px}.tunnel-hint[data-v-50971e57]{margin-left:auto;font-size:11px}.tunnel-empty[data-v-50971e57]{margin-top:8px;padding:6px 2px}.tunnel-cards[data-v-50971e57]{margin-top:8px;display:flex;flex-direction:column;gap:6px}.tunnel-card[data-v-50971e57]{padding:8px 12px;background:#ffffff05;border-left:3px solid #475569;border-radius:3px}.tunnel-card.open[data-v-50971e57]{border-left-color:#10b981;background:#10b9810f}.tunnel-card.opening[data-v-50971e57]{border-left-color:#eab308;background:#eab3080d}.tunnel-card.bootstrapping[data-v-50971e57]{border-left-color:#38bdf8;background:#38bdf80d}.tunnel-card.error[data-v-50971e57]{border-left-color:#ef4444;background:#ef44440f}.tunnel-card.closed[data-v-50971e57]{border-left-color:#64748b;opacity:.75}.chisel-banner[data-v-50971e57]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 10px;margin:6px 0;border-radius:3px;font-size:12px;background:#ffffff05;border-left:3px solid #475569}.chisel-banner.ok[data-v-50971e57]{border-left-color:#10b981}.chisel-banner.bad[data-v-50971e57]{border-left-color:#ef4444;background:#ef44440f}.tunnel-bootstrap[data-v-50971e57]{margin-top:6px}.tunnel-bootstrap pre[data-v-50971e57]{margin:4px 0 0;padding:6px 8px;max-height:200px;overflow:auto;background:#00000040;border-radius:3px;font-size:11px}.tunnel-card-row1[data-v-50971e57]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tunnel-card-row2[data-v-50971e57]{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px;font-size:12px}.tunnel-card-row1 .name[data-v-50971e57]{font-size:14px}.tunnel-card-row1 .tid[data-v-50971e57]{font-size:11px;padding:1px 6px;background:#ffffff0a;border-radius:3px}.tunnel-card-row1 .close-btn[data-v-50971e57]{margin-left:auto}.status-dot[data-v-50971e57]{width:9px;height:9px;border-radius:50%;background:#64748b;display:inline-block}.status-dot.open[data-v-50971e57]{background:#10b981;box-shadow:0 0 #10b98199;animation:dot-pulse-50971e57 1.6s infinite}.status-dot.opening[data-v-50971e57]{background:#eab308;animation:dot-pulse-slow-50971e57 2s infinite}.status-dot.bootstrapping[data-v-50971e57]{background:#38bdf8;animation:dot-pulse-slow-50971e57 2s infinite}.status-dot.error[data-v-50971e57]{background:#ef4444}.status-dot.closed[data-v-50971e57]{background:#64748b}.status-txt[data-v-50971e57]{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.status-txt.open[data-v-50971e57]{color:#10b981}.status-txt.opening[data-v-50971e57]{color:#eab308}.status-txt.bootstrapping[data-v-50971e57]{color:#38bdf8}.status-txt.error[data-v-50971e57]{color:#ef4444}.status-txt.closed[data-v-50971e57]{color:#94a3b8}.metric[data-v-50971e57]{font-size:12px;display:inline-flex;align-items:center;gap:4px}.metric .bad[data-v-50971e57]{color:#ef4444}@keyframes dot-pulse-50971e57{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes dot-pulse-slow-50971e57{0%,to{opacity:1}50%{opacity:.4}}.ap-tunnel-btn[data-v-50971e57]{margin-left:auto;padding:2px 8px;font-size:11px;font-family:inherit;letter-spacing:.04em}.ap-claude-btn[data-v-50971e57]{margin-left:6px;padding:2px 8px;font-size:11px;font-family:inherit;letter-spacing:.04em}.ap-claude-btn[data-v-50971e57]:not(:disabled){color:#6366f1}.jump-item.is-offline[data-v-50971e57]{opacity:.45}.jump-item.is-offline .name[data-v-50971e57]{text-decoration:line-through;text-decoration-color:#ef444466}.jump-item.is-non-uap[data-v-50971e57]{font-style:italic}.badge.tiny[data-v-50971e57]{font-size:10px;padding:1px 5px;letter-spacing:.04em}.topology-panel[data-v-50971e57]{margin-bottom:12px;padding:0}.topology-head[data-v-50971e57]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.topology-head .caret[data-v-50971e57]{display:inline-block;font-size:11px;opacity:.6;transition:transform .15s ease}.topology-head .caret.open[data-v-50971e57]{transform:rotate(90deg)}.topo-refresh[data-v-50971e57]{margin-left:auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0}.topology-body[data-v-50971e57]{padding:0 14px 14px;display:flex;flex-direction:column;gap:6px}.topo-canvas[data-v-50971e57]{display:flex;flex-direction:column;gap:18px;padding:6px 4px}.topo-tier[data-v-50971e57]{display:flex;flex-direction:column;align-items:center;position:relative}.topo-tier-gw .topo-card.gw[data-v-50971e57]{min-width:320px;max-width:640px}.topo-card.gw.source-lldp .topo-icon[data-v-50971e57],.topo-card.gw.source-lldp\/uplink .topo-icon[data-v-50971e57]{color:var(--hue-sw-ext)}.topo-card.gw.source-unknown[data-v-50971e57]{border-style:dashed;opacity:.75}.topo-card.gw.source-unknown .topo-icon[data-v-50971e57]{color:var(--text-3)}.trunk-line[data-v-50971e57]{width:2px;height:20px;background:linear-gradient(to bottom,#f59e0b66,#6366f14d);margin-top:2px}.topo-tier-sw[data-v-50971e57]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px;width:100%}.topo-switch-block[data-v-50971e57]{flex:1 1 320px;max-width:460px;min-width:0;display:flex;flex-direction:column;gap:8px;position:relative}.topo-switch-block[data-v-50971e57]:before{content:"";position:absolute;top:-16px;left:50%;width:1px;height:16px;background:#6366f140}.topo-card[data-v-50971e57]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--border, rgba(255,255,255,.08));background:#ffffff06;transition:border-color .12s ease,background .12s ease;min-width:0}.topo-card.gw[data-v-50971e57]{border-color:#f59e0b59}.topo-card.sw[data-v-50971e57]{border-color:#3b82f659;background:linear-gradient(135deg,#3b82f614,#3b82f605)}.topo-card.sw.external[data-v-50971e57]{border-color:#a855f759;background:linear-gradient(135deg,#a855f714,#a855f705)}.topo-card.ap[data-v-50971e57]{border-color:#10b9814d;background:linear-gradient(135deg,#10b9810d,#10b98103)}.topo-card.ap.offline[data-v-50971e57]{border-color:#ef44444d;background:linear-gradient(135deg,#ef44440d,#ef444403);opacity:.6}.topo-card.offline[data-v-50971e57]{opacity:.55}.topo-card.inline[data-v-50971e57]{padding:6px 10px}.topo-card.sw.inline.downlink[data-v-50971e57]{background:#3b82f60a;border-style:dashed}.topo-card-meta[data-v-50971e57]{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}.topo-card-meta strong[data-v-50971e57]{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topo-card-meta .small[data-v-50971e57]{font-size:11px}.topo-icon[data-v-50971e57]{width:22px;height:22px;flex-shrink:0;opacity:.9}.topo-icon.sm[data-v-50971e57]{width:18px;height:18px}.topo-card.gw .topo-icon[data-v-50971e57]{color:#f59e0b}.topo-card.sw .topo-icon[data-v-50971e57]{color:#60a5fa}.topo-card.sw.external .topo-icon[data-v-50971e57]{color:#c084fc}.topo-card.ap .topo-icon[data-v-50971e57]{color:#34d399}.topo-card.ap.offline .topo-icon[data-v-50971e57]{color:#f87171}.topo-port-grid[data-v-50971e57]{display:flex;flex-wrap:wrap;gap:3px;padding:0 6px}.port-pill[data-v-50971e57]{display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;padding:1px 6px;border-radius:4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);letter-spacing:.02em;cursor:default;-webkit-user-select:none;user-select:none}.port-pill.ap[data-v-50971e57]{border-color:#10b98166;background:#10b98114;color:#34d399}.port-pill.switch[data-v-50971e57]{border-color:#a855f766;background:#a855f714;color:#c084fc}.topo-downlinks[data-v-50971e57]{display:flex;flex-direction:column;gap:4px;padding-left:10px;margin-left:11px;border-left:1px dashed rgba(255,255,255,.1)}.topo-leaf-row[data-v-50971e57]{display:flex;align-items:center;gap:8px;position:relative}.topo-leaf-row[data-v-50971e57]:before{content:"";position:absolute;left:-10px;top:50%;width:8px;height:1px;background:#ffffff1a}.leaf-port[data-v-50971e57]{display:inline-block;min-width:38px;text-align:right;font-size:11px;opacity:.65;flex-shrink:0}.topo-empty-leaf[data-v-50971e57]{padding-left:26px;font-style:italic}.topo-leaf-row .topo-card.inline[data-v-50971e57]{flex:1;min-width:0}.topo-leaf-row .topo-card.inline[data-v-50971e57]:hover{background:#6366f10d;border-color:#6366f166}.topo-tier-orphans[data-v-50971e57]{border-top:1px dashed rgba(255,255,255,.1);padding-top:12px;align-items:stretch}.topo-orphans-head[data-v-50971e57]{margin-bottom:6px}.topo-orphans-grid[data-v-50971e57]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}.vendor-tag[data-v-50971e57]{display:inline-block;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:500;letter-spacing:.02em;border-radius:999px;background:#a855f71f;color:#c084fc;border:1px solid rgba(168,85,247,.3);vertical-align:middle}.topo-legend[data-v-50971e57]{margin-top:8px;padding:6px 10px;border-radius:6px;background:#ffffff06;display:inline-flex;gap:6px;align-items:center}.legend-icon[data-v-50971e57]{color:#60a5fa;font-size:12px}.tickets-panel[data-v-50971e57]{padding:12px 14px}.tickets-head[data-v-50971e57]{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tickets-head code[data-v-50971e57]{background:#ffffff0a;padding:1px 6px;border-radius:4px}.zoho-empty[data-v-50971e57]{padding:36px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.zoho-empty .empty-icon[data-v-50971e57]{font-size:28px;color:var(--muted);opacity:.5;margin-bottom:4px}.zoho-empty p[data-v-50971e57]{margin:4px 0 0;max-width:480px;line-height:1.5}.zoho-empty code[data-v-50971e57]{background:#ffffff0a;padding:1px 6px;border-radius:4px}.ticket-toggle[data-v-50971e57]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.ticket-toggle input[data-v-50971e57]{margin:0}.tickets-query-row[data-v-50971e57]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:6px 0}.query-chip[data-v-50971e57]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-family:var(--mono);border:1px solid var(--border);background:#ffffff05}.query-chip.kw[data-v-50971e57]{color:#a5b4fc;border-color:#6366f140}.query-chip.dom[data-v-50971e57]{color:#c084fc;border-color:#a855f740}.ticket-rows[data-v-50971e57]{display:flex;flex-direction:column;gap:1px}.ticket-row[data-v-50971e57]{border-left:2px solid transparent;border-radius:6px;transition:background .1s ease,border-color .1s ease}.ticket-row.st-open[data-v-50971e57]{border-left-color:var(--accent)}.ticket-row.st-hold[data-v-50971e57]{border-left-color:var(--warn)}.ticket-row.st-work[data-v-50971e57]{border-left-color:#06b6d4}.ticket-row.st-closed[data-v-50971e57]{border-left-color:#94a3b84d;opacity:.75}.ticket-row.st-escalated[data-v-50971e57]{border-left-color:var(--bad)}.ticket-row.expanded[data-v-50971e57]{background:#ffffff05}.ticket-row-main[data-v-50971e57]{display:grid;grid-template-columns:14px 80px auto auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;cursor:pointer;border-radius:6px}.ticket-row-main[data-v-50971e57]:hover{background:#ffffff08}.ticket-row-main .caret[data-v-50971e57]{font-size:11px;opacity:.55;transition:transform .14s ease;display:inline-block}.ticket-row-main .caret.open[data-v-50971e57]{transform:rotate(90deg)}.ticket-row-main .t-num[data-v-50971e57]{color:var(--muted)}.ticket-row-main .t-subject[data-v-50971e57]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.ticket-row-main .t-meta[data-v-50971e57]{display:inline-flex;gap:4px;white-space:nowrap}.ticket-row-main .badge.open[data-v-50971e57],.ticket-row-main .badge.work[data-v-50971e57],.ticket-row-main .badge.hold[data-v-50971e57],.ticket-row-main .badge.closed[data-v-50971e57],.ticket-row-main .badge.escalated[data-v-50971e57],.ticket-row-main .badge.other[data-v-50971e57]{font-weight:500;font-size:10.5px;letter-spacing:.02em;text-transform:none;padding:2px 8px;white-space:nowrap}.ticket-row-main .badge.open[data-v-50971e57]{background:#6366f124;color:#a5b4fc;border-color:#6366f14d}.ticket-row-main .badge.work[data-v-50971e57]{background:#06b6d41f;color:#67e8f9;border-color:#06b6d44d}.ticket-row-main .badge.hold[data-v-50971e57]{background:#f59e0b24;color:#fbbf24;border-color:#f59e0b4d}.ticket-row-main .badge.closed[data-v-50971e57]{background:#94a3b81a;color:var(--muted);border-color:var(--border)}.ticket-row-main .badge.escalated[data-v-50971e57]{background:#ef444424;color:#f87171;border-color:#ef44444d}.ticket-row-main .badge.other[data-v-50971e57]{background:#ffffff0a;color:var(--text-2, var(--muted));border-color:var(--border)}.ticket-row-detail[data-v-50971e57]{padding:10px 18px 14px 36px;border-top:1px solid var(--border);font-size:13px;display:flex;flex-direction:column;gap:12px}.td-grid[data-v-50971e57]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px}.td-col[data-v-50971e57]{min-width:0}.td-label[data-v-50971e57]{text-transform:uppercase;letter-spacing:.06em;font-size:10px;margin-bottom:2px;font-weight:500}.td-val[data-v-50971e57]{line-height:1.35}.td-description[data-v-50971e57]{padding-top:4px}.td-desc[data-v-50971e57]{margin-top:2px;padding:8px 10px;background:#ffffff05;border-radius:6px;border:1px solid var(--border);white-space:pre-wrap;word-wrap:break-word;max-height:240px;overflow-y:auto;font-size:12.5px;line-height:1.5}.td-actions[data-v-50971e57]{display:flex;justify-content:flex-end}.zoho-open[data-v-50971e57]{display:inline-flex;align-items:center;padding:5px 12px;font-size:11.5px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:transparent;text-decoration:none}.zoho-open[data-v-50971e57]:hover{background:#6366f11a;border-color:var(--accent);text-decoration:none}@media(max-width:720px){.ticket-row-main[data-v-50971e57]{grid-template-columns:14px auto auto 1fr;row-gap:4px}.ticket-row-main .t-num[data-v-50971e57]{display:none}.ticket-row-main .t-meta[data-v-50971e57]{font-size:11px}}.sessions-active[data-v-50971e57]{margin-bottom:12px;padding:12px 14px;border:1px solid rgba(16,185,129,.3);background:linear-gradient(135deg,#10b9810f,#10b98105)}.sessions-head[data-v-50971e57]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.sessions-head .head-icon[data-v-50971e57]{color:#10b981;animation:dot-pulse-slow-50971e57 2.5s infinite}.sessions-rows[data-v-50971e57],.session-row-wrap[data-v-50971e57]{display:flex;flex-direction:column;gap:4px}.session-files-details[data-v-50971e57]{margin:4px 4px 0}.session-files-details>summary[data-v-50971e57]{cursor:pointer;color:var(--muted);font-size:12px;padding:4px 6px;-webkit-user-select:none;user-select:none}.session-files-details>summary[data-v-50971e57]:hover{color:var(--accent)}.session-files-details[open]>summary[data-v-50971e57]{color:var(--text);margin-bottom:4px}.session-row[data-v-50971e57]{display:grid;grid-template-columns:10px minmax(0,1.4fr) auto auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-radius:6px;background:#ffffff06}.session-row .name[data-v-50971e57]{font-size:14px;font-weight:600}.session-actions[data-v-50971e57]{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.reopen-btn[data-v-50971e57]{background:#10b981!important;color:#022c22!important;border:0!important;font-weight:600;padding:4px 12px;font-size:12px}.reopen-btn[data-v-50971e57]:not(:disabled):hover{background:#059669!important}.close-mini[data-v-50971e57]{padding:0 8px;font-size:14px;line-height:1}.symmetric-nat-banner[data-v-50971e57]{margin-bottom:12px;padding:14px 18px;border-left:3px solid var(--warn, #f59e0b);background:linear-gradient(135deg,#f59e0b0f,#f59e0b05)}.snb-head[data-v-50971e57]{display:flex;gap:12px;align-items:flex-start}.snb-icon[data-v-50971e57]{color:#f59e0b;font-size:18px;line-height:1.2;flex-shrink:0}.snb-explain[data-v-50971e57]{margin:4px 0 0;line-height:1.45}.manual-tunnel-panel[data-v-50971e57]{margin-bottom:12px;padding:14px 18px;border-left:3px solid var(--accent, #6366f1);background:linear-gradient(135deg,#6366f10d,#6366f103)}.mt-head[data-v-50971e57]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, rgba(255,255,255,.08))}.mt-instructions[data-v-50971e57]{margin:0 0 10px;padding-left:22px;font-size:13px;line-height:1.55;color:var(--text-2, #d4d4d8)}.mt-instructions li[data-v-50971e57]{margin-bottom:3px}.mt-instructions li strong[data-v-50971e57]{color:var(--text)}.mt-controller-link[data-v-50971e57]{display:inline-flex;align-items:center;padding:5px 12px;font-size:11.5px;margin-bottom:14px;border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--text)}.mt-controller-link[data-v-50971e57]:hover{background:#6366f11a;border-color:var(--accent);text-decoration:none}.mt-cmds[data-v-50971e57]{display:flex;flex-direction:column;gap:6px}.mt-cmd-row[data-v-50971e57]{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:stretch}.mt-cmd-num[data-v-50971e57]{display:inline-flex;align-items:flex-start;justify-content:center;padding-top:9px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--accent, #6366f1);font-weight:600}.mt-cmd[data-v-50971e57]{margin:0;padding:8px 12px;background:#00000040;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.5;color:#d4d4d8;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.mt-copy[data-v-50971e57]{align-self:flex-start;margin-top:4px;padding:5px 12px;font-size:11px;white-space:nowrap}.mt-status[data-v-50971e57]{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;background:#6366f10a;border:1px dashed rgba(99,102,241,.2);border-radius:6px}.claude-hero[data-v-50971e57]{display:flex;align-items:center;gap:18px;padding:14px 18px;margin-bottom:12px;background:linear-gradient(135deg,#6366f10f,#6366f105);border:1px solid rgba(99,102,241,.18)}.claude-hero .hero-text[data-v-50971e57]{flex:1;min-width:0}.claude-hero .hero-title[data-v-50971e57]{font-size:16px;font-weight:600;margin-bottom:2px;letter-spacing:.01em}.claude-hero .hero-sub[data-v-50971e57]{line-height:1.35}.btn-claude-hero[data-v-50971e57]{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.01em;padding:10px 20px;border-radius:8px;border:0;background:#6366f1;color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .12s ease,transform .08s ease,box-shadow .12s ease;box-shadow:0 1px 3px #6366f166;min-width:180px;justify-content:center}.btn-claude-hero[data-v-50971e57]:not(:disabled):hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-claude-hero[data-v-50971e57]:disabled{cursor:progress;background:#4f46e5;opacity:.85}.btn-claude-hero.stage-failed[data-v-50971e57]{background:#b45309;box-shadow:0 1px 3px #b4530966}.btn-claude-hero.stage-failed[data-v-50971e57]:hover{background:#92400e}.btn-claude-hero.stage-ready[data-v-50971e57]{background:#10b981;box-shadow:0 1px 3px #10b98166}.btn-claude-hero.stage-ready[data-v-50971e57]:hover{background:#059669;box-shadow:0 4px 12px #10b98166}.claude-hero.stage-ready[data-v-50971e57]{border-color:#10b98159;background:linear-gradient(135deg,#10b98114,#10b98105)}.claude-hero.stage-failed[data-v-50971e57]{border-color:#b4530959;background:linear-gradient(135deg,#b4530914,#b4530905)}.device-list[data-v-50971e57]{padding:12px 14px;margin-bottom:12px}.device-list-head[data-v-50971e57]{display:grid;grid-template-columns:auto auto 1fr;gap:10px 14px;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, rgba(255,255,255,.06))}.dev-counts[data-v-50971e57]{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.dev-counts .dot[data-v-50971e57]{display:inline-block;width:8px;height:8px;border-radius:50%}.dev-counts .dot.ok[data-v-50971e57]{background:#10b981}.dev-counts .dot.bad[data-v-50971e57]{background:#ef4444}.dev-toolbar[data-v-50971e57]{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.dev-search[data-v-50971e57]{flex:1;min-width:220px;display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border, rgba(255,255,255,.1));border-radius:6px;background:#ffffff05;transition:border-color .1s ease,box-shadow .1s ease}.dev-search[data-v-50971e57]:focus-within{border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px #6366f126}.dev-search input[data-v-50971e57]{flex:1;border:0;background:transparent;color:var(--text);outline:none;font-family:inherit;font-size:13px;min-width:0}.dev-search .search-icon[data-v-50971e57]{opacity:.5;font-size:13px}.dev-search .ghost-x[data-v-50971e57]{border:0;background:transparent;color:var(--muted, #999);cursor:pointer;padding:0 4px;font-size:11px}.dev-search .ghost-x[data-v-50971e57]:hover{color:var(--text)}.dev-sort[data-v-50971e57]{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.dev-sort .sm[data-v-50971e57]{padding:3px 8px;font-size:11px}.dev-sort .sm.active[data-v-50971e57]{background:#6366f126;border-color:#6366f180;color:#a5b4fc}.dev-toggle[data-v-50971e57]{display:inline-flex;align-items:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none}.dev-toggle input[data-v-50971e57]{margin:0}.device-rows[data-v-50971e57]{display:flex;flex-direction:column;gap:1px}.device-row[data-v-50971e57]{display:grid;grid-template-columns:10px minmax(0,1.6fr) 36px minmax(0,2fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:6px;transition:background .1s ease}.device-row[data-v-50971e57]:hover{background:#ffffff08}.device-row.is-offline[data-v-50971e57]{opacity:.55}.device-row.is-offline .dev-name[data-v-50971e57]{text-decoration:line-through;text-decoration-color:#ef444466}.device-row.is-non-uap[data-v-50971e57]{font-style:italic;opacity:.8}.dev-status[data-v-50971e57]{width:8px;height:8px;border-radius:50%}.dev-status.ok[data-v-50971e57]{background:#10b981;box-shadow:0 0 6px #10b98166}.dev-status.bad[data-v-50971e57]{background:#ef4444}.dev-name[data-v-50971e57]{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dev-clients[data-v-50971e57]{display:inline-flex;align-items:center;justify-content:center}.badge.load[data-v-50971e57]{font-variant-numeric:tabular-nums;font-size:11px;padding:1px 8px;border-radius:999px;font-weight:500;letter-spacing:0}.badge.load.idle[data-v-50971e57]{background:#ffffff0a;color:var(--muted, #999)}.badge.load.low[data-v-50971e57]{background:#10b98126;color:#34d399}.badge.load.mid[data-v-50971e57]{background:#f59e0b26;color:#fbbf24}.badge.load.high[data-v-50971e57]{background:#ef44442e;color:#f87171}.dev-meta[data-v-50971e57]{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-actions[data-v-50971e57]{display:inline-flex;align-items:center;gap:6px}.dev-tun[data-v-50971e57],.dev-claude[data-v-50971e57],.dev-tun-manual[data-v-50971e57]{padding:3px 8px;font-size:11px;letter-spacing:.03em}.dev-tun-manual[data-v-50971e57]:not(:disabled){color:#f59e0b;opacity:.85}.dev-tun-manual[data-v-50971e57]:not(:disabled):hover{opacity:1}.dev-claude[data-v-50971e57]:not(:disabled){color:#6366f1;font-weight:500}.dev-empty[data-v-50971e57]{padding:24px 4px;text-align:center}.dev-show-more[data-v-50971e57]{margin-top:10px;text-align:center}.dev-show-more .sm[data-v-50971e57]{padding:4px 14px;font-size:11px}.advanced-modes[data-v-50971e57]{padding:0;margin-bottom:12px}.advanced-modes summary[data-v-50971e57]{cursor:pointer;list-style:none;padding:8px 14px;display:flex;gap:8px;align-items:center}.advanced-modes summary[data-v-50971e57]::-webkit-details-marker{display:none}.advanced-modes summary[data-v-50971e57]:before{content:"▸";font-size:11px;opacity:.55}.advanced-modes[open] summary[data-v-50971e57]:before{content:"▾"}.advanced-modes-row[data-v-50971e57]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 14px}.site-status[data-v-50971e57]{margin-bottom:12px;padding:10px 14px}.status-summary[data-v-50971e57]{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px}.status-summary .big[data-v-50971e57]{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.status-summary .big .small[data-v-50971e57]{font-size:11px;font-weight:400}.status-summary .big.online[data-v-50971e57]{color:var(--text)}.status-summary .big.offline[data-v-50971e57]:not(.has){opacity:.5}.status-summary .big.offline.has[data-v-50971e57]{color:#ef4444}.status-summary .total[data-v-50971e57]{margin-left:auto}.status-summary .type-tally[data-v-50971e57]{width:100%;padding-top:2px}.status-summary .dot[data-v-50971e57]{display:inline-block;width:9px;height:9px;border-radius:50%}.status-summary .dot.ok[data-v-50971e57]{background:#10b981;box-shadow:0 0 #10b981b3;animation:dot-pulse-slow-50971e57 2.5s infinite}.status-summary .dot.bad[data-v-50971e57]{background:#ef4444}.offline-details[data-v-50971e57]{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(239,68,68,.18)}.offline-details summary[data-v-50971e57]{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;padding:2px 0}.offline-details summary[data-v-50971e57]::-webkit-details-marker{display:none}.offline-details summary[data-v-50971e57]:before{content:"▸";font-size:10px;opacity:.6}.offline-details[open] summary[data-v-50971e57]:before{content:"▾"}.offline-details .warn-marker[data-v-50971e57]{color:#f59e0b}.offline-list[data-v-50971e57]{padding:6px 0 2px;display:grid;gap:3px}.offline-row[data-v-50971e57]{display:grid;grid-template-columns:38px 90px 1fr 130px 150px;gap:10px;align-items:baseline;padding:3px 8px;font-size:12.5px;border-radius:4px}.offline-row[data-v-50971e57]:hover{background:#ef44440a}.offline-row .dev-name[data-v-50971e57]{font-weight:500}.offline-row .dev-type[data-v-50971e57]{text-transform:uppercase;opacity:.7}@media(max-width:720px){.offline-row[data-v-50971e57]{grid-template-columns:1fr;gap:0}.offline-row[data-v-50971e57]>*{padding:1px 0}}.ap-tunnel-open[data-v-50971e57]{margin-left:auto;display:inline-block;width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 #10b981b3;animation:dot-pulse-50971e57 1.6s infinite}.spin-ring[data-v-50971e57]{display:inline-block;width:10px;height:10px;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;border-radius:50%;animation:spin-50971e57 .8s linear infinite;vertical-align:middle;margin-right:4px}@keyframes spin-50971e57{to{transform:rotate(360deg)}}.btn-fix.active[data-v-50971e57],.btn-leak.active[data-v-50971e57],.btn-apply.active[data-v-50971e57],.btn-nf.active[data-v-50971e57],.btn-revert.active[data-v-50971e57],.btn-newfix.active[data-v-50971e57],.btn-oldfix.active[data-v-50971e57],.btn-l2.active[data-v-50971e57]{box-shadow:0 0 0 2px #ffffff4d inset;animation:pulse-50971e57 1.4s infinite}.mode-banner[data-v-50971e57]{display:flex;gap:14px;align-items:baseline;margin-bottom:12px;padding:10px 14px}.mode-banner strong[data-v-50971e57]{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.mode-banner.fix[data-v-50971e57]{border-left:4px solid #2563eb}.mode-banner.leak[data-v-50971e57]{border-left:4px solid #9333ea}.mode-banner.applyfix[data-v-50971e57]{border-left:4px solid #ea580c}.mode-banner.oldfix[data-v-50971e57]{border-left:4px solid #a16207}.vlan-head[data-v-50971e57]{text-align:center}.vlan-head.mgmt[data-v-50971e57]{color:#60a5fa}.vlan-cell[data-v-50971e57]{text-align:center;font-size:12px}.vlan-cell .sub[data-v-50971e57]{font-size:10px;display:block;line-height:1}.vlan-cell.hot[data-v-50971e57]{background:#ef444414}.vlan-cell.mgmt[data-v-50971e57]{background:#60a5fa14;color:#93c5fd}.ap-table.leak .vlan-cell .vlan-inc[data-v-50971e57]{font-size:14px;font-weight:700}.ap-table.leak .vlan-cell.hot[data-v-50971e57]{background:#ef44442e}.ap-table.leak .vlan-cell.mgmt[data-v-50971e57]{background:#60a5fa1f}.mgmt-tag[data-v-50971e57]{display:inline-block;font-size:9px;margin-left:4px;padding:1px 4px;border-radius:3px;background:#60a5fa33;color:#93c5fd;font-weight:600}.action-head[data-v-50971e57]{text-align:center;width:90px}.action-cell[data-v-50971e57]{text-align:center}.action-cell .sm[data-v-50971e57]{padding:2px 8px;font-size:12px}.fix-btn[data-v-50971e57]{background:transparent;color:var(--accent);border:1px solid transparent;padding:4px 8px}.fix-btn[data-v-50971e57]:hover{border-color:var(--accent)}.badge.applying[data-v-50971e57]{background:#ea580c2e;color:#fb923c;animation:pulse-50971e57 1.4s infinite}.apply-banner[data-v-50971e57]{margin-bottom:12px;padding:10px 14px;border-left:4px solid #ea580c;background:#ea580c0f}.apply-head[data-v-50971e57]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.apply-spinner[data-v-50971e57]{display:inline-block;animation:spin-50971e57 1.5s linear infinite;font-size:16px}@keyframes spin-50971e57{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.apply-list[data-v-50971e57]{display:flex;flex-direction:column;gap:4px;font-size:13px}.apply-item[data-v-50971e57]{display:grid;grid-template-columns:1fr auto 2fr auto;gap:10px;padding:4px 8px;border-radius:4px;background:#ffffff05}.apply-item .name[data-v-50971e57]{font-weight:500}.emitters-panel[data-v-50971e57]{margin-bottom:12px;border-left:4px solid #f59e0b;background:#f59e0b0a}.emitters-head[data-v-50971e57]{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}.emitters-list[data-v-50971e57]{display:flex;flex-direction:column;gap:3px}.emitter-row[data-v-50971e57]{display:grid;grid-template-columns:30px 80px 1fr auto auto;gap:12px;align-items:center;padding:6px 10px;border-radius:4px;background:#ffffff05;font-size:13px}.emitter-row.initiator[data-v-50971e57]{background:#ef444424;border:1px solid rgba(239,68,68,.3)}.emitter-row.us[data-v-50971e57]{outline:1px solid rgba(59,130,246,.25)}.emitter-row .num[data-v-50971e57]{font-weight:700;text-align:right;color:var(--muted)}.emitter-row .t[data-v-50971e57]{color:var(--accent);font-weight:600}.emitter-row .who strong[data-v-50971e57]{color:var(--text)}.emitter-row .count[data-v-50971e57]{font-variant-numeric:tabular-nums}.emitter-row .tag[data-v-50971e57]{display:inline-block;font-size:10px;padding:1px 5px;border-radius:3px;margin-right:4px;font-weight:700;letter-spacing:.04em}.emitter-row .tag.us[data-v-50971e57]{background:#3b82f640;color:#93c5fd}.emitter-row .tag.gw[data-v-50971e57]{background:#10b98140;color:#34d399}.emitter-row .tag.other[data-v-50971e57]{background:#94a3b840;color:var(--muted)}.head[data-v-940f977e]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.head h2[data-v-940f977e]{margin:0}.back[data-v-940f977e]{color:var(--muted)}.grow[data-v-940f977e]{flex:1}.err[data-v-940f977e]{color:var(--bad);border-color:var(--bad);margin-bottom:12px}.small[data-v-940f977e]{font-size:11px}.mono[data-v-940f977e]{font-family:var(--mono)}.tiles[data-v-940f977e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.tile[data-v-940f977e]{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px}.tile .k[data-v-940f977e]{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.tile .v[data-v-940f977e]{font-size:22px;font-weight:600}.tile.warn[data-v-940f977e]{border-color:var(--warn)}.tile.bad[data-v-940f977e]{border-color:var(--bad)}.panel[data-v-940f977e]{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:16px}.sec-title[data-v-940f977e]{font-weight:600;margin-bottom:8px}.sec-title.bad[data-v-940f977e]{color:#f87171}.ctrls[data-v-940f977e]{display:flex;gap:12px;margin:14px 0 10px}.seg[data-v-940f977e]{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.seg button[data-v-940f977e]{background:transparent;color:var(--muted);border:0;padding:6px 12px;border-right:1px solid var(--border);border-radius:0;font-size:13px}.seg button[data-v-940f977e]:last-child{border-right:0}.seg button.active[data-v-940f977e]{background:var(--panel-2);color:var(--text)}.swgrp[data-v-940f977e]{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;overflow:hidden}.swhead[data-v-940f977e]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--panel-2)}.swhead[data-v-940f977e]:hover{filter:brightness(1.1)}.sw-badges[data-v-940f977e]{display:flex;gap:6px;flex-wrap:wrap}.caret[data-v-940f977e]{color:var(--muted);font-size:10px;margin-right:4px}.swbody[data-v-940f977e]{padding:0 14px 10px}.tbl[data-v-940f977e]{width:100%;border-collapse:collapse}.tbl th[data-v-940f977e],.tbl td[data-v-940f977e]{padding:6px 8px;border-bottom:1px solid var(--border);font-size:13px;text-align:left}.tbl thead th[data-v-940f977e]{background:var(--panel-2);position:sticky;top:0;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:var(--muted)}.tbl th.num[data-v-940f977e],.tbl td.num[data-v-940f977e]{text-align:right}.tbl tbody tr[data-v-940f977e]{cursor:pointer}.tbl tbody tr[data-v-940f977e]:hover{background:#ffffff05}.tbl tbody tr.expanded[data-v-940f977e]{background:#3b82f612}.tbl tbody tr.cli-row[data-v-940f977e]{cursor:default}.tbl tbody tr.cli-row td[data-v-940f977e]{background:#00000026;padding:10px 14px}.sub-tbl[data-v-940f977e]{width:100%;border-collapse:collapse;margin-top:4px}.sub-tbl th[data-v-940f977e],.sub-tbl td[data-v-940f977e]{padding:4px 8px;border-bottom:1px solid var(--border);font-size:12px;text-align:left}.sub-tbl thead th[data-v-940f977e]{color:var(--muted);font-weight:500}.dup .tbl[data-v-940f977e]{margin-top:4px}.dup-cli[data-v-940f977e]{margin:2px 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.stp-bar[data-v-940f977e]{display:flex;gap:14px;align-items:center;margin:8px 0 14px;flex-wrap:wrap}.stp-tiles[data-v-940f977e]{display:flex;gap:8px;flex-wrap:wrap;flex:1}.tile.small[data-v-940f977e]{padding:8px 12px}.tile.small .v[data-v-940f977e]{font-size:16px}.tile.ok[data-v-940f977e]{border-color:var(--ok)}.stp-action[data-v-940f977e]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-l2[data-v-940f977e]{background:#0ea5e9;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;border:0;cursor:pointer}.btn-l2[data-v-940f977e]:hover:not(:disabled){filter:brightness(1.1)}.btn-l2[data-v-940f977e]:disabled{opacity:.5;cursor:not-allowed}.pps[data-v-940f977e]{font-size:11px}.sw-card[data-v-fc57200c]{background:#131722;border:1px solid #2a3247;border-radius:12px;overflow:hidden;margin-bottom:8px}.sw-card.core[data-v-fc57200c]{border-color:#3b5bdb;background:#15192a}.sw-head[data-v-fc57200c]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.sw-head[data-v-fc57200c]:hover{background:#182033}.role-tag[data-v-fc57200c]{background:#3b5bdb;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.06em}.sw-name[data-v-fc57200c]{font-weight:700;color:#fff;font-size:14px}.sw-model[data-v-fc57200c]{color:#8b9bb4;font-size:11px}.sw-mac[data-v-fc57200c]{color:#6b7790;font-family:ui-monospace,monospace;font-size:11px}.sw-meta[data-v-fc57200c]{color:#8b9bb4;font-size:12px}.chev[data-v-fc57200c]{display:inline-block;transition:transform .15s;color:#8b9bb4;font-size:18px;line-height:1}.chev.open[data-v-fc57200c]{transform:rotate(90deg)}.badge[data-v-fc57200c]{margin-left:auto;background:#c0392b;color:#fff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;min-width:28px;text-align:center}.badge.zero[data-v-fc57200c]{background:#1d2331;color:#4a5568;border:1px solid #2a3346}.badge.small[data-v-fc57200c]{font-size:11px;padding:1px 8px;min-width:24px}.sw-body[data-v-fc57200c]{padding:8px 12px 12px 24px;display:flex;flex-direction:column;gap:6px;border-left:2px solid #232938;margin-left:16px}.ap-card[data-v-fc57200c]{background:#161a23;border:1px solid #232938;border-radius:10px;overflow:hidden}.ap-head[data-v-fc57200c]{display:flex;align-items:center;gap:12px;padding:8px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.ap-head[data-v-fc57200c]:hover{background:#1b202c}.ap-name[data-v-fc57200c]{font-weight:600;color:#e6e8ec;font-size:13px}.ap-model[data-v-fc57200c]{background:#1d2540;color:#9bb0e8;border:1px solid #2c3a63;padding:1px 7px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em}.ap-meta-row[data-v-fc57200c]{display:flex;gap:18px;padding:8px 12px;background:#0e1119;border-bottom:1px solid #1b202c;flex-wrap:wrap}.meta-pair[data-v-fc57200c]{display:inline-flex;gap:6px;align-items:baseline;font-size:11px}.meta-pair .k[data-v-fc57200c]{color:#6b7790;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.meta-pair .v[data-v-fc57200c]{color:#c9d1e0;font-weight:600}.meta-pair .v.mono[data-v-fc57200c]{font-family:ui-monospace,monospace;font-weight:500;font-size:11px}.model-cell[data-v-fc57200c]{color:#9bb0e8;font-weight:600}.ap-mac[data-v-fc57200c]{color:#6b7790;font-family:ui-monospace,monospace;font-size:11px}.ap-body[data-v-fc57200c]{padding:0 12px 12px}table.evt[data-v-fc57200c]{width:100%;border-collapse:collapse;font-size:12px}table.evt th[data-v-fc57200c]{text-align:left;color:#8b9bb4;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:6px;border-bottom:1px solid #232938}table.evt td[data-v-fc57200c]{padding:6px;border-bottom:1px solid #1b202c;color:#c9d1e0}table.evt tr:last-child td[data-v-fc57200c]{border-bottom:0}.mono[data-v-fc57200c]{font-family:ui-monospace,monospace;font-size:11px}.small[data-v-fc57200c]{font-size:10px;color:#8b9bb4}.t[data-v-fc57200c]{white-space:nowrap;color:#c9d1e0}.reason[data-v-fc57200c]{background:#2a1f1a;color:#ffb37a;border:1px solid #4a3220;padding:1px 6px;border-radius:4px;font-size:10px;font-family:ui-monospace,monospace}.dns-page[data-v-8529f819]{max-width:1200px;margin:0 auto;padding:24px 20px 60px;color:#e6e8ec}.hdr[data-v-8529f819]{margin-bottom:18px}.back[data-v-8529f819]{color:#8b9bb4;text-decoration:none;font-size:13px}.back[data-v-8529f819]:hover{color:#c9d1e0}h1[data-v-8529f819]{margin:6px 0 0;font-size:20px;font-weight:600}.muted[data-v-8529f819]{color:#6b7790;font-weight:400;font-size:14px}.controls[data-v-8529f819]{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0 20px}.seg[data-v-8529f819]{display:inline-flex;align-items:center;background:#161a23;border:1px solid #232938;border-radius:8px;padding:3px}.seg .lbl[data-v-8529f819]{padding:0 10px;color:#8b9bb4;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.seg-btn[data-v-8529f819]{background:transparent;border:0;color:#c9d1e0;font:inherit;padding:6px 12px;border-radius:6px;cursor:pointer}.seg-btn.active[data-v-8529f819]{background:#2b3550;color:#fff}.seg-btn[data-v-8529f819]:hover:not(.active){background:#1d2331}.btn[data-v-8529f819]{background:#3b5bdb;color:#fff;border:0;padding:8px 16px;border-radius:8px;cursor:pointer;font:inherit;min-width:100px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn[data-v-8529f819]:hover{background:#4c6cee}.btn[data-v-8529f819]:disabled{opacity:.6;cursor:wait}.btn-mini[data-v-8529f819]{background:#1d2331;color:#c9d1e0;border:1px solid #2b3346;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:12px}.btn-mini[data-v-8529f819]:hover{background:#252c3e}.auto[data-v-8529f819]{color:#8b9bb4;font-size:13px;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.ts[data-v-8529f819]{color:#6b7790;font-size:12px;margin-left:auto}.tz[data-v-8529f819]{color:#6b7790;font-size:11px;padding:2px 8px;border:1px solid #2b3346;border-radius:6px}.spinner[data-v-8529f819]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-8529f819 .8s linear infinite}@keyframes spin-8529f819{to{transform:rotate(360deg)}}.error[data-v-8529f819]{background:#3a1c1c;color:#ffb4b4;border:1px solid #6b2828;padding:10px 14px;border-radius:8px;margin:10px 0}.warn[data-v-8529f819]{background:#2a2418;color:#ffd28a;border:1px solid #5a4622;padding:10px 14px;border-radius:8px;margin:10px 0;font-size:13px;line-height:1.5}.info[data-v-8529f819]{color:#6b7790;font-size:12px;margin:6px 0 14px}.search-row[data-v-8529f819]{display:flex;gap:12px;align-items:center;margin:0 0 14px}.search[data-v-8529f819]{flex:1;max-width:480px;background:#161a23;border:1px solid #232938;color:#e6e8ec;padding:8px 12px;border-radius:8px;font:inherit}.search[data-v-8529f819]:focus{outline:none;border-color:#3b5bdb}.search-info[data-v-8529f819]{color:#8b9bb4;font-size:12px}.empty[data-v-8529f819]{color:#8b9bb4;padding:30px;text-align:center;background:#161a23;border-radius:10px}.summary[data-v-8529f819]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.kpi[data-v-8529f819]{background:#161a23;border:1px solid #232938;padding:14px 16px;border-radius:10px}.kpi-num[data-v-8529f819]{font-size:22px;font-weight:600;color:#fff}.kpi-lbl[data-v-8529f819]{color:#8b9bb4;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.bulk[data-v-8529f819]{display:flex;gap:8px;margin-bottom:10px}.upstreams[data-v-8529f819]{display:flex;flex-direction:column;gap:12px}.up-card[data-v-8529f819]{background:#131722;border:1px solid #2a3247;border-radius:12px;overflow:hidden}.up-head[data-v-8529f819]{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none}.up-head[data-v-8529f819]:hover{background:#182033}.up-name[data-v-8529f819]{font-weight:700;color:#fff;font-size:15px}.up-mac[data-v-8529f819]{color:#6b7790;font-family:ui-monospace,monospace;font-size:12px}.up-meta[data-v-8529f819]{color:#8b9bb4;font-size:12px}.up-body[data-v-8529f819]{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}.ap-card[data-v-8529f819]{background:#161a23;border:1px solid #232938;border-radius:10px;overflow:hidden;margin-left:18px}.ap-head[data-v-8529f819]{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.ap-head[data-v-8529f819]:hover{background:#1b202c}.badge.small[data-v-8529f819]{font-size:11px;padding:1px 8px;min-width:24px}.chev[data-v-8529f819]{display:inline-block;transition:transform .15s;color:#8b9bb4;font-size:18px;line-height:1}.chev.open[data-v-8529f819]{transform:rotate(90deg)}.ap-name[data-v-8529f819]{font-weight:600;color:#fff}.ap-mac[data-v-8529f819]{color:#6b7790;font-family:ui-monospace,monospace;font-size:12px}.badge[data-v-8529f819]{margin-left:auto;background:#c0392b;color:#fff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;min-width:28px;text-align:center}.ap-body[data-v-8529f819]{padding:0 12px 14px}table.evt[data-v-8529f819]{width:100%;border-collapse:collapse;font-size:13px}table.evt th[data-v-8529f819]{text-align:left;color:#8b9bb4;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px;border-bottom:1px solid #232938}table.evt td[data-v-8529f819]{padding:7px 8px;border-bottom:1px solid #1b202c;color:#c9d1e0}table.evt tr:last-child td[data-v-8529f819]{border-bottom:0}.mono[data-v-8529f819]{font-family:ui-monospace,monospace;font-size:12px}.small[data-v-8529f819]{font-size:11px;color:#8b9bb4}.t[data-v-8529f819]{white-space:nowrap;color:#c9d1e0}.reason[data-v-8529f819]{background:#2a1f1a;color:#ffb37a;border:1px solid #4a3220;padding:2px 8px;border-radius:4px;font-size:11px;font-family:ui-monospace,monospace}:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #334155;--text: #e2e8f0;--muted: #94a3b8;--ok: #10b981;--warn: #f59e0b;--bad: #ef4444;--accent: #3b82f6;--border: #334155;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}#app{min-height:100%;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--accent);color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}button:hover:not(:disabled){filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}input[type=text],input[type=password]{background:var(--panel);color:var(--text);border:1px solid var(--border);padding:8px 12px;border-radius:6px;font-size:14px;width:100%}input:focus{outline:none;border-color:var(--accent)}label{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge.ok{background:#10b98126;color:#34d399}.badge.warn{background:#f59e0b26;color:#fbbf24}.badge.bad{background:#ef444426;color:#f87171}.badge.muted{background:#94a3b826;color:var(--muted)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}
