*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f3f6f9;color:#162536}button,input,select,textarea{font:inherit}button{cursor:pointer}aside{position:fixed;left:0;top:0;bottom:0;width:255px;background:#0b1f33;color:white;padding:20px 14px;display:flex;flex-direction:column}.brand{padding:5px 10px 24px}.brand b{display:block;letter-spacing:1px;font-size:18px}.brand small{opacity:.6}.nav{display:grid}.navbtn{border:0;background:none;color:#d8e4ee;text-align:left;padding:11px 13px;border-radius:8px}.navbtn.active,.navbtn:hover{background:#173b5e;color:#fff}.connection{margin-top:auto;background:#102c47;padding:12px;border-radius:10px;font-size:12px}.connection #dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#30c878;margin-right:7px}.connection button{width:100%;margin-top:8px;border:0;border-radius:7px;padding:7px}main{margin-left:255px;min-height:100vh}header{height:76px;background:#fff;border-bottom:1px solid #e2e8ed;display:flex;align-items:center;gap:16px;padding:0 28px;position:sticky;top:0;z-index:4}header h2{margin:0;font-size:21px}header small{color:#718090}.me{margin-left:auto;color:#5d6c7b;font-size:13px}#menu{display:none;border:0;background:none;font-size:22px}#content{padding:24px;max-width:1450px;margin:auto}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card,.panel{background:#fff;border:1px solid #e2e8ed;border-radius:12px;padding:17px}.metric small{color:#73818e}.metric strong{display:block;font-size:28px;margin-top:7px}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.toolbar{display:flex;gap:8px;margin-bottom:14px}.toolbar input{flex:1}.primary{background:#0b1f33;color:#fff;border:0;border-radius:8px;padding:10px 14px}.secondary{background:#edf2f6;border:0;border-radius:8px;padding:10px 14px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid #edf1f4;font-size:13px}th{font-size:10px;color:#687887;text-transform:uppercase}.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#e9f7ef;color:#187143;font-size:11px}.warn{background:#fff2db;color:#925b00}.empty{text-align:center;padding:28px;color:#778692}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:18px;z-index:10}.hidden{display:none!important}.modalbox{width:min(650px,100%);max-height:92vh;overflow:auto;background:white;border-radius:14px;padding:20px}.modalhead{display:flex;justify-content:space-between}.modalhead button{border:0;background:none;font-size:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600;color:#566575}.field input,.field select,.field textarea,.loginbox input{padding:10px;border:1px solid #d5dfe7;border-radius:8px}.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.login{min-height:100vh;display:grid;place-items:center;background:#0b1f33}.loginbox{background:white;width:min(390px,92vw);padding:30px;border-radius:16px;text-align:center}.biglogo{font-size:38px}.loginbox h1{margin:5px 0 0}.loginbox p{margin-top:3px;color:#718090}.loginbox form{display:grid;gap:10px;margin:22px 0}.loginbox button{background:#0b1f33;color:white;border:0;border-radius:8px;padding:11px}.loginbox small{color:#768493}.notice{padding:12px;border-radius:8px;background:#eef5fb;margin:8px 0;font-size:13px}.reportgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.audit{max-height:430px;overflow:auto}.login .hidden{display:none!important}#toast{position:fixed;right:18px;bottom:18px;background:#0b1f33;color:white;padding:11px 15px;border-radius:8px;opacity:0;transform:translateY(8px);transition:.2s}.show{opacity:1!important;transform:none!important}@media(max-width:900px){aside{transform:translateX(-100%);transition:.2s;z-index:8}aside.open{transform:none}main{margin-left:0}#menu{display:block}.cards{grid-template-columns:repeat(2,1fr)}.grid,.reportgrid{grid-template-columns:1fr}}@media(max-width:520px){header{padding:0 14px}.me{display:none}#content{padding:14px}.cards{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.full,.actions{grid-column:auto}}