:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d11;--surface:#111419;--surface-2:#161a21;--surface-hover:#1a1f27;--border:#222731;--border-strong:#2e3440;--text:#e7e9ee;--text-muted:#8c93a3;--text-subtle:#5f6675;--accent:#6e73f7;--accent-hover:#8185ff;--accent-fg:#fff;--accent-soft:#6e73f724;--accent-text:#a9adff;--danger:#f26d6d;--danger-hover:#ff8080;--danger-soft:#f26d6d1f;--success:#3fcf8e;--success-soft:#3fcf8e1f;--ring:0 0 0 3px #6e73f759;--shadow-sm:0 1px 2px #0000004d;--shadow-lg:0 20px 50px -12px #0009, 0 0 0 1px var(--border);--radius-sm:6px;--radius:8px;--radius-lg:12px;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-2:#f3f4f7;--surface-hover:#f5f6f9;--border:#e4e7ec;--border-strong:#d0d5dd;--text:#101828;--text-muted:#5d6679;--text-subtle:#98a1b2;--accent:#5046e5;--accent-hover:#4338ca;--accent-soft:#5046e514;--accent-text:#4338ca;--danger:#d92d20;--danger-hover:#b42318;--danger-soft:#d92d2014;--success:#079455;--success-soft:#07945514;--ring:0 0 0 3px #5046e533;--shadow-sm:0 1px 2px #1018280d;--shadow-lg:0 20px 50px -12px #10182840, 0 0 0 1px var(--border)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}a{color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0}p{margin:0}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px}code,pre,.mono{font-family:var(--font-mono)}:focus-visible{box-shadow:var(--ring);outline:none}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{word-break:break-word;font-size:22px;font-weight:600;line-height:1.3}.page-header .subtitle{color:var(--text-muted);margin-top:4px}.page-header .actions{flex-shrink:0;gap:8px;display:flex}.breadcrumbs{color:var(--text-subtle);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.breadcrumbs a{color:var(--text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-header h2{font-size:15px;font-weight:600}.card-header p{color:var(--text-muted);margin-top:2px;font-size:13px}.card-body{padding:20px}.toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.btn{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger-ghost{color:var(--danger);background:0 0}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-icon{width:32px;height:32px;padding:0}.field{flex-direction:column;gap:6px;display:flex}.field+.field{margin-top:16px}.field>label,.field>.label{color:var(--text);font-size:13px;font-weight:500}.field .optional{color:var(--text-subtle);font-weight:400}.field .hint{color:var(--text-muted);font-size:12px}.field .hint.error{color:var(--danger)}.input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;height:36px;color:var(--text);padding:0 12px;transition:border-color .15s,box-shadow .15s}textarea.input{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.input::placeholder{color:var(--text-subtle)}.input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.input.mono{font-size:13px}.input[aria-invalid=true]{border-color:var(--danger)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238c93a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.input-group{align-items:center;display:flex;position:relative}.input-group>svg,.input-group>.icon{color:var(--text-subtle);pointer-events:none;position:absolute;left:11px}.input-group .input{padding-left:34px}.form-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 20px;font-size:12px;font-weight:500}.table th:first-child{border-top-left-radius:var(--radius-lg)}.table th:last-child{border-top-right-radius:var(--radius-lg)}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 20px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer;transition:background-color .1s}.table tbody tr.clickable:hover{background:var(--surface-hover)}.table td.chevron{width:44px;color:var(--text-subtle)}.table td.chevron svg{display:block}.table tr.clickable:hover td.chevron{color:var(--text-muted)}.table td.no-match{text-align:center;color:var(--text-muted);padding:32px 20px}.badge{white-space:nowrap;background:var(--surface-2);height:22px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-allow{background:var(--success-soft);color:var(--success);border-color:#0000}.badge-deny{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge-accent{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.chip{border-radius:var(--radius-sm);font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text);align-items:center;padding:2px 8px;font-size:12.5px;display:inline-flex}.code{font-family:var(--font-mono);color:var(--text-muted);font-size:12.5px}.alert{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.alert>svg{flex-shrink:0;margin-top:1px}.empty{text-align:center;flex-direction:column;align-items:center;padding:56px 24px;display:flex}.empty .empty-icon{border-radius:var(--radius-lg);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);place-items:center;margin-bottom:14px;display:grid}.empty h3{font-size:15px;font-weight:600}.empty p{max-width:360px;color:var(--text-muted);margin:4px 0 18px}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-hover) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dl{grid-template-columns:140px 1fr;margin:0;display:grid}.dl dt,.dl dd{border-bottom:1px solid var(--border);min-width:0;margin:0;padding:12px 0}.dl dt{min-height:57px;color:var(--text-muted);align-items:center;font-size:13px;display:flex}.dl dd{word-break:break-all;align-items:center;gap:8px;min-height:57px;display:flex}.dl dt:last-of-type,.dl dd:last-of-type{border-bottom:none}@media (width<=640px){.page-header{flex-direction:column}.hide-sm{display:none}.table th,.table td{padding-left:14px;padding-right:14px}.dl{grid-template-columns:1fr}.dl dt{border-bottom:none;min-height:0;padding-bottom:0}.dl dd{min-height:0;padding-top:4px}}.toaster.svelte-1kymlcg{z-index:100;flex-direction:column;gap:8px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast.svelte-1kymlcg{border-radius:var(--radius);background:var(--surface);min-width:260px;box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:12px 12px 12px 14px;font-size:13px;display:flex}.toast.success.svelte-1kymlcg>svg{color:var(--success)}.toast.error.svelte-1kymlcg>svg{color:var(--danger)}span.svelte-1kymlcg{flex:1}.close.svelte-1kymlcg{color:var(--text-subtle);background:0 0;border:none;border-radius:4px;place-items:center;padding:2px;display:grid}.close.svelte-1kymlcg:hover{color:var(--text)}.loading.svelte-12qhfyh{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.shell.svelte-12qhfyh{flex-direction:column;min-height:100vh;display:flex}.topbar.svelte-12qhfyh{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);position:sticky;top:0}.topbar-inner.svelte-12qhfyh{align-items:center;gap:32px;max-width:1080px;height:56px;margin:0 auto;padding:0 24px;display:flex}.brand.svelte-12qhfyh{color:var(--text);align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.logo.svelte-12qhfyh{flex-shrink:0;display:flex}nav.svelte-12qhfyh{flex:1;gap:4px;min-width:0;display:flex}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){border-radius:var(--radius);height:32px;color:var(--text-muted);align-items:center;gap:7px;padding:0 10px;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s;display:flex}nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--text);background:var(--surface-hover)}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--text);background:var(--surface-2)}.user.svelte-12qhfyh{position:relative}.user-button.svelte-12qhfyh{height:36px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 4px;display:flex}.user-button.svelte-12qhfyh:hover,.user-button[aria-expanded=true].svelte-12qhfyh{background:var(--surface-hover);color:var(--text)}.avatar.svelte-12qhfyh{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-text);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.username.svelte-12qhfyh{color:var(--text);font-size:13px;font-weight:500}.menu.svelte-12qhfyh{border-radius:var(--radius-lg);background:var(--surface);min-width:220px;box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu-header.svelte-12qhfyh{border-bottom:1px solid var(--border);margin-bottom:6px;padding:8px 10px 10px}.menu-name.svelte-12qhfyh{font-weight:600}.menu-email.svelte-12qhfyh{color:var(--text-muted);font-size:13px}.menu-roles.svelte-12qhfyh{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.menu-item.svelte-12qhfyh{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.menu-item.svelte-12qhfyh:hover{background:var(--surface-hover)}main.svelte-12qhfyh{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:40px 24px 64px}@media (width<=640px){.topbar-inner.svelte-12qhfyh{gap:12px;padding:0 16px}.brand.svelte-12qhfyh span:where(.svelte-12qhfyh):last-child,.username.svelte-12qhfyh,nav.svelte-12qhfyh a:where(.svelte-12qhfyh) span:where(.svelte-12qhfyh){display:none}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){padding:0 10px}main.svelte-12qhfyh{padding:24px 16px 48px}}
