/* Login page only; the application portals keep their existing styles. */
.auth-body{background:#fff;color:#12162b}
.auth-shell{grid-template-columns:66.15% 33.85%;min-height:100svh}
.auth-panel{padding:72px clamp(35px,4.8vw,95px);align-items:stretch;background:radial-gradient(ellipse at 90% 88%,#304996 0%,#272365 47%,#1b204b 100%)}
.auth-panel:after{display:none}
.auth-panel .auth-video{position:absolute;inset:0;z-index:0;overflow:hidden}
.auth-panel .auth-video video,.auth-panel .auth-video iframe{width:100%;height:100%;object-fit:cover;border:0;pointer-events:none;filter:blur(var(--video-blur,1.5px))}
.auth-panel .auth-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(17,22,61,var(--video-overlay,.58)),rgba(32,40,108,var(--video-overlay,.58)))}
.auth-panel>.future-chip,.auth-panel>.auth-copy,.auth-panel>.trust-row,.auth-panel>.secure-note{z-index:2}
.future-chip{top:53px;right:clamp(35px,4.8vw,95px);padding:7px 18px;background:#ffffff13;border-color:#ffffff24;font-size:14px}
.auth-copy{max-width:760px;margin-top:40px}
.auth-copy h1{font-size:clamp(35px,3.1vw,53px);line-height:1.14;margin-bottom:26px;letter-spacing:-1px}
.auth-copy p{max-width:730px;font-size:18px;line-height:1.8;color:#c6cce2}
.trust-row{width:min(650px,100%);gap:20px;margin-top:40px}
.trust-row div{border-radius:15px;padding:17px 8px;background:#ffffff0b;border-color:#ffffff14}
.trust-row b{color:#40cced;font-size:30px;line-height:1.5}
.trust-row div:first-child b{color:#52d6ed}
.trust-row div:last-child b{color:#b476eb}
.trust-row b.mint{color:#21d987}
.trust-row span{font-size:12px;color:#b8bfdf}
.secure-note{position:absolute!important;bottom:52px;right:clamp(35px,4.8vw,95px);color:#aeb9d6;font-size:13px}
.auth-card{align-self:center;max-width:none;padding:35px clamp(25px,3.3vw,65px);margin:0;width:100%}
.auth-top{flex-direction:row-reverse;margin-bottom:36px}
.lang-button,.mini-brand{background:#f1f4f5;border:1px solid #e0e4e9;color:#176b37;border-radius:13px;padding:9px 14px;font-size:13px}
.mini-brand{font-size:11px;letter-spacing:.03em}
.institution-mark{margin-bottom:33px;gap:14px}
.institution-mark .auth-logo{width:64px;height:64px;object-fit:contain;border-radius:50%}
.institution-mark h2{font-size:clamp(18px,1.5vw,25px);font-weight:800;line-height:1.35}
.institution-mark p{font-size:12px;margin-top:3px}
.fast-label{font-size:13px;margin-bottom:11px;color:#626c80}
.role-tabs{border-radius:13px;padding:4px;background:#f1f4f7;margin-bottom:27px;gap:2px}
.role-tab{border-radius:11px;font-size:13px;padding:10px 3px;white-space:nowrap}
.role-tab.active{border-color:#e8ebf2;color:#201a72;box-shadow:0 2px 7px #151d3016}
.auth-form label{font-size:13px;color:#242a3b;font-weight:700}
.auth-form input{height:52px;border-radius:11px;margin:5px 0 17px;padding:12px 14px;font-size:14px}
.auth-submit{background:#197b38;border-radius:14px;height:60px;margin-top:7px;font-size:16px;transition:background .15s,transform .15s}
.auth-submit:hover{background:#11682e;transform:translateY(-1px)}
.auth-submit:focus-visible,.role-tab:focus-visible,.lang-button:focus-visible{outline:3px solid #7fd7a1;outline-offset:2px}
.parent-portal{border-top:1px solid #e7e9ed;margin-top:29px;padding:24px 0 0;background:none;border-radius:0;position:relative}
.parent-portal:before{content:"";position:absolute;inset:24px 0 0;background:#f8fafb;border:1px solid #e5e9ec;border-radius:13px;z-index:0}
.parent-portal>*{position:relative;z-index:1}
.parent-portal>span{margin:11px 15px 11px 0}
.parent-portal b{color:#147332;font-size:14px}
.parent-portal small{font-size:11px}
.parent-portal em{margin-left:16px;color:#267547}
.auth-footer{margin-top:30px;font-size:11px}
@media(max-width:1250px){.auth-shell{grid-template-columns:57% 43%}.auth-panel{padding-inline:40px}.future-chip,.secure-note{right:40px}.auth-copy h1{font-size:39px}.auth-copy p{font-size:15px}.auth-card{padding-inline:30px}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-panel{min-height:370px;padding:100px 35px 65px}.auth-copy{margin:0}.future-chip{top:24px;right:35px}.secure-note{right:35px;bottom:20px}.trust-row{margin-top:24px}.auth-card{max-width:650px;padding:40px 30px}}
@media(max-width:600px){.auth-panel{min-height:350px;padding:83px 22px 55px}.future-chip{right:22px;font-size:11px}.secure-note{right:22px;font-size:10px}.auth-copy h1{font-size:30px;letter-spacing:0;margin-bottom:12px}.auth-copy p{font-size:12px}.trust-row{gap:7px;margin-top:18px}.trust-row div{padding:9px 3px}.trust-row b{font-size:20px}.trust-row span{font-size:9px}.auth-card{padding:29px 20px}.institution-mark h2{font-size:18px}.role-tab{font-size:10px}}
@media(prefers-reduced-motion:reduce){.auth-submit{transition:none}.auth-panel video{display:none}}
.parent-portal{text-decoration:none;color:inherit;cursor:pointer}
.parent-portal:hover:before{background:#eff8f2;border-color:#a6d5b6}
.parent-portal:focus-visible{outline:3px solid #55bc79;outline-offset:4px;border-radius:13px}
.student-entry{margin-top:16px;padding:13px 15px;display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;border:1px solid #c7d7ee;border-radius:14px;background:#f0f6ff;transition:background .15s,border-color .15s}.student-entry>span{font-size:25px}.student-entry b{display:block;color:#21569a;font-size:13px}.student-entry small{display:block;color:#6e7f95;font-size:10px}.student-entry em{font-style:normal;color:#21569a;margin-right:auto}.student-entry:hover{background:#e7f1ff;border-color:#93b9ea}.student-entry:focus-visible{outline:3px solid #65a2e4;outline-offset:3px}

.role-tabs{gap:2px}.role-tab{white-space:normal;line-height:1.3}@media(max-width:600px){.role-tab{font-size:9px;padding:8px 2px}}
