0c9a69cfb8
- service monthlySeriesForProperty now accepts months: number | 'all'; 'all' derives the span from min(incurred_at) for the matching kinds, capped at 120 months so the SQL stays bounded - page load reads ?range= query param (default 12; invalid values fall back silently) - chart header has a segmented control linking to ?range=6|12|24|all with active state highlighting; title updates to match