{{-- ═══════════════════════════════════════════════════════════════ FILTROS — zona / sub / producto ═══════════════════════════════════════════════════════════════ --}}
@if($productFilter || $zoneFilter || $subFilter) Limpiar @endif
{{-- ═══════════════════════════════════════════════════════════════ 6 KPI CARDS operacionales ═══════════════════════════════════════════════════════════════ --}}
{{-- ═══════════════════════════════════════════════════════════ TOP 10 HOT pendientes (col 8) ═══════════════════════════════════════════════════════════ --}}

TOP 10 Leads HOT pendientes

{{ $top10Hot->count() }} listos para revisar
@if($top10Hot->isEmpty())
Sin HOT leads pendientes

O ya los aprobaste todos, o todavía no llegaron a score 75+.

@else
@foreach($top10Hot as $m) @endforeach
Lead Zona Sub Web Score Acción
{{ $m->prospect_name }}
@if($m->_intel['website_kind'] === 'none') Sin web @elseif($m->_intel['website_kind'] === 'social') Solo Instagram @endif · {{ number_format($m->_intel['reviews_count'] ?? 0) }} reviews @if($m->_intel['rating']) · {{ $m->_intel['rating'] }}★ @endif
{{ $m->zone }} {{ ucwords(str_replace(['_', '-'], ' ', $m->sub_product)) }} @if($m->prospect_website) @php $isSocial = str_contains($m->prospect_website, 'instagram') || str_contains($m->prospect_website, 'facebook'); @endphp @if($isSocial) IG @else Web @endif @else Sin web @endif 🔥 {{ $m->_intel['lead_score'] ?? '—' }}
{{-- OLA 9: lanzar inline desde TOP HOT --}} @if($m->isLaunchable())
@csrf
@endif
@endif
{{-- ═══════════════════════════════════════════════════════════ Funnel agregado (col 4) ═══════════════════════════════════════════════════════════ --}}

Funnel de Conversión

@php $maxCount = max(1, max(array_column($funnel, 'count'))); @endphp @foreach($funnel as $i => $stage) @php $pct = ($stage['count'] / $maxCount) * 100; @endphp
{{ $stage['label'] }} {{ $stage['count'] }}
@endforeach
{{-- ═══════════════════════════════════════════════════════════════ HEATMAP zona × sub-producto ═══════════════════════════════════════════════════════════════ --}} @if(!empty($zones) && !empty($subs))

Heatmap: Zona × Sub-producto

Click en cualquier celda para filtrar la lista
@foreach($subs as $s) @endforeach @foreach($zones as $z) @foreach($subs as $s) @php $c = $heatmapGrid[$z][$s] ?? 0; $intensity = $c === 0 ? 'gray-100' : ($c >= 15 ? 'success' : ($c >= 8 ? 'warning' : 'info')); $bg = $c === 0 ? '#f9fafb' : "var(--bs-{$intensity})"; $opacity = $c === 0 ? 1 : min(1, 0.2 + ($c / 30)); @endphp @endforeach @endforeach
Zona ↓ / Sub → {{ ucwords(str_replace(['_', '-'], ' ', str_replace('shops_', '', $s))) }}
📍 {{ $z }} @if($c > 0) {{ $c }} @else @endif
@endif