/* Candidate auth visual refresh. Load AFTER existing styles. */
:root{--vn-brand:#0897b5!important;--vn-brand-dark:#056c91!important;--vn-brand-rgb:8,151,181!important}
html,body{max-width:100%;overflow-x:hidden}
body.login-page.candidate-hero-page{background:#061b2d!important;color:#10243b!important;min-height:100dvh!important}
body.login-page.candidate-hero-page::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 42% 38%,#124c70 0%,#061b2d 66%);z-index:-2}
.candidate-hero-overlay{background:linear-gradient(90deg,rgba(4,23,42,.18),rgba(4,23,42,.06))!important;pointer-events:none}
.candidate-hero-topbar{position:relative!important;z-index:3!important;max-width:1500px!important;margin:auto!important;padding:25px clamp(20px,4vw,60px)!important}
.candidate-hero-brand,.candidate-hero-brand span{color:white!important}.candidate-hero-brand b,.candidate-hero-auth-link a{color:#1dd8ee!important}
.candidate-hero-auth-link{color:#d4e9f5!important}
.candidate-login-stage{width:min(100%,1500px)!important;min-height:calc(100dvh - 115px)!important;margin:0 auto!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;padding:30px clamp(20px,5vw,85px)!important;position:relative!important;isolation:isolate}
.candidate-login-stage::before{content:"";position:absolute;z-index:-1;inset:0 40% 0 0;background:linear-gradient(90deg,#061b2d 0%,rgba(6,27,45,.12) 95%),url('../images/candidate-auth-student.jpg') center 34%/cover no-repeat;border-radius:24px}
.candidate-login-stage::after{content:"PRACTICE. PREPARE. ACHIEVE.";position:absolute;z-index:0;left:clamp(25px,5vw,85px);top:11%;width:32%;font-weight:900;line-height:1.15;letter-spacing:-.025em;font-size:clamp(28px,4vw,64px);color:#fff;text-shadow:0 4px 18px #061b2d;pointer-events:none}
.candidate-login-card{position:relative!important;z-index:2!important;width:min(100%,470px)!important;max-width:470px!important;min-height:auto!important;background:#fff!important;color:#10243b!important;border:1px solid #e3edf4!important;border-radius:23px!important;box-shadow:0 22px 75px #0004!important;padding:clamp(24px,3vw,44px)!important;backdrop-filter:none!important}
.candidate-login-card h1,.candidate-login-card label{color:#10243b!important}.candidate-login-copy{color:#52677d!important}.candidate-login-kicker{color:#008bb1!important}
.candidate-login-card input{background:#fff!important;color:#122c43!important;border:1px solid #cbdde9!important;opacity:1!important}
.candidate-login-card input::placeholder{color:#72869b!important;opacity:1!important}
.candidate-login-card .btn.primary,.candidate-login-card button.btn.primary,#candidateLoginForm .btn.primary{background:linear-gradient(110deg,#079ebc,#087a9a)!important;border-color:#079ebc!important;color:white!important}
.candidate-login-card .toggle-password{color:#087a9a!important;background:#effbfe!important;border-color:#c4eaf2!important}
.candidate-forgot-link{color:#087fa7!important}.candidate-login-footnote{color:#52677d!important}
@media(max-width:800px){.candidate-login-stage{display:block!important;padding:220px 14px 30px!important;min-height:100dvh!important}.candidate-login-stage::before{inset:0 0 auto 0;height:320px;background-position:center 28%;border-radius:0}.candidate-login-stage::after{left:22px;top:35px;width:48%;font-size:clamp(25px,7vw,42px)}.candidate-login-card{margin:0 auto!important;width:100%!important}.candidate-hero-topbar{padding:14px!important}.candidate-hero-auth-link{font-size:12px!important}}
/* Registration: preserve all four existing steps and JS; change visual layer only. */
body:has(#candidateRegistrationForm){background:#061b2d!important;color:#112b43!important}
body:has(#candidateRegistrationForm) .topbar{background:#071d30!important;color:white!important}
body:has(#candidateRegistrationForm) .topbar a{color:#d7f8ff!important}
body:has(#candidateRegistrationForm) .registration-shell{background:#071d30!important;max-width:1540px!important;margin:auto!important}
body:has(#candidateRegistrationForm) .onboarding-aside{background:linear-gradient(90deg,rgba(4,26,45,.98),rgba(4,26,45,.45)),url('../images/candidate-auth-student.jpg') center/cover no-repeat!important;color:white!important}
body:has(#candidateRegistrationForm) .onboarding-aside h1,body:has(#candidateRegistrationForm) .onboarding-aside p{color:white!important}
body:has(#candidateRegistrationForm) .form-panel{background:#fff!important;color:#10243b!important;border-radius:20px!important}
body:has(#candidateRegistrationForm) .form-panel label,body:has(#candidateRegistrationForm) .form-panel h1,body:has(#candidateRegistrationForm) .form-panel h2{color:#10243b!important}
body:has(#candidateRegistrationForm) .form-panel input,body:has(#candidateRegistrationForm) .form-panel select,body:has(#candidateRegistrationForm) .form-panel textarea{color:#10243b!important;background:#fff!important;border-color:#ccdfeb!important}
body:has(#candidateRegistrationForm) .form-panel input::placeholder{color:#74869b!important}
@media(max-width:800px){body:has(#candidateRegistrationForm) .registration-shell{display:block!important}body:has(#candidateRegistrationForm) .onboarding-aside{min-height:200px!important}body:has(#candidateRegistrationForm) .form-panel{border-radius:20px 20px 0 0!important}}
/* Password recovery */
body:has(.auth-layout){background:#061b2d!important}
body:has(.auth-layout) .auth-visual{background:linear-gradient(90deg,rgba(5,24,43,.9),rgba(5,24,43,.12)),url('../images/candidate-auth-student.jpg') center/cover no-repeat!important}
