Items are no longer required on issued orders — an order can be issued
purely from its rich-text sections (Obsah).
- DocumentItemsEditor: opt-in allowEmpty prop lets the list go to zero
rows (default false keeps the offers/invoices at-least-one-item rule).
- IssuedOrderDetail: allowEmpty on the editor; a saved order with no
items reopens empty (not a blank starter row); submit guard now
requires at least one item OR a non-empty section, not an item.
- PDF: with no items the billing heading, items table and total row are
omitted entirely — a sections-only order shows only its Obsah.
- Service: finalize (draft->sent) and create-as-non-draft reject a
completely blank order (no items AND no sections) with a Czech 400
(empty_document); drafts may still be saved empty as WIP.
- Tests: sections-only finalize + blank-order rejection + sections-only
PDF render; existing finalize fixtures given minimal content.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>