- Email hero: formatted period title, RECAP/CHECKPOINT badge, 2x2 stat grid,
inline meta tags, greeting separated from title, no addHeading()
- Checkpoint vs Recap distinction in subject, badge, and footer
- Replace "Calendar pace" with Balance index in calendar_goals hero stats
- Email chart blocks: Calendar split (pie as horizontal bars) and
Day-of-week pattern for calendar_goals; adds Category split for
category_and_calendar_goals; charts data pre-aggregated in
ReportSummaryService.buildChartData() with per-weekday DOW averages
- Fix: days_off no longer counts future dates in the period as quiet days
- Fix: detectTimeSummaryDisplayMode and detectTargetsDisplayMode now always
return the strategy-mapped mode when strategy is set, preventing stale
categories config from overriding a known onboarding strategy
- Fix: resolveTodayGroups filters today groups by active display mode
- Add Checkpoint and Recap test-send buttons to onboarding Preferences;
test sends now always use offset=-1 (recap) or offset=0 (checkpoint)