/* V27: exact approved login banner. Its official logo and college heading are baked into the original approved PNG. */
#loginScreen{background:#fafcff;min-height:100vh}
#loginScreen .v25-campus-header{height:clamp(335px,25vw,420px);min-height:0!important;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:0 12px 14px;background: url('assets/approved-login-banner.png') top center / 100% auto no-repeat!important;background-color:#f6faff;position:relative;isolation:isolate}
#loginScreen .v25-campus-header::before,#loginScreen .v25-campus-header::after{display:none!important}
#loginScreen .v25-campus-pics,#loginScreen .v25-emblem,#loginScreen .v25-college-name{position:absolute!important;height:1px!important;width:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
#loginScreen .v25-programme-title{font:700 clamp(28px,3.05vw,45px) Georgia,serif;line-height:1.07;color:#092c5c;margin:0 0 5px;text-shadow:0 1px 5px #fff,0 0 15px #fff}
#loginScreen .v25-programme-subtitle{color:#496787;font-size:clamp(12px,1.13vw,17px);margin:0;text-shadow:0 0 8px #fff,0 0 3px #fff}
#loginScreen .v25-login-layout{margin-top:-1px;max-width:1500px;grid-template-columns:minmax(0,1.5fr) minmax(320px,.97fr);gap:22px;padding:0 15px 10px}
#loginScreen .v25-info-panel,#loginScreen .v25-login-panel{padding:19px 26px;background:#ffffffee;border:1px solid #e1e9f2;box-shadow:0 4px 22px #1d446c13}
#loginScreen .v25-info-panel{gap:9px}
#loginScreen .v25-info-heading{font-size:clamp(19px,1.72vw,25px);padding-bottom:8px;margin-bottom:0}
#loginScreen .v25-feature{min-height:89px;padding:10px 16px;gap:14px}
#loginScreen .v25-feature-icon{width:63px;height:63px}
#loginScreen .v25-feature h3{font-size:clamp(16px,1.43vw,21px)}
#loginScreen .v25-feature p{font-size:clamp(12px,1.06vw,15px)}
#loginScreen .v25-feature-note{padding-top:8px;margin:2px 0 0}
#loginScreen .v25-login-title{margin-bottom:11px}
#loginScreen .v25-login-lock{width:58px;height:58px}
#loginScreen .login-form,#loginScreen .login-form .login-options{gap:7px}
#loginScreen .login-form label{font-size:12.8px}
#loginScreen .login-form select,#loginScreen .login-form input{height:37px;padding:7px 9px;margin-top:4px}
#loginScreen #loginForm button[type=submit]{height:43px}
#loginScreen .hint-line{margin-top:3px;font-size:11px}
#loginScreen .security-note{margin-top:8px;padding-top:8px}
#loginScreen .v25-footer{padding:6px 10px}
@media(max-width:920px){#loginScreen .v25-login-layout{grid-template-columns:1fr;gap:13px}#loginScreen .v25-campus-header{height:clamp(285px,27vw,340px)} }
@media(max-width:650px){#loginScreen .v25-campus-header{height:258px;background-size:auto 310px!important;background-position:center top!important;padding-bottom:13px}#loginScreen .v25-programme-title{font-size:25px;line-height:1.1}#loginScreen .v25-programme-subtitle{font-size:11px;max-width:380px}#loginScreen .v25-login-layout{padding:0 10px 10px}#loginScreen .v25-info-panel,#loginScreen .v25-login-panel{padding:15px}#loginScreen .v25-feature{min-height:77px}#loginScreen .v25-feature-icon{width:47px;height:47px}#loginScreen .v25-feature h3{font-size:16px}#loginScreen .v25-feature p{font-size:12px}}
/* Locked controls use visible explanations with direct click handlers; actual write authority remains with Supabase. */
.pg-v27-lock-hit{position:absolute!important;z-index:7;display:block;background:transparent!important;cursor:not-allowed!important;border:1px dashed #ad6c20!important;border-radius:5px!important;color:transparent!important;padding:0!important;margin:0!important;min-width:17px;min-height:17px;box-shadow:inset 0 0 0 1px #ffffff70}
.pg-v27-lock-hit:focus-visible{outline:3px solid #b76b16!important}
.pg-v27-lock-area{position:relative}

#navlinks .pg-v27-home-link{display:flex;align-items:center;gap:11px;padding:12px 13px;color:#eaf6ff;text-decoration:none;font-weight:750;background:#1b608f;border-radius:6px;margin:5px 8px 10px;white-space:nowrap}
#navlinks .pg-v27-home-icon{display:inline-flex;align-items:center;justify-content:center;width:23px;min-width:23px;font-size:24px}
#navlinks .pg-v27-home-link:hover{background:#2983bc;color:white}
body.sidebar-closed #navlinks .pg-v27-home-link{justify-content:center;padding:11px 0;margin:5px 4px 10px;font-size:0}body.sidebar-closed #navlinks .pg-v27-home-icon{font-size:24px}
