<?php
include dirname(__FILE__) . '/../sesion.php';
include dirname(__FILE__) . '/../concha.php';

if (!isset($conn) || !($conn instanceof mysqli)) {
    die('Error: no se encontró la conexión mysqli en concha.php');
}

if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

$conn->set_charset('utf8mb4');
date_default_timezone_set('America/Argentina/Buenos_Aires');

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

function limpiar($txt)
{
    return trim((string)$txt);
}

function tablaExiste($conn, $tabla)
{
    $tabla = $conn->real_escape_string($tabla);
    $sql = "SHOW TABLES LIKE '{$tabla}'";
    $res = $conn->query($sql);
    return ($res && $res->num_rows > 0);
}

function setFlash($tipo, $mensaje)
{
    $_SESSION['flash_alineaciones'] = array(
        'tipo' => $tipo,
        'mensaje' => $mensaje
    );
}

function getFlash()
{
    if (isset($_SESSION['flash_alineaciones'])) {
        $flash = $_SESSION['flash_alineaciones'];
        unset($_SESSION['flash_alineaciones']);
        return $flash;
    }
    return null;
}

function guardarSyncPendiente($conn, $tablaOrigen, $registroId, $accion, $payload)
{
    if (!tablaExiste($conn, 'fut_sync_pendientes')) {
        return;
    }

    $sql = "INSERT INTO fut_sync_pendientes
            (tabla_origen, registro_id, accion, payload, estado, intentos, ultimo_error, creado_en, actualizado_en)
            VALUES (?, ?, ?, ?, 'pendiente', 0, NULL, NOW(), NOW())";

    $stmt = $conn->prepare($sql);
    if ($stmt) {
        $stmt->bind_param('siss', $tablaOrigen, $registroId, $accion, $payload);
        $stmt->execute();
        $stmt->close();
    }
}

function obtenerPartidos($conn, $limite = 100)
{
    $items = array();

    $limite = (int)$limite;
    if ($limite <= 0) {
        $limite = 100;
    }

    $sql = "SELECT
                p.id,
                p.fecha_partido,
                p.hora_partido,
                p.estado,
                p.equipo_local_id,
                p.equipo_visitante_id,
                p.estadio_id,
                el.nombre AS equipo_local_nombre,
                ev.nombre AS equipo_visitante_nombre,
                es.nombre AS estadio_nombre
            FROM fut_partidos p
            INNER JOIN fut_equipos el ON el.id = p.equipo_local_id
            INNER JOIN fut_equipos ev ON ev.id = p.equipo_visitante_id
            INNER JOIN fut_estadios es ON es.id = p.estadio_id
            ORDER BY p.fecha_hora_partido DESC, p.id DESC
            LIMIT {$limite}";
    $res = $conn->query($sql);

    if ($res) {
        while ($row = $res->fetch_assoc()) {
            $items[] = $row;
        }
    }

    return $items;
}

function obtenerPartidoPorId($conn, $partidoId)
{
    $partidoId = (int)$partidoId;

    $sql = "SELECT
                p.*,
                el.nombre AS equipo_local_nombre,
                ev.nombre AS equipo_visitante_nombre,
                es.nombre AS estadio_nombre,
                es.localidad AS estadio_localidad,
                es.provincia AS estadio_provincia
            FROM fut_partidos p
            INNER JOIN fut_equipos el ON el.id = p.equipo_local_id
            INNER JOIN fut_equipos ev ON ev.id = p.equipo_visitante_id
            INNER JOIN fut_estadios es ON es.id = p.estadio_id
            WHERE p.id = {$partidoId}
            LIMIT 1";

    $res = $conn->query($sql);
    if ($res && $res->num_rows > 0) {
        return $res->fetch_assoc();
    }

    return null;
}

