/* Unified premium entry identity for the independent RES portals. Authentication is unchanged. */
:root{--entry-navy:#113f50;--entry-teal:#126d6a;--entry-gold:#c4a06b}
body.res-entry{background:radial-gradient(ellipse at 7% 4%,#e5f2ed 0,transparent 36%),radial-gradient(ellipse at 93% 85%,#f6ebd7 0,transparent 35%),#f7faf9;color:#173e4a;min-height:100vh}
body.res-entry:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(#154c4c0a 1px,transparent 1px),linear-gradient(90deg,#154c4c0a 1px,transparent 1px);background-size:74px 74px}
body.res-entry header{box-shadow:0 6px 25px #124f4b08}
.res-entry .res-wordmark{display:inline-block;width:66px;height:61px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 5px 10px #0d435517)}
.res-entry .entry-head-en{display:block;color:#4d7f79;font:700 11px/1.7 Arial,sans-serif;direction:ltr;text-align:right;letter-spacing:.1px}
.res-entry .entry-mark{width:102px;height:91px;margin:0 auto 10px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#eef6f3,#e8f1f6);border:1px solid #d9e8e4;box-shadow:0 10px 24px #0c435310}
.res-entry .entry-mark img{width:90px;height:81px;object-fit:contain}
.res-entry .entry-eyebrow{display:inline-block;margin:8px auto 4px;padding:5px 16px;border:1px solid #eddcb9;border-radius:30px;background:#faf5ea;color:#99743d;font-size:12px;font-weight:800}
.res-entry .entry-school-en{font:700 13px/1.7 Arial,sans-serif!important;color:#46766c!important;text-align:center!important;margin:3px auto 18px!important;direction:ltr}
.res-entry #login-section,.res-entry #change-section,.res-entry #loginView,.res-entry #verifySection{position:relative;overflow:hidden;text-align:center;width:min(100%,520px);max-width:520px;margin:clamp(30px,6vh,68px) auto 35px;padding:clamp(25px,4vw,40px);border:1px solid #dbe9e5;border-radius:27px;background:linear-gradient(155deg,#ffffff,#fbfdfb);box-shadow:0 26px 66px #103e4c17,0 6px 20px #123d4a08}
.res-entry #login-section:before,.res-entry #change-section:before,.res-entry #loginView:before,.res-entry #verifySection:before{content:"";position:absolute;top:0;inset-inline:0;height:5px;background:linear-gradient(90deg,#176a65,#d9b574,#194c60)}
.res-entry #login-section h1,.res-entry #change-section h1,.res-entry #loginView h2,.res-entry #verifySection h2{font-size:clamp(24px,3vw,30px);font-weight:800;line-height:1.6;margin:8px 0;color:#123e50}
.res-entry #login-section p:not(.entry-school-en),.res-entry #loginView p:not(.entry-school-en),.res-entry #verifySection p:not(.entry-school-en){color:#667d81;font-size:13px;line-height:1.95}
.res-entry #login-section form,.res-entry #change-section form,.res-entry #loginView form,.res-entry #verifySection form{text-align:right;margin-top:22px}
.res-entry :is(#login-section,#change-section,#loginView,#verifySection) label{color:#254b54;font-size:13px;font-weight:800;text-align:right}
.res-entry :is(#login-section,#change-section,#loginView,#verifySection) input{width:100%;border-radius:12px;border:1px solid #cddfda;background:#f8fbfa;color:#183e4a;min-height:50px;padding:12px 15px;transition:border-color .15s,box-shadow .15s}
.res-entry :is(#login-section,#change-section,#loginView,#verifySection) input:focus{outline:none;border-color:#458d83;box-shadow:0 0 0 4px #438b8422}
.res-entry :is(#login-section,#change-section,#loginView,#verifySection) button[type=submit]{width:100%;min-height:52px;margin-top:14px;border-radius:12px;background:linear-gradient(110deg,#135b5a,#126d70);color:#fff;border:0;box-shadow:0 9px 22px #0b575d23;font-weight:800;transition:transform .15s,box-shadow .15s}
.res-entry :is(#login-section,#change-section,#loginView,#verifySection) button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 13px 26px #0b575d30}
.res-entry .hero .res-wordmark{width:72px;height:60px;background:#ffffffd9;border-radius:12px}
.res-entry.teacher-entry header .brand{gap:10px}
.res-entry.teacher-entry header .brand strong{color:#183e4d}
.res-entry.student-entry .brand .res-wordmark{width:53px;height:55px;flex:0 0 auto}
.res-entry.student-entry #loginView p{line-height:1.9}
.res-entry.guardian-entry main{max-width:900px}
.res-entry.guardian-entry .head{background:#ffffffec;box-shadow:0 10px 28px #0d4b5210;border-radius:22px;display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;text-align:right}
.res-entry.guardian-entry .head .school-wordmark{width:67px;height:67px;object-fit:contain}
.res-entry.guardian-entry .head .res-wordmark{width:65px;height:65px;object-fit:contain}
.res-entry.guardian-entry .head h1{font-size:clamp(20px,2.4vw,27px);color:#113e50}
.res-entry.guardian-entry #verifySection p:not(.entry-school-en){margin:8px auto 15px}
.res-entry.guardian-entry #verifySection label{display:grid;gap:7px;margin:13px 0;font-weight:800}
.res-entry.guardian-entry #verifySection button[type=submit],.res-entry.guardian-entry #verifySection button:not([type]){width:100%;min-height:52px;margin-top:16px;border-radius:12px;background:linear-gradient(110deg,#135b5a,#126d70)}
.res-entry.guardian-entry #verifySection form button{display:block;width:100%;min-height:52px;background:linear-gradient(110deg,#135b5a,#126d70)}
.res-entry.student-entry .foot span{display:block;margin:6px auto;font:12px Arial,sans-serif}
@media(max-width:620px){.res-entry .entry-head-en{font-size:9px}.res-entry.teacher-entry header{padding:12px}.res-entry .res-wordmark{width:47px;height:49px}.res-entry.student-entry .brand{gap:7px}.res-entry.student-entry .brand img:not(.res-wordmark){width:48px;height:48px}.res-entry.student-entry .brand .res-wordmark{width:38px;height:45px}.res-entry.student-entry .head{padding:10px}.res-entry.student-entry .brand h1{font-size:14px}.res-entry.student-entry .brand .muted{font-size:10px}.res-entry.guardian-entry .head{padding:14px;gap:7px}.res-entry.guardian-entry .head img{width:48px!important;height:48px!important}.res-entry.guardian-entry .head .entry-head-en{font-size:9px;text-align:center}.res-entry :is(#login-section,#change-section,#loginView,#verifySection){border-radius:20px;padding:24px 18px}.res-entry .entry-mark{width:83px;height:75px}.res-entry .entry-mark img{width:73px;height:68px}}
@media(prefers-reduced-motion:reduce){.res-entry :is(#login-section,#change-section,#loginView,#verifySection) button[type=submit],.res-entry :is(#login-section,#change-section,#loginView,#verifySection) input{transition:none}}
@media print{.res-entry #login-section,.res-entry #change-section,.res-entry #loginView,.res-entry #verifySection{box-shadow:none!important}}

/* Dual-brand RES + schools identity, shared by staff/student/guardian. */
.res-entry .entry-marks{width:min(100%,224px);height:98px;display:flex;align-items:center;justify-content:center;gap:12px;margin-inline:auto;padding:9px 13px;background:linear-gradient(135deg,#eff6f2,#f6f9fa);border:1px solid #dce9e5;border-radius:23px}
.res-entry .entry-marks .entry-logo-schools{width:76px;height:76px;object-fit:contain;flex:0 0 76px}
.res-entry .entry-marks .entry-logo-res{width:91px;height:72px;object-fit:contain;flex:0 0 91px}
.res-entry .entry-marks .entry-logo-separator{height:50px;width:1px;background:linear-gradient(transparent,#bccfca,transparent);flex:0 0 1px}
.res-entry.teacher-entry header .brand .school-wordmark{width:57px;height:62px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 5px #12495212)}
.res-entry.teacher-entry header .brand .res-wordmark{width:62px;height:56px}
.res-entry.teacher-entry header .brand>div{min-width:0}
.res-entry.student-entry .brand .res-wordmark{object-fit:contain}
.res-entry.student-entry .brand>div{min-width:0}
.res-entry.guardian-entry .head .res-wordmark,.res-entry.guardian-entry .head .school-wordmark{object-fit:contain}
@media(max-width:640px){
 .res-entry.teacher-entry header .brand{gap:6px}
 .res-entry.teacher-entry header .brand .school-wordmark{width:41px;height:45px}
 .res-entry.teacher-entry header .brand .res-wordmark{width:48px;height:44px}
 .res-entry.teacher-entry header .brand strong{font-size:12px}
 .res-entry.teacher-entry header .brand small{font-size:10px}
 .res-entry.teacher-entry header>a{font-size:10px;white-space:nowrap}
 .res-entry .entry-marks{height:85px;width:min(100%,192px);gap:9px;padding:7px}
 .res-entry .entry-marks .entry-logo-schools{width:64px;height:64px;flex-basis:64px}
 .res-entry .entry-marks .entry-logo-res{width:78px;height:62px;flex-basis:78px}
}
@media(max-width:410px){
 .res-entry.teacher-entry header .brand .school-wordmark{width:34px;height:38px}
 .res-entry.teacher-entry header .brand .res-wordmark{width:42px;height:38px}
 .res-entry.teacher-entry header .brand strong{font-size:11px}
 .res-entry.teacher-entry header .entry-head-en{font-size:8px;line-height:1.45}
 .res-entry.teacher-entry header>a{font-size:9px}
}
