.ctrl{--c-bg:#0e0f13;--c-side:#0c0d11;--c-surface:#16181f;--c-line:#23262f;--c-ink:#e9e9ee;--c-ink-sub:#9a9aa6;--c-ink-mut:#6b6b76;--c-accent:#9ef0bb;--c-accent-bg:#143421;--c-accent-ink:#7fe0a0;--c-warn-bg:#3a2a0c;--c-warn-ink:#f0c27f;--c-crit-bg:#3a1414;--c-crit-ink:#f08a8a;--c-radius:14px;background:var(--c-bg);min-height:100vh;color:var(--c-ink);-webkit-font-smoothing:antialiased;font:15px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif}.ctrl *{box-sizing:border-box}.ctrl a{color:inherit;text-decoration:none}.ctrl-shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.ctrl-side{border-right:1px solid var(--c-line);background:var(--c-side);flex-direction:column;gap:2px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.ctrl-brand{letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:18px;padding:0 6px;font-size:17px;font-weight:700;display:flex}.ctrl-brand .dot{color:#08210f;background:linear-gradient(135deg,#8ad07a,#3a9d4f);border-radius:8px;flex:none;place-items:center;width:27px;height:27px;font-weight:800;display:grid}.ctrl-brand .tag{letter-spacing:.05em;text-transform:uppercase;color:var(--c-warn-ink);background:var(--c-warn-bg);border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:700}.ctrl-navlabel{letter-spacing:.05em;text-transform:uppercase;color:var(--c-ink-mut);padding:14px 10px 5px;font-size:11px;font-weight:600}.ctrl-nav{flex-direction:column;gap:1px;display:flex}.ctrl-nav a{color:#c9c9d2;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.ctrl-nav a:hover{background:#16181f}.ctrl-nav a.on{background:var(--c-accent-bg);color:var(--c-accent);font-weight:600}.ctrl-foot{border-top:1px solid var(--c-line);margin-top:auto;padding-top:12px}.ctrl-me{color:var(--c-ink-sub);padding:6px 10px;font-size:12px;line-height:1.5}.ctrl-me b{color:var(--c-ink)}.ctrl-logout{text-align:left;border:1px solid var(--c-line);color:#c9c9d2;cursor:pointer;width:100%;font:inherit;background:0 0;border-radius:10px;margin-top:6px;padding:8px 12px;font-size:13px}.ctrl-logout:hover{background:#16181f}.ctrl-main{min-width:0}.ctrl-wrap{max-width:1040px;margin:0 auto;padding:28px 32px}.ctrl-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.ctrl h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:680}.ctrl .sub{color:var(--c-ink-sub);margin:4px 0 22px;font-size:14px}.ctrl-badge{background:var(--c-accent-bg);color:var(--c-accent-ink);border:1px solid #1f5234;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.ctrl-badge.warn{background:var(--c-warn-bg);color:var(--c-warn-ink);border-color:#5a4012}.ctrl-badge.crit{background:var(--c-crit-bg);color:var(--c-crit-ink);border-color:#5a1f1f}.ctrl-badge.muted{color:var(--c-ink-sub);background:#1c1f27;border-color:#2a2e3a}.ctrl-badge.dev{background:var(--c-warn-bg);color:var(--c-warn-ink);border-color:#5a4012}.ctrl-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.ctrl-metric{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-radius);padding:18px}.ctrl-metric .n{letter-spacing:-.03em;font-size:28px;font-weight:760}.ctrl-metric .l{color:var(--c-ink-sub);margin-top:2px;font-size:13px}.ctrl-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-radius);margin-top:16px;padding:20px}.ctrl-card h2{margin:0 0 4px;font-size:16px;font-weight:650}.ctrl-card .note{color:var(--c-ink-sub);margin:0 0 12px;font-size:13px}.ctrl-table{border-collapse:collapse;width:100%}.ctrl-table th,.ctrl-table td{text-align:left;border-bottom:1px solid var(--c-line);vertical-align:middle;padding:11px 12px;font-size:14px}.ctrl-table th{color:var(--c-ink-sub);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.ctrl-table tr:last-child td{border-bottom:0}.ctrl-table tbody tr:hover{background:#1a1d25}.ctrl-table a{color:var(--c-accent);font-weight:600}.ctrl-table code{background:#0f1117;border-radius:6px;padding:1px 7px;font-size:12.5px}.ctrl-empty{color:var(--c-ink-sub);text-align:center;padding:30px 12px}.ctrl-yes{color:var(--c-accent-ink)}.ctrl-no{color:var(--c-ink-mut)}.ctrl-field{border-bottom:1px solid var(--c-line);grid-template-columns:200px 1fr;gap:12px;padding:11px 0;display:grid}.ctrl-field:last-child{border-bottom:0}.ctrl-field .k{color:var(--c-ink-sub);font-size:13.5px}.ctrl-field .v{font-size:14px}.ctrl-back{color:var(--c-ink-sub);margin-bottom:10px;font-size:13px;display:inline-block}.ctrl-back:hover{color:var(--c-accent)}.ctrl-login{background:radial-gradient(120% 120% at 50% 0,#15171c 0%,#0a0b0e 60%);place-items:center;min-height:100vh;padding:24px;display:grid}.ctrl-login-box{background:var(--c-surface);border:1px solid var(--c-line);border-radius:16px;width:100%;max-width:380px;padding:30px 28px;box-shadow:0 18px 50px #00000080}.ctrl-login .brandrow{align-items:center;gap:10px;margin-bottom:6px;font-size:17px;font-weight:700;display:flex}.ctrl-login .brandrow .dot{color:#08210f;background:linear-gradient(135deg,#8ad07a,#3a9d4f);border-radius:8px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.ctrl-login p.lead{color:var(--c-ink-sub);margin:0 0 18px;font-size:13.5px}.ctrl-login label{color:var(--c-ink-sub);margin:14px 0 5px;font-size:12.5px;display:block}.ctrl-login input{color:#fff;background:#0f1117;border:1px solid #2a2e3a;border-radius:10px;outline:none;width:100%;padding:11px 13px;font-size:14px}.ctrl-login input:focus{border-color:var(--c-accent-ink);box-shadow:0 0 0 3px #7fe0a01f}.ctrl-login button{background:var(--c-accent-ink);color:#06210f;cursor:pointer;border:0;border-radius:10px;width:100%;margin-top:18px;padding:11px;font-size:14px;font-weight:700}.ctrl-login button:disabled{opacity:.6;cursor:default}.ctrl-login .err{color:var(--c-crit-ink);margin-top:12px;font-size:13px}@media (max-width:820px){.ctrl-shell{grid-template-columns:1fr}.ctrl-side{flex-flow:wrap;align-items:center;gap:6px;height:auto;position:static}.ctrl-navlabel{display:none}.ctrl-nav{flex-direction:row}.ctrl-foot{border:0;margin:0 0 0 auto;padding:0}.ctrl-me{display:none}.ctrl-field{grid-template-columns:1fr;gap:2px}}.ctrl-btn{color:var(--c-accent-ink);background:var(--c-accent-bg);border:1px solid var(--c-line);cursor:pointer;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600}.ctrl-btn:hover{border-color:var(--c-accent-ink)}.ctrl-btn:disabled{opacity:.5;cursor:default}.ctrl-btn.ghost{color:var(--c-crit-ink);background:0 0}.ctrl-btn.ghost:hover{border-color:var(--c-crit-ink)}
