## Why

`add-lunch-payment-status` (superseded, never merged) tried to track "paid" as a live flag keyed by calendar month, but that doesn't match how leaders actually collect lunch money: at the end of a period they generate one concrete invoice/summary (a "hóa đơn"), post it to a group chat to demand payment, and then check off who has paid *against that specific invoice*. A live flag has no fixed, shareable snapshot of amounts and no record of which invoice a payment belongs to. This change replaces it with an explicit "generate an invoice for a chosen date range" flow.

## What Changes

- **BREAKING**: removes the `add-lunch-payment-status` design entirely (never merged) - no `is_paid` field is added to `GET /admin/lunch-orders/report`, and no `lunch_payment_records` table/endpoint exists.
- Add a new endpoint for an admin to generate an invoice: given a `from`/`to` range (and optional `company_id`/`department_id` scope), it snapshots every employee who ordered in that range with their total amount owed, frozen at generation time.
- Snapshotted amounts never change afterward, even if underlying orders in that date range are later added, edited, or removed - correcting a mistake means deleting the invoice and generating a new one.
- Block generating an invoice for a range whose `to` is in the future (the period must have fully elapsed) - avoids freezing incomplete data.
- Block generating an invoice that overlaps another existing invoice of the same scope (same `company_id`/`department_id`) - avoids double-billing the same orders under two different invoices.
- Allow marking/unmarking each employee within a generated invoice as paid, independently per invoice.
- Allow deleting an invoice at any time (e.g. it was generated with the wrong range), which frees up that date range for a new one.

## Capabilities

### New Capabilities
- `lunch-payment-invoices`: admins can generate a frozen, per-employee lunch billing snapshot for a date range, mark employees paid within it, and delete a mistaken invoice.

### Modified Capabilities
(none)

## Impact

- **New tables**: `lunch_payment_invoices` (the generated invoice header) and `lunch_payment_invoice_items` (one row per employee within an invoice).
- **New controller**: `LunchPaymentInvoiceController`.
- **Package**: `packages/w3suga/lunch-ordering` only. No change to `GET /admin/lunch-orders/report` itself.
