:root{color-scheme:dark;--bg: #0f1419;--panel: #1a222c;--line: #2a3542;--text: #e7eef6;--muted: #8aa0b5;--accent: #5b9fd4;--danger: #e06c75;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}.login-wrap{min-height:100vh;display:grid;place-items:center}.card{background:var(--panel);padding:2rem;border-radius:12px;width:360px;display:grid;gap:.8rem;border:1px solid var(--line)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{background:var(--panel);border-right:1px solid var(--line);padding:1.2rem;display:flex;flex-direction:column;gap:1rem}aside nav{display:flex;flex-direction:column;gap:.4rem}aside nav a.active{color:#fff}main{padding:1.5rem 2rem}.brand{font-weight:700;letter-spacing:.04em}label{display:grid;gap:.3rem;font-size:.9rem}input,select,button{padding:.5rem .7rem;border-radius:8px;border:1px solid var(--line);background:#0f1419;color:var(--text)}button{background:var(--accent);color:#081018;font-weight:600;cursor:pointer}button.ghost{background:transparent;color:var(--muted)}.row{display:flex;gap:.5rem;margin:1rem 0}.wrap{flex-wrap:wrap}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid var(--line)}.muted{color:var(--muted)}.error{color:var(--danger)}.mono{font-family:ui-monospace,monospace;font-size:.8rem}