function obtenerJugadoresEquipo($conn, $equipoId)
{
    $equipoId = (int)$equipoId;
    $items = array();

    $sql = "SELECT id, nombre, apellido, apodo, numero_camiseta, posicion, foto
            FROM fut_jugadores
            WHERE equipo_id = {$equipoId} AND activo = 1
            ORDER BY
                CASE
                    WHEN numero_camiseta REGEXP '^[0-9]+$' THEN CAST(numero_camiseta AS UNSIGNED)
                    ELSE 9999
                END ASC,
                apellido ASC,
                nombre ASC";
    $res = $conn->query($sql);

    if ($res) {
        while ($row = $res->fetch_assoc()) {
            $items[] = $row;
        }
    }

    return $items;
}

function obtenerAlineacionEquipo($conn, $partidoId, $equipoId)
{
    $partidoId = (int)$partidoId;
    $equipoId = (int)$equipoId;
    $data = array();

    $sql = "SELECT jugador_id, condicion, orden_lista, capitan, observaciones
            FROM fut_partidos_alineaciones
            WHERE partido_id = {$partidoId} AND equipo_id = {$equipoId}";
    $res = $conn->query($sql);

    if ($res) {
        while ($row = $res->fetch_assoc()) {
            $data[(int)$row['jugador_id']] = array(
                'condicion' => $row['condicion'],
                'orden_lista' => (int)$row['orden_lista'],
                'capitan' => (int)$row['capitan'],
                'observaciones' => $row['observaciones']
            );
        }
    }

    return $data;
}

function contarAlineacionesPartido($conn, $partidoId)
{
    $partidoId = (int)$partidoId;
    $sql = "SELECT COUNT(*) AS total FROM fut_partidos_alineaciones WHERE partido_id = {$partidoId}";
    $res = $conn->query($sql);

    if ($res && ($row = $res->fetch_assoc())) {
        return (int)$row['total'];
    }

    return 0;
}

if (!tablaExiste($conn, 'fut_partidos')) {
    die('La tabla fut_partidos no existe. Ejecutá primero crea_tablas_futbol.php');
}
if (!tablaExiste($conn, 'fut_jugadores')) {
    die('La tabla fut_jugadores no existe. Ejecutá primero crea_tablas_futbol.php');
}
if (!tablaExiste($conn, 'fut_partidos_alineaciones')) {
    die('La tabla fut_partidos_alineaciones no existe. Ejecutá primero crea_tablas_futbol.php');
}

$accion = isset($_REQUEST['accion']) ? limpiar($_REQUEST['accion']) : '';
$partidoId = isset($_REQUEST['partido_id']) ? (int)$_REQUEST['partido_id'] : 0;

