/* Registration only: preserve recovery/login styles and the existing form contract. */
body.ceads--auth .candidate-register { --auth-ink:#173f43; --auth-muted:#526b6b; --auth-action:#246b6c; --auth-line:#9bbab5; background:#f7faf9; }
.candidate-register .auth-forms-header { min-height:80px; padding:12px max(24px, calc((100% - 1120px) / 2)); gap:16px; }
.candidate-register .auth-forms-header>a:first-child { position:relative; display:block; flex:none; width:140px; height:52px; overflow:hidden; }
body.ceads .candidate-register .auth-forms-header img { position:absolute; width:167%; max-width:none; height:auto; left:-34.2%; top:-92%; }
.candidate-register .auth-forms-header>a:last-child { font-size:.94rem; text-decoration:none; }
.candidate-register .auth-forms-header>a:last-child:hover { text-decoration:underline; }
.registration-shell { width:min(calc(100% - 48px),1120px); margin:32px auto 0; padding-bottom:32px; }
.candidate-register .registration-heading { margin-bottom:28px; }
body.ceads--auth .candidate-register h1 { font-size:2rem; margin-bottom:8px; }
.candidate-register .registration-heading p { margin:0; max-width:75ch; }
.candidate-register .registration-heading .registration-account-note { display:flex; align-items:baseline; gap:8px; margin-top:8px; font-size:.9rem; }
.registration-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); gap:40px; align-items:start; }
.registration-guide { position:sticky; top:24px; min-width:0; }
.candidate-register .registration-guide h2 { margin:0 0 12px; color:var(--auth-ink); font-size:1rem; font-weight:700; }
.registration-guide nav { display:flex; flex-direction:column; gap:4px; }
.candidate-register .registration-guide nav a { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 12px; color:var(--auth-ink); text-decoration:none; border-radius:6px; font-size:.94rem; }
.registration-guide nav a>i { color:var(--auth-action); font-size:1.15rem; flex:none; }
.registration-guide nav a>span { flex:1; min-width:0; }
.registration-guide nav small { display:block; font-size:.78rem; color:var(--auth-muted); }
.candidate-register .registration-guide nav a:hover, .candidate-register .registration-guide nav a:focus-visible { background:#e7f3ef; }
.registration-preparation { margin-top:24px; padding-top:24px; border-top:1px solid #d7e7e3; }
.registration-preparation p { margin:0 0 12px; font-size:.9rem; line-height:1.6; color:var(--auth-muted); }
.registration-existing { margin-top:24px; }
.registration-existing p { margin:0; color:var(--auth-muted); font-size:.9rem; }
.registration-existing a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:.94rem; font-weight:600; }
.registration-main { min-width:0; }
.candidate-register .auth-forms-form { padding:28px 32px; border:1px solid #d7e7e3; border-radius:12px; box-shadow:none; }
.candidate-register .registration-required { margin:0 0 24px; padding-bottom:16px; border-bottom:1px solid #d7e7e3; font-size:.85rem; color:var(--auth-muted); }
.candidate-register .auth-forms-form fieldset { padding-bottom:28px; scroll-margin-top:24px; }
.candidate-register .auth-forms-form fieldset+fieldset { padding-top:28px; }
.candidate-register .auth-forms-form legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:8px; font-size:1.15rem; line-height:1.4; }
.candidate-register .auth-forms-form legend>i { color:var(--auth-action); font-size:1.25rem; }
.candidate-register .auth-forms-section-help { font-size:.9rem; margin-bottom:20px; }
.candidate-register .auth-forms-grid { gap:16px 20px; }
.candidate-register .auth-forms-field label { font-size:.94rem; margin-bottom:6px; }
.candidate-register .auth-forms-control input, .candidate-register .auth-forms-control select { min-height:46px; border-radius:6px; }
.candidate-register .auth-forms-control:focus-within { border-radius:6px; }
.candidate-register .auth-forms-control input:focus, .candidate-register .auth-forms-control select:focus { border-color:var(--auth-action); }
.candidate-register .auth-forms-hint { font-size:.83rem; }
.registration-optional { display:inline-block; padding:2px 8px; background:#edf8f6; border-radius:4px; color:#365b57; font-size:.78rem; font-weight:400; }
.candidate-register .auth-forms-address-lookup { margin-bottom:16px; align-items:flex-end; }
.candidate-register .auth-forms-address-lookup .auth-forms-field { flex:0 1 200px; }
.registration-submit-area { border-top:1px solid #d7e7e3; padding-top:24px; }
.candidate-register .auth-forms-consent { margin-top:0; }
.candidate-register .auth-forms-consent label { font-size:.9rem; color:var(--auth-muted); }
.candidate-register .auth-forms-actions { margin-top:20px; }
.candidate-register .auth-forms-primary { min-height:48px; padding:12px 24px; font-weight:600; }
.candidate-register .auth-forms-footer { font-size:.88rem; margin-top:16px; }
.candidate-register .auth-forms-notice { margin-top:0; }
body.ceads .candidate-register :is(a,button,input,select,[tabindex]):focus-visible { outline:2px solid #246b6c!important; outline-offset:3px; }
@media(max-width:900px) {
    .registration-workspace { grid-template-columns:minmax(0,1fr); gap:24px; }
    .registration-guide { position:static; }
    .registration-guide nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
    .registration-guide nav h2 { grid-column:1/-1; margin-bottom:0!important; }
    .candidate-register .registration-guide nav a { background:#edf8f6; font-size:.85rem; padding:8px; gap:8px; }
    .registration-guide nav a>i:last-child, .registration-guide nav small { display:none; }
    .registration-preparation, .registration-existing { display:none; }
    .candidate-register .auth-forms-form { padding:24px; }
}
@media(max-width:600px) {
    .candidate-register .auth-forms-header { min-height:72px; padding:10px 16px; flex-wrap:nowrap; }
    .candidate-register .auth-forms-header>a:first-child { width:112px; height:42px; }
    .candidate-register .auth-forms-header>a:last-child { font-size:.85rem; white-space:nowrap; }
    .registration-shell { width:calc(100% - 32px); margin-top:24px; }
    body.ceads--auth .candidate-register h1 { font-size:1.65rem; }
    .candidate-register .registration-heading { margin-bottom:20px; }
    .registration-guide nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .candidate-register .auth-forms-form { padding:20px 16px; }
    .candidate-register .auth-forms-grid { grid-template-columns:minmax(0,1fr); }
    .candidate-register .auth-forms-address-lookup .auth-forms-field { flex:1 1 130px; }
    .candidate-register .auth-forms-primary { width:100%; }
    .candidate-register .registration-required { margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) { .candidate-register * { transition:none!important; scroll-behavior:auto!important; } }
@media(forced-colors:active) { body.ceads .candidate-register :is(a,button,input,select,[tabindex]):focus-visible { outline-color:Highlight!important; } }
.candidate-register .registration-check { margin: .4rem 0 0; }
.candidate-register .registration-check:empty { display: none; }
.candidate-register .registration-account-help { margin: .25rem 0 0; font-size: .95rem; }
.candidate-register .registration-account-help[hidden] { display: none; }
