@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,sans-serif}input:focus,textarea:focus,select:focus,button:focus{outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold,#c4a96a);outline-offset:2px}button{transition:all .15s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseRed{0%,to{box-shadow:0 0 #ef535080}50%{box-shadow:0 0 6px 3px #ef535059}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg, var(--elevated) 25%, var(--input) 50%, var(--elevated) 75%);background-size:200% 100%;animation:1.6s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton{background:var(--elevated);animation:none}}@media (width<=1024px){.dashboard-two-col{grid-template-columns:1fr!important}}@media (width<=768px){.stat-grid,.dashboard-two-col,.student-grid{grid-template-columns:1fr!important}.welcome-row{flex-direction:column!important}.topbar-user-info{display:none!important}}