if ($_SERVER['REQUEST_METHOD'] === 'POST' && $accion === 'guardar_alineacion') {
    $partidoId = isset($_POST['partido_id']) ? (int)$_POST['partido_id'] : 0;
    $equipoId = isset($_POST['equipo_id']) ? (int)$_POST['equipo_id'] : 0;

    if ($partidoId <= 0 || $equipoId <= 0) {
        setFlash('danger', 'Faltan datos del partido o del equipo.');
        header('Location: alineaciones.php' . ($partidoId > 0 ? '?partido_id=' . $partidoId : ''));
        exit;
    }

    $partido = obtenerPartidoPorId($conn, $partidoId);
    if (!$partido) {
        setFlash('danger', 'El partido seleccionado no existe.');
        header('Location: alineaciones.php');
        exit;
    }

    if ($equipoId !== (int)$partido['equipo_local_id'] && $equipoId !== (int)$partido['equipo_visitante_id']) {
        setFlash('danger', 'El equipo no corresponde al partido seleccionado.');
        header('Location: alineaciones.php?partido_id=' . $partidoId);
        exit;
    }

    $condiciones = isset($_POST['condicion']) && is_array($_POST['condicion']) ? $_POST['condicion'] : array();
    $ordenes = isset($_POST['orden_lista']) && is_array($_POST['orden_lista']) ? $_POST['orden_lista'] : array();
    $observaciones = isset($_POST['observaciones']) && is_array($_POST['observaciones']) ? $_POST['observaciones'] : array();
    $capitanId = isset($_POST['capitan_id']) ? (int)$_POST['capitan_id'] : 0;

    $insertar = array();
    $cantidadTitulares = 0;
    $cantidadSuplentes = 0;
    $capitanValido = false;

    foreach ($condiciones as $jugadorId => $condicion) {
        $jugadorId = (int)$jugadorId;
        $condicion = limpiar($condicion);

        if ($jugadorId <= 0) {
            continue;
        }

        if ($condicion !== 'titular' && $condicion !== 'suplente') {
            continue;
        }

        $orden = isset($ordenes[$jugadorId]) ? (int)$ordenes[$jugadorId] : 0;
        if ($orden < 0) {
            $orden = 0;
        }

        $obs = isset($observaciones[$jugadorId]) ? limpiar($observaciones[$jugadorId]) : '';
        $esCapitan = ($capitanId > 0 && $capitanId === $jugadorId) ? 1 : 0;

        if ($condicion === 'titular') {
            $cantidadTitulares++;
        }
        if ($condicion === 'suplente') {
            $cantidadSuplentes++;
        }
        if ($esCapitan === 1) {
            $capitanValido = true;
        }

        $insertar[] = array(
            'jugador_id' => $jugadorId,
            'condicion' => $condicion,
            'orden_lista' => $orden,
            'capitan' => $esCapitan,
            'observaciones' => $obs
        );
    }

    if (count($insertar) === 0) {
        setFlash('danger', 'Tenés que seleccionar al menos un titular o suplente.');
        header('Location: alineaciones.php?partido_id=' . $partidoId);
        exit;
    }

    if ($cantidadTitulares > 11) {
        setFlash('danger', 'No podés cargar más de 11 titulares para un equipo.');
        header('Location: alineaciones.php?partido_id=' . $partidoId);
        exit;
    }

    if ($capitanId > 0 && !$capitanValido) {
        setFlash('danger', 'El capitán debe estar dentro de la lista de titulares o suplentes seleccionados.');
        header('Location: alineaciones.php?partido_id=' . $partidoId);
        exit;
    }

    $conn->begin_transaction();

    try {
        $sqlDel = "DELETE FROM fut_partidos_alineaciones WHERE partido_id = ? AND equipo_id = ?";
        $stmtDel = $conn->prepare($sqlDel);
        if (!$stmtDel) {
            throw new Exception('Error al preparar el borrado de alineación: ' . $conn->error);
        }
        $stmtDel->bind_param('ii', $partidoId, $equipoId);
        if (!$stmtDel->execute()) {
            throw new Exception('No se pudo limpiar la alineación anterior: ' . $stmtDel->error);
        }
        $stmtDel->close();

        $sqlIns = "INSERT INTO fut_partidos_alineaciones
                   (partido_id, equipo_id, jugador_id, condicion, orden_lista, capitan, observaciones, creado_en, actualizado_en)
                   VALUES (?, ?, ?, ?, ?, ?, ?, NOW(), NOW())";
        $stmtIns = $conn->prepare($sqlIns);
        if (!$stmtIns) {
            throw new Exception('Error al preparar la inserción de alineación: ' . $conn->error);
        }

        foreach ($insertar as $row) {
            $jugadorId = (int)$row['jugador_id'];
            $condicion = $row['condicion'];
            $ordenLista = (int)$row['orden_lista'];
            $capitan = (int)$row['capitan'];
            $obs = $row['observaciones'];

            $stmtIns->bind_param(
                'iiisiis',
                $partidoId,
                $equipoId,
                $jugadorId,
                $condicion,
                $ordenLista,
                $capitan,
                $obs
            );

            if (!$stmtIns->execute()) {
                throw new Exception('No se pudo guardar una fila de la alineación: ' . $stmtIns->error);
            }
        }

        $stmtIns->close();

        guardarSyncPendiente(
            $conn,
            'fut_partidos_alineaciones',
            $partidoId,
            'update',
            json_encode(array(
                'partido_id' => $partidoId,
                'equipo_id' => $equipoId,
                'cantidad_titulares' => $cantidadTitulares,
                'cantidad_suplentes' => $cantidadSuplentes,
                'capitan_id' => $capitanId,
                'alineacion' => $insertar
            ))
        );

        $conn->commit();
        setFlash('success', 'Alineación guardada correctamente.');
        header('Location: alineaciones.php?partido_id=' . $partidoId);
        exit;

    } catch (Exception $e) {
        $conn->rollback();
        setFlash('danger', $e->getMessage());
        header('Location: alineaciones.php?partido_id=' . $partidoId);
        exit;
    }
}

