<?php
session_start();
include '../../script/conexion.php';
require '../general/validacion.php';

date_default_timezone_set('America/Bogota');

function h($value)
{
    return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8');
}

function nf0($value)
{
    return number_format((float)$value, 0, ',', '.');
}

function nf1($value)
{
    return number_format((float)$value, 1, ',', '.');
}

function formatDateEs($date)
{
    if (!$date) return '';
    return date('d/m/Y', strtotime($date));
}

function estadoBadgeClass($estado)
{
    switch (trim((string)$estado)) {
        case 'Proceso':
            return 'badge-proceso';
        case 'Confirmado':
            return 'badge-confirmado';
        case 'Alistamiento':
            return 'badge-alistamiento';
        case 'Enviado':
            return 'badge-enviado';
        case 'Novedad':
            return 'badge-novedad';
        case 'Entregado':
            return 'badge-entregado';
        case 'Finalizado':
            return 'badge-finalizado';
        case 'Cancelado':
            return 'badge-cancelado';
        case 'Devolucion':
            return 'badge-devolucion';
        default:
            return 'badge-default';
    }
}

function progressClass($percent)
{
    if ($percent < 20) return 'bg-danger';
    if ($percent < 80) return 'bg-warning';
    if ($percent < 100) return 'bg-info';
    return 'bg-success';
}

$hoy = date('Y-m-d');
$hoySql = $conn->real_escape_string($hoy);

/*
|--------------------------------------------------------------------------
| Meta
|--------------------------------------------------------------------------
| Si en tu sistema ya existe la variable $meta desde otro include/config,
| esta la respeta. Si no existe, queda en 0 para no generar error.
*/
$meta = is_numeric($meta ?? null) ? (float)$meta : 0;

/*
|--------------------------------------------------------------------------
| Resumen general del día
|--------------------------------------------------------------------------
*/
$resumen = [
    'total_venta'        => 0,
    'total_ordenes'      => 0,
    'total_clientes'     => 0,
    'vendedores_activos' => 0,
    'total_prendas'      => 0,
];

$sqlResumen = "
    SELECT 
        COUNT(*) AS total_ordenes,
        COALESCE(SUM(total_venta), 0) AS total_venta,
        COUNT(DISTINCT nombre_tercero) AS total_clientes,
        COUNT(DISTINCT nombre_usuario) AS vendedores_activos
    FROM alm_venta
    WHERE fecha = '$hoySql'
";
$queryResumen = $conn->query($sqlResumen);
if ($queryResumen && $queryResumen->num_rows > 0) {
    $rowResumen = $queryResumen->fetch_assoc();
    $resumen['total_venta']        = (float)($rowResumen['total_venta'] ?? 0);
    $resumen['total_ordenes']      = (int)($rowResumen['total_ordenes'] ?? 0);
    $resumen['total_clientes']     = (int)($rowResumen['total_clientes'] ?? 0);
    $resumen['vendedores_activos'] = (int)($rowResumen['vendedores_activos'] ?? 0);
}

$sqlPrendas = "
    SELECT COALESCE(SUM(vd.cantidad), 0) AS total_prendas
    FROM alm_venta v
    INNER JOIN alm_venta_detalle vd ON vd.id_venta = v.id
    WHERE v.fecha = '$hoySql'
";
$queryPrendas = $conn->query($sqlPrendas);
if ($queryPrendas && $queryPrendas->num_rows > 0) {
    $resumen['total_prendas'] = (float)($queryPrendas->fetch_assoc()['total_prendas'] ?? 0);
}

$ticketPromedio = $resumen['total_ordenes'] > 0 ? ($resumen['total_venta'] / $resumen['total_ordenes']) : 0;
$prendasPromedio = $resumen['total_ordenes'] > 0 ? ($resumen['total_prendas'] / $resumen['total_ordenes']) : 0;

/*
|--------------------------------------------------------------------------
| Rendimiento por vendedor
|--------------------------------------------------------------------------
*/
$vendedores = [];
$topVendedor = null;

