:root{font-family:Inter,system-ui,sans-serif;color:#172033;background:#f3f6fa;--blue:#1769e0;--nav:#111a2b}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#d9eaff,transparent 40%),#eef3f9}.card{background:white;border:1px solid #dfe5ee;border-radius:16px;box-shadow:0 18px 55px #263b5b1a}.auth-card{width:min(420px,92vw);padding:32px}.brand{font-size:21px;font-weight:800;margin-bottom:30px}.brand span{color:#4fa3ff}h1{margin:0 0 8px}p{color:#697386}label{display:grid;gap:6px;font-size:13px;font-weight:650;margin:16px 0}input{padding:12px;border:1px solid #cbd4e1;border-radius:8px;font:inherit}button{border:0;border-radius:8px;padding:11px 15px;background:var(--blue);color:white;font-weight:700;cursor:pointer}.auth-card>button{width:100%;margin-top:10px}.error{display:block;color:#bd2430;margin-top:12px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:var(--nav);color:white;padding:24px 16px;display:flex;flex-direction:column}aside nav{display:grid;gap:6px}aside nav button,.logout{background:transparent;text-align:left;color:#aebbd0}.active{background:#22304a!important;color:white!important}.logout{margin-top:auto}.content{padding:28px 36px;overflow:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header small{color:#657289}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:20px}.stat strong{font-size:30px;display:block}.toolbar{display:flex;justify-content:space-between;margin-bottom:15px}.table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid #e9edf3}.table th{font-size:12px;color:#667085;background:#f9fafb}.empty{padding:40px;text-align:center;color:#6d7788;background:white;border-radius:12px}dialog{border:0;border-radius:14px;width:min(600px,90vw);padding:25px}dialog::backdrop{background:#0b142080}dialog form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}dialog h2,dialog menu{grid-column:1/-1}menu{display:flex;justify-content:flex-end;gap:10px}.secondary{background:#e8edf4;color:#26344b}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{display:none}.content{padding:20px}.stats{grid-template-columns:1fr 1fr}}
