Offline-first for the yard: how DirtFleet's outbox actually works

A 30-second hours log shouldn't fail because the cellular signal is missing. Here's the IndexedDB outbox + idempotency-key dedupe that makes drivers trust the app on the worst pour day.