@charset "UTF-8";.toast-container[data-v-37caaf55]{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:28rem}.toast[data-v-37caaf55]{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;line-height:1.4;cursor:pointer;animation:slide-in-37caaf55 .15s ease}.toast.error[data-v-37caaf55]{background:#2d1a1a;border:1px solid #7f1d1d;color:#fca5a5}.toast.info[data-v-37caaf55]{background:#1a1d2d;border:1px solid #1e3a5f;color:#93c5fd}.toast.success[data-v-37caaf55]{background:#0f2a1a;border:1px solid #14532d;color:#6ee7b7}.toast[data-v-37caaf55]:hover{filter:brightness(1.1)}@keyframes slide-in-37caaf55{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}.login-page[data-v-7e4884c9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f1117}.login-card[data-v-7e4884c9]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2.5rem;width:100%;max-width:380px}.login-card h1[data-v-7e4884c9]{margin:0 0 2rem;font-size:1.5rem;color:#e2e8f0;text-align:center}.field[data-v-7e4884c9]{margin-bottom:1rem}.field label[data-v-7e4884c9]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field input[data-v-7e4884c9]{width:100%;padding:.625rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;box-sizing:border-box}.field input[data-v-7e4884c9]:focus{outline:none;border-color:#4f6ef7}.error-msg[data-v-7e4884c9]{margin-bottom:.75rem;padding:.5rem .75rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#fca5a5;font-size:.875rem}button[type=submit][data-v-7e4884c9]{width:100%;padding:.625rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer;margin-top:.5rem}button[type=submit][data-v-7e4884c9]:hover:not(:disabled){background:#3d5ce5}button[type=submit][data-v-7e4884c9]:disabled{opacity:.6;cursor:not-allowed}.shell[data-v-9a17e353]{display:flex;min-height:100vh;background:#0f1117;color:#e2e8f0}.sidebar[data-v-9a17e353]{width:220px;flex-shrink:0;background:#1a1d27;border-right:1px solid #2d3248;display:flex;flex-direction:column;padding:1rem 0}.sidebar-brand[data-v-9a17e353]{padding:0 1rem 1rem;font-size:1.25rem;font-weight:700;color:#e2e8f0;border-bottom:1px solid #2d3248;margin-bottom:1rem;letter-spacing:.05em}.sidebar-nav[data-v-9a17e353]{list-style:none;margin:0;padding:0;flex:1}.sidebar-nav li a[data-v-9a17e353]{display:block;padding:.5rem 1rem;color:#94a3b8;text-decoration:none;font-size:.9375rem}.sidebar-nav li a[data-v-9a17e353]:hover,.sidebar-nav li a.router-link-active[data-v-9a17e353]{color:#e2e8f0;background:#2d3248}.nav-group-label[data-v-9a17e353]{padding:.875rem 1rem .25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:#4b5563;font-weight:600}.sidebar-footer[data-v-9a17e353]{padding:1rem;border-top:1px solid #2d3248;display:flex;align-items:center;gap:.5rem}.username[data-v-9a17e353]{flex:1;font-size:.8125rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-9a17e353]{background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;padding:.25rem .5rem;font-size:.75rem;cursor:pointer;white-space:nowrap}.logout-btn[data-v-9a17e353]:hover{color:#e2e8f0;border-color:#4f6ef7}.content[data-v-9a17e353]{flex:1;padding:2rem;overflow-y:auto}.burger-btn[data-v-9a17e353]{display:none;position:fixed;top:.75rem;left:.75rem;z-index:30;width:2.5rem;height:2.5rem;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#1a1d27;border:1px solid #2d3248;border-radius:6px;cursor:pointer}.burger-btn span[data-v-9a17e353]{display:block;width:1.25rem;height:2px;background:#e2e8f0}.sidebar-backdrop[data-v-9a17e353]{display:none}@media (max-width: 768px){.burger-btn[data-v-9a17e353]{display:flex}.sidebar[data-v-9a17e353]{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:280px;z-index:25;transform:translate(-100%);transition:transform .2s ease}.sidebar-open[data-v-9a17e353]{transform:translate(0)}.sidebar-backdrop[data-v-9a17e353]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:20}.content[data-v-9a17e353]{padding:4rem 1rem 1rem}}.status-dot[data-v-5a79813c]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.1875rem;height:1.1875rem;font-size:.8125rem;line-height:1;border-radius:50%;box-shadow:0 0 0 2px transparent}.status-dot.ring-offline[data-v-5a79813c]{box-shadow:0 0 0 2px #9e9e9e}.status-dot.ring-not_forwarded[data-v-5a79813c]{box-shadow:0 0 0 2px #ff9800}.status-dot.ring-idle[data-v-5a79813c]{box-shadow:0 0 0 2px #2196f3}.status-dot.ring-active[data-v-5a79813c]{box-shadow:0 0 0 2px #4caf50}.status-dot.self-offline[data-v-5a79813c]{background:#9e9e9e}.status-dot.self-not_forwarded[data-v-5a79813c]{background:#ff9800}.status-dot.self-idle[data-v-5a79813c]{background:#2196f3}.status-dot.self-active[data-v-5a79813c]{background:#4caf50}.status-badge[data-v-5a79813c]{position:absolute;top:-.375rem;right:-.375rem;min-width:.9375rem;height:.9375rem;padding:0 .1875rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.5625rem;font-weight:700;line-height:.9375rem;text-align:center;box-shadow:0 0 0 2px #12141f}.section[data-v-daa8d412]{margin-top:2rem}.section-header[data-v-daa8d412]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2[data-v-daa8d412]{margin:0;font-size:1rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.see-all[data-v-daa8d412]{color:#7dd3fc;text-decoration:none;font-size:.875rem}.see-all[data-v-daa8d412]:hover{text-decoration:underline}.data-table[data-v-daa8d412]{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th[data-v-daa8d412]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-daa8d412]{padding:.625rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table a[data-v-daa8d412]{color:#7dd3fc;text-decoration:none}.data-table a[data-v-daa8d412]:hover{text-decoration:underline}.empty[data-v-daa8d412]{color:#64748b}.loading[data-v-daa8d412]{color:#94a3b8}.page-header[data-v-0a641c59]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-0a641c59]{margin:0}.toolbar[data-v-0a641c59]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.filter-chips[data-v-0a641c59]{display:flex;align-items:center;gap:.5rem}.filter-label[data-v-0a641c59]{font-size:.875rem;color:#94a3b8}.filter-btn[data-v-0a641c59]{padding:.25rem .75rem;background:none;border:1px solid #2d3248;border-radius:999px;color:#94a3b8;font-size:.8125rem;cursor:pointer}.filter-btn[data-v-0a641c59]:hover{color:#e2e8f0;border-color:#4f6ef7}.filter-btn.active[data-v-0a641c59]{background:#4f6ef726;border-color:#4f6ef7;color:#93c5fd}.search-input[data-v-0a641c59]{padding:.375rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem;min-width:200px}.search-input[data-v-0a641c59]:focus{outline:none;border-color:#4f6ef7}.data-table[data-v-0a641c59]{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th[data-v-0a641c59]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-0a641c59]{padding:.625rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table a[data-v-0a641c59]{color:#7dd3fc;text-decoration:none}.data-table a[data-v-0a641c59]:hover{text-decoration:underline}.td-desc[data-v-0a641c59]{color:#64748b;font-size:.875rem}.td-badge[data-v-0a641c59]{font-size:.875rem;color:#94a3b8;white-space:nowrap}.badge-online[data-v-0a641c59]{display:inline-block;padding:.15em .5em;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.badge-online.online[data-v-0a641c59]{background:#34d39926;color:#6ee7b7}.badge-online.offline[data-v-0a641c59]{background:#64748b26;color:#94a3b8}.td-actions[data-v-0a641c59]{text-align:right}.btn-del[data-v-0a641c59]{background:none;border:1px solid #3f1e1e;border-radius:4px;color:#f87171;padding:.25rem .5rem;font-size:.75rem;cursor:pointer}.btn-del[data-v-0a641c59]:hover{background:#ef44441a}.empty[data-v-0a641c59]{color:#64748b}.loading[data-v-0a641c59]{color:#94a3b8}.error-msg[data-v-0a641c59]{color:#fca5a5}.modal-overlay[data-v-0a641c59]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-0a641c59]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:440px}.modal h2[data-v-0a641c59]{margin:0 0 1.5rem;font-size:1.125rem}.field[data-v-0a641c59]{margin-bottom:1rem}.field label[data-v-0a641c59]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field .optional[data-v-0a641c59]{color:#64748b}.field input[data-v-0a641c59]{width:100%;padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;box-sizing:border-box}.field input[data-v-0a641c59]:focus{outline:none;border-color:#4f6ef7}.field-hint[data-v-0a641c59]{font-size:.8125rem;color:#64748b;margin:-.5rem 0 1rem}.modal-actions[data-v-0a641c59]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary[data-v-0a641c59]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer}.btn-primary[data-v-0a641c59]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-0a641c59]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-0a641c59]{padding:.5rem 1.25rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.9375rem;cursor:pointer}.btn-secondary[data-v-0a641c59]:hover{color:#e2e8f0;border-color:#4f6ef7}.pubkey-input[data-v-95ff5bd4]{display:flex;flex-direction:column;gap:.5rem;position:relative}.privkey-overlay[data-v-95ff5bd4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.privkey-dialog[data-v-95ff5bd4]{background:#1a1d27;border:1px solid #ef4444;border-radius:10px;padding:2rem;max-width:420px;width:90%;text-align:center}.privkey-dialog h3[data-v-95ff5bd4]{margin:.5rem 0 1rem;color:#fca5a5;font-size:1.1rem}.privkey-dialog p[data-v-95ff5bd4]{color:#94a3b8;font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.privkey-dialog code[data-v-95ff5bd4]{background:#0f1117;padding:.1em .3em;border-radius:3px;color:#e2e8f0}.privkey-icon[data-v-95ff5bd4]{font-size:2rem;color:#f87171}.privkey-hint[data-v-95ff5bd4]{font-size:.8125rem!important;color:#64748b!important}.btn-ok[data-v-95ff5bd4]{margin-top:.5rem;padding:.5rem 1.5rem;background:#ef444426;border:1px solid #ef4444;border-radius:5px;color:#fca5a5;font-size:.9375rem;cursor:pointer}.btn-ok[data-v-95ff5bd4]:hover{background:#ef444440}.filename-row[data-v-95ff5bd4]{display:flex;align-items:center;gap:.625rem}.filename-label[data-v-95ff5bd4]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.filename-input[data-v-95ff5bd4]{flex:1;padding:.3rem .6rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-family:Fira Code,ui-monospace,monospace;font-size:.8125rem}.filename-input[data-v-95ff5bd4]:focus{outline:none;border-color:#4f6ef7}.gen-hint[data-v-95ff5bd4]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:#0f1117;border:1px solid #2d3248;border-radius:4px;padding:.5rem .75rem}.gen-label[data-v-95ff5bd4]{font-size:.75rem;color:#64748b;white-space:nowrap}.gen-cmd[data-v-95ff5bd4]{flex:1;font-size:.75rem;color:#a5f3fc;word-break:break-all}.btn-copy[data-v-95ff5bd4]{padding:.2rem .6rem;background:none;border:1px solid #2d3248;border-radius:3px;color:#94a3b8;font-size:.75rem;cursor:pointer;white-space:nowrap}.btn-copy[data-v-95ff5bd4]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-copy.copied[data-v-95ff5bd4]{color:#6ee7b7;border-color:#34d399}.gen-note[data-v-95ff5bd4]{margin:0;font-size:.75rem;color:#64748b}.gen-note code[data-v-95ff5bd4]{color:#94a3b8}textarea[data-v-95ff5bd4]{width:100%;padding:.625rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-family:Fira Code,Cascadia Code,monospace;font-size:.8125rem;resize:vertical;box-sizing:border-box}textarea[data-v-95ff5bd4]:focus{outline:none;border-color:#4f6ef7}.actions-row[data-v-95ff5bd4]{display:flex;gap:.5rem;align-items:center}.btn-file[data-v-95ff5bd4]{padding:.375rem .75rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.8125rem;cursor:pointer}.btn-file[data-v-95ff5bd4]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-generate[data-v-95ff5bd4]{padding:.375rem .875rem;background:#4f6ef71f;border:1px solid #4f6ef7;border-radius:4px;color:#a5b4fc;font-size:.8125rem;cursor:pointer}.btn-generate[data-v-95ff5bd4]:hover:not(:disabled){background:#4f6ef738;color:#e0e7ff}.btn-generate[data-v-95ff5bd4]:disabled{opacity:.5;cursor:not-allowed}.msg-error[data-v-95ff5bd4]{margin:0;color:#fca5a5;font-size:.8125rem}.ssh-cmd-display[data-v-2daaca0c]{display:flex;flex-direction:column;gap:1rem}.cmd-block[data-v-2daaca0c]{background:#0f1117;border:1px solid #2d3248;border-radius:6px;overflow:hidden}.cmd-header[data-v-2daaca0c]{display:flex;align-items:center;gap:1rem;padding:.5rem .875rem;border-bottom:1px solid #2d3248;background:#1a1d27}.cmd-label[data-v-2daaca0c]{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:600}.cmd-hint[data-v-2daaca0c]{font-size:.8125rem;color:#94a3b8}.cmd-hint code[data-v-2daaca0c]{background:#2d3248;padding:.1em .3em;border-radius:3px;font-size:.875em}.checkbox-label[data-v-2daaca0c]{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.875rem;cursor:pointer}.cmd-toggle[data-v-2daaca0c]{margin-left:auto}.cmd-text[data-v-2daaca0c]{margin:0;padding:.875rem;font-family:Fira Code,Cascadia Code,ui-monospace,monospace;font-size:.8125rem;line-height:1.6;color:#94a3b8;white-space:pre-wrap;word-break:break-all}.port-link[data-v-2daaca0c]{color:#94a3b8;text-decoration:none;border-bottom:1px dotted #4f6ef7}.port-link[data-v-2daaca0c]:hover,.port-link.is-hovered[data-v-2daaca0c]{color:#7dd3fc;border-bottom-style:solid}.port-link.is-hovered[data-v-2daaca0c]{background:#4f6ef740}.cmd-flag[data-v-2daaca0c]{color:#7dd3fc;border-radius:2px;padding:.1em 0;cursor:default;text-decoration:none;transition:background .1s}.cmd-flag.is-hovered[data-v-2daaca0c]{background:#4f6ef740;color:#93c5fd}.cmd-flag[href][data-v-2daaca0c]{cursor:pointer;border-bottom:1px dotted #4f6ef7}.cmd-flag[href][data-v-2daaca0c]:hover{border-bottom-style:solid}.manual-summary[data-v-2daaca0c]{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.manual-summary[data-v-2daaca0c]::-webkit-details-marker{display:none}.manual-summary[data-v-2daaca0c]:before{content:"▸";color:#64748b;font-size:.75rem;margin-right:.25rem}details[open]>.manual-summary[data-v-2daaca0c]:before{content:"▾"}.manual-body[data-v-2daaca0c]{padding:.875rem;display:flex;flex-direction:column;gap:1.25rem}.manual-group-title[data-v-2daaca0c]{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:600;margin-bottom:.625rem}.manual-field-row[data-v-2daaca0c]{display:flex;align-items:center;gap:.5rem;margin-bottom:.125rem}.manual-field-label[data-v-2daaca0c]{width:90px;flex-shrink:0;font-size:.8125rem;color:#94a3b8}.manual-field-code[data-v-2daaca0c]{background:#1a1d27;padding:.15em .4em;border-radius:3px;font-size:.8125rem}.manual-field-na[data-v-2daaca0c]{color:#64748b}.manual-field-note[data-v-2daaca0c]{margin:0 0 .75rem calc(90px + .5rem);font-size:.75rem;color:#64748b}.manual-field-note code[data-v-2daaca0c]{background:#1a1d27;padding:.1em .35em;border-radius:3px}.manual-checkbox-row[data-v-2daaca0c]{margin-bottom:.25rem}.manual-checkbox-row .manual-field-note[data-v-2daaca0c]{margin-left:0}.manual-type-explainer[data-v-2daaca0c]{font-size:.8125rem;color:#94a3b8;line-height:1.6;margin:0 0 1rem}.manual-type-explainer strong[data-v-2daaca0c]{color:#cbd5e1}.manual-tunnel-string[data-v-2daaca0c]{background:#1a1d27;padding:.15em .4em;border-radius:3px;font-size:.8125rem;color:#7dd3fc;display:block}.manual-tunnel-legend[data-v-2daaca0c]{font-size:.6875rem;color:#475569;margin-top:.2rem}.btn-copy[data-v-2daaca0c]{padding:.2rem .6rem;background:none;border:1px solid #2d3248;border-radius:3px;color:#94a3b8;font-size:.75rem;cursor:pointer;white-space:nowrap}.btn-copy[data-v-2daaca0c]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-copy.copied[data-v-2daaca0c]{color:#6ee7b7;border-color:#34d399}.ports-table[data-v-2daaca0c]{width:100%;border-collapse:collapse;font-size:.875rem}.ports-table th[data-v-2daaca0c]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.ports-table tr[data-v-2daaca0c]{cursor:default;transition:background .1s}.ports-table tr.is-hovered[data-v-2daaca0c]{background:#4f6ef714}.ports-table tr.is-disabled[data-v-2daaca0c]{opacity:.45}.ports-table td[data-v-2daaca0c]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.ports-table td code[data-v-2daaca0c]{background:#1a1d27;padding:.15em .4em;border-radius:3px;font-size:.875em}.ports-table .td-enabled[data-v-2daaca0c]{color:#64748b;font-size:.75rem}.no-ports[data-v-2daaca0c]{margin:0;color:#64748b;font-size:.875rem}.service-connector[data-v-a3366dcc]{display:flex;flex-direction:column;gap:1rem}.filter-row[data-v-a3366dcc]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem}.filter-label[data-v-a3366dcc]{color:#94a3b8}.filter-label.filter-label-origin[data-v-a3366dcc]{margin-left:1rem}.filter-btn[data-v-a3366dcc]{padding:.25rem .625rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.8125rem;cursor:pointer}.filter-btn[data-v-a3366dcc]:hover{color:#e2e8f0;border-color:#4f6ef7}.filter-btn.active[data-v-a3366dcc]{background:#4f6ef726;border-color:#4f6ef7;color:#93c5fd}.owners[data-v-a3366dcc]{display:flex;flex-direction:column;gap:1rem}.owner-group[data-v-a3366dcc]{border:1px solid #2d3248;border-radius:6px;padding:.75rem 1rem}.owner-name[data-v-a3366dcc]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9375rem}.owner-badges[data-v-a3366dcc]{font-size:.8125rem;color:#94a3b8}.owner-offline[data-v-a3366dcc]{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.entity-link[data-v-a3366dcc]{color:#7dd3fc;text-decoration:none;font-weight:500}.entity-link[data-v-a3366dcc]:hover{text-decoration:underline}.service-row[data-v-a3366dcc]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.875rem}.service-name[data-v-a3366dcc]{color:#e2e8f0;min-width:100px}.service-port[data-v-a3366dcc]{background:#1a1d27;padding:.1em .4em;border-radius:3px;font-size:.8125rem;color:#7dd3fc}.service-port.editable[data-v-a3366dcc]{cursor:pointer}.service-port.editable[data-v-a3366dcc]:hover{background:#2d3248}.local-port-arrow[data-v-a3366dcc]{color:#64748b;font-size:.8125rem}.local-port-input[data-v-a3366dcc]{width:80px;padding:.2rem .4rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.8125rem}.local-port-input[data-v-a3366dcc]:focus{outline:none;border-color:#4f6ef7}.btn-sm[data-v-a3366dcc]{padding:.2rem .625rem;border-radius:4px;font-size:.8125rem;cursor:pointer;border:1px solid transparent}.btn-primary[data-v-a3366dcc]{background:#4f6ef7;border-color:#4f6ef7;color:#fff}.btn-primary[data-v-a3366dcc]:hover{background:#3d5ce5}.btn-secondary[data-v-a3366dcc]{background:none;border-color:#2d3248;color:#94a3b8}.btn-secondary[data-v-a3366dcc]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-danger[data-v-a3366dcc]{background:none;border-color:#3f1e1e;color:#f87171}.btn-danger[data-v-a3366dcc]:hover{background:#ef44441a}.empty[data-v-a3366dcc]{color:#64748b;font-size:.875rem}.orange-hint[data-v-a3366dcc]{margin:-.25rem 0 .25rem 1.5rem;font-size:.75rem;color:#fb923c}.loading[data-v-4349469d]{color:#94a3b8}.error-msg[data-v-4349469d]{color:#fca5a5}.empty[data-v-4349469d]{color:#64748b;margin:0}.optional[data-v-4349469d]{color:#64748b}.page-header[data-v-4349469d]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem}.page-header h1[data-v-4349469d]{margin:.25rem 0 0;font-size:1.5rem}.header-actions[data-v-4349469d]{display:flex;align-items:center;gap:.5rem}.btn-kbd[data-v-4349469d]{padding:.3rem .7rem;background:#1a1d27;border:1px solid #2d3248;border-bottom-width:2px;border-radius:5px;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8125rem;cursor:pointer}.btn-kbd[data-v-4349469d]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-kbd[data-v-4349469d]:active{border-bottom-width:1px;transform:translateY(1px)}.breadcrumb[data-v-4349469d]{font-size:.8125rem;color:#64748b}.breadcrumb a[data-v-4349469d]{color:#94a3b8;text-decoration:none}.breadcrumb a[data-v-4349469d]:hover{color:#e2e8f0}.breadcrumb .sep[data-v-4349469d]{margin:0 .375rem}.subtitle[data-v-4349469d]{margin:.25rem 0 0;color:#94a3b8;font-size:.9375rem}.roles-badge[data-v-4349469d]{margin-left:.625rem;font-size:.8125rem;color:#94a3b8;vertical-align:middle}.section[data-v-4349469d]{margin-bottom:2.5rem}.section h2[data-v-4349469d]{font-size:1rem;color:#94a3b8;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}.section-header[data-v-4349469d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2[data-v-4349469d]{margin:0}.data-table[data-v-4349469d]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th[data-v-4349469d]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-4349469d]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table code[data-v-4349469d]{background:#1a1d27;padding:.1em .35em;border-radius:3px;font-size:.875em}.data-table .fp[data-v-4349469d]{font-size:.75rem;word-break:break-all}.td-desc[data-v-4349469d]{color:#64748b}.btn-subscribers[data-v-4349469d]{background:none;border:none;color:#94a3b8;font-size:.8125rem;cursor:pointer;padding:0}.btn-subscribers[data-v-4349469d]:hover{color:#e2e8f0}.subscribers-row td[data-v-4349469d]{padding:.25rem .75rem .5rem 2.25rem;background:#161927}.subscriber-list[data-v-4349469d]{margin:0;padding:0;list-style:none}.subscriber-list li[data-v-4349469d]{font-size:.8125rem;color:#94a3b8;padding:.125rem 0}.port-num[data-v-4349469d]{width:80px}.port-name[data-v-4349469d]{width:120px}.port-order[data-v-4349469d]{width:55px}.port-host[data-v-4349469d]{width:140px}.port-num[data-v-4349469d],.port-name[data-v-4349469d],.port-order[data-v-4349469d],.port-host[data-v-4349469d]{padding:.25rem .375rem;background:#0f1117;border:1px solid #2d3248;border-radius:3px;color:#e2e8f0;font-size:.875rem}.port-num[data-v-4349469d]:focus,.port-name[data-v-4349469d]:focus,.port-order[data-v-4349469d]:focus,.port-host[data-v-4349469d]:focus{outline:none;border-color:#4f6ef7}.add-port-form[data-v-4349469d]{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#1a1d27;border-radius:6px;margin-top:.75rem}.field-group[data-v-4349469d]{display:flex;flex-direction:column;gap:.25rem}.field-caption[data-v-4349469d]{font-size:.6875rem;color:#64748b;white-space:nowrap}.checkbox-label[data-v-4349469d]{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.875rem}.add-key-form[data-v-4349469d]{background:#1a1d27;border:1px solid #2d3248;border-radius:6px;padding:1rem;margin-bottom:1rem}.field label[data-v-4349469d]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field input[data-v-4349469d]{width:100%;padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem;box-sizing:border-box}.field input[data-v-4349469d]:focus{outline:none;border-color:#4f6ef7}.btn-del-sm[data-v-4349469d]{background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.125rem .375rem;border-radius:3px}.btn-del-sm[data-v-4349469d]:hover{color:#f87171;background:#ef44441a}.btn-primary[data-v-4349469d]{padding:.375rem .875rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.875rem;cursor:pointer}.btn-primary[data-v-4349469d]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-4349469d]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-4349469d]{padding:.375rem .875rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-4349469d]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-del[data-v-4349469d]{padding:.375rem .875rem;background:none;border:1px solid #3f1e1e;border-radius:4px;color:#f87171;font-size:.875rem;cursor:pointer}.btn-del[data-v-4349469d]:hover{background:#ef44441a}.add-access-form[data-v-4349469d]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#1a1d27;border-radius:6px;margin-bottom:.75rem}.field-label[data-v-4349469d]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.field-hint[data-v-4349469d]{font-size:.8125rem;color:#64748b;white-space:nowrap}.select-sm[data-v-4349469d]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem}.select-sm[data-v-4349469d]:focus{outline:none;border-color:#4f6ef7}.td-ts[data-v-4349469d]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.badge-result[data-v-4349469d]{display:inline-block;padding:.1em .45em;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-result.ok[data-v-4349469d]{background:#34d39926;color:#6ee7b7}.badge-result.fail[data-v-4349469d]{background:#ef444426;color:#fca5a5}.badge-online[data-v-4349469d]{display:inline-block;margin-left:.625rem;padding:.15em .5em;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;vertical-align:middle}.badge-online.online[data-v-4349469d]{background:#34d39926;color:#6ee7b7}.badge-online.offline[data-v-4349469d]{background:#64748b26;color:#94a3b8}.input-sm[data-v-4349469d]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem;min-width:180px}.input-sm[data-v-4349469d]:focus{outline:none;border-color:#4f6ef7}.section-note[data-v-4349469d]{font-size:.8125rem;color:#64748b;margin:-.5rem 0 .75rem}.entity-link[data-v-4349469d]{color:#818cf8;text-decoration:none}.entity-link[data-v-4349469d]:hover{text-decoration:underline}.page-header[data-v-f34215ce]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-f34215ce]{margin:0}.add-friend-box[data-v-f34215ce]{margin-bottom:1.5rem}.add-friend-box .add-friend-form[data-v-f34215ce]{display:flex;gap:.5rem}.input[data-v-f34215ce]{padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;min-width:200px}.input[data-v-f34215ce]:focus{outline:none;border-color:#4f6ef7}.friend-list[data-v-f34215ce]{display:flex;flex-direction:column;gap:.75rem}.friend-card[data-v-f34215ce]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:1rem}.friend-row[data-v-f34215ce]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.friend-info[data-v-f34215ce]{display:flex;align-items:center;gap:.5rem}.friend-direction[data-v-f34215ce]{color:#64748b;font-size:.8125rem}.friend-user[data-v-f34215ce]{color:#e2e8f0;font-weight:500}.badge-status[data-v-f34215ce]{display:inline-block;padding:.1em .45em;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-status.pending[data-v-f34215ce]{background:#fbbf2426;color:#fcd34d}.badge-status.accepted[data-v-f34215ce]{background:#34d39926;color:#6ee7b7}.badge-status.declined[data-v-f34215ce]{background:#ef444426;color:#fca5a5}.friend-actions[data-v-f34215ce]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.select-label[data-v-f34215ce]{font-size:.8125rem;color:#94a3b8}.select-sm[data-v-f34215ce]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.8125rem}.select-sm[data-v-f34215ce]:focus{outline:none;border-color:#4f6ef7}.btn-accept[data-v-f34215ce]{padding:.25rem .625rem;background:#34d3991a;border:1px solid #34d399;border-radius:4px;color:#6ee7b7;font-size:.75rem;cursor:pointer}.btn-accept[data-v-f34215ce]:hover{background:#34d39933}.btn-decline[data-v-f34215ce]{padding:.25rem .625rem;background:none;border:1px solid #3f1e1e;border-radius:4px;color:#fca5a5;font-size:.75rem;cursor:pointer}.btn-decline[data-v-f34215ce]:hover{background:#ef44441a}.grants-panel[data-v-f34215ce]{margin-top:.875rem;padding-top:.875rem;border-top:1px solid #2d3248}.grants-list[data-v-f34215ce]{margin-bottom:.5rem}.grant-row[data-v-f34215ce]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.entity-id[data-v-f34215ce]{background:#0f1117;padding:.1em .35em;border-radius:3px;font-size:.75rem;word-break:break-all}.add-grant-form[data-v-f34215ce]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.btn-del-sm[data-v-f34215ce]{background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.125rem .375rem;border-radius:3px}.btn-del-sm[data-v-f34215ce]:hover{color:#f87171;background:#ef44441a}.btn-primary[data-v-f34215ce]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer}.btn-primary[data-v-f34215ce]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-f34215ce]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-f34215ce]{padding:.375rem .875rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-f34215ce]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-secondary[data-v-f34215ce]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary.btn-sm[data-v-f34215ce]{padding:.25rem .625rem;font-size:.8125rem}.loading[data-v-f34215ce]{color:#94a3b8}.error-msg[data-v-f34215ce]{color:#fca5a5}.empty[data-v-f34215ce]{color:#64748b;margin:0}.page-header[data-v-a78f3aa2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-a78f3aa2]{margin:0}.data-table[data-v-a78f3aa2]{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th[data-v-a78f3aa2]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-a78f3aa2]{padding:.625rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.row-self td[data-v-a78f3aa2]{background:#4f6ef70f}.td-sec[data-v-a78f3aa2]{color:#94a3b8}.badge-you[data-v-a78f3aa2]{display:inline-block;padding:.1em .4em;border-radius:3px;background:#4f6ef733;color:#93c5fd;font-size:.6875rem;font-weight:600;margin-left:.375rem;text-transform:uppercase}.badge-admin[data-v-a78f3aa2]{display:inline-block;padding:.1em .4em;border-radius:3px;background:#fbbf2426;color:#fcd34d;font-size:.75rem;font-weight:600}.badge-locked[data-v-a78f3aa2]{display:inline-block;padding:.1em .4em;border-radius:3px;background:#ef444426;color:#fca5a5;font-size:.75rem;font-weight:600}.btn-edit[data-v-a78f3aa2]{padding:.25rem .625rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.75rem;cursor:pointer}.btn-edit[data-v-a78f3aa2]:hover{color:#e2e8f0;border-color:#4f6ef7}.modal-overlay[data-v-a78f3aa2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-a78f3aa2]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:440px}.modal h2[data-v-a78f3aa2]{margin:0 0 1.5rem;font-size:1.125rem}.field[data-v-a78f3aa2]{margin-bottom:1rem}.field label[data-v-a78f3aa2]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field .optional[data-v-a78f3aa2]{color:#64748b}.field input[data-v-a78f3aa2]{width:100%;padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;box-sizing:border-box}.field input[data-v-a78f3aa2]:focus{outline:none;border-color:#4f6ef7}.field input[data-v-a78f3aa2]:disabled{opacity:.5}.field-row[data-v-a78f3aa2]{display:flex;gap:1.5rem;margin-bottom:1rem}.checkbox-label[data-v-a78f3aa2]{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#94a3b8;cursor:pointer}.checkbox-label input[data-v-a78f3aa2]{width:auto}.hint[data-v-a78f3aa2]{font-size:.75rem;color:#64748b;margin-left:.25rem}.modal-actions[data-v-a78f3aa2]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary[data-v-a78f3aa2]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer}.btn-primary[data-v-a78f3aa2]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-a78f3aa2]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-a78f3aa2]{padding:.5rem 1.25rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.9375rem;cursor:pointer}.btn-secondary[data-v-a78f3aa2]:hover{color:#e2e8f0;border-color:#4f6ef7}.loading[data-v-a78f3aa2]{color:#94a3b8}.error-msg[data-v-a78f3aa2]{color:#fca5a5}.multi-button[data-v-c88802f0]{display:inline-flex}.multi-button[data-v-c88802f0]>*:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.multi-button[data-v-c88802f0]>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.page-header[data-v-3c300566]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-3c300566]{margin:0}.filter-bar[data-v-3c300566]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.75rem;background:#1a1d27;border-radius:6px}.input-sm[data-v-3c300566],.select-sm[data-v-3c300566]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem}.input-sm[data-v-3c300566]:focus,.select-sm[data-v-3c300566]:focus{outline:none;border-color:#4f6ef7}.loading[data-v-3c300566]{color:#94a3b8}.empty[data-v-3c300566]{color:#64748b}.data-table[data-v-3c300566]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th[data-v-3c300566]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-3c300566]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table code[data-v-3c300566]{background:#1a1d27;padding:.1em .35em;border-radius:3px;font-size:.875em}.data-table .fp[data-v-3c300566]{font-size:.75rem;word-break:break-all}.td-desc[data-v-3c300566]{color:#64748b}.td-ts[data-v-3c300566]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.badge-result[data-v-3c300566]{display:inline-block;padding:.1em .45em;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-result.ok[data-v-3c300566]{background:#34d39926;color:#6ee7b7}.badge-result.fail[data-v-3c300566]{background:#ef444426;color:#fca5a5}.badge-result.trap[data-v-3c300566]{background:#fbbf2426;color:#fcd34d}.badge-result.ban[data-v-3c300566]{background:#f8717133;color:#f87171}.btn-ban[data-v-3c300566]{font-size:.75rem;padding:.2rem .6rem}.pager[data-v-3c300566]{display:flex;align-items:center;gap:1rem;margin-top:1rem;color:#94a3b8;font-size:.875rem}.bulk-actions[data-v-3c300566]{margin-top:1rem}.btn-primary[data-v-3c300566]{padding:.375rem .875rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.875rem;cursor:pointer}.btn-primary[data-v-3c300566]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-3c300566]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-3c300566]{padding:.375rem .875rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-3c300566]:hover:not(:disabled){color:#e2e8f0;border-color:#4f6ef7}.btn-secondary[data-v-3c300566]:disabled{opacity:.5;cursor:not-allowed}.btn-danger[data-v-3c300566]{padding:.375rem .875rem;background:#ef444426;border:1px solid #ef4444;border-radius:4px;color:#fca5a5;font-size:.875rem;cursor:pointer}.btn-danger[data-v-3c300566]:hover:not(:disabled){background:#ef444440;color:#fee2e2}.btn-danger[data-v-3c300566]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-3c300566]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-3c300566]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:440px}.modal h2[data-v-3c300566]{margin:0 0 .5rem;font-size:1.125rem}.section-note[data-v-3c300566]{font-size:.8125rem;color:#64748b;margin:0 0 1rem;word-break:break-all}.field[data-v-3c300566]{margin-bottom:1rem}.field label[data-v-3c300566]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field .optional[data-v-3c300566]{color:#64748b}.field input[data-v-3c300566]{width:100%;padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;box-sizing:border-box}.field input[data-v-3c300566]:focus{outline:none;border-color:#4f6ef7}.modal-actions[data-v-3c300566]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.page-header[data-v-3cfaea46]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-3cfaea46]{margin:0}.section[data-v-3cfaea46]{margin-bottom:2.5rem}.section h2[data-v-3cfaea46]{font-size:1rem;color:#94a3b8;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}.section-header[data-v-3cfaea46]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2[data-v-3cfaea46]{margin:0}.subsection-title[data-v-3cfaea46]{font-size:.8125rem;color:#64748b;margin:1.25rem 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.thresholds-card[data-v-3cfaea46]{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:1rem;background:#1a1d27;border-radius:6px}.checkbox-label[data-v-3cfaea46]{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.875rem}.section-note[data-v-3cfaea46]{color:#64748b;font-size:.875rem}.field-inline[data-v-3cfaea46]{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.875rem}.field-inline label[data-v-3cfaea46]{white-space:nowrap}.add-form[data-v-3cfaea46]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#1a1d27;border-radius:6px;margin-bottom:.75rem}.input-sm[data-v-3cfaea46],.select-sm[data-v-3cfaea46]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem}.input-sm[data-v-3cfaea46]:focus,.select-sm[data-v-3cfaea46]:focus{outline:none;border-color:#4f6ef7}.loading[data-v-3cfaea46]{color:#94a3b8}.empty[data-v-3cfaea46]{color:#64748b}.data-table[data-v-3cfaea46]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th[data-v-3cfaea46]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-3cfaea46]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table code[data-v-3cfaea46]{background:#1a1d27;padding:.1em .35em;border-radius:3px;font-size:.875em}.data-table .fp[data-v-3cfaea46]{font-size:.75rem;word-break:break-all}.row-expired[data-v-3cfaea46],.row-deleted[data-v-3cfaea46]{opacity:.55}.expired-tag[data-v-3cfaea46]{color:#64748b}.deleted-tag[data-v-3cfaea46]{color:#f87171;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-right:.5rem}.btn-restore[data-v-3cfaea46]{padding:.125rem .5rem;font-size:.8125rem}.td-desc[data-v-3cfaea46]{color:#64748b}.td-ts[data-v-3cfaea46]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.btn-del-sm[data-v-3cfaea46]{background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.125rem .375rem;border-radius:3px}.btn-del-sm[data-v-3cfaea46]:hover{color:#f87171;background:#ef44441a}.btn-primary[data-v-3cfaea46]{padding:.375rem .875rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.875rem;cursor:pointer}.btn-primary[data-v-3cfaea46]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-3cfaea46]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-3cfaea46]{padding:.375rem .875rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-3cfaea46]:hover{color:#e2e8f0;border-color:#4f6ef7}.page-header[data-v-1a748588]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-1a748588]{margin:0}.filter-bar[data-v-1a748588]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.75rem;background:#1a1d27;border-radius:6px}.select-sm[data-v-1a748588]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem}.select-sm[data-v-1a748588]:focus{outline:none;border-color:#4f6ef7}.data-table[data-v-1a748588]{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th[data-v-1a748588]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-1a748588]{padding:.625rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table a[data-v-1a748588]{color:#7dd3fc;text-decoration:none}.data-table a[data-v-1a748588]:hover{text-decoration:underline}.empty[data-v-1a748588]{color:#64748b}.loading[data-v-1a748588]{color:#94a3b8}.page-title[data-v-746f6080]{margin-bottom:2rem}.section[data-v-746f6080]{margin-bottom:2.5rem}.section h2[data-v-746f6080]{font-size:1rem;color:#94a3b8;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}.card[data-v-746f6080]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:1.5rem;max-width:480px}.field[data-v-746f6080]{margin-bottom:1rem}.field label[data-v-746f6080]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field input[data-v-746f6080]{width:100%;padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;box-sizing:border-box}.field input[data-v-746f6080]:focus{outline:none;border-color:#4f6ef7}.link-list[data-v-746f6080]{display:flex;flex-direction:column;gap:0}.purge-link[data-v-746f6080]{display:flex;flex-direction:column;padding:.875rem 0;border-bottom:1px solid #2d3248;text-decoration:none}.purge-link[data-v-746f6080]:last-child{border-bottom:none}.purge-link:hover .link-title[data-v-746f6080]{color:#7dd3fc}.link-title[data-v-746f6080]{color:#e2e8f0;font-size:.9375rem;margin-bottom:.125rem}.link-desc[data-v-746f6080]{color:#64748b;font-size:.8125rem}.btn-primary[data-v-746f6080]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer;margin-top:.5rem}.btn-primary[data-v-746f6080]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-746f6080]:disabled{opacity:.6;cursor:not-allowed}.error-msg[data-v-746f6080]{color:#fca5a5;margin-bottom:.75rem}.success-msg[data-v-746f6080]{color:#6ee7b7;margin-bottom:.75rem}.server-info[data-v-746f6080]{max-width:560px;display:flex;flex-direction:column;gap:0}.info-row[data-v-746f6080]{display:flex;align-items:center;gap:1rem;padding:.625rem 0;border-bottom:1px solid #2d3248}.info-row[data-v-746f6080]:last-child{border-bottom:none}.info-label[data-v-746f6080]{width:110px;flex-shrink:0;font-size:.8125rem;color:#64748b}.info-value[data-v-746f6080]{background:#0f1117;padding:.15em .45em;border-radius:3px;font-size:.875rem;color:#e2e8f0;flex:1;word-break:break-all}.mono-sm[data-v-746f6080]{font-size:.8rem}.info-env[data-v-746f6080]{font-size:.75rem;color:#64748b}.info-env code[data-v-746f6080]{background:#2d3248;padding:.1em .3em;border-radius:3px}.page-header[data-v-9bb0caf6]{margin-bottom:1.5rem}.page-header h1[data-v-9bb0caf6]{margin:.25rem 0 0}.back-link[data-v-9bb0caf6]{color:#94a3b8;text-decoration:none;font-size:.875rem}.back-link[data-v-9bb0caf6]:hover{color:#e2e8f0}.toolbar[data-v-9bb0caf6]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.count[data-v-9bb0caf6]{font-size:.875rem;color:#64748b}.checkbox-label[data-v-9bb0caf6]{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#94a3b8;cursor:pointer}.data-table[data-v-9bb0caf6]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table .th-check[data-v-9bb0caf6]{width:32px}.data-table th[data-v-9bb0caf6]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-9bb0caf6]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table code[data-v-9bb0caf6]{background:#0f1117;padding:.1em .35em;border-radius:3px}.data-table .fp[data-v-9bb0caf6]{font-size:.75rem;word-break:break-all}.data-table .row-selected td[data-v-9bb0caf6]{background:#ef44440d}.td-sec[data-v-9bb0caf6]{color:#64748b}.action-bar[data-v-9bb0caf6]{margin-top:1rem}.modal-overlay[data-v-9bb0caf6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-9bb0caf6]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:400px}.modal h2[data-v-9bb0caf6]{margin:0 0 1rem}.modal p[data-v-9bb0caf6]{color:#94a3b8;margin-bottom:1.5rem}.modal-actions[data-v-9bb0caf6]{display:flex;gap:.75rem;justify-content:flex-end}.btn-danger[data-v-9bb0caf6]{padding:.5rem 1.25rem;background:#ef444426;border:1px solid #ef4444;border-radius:4px;color:#fca5a5;font-size:.9375rem;cursor:pointer}.btn-danger[data-v-9bb0caf6]:hover:not(:disabled){background:#ef444440}.btn-danger[data-v-9bb0caf6]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-9bb0caf6]{padding:.5rem 1.25rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.9375rem;cursor:pointer}.btn-secondary[data-v-9bb0caf6]:hover{color:#e2e8f0;border-color:#4f6ef7}.loading[data-v-9bb0caf6]{color:#94a3b8}.error-msg[data-v-9bb0caf6]{color:#fca5a5}.empty[data-v-9bb0caf6]{color:#64748b}.page-header[data-v-38c48592]{margin-bottom:1.5rem}.page-header h1[data-v-38c48592]{margin:.25rem 0 0}.back-link[data-v-38c48592]{color:#94a3b8;text-decoration:none;font-size:.875rem}.back-link[data-v-38c48592]:hover{color:#e2e8f0}.toolbar[data-v-38c48592]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.count[data-v-38c48592]{font-size:.875rem;color:#64748b}.checkbox-label[data-v-38c48592]{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#94a3b8;cursor:pointer}.data-table[data-v-38c48592]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table .th-check[data-v-38c48592]{width:32px}.data-table th[data-v-38c48592]{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #2d3248;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table td[data-v-38c48592]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table code[data-v-38c48592]{background:#0f1117;padding:.1em .35em;border-radius:3px;font-size:.875em}.data-table .uuid[data-v-38c48592]{font-size:.75rem;word-break:break-all}.data-table .row-selected td[data-v-38c48592]{background:#ef44440d}.action-bar[data-v-38c48592]{margin-top:1rem}.modal-overlay[data-v-38c48592]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-38c48592]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:400px}.modal h2[data-v-38c48592]{margin:0 0 1rem}.modal p[data-v-38c48592]{color:#94a3b8;margin-bottom:1.5rem}.modal-actions[data-v-38c48592]{display:flex;gap:.75rem;justify-content:flex-end}.btn-danger[data-v-38c48592]{padding:.5rem 1.25rem;background:#ef444426;border:1px solid #ef4444;border-radius:4px;color:#fca5a5;font-size:.9375rem;cursor:pointer}.btn-danger[data-v-38c48592]:hover:not(:disabled){background:#ef444440}.btn-danger[data-v-38c48592]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-38c48592]{padding:.5rem 1.25rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.9375rem;cursor:pointer}.btn-secondary[data-v-38c48592]:hover{color:#e2e8f0;border-color:#4f6ef7}.loading[data-v-38c48592]{color:#94a3b8}.error-msg[data-v-38c48592]{color:#fca5a5}.empty[data-v-38c48592]{color:#64748b}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1117;color:#e2e8f0}h1,h2,h3,h4,h5,h6{margin:0 0 1rem}a{color:#4f6ef7;text-decoration:none}a:hover{text-decoration:underline}