$sqlVendedores = "
    SELECT 
        u.nombre,
        COALESCE(vs.total_venta, 0) AS total_venta,
        COALESCE(vs.total_ordenes, 0) AS total_ordenes,
        COALESCE(vd.total_prendas, 0) AS total_prendas
    FROM alm_usuario u
    LEFT JOIN (
        SELECT 
            nombre_usuario,
            SUM(total_venta) AS total_venta,
            COUNT(*) AS total_ordenes
        FROM alm_venta
        WHERE fecha = '$hoySql'
        GROUP BY nombre_usuario
    ) vs ON vs.nombre_usuario = u.nombre
    LEFT JOIN (
        SELECT
            v.nombre_usuario,
            SUM(vd.cantidad) AS total_prendas
        FROM alm_venta v
        INNER JOIN alm_venta_detalle vd ON vd.id_venta = v.id
        WHERE v.fecha = '$hoySql'
        GROUP BY v.nombre_usuario
    ) vd ON vd.nombre_usuario = u.nombre
    WHERE u.mostrar = 'Si'
    ORDER BY COALESCE(vs.total_venta, 0) DESC, u.nombre ASC
";
$queryVendedores = $conn->query($sqlVendedores);
if ($queryVendedores && $queryVendedores->num_rows > 0) {
    while ($row = $queryVendedores->fetch_assoc()) {
        $venta = (float)($row['total_venta'] ?? 0);
        $ordenes = (int)($row['total_ordenes'] ?? 0);
        $prendas = (float)($row['total_prendas'] ?? 0);

        $avance = ($meta > 0) ? (($venta / $meta) * 100) : 0;
        $avanceBarra = min($avance, 100);

        $item = [
            'nombre'        => $row['nombre'],
            'total_venta'   => $venta,
            'total_ordenes' => $ordenes,
            'total_prendas' => $prendas,
            'avance'        => $avance,
            'avance_barra'  => $avanceBarra,
            'progress_class'=> progressClass($avance),
        ];

        $vendedores[] = $item;

        if ($topVendedor === null && $venta > 0) {
            $topVendedor = $item;
        }
    }
}

$totalVendedoresVisibles = count($vendedores);
$metaGeneral = ($meta > 0 && $totalVendedoresVisibles > 0) ? ($meta * $totalVendedoresVisibles) : 0;
$avanceGeneral = ($metaGeneral > 0) ? (($resumen['total_venta'] / $metaGeneral) * 100) : 0;

/*
|--------------------------------------------------------------------------
| Estados de venta del día
|--------------------------------------------------------------------------
*/
$estadosHoy = [];
$sqlEstados = "
    SELECT 
        estado,
        COUNT(*) AS cantidad,
        COALESCE(SUM(total_venta), 0) AS total_venta
    FROM alm_venta
    WHERE fecha = '$hoySql'
    GROUP BY estado
    ORDER BY cantidad DESC, total_venta DESC
";
$queryEstados = $conn->query($sqlEstados);
if ($queryEstados && $queryEstados->num_rows > 0) {
    while ($row = $queryEstados->fetch_assoc()) {
        $estadosHoy[] = [
            'estado'     => $row['estado'],
            'cantidad'   => (int)$row['cantidad'],
            'total_venta'=> (float)$row['total_venta'],
        ];
    }
}

/*
|--------------------------------------------------------------------------
| Top clientes del día
|--------------------------------------------------------------------------
*/
$clientesHoy = [];
$sqlClientesHoy = "
    SELECT
        v.nombre_tercero,
        COUNT(v.id) AS total_ordenes,
        COALESCE(SUM(v.total_venta), 0) AS total_venta,
        COALESCE(SUM(det.prendas), 0) AS total_prendas
    FROM alm_venta v
    LEFT JOIN (
        SELECT id_venta, SUM(cantidad) AS prendas
        FROM alm_venta_detalle
        GROUP BY id_venta
    ) det ON det.id_venta = v.id
    WHERE v.fecha = '$hoySql'
    GROUP BY v.nombre_tercero
    ORDER BY total_venta DESC, total_ordenes DESC
    LIMIT 6