$flash = getFlash();
$partidos = obtenerPartidos($conn, 120);
$partido = null;
$jugadoresLocal = array();
$jugadoresVisitante = array();
$alineacionLocal = array();
$alineacionVisitante = array();
$totalAlineados = 0;

if ($partidoId > 0) {
    $partido = obtenerPartidoPorId($conn, $partidoId);

    if ($partido) {
        $jugadoresLocal = obtenerJugadoresEquipo($conn, (int)$partido['equipo_local_id']);
        $jugadoresVisitante = obtenerJugadoresEquipo($conn, (int)$partido['equipo_visitante_id']);
        $alineacionLocal = obtenerAlineacionEquipo($conn, $partidoId, (int)$partido['equipo_local_id']);
        $alineacionVisitante = obtenerAlineacionEquipo($conn, $partidoId, (int)$partido['equipo_visitante_id']);
        $totalAlineados = contarAlineacionesPartido($conn, $partidoId);
    }
}

function renderBloqueEquipo($titulo, $partidoId, $equipoId, $equipoNombre, $jugadores, $alineacion)
{
    ?>
    <div class="box">
        <h3 class="box-title"><?php echo h($titulo . ' - ' . $equipoNombre); ?></h3>

        <form method="post" action="alineaciones.php">
            <input type="hidden" name="accion" value="guardar_alineacion">
            <input type="hidden" name="partido_id" value="<?php echo (int)$partidoId; ?>">
            <input type="hidden" name="equipo_id" value="<?php echo (int)$equipoId; ?>">

            <div class="table-responsive">
                <table class="table table-bordered table-hover">
                    <thead>
                        <tr>
                            <th>Foto</th>
                            <th>Jugador</th>
                            <th>Número</th>
                            <th>Posición</th>
                            <th>Condición</th>
                            <th>Capitán</th>
                            <th>Orden</th>
                            <th>Observación</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php if (count($jugadores) > 0) { ?>
                            <?php foreach ($jugadores as $j) {
                                $jugadorId = (int)$j['id'];
                                $condicion = isset($alineacion[$jugadorId]['condicion']) ? $alineacion[$jugadorId]['condicion'] : '';
                                $orden = isset($alineacion[$jugadorId]['orden_lista']) ? (int)$alineacion[$jugadorId]['orden_lista'] : 0;
                                $capitan = isset($alineacion[$jugadorId]['capitan']) ? (int)$alineacion[$jugadorId]['capitan'] : 0;
                                $obs = isset($alineacion[$jugadorId]['observaciones']) ? $alineacion[$jugadorId]['observaciones'] : '';
                            ?>
                                <tr>
                                    <td style="width:90px;">
                                        <?php if ($j['foto'] != '') { ?>
                                            <img src="../<?php echo h($j['foto']); ?>" alt="" class="mini-img">
                                        <?php } else { ?>
                                            <div class="sin-foto">SIN FOTO</div>
                                        <?php } ?>
                                    </td>
                                    <td>
                                        <strong><?php echo h($j['nombre'] . ' ' . $j['apellido']); ?></strong><br>
                                        <small><?php echo $j['apodo'] != '' ? 'Apodo: ' . h($j['apodo']) : '-'; ?></small>
                                    </td>
                                    <td><?php echo h($j['numero_camiseta']); ?></td>
                                    <td><?php echo h($j['posicion']); ?></td>
                                    <td style="min-width:170px;">
                                        <select name="condicion[<?php echo $jugadorId; ?>]" class="form-control form-control-sm">
                                            <option value="">No convocado</option>
                                            <option value="titular" <?php echo $condicion === 'titular' ? 'selected' : ''; ?>>Titular</option>
                                            <option value="suplente" <?php echo $condicion === 'suplente' ? 'selected' : ''; ?>>Suplente</option>
                                        </select>
                                    </td>
                                    <td style="text-align:center;">
                                        <input type="radio" name="capitan_id" value="<?php echo $jugadorId; ?>" <?php echo $capitan === 1 ? 'checked' : ''; ?>>
                                    </td>
                                    <td style="width:90px;">
                                        <input type="number" name="orden_lista[<?php echo $jugadorId; ?>]" class="form-control form-control-sm" value="<?php echo (int)$orden; ?>" min="0">
                                    </td>
                                    <td style="min-width:180px;">
                                        <input type="text" name="observaciones[<?php echo $jugadorId; ?>]" class="form-control form-control-sm" value="<?php echo h($obs); ?>">
                                    </td>
                                </tr>
                            <?php } ?>
                        <?php } else { ?>
                            <tr>
                                <td colspan="8">No hay jugadores activos cargados para este equipo.</td>
                            </tr>
                        <?php } ?>
                    </tbody>
                </table>
            </div>

            <div style="margin-top:15px;">
                <button type="submit" class="btn btn-primary">Guardar alineación de <?php echo h($equipoNombre); ?></button>
            </div>
        </form>
    </div>
    <?php
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <meta name="description" content="Panel de Alineaciones">
    <meta name="author" content="<?php echo isset($nombresitio) ? h($nombresitio) : 'Panel'; ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title><?php echo isset($nombresitio) ? h($nombresitio) . ' - Alineaciones' : 'Panel - Alineaciones'; ?></title>

    <link href="https://fonts.googleapis.com/css?family=Oswald:400,500,700|Roboto:300,400,500,700" rel="stylesheet">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

    <style type="text/css">
        *{
            border-radius:0 !important;
            box-sizing:border-box;
        }
        body{
            margin:0;
            padding:0;
            background:#f4f6f9;
            font-family:'Roboto', sans-serif;
            color:#222;
        }
        a{
            transition:all .2s ease;
        }
        .top-wrap{
            background:#ffffff;
            border-bottom:1px solid #e5e5e5;
        }
        .topbar{
            display:flex;
            flex-wrap:wrap;
            align-items:center;
            justify-content:space-between;
            padding:12px 0;
        }
        .topbar-left{
            font-family:'Oswald', sans-serif;
            font-size:24px;
            font-weight:700;
            color:#0066FF;
            text-transform:uppercase;
        }
        .topbar-right a{
            display:inline-block;
            margin-left:8px;
            text-decoration:none;
            background:#0066FF;
            color:#fff;
            padding:10px 14px;
            font-size:13px;
            font-weight:700;
            border:1px solid #0066FF;
            text-transform:uppercase;
        }
        .topbar-right a:hover{
            background:#004fc7;
            border-color:#004fc7;
            color:#fff;
            text-decoration:none;
        }
        .panel-wrapper{
            padding:30px 0;
        }
        .panel-header{
            background:#0066FF;
            color:#fff;
            padding:25px 20px;
            text-align:center;
            margin-bottom:25px;
        }
        .panel-header h1{
            margin:0;
            font-family:'Oswald', sans-serif;
            font-size:32px;
            font-weight:700;
            text-transform:uppercase;
        }
        .panel-header p{
            margin:10px 0 0 0;
            font-size:15px;
            opacity:.95;
        }
        .stat-card{
            background:#fff;
            border:1px solid #e3e6ea;
            padding:22px 18px;
            margin-bottom:20px;
            text-align:center;
            height:100%;
        }
        .stat-card .stat-number{
            display:block;
            font-family:'Oswald', sans-serif;
            font-size:42px;
            line-height:1;
            color:#0066FF;
            margin-bottom:8px;
        }
        .stat-card .stat-label{
            display:block;
            font-size:14px;
            color:#666;
            text-transform:uppercase;
            font-weight:700;
            letter-spacing:.4px;
        }
        .box{
            background:#fff;
            border:1px solid #e3e6ea;
            padding:25px;
            margin-bottom:20px;
        }
        .box-title{
            margin:0 0 18px 0;
            font-size:24px;
            font-weight:700;
            color:#0066FF;
            font-family:'Oswald', sans-serif;
            text-transform:uppercase;
        }
        .quick-link{
            display:block;
            width:100%;
            text-align:center;
            background:#0066FF;
            color:#fff;
            text-decoration:none;
            padding:14px 10px;
            font-weight:700;
            border:1px solid #0066FF;
            text-transform:uppercase;
        }
        .quick-link:hover{
            background:#004fc7;
            border-color:#004fc7;
            color:#fff;
            text-decoration:none;
        }
        .table{
            margin-bottom:0;
        }
        .table thead th{
            background:#f7f9fc;
            border-top:none;
            border-bottom:1px solid #e3e6ea;
            color:#444;
            font-size:13px;
            text-transform:uppercase;
            vertical-align:middle;
        }
        .table td{
            vertical-align:middle;
        }
        .mini-img{
            width:60px;
            height:80px;
            object-fit:cover;
            border:1px solid #ddd;
            background:#fafafa;
        }
        .sin-foto{
            width:60px;
            height:80px;
            display:flex;
            align-items:center;
            justify-content:center;
            border:1px solid #ddd;
            background:#f7f7f7;
            color:#999;
            font-size:10px;
            text-align:center;
            padding:5px;
        }
        .partido-resumen{
            background:#fff;
            border:1px solid #e3e6ea;
            padding:20px;
            margin-bottom:20px;
        }
        .partido-resumen strong{
            color:#0066FF;
        }
        .form-control, .btn{
            border-radius:0 !important;
        }
        .btn-primary{
            background:#0066FF;
            border-color:#0066FF;
        }
        .btn-primary:hover{
            background:#004fc7;
            border-color:#004fc7;
        }
        .btn-outline-primary{
            color:#0066FF;
            border-color:#0066FF;
        }
        .btn-outline-primary:hover{
            background:#0066FF;
            border-color:#0066FF;
        }

        @media (max-width: 767px){
            .topbar{
                display:block;
            }
            .topbar-left{
                margin-bottom:12px;
                font-size:20px;
            }
            .topbar-right a{
                display:block;
                margin:0 0 8px 0;
                text-align:center;
            }
            .panel-header h1{
                font-size:24px;
            }
            .box,
            .partido-resumen,
            .stat-card{
                padding:20px;
            }
            .stat-card .stat-number{
                font-size:34px;
            }
        }
    </style>
</head>
<body>

    <div class="top-wrap">
        <div class="container">
            <div class="topbar">
                <div class="topbar-left">
                    <?php echo isset($nombresitio) && $nombresitio !== '' ? h($nombresitio) : 'Panel'; ?>
                </div>
                <div class="topbar-right">
                    <a href="dashboard_futbol.php">Dashboard</a>
                    <a href="../partidos.php" target="_blank">Ver sitio</a>
                    <a href="../logout.php">Salir</a>
                </div>
            </div>
        </div>
    </div>

    <div class="container panel-wrapper">

        <div class="panel-header">
            <h1>Alineaciones</h1>
            <p>Carga de titulares, suplentes, capitán y orden por equipo para cada partido.</p>
        </div>

        <?php if ($flash) { ?>
            <div class="alert alert-<?php echo h($flash['tipo']); ?>">
                <?php echo h($flash['mensaje']); ?>
            </div>
        <?php } ?>

        <div class="row mt-2">
            <div class="col-md-4 mb-3">
                <a href="dashboard_futbol.php" class="quick-link">Volver al dashboard</a>
            </div>
            <div class="col-md-4 mb-3">
                <a href="partidos_admin.php" class="quick-link">Ir a partidos</a>
            </div>
            <div class="col-md-4 mb-3">
                <?php if ($partidoId > 0) { ?>
                    <a href="en_vivo.php?partido_id=<?php echo (int)$partidoId; ?>" class="quick-link">Ir al vivo</a>
                <?php } else { ?>
                    <a href="en_vivo.php" class="quick-link">Ir al vivo</a>
                <?php } ?>
            </div>
        </div>

        <div class="box">
            <h3 class="box-title">Seleccionar partido</h3>

            <form method="get" action="alineaciones.php">
                <div class="row">
                    <div class="col-md-10 mb-2">
                        <select name="partido_id" class="form-control" required>
                            <option value="">Seleccionar partido</option>
                            <?php foreach ($partidos as $p) {
                                $sel = ($partidoId === (int)$p['id']) ? 'selected' : '';
                            ?>
                                <option value="<?php echo (int)$p['id']; ?>" <?php echo $sel; ?>>
                                    <?php echo h(date('d/m/Y', strtotime($p['fecha_partido']))); ?>
                                    -
                                    <?php echo h(substr($p['hora_partido'], 0, 5)); ?> hs
                                    -
                                    <?php echo h($p['equipo_local_nombre']); ?>
                                    vs
                                    <?php echo h($p['equipo_visitante_nombre']); ?>
                                </option>
                            <?php } ?>
                        </select>
                    </div>
                    <div class="col-md-2 mb-2">
                        <button type="submit" class="btn btn-outline-primary btn-block">Cargar</button>
                    </div>
                </div>
            </form>
        </div>

        <?php if ($partido) { ?>
            <div class="row">
                <div class="col-md-4 col-6 mb-3">
                    <div class="stat-card">
                        <span class="stat-number"><?php echo count($jugadoresLocal); ?></span>
                        <span class="stat-label">Jugadores local</span>
                    </div>
                </div>
                <div class="col-md-4 col-6 mb-3">
                    <div class="stat-card">
                        <span class="stat-number"><?php echo count($jugadoresVisitante); ?></span>
                        <span class="stat-label">Jugadores visitante</span>
                    </div>
                </div>
                <div class="col-md-4 col-12 mb-3">
                    <div class="stat-card">
                        <span class="stat-number"><?php echo (int)$totalAlineados; ?></span>
                        <span class="stat-label">Filas de alineación</span>
                    </div>
                </div>
            </div>

            <div class="partido-resumen">
                <div class="row">
                    <div class="col-md-8 mb-2">
                        <strong>Partido:</strong>
                        <?php echo h($partido['equipo_local_nombre']); ?> vs <?php echo h($partido['equipo_visitante_nombre']); ?><br>
                        <strong>Fecha:</strong>
                        <?php echo h(date('d/m/Y', strtotime($partido['fecha_partido']))); ?> -
                        <?php echo h(substr($partido['hora_partido'], 0, 5)); ?> hs<br>
                        <strong>Estado:</strong> <?php echo h(str_replace('_', ' ', $partido['estado'])); ?>
                    </div>
                    <div class="col-md-4 mb-2">
                        <strong>Estadio:</strong> <?php echo h($partido['estadio_nombre']); ?><br>
                        <strong>Ubicación:</strong> <?php echo h($partido['estadio_localidad']); ?> / <?php echo h($partido['estadio_provincia']); ?>
                    </div>
                </div>
            </div>

            <?php
            renderBloqueEquipo(
                'Equipo local',
                (int)$partido['id'],
                (int)$partido['equipo_local_id'],
                $partido['equipo_local_nombre'],
                $jugadoresLocal,
                $alineacionLocal
            );

            renderBloqueEquipo(
                'Equipo visitante',
                (int)$partido['id'],
                (int)$partido['equipo_visitante_id'],
                $partido['equipo_visitante_nombre'],
                $jugadoresVisitante,
                $alineacionVisitante
            );
            ?>

        <?php } else { ?>
            <div class="box">
                <h3 class="box-title">Alineaciones</h3>
                <div style="color:#666;">
                    Seleccioná un partido para cargar titulares, suplentes y capitán.
                </div>
            </div>
        <?php } ?>

    </div>

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>