The December 2025 MBR deck is built: `output/IS_MBR_2025-12.pptx`

Script output: *December 2025 deck: 6 slides, 64 figures, every one from a source. Wrote output/IS_MBR_2025-12.pptx and output/deck.json*

The build worked the first time, with no figures rejected. The bullets I wrote are in `output/slide-map.json`:
- **Headline:** revenue was $827K against a $824K budget, $3K ahead. It changed ($72K) from November. Operating income was $8K against $13K. Year to date, revenue is $11.2M against $11.6M. Four of eight KPIs are off target.
- **Drivers:** for the month, Other operating ($6K), Cost of goods sold ($6K) and Technology $4K. For the year to date, Revenue ($362K).
- **Watch list:** all four KPIs that are off target. Days sales outstanding and On-time delivery percent have each missed for 3 months.

**Check before this goes out:** the two tables disagree on gross margin. On the P&L slide it is 26.1% against a 26.8% budget, (0.7) under. On the KPI scorecard slide it is 26.1% against a 26.0% target, marked "on target". Both slides copy their source correctly; the scorecard's gross margin target is just lower than the budget's. For revenue and opex, the scorecard targets match the budget, so this one difference stands out. Someone should confirm 26.0% is the intended KPI target, or be ready to explain the gap.