
:root{--bg:#07111f;--panel:#0d1c2e;--line:#193653;--text:#edf6ff;--muted:#8fa6bd;--blue:#29a8ff;--green:#28d17c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Arial,sans-serif}
.hidden{display:none!important}.brand{font-weight:900;font-size:22px;letter-spacing:.5px}.brand span{color:var(--blue)}
.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#12345b,#07111f 55%)}
.login-card{width:min(420px,92%);background:#0b1929;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 30px 80px #0008}
.login-card h1{margin-bottom:4px}.login-card p{color:var(--muted);margin-top:0}
input,select,textarea{width:100%;padding:12px;margin:7px 0;background:#07111f;border:1px solid #244765;color:white;border-radius:10px}
button{border:0;border-radius:10px;padding:11px 14px;background:var(--blue);color:white;font-weight:800;cursor:pointer}
.err{color:#ff7c87;margin-top:10px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
aside{background:#091522;border-right:1px solid var(--line);padding:24px 16px;position:sticky;top:0;height:100vh}
.subtitle{font-size:11px;letter-spacing:2px;color:var(--muted);margin:5px 0 26px}
nav{display:grid;gap:7px}nav button{background:transparent;text-align:left;color:#a9bbcd}nav button:hover,nav button.active{background:#112a42;color:white}
.logout{position:absolute;bottom:18px;left:16px;right:16px;background:#26394c}
main{min-width:0}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#081522}
header b{font-size:20px}header span{color:var(--muted);margin-left:12px}.status{color:var(--green);font-weight:800}
#content{padding:28px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.card h3,.panel h3{margin-top:0}
.big{font-size:30px;font-weight:900}.muted{color:var(--muted)}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #18314b}
.actions{display:flex;gap:7px;flex-wrap:wrap}.secondary{background:#284057}.danger{background:#8d2938}.good{color:var(--green)}
table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
@media(max-width:800px){.app{grid-template-columns:1fr}aside{height:auto;position:relative}.logout{position:static;margin-top:15px}nav{grid-template-columns:1fr 1fr}header{padding:0 16px}#content{padding:16px}}
