:root{--navy:#0a192f;--royal:#1e40af;--cyan:#00f0ff;--gold:#d4af37;--red:#e53935;--white:#fff;--surface:#f4f7fb}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;background:var(--surface);color:var(--navy)}.top{height:64px;position:fixed;inset:0 0 auto 0;background:var(--navy);color:#fff;display:flex;align-items:center;gap:18px;padding:0 24px;z-index:2}.top strong{font-size:1.25rem;margin-right:auto}.top span,.brand span{color:var(--cyan)}.menu{display:none}aside{position:fixed;inset:64px auto 0 0;width:240px;background:#071525;color:#fff;padding:18px;display:flex;flex-direction:column}aside nav{display:grid;gap:5px}aside a{color:#dbe8f8;text-decoration:none;padding:11px 12px;border-radius:10px}aside a:hover{background:#123052;color:var(--cyan)}aside form{margin-top:auto}button{border:0;border-radius:10px;background:var(--royal);color:#fff;padding:12px 18px;font-weight:700;cursor:pointer}main{margin:64px 0 0 240px;padding:32px;max-width:1400px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cards article,.panel,.login-card{background:#fff;border:1px solid #dce5f0;border-radius:16px;padding:20px;box-shadow:0 8px 30px #0a192f0d}.cards small{display:block;color:#64748b}.cards strong{display:block;margin-top:10px;font-size:1.15rem}.online{color:#087f5b}.offline{color:var(--red)}.panel{margin-top:24px;display:flex;justify-content:space-between;align-items:center}.muted{color:#64748b}.login{min-height:100vh;background:linear-gradient(145deg,var(--navy),#102e58);display:grid;place-items:center;padding:20px}.login main{margin:0}.login-card{width:min(440px,100%)}.brand{font-size:1.5rem;font-weight:900}.login-card label{display:grid;gap:7px;margin:16px 0;font-weight:650}.login-card input{padding:13px;border:1px solid #b9c7d8;border-radius:10px;font:inherit}.login-card button{width:100%}.alert{background:#fee2e2;color:#991b1b;padding:12px;border-radius:9px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.menu{display:block;background:transparent;padding:8px;font-size:1.3rem}aside{transform:translateX(-100%);transition:.2s;z-index:3}.nav-open aside{transform:none}main{margin-left:0;padding:20px}.cards{grid-template-columns:1fr}.panel{align-items:stretch;flex-direction:column}.top{padding:0 14px}}
