If the budget category stored in reservation metadata was deleted, the form would re-submit it on next save, resurrecting the deleted category. Now validates against live budget items on form init and falls back to auto-generation when the stored category is gone. Closes #442