.member-profile .page-hero { padding: 40px 0 32px; }
.member-profile .page-hero h1 { font-size: clamp(32px, 4vw, 48px); }
.member-profile .section { padding-top: 32px; }
.member-profile .profile-card { padding: clamp(18px, 4vw, 32px); margin-bottom: 24px; border: 1px solid var(--border); background: var(--bg-card); border-radius: 8px; }
.member-profile .profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.member-profile label { display: block; margin: 0 0 18px; min-width: 0; }
.member-profile input, .member-profile select { display: block; width: 100%; margin-top: 6px; }
.member-profile input[readonly] { color: var(--muted); background: var(--bg-soft); }
.member-profile fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.member-profile legend { font-size: 1.25rem; font-weight: 700; margin: 0 0 20px; }
.member-profile details { border-top: 1px solid var(--border); padding: 8px 0; }
.member-profile summary { min-height: 44px; align-content: center; cursor: pointer; }
.member-profile details[open] summary { margin-bottom: 12px; }
.member-profile .profile-actions, .member-profile .admin-theme-picker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.member-profile .form-help { color: var(--muted); font-size: .9rem; }
.member-profile #profile-status[data-error="true"] { color: var(--error-text); }
.member-profile #profile-status:empty { display: none; }
.member-profile #profile-code { max-width: 220px; margin-bottom: 16px; }
.member-profile #profile-code-form { margin-top: 20px; }
.member-profile #profile-choice { margin-bottom: 24px; }
.member-profile #profile-login-address { overflow-wrap: anywhere; }
@media (max-width: 600px) { .member-profile .profile-grid { grid-template-columns: 1fr; gap: 0; } }

.member-profile .admin-theme-picker .btn[aria-pressed="true"] { border-color: var(--red); background: var(--hover-bg); }
.member-profile .admin-theme-message:empty { display: none; }
.member-profile .admin-theme-message[data-error="true"] { color: var(--error-text); }
