*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#080d1b;color:#fff}
a{color:inherit;text-decoration:none}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 20% 0,#1d4ed8 0,#111827 42%,#020617 100%)}
.auth-box{width:100%;max-width:440px;background:rgba(15,23,42,.94);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.45);border-radius:30px;padding:34px}
.logo{text-align:center;font-size:28px;font-weight:950;margin-bottom:8px}
.muted{color:#94a3b8}
label{font-size:13px;color:#cbd5e1;font-weight:bold}
input,select,textarea{width:100%;padding:13px 14px;margin:7px 0 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#0f172a;color:#fff;outline:none}
textarea{min-height:100px}
button,.btn{display:inline-block;padding:13px 16px;border:0;border-radius:14px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:850;cursor:pointer;text-align:center}
.btn.secondary{background:#1e293b}
.btn.danger{background:#b91c1c}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.layout{display:flex;min-height:100vh}
.sidebar{width:290px;background:#0f172a;border-right:1px solid rgba(255,255,255,.08);padding:22px;position:fixed;height:100vh;overflow:auto}
.brand{font-size:23px;font-weight:950;margin-bottom:18px;letter-spacing:-.03em}
.brand span{display:block;color:#60a5fa;font-size:12px;letter-spacing:.25em;margin-top:4px}
.userbox{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:14px;border-radius:18px;margin-bottom:16px;font-weight:bold}
.userbox small{display:block;color:#94a3b8;margin-top:4px}
.menu a{display:block;padding:12px 14px;margin:6px 0;border-radius:14px;color:#cbd5e1;background:rgba(255,255,255,.025)}
.menu a:hover,.menu .active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}
.main{margin-left:290px;padding:28px;width:calc(100% - 290px)}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.top h1{margin:0;font-size:32px;letter-spacing:-.04em}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px}
.card{background:linear-gradient(180deg,rgba(30,41,59,.96),rgba(15,23,42,.96));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.card h3{margin:0;color:#94a3b8;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.card .num{font-size:35px;font-weight:950;margin-top:10px}
.panel{background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:22px;margin-top:22px;box-shadow:0 18px 50px rgba(0,0,0,.2)}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{padding:13px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}
.table th{color:#93c5fd;font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#334155;font-size:12px;font-weight:800}
.badge.online,.badge.active{background:#047857}.badge.offline{background:#b91c1c}.badge.suspended{background:#92400e}
.flash{padding:14px 16px;border-radius:16px;margin-bottom:18px;font-weight:bold}
.flash.ok{background:#064e3b;color:#bbf7d0}.flash.err{background:#7f1d1d;color:#fecaca}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.func-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.func{padding:15px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.func b{display:block;margin-bottom:5px}
@media(max-width:880px){.sidebar{position:relative;width:100%;height:auto}.layout{display:block}.main{margin-left:0;width:100%;padding:18px}.top{display:block}.top h1{font-size:26px}}
