- accept filter param in preview_sync and import
- element checks collection_weapon first, falls back to weapon
- proficiency joins through weapon table
- preview_sync endpoint shows what'll get deleted before you commit
- import services handle reconciliation (find missing items, delete them)
- grid items get flagged as orphaned when their collection source is gone
- party exposes has_orphaned_items
- blueprints include orphaned field