.brand.official{background:#fff;border-radius:13px;width:235px;height:58px;padding:7px 14px}.brand.official img{object-fit:contain;width:100%;height:100%}.brand b span,.sideBrand b span{color:#74c932}.loginMascot{z-index:1;filter:drop-shadow(0 20px 30px #08163180);opacity:.96;width:min(310px,35vw);position:absolute;bottom:2%;right:2%}.mobileBrand img{object-fit:contain;object-position:left center;width:190px;height:70px}.sideBrand>img{object-fit:contain;width:38px;height:38px}.mascotPanel{background:linear-gradient(120deg,#eef8ff,#f5fff0);border-color:#dcebd5;align-items:center;gap:8px;padding:10px 18px;display:flex}.mascotPanel img{object-fit:contain;flex:none;width:100px;height:100px}.mascotPanel small{color:#6fb92d;letter-spacing:1.3px;font-size:8px;font-weight:900}.mascotPanel h3{margin:7px 0;font-size:14px}.mascotPanel p{color:#728097;margin:0;font-size:9px;line-height:1.6}@media (width<=1000px){.loginMascot{display:none}}.danger{color:#d64a62;background:#fff5f6;border:1px solid #ffd8df;border-radius:6px;padding:6px 10px;font-size:9px}.modalBack{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111b3280;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(440px,100%);padding:24px;box-shadow:0 30px 80px #111b3250}.modalHead{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modalHead small{letter-spacing:1.5px;color:#6ebd31;font-size:8px;font-weight:900}.modalHead h2{margin:5px 0;font-size:21px}.modalHead>button{color:#718;background:#f3f5f8;border:0;border-radius:8px;width:31px;height:31px;font-size:20px}.modal label{margin:13px 0;font-size:11px;font-weight:800;display:block}.modal input,.modal select{background:#fff;border:1px solid #dfe4ec;border-radius:8px;outline:0;width:100%;margin-top:7px;padding:11px 12px}.modal input:focus,.modal select:focus{border-color:#3a72e9}.modalActions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.modalActions button{background:#fff;border:1px solid #e1e5ec;border-radius:8px;padding:10px 15px;font-size:10px}.modalActions .primary{color:#fff;background:#2f68e5;border:0;width:auto;margin:0}.ops table{min-width:720px}.readOnly{color:#58708f;background:#eef3f8;border-radius:20px;padding:7px 11px;font-size:9px;font-weight:800}.myAttendance{margin-top:15px}.myAttendance table{min-width:0}.attendanceStats .stat{pointer-events:none}@media (width<=700px){.myAttendance table{min-width:560px}.readOnly{white-space:nowrap}}.modal textarea{resize:vertical;border:1px solid #dfe4ec;border-radius:8px;outline:0;width:100%;min-height:105px;margin-top:7px;padding:11px 12px}.modal textarea:focus{border-color:#3a72e9}.cellDesc{color:#9aa3b2;text-overflow:ellipsis;white-space:nowrap;max-width:240px;margin-top:4px;font-size:8px;display:block;overflow:hidden}.assignmentReal table{min-width:760px}.assignmentReal td .actions{min-width:90px}.examPanel{margin-top:15px}.examPanel table{min-width:760px}.examPanel td:last-child{max-width:230px}.noticeLayout{flex-direction:column;gap:16px;display:flex}.noticeTop{color:#fff;background:linear-gradient(120deg,#172a51,#284a83);border-radius:15px;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.noticeSummary{align-items:center;gap:15px;display:flex}.noticeSummary>span{font-size:30px}.noticeSummary small{letter-spacing:1.8px;color:#88b4ff;font-size:8px}.noticeSummary h2{margin:5px 0;font-size:18px}.noticeSummary p{color:#bac9df;margin:0;font-size:9px}.noticeTop>.add{border:0;border-radius:8px;padding:10px 14px}.noticeList{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.noticeCard{cursor:pointer;background:#fff;border:1px solid #e5eaf1;border-radius:13px;padding:18px;transition:all .2s}.noticeCard:hover{transform:translateY(-2px);box-shadow:0 10px 25px #27385a12}.noticeCard.important{border-left:4px solid #ef5571}.noticeBadges{gap:5px;display:flex}.noticeBadges span,.noticeBadges b{color:#4a6694;background:#edf2fb;border-radius:20px;padding:4px 7px;font-size:8px}.noticeBadges b{color:#d3445e;background:#ffe9ed}.noticeCard h3{margin:12px 0 7px;font-size:13px}.noticeCard>p{color:#7c879a;height:32px;font-size:9px;line-height:1.7;overflow:hidden}.noticeCard footer{color:#98a1b1;border-top:1px solid #eef1f5;align-items:center;gap:9px;margin-top:13px;padding-top:11px;font-size:8px;display:flex}.noticeCard footer time{margin-left:auto}.noticeCard footer button{color:#d64760;background:#fff0f2;border:0;border-radius:5px;padding:4px 7px}.noticeDetail p{white-space:pre-wrap;color:#5f6c83;min-height:100px;font-size:11px;line-height:1.9}.detailDate{color:#9ba3b1;border-top:1px solid #edf0f4;padding-top:12px;font-size:8px}.checkLabel{align-items:center;gap:8px;display:flex!important}.checkLabel input{width:auto!important;margin:0!important}@media (width<=700px){.noticeList{grid-template-columns:1fr}.noticeTop{align-items:flex-start}.noticeSummary>span{display:none}}.passwordMaker{gap:7px;margin-top:7px;display:flex}.passwordMaker input{flex:1;margin-top:0}.passwordMaker button{color:#3566c7;white-space:nowrap;background:#eef4ff;border:1px solid #d9e2f2;border-radius:8px;padding:0 12px;font-size:9px;font-weight:800}.fieldHelp{color:#8e98aa;margin-top:6px;font-size:8px;font-weight:500;display:block}.authLoading{color:#68758d;background:#f5f7fb;place-content:center;justify-items:center;min-height:100vh;display:grid}.authLoading img{object-fit:contain;width:80px;height:80px;animation:1.2s ease-in-out infinite authPulse}.authLoading p{margin-top:14px;font-size:11px}@keyframes authPulse{50%{opacity:.7;transform:scale(1.08)}}.datePick{color:#65728a;font-size:9px;font-weight:800}.datePick input{border:1px solid #dfe4ec;border-radius:7px;margin-top:5px;padding:6px 8px;display:block}.attendanceManage table{min-width:850px}.actions button.chosen{color:#fff;background:#2f68e5;border-color:#2f68e5}.status.pending{color:#7f899b;background:#eef1f5}.auditBox{border-top:1px solid #e9edf3;padding:16px 20px}.auditBox h3{margin:0 0 10px;font-size:11px}.auditBox p{color:#69758a;border-top:1px dashed #edf0f4;gap:6px;margin:0;padding:7px 0;font-size:9px;display:flex}.auditBox p time{color:#9aa3b2;margin-left:auto}.auditBox small{color:#9aa3b2;font-size:9px}
