@php
    /**
     * Tabla de "Campos modificados" — presentación neutral.
     *
     * Recibe $changes directamente o $changesResolver (closure que recibe $record).
     * Cada elemento: ['key' => string, 'label' => string, 'before' => ?string, 'after' => ?string]
     *
     * Modos:
     * - Creación: before es null para todos → solo columna "Valor"
     * - Eliminación: after es null para todos → solo columna "Valor"
     * - Actualización: ambas columnas "Valor previo" / "Valor nuevo"
     */
    $record = $getRecord();

    if (isset($changesResolver) && is_callable($changesResolver)) {
        $changes = $changesResolver($record);
    }

    $changes = $changes ?? [];

    if (empty($changes)) {
        return;
    }

    // Detectar modo: creación (sin before), eliminación (sin after), o actualización (ambos)
    $hasAnyBefore = collect($changes)->contains(fn ($c) => $c['before'] !== null);
    $hasAnyAfter = collect($changes)->contains(fn ($c) => $c['after'] !== null);
    $isCreation = !$hasAnyBefore && $hasAnyAfter;
    $isDeletion = $hasAnyBefore && !$hasAnyAfter;
@endphp

<div class="credit-table-container">
    <table class="audit-changes-table credit-table">
        <thead>
            <tr>
                <th>Campo</th>
                @if($isCreation)
                    <th>Valor</th>
                @elseif($isDeletion)
                    <th>Valor</th>
                @else
                    <th class="audit-col-before">Valor previo</th>
                    <th class="audit-col-after">Valor nuevo</th>
                @endif
            </tr>
        </thead>
        <tbody>
            @foreach($changes as $change)
                <tr>
                    <td class="audit-field-label">{{ $change['label'] }}</td>
                    @if($isCreation)
                        <td>{{ $change['after'] }}</td>
                    @elseif($isDeletion)
                        <td>{{ $change['before'] }}</td>
                    @else
                        <td class="audit-cell-before">{{ $change['before'] ?? '—' }}</td>
                        <td class="audit-cell-after">{{ $change['after'] ?? '—' }}</td>
                    @endif
                </tr>
            @endforeach
        </tbody>
    </table>
</div>
