*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#202b3c;font:14px Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.layout{min-height:100vh}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:#17243b;color:white;padding:22px 15px;overflow:auto;z-index:10;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;padding:0 8px 22px}.brand-icon{width:39px;height:39px;border-radius:11px;background:#fff;color:#3159aa;display:grid;place-items:center;font-size:21px}.brand b,.brand small{display:block}.brand small{font-size:9px;letter-spacing:1.5px;color:#9eacc2}.school-label{padding:11px;background:#22324d;border:1px solid #35465f;border-radius:9px;font-size:11px;margin-bottom:15px}.school-label i{margin-right:7px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#8393aa;font-weight:700;padding:14px 10px 7px}.nav-link{display:flex;gap:11px;align-items:center;color:#b9c5d7;text-decoration:none;padding:9px 11px;border-radius:8px;font-size:12px;margin:2px 0}.nav-link i{font-size:15px;width:18px}.nav-link:hover,.nav-link.active{background:#3558a5;color:white}.sidebar-bottom{margin-top:auto;border-top:1px solid #35465f;padding-top:15px;display:flex;align-items:center;gap:9px}.avatar{width:31px;height:31px;border-radius:50%;background:#dbe6ff;color:#294c99;display:grid;place-items:center;font-weight:700}.user-info{min-width:0;flex:1}.user-info b,.user-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info b{font-size:11px}.user-info small{font-size:10px;color:#9eacc2}.signout{color:#aebbd0}.main{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid #e9edf3;display:flex;align-items:center;padding:0 28px;gap:14px;position:sticky;top:0;z-index:5}.topbar small{display:block;color:#9aa5b5;font-size:9px;letter-spacing:1.3px;font-weight:700}.topbar strong{font-size:16px}.top-right{margin-left:auto;display:flex;gap:20px;align-items:center;font-size:11px;color:#667386}.top-right span i{margin-right:5px}.content{padding:27px 28px;flex:1}.welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#8b98aa}.welcome h1{font-size:25px;margin:7px 0;font-weight:750}.welcome h1 span{color:#e8a63b}.welcome p{color:#7b8798;font-size:12px;margin:0}.today{background:#fff;border:1px solid #e9edf3;border-radius:8px;padding:10px 13px;color:#69778c;font-size:11px}.today i{color:#4169e1;margin-right:6px}.section-title{margin-bottom:12px}.section-title b,.section-title small{display:block}.section-title b{font-size:14px}.section-title small,.panel-heading small{font-size:11px;color:#8995a5;margin-top:4px}.stat,.mini-stat,.panel{background:white;border:1px solid #e9edf3;border-radius:12px;box-shadow:0 3px 12px #1c355508}.stat{padding:17px;min-height:126px}.stat-head{display:flex;justify-content:space-between;align-items:center;color:#6f7c8f;font-size:11px}.stat-icon{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;font-size:16px}.blue{background:#edf2ff;color:#4b6fe2}.purple{background:#f3efff;color:#8864cf}.green{background:#eaf8f1;color:#2b9b6a}.orange{background:#fff4e8;color:#df9144}.stat>strong{display:block;font-size:27px;margin-top:10px}.stat>small{font-size:10px;color:#9aa4b2}.mini-stat{padding:12px;display:flex;align-items:center;gap:11px}.mini-stat>i{width:33px;height:33px;background:#f1f4fa;color:#637da9;border-radius:8px;display:grid;place-items:center}.mini-stat b,.mini-stat small{display:block}.mini-stat b{font-size:16px}.mini-stat small{font-size:10px;color:#8995a5}.panel{padding:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-heading b,.panel-heading small{display:block}.panel-heading b{font-size:14px}.panel-heading a{font-size:11px;color:#4169e1;text-decoration:none}.table{font-size:11px}.table th{font-size:9px;color:#9aa5b5;text-transform:uppercase;letter-spacing:.7px}.table td,.table th{padding:11px 9px;border-color:#f0f2f6}.status{background:#eaf8f1;color:#2a9366;border-radius:20px;padding:4px 8px;font-size:9px}.empty{text-align:center;padding:35px 10px;display:flex;flex-direction:column;align-items:center;color:#8995a5}.empty i{font-size:26px;margin-bottom:8px}.empty b{font-size:12px;color:#56647a}.empty small{font-size:10px}.quick{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #f0f2f6;text-decoration:none;color:#202b3c}.quick>i:first-child{width:33px;height:33px;display:grid;place-items:center;background:#f1f4fb;color:#5874ae;border-radius:8px}.quick span{flex:1}.quick b,.quick small{display:block}.quick b{font-size:11px}.quick small{font-size:10px;color:#929dad;margin-top:3px}.quick>i:last-child{font-size:10px;color:#a5afbd}.footer{padding:0 28px 17px;color:#a0aaba;font-size:10px}.footer span{float:right}.login-body{background:#fff;min-height:100vh}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:linear-gradient(145deg,#172943,#244a7b);color:white;padding:12%;display:flex;flex-direction:column;justify-content:center}.login-art .brand-icon{margin-bottom:45px}.login-art h1{font-size:40px;line-height:1.15;margin:15px 0}.login-art p{color:#c1d0e4;line-height:1.8;max-width:430px}.art-note{font-size:12px;margin-top:12px;color:#d7e2f0}.art-note i{color:#91b6ff;margin-right:8px}.login-side{display:grid;place-items:center;padding:35px}.login-box{width:min(100%,390px)}.login-box h2{font-size:29px;font-weight:750;margin:8px 0}.login-box .form-control{height:44px;font-size:12px;border-color:#e4e9f0}.login-box .form-label{font-size:11px;font-weight:650}.login-box .btn{background:#3159aa;border:0;font-size:12px}.login-safe{font-size:10px;color:#9ba6b5;text-align:center;margin-top:25px}.mobile-brand{display:none}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#8b98aa;font-weight:700}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:translateX(0)}.main{margin-left:0}}@media(max-width:700px){.login-wrap{grid-template-columns:1fr}.login-art{display:none}.mobile-brand{display:block;color:#3159aa;font-weight:700;margin-bottom:45px}.welcome{display:block}.today{display:inline-block;margin-top:13px}.content{padding:18px 13px}.topbar{padding:0 13px}.top-right span{display:none}.footer{padding:0 13px 15px}}
