:root{--bg: #0c0f14;--panel: #141922;--panel-2:#1b212c;--line: #232b38;--line-2: #2c3543;--text: #d7dee8;--text-2: #8b97a8;--text-3: #5f6b7d;--accent: #34c8c8;--accent-2:#1f9a9a;--accent-soft: rgba(52,200,200,.12);--good: #46c47c;--warn: #e3a83a;--danger: #e2615a;--good-soft: rgba(70,196,124,.14);--warn-soft: rgba(227,168,58,.14);--danger-soft: rgba(226,97,90,.14);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;background-position:-1px -1px;color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:inherit}::selection{background:var(--accent);color:#061013}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.muted{color:var(--text-2)}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.rail{position:sticky;top:0;height:100vh;background:#0d1117d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:9px;padding:6px 8px 16px;border-bottom:1px solid var(--line);margin-bottom:12px}.brand .sq{width:26px;height:26px;border-radius:7px;background:var(--accent);display:grid;place-items:center;color:#061013;font-family:var(--mono);font-weight:700}.brand .nm{font-family:var(--mono);font-weight:600;font-size:14.5px;letter-spacing:.02em}.brand .tag2{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.nav a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;color:var(--text-2);font-size:14px;font-weight:500;transition:background .14s,color .14s}.nav a:hover{background:var(--panel);color:var(--text)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.nav .ic{width:16px;height:16px}.rail-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:12px}.rail-foot .who{font-family:var(--mono);color:var(--text-2);padding:4px 8px;word-break:break-all}.rail-foot button{background:none;border:0;color:var(--text-3);cursor:pointer;font-size:12px;padding:4px 8px}.rail-foot button:hover{color:var(--danger)}.main{min-width:0}.content{padding:26px 30px 60px;max-width:1100px}.page-head{margin-bottom:22px}.page-head h1{font-size:25px;margin:6px 0 4px;font-weight:600;letter-spacing:-.01em}.page-head p{color:var(--text-2);margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.panel.pad{padding:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;padding:8px 13px;color:var(--text);background:var(--panel-2);transition:border-color .14s,background .14s,transform .1s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#061013;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn-danger{color:var(--danger);border-color:transparent;background:var(--danger-soft)}.btn-sm{padding:6px 10px;font-size:12px}.tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 8px;border-radius:5px;background:var(--panel-2);color:var(--text-2);border:1px solid var(--line-2);text-transform:uppercase;letter-spacing:.04em}.tag.good{color:var(--good);background:var(--good-soft);border-color:transparent}.tag.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.tag.danger{color:var(--danger);background:var(--danger-soft);border-color:transparent}.tag.accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.input,select.input{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;font-size:13.5px;color:var(--text);font-family:inherit}.input:focus,select.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.banner{padding:11px 13px;border-radius:9px;font-size:13px;line-height:1.5}.banner.err{background:var(--danger-soft);color:var(--danger)}.banner.ok{background:var(--good-soft);color:var(--good)}.spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.stat .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.stat .v{font-family:var(--mono);font-size:30px;font-weight:600;margin-top:6px}.stat .v.accent{color:var(--accent)}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl thead th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:10px 12px;border-bottom:1px solid var(--line)}.tbl tbody td{padding:12px;border-bottom:1px solid var(--line)}.tbl tbody tr{cursor:pointer;transition:background .12s}.tbl tbody tr:hover{background:var(--panel-2)}.tbl .name{font-weight:600}.tbl .slug{font-family:var(--mono);font-size:12px;color:var(--text-3)}.num{font-family:var(--mono);text-align:right}.toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center}.toolbar .input{max-width:320px}.detail-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13.5px}.kv dt{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-self:center}.kv dd{margin:0;font-family:var(--mono)}.chip-grid{display:flex;flex-wrap:wrap;gap:7px}.chip{font-family:var(--mono);font-size:11.5px;padding:4px 9px;border-radius:6px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--text-2);cursor:pointer;transition:border-color .12s,color .12s}.chip:hover{border-color:var(--accent);color:var(--text)}.chip.on{background:var(--accent-soft);color:var(--accent);border-color:transparent}.row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.row:last-child{border-bottom:0}.row .spacer{flex:1}.row .em{font-family:var(--mono);font-size:12.5px}.section-t{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .box{width:100%;max-width:380px}.login .box h1{font-size:22px;margin:14px 0 4px}.login .box p{color:var(--text-2);margin:0 0 22px;font-size:13.5px}.login .field{margin-bottom:13px}.login .denied{text-align:center}.skl{background:var(--panel-2);border-radius:8px;animation:pulse 1.3s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.9}}.imp-bar{display:flex;align-items:center;gap:12px;background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--line);padding:9px 30px;font-size:13px;font-family:var(--mono)}.imp-bar .spacer{flex:1}.imp-bar a{color:var(--warn);text-decoration:underline}.imp-bar button{background:var(--warn);color:#1a1305;border:0;border-radius:6px;padding:4px 11px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--sans)}.audit-row{display:grid;grid-template-columns:150px 140px 1fr 120px;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}.audit-row .act{font-family:var(--mono);color:var(--accent)}.audit-row .det{font-family:var(--mono);font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-row .ts{font-family:var(--mono);font-size:11.5px;color:var(--text-3);text-align:right}.mtopbar{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}.nav-toggle svg{width:20px;height:20px}.rail-scrim{display:none}@media (max-width: 860px){.app,.detail-cols{grid-template-columns:1fr}.mtopbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:#0d1117e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:40}.mtopbar .sq{width:24px;height:24px;border-radius:6px;background:var(--accent);display:grid;place-items:center;color:#061013;font-family:var(--mono);font-weight:700;font-size:13px}.mtopbar-nm{font-family:var(--mono);font-weight:600;font-size:14px}.rail{position:fixed;top:0;left:0;height:100vh;width:250px;z-index:60;transform:translate(-100%);transition:transform .25s ease}.rail.open{transform:none}.rail-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000080}}@media (max-width: 720px){.content{padding:18px 14px 60px}.toolbar{flex-wrap:wrap}.toolbar .input{max-width:none;flex:1 1 100%}.imp-bar{padding:9px 14px;flex-wrap:wrap}.kv{grid-template-columns:1fr;gap:1px 0}.kv dt{margin-top:7px}.tbl{display:block;overflow-x:auto;white-space:nowrap}.audit-row{grid-template-columns:1fr;gap:3px}.audit-row .det{white-space:normal}.audit-row .ts{text-align:left}}.docs-wrap{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}.docs-list{padding:8px;position:sticky;top:16px;max-height:calc(100vh - 90px);overflow:auto}.docs-group{margin-bottom:10px}.docs-section{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:8px 10px 4px}.docs-link{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;color:var(--text-2);font-size:13px;padding:6px 10px;border-radius:7px;line-height:1.3}.docs-link:hover{background:var(--panel-2);color:var(--text)}.docs-link.on{background:var(--accent-soft);color:var(--accent)}.docs-body{min-width:0;max-height:calc(100vh - 90px);overflow:auto}.docs-path{font-size:11px;color:var(--text-3);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.md-body{color:var(--text);font-size:14.5px;line-height:1.65;max-width:860px}.md-body h1,.md-body h2,.md-body h3,.md-body h4{line-height:1.25;font-weight:600;margin:1.6em 0 .6em}.md-body h1{font-size:26px;margin-top:0}.md-body h2{font-size:20px;padding-bottom:.25em;border-bottom:1px solid var(--line)}.md-body h3{font-size:16.5px}.md-body h4{font-size:14px;color:var(--text-2)}.md-body p{margin:.7em 0}.md-body a{color:var(--accent);text-decoration:none}.md-body a:hover{text-decoration:underline}.md-body ul,.md-body ol{padding-left:1.4em;margin:.6em 0}.md-body li{margin:.3em 0}.md-body strong{color:#eef3f9}.md-body code{font-family:var(--mono);font-size:.88em;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:.1em .4em}.md-body pre{background:#0a0d12;border:1px solid var(--line);border-radius:9px;padding:14px 16px;overflow:auto;margin:1em 0}.md-body pre code{background:none;border:0;padding:0;font-size:12.5px;color:var(--text)}.md-body blockquote{margin:1em 0;padding:4px 16px;border-left:3px solid var(--accent-2);color:var(--text-2);background:var(--panel-2);border-radius:0 8px 8px 0}.md-body hr{border:0;border-top:1px solid var(--line);margin:1.8em 0}.md-body table{border-collapse:collapse;width:100%;margin:1em 0;font-size:13px;display:block;overflow-x:auto}.md-body th,.md-body td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}.md-body th{background:var(--panel-2);color:var(--text);font-weight:600;white-space:nowrap}.md-body tr:nth-child(2n) td{background:#ffffff04}.md-body img{max-width:100%}@media (max-width: 860px){.docs-wrap{grid-template-columns:1fr}.docs-list{position:static;max-height:none}}
