@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#09090b;--background-deep:#050506;--surface-1:#0d0d10;--surface-2:#111114;--surface-3:#16161a;--surface-hover:#19191e;--surface-active:#1d1d23;--foreground:#f4f4f5;--foreground-secondary:#b4b4bd;--foreground-muted:#777780;--foreground-faint:#52525b;--foreground-disabled:#3f3f46;--accent:#d8d8e8;--accent-strong:#eeeef8;--accent-muted:#a7a7bd;--accent-subtle:#d8d8e81a;--accent-faint:#d8d8e80d;--border:#ffffff12;--border-hover:#ffffff1c;--border-strong:#ffffff29;--border-accent:#d8d8e838;--success:#7fc8a0;--warning:#d6b36a;--danger:#d87878;--info:#829acb;--success-bg:#7fc8a014;--warning-bg:#d6b36a14;--danger-bg:#d8787814;--info-bg:#829acb14;--primary:#ededf2;--primary-hover:#fff;--on-primary:#101012;--secondary:#16161a;--on-secondary:#e4e4e7;--secondary-border:#ffffff14;--ghost-hover:#ffffff0d;--input:#0d0d10;--input-border:#ffffff14;--focus-border:#d8d8e847;--focus-ring:0 0 0 3px #d8d8e80f;--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-display:42px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000003d;--shadow-md:0 8px 24px #0000003d;--shadow-overlay:0 18px 60px #00000073;--brand-glow:0 0 40px #d2d2eb14;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.28s;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5}#root{min-height:100%}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}code,kbd,samp{font-family:var(--font-mono);font-size:.95em}::selection{background:var(--accent-subtle)}:focus-visible{outline:2px solid var(--border-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.button{border:1px solid var(--secondary-border);border-radius:var(--radius-sm);background:var(--secondary);height:32px;color:var(--on-secondary);font:500 var(--text-sm) / 1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.button:hover{background:var(--surface-hover);border-color:var(--border-hover)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--primary);color:var(--on-primary);border-color:#0000}.button.primary:hover:not(:disabled){background:var(--primary-hover)}.button.ghost{color:var(--foreground-secondary);background:0 0;border-color:#0000}.button.ghost:hover:not(:disabled){background:var(--ghost-hover);color:var(--foreground)}.button.danger{background:var(--danger-bg);color:var(--danger);border-color:#d8787840}.button.danger:hover:not(:disabled){background:#d8787824}.button.small{height:26px;font-size:var(--text-xs);padding:0 8px}.button.icon{width:28px;height:28px;padding:0}.button svg{stroke-width:1.75px;width:14px;height:14px}.input,.select,.textarea{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input);width:100%;height:32px;color:var(--foreground);font:400 var(--text-sm) / 1.4 var(--font-sans);transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);padding:0 10px}.textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--foreground-muted) 50%), linear-gradient(135deg, var(--foreground-muted) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 10px);background-repeat:no-repeat;background-size:4px 4px;padding-right:28px}.input::placeholder,.textarea::placeholder{color:var(--foreground-faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--focus-border);box-shadow:var(--focus-ring);outline:none}.input.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.field{gap:6px;display:grid}.field>span{color:var(--foreground-secondary);font-size:var(--text-xs);font-weight:500}.field small{color:var(--foreground-muted);font-size:var(--text-xs)}.field.error small{color:var(--danger)}.check{color:var(--foreground-secondary);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:14px;height:14px;accent-color:var(--accent)}.form{gap:14px;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.form-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--text-sm);padding:8px 10px}.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.muted{color:var(--foreground-muted)}.faint{color:var(--foreground-faint)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-wrap{border-top:1px solid var(--border);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{border-bottom:1px solid var(--border);height:34px;color:var(--foreground-muted);font-size:var(--text-xs);text-align:left;white-space:nowrap;padding:0 12px;font-weight:500}.table td{border-bottom:1px solid var(--border);height:40px;color:var(--foreground-secondary);vertical-align:middle;padding:0 12px}.table td:first-child,.table th:first-child{padding-left:0}.table td:last-child,.table th:last-child{padding-right:0}.table tr.link{cursor:pointer}.table tr.link:hover td{background:var(--accent-faint)}.table .strong{color:var(--foreground)}.table .actions{text-align:right;white-space:nowrap}.pill{background:var(--surface-3);height:20px;color:var(--foreground-secondary);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.pill:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.pill.good{background:var(--success-bg);color:var(--success)}.pill.warn{background:var(--warning-bg);color:var(--warning)}.pill.bad{background:var(--danger-bg);color:var(--danger)}.pill.info{background:var(--info-bg);color:var(--info)}.tag{border:1px solid var(--border);border-radius:var(--radius-xs);height:20px;color:var(--foreground-muted);font-size:var(--text-xs);align-items:center;padding:0 6px;display:inline-flex}.empty{color:var(--foreground-muted);font-size:var(--text-sm);text-align:center;justify-items:center;gap:8px;padding:56px 16px;display:grid}.empty svg{stroke-width:1.5px;width:20px;height:20px;color:var(--foreground-faint)}.empty strong{color:var(--foreground-secondary);font-weight:500}.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat{border-left:1px solid var(--border);gap:4px;padding:16px 0 16px 20px;display:grid}.stat:first-child{border-left:0;padding-left:0}.stat span{color:var(--foreground-muted);font-size:var(--text-xs)}.stat strong{color:var(--foreground);font-size:var(--text-xl);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:550}.facts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px 24px;display:grid}.facts div{gap:4px;min-width:0;display:grid}.facts dt{color:var(--foreground-muted);font-size:var(--text-xs)}.facts dd{color:var(--foreground);font-size:var(--text-sm);margin:0}.section{gap:12px;display:grid}.section+.section{margin-top:32px}.section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-header h2{font-size:var(--text-md);font-weight:550}.section-header p{color:var(--foreground-muted);font-size:var(--text-sm)}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);padding:2px;display:inline-flex}.segmented a,.segmented button{border-radius:var(--radius-xs);height:24px;color:var(--foreground-muted);font:500 var(--text-xs) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.segmented .active{background:var(--surface-active);color:var(--foreground)}dialog.dialog{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--foreground);box-shadow:var(--shadow-overlay);padding:0}dialog.dialog.wide{width:min(760px,100vw - 32px)}dialog.dialog::backdrop{background:#050506b3}.dialog-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.dialog-header h2{font-size:var(--text-md);font-weight:550}.dialog-body{padding:16px 20px 20px;overflow-y:auto}.toasts{z-index:50;gap:8px;display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-3);max-width:360px;color:var(--foreground);font-size:var(--text-sm);box-shadow:var(--shadow-md);padding:10px 14px}.toast.bad{color:var(--danger);border-color:#d878784d}.code-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background-deep);font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;align-items:center;gap:8px;padding:8px 10px;display:flex}.code-block code{flex:1}.key-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background-deep);max-height:260px;font-family:var(--font-mono);font-size:var(--text-xs);padding:8px 10px;line-height:1.8;overflow-y:auto}.load-more{justify-content:center;padding:16px 0;display:flex}.permission-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 24px;display:grid}.permission-group{border:0;align-content:start;gap:8px;margin:0;padding:0;display:grid}.permission-group legend{color:var(--foreground-faint);font-size:var(--text-xs);margin-bottom:4px;padding:0;font-weight:500}.override-grid{border-top:1px solid var(--border);display:grid}.override-row{border-bottom:1px solid var(--border);color:var(--foreground-secondary);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.segmented button:disabled{opacity:.4;cursor:default}.qr{border-radius:var(--radius-md);width:180px;height:180px}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--background-deep);flex-direction:column;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.sidebar-brand img{width:22px;height:22px}.sidebar-brand span{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.switcher{border-bottom:1px solid var(--border);gap:6px;padding:0 4px 12px;display:grid}.switcher .select{height:30px;font-size:var(--text-xs);background-color:var(--surface-1)}.nav{gap:1px;padding:12px 0;display:grid}.nav+.nav{border-top:1px solid var(--border)}.nav-label{color:var(--foreground-faint);padding:6px 10px 4px;font-size:11px;font-weight:500}.nav a{border-radius:var(--radius-sm);height:30px;color:var(--foreground-muted);font-size:var(--text-sm);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.nav a svg{stroke-width:1.75px;width:15px;height:15px}.nav a:hover{background:var(--ghost-hover);color:var(--foreground-secondary)}.nav a.active{background:var(--surface-active);color:var(--foreground)}.sidebar-footer{border-top:1px solid var(--border);gap:2px;margin-top:auto;padding-top:12px;display:grid}.sidebar-footer .who{color:var(--foreground-muted);font-size:var(--text-xs);padding:4px 10px 8px}.main{min-width:0}.topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09090beb;align-items:center;gap:12px;height:52px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .search{width:min(420px,100%);position:relative}.topbar .search .input{background:var(--surface-1);padding-left:32px}.topbar .search svg{width:14px;height:14px;color:var(--foreground-faint);position:absolute;top:9px;left:10px}.search-results{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--shadow-md);padding:6px;display:grid;position:absolute;top:38px;left:0;right:0}.search-results a{border-radius:var(--radius-sm);color:var(--foreground-secondary);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:7px 8px;text-decoration:none;display:flex}.search-results a:hover{background:var(--surface-hover);color:var(--foreground)}.search-results .group{color:var(--foreground-faint);padding:6px 8px 2px;font-size:11px}.topbar .spacer{flex:1}.environment-flag{color:var(--warning);font-size:var(--text-xs);align-items:center;gap:6px;display:inline-flex}.page{max-width:1240px;padding:28px 28px 64px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-header h1{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600}.page-header p{color:var(--foreground-muted);font-size:var(--text-sm);margin-top:4px}.page-header .actions{gap:8px;display:flex}.crumbs{color:var(--foreground-faint);font-size:var(--text-xs);gap:6px;margin-bottom:8px;display:flex}.crumbs a{color:var(--foreground-muted);text-decoration:none}.crumbs a:hover{color:var(--foreground)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:160px}.toolbar .grow{flex:1;min-width:220px}.split{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:32px;display:grid}.aside{border-left:1px solid var(--border);gap:12px;padding-left:24px;display:grid}.auth{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{gap:20px;width:min(380px,100%);display:grid}.auth-card header{justify-items:start;gap:14px;display:grid}.auth-card header img{width:34px;height:34px}.auth-card h1{font-size:var(--text-lg);font-weight:600}.auth-card header p,.auth-card footer{color:var(--foreground-muted);font-size:var(--text-sm)}.auth-card footer a,.link{color:var(--foreground-secondary)}.auth-card footer a:hover,.link:hover{color:var(--foreground)}.loading{min-height:50vh;color:var(--foreground-faint);font-size:var(--text-sm);place-items:center;display:grid}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.split{grid-template-columns:1fr}.aside{border-left:0;padding-left:0}}
