*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f4f7fb;color:#182230}aside{position:fixed;width:230px;height:100vh;background:#111827;padding:22px 14px;overflow:auto}.brand{color:white;font-size:20px;padding:5px 10px 24px}.brand small{display:block;color:#9ca3af;font-size:11px;margin-top:4px}aside a{display:block;color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:8px;margin:3px 0;font-size:14px}aside a:hover,aside a.on{background:#2563eb;color:white}main{margin-left:230px;padding:28px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header h2{margin:0 0 5px}header span,.muted{color:#64748b;font-size:13px}.logout{color:#334155;text-decoration:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat,.card{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:20px;box-shadow:0 2px 8px #00000008}.stat span{color:#64748b;font-size:13px}.stat b{display:block;font-size:23px;margin-top:9px}.grid{display:grid;grid-template-columns:360px 1fr;gap:18px}.card h3{margin-top:0}input,select{width:100%;padding:11px 12px;margin:6px 0;border:1px solid #d6dbe3;border-radius:8px;background:white}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}button{width:100%;padding:11px;background:#2563eb;color:white;border:0;border-radius:8px;margin-top:8px;font-weight:600;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf0f4}th{color:#64748b}.login{min-height:100vh;display:grid;place-items:center;background:#eef3f9}.login-card{width:min(430px,92vw)}.login-card h1{margin-bottom:5px}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px}.report p{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:10px 0}@media(max-width:900px){aside{position:static;width:100%;height:auto;display:flex;overflow:auto;padding:10px}.brand{min-width:160px;padding:10px}aside a{white-space:nowrap}main{margin:0;padding:16px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:520px){.stats{grid-template-columns:1fr}header{align-items:flex-start}.card{overflow:auto}}

.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar input,.toolbar select{width:auto}.pill{padding:4px 8px;border-radius:99px;background:#eef2ff;font-size:12px}.good{color:#047857}.bad{color:#b91c1c}.kpi{font-size:28px;font-weight:700}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.note{background:#eff6ff;border:1px solid #bfdbfe;padding:12px;border-radius:10px;font-size:13px}.mini{font-size:12px}.right{text-align:right}@media(max-width:900px){.two{grid-template-columns:1fr}}
.permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 16px}.permissions label{font-size:13px}.userbox{border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin-bottom:12px}.userbox input[type=text],.userbox input[type=password],.userbox input:not([type]){margin-top:8px}@media(max-width:700px){.permissions{grid-template-columns:1fr}}
.actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.actions form{margin:0}.actions a,.cancel{display:inline-block;padding:7px 10px;border-radius:7px;background:#eef2ff;color:#1d4ed8;text-decoration:none;font-size:12px}.actions button{width:auto;margin:0;padding:7px 10px;font-size:12px}.danger{background:#dc2626!important}.cancel{margin-top:8px;background:#f1f5f9;color:#475569}
.statlink{display:block;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.statlink:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}.statlink small{display:block;margin-top:8px;color:#2563eb;font-weight:600}.card a{color:#2563eb;text-decoration:none}.card a:hover{text-decoration:underline}
.export-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.btnlink{display:inline-block;padding:9px 14px;border-radius:8px;background:#111827;color:#fff;text-decoration:none;font-weight:600}.btnlink:hover{opacity:.9}
