:root{--bg:#070b14;--glass:rgba(255,255,255,.06);--border:rgba(255,255,255,.12);--text:#f1f5f9;--muted:#94a3b8;--accent:#38bdf8;--ok:#34d399;}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:Inter,system-ui,sans-serif;background:radial-gradient(ellipse at 20% -10%,rgba(56,189,248,.12),transparent),#070b14;color:var(--text);min-height:100vh}
a{color:var(--accent)}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:420px;background:var(--glass);border:1px solid var(--border);border-radius:22px;padding:36px;backdrop-filter:blur(16px)}
.login-card h1{margin:0 0 6px;font-size:1.4rem}.login-card p{color:var(--muted);margin:0 0 22px;font-size:.9rem}
label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#0f172a;color:#f8fafc;font:inherit;margin-bottom:14px}
select option{background:#0f172a;color:#f8fafc}
.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1);text-decoration:none;display:inline-flex}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted)}
.err{color:#fca5a5;margin-bottom:12px}
.dashboard{display:flex;min-height:100vh}
.sidebar{width:230px;padding:22px 16px;border-right:1px solid var(--border);background:rgba(0,0,0,.25)}
.brand{font-weight:800;letter-spacing:.4px;margin-bottom:22px}
.sidebar a{display:block;padding:10px 12px;border-radius:10px;color:var(--muted);text-decoration:none;margin-bottom:4px}
.sidebar a.active,.sidebar a:hover{background:rgba(56,189,248,.12);color:var(--accent)}
.main{flex:1;padding:22px 26px 70px}
.topbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:20px}
.topbar h1{margin:0;font-size:1.45rem}.welcome{color:var(--muted);font-size:.88rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.card{background:var(--glass);border:1px solid var(--border);border-radius:18px;padding:18px}
.card .n{font-size:1.6rem;font-weight:800}
.card span{color:var(--muted);font-size:.78rem}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{padding:10px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}
.glass{background:var(--glass);border:1px solid var(--border);border-radius:18px;padding:16px}
.app-footer{position:fixed;left:0;right:0;bottom:0;padding:8px 16px;font-size:.72rem;color:var(--muted);background:rgba(7,11,20,.92);border-top:1px solid var(--border);text-align:center}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.okmsg{color:var(--ok);margin-bottom:12px}
@media(max-width:800px){.dashboard{flex-direction:column}.sidebar{width:auto}}
