:root { --bmr-teal: #1b6055; --bmr-teal-light: #eaf7f4; --bmr-teal-mid: #c8e6e0; }

.bmr-dash-card { background:#fff; border-radius:14px; border:1px solid #dee2e6; overflow:hidden; margin-bottom:1.25rem; }
.bmr-dash-card-header { background:var(--bmr-teal); color:#fff; padding:.85rem 1.25rem; font-size:1rem; font-weight:700; }
.bmr-dash-card-body   { padding:1.25rem; }

.bmr-stat-tile {
  display:flex; align-items:center; gap:1rem;
  background:linear-gradient(135deg,#eaf7f4 0%,#f3faf8 100%);
  border:1px solid #c8e6e0; border-radius:12px; padding:1rem 1.25rem; flex:1;
}
.bmr-stat-icon { width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(27,96,85,.15);flex-shrink:0; }
.bmr-stat-icon i { font-size:1.2rem; color:var(--bmr-teal); }
.bmr-stat-label { font-size:.75rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem; }
.bmr-stat-value { font-size:1.5rem;font-weight:800;color:var(--bmr-teal);line-height:1; }

.bmr-upcoming-header { display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;font-size:1rem;font-weight:700;color:#1a1a1a;border-bottom:1px solid #f0f0f0; }
.bmr-count-badge { background:var(--bmr-teal);color:#fff;font-size:.78rem;font-weight:700;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center; }

/* Membership status banner */
.mbr-status-banner { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.25rem;flex-wrap:wrap; }
.mbr-status-none     { background:#f8f9fa; border:1.5px dashed #ccc; }
.mbr-status-pending  { background:#fef9ec; border:1.5px solid #f59e0b; }
.mbr-status-under_review { background:#eff6ff; border:1.5px solid #3b82f6; }
.mbr-status-approved { background:#ecfdf5; border:1.5px solid #10b981; }
.mbr-status-rejected { background:#fef2f2; border:1.5px solid #ef4444; }

.mbr-badge { display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700; }
.mbr-badge-none     { background:#e5e7eb; color:#6b7280; }
.mbr-badge-pending  { background:#fef3c7; color:#92400e; }
.mbr-badge-under_review { background:#dbeafe; color:#1e40af; }
.mbr-badge-approved { background:#d1fae5; color:#065f46; }
.mbr-badge-rejected { background:#fee2e2; color:#991b1b; }

/* Upcoming events */
.bmr-event-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: .9rem 1.25rem;
  border-bottom: 1px solid #f0f4f3;
  transition: background .15s;
}
.bmr-event-row:last-child { border-bottom: 0; }
.bmr-event-row:hover { background: #f4faf8; }
.bmr-event-date-badge {
  flex-shrink: 0;
  width: 52px;
  text-align: center;
  background: var(--bmr-teal);
  color: #fff;
  border-radius: 10px;
  padding: .35rem .2rem;
  line-height: 1.1;
}
.bmr-event-date-badge .day  { font-size: 1.35rem; font-weight: 800; }
.bmr-event-date-badge .mon  { font-size: .65rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.bmr-event-info { flex: 1; min-width: 0; }
.bmr-event-title { font-weight: 700; font-size: .92rem; color: #1a1a1a; margin-bottom: .15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bmr-event-meta  { font-size: .77rem; color: #888; display: flex; flex-wrap: wrap; gap: .4rem .85rem; margin-top: .1rem; }
.bmr-event-meta i { color: var(--bmr-teal); opacity: .7; }
.bmr-event-tag {
  display: inline-block;
  font-size: .7rem;
  font-weight: 600;
  padding: .15rem .55rem;
  border-radius: 12px;
  background: #e8f5f3;
  color: var(--bmr-teal);
  margin-right: .25rem;
}
.bmr-event-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-wrap: wrap;
}
.bmr-register-btn,
.bmr-donate-btn {
  font-size: .75rem;
  padding: .25rem .85rem;
  border-radius: 20px;
  font-weight: 700;
  white-space: nowrap;
}
.bmr-register-btn {
  background: var(--bmr-teal);
  color: #fff;
  border: 1px solid var(--bmr-teal);
}
.bmr-register-btn:hover {
  background: #144d44;
  border-color: #144d44;
  color: #fff;
}
.bmr-register-btn.registered {
  background: #dcfce7;
  border-color: #bbf7d0;
  color: #166534;
}
.bmr-register-btn.disabled,
.bmr-register-btn:disabled {
  background: #e5e7eb;
  border-color: #e5e7eb;
  color: #6b7280;
  opacity: 1;
}
.bmr-donate-btn {
  background: #b45309;
  color: #fff;
  border: 1px solid #b45309;
}
.bmr-donate-btn:hover {
  background: #92400e;
  border-color: #92400e;
  color: #fff;
}
.bmr-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1055;
  background: rgba(15, 23, 42, .45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.bmr-registration-modal {
  width: min(100%, 560px);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 22px 60px rgba(15, 23, 42, .24);
}
.bmr-registration-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid #edf2f1;
}
.bmr-registration-modal-title {
  font-size: 1rem;
  font-weight: 800;
  color: #111827;
}
.bmr-registration-modal-subtitle {
  margin-top: .15rem;
  font-size: .8rem;
  color: #6b7280;
}
.bmr-registration-date-list {
  padding: .45rem;
}
.bmr-registration-date-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .8rem;
  border-radius: 9px;
}
.bmr-registration-date-row + .bmr-registration-date-row {
  border-top: 1px solid #f0f4f3;
}
.bmr-registration-date-row:hover {
  background: #f4faf8;
}
.bmr-registration-date-title {
  font-size: .9rem;
  font-weight: 800;
  color: #111827;
}
.bmr-registration-date-meta {
  margin-top: .15rem;
  font-size: .77rem;
  color: #6b7280;
}

@media (max-width: 575.98px) {
  .bmr-event-actions {
    width: 100%;
    margin-left: 0;
  }
  .bmr-registration-date-row {
    align-items: stretch;
    flex-direction: column;
  }
}
