.member-profile-editor { max-width: 1320px; }
.member-profile-editor-heading { align-items: end; display: flex; justify-content: space-between; margin: 2rem 0; }
.member-profile-editor-heading h1 { font-size: clamp(2.5rem, 4.5vw, 4.7rem); line-height: 1; margin: 0 0 .8rem; }
.member-profile-editor-heading > div > p:last-child { color: var(--membership-muted); font-size: 1.05rem; line-height: 1.6; margin: 0; }
.member-profile-back { color: var(--membership-pink); font-weight: 750; padding: .7rem 0; }
.member-profile-visibility-notice { align-items: center; background: #f3fbf4; border: 1px solid #b9d9bd; border-radius: 14px; display: grid; gap: 1rem; grid-template-columns: 34px 1fr auto; margin-bottom: 1.3rem; padding: 1rem 1.2rem; }
.member-profile-visibility-notice.is-expired { background: #fff6f8; border-color: #ecb8c8; }
.member-profile-visibility-notice svg { fill: none; height: 28px; stroke: var(--membership-pink); width: 28px; }
.member-profile-visibility-notice p { color: var(--membership-muted); display: grid; line-height: 1.5; margin: 0; }
.member-profile-visibility-notice p strong { color: var(--membership-ink); }
.member-profile-visibility-notice a { background: var(--membership-pink); border-radius: 9px; color: #fff; font-weight: 800; padding: .8rem 1rem; }
.member-profile-errors { background: #fff4f5; border: 1px solid #e8a7b5; border-radius: 12px; color: #7e243c; margin-bottom: 1.3rem; padding: 1rem 1.2rem; }
.member-profile-errors ul { margin: .5rem 0 0 1.2rem; padding: 0; }
.member-profile-editor-grid { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1.6fr) minmax(310px, .7fr); }
.member-profile-editor-main,
.member-profile-editor-sidebar { display: grid; gap: 1.3rem; }
.member-profile-editor-sidebar { position: sticky; top: 104px; }
.member-profile-form { display: grid; gap: 1.3rem; }
.member-profile-form-card,
.member-profile-preview-card,
.member-profile-privacy-card { background: rgba(255,255,255,.94); border: 1px solid var(--membership-line); border-radius: 18px; box-shadow: 0 16px 45px rgba(66,44,53,.055); padding: clamp(1.25rem, 2.5vw, 2rem); }
.member-profile-form-heading { align-items: start; border-bottom: 1px solid var(--membership-line); display: grid; gap: .9rem; grid-template-columns: 44px 1fr; margin-bottom: 1.3rem; padding-bottom: 1rem; }
.member-profile-form-heading > span { align-items: center; background: var(--membership-pale); border-radius: 50%; display: flex; height: 44px; justify-content: center; width: 44px; }
.member-profile-form-heading svg { fill: none; height: 23px; stroke: var(--membership-pink); width: 23px; }
.member-profile-form-heading h2 { font-size: 1.55rem; margin: 0 0 .25rem; }
.member-profile-form-heading p { color: var(--membership-muted); font-size: .82rem; line-height: 1.5; margin: 0; }
.member-profile-form .membership-fields-grid label > small { color: var(--membership-muted); line-height: 1.45; }
.member-profile-form textarea { line-height: 1.6; resize: vertical; }
.member-profile-contact-fields { align-items: end; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); }
.member-profile-toggle { align-items: flex-start; background: #fff8fa; border: 1px solid #f0d7df; border-radius: 11px; cursor: pointer; display: flex !important; gap: .75rem !important; min-height: 72px; padding: .8rem .9rem; }
.member-profile-toggle input { accent-color: var(--membership-pink); flex: 0 0 auto; height: 20px; margin: .1rem 0 0; min-height: 0 !important; width: 20px !important; }
.member-profile-toggle > span { display: grid; gap: .2rem; }
.member-profile-toggle strong { color: var(--membership-ink); font-size: .82rem; }
.member-profile-toggle small { color: var(--membership-muted); font-size: .72rem; line-height: 1.35; }
.member-profile-street-toggle { margin-top: .8rem; }
.member-profile-form-actions { align-items: center; background: #fff; border: 1px solid var(--membership-line); border-radius: 16px; display: grid; gap: 1rem; grid-template-columns: 1fr minmax(240px, .45fr); padding: 1.2rem; }
.member-profile-form-actions p { align-items: center; color: var(--membership-muted); display: flex; gap: .6rem; line-height: 1.45; margin: 0; }
.member-profile-form-actions svg { fill: none; flex: 0 0 auto; height: 22px; stroke: var(--membership-pink); width: 22px; }
.member-profile-preview-card { display: grid; gap: 1rem; }
.member-profile-preview-heading { align-items: center; display: flex; justify-content: space-between; }
.member-profile-preview-heading h2 { font-size: 1.4rem; margin: 0; }
.member-profile-preview-heading span { border-radius: 999px; font-size: .7rem; font-weight: 800; padding: .3rem .6rem; }
.member-profile-preview-heading .is-active { background: #eef9f0; color: #287336; }
.member-profile-preview-heading .is-expired { background: #fff0f4; color: var(--membership-pink-dark); }
.member-profile-preview-card > img { border: 1px solid #ecdde2; border-radius: 12px; display: block; width: 100%; }
.member-profile-preview-card > a { color: var(--membership-pink); font-weight: 750; }
.member-profile-privacy-card { align-items: start; background: linear-gradient(135deg, #fff, #fff5f8); display: grid; gap: 1rem; grid-template-columns: 35px 1fr; }
.member-profile-privacy-card > svg { fill: none; height: 30px; stroke: var(--membership-pink); width: 30px; }
.member-profile-privacy-card h2 { font-size: 1.35rem; margin: 0 0 .5rem; }
.member-profile-privacy-card p { color: var(--membership-muted); line-height: 1.6; margin: 0; }

.member-avatar-editor-body { align-items: center; display: grid; gap: 1.5rem; grid-template-columns: 150px 1fr; }
.member-avatar-preview { align-items: center; background: var(--membership-pale); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #e2d4da, 0 9px 24px rgba(42,30,40,.1); display: flex; height: 150px; justify-content: center; overflow: hidden; width: 150px; }
.member-avatar-preview img { height: 100%; object-fit: cover; width: 100%; }
.member-avatar-preview svg { fill: none; height: 60px; stroke: var(--membership-pink); width: 60px; }
.member-avatar-copy { display: grid; gap: .5rem; }
.member-avatar-copy > strong { font-size: 1rem; }
.member-avatar-copy > p { color: var(--membership-muted); line-height: 1.5; margin: 0; }
.member-avatar-copy > div { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .4rem; }
.member-avatar-copy .button_to { margin: 0; }
.member-profile-secondary-action,
.member-profile-danger-action { background: #fff; border: 1px solid #e3cbd3; border-radius: 8px; color: var(--membership-pink-dark); font-weight: 750; min-height: 42px; padding: .65rem .9rem; }
.member-profile-danger-action { border-color: #ecc1c5; color: #a93343; }
.avatar-hidden-form { display: none; }
.avatar-crop-dialog { background: transparent; border: 0; border-radius: 18px; box-shadow: 0 28px 80px rgba(18,17,28,.24); color: var(--membership-ink); max-height: calc(100vh - 28px); overflow: auto; padding: 0; width: min(600px, calc(100% - 28px)); }
.avatar-crop-dialog::backdrop { backdrop-filter: blur(2px); background: rgba(22,22,43,.5); }
.avatar-crop-dialog-card { background: #fff; padding: 25px; position: relative; }
.avatar-crop-close { background: #fff; border: 1px solid var(--membership-line); border-radius: 50%; color: #555363; font-size: 23px; height: 36px; line-height: 1; position: absolute; right: 15px; top: 15px; width: 36px; }
.avatar-crop-heading { padding-right: 45px; }
.avatar-crop-heading small { color: var(--membership-pink); font-weight: 750; }
.avatar-crop-heading h2 { font-size: 24px; margin: 3px 0 7px; }
.avatar-crop-heading p { color: var(--membership-muted); font-size: 12px; line-height: 1.5; margin: 0; }
.avatar-crop-workspace { margin: 22px auto 0; width: min(360px, 100%); }
.avatar-crop-viewport { aspect-ratio: 1; background: #eee; border-radius: 50%; box-shadow: 0 0 0 8px #f7eef1, 0 0 0 9px #e2cbd2; cursor: grab; overflow: hidden; position: relative; touch-action: none; user-select: none; width: 100%; }
.avatar-crop-viewport:active { cursor: grabbing; }
.avatar-crop-viewport > img { left: 0; max-width: none; pointer-events: none; position: absolute; top: 0; transform-origin: 0 0; }
.avatar-crop-guide { border: 1px solid rgba(255,255,255,.85); border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(15,15,25,.12); inset: 0; pointer-events: none; position: absolute; }
.avatar-zoom-control { align-items: center; color: #454255; display: grid; font-size: 12px; font-weight: 700; gap: 14px; grid-template-columns: auto 1fr; margin-top: 24px; }
.avatar-zoom-control input { accent-color: var(--membership-pink); width: 100%; }
.avatar-crop-help { color: var(--membership-muted); font-size: 11px; margin: 15px 0 0; text-align: center; }
.avatar-crop-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 20px; }
.avatar-crop-actions .membership-primary-action { min-height: 44px; width: auto; }
.avatar-consent-choice { align-items: flex-start; display: flex; flex: 1 0 100%; gap: .7rem; line-height: 1.45; }
.avatar-consent-choice input { accent-color: var(--membership-pink); flex: 0 0 auto; height: 20px; width: 20px; }

@media (max-width: 950px) {
  .member-profile-editor-grid { grid-template-columns: 1fr; }
  .member-profile-editor-sidebar { grid-template-columns: repeat(2, 1fr); position: static; }
}

@media (max-width: 620px) {
  .member-profile-editor-heading { align-items: start; flex-direction: column; gap: .7rem; }
  .member-profile-visibility-notice,
  .member-profile-form-actions { grid-template-columns: 1fr; }
  .member-profile-contact-fields,
  .member-profile-editor-sidebar { grid-template-columns: 1fr; }
  .member-avatar-editor-body { grid-template-columns: 1fr; }
  .member-avatar-preview { height: 130px; width: 130px; }
  .member-avatar-copy > div,
  .avatar-crop-actions { align-items: stretch; flex-direction: column; }
  .member-profile-secondary-action,
  .member-profile-danger-action,
  .member-avatar-copy .button_to,
  .member-avatar-copy .button_to button,
  .avatar-crop-actions button { width: 100%; }
}
