{{ __('Admin') }} {{ __('Support') }} {{ __('SLA board') }}
{{ __('Admin · Support · SLA') }}

{{ __('SLA') }} {{ __('board') }}

{{ __('Policies define how fast first response + resolution must happen. Breaches list shows tickets that already missed their window.') }}

@if (session('success'))
{{ session('success') }}
@endif
@foreach ([['Policies', $kpi['policies']], ['Open breaches', $kpi['open_breaches']], ['At risk now', $kpi['at_risk']], ['Compliance · 7d', $kpi['compliance_7d'] . '%']] as [$label, $val])
{{ $label }}
{{ $val }}
@endforeach

{{ __('Policies') }}

@forelse ($policies as $p) @empty @endforelse
{{ __('Name') }} 1st reply {{ __('Resolution') }} {{ __('Hours') }} {{ __('Default') }}
{{ $p->name }} {{ $p->first_response_minutes }}m {{ $p->resolution_minutes }}m {{ $p->respect_business_hours ? 'biz' : '24/7' }} @if ($p->is_default) {{ __('default') }} @endif
@csrf @method('DELETE')
{{ __('No SLA policies yet. Create one to set response/resolution targets.') }}

{{ __('Recent breaches') }}

@forelse ($breaches as $b) @empty @endforelse
{{ __('When') }} {{ __('Ticket') }} {{ __('Type') }} {{ __('Over by') }} {{ __('Severity') }}
{{ \Carbon\Carbon::parse($b->breached_at)->diffForHumans() }} #{{ $b->ticket_number ?? $b->ticket_id }} · {{ Str::limit($b->subject, 50) }} {{ $b->breach_type }} {{ $b->over_by_minutes ? $b->over_by_minutes . 'm' : '—' }} @php $cls = ['warn' => 'bg-accent-amber/15 text-accent-amber', 'breach' => 'bg-accent-coral/15 text-accent-coral', 'hard_breach' => 'bg-accent-coral/30 text-accent-coral'][$b->severity] ?? ''; @endphp {{ $b->severity }}
{{ __('No breaches yet.') }}