.sidebar-service-note { margin-top: auto; padding: 20px 16px 0; color: #c3cfc4; }
.connection-notice { margin: 14px 36px 0; padding: 10px 16px; border: 1px solid #d6aa83; background: #fff5df; color: #74502b; border-radius: 8px; }
.pending-description { max-width: 560px; margin: 0 auto; }
.member-expiry-label { font-size: 12px; color: #657463; }
.membership-card .membership-expiry strong { font-size: 23px; }
.membership-sync { margin-top: 12px; color: #697268; font-size: 12px; }
.membership-card .membership-price { white-space: nowrap; }
.membership-card .secondary { margin-top: 12px; }
.profile-fields dd, .info-list strong, .data-table td { overflow-wrap: anywhere; }
.form-error { white-space: pre-line; }
.auth-card .form-error { margin-top: 16px; }
.field-help, .form-note { overflow-wrap: anywhere; }
.table-wrap { overflow-x: auto; }
.history-reason { max-width: 330px; white-space: normal; overflow-wrap: anywhere; }
.pagination .page-buttons { display: flex; gap: 8px; align-items: center; }
.pagination button[aria-current="page"] { color: #fff; background: #1f3b34; border-color: #1f3b34; }
.pending-panel { padding: 28px; }
.pending-panel p { margin-top: 10px; }
.login-card .form-error { width: 100%; text-align: left; }
.member-form textarea { width: 100%; min-height: 86px; }
.member-form .form-field { display: grid; gap: 7px; margin-top: 20px; }
.member-form .form-field > span { font-weight: 600; }
.data-table .nowrap { white-space: nowrap; }
.sync-controls { display: flex; align-items: center; gap: 10px; }
.sync-controls p { margin: 0; }
.dropdown-admin-link { display: flex; padding: 10px 14px; color: inherit; }
.dropdown-admin-link:hover { background: #f4f5ef; }
.profile-fields > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 15px; }
.profile-fields > div + div { margin-top: 15px; }
.membership-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.profile-heading { display: flex; gap: 15px; align-items: center; }
.auth-card h1 + form { margin-top: 23px; }
.payment-qr { display:block; width:240px; height:240px; margin:20px auto; background:white; border-radius:8px; }
.payment-status { padding:12px 16px; background:#edf3eb; border-radius:8px; margin:16px 0; }
.member-description { white-space:pre-wrap; line-height:1.7; }
.settings-form { max-width:760px; }
.settings-form textarea { min-height:120px; }

.manual-payment-qr { width: min(280px, 100%); height: auto; max-height: 360px; object-fit: contain; }
.manual-payment-contact { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; margin: 16px 0; }
