Investigate: Daily Row Provider Pace Color

Strategy: Data-to-UI. The symptom is visual, but the color is derived from ProviderUsagePaceSignal in the row view model.

Claim validation: Confirmed. Purple maps to .onTrack in ProviderUsageRowsView.swift. The daily row and each daily segment derive color from paceSignal(actual:expected:) in ProviderUsageRowsViewModel.swift.

Root cause: paceSignal(actual:expected:) only treated exactly 0 as under pace. Tiny observed values such as 0.03 format as 0%, and against a positive target like 4.5% fall inside the generic six-point on-track band, producing purple.

Fix: Values below the display rounding threshold are now classified as .behindPace, matching the displayed 0% actual usage. Added regression coverage for a 0%/4.5% current daily session segment.

Verification: swift test --package-path apps/pitwall-local --filter ProviderUsageRowsViewModelTests passed 38 tests.