{{ $project->name }}

Informe programado generado el {{ now()->format('d/m/Y H:i') }}

{{ $data['stats']['total_features'] ?? 0 }}
Total elementos
{{ $data['stats']['completed_features'] ?? 0 }}
Completados
{{ round($data['stats']['avg_progress'] ?? 0) }}%
Progreso medio
Detalle por Fase
@forelse($data['phases'] as $phase) @php $phaseFeatures = $phase->layers->flatMap(fn($l) => $l->features); $phaseColor = $phase->color ?? '#3b82f6'; @endphp
{{ $phase->name }}
@if($phase->planned_start) {{ $phase->planned_start->format('d/m/Y') }} — {{ $phase->planned_end?->format('d/m/Y') ?? 'Sin fecha fin' }} @else Sin fechas planificadas @endif  •  {{ $phaseFeatures->count() }} elementos
{{ $phase->progress_percent ?? 0 }}%
@if($phaseFeatures->count() > 0) @foreach($phaseFeatures as $feature) @endforeach
Elemento Estado Progreso Responsable
{{ $feature->name ?? 'Sin nombre' }} {{ match($feature->status) { 'planned' => 'Planificado', 'started' => 'Iniciado', 'in_progress' => 'En progreso', 'completed' => 'Completado', 'verified' => 'Verificado', default => ($feature->status ?? 'N/A'), } }}
{{ $feature->progress ?? 0 }}%
{{ $feature->responsible ?? ($feature->responsibleUser?->name ?? '—') }}
@else
Sin elementos registrados en esta fase.
@endif
@empty
No hay fases registradas en este proyecto.
@endforelse
Parámetros del Informe

Rango de fechas: {{ $filters->date_from ? $filters->date_from->format('d/m/Y') : 'Sin fecha desde' }} — {{ $filters->date_to ? $filters->date_to->format('d/m/Y') : 'Sin fecha hasta' }}

Secciones: {{ implode(', ', collect($filters->entity_types)->map(fn ($k) => ucfirst(str_replace('_', ' ', $k)))->toArray()) }}

Incluir fotos: {{ $filters->include_photos ? 'Sí' : 'No' }}

Incluir gráficos: {{ $filters->include_charts ? 'Sí' : 'No' }}