.btn{min-width:44px;min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.375rem;font-weight:600;line-height:1.2;display:inline-flex}.btn-md{padding:.5rem 1rem}.btn-sm{padding:.25rem .75rem;font-size:.875rem}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-secondary{border-color:var(--text-secondary);background:var(--bg);color:var(--text)}.btn-danger{background:var(--destructive-text);color:var(--on-destructive)}.btn-ghost{color:var(--accent-text);background:0 0}.btn:hover:not(:disabled){filter:brightness(.95)}.btn-ghost:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);filter:none}.btn:disabled{opacity:.7;cursor:default}.alert{border-left:4px solid var(--destructive-text);background:var(--bg);color:var(--destructive-text);border-radius:4px;margin:0;padding:.75rem 1rem;font-weight:600}.field select{border:1px solid var(--text-secondary);background:var(--bg);min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:.5rem .75rem}.field select[aria-invalid=true]{border-color:var(--destructive-text)}.field-required{color:var(--destructive-text)}.field-hint{color:var(--text-secondary);margin:0;font-size:.9375rem}.field-error{color:var(--destructive-text);margin:0;font-size:.9375rem;font-weight:600}.badge{color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.875rem;font-weight:600;display:inline-flex}.badge .icon{flex:none}.badge-success{background:var(--success-tint)}.badge-success .icon{color:var(--success-mark)}.badge-warning{background:var(--warning-tint)}.badge-warning .icon{color:var(--warning-mark)}.badge-danger{background:var(--danger-tint)}.badge-danger .icon{color:var(--danger-mark)}.badge-neutral{background:var(--neutral-tint)}.badge-neutral .icon{color:var(--neutral-mark)}.loading-state,.empty-state{color:var(--text-secondary);align-items:center;gap:.75rem;margin:1rem 0;display:flex}.empty-state{border:1px dashed var(--separator);border-radius:var(--radius);padding:1.5rem}.error-state{flex-direction:column;align-items:flex-start;gap:.75rem;margin:1rem 0;display:flex}.spinner{border:3px solid var(--separator);border-top-color:var(--accent-text);border-radius:50%;flex:none;width:1.25rem;height:1.25rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shell{flex-direction:column;min-height:100vh;display:flex}.skip-link{z-index:40;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:.75rem 1rem;font-weight:600;position:absolute;top:.5rem;left:.5rem}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}.shell-top{border-bottom:1px solid var(--separator);background:var(--bg);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.5rem 1.5rem;display:flex}.shell-logo{border-radius:8px}.shell-title{font-weight:700}.shell-user{color:var(--text-secondary);margin-left:auto}.shell-body{flex:1;display:flex}.shell-nav{border-right:1px solid var(--separator);background:var(--bg-secondary);flex:none;width:14rem;padding:1rem .75rem}.shell-nav ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.shell-nav a{min-height:44px;color:var(--text);border-radius:8px;align-items:center;padding:.5rem .75rem;font-weight:600;text-decoration:none;display:flex}.shell-nav a:hover{background:var(--card);text-decoration:underline}.shell-nav a[aria-current=page]{box-shadow:inset 4px 0 0 var(--accent);background:var(--bg);color:var(--accent-text)}.shell-main{flex:1;min-width:0;padding:1.5rem 2rem 3rem}.shell-main:focus{outline:none}.shell-main h1{margin:0 0 1rem;font-size:1.75rem}@media (width<=900px){.shell-top{padding:.5rem 1rem}.shell-body{flex-direction:column}.shell-nav{border-right:none;border-bottom:1px solid var(--separator);width:auto;padding:.5rem 1rem}.shell-nav ul{flex-flow:wrap}.shell-nav a[aria-current=page]{box-shadow:inset 0 -4px 0 var(--accent)}.shell-main{padding:1rem}}@media (width<=480px){.shell-logo{display:none}.shell-top{gap:.25rem .75rem}.shell-title{font-size:.9375rem}.shell-user{overflow-wrap:anywhere;flex-basis:100%;order:3;margin-left:0}}.toasts{z-index:30;flex-direction:column;gap:.5rem;width:min(24rem,100vw - 2rem);margin:0;padding:0;list-style:none;display:flex;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--separator);border-radius:var(--radius);background:var(--bg);color:var(--text);border-left-width:4px;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1rem;display:flex;box-shadow:0 6px 20px #0003}.toast .icon{flex:none}.toast-message{flex:1}.toast-success{border-left-color:var(--success-mark)}.toast-success .icon{color:var(--success-mark)}.toast-info{border-left-color:var(--accent-text)}.toast-info .icon{color:var(--accent-text)}.toast-error{border-left-color:var(--danger-mark)}.toast-error .icon{color:var(--danger-mark)}.data-table{flex-direction:column;gap:1rem;display:flex}.data-table-search{flex-direction:column;gap:.375rem;max-width:24rem;display:flex}.data-table-search label{font-weight:600}.data-table-search input{border:1px solid var(--text-secondary);background:var(--bg);min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:.5rem .75rem}.table-scroll{border:1px solid var(--separator);border-radius:var(--radius);background:var(--bg);overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--separator);text-align:left;vertical-align:middle;padding:.625rem .75rem}.table-scroll tbody tr:last-child td{border-bottom:none}.table-scroll th{background:var(--bg-secondary);white-space:nowrap;font-size:.875rem;font-weight:700}.table-scroll .num{text-align:right;font-variant-numeric:tabular-nums}.sort-button{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;display:inline-flex}.sort-indicator{color:var(--text-secondary)}th[aria-sort=ascending] .sort-indicator,th[aria-sort=descending] .sort-indicator{color:inherit}tr:has([data-row-action]){cursor:pointer}tr:has([data-row-action]):hover td{background:var(--bg-secondary)}.dialog-backdrop{z-index:20;background:var(--overlay);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--separator);border-radius:var(--radius);background:var(--bg);width:100%;max-width:32rem;max-height:calc(100dvh - 2rem);color:var(--text);padding:1.5rem;overflow:auto;box-shadow:0 12px 32px #0000004d}.dialog:focus{outline:none}.dialog-title{margin:0 0 1rem;font-size:1.25rem}.dialog-body{flex-direction:column;gap:1rem;display:flex}.dialog-body p{margin:0}.dialog-footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}body.modal-open{overflow:hidden}.page-header,.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.shell-main .page-header h1{margin:0}.section-header h2{margin:0;font-size:1.25rem}.breadcrumb{margin:0 0 .5rem;font-size:.9375rem}.page-intro,.network-summary{color:var(--text-secondary);margin:0 0 1rem}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-form{flex-direction:column;gap:1rem;display:flex}.form-legend{color:var(--text-secondary);font-size:.9375rem}.password-value{border:1px solid var(--separator);background:var(--bg-secondary);letter-spacing:.05em;font-variant-ligatures:none;border-radius:8px;margin:0;padding:.75rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem}.password-copy-status{min-height:1.5em;color:var(--text-secondary);font-weight:600}.cell-primary,.cell-secondary{display:block}.cell-secondary{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem}.role-status{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.members-table td:last-child,.members-table th:last-child{background:var(--bg);box-shadow:-1px 0 0 var(--separator);position:sticky;right:0}.page-note{color:var(--text-secondary);margin:1rem 0 0;font-size:.9375rem}.password-account{flex-direction:column;display:flex}.password-groups{-webkit-user-select:all;user-select:all;flex-wrap:wrap;gap:0 .75rem;display:flex}@media (width<=899px){.members-table .table-scroll th,.members-table .table-scroll td{padding:.5rem}.members-table .sort-button{white-space:normal;text-align:start}.members-table .cell-secondary{white-space:normal;overflow-wrap:anywhere}.members-table .badge{white-space:normal}.members-table td:first-child{min-width:9rem}.members-table .row-actions{flex-direction:column;align-items:stretch}}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-latin-400.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-latin-500.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-600.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-latin-700.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:#d4af37;--accent-text:#6b520b;--destructive-text:#8e1515;--bg:#fff;--bg-secondary:#f2f2f7;--card:#f2f2f7;--text:#000;--text-secondary:#5e5e63;--separator:#3c3c434a;--focus-ring:var(--accent-text);--on-accent:#000;--on-destructive:#fff;--success-tint:#34c7592e;--success-mark:#1f7a35;--warning-tint:#ff95002e;--warning-mark:#a44a00;--danger-tint:#ff3b302e;--danger-mark:#b3000f;--neutral-tint:#8e8e932e;--neutral-mark:#5e5e63;--overlay:#00000073;--font-sans:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:12px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent-text:#d4af37;--destructive-text:#ff7b73;--bg:#000;--bg-secondary:#1c1c1e;--card:#1c1c1e;--text:#fff;--text-secondary:#ebebf599;--separator:#54545899;--on-destructive:#000;--success-tint:#30d1583d;--success-mark:#30d158;--warning-tint:#ff9f0a3d;--warning-mark:#ff9f0a;--danger-tint:#ff453a42;--danger-mark:#ff7b73;--neutral-tint:#8e8e9347;--neutral-mark:#aeaeb2;--overlay:#000000a6}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-bottom:8rem}body{background:linear-gradient(var(--bg), var(--bg-secondary));min-height:100vh;color:var(--text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.5}h1,h2,h3{font-weight:700;line-height:1.25}a{color:var(--accent-text)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(a,summary):focus-visible{border-radius:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.home{text-align:center;max-width:32rem;margin:0 auto;padding:4rem 1rem}.home-logo{border-radius:var(--radius)}.home h1{margin:1.5rem 0 .5rem;font-size:2rem}.status{border:1px solid var(--separator);border-radius:var(--radius);background:var(--card);text-align:left;margin-top:1.5rem;padding:1rem 1.25rem}.status p{margin:.5rem 0 0}.status-title{align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;display:flex}.status-warning .status-title{color:var(--accent-text)}.status-icon{flex:none}.auth{flex-direction:column;gap:1rem;max-width:26rem;margin:0 auto;padding:3rem 1rem;display:flex}.auth h1{margin:0;font-size:1.75rem}.auth p{margin:0}.auth-logo{border-radius:var(--radius)}.auth-form{border:1px solid var(--separator);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.field{flex-direction:column;gap:.375rem;display:flex}.field label{font-weight:600}.field input{border:1px solid var(--text-secondary);background:var(--bg);min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:.5rem .75rem}.field input[aria-invalid=true]{border-color:var(--destructive-text)}.button-primary{background:var(--accent);min-height:44px;color:var(--on-accent);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600}.button-primary:disabled{opacity:.7;cursor:default}.button-link{min-height:44px;color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-weight:600;text-decoration:underline}.auth-hint{color:var(--text-secondary);font-size:.9375rem}.totp-qr{border-radius:var(--radius);background:#fff;align-self:center;padding:.75rem}.totp-secret code{letter-spacing:.05em;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:1.125rem}h1[tabindex="-1"]:focus{outline:none}
