{{ __('Admin · Support · Reports') }}

{{ __('Support') }} {{ __('analytics') }}

{{ __('Last 30 days. Response, resolution, and SLA compliance at a glance — drill down by exporting raw rows.') }}

@foreach ([7 => '7d', 30 => '30d', 90 => '90d', 365 => '1y'] as $d => $lbl) {{ $lbl }} @endforeach {{ __('Download CSV') }}
{{ __('Tickets · 30d') }}
{{ $kpi['tickets_30d'] }}
{{ __('Resolved · 30d') }}
{{ $kpi['resolved_30d'] }}
{{ __('Avg 1st reply') }}
{{ $kpi['avg_first_resp'] ?: '—' }}m
{{ __('Avg resolution') }}
{{ $kpi['avg_resolution'] ?: '—' }}m
{{ __('SLA compliance') }}
{{ $kpi['compliance'] }}%

{{ __('Volume · last 30 days') }}

@if ($volume->isEmpty())
{{ __('No tickets in the last 30 days.') }}
@else @php $max = max($volume->pluck('n')->toArray() ?: [1]); @endphp
@foreach ($volume as $v)
@endforeach
@endif

{{ __('By status') }}

@php $totalStatus = max(1, (int) $byStatus->sum('n')); @endphp @foreach ($byStatus as $s)
{{ $s->status }} {{ $s->n }} · {{ round(($s->n / $totalStatus) * 100) }}%
@endforeach @if ($byStatus->isEmpty())
{{ __('No tickets yet.') }}
@endif

{{ __('Top agents · 30 days') }}

@forelse ($topAgents as $a) @empty @endforelse
{{ __('Agent') }} {{ __('Resolved') }} {{ __('Avg 1st reply') }} {{ __('Avg resolution') }}
{{ $a->name }} {{ $a->resolved }} {{ $a->avg_first_resp ? (int) round($a->avg_first_resp) . 'm' : '—' }} {{ $a->avg_resolution ? (int) round($a->avg_resolution) . 'm' : '—' }}
{{ __('No resolved tickets yet.') }}