.bma-wst-wrap {
  --bma-gold: #e2b22c;
  --bma-gold-deep: #c59207;
  --bma-black: #111111;
  --bma-white: #ffffff;
  --bma-soft: rgba(17, 17, 17, 0.12);
  --bma-soft-2: rgba(17, 17, 17, 0.18);
  background: linear-gradient(180deg, #efc44b 0%, #d9a61c 100%);
  border-radius: 28px;
  padding: 22px;
  color: var(--bma-black);
  box-shadow: 0 20px 50px rgba(0,0,0,.16);
  max-width: 1100px;
  margin: 0 auto;
  font-family: Arial, Helvetica, sans-serif;
}
.bma-wst-wrap * { box-sizing: border-box; }
.bma-wst-toolbar,
.bma-wst-month-header,
.bma-wst-bottom-bar,
.bma-wst-profile-form,
.bma-wst-brand,
.bma-wst-actions { display:flex; align-items:center; }
.bma-wst-toolbar,
.bma-wst-month-header,
.bma-wst-bottom-bar { justify-content:space-between; gap:16px; }
.bma-wst-toolbar { margin-bottom: 18px; }
.bma-wst-brand { gap: 14px; }
.bma-wst-logo { width: 88px; height: 88px; object-fit: contain; background: transparent; }
.bma-wst-title { font-size: 1.6rem; font-weight: 800; }
.bma-wst-subtitle { opacity: 1; }
.bma-wst-btn {
  appearance:none; border:0; cursor:pointer;
  background: var(--bma-black); color: var(--bma-white);
  padding: 12px 18px; border-radius: 999px; font-weight: 700;
  transition: transform .18s ease, opacity .18s ease;
}
.bma-wst-btn:hover { transform: translateY(-1px); opacity:.95; }
.bma-wst-profile-card,
.bma-wst-calendar-card,
.bma-wst-stat-card {
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(17,17,17,0.08);
  backdrop-filter: blur(6px);
}
.bma-wst-profile-card {
  border-radius: 22px; padding: 18px; margin-bottom: 18px;
}
.bma-wst-profile-copy { font-weight: 600; margin-bottom: 12px; }
.bma-wst-profile-form { gap: 12px; flex-wrap: wrap; }
.bma-wst-profile-form input[type="text"],
.bma-wst-profile-form input[type="email"] {
  min-width: 220px; flex: 1 1 220px; border: 1px solid rgba(17,17,17,.15);
  background: rgba(255,255,255,.72); border-radius: 14px; padding: 12px 14px;
}
.bma-wst-checkbox-row { display:flex; align-items:center; gap:8px; font-weight:700; }
.bma-wst-profile-message { margin-top: 10px; font-weight: 700; }
.bma-wst-month-header { margin: 6px 0 18px; }
.bma-wst-month-title { margin: 0; font-size: 2rem; font-weight: 900; }
.bma-wst-month-nav {
  width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--bma-black);
  background: transparent; color: var(--bma-black); font-size: 1.2rem; cursor: pointer;
}
.bma-wst-stats-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px;
}
.bma-wst-stat-card {
  border-radius: 24px; padding: 16px; text-align: center; min-height: 208px;
}
.bma-wst-stat-heading { font-size: 1.6rem; font-weight: 800; min-height: 40px; }
.bma-wst-ring { position: relative; width: 120px; height: 120px; margin: 12px auto 0; }
.bma-wst-ring svg { width: 120px; height: 120px; transform: rotate(-90deg); }
.bma-wst-ring circle { fill:none; stroke-width: 10; }
.bma-wst-ring .ring-bg { stroke: rgba(17,17,17,.12); }
.bma-wst-ring .ring-fill {
  stroke: var(--bma-black);
  stroke-linecap: round;
  stroke-dasharray: 301.5929;
  stroke-dashoffset: 301.5929;
  transition: stroke-dashoffset .3s ease;
}
.bma-wst-ring-label {
  position: absolute; inset: 0; display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center;
}
.bma-wst-ring-label strong { font-size: 4rem; line-height:1; }
.bma-wst-ring-label span { font-size: 4rem; margin-top: 4px; }
.bma-wst-calendar-card { border-radius: 24px; padding: 16px; }
.bma-wst-day-headings,
.bma-wst-calendar-grid {
  display:grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px;
}
.bma-wst-day-headings { margin-bottom: 12px; }
.bma-wst-day-headings div {
  text-align:center; font-weight: 900; color: var(--bma-black); font-size: 1.1rem;
}
.bma-wst-day {
  position: relative;
  min-height: 86px;
  border-radius: 22px;
  border: 2px solid rgba(17,17,17,.13);
  background: rgba(255,255,255,.35);
  display:flex; flex-direction:column; justify-content:space-between; padding: 10px;
}
.bma-wst-day.is-other-month { opacity: .35; }
.bma-wst-day-number {
  font-size: 1.5rem; font-weight: 900; color: var(--bma-black);
}
.bma-wst-day-complete {
  align-self:flex-end; width: 34px; height: 34px; border: 0; cursor: pointer;
  border-radius: 10px; background: var(--bma-black); color: var(--bma-white);
  display:flex; align-items:center; justify-content:center; font-size: 18px; font-weight: 700;
}
.bma-wst-day.is-completed {
  background: rgba(17,17,17,.08);
  border-color: var(--bma-black);
}
.bma-wst-day.is-completed .bma-wst-day-complete {
  background: var(--bma-black); color: var(--bma-white);
}
.bma-wst-day.is-completed::after {
  content: '🏋';
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--bma-black);
  color: var(--bma-white);
  border-radius: 10px;
  font-size: 18px;
}
.bma-wst-day.is-completed .bma-wst-day-complete { visibility: hidden; }
.bma-wst-bottom-bar { margin-top: 18px; justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 900px) {
  .bma-wst-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .bma-wst-wrap { padding: 14px; border-radius: 18px; }
  .bma-wst-toolbar, .bma-wst-month-header { flex-direction: column; align-items:flex-start; }
  .bma-wst-stats-grid { grid-template-columns: 1fr; }
  .bma-wst-day-headings, .bma-wst-calendar-grid { gap: 8px; }
  .bma-wst-day { min-height: 72px; padding: 8px; border-radius: 16px; }
  .bma-wst-day-number { font-size: 1.2rem; }
  .bma-wst-day-complete, .bma-wst-day.is-completed::after { width: 28px; height: 28px; font-size: 15px; }
}
/* =========================
   PROGRESS CIRCLES – FULL SCALE UPGRADE
   ========================= */

/* 1️⃣ Make ALL circles bigger */
.bma-wst-ring {
  width: 140px !important;
  height: 140px !important;
  position: relative;
}

/* 2️⃣ Center content inside circles */
.bma-wst-ring-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

/* 3️⃣ Increase main number (0, 5, 12, etc.) */
.bma-wst-ring-label strong {
  font-size: 20px !important;
  font-weight: 800;
  line-height: 1;
  color: #000;
}

/* 4️⃣ Increase sub label (this month, streak, etc.) */
.bma-wst-ring-label span {
  display: block;
  font-size: 12px !important;
  font-weight: 600;
  margin-top: 4px;
  color: #000;
}
/* =========================
   DASHBOARD HEADINGS – BALANCED STYLE
   ========================= */

.bma-wst-stat h5,
.bma-wst-title,
.bma-wst-heading {
  font-size: 10px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  color: #000;
  margin-bottom: 10px;
}
.bma-wst-stat {
  text-align: center;
}
.bma-wst-stat h4,
.bma-wst-title {
  font-size: 17px !important;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.bma-wst-stat h4 {
  min-height: 40px; /* forces equal height */
  display: flex;
  align-items: center;
  justify-content: center;
}