/* v48: one rounded control system; outer strips must never clip button borders. */
:root { --control-radius:24px; --control-height:48px; }
body.impulse #app button,
body.impulse .modal button,
body.impulse #web-auth-screen button,
body.impulse #error-screen button,
body.impulse #exercise-history-sheet button { border-radius:var(--control-radius)!important; }
body.impulse #workout-modal .workout-exercise-navigation button,
body.impulse #workout-modal .exercise-action-buttons button,
body.impulse #workout-modal #add-set-button,
body.impulse #workout-modal .set-save,
body.impulse #workout-modal .set-delete { border-radius:var(--control-radius)!important; }
body.impulse #app .circle-button,
body.impulse .modal .circle-button,
body.impulse .modal .mini-round,
body.impulse #app .exercise-more { border-radius:50%!important; }
body.impulse #day-selector,
body.impulse #progress-screen .progress-tabs {
  display:grid!important; gap:8px!important;
  padding:2px!important; margin:0!important;
  border:0!important; border-radius:0!important;
  background:var(--bg)!important; box-shadow:none!important;
  overflow:visible!important; clip-path:none!important;
  -webkit-mask-image:none!important; mask-image:none!important;
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
body.impulse #progress-screen .progress-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); padding-bottom:12px!important; }
body.impulse #day-selector .day-button,
body.impulse #progress-screen .progress-tab {
  display:flex!important; align-items:center; justify-content:center;
  min-width:0!important; min-height:var(--control-height)!important;
  padding:10px 6px!important; border:1px solid var(--line)!important;
  border-radius:var(--control-radius)!important; background:var(--panel)!important;
  color:var(--muted)!important; font-size:12px!important; font-weight:750;
  line-height:1.3; letter-spacing:.015em; box-shadow:none!important;
}
body.impulse #day-selector .day-button strong { font-size:12px!important; font-weight:750; letter-spacing:.015em; }
body.impulse #day-selector .day-button.active,
body.impulse #progress-screen .progress-tab.active { border-color:var(--accent)!important; color:var(--accent)!important; }
body.impulse #progress-screen .progress-tab::after { content:none!important; }
body.impulse #superset-toggle { border-radius:var(--control-radius)!important; min-height:52px!important; grid-template-columns:minmax(0,1fr) 44px!important; }
body.impulse #superset-toggle>span { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
body.impulse #superset-toggle .superset-state-label { font-size:12px; font-weight:500; text-transform:none; color:var(--muted); }
body.impulse #superset-toggle.active { border-color:var(--accent)!important; }
body.impulse #superset-toggle>i { width:44px!important; height:28px!important; padding:3px!important; background:#505963!important; }
body.impulse #superset-toggle>i>b { width:22px!important; height:22px!important; transform:translateX(0)!important; }
body.impulse #superset-toggle.active>i { background:var(--accent)!important; }
body.impulse #superset-toggle.active>i>b { transform:translateX(16px)!important; }
body.impulse .superset-group-v18 { margin:10px; padding:12px 0 0; border:1px solid #637743; background:var(--panel); border-radius:20px; overflow:hidden; }
body.impulse .superset-label-v18 { position:static; padding:0 12px 6px; font-size:12px; line-height:1.5; color:var(--accent); letter-spacing:.03em; }
