/* Registration shares the public site's quiet typography and deep blue accents. */
*{box-sizing:border-box}
body{margin:0;padding:0!important;background:#f5f7fa!important;color:#142f43;font-family:Arial,Helvetica,sans-serif;line-height:1.6}
.registration-header{background:#fff;border-bottom:1px solid #dbe3eb;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1120px)/2));gap:24px}
.registration-header img{display:block;width:140px;height:auto}.registration-header a{color:#142f43;font-weight:600}
.registration-page{min-height:0;padding:56px 24px!important}.signup-section{max-width:1120px;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:start;padding:0!important}
.form-content{width:100%;min-width:0;padding:36px;background:#fff;border:1px solid #dbe3eb;border-radius:12px}.hero{text-align:left;margin-bottom:12px!important}.hero h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.12;letter-spacing:-.04em;color:#142f43;margin:12px 0}.registration-eyebrow{font-size:.75rem!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#2362a0!important}.mobile-icons{display:none!important}.registration-intro{color:#526578;margin:0 0 24px}.registration-progress{background:#edf4fc;color:#164f80;padding:12px 16px;border-radius:6px;font-size:.875rem;font-weight:600;margin:0 0 28px}
label{font-size:.95rem;color:#142f43;margin-bottom:8px}input,select,textarea,button{font-family:inherit!important}input[type=text],input[type=tel],input[type=email],input[type=password],select,textarea{font-size:16px;background:#fff;border:1px solid #aebfce;border-radius:6px;padding:12px;min-height:48px;width:100%;margin-bottom:20px;color:#142f43}select{appearance:auto}.float-label{display:flex;flex-direction:column;margin-bottom:0}.float-label label,.float-label input:focus+label,.float-label input:not(:placeholder-shown)+label{position:static;order:-1;font-size:.95rem;color:#142f43;pointer-events:auto;transition:none}.float-label input{font-weight:400}.password-wrapper input{padding-right:52px}.radio-group,.checkbox-group{display:grid;gap:10px;margin:12px 0 24px}.radio-group label,.checkbox-group label{display:block;margin:0;padding:12px;border:1px solid #dbe3eb;border-radius:6px;font-size:.9rem}.radio-group input,.checkbox-group input[type=checkbox],#termsAgreed{width:18px;height:18px;margin:0 8px 0 0;vertical-align:middle;accent-color:#0659bd}.submit-btn{background:#0659bd!important;color:white;border:0;border-radius:6px;padding:14px 24px;font-size:1rem;min-height:48px;width:auto;box-shadow:none}.section h2{border:0;font-size:1.3rem}.registration-guide{background:#092b45;color:#e0ebf2;padding:40px;border-radius:10px}.registration-guide h2{color:white;font-size:2rem;line-height:1.2;letter-spacing:-.03em}.registration-guide .registration-eyebrow{color:#a9dcec!important}.registration-guide ol{padding-left:22px;margin-top:32px}.registration-guide li{padding:0 0 24px 10px}.registration-guide strong,.registration-guide span{display:block}.registration-guide strong{color:white}.registration-guide span{font-size:.95rem;margin-top:4px}.error:not(:empty){padding:14px;background:#fff0f0;color:#9b2733;border-radius:6px}input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid #80b7ef!important;outline-offset:3px}.site-footer{margin:0;background:#092b45;font-family:inherit;padding:20px}.footer-container{max-width:1120px!important}.footer-logo{max-width:160px;height:auto}.footer-text p{line-height:1.6}
@media(max-width:768px){.signup-section{display:grid;grid-template-columns:1fr;gap:24px}.registration-page{padding:24px 16px!important}.form-content{padding:24px}.registration-guide{padding:28px}.registration-header{padding:16px 24px}}

/* A single wide form with the same progress treatment as staff invitations. */
.signup-section{grid-template-columns:minmax(0,1fr);max-width:1280px;gap:0}
.form-content{padding:40px 48px}
.registration-intro{max-width:800px}
.registration-steps{display:flex;list-style:none;gap:12px;padding:0;margin:28px 0 32px}
.registration-steps li{flex:1;padding:12px 6px;border-bottom:3px solid #dce6ef;font-size:.9rem;color:#526a80}
.registration-steps li[aria-current=step]{color:#075fc7;border-color:#075fc7;font-weight:700}
.registration-steps li.is-complete{color:#27634c;border-color:#67a38a}
.registration-progress{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.radio-group{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.form-content{padding:24px 20px}.registration-steps{gap:8px}.registration-steps li{font-size:.75rem;padding:10px 2px}.radio-group{grid-template-columns:1fr}}

/* Deep-blue progress band and familiar floating line fields. */
.registration-steps{background:#092b45;border-radius:6px;padding:12px 18px;gap:18px}
.registration-steps li{color:#c6d8e6;border-color:#567087}
.registration-steps li[aria-current=step]{color:#fff;border-color:#72d8ef}
.registration-steps li.is-complete{color:#d4f5e7;border-color:#8bdbb7}
.float-label{display:block;position:relative;margin:26px 0 20px;padding-top:12px}
.float-label input{border:0;border-bottom:1px solid #71899d;border-radius:0;background:transparent;padding:14px 0 8px;margin-bottom:0;font-weight:400;min-height:48px}
.float-label label,.float-label input:focus+label,.float-label input:not(:placeholder-shown)+label{position:absolute;left:0;top:25px;font-size:1rem;transform-origin:left top;transform:none;transition:transform .2s cubic-bezier(.16,1,.3,1);pointer-events:none;color:#526578}
.float-label:focus-within label,.float-label:has(input:not(:placeholder-shown)) label{transform:translate3d(0,-25px,0) scale(.8);color:#164f80}
.password-wrapper{position:relative}.password-wrapper label{top:13px}.float-label .password-wrapper input{padding-right:48px}
select,textarea{border:0;border-bottom:1px solid #71899d;border-radius:0}
.registration-loading{display:flex;align-items:center;gap:12px;background:#edf4fc;color:#123e61;padding:16px;margin-top:20px;border-radius:6px}
.registration-loading[hidden]{display:none}.registration-spinner{width:20px;height:20px;flex:0 0 20px;border:2px solid #b6cede;border-top-color:#123e61;border-radius:50%;animation:registration-spin 1s linear infinite}
@keyframes registration-spin{to{transform:rotate(360deg)}}
button:disabled{opacity:.65;cursor:wait}#prevBtn[aria-disabled=true]{opacity:.5;pointer-events:none}
@media(prefers-reduced-motion:reduce){.float-label label{transition:none}.registration-spinner{animation:none}}
@media(max-width:600px){.registration-steps{padding:10px;gap:8px}}

/* Progress forms an attached cap on the registration card. */
.form-content{--form-pad-x:48px;--form-pad-y:40px;padding:var(--form-pad-y) var(--form-pad-x)}
.form-content>.registration-steps{margin:calc(-1 * var(--form-pad-y)) calc(-1 * var(--form-pad-x)) 32px;padding:18px var(--form-pad-x);border-radius:11px 11px 0 0}
@media(max-width:768px){.form-content{--form-pad-x:24px;--form-pad-y:24px}}
@media(max-width:600px){.form-content{--form-pad-x:20px}.form-content>.registration-steps{padding:14px var(--form-pad-x);margin-bottom:24px}}
/* Keep line-field focus clear without a rectangle around floating labels. */
#registrationForm input[type=text]:focus,
#registrationForm input[type=tel]:focus,
#registrationForm input[type=email]:focus,
#registrationForm input[type=password]:focus,
#registrationForm select:focus,
#registrationForm textarea:focus{outline:none!important;border-bottom-color:#075fc7;box-shadow:0 2px 0 #075fc7}

.float-label:has(input:autofill) label,.float-label:has(input:-webkit-autofill) label{transform:translate3d(0,-25px,0) scale(.8);color:#164f80}
/* Hover highlights actions without changing their size. */
#registrationForm .submit-btn:hover{font-size:1rem;transform:none;background:#00479c!important;box-shadow:none}
