#schoolLoginLoading[hidden]{display:grid!important;visibility:hidden!important;pointer-events:none!important}#schoolLoginLoading{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:rgba(255,250,252,.94);backdrop-filter:blur(8px);font-family:Athiti,sans-serif;color:#941a35}.school-login-busy{overflow:hidden}.school-loading-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;text-align:center}.school-loading-card strong{font-size:23px;line-height:1.4;margin-top:14px}.school-loading-card>span{font-size:16px;color:#8b6876}.school-loading-orbit{width:156px;height:156px;position:relative;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 8px 35px #981c3420}.school-loading-orbit img{position:relative;width:116px;height:116px;object-fit:contain;border-radius:50%;z-index:1}.school-loading-beam{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,#f8d6df 180deg,#d51b44 290deg,#ff5275 338deg,white 359deg);filter:drop-shadow(0 0 5px #e91b4d60)}.school-loading-beam:after{content:'';position:absolute;inset:5px;border-radius:50%;background:#fff}@media(prefers-reduced-motion:reduce){.school-loading-beam{animation:none}}@media(max-width:480px){.school-loading-orbit{width:132px;height:132px}.school-loading-orbit img{width:98px;height:98px}}

/* Keep intermediate page/sidebar layouts behind an opaque loading screen. */
#schoolLoginLoading{background:#fffafc;backdrop-filter:none}
html.school-login-transition{background:#fffafc}
html.school-login-transition body{visibility:hidden}
html.school-login-transition #schoolLoginLoading{visibility:visible}
html.school-login-transition body,html.school-login-transition #cmsSidebar{transition:none!important}

/* Hide intermediate authenticated layouts, including explicitly visible descendants. */
html.school-login-transition body>:not(#schoolLoginLoading){opacity:0!important;pointer-events:none!important}
html.school-login-transition .hero-slide,html.school-login-transition .hero-visual,html.school-login-transition .cms-sidebar{transition:none!important}

/* Rotate one stable composited ring; keep the logo stationary. */
.school-loading-beam{animation:schoolRedOrbit 1.4s linear infinite;animation-direction:normal;animation-fill-mode:both;will-change:transform;backface-visibility:hidden;transform-origin:50% 50%;filter:none;box-shadow:none}
@keyframes schoolRedOrbit{from{transform:translateZ(0) rotate(0deg)}to{transform:translateZ(0) rotate(360deg)}}
/* Keep the animation timeline alive when the overlay is temporarily hidden. */
@media(prefers-reduced-motion:reduce){.school-loading-beam{animation:none!important;will-change:auto}}
