/* VerbaNote candidate registration: final, scoped structural layer. */
body:has(#candidateRegistrationForm){overflow-x:hidden!important;background:#061b2d!important}
body:has(#candidateRegistrationForm) .registration-shell{position:relative!important;isolation:isolate!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(420px,540px)!important;align-items:center!important;gap:clamp(16px,3vw,50px)!important;width:100%!important;max-width:1600px!important;min-height:calc(100dvh - 76px)!important;margin:auto!important;padding:24px clamp(20px,4vw,65px)!important;overflow:visible!important;background:transparent!important}
body:has(#candidateRegistrationForm) .registration-shell::before{content:""!important;position:absolute!important;inset:0!important;display:block!important;z-index:-2!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(4,20,35,.28),rgba(4,20,35,.12) 45%,rgba(4,20,35,.55)),url('../images/candidate-auth-student-clean.webp') 29% center / auto 100% no-repeat!important;background-color:#061b2d!important}
body:has(#candidateRegistrationForm) .registration-shell::after{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(0deg,rgba(3,17,32,.82),transparent 55%)!important}
body:has(#candidateRegistrationForm) .onboarding-aside{display:flex!important;grid-column:1!important;position:relative!important;top:auto!important;align-self:center!important;justify-content:flex-end!important;min-height:clamp(470px,76dvh,750px)!important;padding:clamp(12px,2vw,34px)!important;background:none!important;overflow:visible!important;color:#fff!important}
body:has(#candidateRegistrationForm) .onboarding-aside h1{font-size:clamp(30px,3.4vw,52px)!important;color:#fff!important;text-shadow:0 3px 15px rgba(0,0,0,.5)!important}
body:has(#candidateRegistrationForm) .form-panel{grid-column:2!important;position:relative!important;align-self:center!important;width:100%!important;min-width:0!important;min-height:0!important;max-height:min(820px,calc(100dvh - 112px))!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:rgba(234,245,251,.86)!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:26px!important;box-shadow:0 24px 72px rgba(0,12,28,.42)!important;backdrop-filter:blur(18px) saturate(125%)!important;-webkit-backdrop-filter:blur(18px) saturate(125%)!important}
body:has(#candidateRegistrationForm) .form-panel #candidateRegistrationForm{position:relative!important;display:flex!important;flex-direction:column!important;min-height:0!important;max-height:100%!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin!important;scrollbar-color:#8eb8c7 transparent!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm::before{content:none!important;display:none!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-step{padding:26px clamp(18px,3vw,34px) 8px!important;background:transparent!important;flex:0 0 auto!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-step.active{display:block!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-actions{position:sticky!important;bottom:0!important;z-index:9!important;flex:0 0 auto!important;min-height:76px!important;margin:14px 0 0!important;padding:13px clamp(18px,3vw,34px)!important;background:#eaf3f8!important;border-top:1px solid #c6d9e4!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;box-shadow:0 -7px 16px rgba(9,36,55,.035)!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-actions .btn{min-height:46px!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .mobile-signin{padding:0 24px 15px!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .step-heading h2,body:has(#candidateRegistrationForm) #candidateRegistrationForm label{color:#10243b!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .step-heading p,body:has(#candidateRegistrationForm) #candidateRegistrationForm label small{color:#526c80!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .secondary-exam-card{background:rgba(218,239,246,.85)!important;border:1px solid #a9d3df!important;box-shadow:none!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .secondary-exam-card strong{color:#10243b!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .secondary-exam-card small{color:#526c80!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section{background:rgba(255,255,255,.7)!important;border:1px solid #bfd6e1!important;color:#10243b!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-option>span{background:#f5fbfe!important;border:1px solid #c4dce7!important;color:#10243b!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-option input:checked+span{background:#d6eef3!important;border:2px solid #08758a!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-option strong{color:#10243b!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-option small{color:#506a7a!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm #subjectGrid{max-height:none!important;overflow:visible!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-bulk-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-bulk-actions button{border:1px solid #acd4e0;background:#f3fbfd;color:#076a80;border-radius:9px;padding:9px 12px;font-weight:800;font-size:12px;cursor:pointer}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-bulk-actions button:hover{background:#dff3f7}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-bulk-actions button:disabled{opacity:.5;cursor:not-allowed}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-grid{min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.legal-modal__dialog{width:min(850px,100%)!important;height:min(740px,calc(100dvh - 48px))!important;border-radius:24px!important;border:1px solid #a9d4e1!important;box-shadow:0 32px 95px rgba(0,12,27,.45)!important}
.legal-modal__header{background:linear-gradient(110deg,#081e32,#0b5365)!important;padding:20px 26px!important;border:0!important}
.legal-modal__header h2{color:#fff!important;font-size:24px!important}
.legal-modal__eyebrow{color:#72e3eb!important}
.legal-modal__close{border:1px solid rgba(255,255,255,.25)!important;background:rgba(255,255,255,.1)!important;color:#fff!important}
.legal-modal__content{padding:14px!important;min-height:0!important;background:#eff7fa!important;overflow:hidden!important}
.legal-modal__content iframe{width:100%!important;max-width:100%!important;height:100%!important;overflow:auto!important;border-radius:12px!important;background:#fff!important}
.legal-modal__footer{padding:14px 22px!important;background:#fff!important;border-top:1px solid #d7e5eb!important}
.legal-modal__return{background:#08758a!important;color:#fff!important}
@media(max-width:900px){body:has(#candidateRegistrationForm) .registration-shell{grid-template-columns:1fr!important;padding:18px 14px 30px!important}body:has(#candidateRegistrationForm) .registration-shell::before{background-size:auto 100%!important;background-position:35% center!important}body:has(#candidateRegistrationForm) .onboarding-aside{grid-column:1!important;min-height:180px!important;padding:14px!important}body:has(#candidateRegistrationForm) .onboarding-aside .aside-card,body:has(#candidateRegistrationForm) .onboarding-aside .steps{display:none!important}body:has(#candidateRegistrationForm) .form-panel{grid-column:1!important;max-width:650px!important;max-height:none!important;margin:0 auto!important}body:has(#candidateRegistrationForm) .form-panel #candidateRegistrationForm{max-height:none!important;overflow:visible!important}body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-actions{position:sticky!important;bottom:0!important}}
@media(max-width:600px){body:has(#candidateRegistrationForm) .onboarding-aside{min-height:140px!important}body:has(#candidateRegistrationForm) .onboarding-aside h1{font-size:27px!important}body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-step{padding:22px 16px 6px!important}body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-actions{padding:12px 16px!important}body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-grid{grid-template-columns:1fr!important}.legal-modal__dialog{height:100dvh!important;border-radius:0!important}.legal-modal__content{padding:8px!important}}

/* v2.1: viewport-safe mobile scroll and subject section contrast. */
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section :is(h3,h4,strong),
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section .exam-subtitle,
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section p,
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section .exam-selection-meter{color:#17334a!important}
body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section{background:#e9f5fa!important}
@media(max-width:900px){
 html,body:has(#candidateRegistrationForm){height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:auto!important}
 body:has(#candidateRegistrationForm) .registration-shell{height:auto!important;min-height:calc(100dvh - 76px)!important;overflow:visible!important;align-items:start!important}
 body:has(#candidateRegistrationForm) .form-panel{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;display:block!important;align-self:start!important}
 body:has(#candidateRegistrationForm) .form-panel #candidateRegistrationForm{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;display:block!important}
 body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-step{height:auto!important;min-height:0!important;overflow:visible!important}
 body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-actions{position:static!important;bottom:auto!important;margin:16px 0 0!important;min-height:72px!important}
 body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-grid,
 body:has(#candidateRegistrationForm) #candidateRegistrationForm .subject-grid,
 body:has(#candidateRegistrationForm) #candidateRegistrationForm #subjectGrid{height:auto!important;max-height:none!important;overflow:visible!important}
}
@media(max-width:600px){
 body:has(#candidateRegistrationForm) .registration-shell{padding-bottom:40px!important}
 body:has(#candidateRegistrationForm) .form-panel{margin-bottom:24px!important}
 body:has(#candidateRegistrationForm) #candidateRegistrationForm .form-actions{padding:14px 16px!important;flex-wrap:wrap!important}
 body:has(#candidateRegistrationForm) #candidateRegistrationForm .exam-subject-section{padding:12px!important}
}
