Add an ensureSpace check in the customer delivery PDF report function to force page breaks when there isn't enough room for a full customer group, preventing content overlap between consecutive customer sections. The check accounts for customer header, table header, data rows, and subtotal elements.
Add two diagnostic scripts in the tmp/ directory:
- diag-customer-report.mjs: generates a synthetic dataset to reproduce the page overlap bug
- render-all-pages.mjs: renders each page of a generated PDF to PNG images for testing