*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#172b3b;font:14px 'Segoe UI',sans-serif}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#0b1024;color:#eaf4f2;padding:32px 22px}.brand{display:flex;gap:13px;align-items:center;color:#22d3ee;text-decoration:none;font-size:36px;font-weight:800}.brand span{font-size:21px;letter-spacing:2px;color:white}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:5px;color:#a5b4d4}.nav-label{font-size:10px;color:#96afaf;letter-spacing:1.5px;margin-top:52px}nav{display:grid;gap:7px}button{cursor:pointer;font:inherit;border:0;border-radius:8px;padding:11px 16px}nav button{text-align:left;color:#b9c3dd;background:none;padding:14px}nav button:hover,nav button.active{background:#18224d;color:#67e8f9}.aside-bottom{position:absolute;bottom:30px;font-size:12px;line-height:2}.aside-bottom small{color:#95aeaf;font-size:10px}.dot{display:inline-block;width:7px;height:7px;background:#22d3ee;border-radius:50%;margin-right:6px}main{margin-left:240px;padding:38px 44px;max-width:1660px}header,.row,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:30px;font-weight:650;letter-spacing:-1px;margin:9px 0 24px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#708491}.badge{font-size:10px;letter-spacing:1px;padding:9px 12px;background:white;border:1px solid #e0e6e9;border-radius:20px}.banner{background:#e8f3ef;color:#356555;padding:13px 17px;border-radius:8px;font-size:12px;margin-bottom:25px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.card{background:white;border:1px solid #e6ebef;border-radius:13px;padding:23px}.card .label{color:#75828e;font-size:12px}.value{font-size:26px;font-weight:650;margin:12px 0 8px;letter-spacing:-.8px}.hint{font-size:11px;color:#7b8c97}.green{color:#168264}.red{color:#bd624d}h2{font-size:18px;font-weight:600;margin:0 0 8px}p{line-height:1.6}.primary{background:#6d28d9;color:white}.secondary{background:#edf2f4;color:#38505c}.row{margin:0 0 20px}.row p{margin:5px 0;color:#7b8c97;font-size:12px}table{width:100%;border-collapse:collapse}th{text-align:left;color:#85949e;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:500;padding:14px 12px;border-bottom:1px solid #e9eef1}td{padding:17px 12px;border-bottom:1px solid #edf1f4;font-size:12px}td small{display:block;margin-top:4px;color:#87949c}.pill{font-size:10px;padding:5px 9px;border-radius:20px;background:#f0f3f5;color:#59707d;white-space:nowrap}.pill.paid{background:#e5f6ec;color:#268053}.pill.overdue{background:#fff0e9;color:#b25c35}.table-wrap{overflow:auto}.empty{text-align:center;padding:48px 20px;color:#7a8d98}.empty strong{display:block;color:#354f5b;font-size:17px;margin-bottom:10px}.actions{display:flex;gap:7px}.actions button{font-size:11px;padding:7px 9px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.notice{border-bottom:1px solid #edf1f4;padding:18px 0}.notice:last-child{border:0}.notice p{font-size:13px;color:#627681}.notice.muted{opacity:.5}footer{color:#94a2ab;font-size:11px;margin-top:30px}dialog{border:0;border-radius:16px;padding:28px;width:min(480px,95vw);box-shadow:0 20px 90px #0b102440}dialog::backdrop{background:#0b102470}.dialog-head{margin-bottom:15px}.dialog-head button{background:none;font-size:24px;padding:0}label{display:block;font-size:12px;margin:16px 0 6px}input,select{width:100%;padding:11px;border:1px solid #d9e2e7;border-radius:7px;background:white;color:#172b3b;font:inherit}form>.primary{margin-top:15px;width:100%}#form-error{color:#b34c3a;font-size:12px}#feedback{color:#216b53;margin-bottom:12px}button:focus-visible,a:focus-visible{outline:3px solid #5dbba5;outline-offset:3px}@media(max-width:1000px){aside{width:190px}main{margin-left:190px;padding:25px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:100%;padding:16px}.brand{font-size:25px}.nav-label,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{white-space:nowrap;padding:10px}.brand small{display:none}main{margin:0;padding:20px}header{align-items:start}.badge{font-size:8px}.stats{gap:10px}.card{padding:16px}.value{font-size:21px}.row{flex-wrap:wrap}}
.brand img{width:46px;height:46px;border-radius:12px;display:block;box-shadow:0 0 18px rgba(34,211,238,.25)}.auth-logo{display:block;width:220px;max-width:70%;margin:0 0 18px}
