7c92ea36c0
El fetch del cache dependía del timeRange activo (monthsLimit = timeRange.months), así que al reutilizarlo entre chart types/rangos (optimización del build 45) los charts recibían historia truncada — Year vs Year o "All" con solo 12 meses, charts vacíos o incompletos al cambiar de tipo. Fix: el cache siempre guarda la historia completa (maxHistoryMonths) y el recorte por rango se hace en memoria (el filtro por cutoffDate ya existía justo después). Bonus: hiddenHistoryMonths ahora se calcula contra la ventana completa (teaser más preciso). Verificado en iPad Pro 13" simulador: Evolution 12M → All → Compare → Period vs Period → Evolution, todos renderizan con datos. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015qUZrBusG82T37R7PeokqJ