- Add google_mlkit_barcode_scanning dependency
- Scan priority: Barcode → OCR text → Nothing found
- Support UPC-A/E, EAN-8/13, QR, DataMatrix, PDF417, Code128/39
- BarcodeData class with product code detection and NDC hints
- ScanResult with type indicator (barcode|text|empty)
- Updated capture screen with barcode-specific UI:
- Green overlay for barcodes, blue for text
- Product code badge for UPC/EAN barcodes
- Format-specific result display
- Backward compatible legacy API (extractText, getTextBlocks)
- Create BiometricService with local_auth integration
- Check biometric availability (Face ID, Touch ID, fingerprint)
- Authenticate with fallback to PIN
- Session state: don't re-prompt within session
- Configurable lock policies: always, after 5 min inactive, never
- Create AuthGate widget that wraps the app
- Shows biometric prompt on app launch
- Handles app resume from background
- Activity tracking for inactivity timeout
- Graceful error handling with user-friendly messages
- Update SettingsScreen with biometric configuration
- Enable/disable toggle with verification
- Lock timing policy selection
- Edge case handling: not enrolled, not available
- Store preferences in shared_preferences
- Handle multiple failures with attempt counter