- Replaces duplicated _load_prompt() helpers with shared load_prompt().
- Classifier raises cleanly when no renderable pages exist.
- scanned_print, handwritten, and mixed_unknown branches now force
response_format=OcrResponse and parse via client.parse_json().
- Adds branch tests for multi-page OCR and corrected invoice handling.