";
$queryClientesHoy = $conn->query($sqlClientesHoy);
if ($queryClientesHoy && $queryClientesHoy->num_rows > 0) {
    while ($row = $queryClientesHoy->fetch_assoc()) {
        $clientesHoy[] = [
            'nombre_tercero' => $row['nombre_tercero'],
            'total_ordenes'  => (int)$row['total_ordenes'],
            'total_venta'    => (float)$row['total_venta'],
            'total_prendas'  => (float)$row['total_prendas'],
        ];
    }
}

/*
|--------------------------------------------------------------------------
| Resumen despacho
|--------------------------------------------------------------------------
*/
$despacho = [
    'pendiente'        => 0,
    'exceso'           => 0,
    'refs_pendiente'   => 0,
    'refs_exceso'      => 0,
    'refs_balanceadas' => 0,
];

$sqlDespacho = "
    SELECT
        SUM(CASE WHEN cantidad > 0 THEN cantidad ELSE 0 END) AS pendiente,
        SUM(CASE WHEN cantidad < 0 THEN ABS(cantidad) ELSE 0 END) AS exceso
    FROM (
        SELECT referencia_producto, talla, SUM(cantidad) AS cantidad
        FROM alm_referencia_despacho
        GROUP BY referencia_producto, talla
    ) x
";
$queryDespacho = $conn->query($sqlDespacho);
if ($queryDespacho && $queryDespacho->num_rows > 0) {
    $rowDespacho = $queryDespacho->fetch_assoc();
    $despacho['pendiente'] = (float)($rowDespacho['pendiente'] ?? 0);
    $despacho['exceso']    = (float)($rowDespacho['exceso'] ?? 0);
}

$sqlDespachoRefs = "
    SELECT
        SUM(CASE WHEN total_ref > 0 THEN 1 ELSE 0 END) AS refs_pendiente,
        SUM(CASE WHEN total_ref < 0 THEN 1 ELSE 0 END) AS refs_exceso,
        SUM(CASE WHEN total_ref = 0 THEN 1 ELSE 0 END) AS refs_balanceadas
    FROM (
        SELECT referencia_producto, SUM(cantidad) AS total_ref
        FROM alm_referencia_despacho
        GROUP BY referencia_producto
    ) z
