body {
  background:
    radial-gradient(circle at top left, rgba(25, 135, 84, 0.08), transparent 28%),
    linear-gradient(180deg, #f8faf8 0%, #eef5ef 100%);
  min-height: 100vh;
}

.membership-hero {
  background:
    linear-gradient(135deg, rgba(25, 135, 84, 0.9), rgba(65, 88, 74, 0.82)),
    url("https://images.unsplash.com/photo-1517581177682-a085bb7ffb15?auto=format&fit=crop&w=1200&q=80") center/cover;
  color: #fff;
  box-shadow: 0 1rem 2rem rgba(16, 24, 40, 0.08);
}

.table-hover tbody tr:hover {
  --bs-table-accent-bg: rgba(25, 135, 84, 0.08);
}

.stat-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(245, 249, 246, 0.95));
}

.member-section-card {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(25, 135, 84, 0.16);
  border-radius: 0.8rem;
  padding: 1.1rem 1rem;
  box-shadow: 0 0.5rem 1rem rgba(16, 24, 40, 0.05);
}

.member-section-title {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 0.9rem;
  color: #1d4f36;
}

.member-section-note {
  font-size: 0.78rem;
  color: #5f6d66;
  white-space: nowrap;
}

.member-field-help {
  font-size: 0.82rem;
  color: #4f5f58;
}

.member-subsection-title {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4f6758;
}

.member-date-group {
  border: 1px dashed rgba(25, 135, 84, 0.25);
  border-radius: 0.65rem;
  padding: 0.75rem;
  background: rgba(248, 252, 249, 0.7);
}

.member-section-card-soft {
  background: linear-gradient(180deg, rgba(246, 250, 247, 0.9), rgba(239, 246, 241, 0.95));
  border: 1px solid rgba(25, 135, 84, 0.14);
}

@media (max-width: 575.98px) {
  .member-section-note {
    white-space: normal;
    text-align: right;
  }
}
