/* Profile-only layout: login, registration and code confirmation retain their compact card. */
.login-access-container:has(.lms-profile){width:100%;max-width:1040px;box-sizing:border-box}
.login-card:has(.lms-profile),.login-card.login-card--profile{max-width:100%;width:100%;box-sizing:border-box;transform:none}
.profile-welcome{padding:16px 20px;background:#eef7fb;border-left:3px solid #1976bd;line-height:1.5}
.profile-welcome p{margin:6px 0 0}
.lms-profile{color:#27332f;line-height:1.5;hyphens:none;overflow-wrap:break-word}
.lms-profile .ProfileForm>h2{font-size:1.45rem;margin:24px 0 12px}
.lms-profile .ProfileForm>.Inputfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;list-style:none;padding:0;margin:0}
.lms-profile .ProfileForm>.Inputfields>.Inputfield{min-width:0;width:auto!important;float:none;clear:none;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-sizing:border-box}
.lms-profile .ProfileForm>.Inputfields>.profile-section,.lms-profile .Inputfield_profile_postal_address_type,.lms-profile .InputfieldPassword,.lms-profile .InputfieldSubmit,.lms-profile .Inputfield_profile_pass_ask{grid-column:1/-1}
.lms-profile .profile-section{margin-top:12px!important;border-top:1px solid #d9e2df!important;padding-top:18px!important}
.lms-profile .profile-section h3{font-size:1.2rem;font-weight:600;margin:0 0 8px;color:#214737}
.lms-profile .profile-section p{margin:10px 0 0}
.lms-profile .InputfieldHeader{display:block;font-weight:600;margin-bottom:5px}
.lms-profile .InputfieldHeader .toggle-icon{display:none}
.lms-profile .InputfieldHeaderHidden{display:none}
.lms-profile input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.lms-profile select,.lms-profile textarea{max-width:100%;width:100%;box-sizing:border-box;min-height:42px;padding:8px 10px;border:1px solid #becbc5;background:#fff;border-radius:4px;font:inherit;color:inherit}
.lms-profile input[readonly]{background:#f2f5f3!important;color:#52615b!important}
.lms-profile .notes,.lms-profile .description,.lms-profile .profile-field-note{font-size:.85rem;line-height:1.45;margin:6px 0 0;color:#53635b;white-space:normal}
.lms-profile .InputfieldContent ul{list-style:none;margin:0;padding:0}
.lms-profile .InputfieldRadios label{display:inline-flex;gap:8px;align-items:baseline;margin:4px 0}
.lms-profile button{border:0;border-radius:4px;background:#0066cc;color:#fff;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer}
.lms-profile button:disabled{opacity:.6;cursor:wait}
.lms-profile :focus-visible{outline:3px solid #2684cc;outline-offset:2px}
.lms-profile .profile-address-lookup{margin-top:16px;max-width:540px}
.lms-profile .profile-address-lookup>label{font-weight:600}
.lms-profile .profile-lookup-controls{display:flex;gap:8px;margin:6px 0 10px}
.lms-profile .profile-lookup-controls input{flex:1;min-width:0}
.lms-profile .profile-lookup-controls button{flex-shrink:0}
.lms-profile [hidden]{display:none!important}
@media(max-width:639px){
 .lms-profile .ProfileForm>.Inputfields{grid-template-columns:minmax(0,1fr);gap:15px}
 .login-card:has(.lms-profile){padding:22px 16px}
 .login-access-container:has(.lms-profile){padding:0 12px}
 .lms-profile .profile-lookup-controls button{padding:10px 12px}
}

.profile-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;margin:0 0 24px;padding:0}
.profile-progress li{display:flex;gap:10px;padding:14px 12px;border:1px solid #d5ded9;border-radius:6px;background:#f7f9f8;font-size:.85rem;line-height:1.4}
.profile-progress li>div{min-width:0}
.profile-progress strong,.profile-progress li>div>span{display:block}
.profile-progress li>div>span{margin-top:5px;color:#53635b}
.profile-step-number{display:flex;align-items:center;justify-content:center;flex:0 0 27px;height:27px;border:1px solid #b5c2bb;border-radius:50%;font-weight:700;background:#fff}
.profile-progress .is-complete .profile-step-number{background:#246342;color:#fff;border-color:#246342}
.profile-progress .is-current{border:2px solid #1976bd;background:#eef7ff;padding:13px 11px}
.profile-progress .is-current .profile-step-number{background:#1976bd;border-color:#1976bd;color:#fff}
@media(max-width:850px){.profile-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.profile-progress ol{grid-template-columns:minmax(0,1fr);gap:6px}.profile-progress li{padding:9px 11px}.profile-progress .is-current{padding:8px 10px}.profile-progress li>div>span{margin-top:2px}}

/* Keep compact identity pairs together; long option lists get a dedicated row. */
.lms-profile .Inputfield_profile_participantTitle,
.lms-profile .Inputfield_profile_participantPhoneNumber,
.lms-profile .Inputfield_profile_dietary_requirements{grid-column:1/-1}
.lms-profile .Inputfield_profile_participantTitle input{max-width:200px!important}
.lms-profile .Inputfield_profile_participantPhoneNumber input{max-width:420px!important}
.lms-profile .Inputfield_profile_dietary_requirements .InputfieldContent>ul{display:flex;flex-wrap:wrap;gap:6px 24px}
.lms-profile .Inputfield_profile_dietary_requirements .InputfieldContent>ul>li{margin:0}
.lms-profile .ProfileForm>.Inputfields>.profile-section{padding-top:18px!important;border-top:1px solid #d9e2df!important;margin-top:8px!important}
@media(max-width:639px){
 .lms-profile .Inputfield_profile_dietary_requirements .InputfieldContent>ul{display:block}
}

/* Emphasise that changing the password is optional. */
.lms-profile .Inputfield_profile_section_pass .InputfieldContent>div{color:#b42318;font-weight:600}