";
$queryDespachoRefs = $conn->query($sqlDespachoRefs);
if ($queryDespachoRefs && $queryDespachoRefs->num_rows > 0) {
    $rowDespachoRefs = $queryDespachoRefs->fetch_assoc();
    $despacho['refs_pendiente']   = (int)($rowDespachoRefs['refs_pendiente'] ?? 0);
    $despacho['refs_exceso']      = (int)($rowDespachoRefs['refs_exceso'] ?? 0);
    $despacho['refs_balanceadas'] = (int)($rowDespachoRefs['refs_balanceadas'] ?? 0);
}
?>
<!doctype html>
<html lang="es" class="light-theme">
<head>
    <?php include '../general/libreria-css.php'; ?>

    <style>
        :root {
            --page-bg: #f6f8fb;
            --card-bg: #ffffff;
            --text-main: #1f2937;
            --text-soft: #6b7280;
            --line: #e5e7eb;
            --primary: #111827;
            --primary-soft: rgba(17, 24, 39, .06);
            --success-soft: rgba(34, 197, 94, .12);
            --warning-soft: rgba(245, 158, 11, .12);
            --danger-soft: rgba(239, 68, 68, .12);
            --info-soft: rgba(59, 130, 246, .12);
            --shadow: 0 10px 30px rgba(15, 23, 42, .06);
            --radius: 18px;
        }

        body {
            background: var(--page-bg);
            color: var(--text-main);
        }

        .page-title-card,
        .stats-card,
        .panel-card,
        .quick-card {
            border: 0;
            border-radius: var(--radius);
            background: var(--card-bg);
            box-shadow: var(--shadow);
        }

        .page-title-card .card-body,
        .panel-card .card-body,
        .quick-card .card-body {
            padding: 1.25rem 1.35rem;
        }

        .page-title-main {
            font-size: 1.55rem;
            font-weight: 800;
            margin-bottom: .2rem;
            letter-spacing: .2px;
        }

        .page-subtitle {
            color: var(--text-soft);
            margin: 0;
            font-size: .95rem;
        }

        .page-badges {
            display: flex;
            gap: .5rem;
            flex-wrap: wrap;
            margin-top: .8rem;
        }

        .info-chip {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            padding: .45rem .75rem;
            border-radius: 999px;
            background: #f8fafc;
            border: 1px solid var(--line);
            font-size: .82rem;
            color: var(--text-main);
            font-weight: 600;
        }

        .stats-card .card-body {
            padding: 1rem 1.1rem;
        }

        .stats-icon {
            width: 44px;
            height: 44px;
            border-radius: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--primary-soft);
            color: var(--primary);
            font-size: 1.05rem;
            margin-bottom: .85rem;
        }

        .stats-title {
            font-size: .78rem;
            color: var(--text-soft);
            text-transform: uppercase;
            letter-spacing: .08em;
            margin-bottom: .35rem;
            font-weight: 700;
        }

        .stats-value {
            font-size: 1.35rem;
            font-weight: 800;
            line-height: 1.1;
            color: var(--text-main);
        }

        .stats-note {
            font-size: .8rem;
            color: var(--text-soft);
            margin-top: .35rem;
        }

        .section-title {
            font-size: 1rem;
            font-weight: 800;
            margin-bottom: .15rem;
        }

        .section-subtitle {
            color: var(--text-soft);
            font-size: .88rem;
            margin-bottom: 1rem;
        }

        .seller-item,
        .status-item,
        .client-item,
        .quick-link {
            border: 1px solid #edf2f7;
            border-radius: 16px;
            padding: .9rem 1rem;
            background: #fff;
            transition: all .18s ease;
        }

        .seller-item:hover,
        .status-item:hover,
        .client-item:hover,
        .quick-link:hover {
            background: #fafcff;
            border-color: #dbe4f0;
            transform: translateY(-1px);
        }

        .seller-link {
            text-decoration: none;
            color: inherit;
        }

        .seller-name,
        .client-name {
            font-weight: 800;
            color: #111827;
        }

        .seller-meta,
        .client-meta,
        .muted-mini {
            color: var(--text-soft);
            font-size: .83rem;
        }

        .seller-amount,
        .status-amount,
        .client-amount {
            font-weight: 800;
            color: #0f172a;
        }

        .progress {
            height: 10px;
            border-radius: 999px;
            background: #eef2f7;
        }

        .progress-bar {
            font-size: .7rem;
            font-weight: 700;
        }

        .badge-soft {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: .42rem .78rem;
            font-size: .78rem;
            font-weight: 800;
            border: 1px solid transparent;
            white-space: nowrap;
        }

        .badge-proceso {
            background: rgba(59, 130, 246, .12);
            color: #1d4ed8;
            border-color: rgba(59, 130, 246, .18);
        }

        .badge-confirmado {
            background: rgba(168, 85, 247, .12);
            color: #7e22ce;
            border-color: rgba(168, 85, 247, .18);
        }

        .badge-alistamiento {
            background: rgba(14, 165, 233, .12);
            color: #0369a1;
            border-color: rgba(14, 165, 233, .18);
        }

        .badge-enviado {
            background: rgba(245, 158, 11, .12);
            color: #b45309;
            border-color: rgba(245, 158, 11, .18);
        }

        .badge-novedad {
            background: rgba(249, 115, 22, .12);
            color: #c2410c;
            border-color: rgba(249, 115, 22, .18);
        }

        .badge-entregado {
            background: rgba(34, 197, 94, .12);
            color: #15803d;
            border-color: rgba(34, 197, 94, .18);
        }

        .badge-finalizado {
            background: rgba(16, 185, 129, .12);
            color: #047857;
            border-color: rgba(16, 185, 129, .18);
        }

        .badge-cancelado {
            background: rgba(100, 116, 139, .12);
            color: #475569;
            border-color: rgba(100, 116, 139, .18);
        }

        .badge-devolucion {
            background: rgba(31, 41, 55, .10);
            color: #111827;
            border-color: rgba(31, 41, 55, .16);
        }

        .badge-default {
            background: #f8fafc;
            color: #334155;
            border-color: #e2e8f0;
        }

        .mini-divider {
            height: 1px;
            background: #edf2f7;
            margin: 1rem 0;
        }

        .quick-link {
            display: flex;
            align-items: center;
            gap: .9rem;
            text-decoration: none;
            color: inherit;
            margin-bottom: .75rem;
        }

        .quick-icon {
            width: 42px;
            height: 42px;
            border-radius: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--primary-soft);
            color: var(--primary);
            font-size: 1rem;
            flex: 0 0 42px;
        }

        .quick-link h6 {
            margin: 0 0 .15rem 0;
            font-weight: 800;
        }

        .quick-link p {
            margin: 0;
            color: var(--text-soft);
            font-size: .83rem;
        }

        .sync-btn {
            border-radius: 14px;
            padding: .8rem 1rem;
            font-weight: 800;
        }

        .empty-state {
            border: 1px dashed #cbd5e1;
            border-radius: 18px;
            padding: 1.5rem 1rem;
            text-align: center;
            background: #fff;
            color: var(--text-soft);
        }

        .empty-state i {
            font-size: 1.8rem;
            margin-bottom: .55rem;
            color: #94a3b8;
        }

        @media print {
            .d-print-none,
            .wrapper aside,
            .top-header,
            .page-breadcrumb,
            .sync-btn {
                display: none !important;
            }

            body {
                background: #fff !important;
            }

            .page-title-card,
            .stats-card,
            .panel-card,
            .quick-card {
                box-shadow: none !important;
                border: 1px solid #ddd !important;
            }
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <?php echo include '../general/menu.php'; ?>

        <div class="page-content-wrapper">
            <div class="page-content">

                <nav aria-label="breadcrumb" class="mb-3 d-print-none">
                    <ol class="breadcrumb mb-0">
                        <li class="breadcrumb-item">
                            <a href="../inicio/inicio.php">
                                <ion-icon name="home-outline"></ion-icon>
                            </a>
                        </li>
                        <li class="breadcrumb-item active" aria-current="page">Panel de análisis</li>
                    </ol>
                </nav>

                <div class="card page-title-card mb-3">
                    <div class="card-body">
                        <div class="page-title-main">Panel de análisis</div>
                        <p class="page-subtitle">
                            Resumen operativo del día con ventas, vendedores, clientes, despacho y accesos rápidos a tus reportes.
                        </p>

                        <div class="page-badges">
                            <span class="info-chip">
                                <i class="fas fa-calendar-day"></i>
                                Hoy: <?= h(formatDateEs($hoy)) ?>
                            </span>
                            <span class="info-chip">
                                <i class="fas fa-users"></i>
                                Vendedores visibles: <?= nf0($totalVendedoresVisibles) ?>
                            </span>
                            <span class="info-chip">
                                <i class="fas fa-bullseye"></i>
                                Meta por vendedor: <?= $meta > 0 ? '$ ' . nf0($meta) : 'No configurada' ?>
                            </span>
                            <span class="info-chip">
                                <i class="fas fa-store"></i>
                                Clientes hoy: <?= nf0($resumen['total_clientes']) ?>
                            </span>
                        </div>
                    </div>
                </div>

                <div class="row g-3 mb-3">
                    <div class="col-md-6 col-xl-2">
                        <div class="card stats-card h-100">
                            <div class="card-body">
                                <div class="stats-icon"><i class="fas fa-sack-dollar"></i></div>
                                <div class="stats-title">Ventas hoy</div>
                                <div class="stats-value">$ <?= nf0($resumen['total_venta']) ?></div>
                                <div class="stats-note">Facturación acumulada del día</div>
                            </div>
                        </div>
                    </div>

                    <div class="col-md-6 col-xl-2">
                        <div class="card stats-card h-100">
                            <div class="card-body">
                                <div class="stats-icon"><i class="fas fa-file-invoice"></i></div>
                                <div class="stats-title">Órdenes</div>
                                <div class="stats-value"><?= nf0($resumen['total_ordenes']) ?></div>
                                <div class="stats-note">Cantidad de ventas registradas</div>
                            </div>
                        </div>
                    </div>

                    <div class="col-md-6 col-xl-2">
                        <div class="card stats-card h-100">
                            <div class="card-body">
                                <div class="stats-icon"><i class="fas fa-boxes-stacked"></i></div>
                                <div class="stats-title">Prendas</div>
                                <div class="stats-value"><?= nf0($resumen['total_prendas']) ?></div>
                                <div class="stats-note">Total de unidades vendidas</div>
                            </div>
                        </div>
                    </div>

                    <div class="col-md-6 col-xl-2">
                        <div class="card stats-card h-100">
                            <div class="card-body">
                                <div class="stats-icon"><i class="fas fa-receipt"></i></div>
                                <div class="stats-title">Ticket promedio</div>
                                <div class="stats-value">$ <?= nf0($ticketPromedio) ?></div>
                                <div class="stats-note">Promedio por orden</div>
                            </div>
                        </div>
                    </div>

                    <div class="col-md-6 col-xl-2">
                        <div class="card stats-card h-100">
                            <div class="card-body">
                                <div class="stats-icon"><i class="fas fa-shirt"></i></div>
                                <div class="stats-title">Prendas / orden</div>
                                <div class="stats-value"><?= nf1($prendasPromedio) ?></div>
                                <div class="stats-note">Promedio de unidades</div>
                            </div>
                        </div>
                    </div>

                    <div class="col-md-6 col-xl-2">
                        <div class="card stats-card h-100">
                            <div class="card-body">
                                <div class="stats-icon"><i class="fas fa-chart-line"></i></div>
                                <div class="stats-title">Avance meta</div>
                                <div class="stats-value"><?= $metaGeneral > 0 ? nf1($avanceGeneral) . '%' : '--' ?></div>
                                <div class="stats-note">
                                    <?= $metaGeneral > 0 ? '$ ' . nf0($metaGeneral) . ' meta global' : 'Configura meta para medir avance' ?>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="row g-3">
                    <div class="col-12 col-xl-7">
                        <div class="card panel-card h-100">
                            <div class="card-body">
                                <div class="section-title">Rendimiento por vendedor</div>
                                <div class="section-subtitle">
                                    Seguimiento diario por vendedor con ventas, órdenes, prendas y avance frente a la meta.
                                </div>

                                <?php if (empty($vendedores)): ?>
                                    <div class="empty-state">
                                        <i class="fas fa-users"></i>
                                        <div>No se encontraron vendedores visibles.</div>
                                    </div>
                                <?php else: ?>
                                    <div class="d-grid gap-3">
                                        <?php foreach ($vendedores as $item): ?>
                                            <a class="seller-link" href="rpt-vendedor.php?nombre_usuario=<?= urlencode($item['nombre']) ?>&fecha_desde=<?= h($hoy) ?>&fecha_hasta=<?= h($hoy) ?>">
                                                <div class="seller-item">
                                                    <div class="d-flex justify-content-between align-items-start gap-3 mb-2">
                                                        <div>
                                                            <div class="seller-name"><?= h($item['nombre']) ?></div>
                                                            <div class="seller-meta">
                                                                <?= nf0($item['total_ordenes']) ?> órdenes · <?= nf0($item['total_prendas']) ?> prendas
                                                            </div>
                                                        </div>
                                                        <div class="text-end">
                                                            <div class="seller-amount">$ <?= nf0($item['total_venta']) ?></div>
                                                            <div class="muted-mini">
                                                                <?= $meta > 0 ? nf1($item['avance']) . '% de meta' : 'Meta no configurada' ?>
                                                            </div>
                                                        </div>
                                                    </div>

                                                    <?php if ($meta > 0): ?>
                                                        <div class="progress">
                                                            <div class="progress-bar progress-bar-striped progress-bar-animated <?= h($item['progress_class']) ?>"
                                                                 role="progressbar"
                                                                 style="width: <?= min(100, max(0, $item['avance_barra'])) ?>%;"
                                                                 aria-valuenow="<?= min(100, max(0, $item['avance_barra'])) ?>"
                                                                 aria-valuemin="0"
                                                                 aria-valuemax="100">
                                                            </div>
                                                        </div>
                                                    <?php endif; ?>
                                                </div>
                                            </a>
                                        <?php endforeach; ?>
                                    </div>

                                    <div class="mini-divider"></div>

                                    <div class="seller-item">
                                        <div class="d-flex justify-content-between align-items-center gap-3">
                                            <div>
                                                <div class="seller-name">Total del día</div>
                                                <div class="seller-meta">
                                                    <?= nf0($resumen['total_ordenes']) ?> órdenes · <?= nf0($resumen['total_prendas']) ?> prendas · <?= nf0($resumen['vendedores_activos']) ?> vendedores activos
                                                </div>
                                            </div>
                                            <div class="text-end">
                                                <div class="seller-amount">$ <?= nf0($resumen['total_venta']) ?></div>
                                            </div>
                                        </div>
                                    </div>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>

                    <div class="col-12 col-xl-5">
                        <div class="d-grid gap-3">
                            <div class="card panel-card">
                                <div class="card-body">
                                    <div class="section-title">Resumen operativo</div>
                                    <div class="section-subtitle">Datos rápidos para revisar el comportamiento del día.</div>

                                    <div class="status-item mb-3">
                                        <div class="d-flex justify-content-between align-items-start gap-3">
                                            <div>
                                                <div class="seller-name">Top vendedor</div>
                                                <div class="seller-meta">
                                                    <?= $topVendedor ? h($topVendedor['nombre']) : 'Sin ventas registradas hoy' ?>
                                                </div>
                                            </div>
                                            <div class="text-end">
                                                <div class="status-amount">
                                                    <?= $topVendedor ? '$ ' . nf0($topVendedor['total_venta']) : '$ 0' ?>
                                                </div>
                                            </div>
                                        </div>
                                    </div>

                                    <div class="status-item mb-3">
                                        <div class="d-flex justify-content-between align-items-start gap-3">
                                            <div>
                                                <div class="seller-name">Mercancía pendiente</div>
                                                <div class="seller-meta">
                                                    <?= nf0($despacho['refs_pendiente']) ?> referencias con saldo pendiente
                                                </div>
                                            </div>
                                            <div class="text-end">
                                                <div class="status-amount text-primary"><?= nf0($despacho['pendiente']) ?></div>
                                            </div>
                                        </div>
                                    </div>

                                    <div class="status-item">
                                        <div class="d-flex justify-content-between align-items-start gap-3">
                                            <div>
                                                <div class="seller-name">Despachado de más</div>
                                                <div class="seller-meta">
                                                    <?= nf0($despacho['refs_exceso']) ?> referencias con exceso
                                                </div>
                                            </div>
                                            <div class="text-end">
                                                <div class="status-amount text-danger"><?= nf0($despacho['exceso']) ?></div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="card panel-card">
                                <div class="card-body">
                                    <div class="section-title">Estados de venta hoy</div>
                                    <div class="section-subtitle">Cantidad de ventas y monto agrupado por estado.</div>

                                    <?php if (empty($estadosHoy)): ?>
                                        <div class="empty-state">
                                            <i class="fas fa-inbox"></i>
                                            <div>No hay ventas registradas hoy.</div>
                                        </div>
                                    <?php else: ?>
                                        <div class="d-grid gap-2">
                                            <?php foreach ($estadosHoy as $estadoItem): ?>
                                                <div class="status-item">
                                                    <div class="d-flex justify-content-between align-items-center gap-3">
                                                        <div class="d-flex align-items-center gap-2 flex-wrap">
                                                            <span class="badge-soft <?= estadoBadgeClass($estadoItem['estado']) ?>">
                                                                <?= h($estadoItem['estado']) ?>
                                                            </span>
                                                            <span class="muted-mini"><?= nf0($estadoItem['cantidad']) ?> ventas</span>
                                                        </div>
                                                        <div class="status-amount">$ <?= nf0($estadoItem['total_venta']) ?></div>
                                                    </div>
                                                </div>
                                            <?php endforeach; ?>
                                        </div>
                                    <?php endif; ?>
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="col-12 col-xl-7">
                        <div class="card panel-card">
                            <div class="card-body">
                                <div class="section-title">Top clientes del día</div>
                                <div class="section-subtitle">Clientes con mayor facturación en la fecha actual.</div>

                                <?php if (empty($clientesHoy)): ?>
                                    <div class="empty-state">
                                        <i class="fas fa-user-group"></i>
                                        <div>No hay clientes con ventas registradas hoy.</div>
                                    </div>
                                <?php else: ?>
                                    <div class="d-grid gap-3">
                                        <?php foreach ($clientesHoy as $cliente): ?>
                                            <div class="client-item">
                                                <div class="d-flex justify-content-between align-items-start gap-3">
                                                    <div>
                                                        <div class="client-name"><?= h($cliente['nombre_tercero']) ?></div>
                                                        <div class="client-meta">
                                                            <?= nf0($cliente['total_ordenes']) ?> órdenes · <?= nf0($cliente['total_prendas']) ?> prendas
                                                        </div>
                                                    </div>
                                                    <div class="text-end">
                                                        <div class="client-amount">$ <?= nf0($cliente['total_venta']) ?></div>
                                                    </div>
                                                </div>
                                            </div>
                                        <?php endforeach; ?>
                                    </div>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>

                    <div class="col-12 col-xl-5">
                        <div class="card quick-card">
                            <div class="card-body">
                                <div class="section-title">Accesos rápidos</div>
                                <div class="section-subtitle">Navegación directa a reportes y procesos frecuentes.</div>

                                <a href="rpt-kardex.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-box-open"></i></span>
                                    <div>
                                        <h6>RPT - Kardex</h6>
                                        <p>Consulta de movimientos e inventario.</p>
                                    </div>
                                </a>

                                <a href="rpt-pedido.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-clipboard-list"></i></span>
                                    <div>
                                        <h6>RPT - Pedidos</h6>
                                        <p>Resumen general de pedidos.</p>
                                    </div>
                                </a>

                                <a href="rpt-pedido-detalle.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-table-list"></i></span>
                                    <div>
                                        <h6>RPT - Pedidos por detalle</h6>
                                        <p>Detalle por referencia y talla.</p>
                                    </div>
                                </a>

                                <a href="rpt-venta.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-cash-register"></i></span>
                                    <div>
                                        <h6>RPT - Ventas</h6>
                                        <p>Ventas consolidadas por cliente.</p>
                                    </div>
                                </a>

                                <a href="rpt-venta-detalle.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-receipt"></i></span>
                                    <div>
                                        <h6>RPT - Ventas por detalle</h6>
                                        <p>Detalle por referencia, talla y precio.</p>
                                    </div>
                                </a>

                                <a href="rpt-mercancia-despachar.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-truck-loading"></i></span>
                                    <div>
                                        <h6>RPT - Mercancía por despachar</h6>
                                        <p>Saldo pendiente y despachos en exceso.</p>
                                    </div>
                                </a>

                                <a href="rpt-mercancia-despachar-cliente.php" class="quick-link">
                                    <span class="quick-icon"><i class="fas fa-people-carry-box"></i></span>
                                    <div>
                                        <h6>RPT - Mercancía por despachar a cliente</h6>
                                        <p>Seguimiento por tercero.</p>
                                    </div>
                                </a>

                                <div class="mt-3">
                                    <a href="sincronizar.php" class="btn btn-dark w-100 sync-btn">
                                        <i class="fas fa-rotate me-2"></i> Sincronizar
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

            </div>

            <?php echo include '../general/footer.php'; ?>
        </div>
    </div>

    <?php echo include '../general/libreria-js.php'; ?>
</body>
</html>