/* Operational/accessible controls only; original platform CSS stays byte-identical. */
a.nav-item{color:rgba(255,255,255,.95);text-decoration:none}
.nav-item:focus-within .dropdown-menu{display:block}
.home-launch[aria-disabled="true"]{pointer-events:none;opacity:.6}
.home-collapse{font:inherit;text-align:left;width:100%;box-sizing:border-box}
.exam-year-body,.exam-month-body{max-height:9999px}
.home-note{font-size:14px;line-height:1.8;color:#666}
.home-recovery{position:sticky;top:0;background:white;border:1px solid #eef2f3;border-radius:8px;padding:12px;z-index:2}
.home-recovery[hidden]{display:none}
.home-recovery button{font:inherit;cursor:pointer}
.nav-user>a{color:inherit;text-decoration:none}
.home-summary{line-height:1.8}
.home-section-test{border-top:1px solid #ddd;font-weight:bold;color:#2F7C81}
.home-group-count{font-size:14px;color:#6b7280;font-weight:400}
.home-nav-label{color:inherit;text-decoration:none}
.exam-year-header.home-collapse{border:0}
[data-home-reload][aria-disabled="true"]{pointer-events:none;opacity:.6}
#student-login-dialog{box-sizing:border-box;max-height:90dvh;overflow:auto;width:min(440px,calc(100vw - 32px));padding:32px;border:0;border-radius:16px;color:#16263d;background:#fff;font:16px/1.7 system-ui,sans-serif;box-shadow:0 20px 80px #0004}
#student-login-dialog::backdrop{background:rgba(0,0,0,.55)}
#close-student-login{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#555}
#student-login-content main{margin:0;padding:0;width:auto}
#student-login-content h1{font-size:24px;margin:16px 0 24px}
#student-login-content .brand{font-weight:700;color:#2f7c81}
#student-login-content form label{display:block;font-size:16px}
#student-login-content input:not([type=checkbox]){width:100%;box-sizing:border-box;font:inherit;padding:12px;margin:8px 0 16px;border:1px solid #aaa;border-radius:8px}
#student-login-content button:not(#close-student-login){width:100%;font:inherit;padding:12px;border:0;border-radius:8px;background:#2f7c81;color:white;cursor:pointer}
#student-login-content #message{font-size:14px;line-height:1.7}
#student-login-content [hidden]{display:none!important}

.gate-hint,.gate-error,.advisor-msg{font-size:14px}

/* Original loadSets loading-box presentation, moved from inline styling. */
.home-loading{text-align:center;padding:40px;color:#999;font-size:14px}

button[data-login-modal]{border:0;background:transparent;padding:0;font:inherit;color:LinkText;text-decoration:underline;cursor:pointer}
.nav-user>button[data-login-modal]{color:inherit;text-decoration:none}

/* HiMoo: keep the subject menu centred on the page (original pinned it next to the logo). */
@media (min-width: 820px) {
  .nav-content-container { position: relative; }
  .nav-menu { position: absolute; grid-column: 1 / -1; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); overflow: visible; }
}
