*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f7fb;color:#172033}aside{position:fixed;width:220px;top:0;bottom:0;background:#111827;padding:24px 14px;color:white}.brand{font-size:21px;padding:5px 10px 24px}.brand b{color:#60a5fa}aside>a{display:block;color:#cbd5e1;text-decoration:none;padding:12px;border-radius:9px;margin:4px 0}aside>a.on,aside>a:hover{background:#2563eb;color:#fff}.who{position:absolute;bottom:20px;left:24px;font-size:13px;color:#94a3b8}.who a{color:#fff}main{margin-left:220px;padding:28px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}header h2{margin:0}input,select,button{font:inherit;padding:11px 12px;border:1px solid #d8dee9;border-radius:8px;background:#fff}button{background:#2563eb;color:#fff;border:0;font-weight:700;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.cards div,.panel{background:#fff;border:1px solid #e8edf5;border-radius:14px;padding:20px;box-shadow:0 3px 14px #16213a0a}.cards span{display:block;color:#64748b;font-size:13px;margin-bottom:10px}.cards strong{font-size:22px}.panel{margin-top:18px}.panel h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.grid label{padding:10px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eef2f7;white-space:nowrap}th{font-size:12px;color:#64748b}td small{display:block;color:#94a3b8;margin-top:4px}.login{min-height:100vh;display:grid;place-items:center;background:#eef3fb}.loginbox{width:min(390px,92vw);background:white;padding:32px;border-radius:18px;box-shadow:0 20px 60px #17203322}.loginbox input,.loginbox button{width:100%;margin:6px 0}.loginbox p{color:#64748b}.alert{background:#fee2e2;padding:10px;border-radius:8px;margin:10px 0}@media(max-width:900px){aside{position:static;width:auto;height:auto;display:flex;overflow:auto;padding:10px}.brand{padding:10px;white-space:nowrap}.who{display:none}aside>a{white-space:nowrap}main{margin:0;padding:15px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.cards,.grid{grid-template-columns:1fr}.cards strong{font-size:20px}header{align-items:flex-start;gap:10px}.brand{display:none}}
.linkbtn{background:none;border:0;padding:0;margin-left:8px;color:#c62828;text-decoration:underline;cursor:pointer;font:inherit;width:auto}.alert{padding:12px 16px;margin-bottom:14px;border-radius:10px;background:#fff3cd;color:#664d03}
