.member-overview-page .portal-shell { grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); }
.member-overview-page .portal-panel { min-width: 0; padding: 32px; background: #f5f7f8; }
.member-overview-page .portal-hero { padding: 28px 24px; }
.member-overview-page .portal-contact-card { margin-inline: 0; width: 100%; box-sizing: border-box; }
.member-overview-page .portal-page-title h1 { font-size: 28px; line-height: 1.45; }
.member-overview-page .tracking-card { background: white; border: 1px solid #dce3e6; border-radius: 6px; padding: 24px; box-shadow: none; }
.member-overview-page .tracking-card-head { align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.member-overview-page .tracking-card-head h2 { font-size: 26px; }
.member-overview-page .tracking-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; margin: 24px 0; border-block: 1px solid #dce3e6; }
.member-overview-page .tracking-summary article { border: 0; border-radius: 0; background: transparent; padding: 20px 16px; min-width: 0; }
.member-overview-page .tracking-summary article + article { border-left: 1px solid #dce3e6; }
.member-overview-page .tracking-summary strong { font-size: 25px; color: #183d36; }
.member-overview-page .tracking-summary .member-points strong { color: #a96215; }
.member-overview-page small { display: block; color: #60717a; font-size: 12px; line-height: 1.6; }
.member-details { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 24px; padding-bottom: 24px; }
.member-details span { display: block; font-size: 13px; color: #60717a; margin-bottom: 6px; }
.member-details strong { font-size: 16px; }
.member-section { border-block: 1px solid #dce3e6; padding: 20px 0; }
.member-section h3, .member-section-heading h3 { font-size: 18px; margin: 0 0 8px; }
.member-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.member-overview-page .loyalty-record-section { background: transparent; padding: 0; border: 0; border-radius: 0; margin-top: 16px; }
.member-overview-page .member-section-heading + .loyalty-record-section > .customer-visible-head { display: none; }
.member-overview-page .loyalty-record-list { display: grid; grid-template-columns: 1fr; gap: 0; }
.member-overview-page .loyalty-record-card { background: white; border: 0; border-bottom: 1px solid #e0e6e9; border-radius: 0; padding: 18px 0; gap: 8px; min-width: 0; }
.member-overview-page .loyalty-record-card strong { font-size: 15px; line-height: 1.65; font-weight: 600; }
.member-overview-page .loyalty-record-card span { font-size: 14px; color: #435760; }
.member-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid #dce3e6; }
.member-pagination button { width: 40px; height: 40px; border: 1px solid #c8d3d8; background: white; color: #183d36; border-radius: 4px; cursor: pointer; font-size: 20px; }
.member-pagination button:disabled { opacity: .35; cursor: default; }
.member-overview-page :is(strong,span,p,small) { overflow-wrap: anywhere; letter-spacing: 0; }
@media (max-width: 900px) {
  .member-overview-page .portal-shell { grid-template-columns: 1fr; }
  .member-overview-page .portal-hero { min-height: auto; }
  .member-overview-page .portal-page-title { margin: 20px 0; }
  .member-overview-page .portal-contact-card { display: none; }
  .member-overview-page .portal-panel { padding: 20px 16px; }
}
@media (max-width: 520px) {
  .member-overview-page .tracking-card { padding: 18px 14px; }
  .member-overview-page .tracking-summary { grid-template-columns: 1fr; }
  .member-overview-page .tracking-summary article { padding: 14px 0; }
  .member-overview-page .tracking-summary article + article { border-left: 0; border-top: 1px solid #dce3e6; }
  .member-details { grid-template-columns: 1fr; gap: 16px; }
}
