@charset "UTF-8";.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-481006de]{display:flex;min-height:100vh;background:#0f1117;color:#e2e8f0}.sidebar[data-v-481006de]{width:220px;flex-shrink:0;background:#1a1d27;border-right:1px solid #2d3248;display:flex;flex-direction:column;padding:1rem 0}.sidebar-brand[data-v-481006de]{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-481006de]{list-style:none;margin:0;padding:0;flex:1}.sidebar-nav li a[data-v-481006de]{display:block;padding:.5rem 1rem;color:#94a3b8;text-decoration:none;font-size:.9375rem}.sidebar-nav li a[data-v-481006de]:hover,.sidebar-nav li a.router-link-active[data-v-481006de]{color:#e2e8f0;background:#2d3248}.nav-group-label[data-v-481006de]{padding:.875rem 1rem .25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:#4b5563;font-weight:600}.sidebar-footer[data-v-481006de]{padding:1rem;border-top:1px solid #2d3248;display:flex;align-items:center;gap:.5rem}.username[data-v-481006de]{flex:1;font-size:.8125rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-481006de]{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-481006de]:hover{color:#e2e8f0;border-color:#4f6ef7}.content[data-v-481006de]{flex:1;padding:2rem;overflow-y:auto}.page-header[data-v-bf0ca098]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-bf0ca098]{margin:0}.data-table[data-v-bf0ca098]{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th[data-v-bf0ca098]{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-bf0ca098]{padding:.625rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table a[data-v-bf0ca098]{color:#7dd3fc;text-decoration:none}.data-table a[data-v-bf0ca098]:hover{text-decoration:underline}.td-desc[data-v-bf0ca098]{color:#64748b;font-size:.875rem}.badge[data-v-bf0ca098]{display:inline-block;padding:.15em .5em;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge.server[data-v-bf0ca098]{background:#4f6ef733;color:#93c5fd}.badge.client[data-v-bf0ca098]{background:#34d39933;color:#6ee7b7}.td-actions[data-v-bf0ca098]{text-align:right}.btn-del[data-v-bf0ca098]{background:none;border:1px solid #3f1e1e;border-radius:4px;color:#f87171;padding:.25rem .5rem;font-size:.75rem;cursor:pointer}.btn-del[data-v-bf0ca098]:hover{background:#ef44441a}.empty[data-v-bf0ca098]{color:#64748b}.loading[data-v-bf0ca098]{color:#94a3b8}.error-msg[data-v-bf0ca098]{color:#fca5a5}.modal-overlay[data-v-bf0ca098]{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-bf0ca098]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:440px}.modal h2[data-v-bf0ca098]{margin:0 0 1.5rem;font-size:1.125rem}.field[data-v-bf0ca098]{margin-bottom:1rem}.field label[data-v-bf0ca098]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field .optional[data-v-bf0ca098]{color:#64748b}.field input[data-v-bf0ca098]{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-bf0ca098]:focus{outline:none;border-color:#4f6ef7}.modal-actions[data-v-bf0ca098]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary[data-v-bf0ca098]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer}.btn-primary[data-v-bf0ca098]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-bf0ca098]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-bf0ca098]{padding:.5rem 1.25rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.9375rem;cursor:pointer}.btn-secondary[data-v-bf0ca098]: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-6015af91]{display:flex;flex-direction:column;gap:1rem}.discovery-section[data-v-6015af91]{border:1px solid #2d3248;border-radius:6px;overflow:hidden}.discovery-header[data-v-6015af91]{padding:.5rem .875rem;background:#1a1d27;border-bottom:1px solid #2d3248;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:600}.discovery-server[data-v-6015af91]{padding:.5rem .875rem;border-bottom:1px solid #1e2235}.discovery-server[data-v-6015af91]:last-child{border-bottom:none}.server-name[data-v-6015af91]{font-size:.875rem;color:#94a3b8;font-weight:500;margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem}.server-hostname[data-v-6015af91]{font-size:.8125rem;color:#64748b}.server-uuid[data-v-6015af91]{font-size:.75rem;background:#1a1d27;padding:.1em .35em;border-radius:3px;color:#64748b}.no-server-ports[data-v-6015af91]{margin:0;font-size:.8125rem;color:#475569}.discovery-ports[data-v-6015af91]{display:flex;flex-direction:column;gap:.25rem}.discovery-port-row[data-v-6015af91]{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;padding:.1875rem 0}.discovery-port-row.is-disabled[data-v-6015af91]{opacity:.5}.discovery-check[data-v-6015af91]{cursor:pointer}.dp-ports[data-v-6015af91]{font-size:.8125rem;background:#1a1d27;padding:.1em .4em;border-radius:3px;color:#7dd3fc}.dp-name[data-v-6015af91]{color:#94a3b8;flex:1}.dp-badge[data-v-6015af91]{font-size:.6875rem;padding:.1em .45em;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dp-badge.auto[data-v-6015af91]{background:#4f6ef726;color:#818cf8}.dp-badge.enabled[data-v-6015af91]{background:#34d39926;color:#6ee7b7}.dp-badge.disabled[data-v-6015af91]{background:#64748b1a;color:#64748b}.btn-icon[data-v-6015af91]{background:none;border:none;cursor:pointer;padding:.125rem .3rem;border-radius:3px;color:#64748b;font-size:.8125rem;line-height:1}.btn-icon[data-v-6015af91]:hover{color:#94a3b8;background:#ffffff0f}.btn-pin[data-v-6015af91]:hover{color:#fbbf24}.btn-reset[data-v-6015af91]:hover{color:#f87171;background:#ef44441a}.btn-pin-ok[data-v-6015af91]{padding:.2rem .5rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.8125rem;cursor:pointer}.btn-pin-ok[data-v-6015af91]:hover{background:#3d5ce5}.pin-input[data-v-6015af91]{width:80px;padding:.2rem .375rem;background:#0f1117;border:1px solid #4f6ef7;border-radius:4px;color:#e2e8f0;font-size:.8125rem}.pin-input[data-v-6015af91]:focus{outline:none}.cmd-block[data-v-6015af91]{background:#0f1117;border:1px solid #2d3248;border-radius:6px;overflow:hidden}.cmd-header[data-v-6015af91]{display:flex;align-items:center;gap:1rem;padding:.5rem .875rem;border-bottom:1px solid #2d3248;background:#1a1d27}.cmd-label[data-v-6015af91]{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:600}.cmd-hint[data-v-6015af91]{font-size:.8125rem;color:#94a3b8}.cmd-hint code[data-v-6015af91]{background:#2d3248;padding:.1em .3em;border-radius:3px;font-size:.875em}.cmd-text[data-v-6015af91]{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-6015af91]{color:#94a3b8;text-decoration:none;border-bottom:1px dotted #4f6ef7}.port-link[data-v-6015af91]:hover{color:#7dd3fc;border-bottom-style:solid}.cmd-flag[data-v-6015af91]{color:#7dd3fc;border-radius:2px;padding:.1em 0;cursor:default;text-decoration:none;transition:background .1s}.cmd-flag.is-hovered[data-v-6015af91]{background:#4f6ef740;color:#93c5fd}.cmd-flag[href][data-v-6015af91]{cursor:pointer;border-bottom:1px dotted #4f6ef7}.cmd-flag[href][data-v-6015af91]:hover{border-bottom-style:solid}.cmd-flag-discovery[data-v-6015af91]{color:#86efac}.ports-table[data-v-6015af91]{width:100%;border-collapse:collapse;font-size:.875rem}.ports-table th[data-v-6015af91]{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-6015af91]{cursor:default;transition:background .1s}.ports-table tr.is-hovered[data-v-6015af91]{background:#4f6ef714}.ports-table tr.is-disabled[data-v-6015af91]{opacity:.45}.ports-table td[data-v-6015af91]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.ports-table td code[data-v-6015af91]{background:#1a1d27;padding:.15em .4em;border-radius:3px;font-size:.875em}.ports-table .td-enabled[data-v-6015af91]{color:#64748b;font-size:.75rem}.no-ports[data-v-6015af91]{margin:0;color:#64748b;font-size:.875rem}.loading[data-v-23eccd52]{color:#94a3b8}.error-msg[data-v-23eccd52]{color:#fca5a5}.empty[data-v-23eccd52]{color:#64748b;margin:0}.optional[data-v-23eccd52]{color:#64748b}.page-header[data-v-23eccd52]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem}.page-header h1[data-v-23eccd52]{margin:.25rem 0 0;font-size:1.5rem}.breadcrumb[data-v-23eccd52]{font-size:.8125rem;color:#64748b}.breadcrumb a[data-v-23eccd52]{color:#94a3b8;text-decoration:none}.breadcrumb a[data-v-23eccd52]:hover{color:#e2e8f0}.breadcrumb .sep[data-v-23eccd52]{margin:0 .375rem}.subtitle[data-v-23eccd52]{margin:.25rem 0 0;color:#94a3b8;font-size:.9375rem}.section[data-v-23eccd52]{margin-bottom:2.5rem}.section h2[data-v-23eccd52]{font-size:1rem;color:#94a3b8;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}.section-header[data-v-23eccd52]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2[data-v-23eccd52]{margin:0}.data-table[data-v-23eccd52]{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th[data-v-23eccd52]{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-23eccd52]{padding:.5rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.data-table code[data-v-23eccd52]{background:#1a1d27;padding:.1em .35em;border-radius:3px;font-size:.875em}.data-table .fp[data-v-23eccd52]{font-size:.75rem;word-break:break-all}.td-desc[data-v-23eccd52]{color:#64748b}.port-num[data-v-23eccd52]{width:70px}.port-name[data-v-23eccd52]{width:120px}.port-order[data-v-23eccd52]{width:55px}.port-num[data-v-23eccd52],.port-name[data-v-23eccd52],.port-order[data-v-23eccd52]{padding:.25rem .375rem;background:#0f1117;border:1px solid #2d3248;border-radius:3px;color:#e2e8f0;font-size:.875rem}.port-num[data-v-23eccd52]:focus,.port-name[data-v-23eccd52]:focus,.port-order[data-v-23eccd52]:focus{outline:none;border-color:#4f6ef7}.add-port-form[data-v-23eccd52]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#1a1d27;border-radius:6px;margin-top:.75rem}.checkbox-label[data-v-23eccd52]{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.875rem}.add-key-form[data-v-23eccd52]{background:#1a1d27;border:1px solid #2d3248;border-radius:6px;padding:1rem;margin-bottom:1rem}.field label[data-v-23eccd52]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field input[data-v-23eccd52]{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-23eccd52]:focus{outline:none;border-color:#4f6ef7}.btn-del-sm[data-v-23eccd52]{background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.125rem .375rem;border-radius:3px}.btn-del-sm[data-v-23eccd52]:hover{color:#f87171;background:#ef44441a}.btn-primary[data-v-23eccd52]{padding:.375rem .875rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.875rem;cursor:pointer}.btn-primary[data-v-23eccd52]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-23eccd52]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-23eccd52]{padding:.375rem .875rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-23eccd52]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-del[data-v-23eccd52]{padding:.375rem .875rem;background:none;border:1px solid #3f1e1e;border-radius:4px;color:#f87171;font-size:.875rem;cursor:pointer}.btn-del[data-v-23eccd52]:hover{background:#ef44441a}.add-access-form[data-v-23eccd52]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#1a1d27;border-radius:6px;margin-bottom:.75rem}.field-label[data-v-23eccd52]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.field-hint[data-v-23eccd52]{font-size:.8125rem;color:#64748b;white-space:nowrap}.select-sm[data-v-23eccd52]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem}.select-sm[data-v-23eccd52]:focus{outline:none;border-color:#4f6ef7}.td-ts[data-v-23eccd52]{font-size:.8125rem;color:#94a3b8;white-space:nowrap}.badge-result[data-v-23eccd52]{display:inline-block;padding:.1em .45em;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-result.ok[data-v-23eccd52]{background:#34d39926;color:#6ee7b7}.badge-result.fail[data-v-23eccd52]{background:#ef444426;color:#fca5a5}.input-sm[data-v-23eccd52]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.875rem;min-width:180px}.input-sm[data-v-23eccd52]:focus{outline:none;border-color:#4f6ef7}.section-note[data-v-23eccd52]{font-size:.8125rem;color:#64748b;margin:-.5rem 0 .75rem}.entity-link[data-v-23eccd52]{color:#818cf8;text-decoration:none}.entity-link[data-v-23eccd52]:hover{text-decoration:underline}.page-header[data-v-623f3670]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-623f3670]{margin:0}.add-friend-box[data-v-623f3670]{margin-bottom:1.5rem}.add-friend-box .add-friend-form[data-v-623f3670]{display:flex;gap:.5rem}.input[data-v-623f3670]{padding:.5rem .75rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.9375rem;min-width:200px}.input[data-v-623f3670]:focus{outline:none;border-color:#4f6ef7}.friend-list[data-v-623f3670]{display:flex;flex-direction:column;gap:.75rem}.friend-card[data-v-623f3670]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:1rem}.friend-row[data-v-623f3670]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.friend-info[data-v-623f3670]{display:flex;align-items:center;gap:.5rem}.friend-direction[data-v-623f3670]{color:#64748b;font-size:.8125rem}.friend-user[data-v-623f3670]{color:#e2e8f0;font-weight:500}.badge-status[data-v-623f3670]{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-623f3670]{background:#fbbf2426;color:#fcd34d}.badge-status.accepted[data-v-623f3670]{background:#34d39926;color:#6ee7b7}.badge-status.declined[data-v-623f3670]{background:#ef444426;color:#fca5a5}.friend-actions[data-v-623f3670]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.select-label[data-v-623f3670]{font-size:.8125rem;color:#94a3b8}.select-sm[data-v-623f3670]{padding:.25rem .5rem;background:#0f1117;border:1px solid #2d3248;border-radius:4px;color:#e2e8f0;font-size:.8125rem}.select-sm[data-v-623f3670]:focus{outline:none;border-color:#4f6ef7}.btn-accept[data-v-623f3670]{padding:.25rem .625rem;background:#34d3991a;border:1px solid #34d399;border-radius:4px;color:#6ee7b7;font-size:.75rem;cursor:pointer}.btn-accept[data-v-623f3670]:hover{background:#34d39933}.btn-decline[data-v-623f3670]{padding:.25rem .625rem;background:none;border:1px solid #3f1e1e;border-radius:4px;color:#fca5a5;font-size:.75rem;cursor:pointer}.btn-decline[data-v-623f3670]:hover{background:#ef44441a}.grants-panel[data-v-623f3670]{margin-top:.875rem;padding-top:.875rem;border-top:1px solid #2d3248}.grants-list[data-v-623f3670]{margin-bottom:.5rem}.grant-row[data-v-623f3670]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.entity-id[data-v-623f3670]{background:#0f1117;padding:.1em .35em;border-radius:3px;font-size:.75rem;word-break:break-all}.add-grant-form[data-v-623f3670]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.btn-del-sm[data-v-623f3670]{background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.125rem .375rem;border-radius:3px}.btn-del-sm[data-v-623f3670]:hover{color:#f87171;background:#ef44441a}.btn-primary[data-v-623f3670]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer}.btn-primary[data-v-623f3670]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-623f3670]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-623f3670]{padding:.375rem .875rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-623f3670]:hover{color:#e2e8f0;border-color:#4f6ef7}.btn-secondary[data-v-623f3670]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary.btn-sm[data-v-623f3670]{padding:.25rem .625rem;font-size:.8125rem}.loading[data-v-623f3670]{color:#94a3b8}.error-msg[data-v-623f3670]{color:#fca5a5}.empty[data-v-623f3670]{color:#64748b;margin:0}.page-header[data-v-71afa7c9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1[data-v-71afa7c9]{margin:0}.data-table[data-v-71afa7c9]{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th[data-v-71afa7c9]{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-71afa7c9]{padding:.625rem .75rem;border-bottom:1px solid #1e2235;color:#e2e8f0}.row-self td[data-v-71afa7c9]{background:#4f6ef70f}.td-sec[data-v-71afa7c9]{color:#94a3b8}.badge-you[data-v-71afa7c9]{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-71afa7c9]{display:inline-block;padding:.1em .4em;border-radius:3px;background:#fbbf2426;color:#fcd34d;font-size:.75rem;font-weight:600}.badge-locked[data-v-71afa7c9]{display:inline-block;padding:.1em .4em;border-radius:3px;background:#ef444426;color:#fca5a5;font-size:.75rem;font-weight:600}.btn-edit[data-v-71afa7c9]{padding:.25rem .625rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.75rem;cursor:pointer}.btn-edit[data-v-71afa7c9]:hover{color:#e2e8f0;border-color:#4f6ef7}.modal-overlay[data-v-71afa7c9]{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-71afa7c9]{background:#1a1d27;border:1px solid #2d3248;border-radius:8px;padding:2rem;width:100%;max-width:440px}.modal h2[data-v-71afa7c9]{margin:0 0 1.5rem;font-size:1.125rem}.field[data-v-71afa7c9]{margin-bottom:1rem}.field label[data-v-71afa7c9]{display:block;margin-bottom:.375rem;font-size:.875rem;color:#94a3b8}.field .optional[data-v-71afa7c9]{color:#64748b}.field input[data-v-71afa7c9]{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-71afa7c9]:focus{outline:none;border-color:#4f6ef7}.field input[data-v-71afa7c9]:disabled{opacity:.5}.field-row[data-v-71afa7c9]{display:flex;gap:1.5rem;margin-bottom:1rem}.checkbox-label[data-v-71afa7c9]{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#94a3b8;cursor:pointer}.checkbox-label input[data-v-71afa7c9]{width:auto}.hint[data-v-71afa7c9]{font-size:.75rem;color:#64748b;margin-left:.25rem}.modal-actions[data-v-71afa7c9]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary[data-v-71afa7c9]{padding:.5rem 1.25rem;background:#4f6ef7;border:none;border-radius:4px;color:#fff;font-size:.9375rem;cursor:pointer}.btn-primary[data-v-71afa7c9]:hover:not(:disabled){background:#3d5ce5}.btn-primary[data-v-71afa7c9]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-71afa7c9]{padding:.5rem 1.25rem;background:none;border:1px solid #2d3248;border-radius:4px;color:#94a3b8;font-size:.9375rem;cursor:pointer}.btn-secondary[data-v-71afa7c9]:hover{color:#e2e8f0;border-color:#4f6ef7}.loading[data-v-71afa7c9]{color:#94a3b8}.error-msg[data-v-71afa7c9]{color:#fca5a5}.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}
