*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f7fb;color:#172033}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#17243a;color:#dce5f4;padding:18px 14px;display:flex;flex-direction:column;z-index:20}.brand,.brand-box{display:flex;align-items:center;gap:10px}.brand{padding:4px 8px 22px}.brand b,.brand-box b{display:block;font-size:13px;color:#fff}.brand small,.brand-box small{display:block;font-size:10px;color:#9eacc3;margin-top:2px}.logo-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd54a,#f28c18);color:#15223a;font-weight:900;font-size:21px}.logo-mark.sm{width:34px;height:34px;font-size:17px;border-radius:10px}nav{display:grid;gap:4px}nav a,.side-bottom a{padding:11px 12px;border-radius:10px;font-size:13px;display:flex;gap:10px;align-items:center}nav a:hover,nav a:first-child{background:#263b5b;color:#fff}.side-bottom{margin-top:auto}.main{margin-left:250px;width:calc(100% - 250px);min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid #e8edf5;display:flex;align-items:center;padding:0 28px;gap:18px;position:sticky;top:0;z-index:10}.search{background:#f5f7fb;border:1px solid #edf0f5;border-radius:12px;padding:10px 14px;color:#9aa5b6;font-size:13px;max-width:430px;flex:1}.user-chip{margin-left:auto;display:flex;flex-direction:column;text-align:right;font-size:13px}.user-chip small{color:#8c98ab;font-size:11px}.hamb{display:none;border:0;background:none;font-size:23px}.content{padding:30px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-head h1{margin:4px 0;font-size:30px;letter-spacing:-.8px}.page-head p{margin:0;color:#7d899b}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#e79416}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat,.card{background:#fff;border:1px solid #e9edf4;border-radius:16px;box-shadow:0 5px 20px rgba(25,39,63,.04)}.stat{padding:20px}.stat span{font-size:12px;color:#8a96a8}.stat strong{display:block;font-size:25px;margin-top:9px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{padding:20px;margin-bottom:18px}.card h2{font-size:17px;margin:0 0 16px}.card-head{display:flex;justify-content:space-between}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick a{padding:15px;border:1px solid #edf0f5;border-radius:12px;background:#fafbfe;font-size:13px}.quick a:hover{border-color:#f4bd4b;background:#fffaf0}.notice,.demo{background:#fff8e7;border:1px solid #ffe1a1;padding:12px;border-radius:10px;font-size:12px;color:#76531a}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}.alert.success{background:#eaf9f0;color:#16733d}.alert.danger{background:#fff0f0;color:#a52c2c}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:block;font-size:12px;font-weight:700;color:#546177;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dfe5ee;background:#fff;border-radius:10px;padding:11px 12px;font:inherit;font-size:13px;color:#182235;outline:none}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#f0b12f;box-shadow:0 0 0 3px rgba(240,177,47,.12)}.btn{border:0;border-radius:10px;padding:10px 15px;background:#eef2f7;cursor:pointer;display:inline-block;font-size:12px;font-weight:800}.btn.primary{background:linear-gradient(135deg,#ffc83d,#f29a1f);color:#192238}.btn.small{padding:7px 10px}.btn.full{width:100%;margin-top:5px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}th,td{padding:12px 10px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:middle}th{color:#7b8799;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#fff2cf;color:#8a5b00;font-size:10px;font-weight:800}.badge.green{background:#e5f7ec;color:#16713d}.badge.red{background:#ffe8e8;color:#a52c2c}.filters{display:flex;align-items:end;gap:12px}.filters label{flex:1}.filters .btn{margin-bottom:14px}.assign-list{display:grid;gap:12px}.assignment{border:1px solid #edf0f5;border-radius:13px;padding:16px;display:flex;justify-content:space-between;gap:20px}.assignment h3{margin:8px 0 5px}.assignment p{margin:0 0 8px;color:#7d899b;font-size:12px}.inline-form{display:flex;gap:7px;align-items:center;margin-top:10px}.inline-form input{margin:0}.balance{background:#fff8e7;border:1px solid #ffe0a0;padding:12px 16px;border-radius:12px;font-size:12px}.balance b{display:block;font-size:20px;color:#7a5310}.child-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.child{text-align:center}.avatar{width:54px;height:54px;border-radius:16px;background:#fff3d0;display:grid;place-items:center;margin:0 auto 10px;font-size:25px}.child h2{margin-bottom:4px}.child p{font-size:12px;color:#7d899b}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.mini-stats div{background:#f7f9fc;padding:10px 4px;border-radius:10px}.mini-stats b{display:block;font-size:13px}.mini-stats span{font-size:9px;color:#8995a7}footer{text-align:center;padding:20px;color:#98a3b3;font-size:11px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff5d9,#f5f7fb 50%)}.login-wrap{width:min(430px,92vw)}.brand-box{justify-content:center;margin-bottom:18px}.brand-box b{color:#17243a;font-size:14px}.login-card{background:#fff;padding:30px;border-radius:20px;border:1px solid #e7ebf2;box-shadow:0 20px 50px rgba(30,42,65,.1)}.login-card h1{font-size:28px;margin:5px 0}.muted{color:#8995a7;font-size:13px}.demo{margin-top:18px;line-height:1.7}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:translateX(0)}.main{margin-left:0;width:100%}.hamb{display:block}.topbar{padding:0 16px}.content{padding:20px 14px}.stats{grid-template-columns:repeat(2,1fr)}.grid-2,.child-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.filters .btn{margin:0}.assignment{flex-direction:column}.quick{grid-template-columns:1fr}.page-head h1{font-size:24px}}
@media(max-width:480px){.stats{grid-template-columns:1fr 1fr}.stat{padding:15px}.stat strong{font-size:19px}.topbar .search{display:none}.content{padding:16px 10px}.card{padding:15px}}
