.member-portal-admin { min-width: 0; color: var(--member-text, #f4f2f2); }
.member-portal-admin [hidden] { display: none !important; }
.member-portal-admin .portal-heading, .member-portal-admin .portal-section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.member-portal-admin h2 { margin: 0; font-size: 24px; }
.member-portal-admin h3 { margin: 0 0 12px; font-size: 17px; }
.member-portal-admin h4 { margin: 24px 0 8px; font-size: 14px; }
.member-portal-admin .portal-hint { margin: 8px 0 14px; color: var(--member-muted, #aaa6a6); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.member-portal-admin .portal-message { min-height: 1.6em; margin: 12px 0; color: #ffb8bf; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.member-portal-admin .portal-message[data-tone="error"] { color: #ff9ca8; }
.member-portal-admin .portal-settings { max-width: 1120px; margin-top: 18px; }
.member-portal-admin .portal-section { min-width: 0; padding: 20px; border: 1px solid var(--member-border, #403737); border-radius: 6px; background: var(--member-panel, #171717); }
.member-portal-admin .portal-invite { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 22px 32px; }
.member-portal-admin .portal-invite-heading { grid-column: 1 / -1; }
.member-portal-admin .portal-invite-heading h3 { margin: 0; }
.member-portal-admin .portal-qr-area { min-width: 0; text-align: center; }
.member-portal-admin .portal-qr-area .portal-hint { margin-bottom: 0; }
.member-portal-admin .portal-qr { display: block; width: 230px; height: auto; max-width: 100%; margin: 0 auto; background: white; image-rendering: pixelated; }
.member-portal-admin .portal-invite-controls { min-width: 0; align-self: center; }
.member-portal-admin .portal-registration-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--member-border, #403737); }
.member-portal-admin .portal-registration-copy { min-width: 0; }
.member-portal-admin .portal-registration-copy .portal-hint { margin: 0; }
.member-portal-admin .portal-field { min-width: 0; flex: 1 1 180px; }
.member-portal-admin .portal-field label { display: block; }
.member-portal-admin .portal-field input { box-sizing: border-box; width: 100%; }
.member-portal-admin .portal-field input[readonly] { font-size: 13px; cursor: text; }
.member-portal-admin .portal-check { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 0; min-height: 44px; font-size: 14px; cursor: pointer; }
.member-portal-admin .portal-check span { min-width: 0; overflow-wrap: anywhere; }
.member-portal-admin .portal-check input, .member-portal-admin .portal-profile input { flex: 0 0 20px; width: 20px; min-height: 20px; height: 20px; margin: 0; padding: 0; accent-color: var(--member-accent, #df1728); }
.member-portal-admin .portal-registration { font-weight: 600; }
.member-portal-admin .portal-boards { border-top: 1px solid var(--member-border, #403737); border-bottom: 1px solid var(--member-border, #403737); padding: 8px 0; }
.member-portal-admin .portal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.member-portal-admin .portal-search { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 16px 0; }
.member-portal-admin .portal-account-section { margin-top: 18px; }
.member-portal-admin .portal-account { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--member-border, #403737); }
.member-portal-admin .portal-account-identity { flex: 1 1 180px; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.member-portal-admin .portal-account-identity strong { font-size: 14px; overflow-wrap: anywhere; }
.member-portal-admin .portal-phone { color: #cbc4c4; font-size: 14px; font-variant-numeric: tabular-nums; }
.member-portal-admin .portal-status { font-size: 12px; color: #ffb8bf; }
.member-portal-admin .portal-account-detail { padding: 18px; margin: 18px 0; border: 1px solid #694047; border-left: 3px solid var(--member-accent, #df1728); border-radius: 6px; }
.member-portal-admin .portal-section-heading h3 { min-width: 0; overflow-wrap: anywhere; }
.member-portal-admin .portal-profile { display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--member-border, #403737); cursor: pointer; }
.member-portal-admin .portal-profile > span { min-width: 0; overflow-wrap: anywhere; }
.member-portal-admin .portal-profile-meta { display: block; margin-top: 5px; color: #aaa6a6; font-size: 12px; }
.member-portal-admin .portal-pagination { justify-content: flex-end; }
.member-portal-admin button { max-width: 100%; white-space: normal; }
@media (max-width: 760px) {
  .member-portal-admin .portal-invite { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .member-portal-admin .portal-section { padding: 16px; }
  .member-portal-admin .portal-account-detail { padding: 12px; }
  .member-portal-admin .portal-search > button { flex: 1 1 auto; }
  .member-portal-admin .portal-actions > button { flex: 1 1 auto; }
  .member-portal-admin .portal-field input[readonly] { font-size: 16px; }
}
