<style>
    .label-text {
        color: #000000;
        font-weight: bold;
    }

    .data-box {
        /* background-color: #6c757d; */
        border: 1px solid #ced4da;
        border-radius: 5px;
        padding: 5px 10px;
        min-height: 38px;
        display: flex;
        align-items: center;
        margin-top: -5px;
    }

    .table-responsive {
        margin-top: 20px;
    }

    .actions {
        text-align: center;
        margin-top: 30px;
    }
</style>

<div class="container">
    <!-- Header -->
    <div class="mb-4 mt-3">
        <h3 class="text-info"><i class="fas fa-clipboard-list"></i> Información del Presupuesto</h3>
    </div>

    <!-- Cuerpo -->
    <div>
        <!-- Campo: Información del Cliente -->
        <div class="row mb-3">
            <div class="col-md-2">
                <p class="label-text"><?= __('Cliente:') ?></p>
            </div>
            <div class="col-md-10">
                <div class="data-box">
                    <?php
                    if (!empty($presupuesto->clientes_facturacion)) {

                        echo h($presupuesto->clientes_facturacion->nombre_razon_social);
                    } else {

                        echo !empty($presupuesto->nombre_apellido)
                            ? h($presupuesto->nombre_apellido)
                            : 'Cliente nuevo';
                    }
                    ?>
                </div>
            </div>
        </div>

        <?php if (!empty($presupuesto->clientes_facturacion)): ?>
            <div class="row mb-3">
                <div class="col-md-2">
                    <p class="label-text"><?= __('Dirección:') ?></p>
                </div>
                <div class="col-md-10">
                    <div class="data-box">
                        <?= h($presupuesto->clientes_facturacion->direccion ?: 'No disponible') ?>
                    </div>
                </div>
            </div>
        <?php endif; ?>

        <div class="row mb-3">

            <!-- Fecha siempre visible -->
            <div class="col-md-2">
                <p class="label-text"><?= __('Fecha:') ?></p>
            </div>

            <div class="col-md-3">
                <div class="data-box">
                    <?= $presupuesto->modified->format('d/m/Y') ?>
                </div>
            </div>
            <?php if (!empty($presupuesto->clientes_facturacion)): ?>
                <div class="col-md-2">
                    <p class="label-text"><?= __('Documento:') ?></p>
                </div>

                <div class="col-md-3">
                    <div class="data-box">
                        <?= h($presupuesto->clientes_facturacion->numero_doc ?: 'No disponible') ?>
                    </div>
                </div>

                <div class="col-md-2"></div>
            <?php else: ?>
                <div class="col-md-7"></div>
            <?php endif; ?>

        </div>
        <div class="row mb-3">
            <div class="col-md-2">
                <p class="label-text"><?= __('Teléfono:') ?></p>
            </div>

            <div class="col-md-10">
                <div class="data-box">
                    <?php

                    if (!empty($presupuesto->clientes_facturacion)) {

                        echo h($presupuesto->clientes_facturacion->telefono ?: 'No registrado');
                    } else {

                        echo !empty($presupuesto->telefono)
                            ? h($presupuesto->telefono)
                            : 'No registrado';
                    }

                    ?>
                </div>
            </div>
        </div>

        <div class="row mb-3">
            <div class="col-md-2">
                <p class="label-text"><?= __('Observaciones:') ?></p>
            </div>
            <div class="col-md-10">
                <div class="data-box">
                    <?= !empty($presupuesto->notas) && !empty($presupuesto->notas)
                        ? h($presupuesto->notas)
                        : __('Ninguna observacion') ?>
                </div>
            </div>
        </div>

        <!-- Detalles de la Cotización -->


        <div class="mt-4 ">
            <h3 class="text-info"><i class="fas fa-list"></i> Detalles de la Cotización</h3>
        </div>


        <div class="table-responsive">
            <table class="table table-striped">
                <thead class="bg-info text-white">
                    <tr>
                        <th><?= __('Servicio') ?></th>
                        <th><?= __('Cantidad') ?></th>
                        <th><?= __('Facturado') ?></th>
                        <th><?= __('Descuento (%)') ?></th>
                        <th><?= __('Precio Unitario') ?></th>
                        <th><?= __('Subtotal') ?></th>
                        <th><?= __('Observaciones') ?></th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($presupuesto->presupuestos_servicios as $detalle): ?>
                        <?php
                        $montoFacturadoLinea = $montoFacturadoPorServicio[$detalle->servicio_id] ?? 0;
                        $montoPresupuestadoLinea = (float) $detalle->total;
                        if ($montoFacturadoLinea <= 0) {
                            $estadoFacturado = ['label' => 'Sin facturar', 'class' => 'bg-secondary'];
                        } elseif (round($montoFacturadoLinea, 2) >= round($montoPresupuestadoLinea, 2)) {
                            $estadoFacturado = ['label' => 'Facturado (S/ ' . number_format($montoFacturadoLinea, 2) . ')', 'class' => 'bg-success'];
                        } else {
                            $estadoFacturado = ['label' => 'Parcial (S/ ' . number_format($montoFacturadoLinea, 2) . ' / S/ ' . number_format($montoPresupuestadoLinea, 2) . ')', 'class' => 'bg-warning text-dark'];
                        }
                        ?>
                        <tr>
                            <td><?= h($detalle->servicio->nombre) ?></td>
                            <td><?= h($detalle->cantidad) ?></td>
                            <td><span class="badge <?= $estadoFacturado['class'] ?>"><?= $estadoFacturado['label'] ?></span></td>
                            <td>
                                <?php if (!empty($detalle->descuento) && (float) $detalle->descuento > 0): ?>
                                    <?= $detalle->descuento_tipo === 'monto'
                                        ? $this->Number->currency($detalle->descuento, 'S/ ')
                                        : h($detalle->descuento) . ' %' ?>
                                <?php else: ?>
                                    Sin descuento
                                <?php endif; ?>
                            </td>
                            <td>
                                <?= $this->Number->currency($detalle->precio_unitario, 'S/ ') ?>
                            </td>
                            <td>
                                <?= $this->Number->currency($detalle->total, 'S/ ') ?>
                            </td>
                            <td>
                                <?= !empty($detalle->observaciones)
                                    ? h($detalle->observaciones)
                                    : '--' ?>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>

        <?php if (!empty($presupuesto->presupuestos_invoices)): ?>
            <div class="mt-4">
                <h5 class="mb-3"><i class="fas fa-file-invoice"></i> Comprobantes generados desde este presupuesto</h5>
                <div class="table-responsive">
                    <table class="table table-sm table-bordered">
                        <thead class="bg-light">
                            <tr>
                                <th>Comprobante</th>
                                <th>Monto Facturado</th>
                                <th>Estado</th>
                                <th>Acción</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($presupuesto->presupuestos_invoices as $pi): ?>
                                <tr>
                                    <td><?= h(($pi->invoice->serie ?? '') . '-' . ($pi->invoice->correlativo ?? $pi->invoice_id)) ?></td>
                                    <td>S/ <?= number_format((float) $pi->monto_facturado, 2) ?></td>
                                    <td><?= h($pi->invoice->estado ?? '') ?></td>
                                    <td>
                                        <?= $this->Html->link(
                                            '<i class="fas fa-eye"></i> Ver',
                                            ['controller' => 'Invoices', 'action' => 'view', $pi->invoice_id],
                                            ['class' => 'btn btn-info btn-sm', 'escape' => false]
                                        ) ?>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php endif; ?>

        <!-- Total -->
        <?php
        $totalFinal = array_sum(array_map(fn($d) => (float)$d->total, $presupuesto->presupuestos_servicios));
        ?>
        <div class="row mb-3">
            <div class="col-md-2">
                <p class="label-text"><?= __('Total:') ?></p>
            </div>
            <div class="col-md-3">
                <div class="data-box"><strong>S/ <?= $this->Number->format($totalFinal, ['places' => 2]) ?></strong></div>
            </div>
        </div>
    </div>

    <!-- Acciones -->
    <?php $this->loadHelper('Permisos'); ?>
    <div class="actions">
        <?= $this->Html->link(__('Descargar PDF'), ['action' => 'exportPresupuestoPdf', $presupuesto->id], ['class' => 'btn btn-info me-2']) ?>
        <?= $this->Html->link(__('Volver a la Lista'), ['action' => 'index'], ['class' => 'btn btn-secondary']) ?>
        <?= $this->Html->link(__('Editar Presupuesto'), ['action' => 'edit', $presupuesto->id], ['class' => 'btn btn-primary ms-2']) ?>
        <?php if (!empty($presupuesto->cliente_facturacion_id) && $this->Permisos->tiene('Invoices', 'add')): ?>
            <?= $this->Html->link(
                __('Convertir a Factura'),
                ['controller' => 'Invoices', 'action' => 'add', '?' => ['presupuesto_id' => $presupuesto->id]],
                ['class' => 'btn btn-success ms-2']
            ) ?>
        <?php endif; ?>
    </div>
</div>