:root{--nav:#102438;--primary:#16a085;--bg:#f3f6f9;--text:#203040;--muted:#728093}*{box-sizing:border-box}body{margin:0;font:14px Inter,Segoe UI,Arial;color:var(--text);background:var(--bg)}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--nav);color:white;display:flex;flex-direction:column}.logo{height:75px;display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid #ffffff18}.logo>b,.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#1abc9c,#2980b9);color:#fff;border-radius:12px;width:42px;height:42px;font-size:18px}.logo span{font-size:19px;font-weight:700}.logo small,.user small{display:block;font-size:9px;letter-spacing:1px;color:#aab9c7;margin-top:3px}nav{padding:12px 10px;overflow-y:auto;flex:1}nav a,.aside-foot a{display:flex;align-items:center;gap:14px;color:#c8d5df;text-decoration:none;padding:12px 14px;border-radius:8px;margin:3px 0}nav a.active,nav a:hover{background:#16a085;color:white}nav i{font-style:normal;width:20px;text-align:center}.aside-foot{padding:12px;border-top:1px solid #ffffff18}main{margin-left:245px;min-height:100vh}main>header{height:75px;background:white;display:flex;align-items:center;padding:0 28px;justify-content:space-between;border-bottom:1px solid #e5eaee}h2,h3{margin:0}header small{color:var(--muted)}.user{display:flex;align-items:center;gap:15px;text-align:right}.user>a{color:var(--primary);text-decoration:none}.user>b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e3f5f1;color:var(--primary)}.content{padding:25px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:22px}.card,.panel{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 10px #1b2d3d0b}.card{border-left:4px solid}.card.blue{border-color:#3498db}.card.green{border-color:#16a085}.card.purple{border-color:#8e44ad}.card.red{border-color:#e74c3c}.card.amber{border-color:#f39c12}.card small{color:var(--muted);display:block}.card strong{font-size:24px;display:block;margin-top:12px}.grid.two{display:grid;grid-template-columns:2fr 1fr;gap:20px}.panel-head,.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head a{color:var(--primary)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #edf0f2}th{font-size:11px;text-transform:uppercase;color:var(--muted)}.badge{display:inline-block;padding:4px 8px;border-radius:12px;background:#e4f6f1;color:#087c64;font-size:11px}.badge.danger{background:#fdebea;color:#c0392b}.activity{display:grid;grid-template-columns:1fr auto;gap:3px;padding:12px 0;border-bottom:1px solid #eee}.activity em{grid-column:1/-1;font-size:11px;color:var(--primary)}button,.btn{border:0;background:var(--primary);color:#fff;padding:10px 16px;border-radius:7px;text-decoration:none;cursor:pointer}.secondary{background:#607d8b}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.form-grid label{font-size:12px;color:var(--muted)}input,select{display:block;width:100%;padding:10px;border:1px solid #d9e0e5;border-radius:6px;margin-top:5px;background:white}.hide{display:none}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.report p{color:var(--muted);margin-bottom:22px}.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kv span{color:var(--muted)}footer{text-align:center;padding:25px;color:var(--muted);font-size:12px}.hamb{display:none}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d2132,#16a085)}.login-card{width:min(400px,90vw);background:white;padding:36px;border-radius:18px;box-shadow:0 25px 80px #0005}.login-card .brand-mark{margin:auto}.login-card h1,.login-card p{text-align:center}.login-card label{display:block;margin:15px 0}.login-card button{width:100%;margin:10px 0}.login-card small{display:block;text-align:center;color:var(--muted)}.alert{background:#fdebea;color:#c0392b;padding:10px;border-radius:6px}@media(max-width:800px){aside{transform:translateX(-100%);z-index:5;transition:.2s}body.open aside{transform:none}main{margin-left:0}.hamb{display:block}.grid.two{grid-template-columns:1fr}.content{padding:14px}.user span{display:none}.panel{overflow-x:auto}}
