:root{--bg:#0f1115;--panel:#181b21;--border:#2a2e37;--text:#e6e8ec;--muted:#8b919d;--accent:#4f8cff;--danger:#e5534b;--ok:#3fb950;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.shell{max-width:960px;margin:0 auto;padding:0 1.5rem 3rem}header{border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1rem 0;display:flex}.brand{font-weight:700}nav{flex:1;gap:1rem;display:flex}nav a{color:var(--muted);text-decoration:none}nav a.active,nav a:hover{color:var(--text)}h1{font-size:1.3rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}th{color:var(--muted);font-weight:500}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.45rem .9rem;font-size:.9rem}button:disabled{opacity:.5;cursor:default}button.ghost{color:var(--muted);border:1px solid var(--border);background:0 0}button.danger{background:var(--danger)}input,select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem;font-size:.9rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:1.25rem;padding:1.25rem}.row{align-items:center;gap:.75rem;display:flex}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.center{text-align:center;margin-top:4rem}.login-box{flex-direction:column;gap:.75rem;max-width:340px;margin:6rem auto;display:flex}code.key{background:var(--bg);border:1px dashed var(--accent);word-break:break-all;border-radius:6px;padding:.5rem;display:block}
