/* Shared account identity and profile editing. */
.account-profile-summary { display:inline-flex; align-items:center; gap:8px; height:44px; box-sizing:border-box; padding:7px 12px; border:1px solid #d9e1e5; border-radius:10px; color:inherit; background:#fff; text-decoration:none; font:600 13px/1.2 Manrope,system-ui,sans-serif; min-width:0; max-width:240px; }
.account-profile-summary img { width:28px; height:28px; object-fit:cover; border-radius:6px; flex:none; }
.account-profile-summary span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-overview > .account-profile-summary { margin-right:auto; }
.account-overview > .account-overview-actions { width:auto; flex:1; min-width:0; }
.portal-profile-link { display:inline-flex!important; box-sizing:border-box; gap:8px; align-items:center; height:44px; min-height:44px; max-width:220px; }
.portal-profile-link[hidden] { display:none!important; }
.portal-profile-link img { width:24px; height:24px; object-fit:cover; border-radius:4px; flex:none; }
.portal-profile-link span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-shared-profile [hidden] { display:none!important; }
.account-shared-profile { padding:24px 0; border-bottom:1px solid #dce3e8; }
.profile-section-heading :is(h2,h3) { margin:0 0 10px; font:700 18px/1.3 Manrope,system-ui,sans-serif; letter-spacing:-.02em; }
.profile-section-heading p { margin:0; font-size:14px; line-height:1.65; max-width:48ch; }
.account-shared-profile .profile-editor-form { display:flex; flex-direction:column; align-items:stretch; gap:24px; margin-top:24px; }
.profile-photo-row { display:flex; align-items:center; gap:18px; }
.profile-photo-row strong { font-size:14px; font-weight:650; }
.profile-photo-row .profile-note { margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--profile-muted,#647582); }
.account-shared-profile .profile-avatar-control { position:relative; display:flex; align-items:center; justify-content:center; isolation:isolate; flex:0 0 64px; width:64px; height:64px; min-height:64px; border:1px solid #ccd7df; border-radius:10px; background:#eef2f4; padding:0; overflow:visible; cursor:pointer; }
.account-shared-profile .profile-avatar-control img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:10px; }
.account-shared-profile .profile-avatar-placeholder { font:650 20px/1 Manrope,system-ui,sans-serif; color:#50616b; }
.account-shared-profile .profile-avatar-edit { position:absolute; right:-4px; bottom:-4px; display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:5px; background:#fff; border:1px solid #ccd7df; color:#354b59; }
.profile-avatar-edit svg { width:13px; height:13px; }
.account-shared-profile .profile-avatar-control:focus-visible { outline:2px solid #175b63; outline-offset:4px; }
.profile-fields { display:flex; flex-wrap:wrap; align-items:flex-start; gap:24px; }
.profile-fields .field { flex:1 1 260px; min-width:0; display:flex; flex-direction:column; gap:8px; }
.profile-fields label { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; }
.profile-optional { color:var(--profile-muted,#647582); font-size:12px; font-weight:400; }
.profile-fields input { width:100%; min-width:0; min-height:44px; box-sizing:border-box; border:1px solid #ccd7df; border-radius:8px; padding:10px 12px; font:400 16px/1.4 Manrope,system-ui,sans-serif; background:white; color:#24343d; }
.profile-fields small { font-size:12px; line-height:1.6; color:var(--profile-muted,#647582); }
.profile-form-actions { display:flex; justify-content:flex-end; border-top:1px solid #e4e9ed; padding-top:20px; }
.profile-form-actions button { min-height:44px; margin:0; }
.portal-profile-settings { position:fixed; inset:0; box-sizing:border-box; width:100%; height:100%; max-width:100%; max-height:100%; margin:0; border:0; border-radius:0; background:#f5f7f9; color:#24343d; padding:0; overflow:auto; font-family:var(--portal-body-font,Manrope),system-ui,sans-serif; }
.portal-profile-settings::backdrop { background:#17242e80; }
.portal-profile-settings-inner { width:100%; margin:0; }
.portal-profile-settings-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:24px 32px; background:#fff; border-bottom:1px solid #dce3e8; }
.profile-page-label { margin:0 0 7px; color:#647582; font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.portal-profile-settings h1 { margin:0; font:700 clamp(23px,2.2vw,30px)/1.2 Manrope,system-ui,sans-serif; letter-spacing:-.03em; outline:none; }
.portal-profile-settings-header > div > p:last-child { margin:8px 0 0; color:#647582; font-size:13px; }
.portal-profile-settings-header .portal-button { min-height:44px; flex:none; font-weight:600; border-radius:8px; }
.portal-profile-settings-content { padding:32px; }
.portal-profile-settings .account-shared-profile { display:flex; gap:clamp(32px,5vw,80px); align-items:flex-start; padding:32px; background:#fff; border:1px solid #dce3e8; border-radius:12px; }
.portal-profile-settings .profile-section-heading { flex:0 1 260px; min-width:180px; }
.portal-profile-settings .profile-editor-form { flex:1 1 600px; min-width:0; margin:0; gap:28px; }
.portal-profile-settings .profile-fields .field { flex-basis:260px; }
.portal-profile-settings .profile-form-actions button { font-weight:600; border-radius:8px; }
#portal-profile-status { margin:18px 0 0; font-size:14px; }
#portal-profile-status:empty { display:none; }
@media(max-width:800px) {
 .portal-profile-settings .account-shared-profile { flex-direction:column; gap:28px; padding:24px; }
 .portal-profile-settings .profile-section-heading,.portal-profile-settings .profile-editor-form { flex:auto; width:100%; min-width:0; }
 .portal-profile-settings .profile-section-heading p { max-width:none; }
 .portal-profile-settings-content { padding:24px; }
}
@media(max-width:600px) {
 .account-profile-summary { max-width:180px; padding-inline:10px; }
 .portal-profile-link { max-width:140px; }
 .account-overview > .account-overview-actions { flex-basis:auto; }
 .portal-profile-settings-header { padding:20px; align-items:flex-start; gap:16px; }
 .portal-profile-settings-header > div { flex:1 1 220px; }
 .portal-profile-settings-header .portal-button { width:auto; }
 .portal-profile-settings-content { padding:16px; }
 .portal-profile-settings .account-shared-profile { padding:22px 18px; }
 .profile-fields { gap:20px; }
 .profile-fields .field { flex-basis:100%; }
 .profile-form-actions button { width:100%; }
}

#account-settings-modal .account-modal-head { flex-wrap:wrap; }
#account-settings-modal .account-modal-close { min-height:44px; padding:10px 14px; border-radius:8px; font:600 13px/1.3 Manrope,system-ui,sans-serif; white-space:nowrap; }

/* Compact profile editor: identity fields are the content. */
.profile-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.portal-profile-settings-header { justify-content:flex-start; padding:16px 32px; }
.portal-profile-settings .account-shared-profile { display:block; padding:24px; }
.portal-profile-settings .profile-editor-form { width:100%; margin:0; gap:24px; }
.account-shared-profile .profile-editor-form { margin-top:0; }
@media(max-width:600px) {
 .portal-profile-settings-header { padding:12px 16px; }
 .portal-profile-settings .account-shared-profile { padding:20px 18px; }
}

.account-settings-control { width:44px!important; height:44px!important; min-width:44px; padding:11px!important; justify-content:center!important; border-radius:8px; cursor:pointer; }
.account-settings-control img { width:20px; height:20px; border-radius:0; }

.account-settings-icon { display:block; flex:none; width:20px; height:20px; background:currentColor; mask:url("/shared/account-settings.svg") center/contain no-repeat; -webkit-mask:url("/shared/account-settings.svg") center/contain no-repeat; }
