@php
    use App\Support\Format;

    $record = $getRecord();
    $installments = $record->installments()
        ->orderBy('installment_number')
        ->get();

    $totalDistributed = $installments->sum('pivot.applied_amount');
    $affectedCount = $installments->count();
    $extraAmount = (float) $record->extra_amount;
@endphp

<div>
    {{-- Summary Stats --}}
    <div class="stats-grid stats-grid-3">
        <div class="stat-card stat-card-success">
            <div class="stat-value stat-value-success">{{ Format::money($totalDistributed) }}</div>
            <div class="stat-label">Total Distribuido</div>
        </div>
        <div class="stat-card stat-card-default">
            <div class="stat-value">{{ $affectedCount }}</div>
            <div class="stat-label">Cuotas Afectadas</div>
        </div>
        <div class="stat-card {{ $extraAmount > 0 ? 'stat-card-warning' : 'stat-card-default' }}">
            <div class="stat-value {{ $extraAmount > 0 ? 'stat-value-warning' : '' }}">{{ Format::money($extraAmount) }}</div>
            <div class="stat-label">Excedente</div>
        </div>
    </div>

    {{-- Distribution Table --}}
    <div class="credit-table-container">
        <table class="credit-table">
            <thead>
                <tr>
                    <th>Cuota #</th>
                    <th>Vencimiento</th>
                    <th class="text-right">Total Cuota</th>
                    <th class="text-right">Aplicado (este pago)</th>
                    <th class="text-right">Total Pagado</th>
                    <th class="text-center">Estado</th>
                </tr>
            </thead>
            <tbody>
                @forelse($installments as $installment)
                    @php
                        $appliedThisPayment = (float) $installment->pivot->applied_amount;
                        $isPaid = $installment->status === 'paid';
                        $isOverdue = $installment->status === 'overdue';
                        $rowClass = $isPaid ? 'row-success' : ($isOverdue ? 'row-danger' : '');

                        $badgeClass = match($installment->status) {
                            'paid' => 'badge-success',
                            'partial_paid' => 'badge-info',
                            'overdue' => 'badge-danger',
                            default => 'badge-gray',
                        };
                    @endphp
                    <tr class="{{ $rowClass }}">
                        <td style="font-weight: 500;">{{ $installment->installment_number }}</td>
                        <td>
                            {{ $installment->due_date->format('d/m/Y') }}
                            @if($isOverdue)
                                <span style="color: rgb(239 68 68); margin-left: 0.25rem;">!</span>
                            @endif
                        </td>
                        <td class="text-right money">{{ Format::money($installment->total_amount) }}</td>
                        <td class="text-right money money-success" style="font-weight: 600;">
                            {{ Format::money($appliedThisPayment) }}
                        </td>
                        <td class="text-right money {{ $installment->amount_paid > 0 ? 'money-success' : '' }}">
                            {{ Format::money($installment->amount_paid) }}
                        </td>
                        <td class="text-center">
                            <span class="credit-badge {{ $badgeClass }}">
                                {{ $installment->getStatusLabel() }}
                            </span>
                        </td>
                    </tr>
                @empty
                    <tr>
                        <td colspan="6" class="empty-state">
                            No hay distribución registrada para este pago
                        </td>
                    </tr>
                @endforelse
            </tbody>
            @if($installments->isNotEmpty())
            <tfoot>
                <tr>
                    <td colspan="2" class="text-right" style="font-size: 0.75rem; text-transform: uppercase;">Totales:</td>
                    <td class="text-right money">{{ Format::money($installments->sum('total_amount')) }}</td>
                    <td class="text-right money money-success" style="font-weight: 600;">{{ Format::money($totalDistributed) }}</td>
                    <td class="text-right money money-success">{{ Format::money($installments->sum('amount_paid')) }}</td>
                    <td></td>
                </tr>
            </tfoot>
            @endif
        </table>
    </div>
</div>
