<?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 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 limpiar($txt)
{
    return trim((string)$txt);
}

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

function getFlash()
{
    if (isset($_SESSION['flash_arbitros'])) {
        $flash = $_SESSION['flash_arbitros'];
        unset($_SESSION['flash_arbitros']);
        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 obtenerArbitroPorId($conn, $id)
{
    $id = (int)$id;
    $sql = "SELECT * FROM fut_arbitros WHERE id = {$id} LIMIT 1";
    $res = $conn->query($sql);

    if ($res && $res->num_rows > 0) {
        return $res->fetch_assoc();
    }

    return null;
}

function crearImagenDesdeArchivo($rutaTmp, $mime)
{
    switch ($mime) {
        case 'image/jpeg':
        case 'image/jpg':
            return @imagecreatefromjpeg($rutaTmp);

        case 'image/png':
            return @imagecreatefrompng($rutaTmp);

        case 'image/gif':
            return @imagecreatefromgif($rutaTmp);

        default:
            return false;
    }
}

function subirFotoArbitroRecortada($inputName)
{
    $respuesta = array(
        'ok' => false,
        'ruta' => '',
        'error' => ''
    );

    if (!isset($_FILES[$inputName]) || !isset($_FILES[$inputName]['name']) || $_FILES[$inputName]['name'] == '') {
        $respuesta['ok'] = true;
        return $respuesta;
    }

    if (!isset($_FILES[$inputName]['error']) || $_FILES[$inputName]['error'] !== UPLOAD_ERR_OK) {
        $respuesta['error'] = 'No se pudo subir la foto.';
        return $respuesta;
    }

    if (!function_exists('imagecreatetruecolor')) {
        $respuesta['error'] = 'La librería GD no está habilitada en el servidor y es necesaria para recortar la foto a 300x400.';
        return $respuesta;
    }

    $info = @getimagesize($_FILES[$inputName]['tmp_name']);
    if (!$info || !isset($info['mime'])) {
        $respuesta['error'] = 'El archivo subido no es una imagen válida.';
        return $respuesta;
    }

    $mime = $info['mime'];
    $permitidos = array('image/jpeg', 'image/jpg', 'image/png', 'image/gif');

    if (!in_array($mime, $permitidos)) {
        $respuesta['error'] = 'Formato no permitido. Usá JPG, JPEG, PNG o GIF.';
        return $respuesta;
    }

    $origen = crearImagenDesdeArchivo($_FILES[$inputName]['tmp_name'], $mime);
    if (!$origen) {
        $respuesta['error'] = 'No se pudo procesar la imagen subida.';
        return $respuesta;
    }

    $origenAncho = imagesx($origen);
    $origenAlto  = imagesy($origen);

    if ($origenAncho <= 0 || $origenAlto <= 0) {
        imagedestroy($origen);
        $respuesta['error'] = 'La imagen subida tiene dimensiones inválidas.';
        return $respuesta;
    }

    $destinoAncho = 300;
    $destinoAlto  = 400;
    $destinoRatio = $destinoAncho / $destinoAlto;
    $origenRatio  = $origenAncho / $origenAlto;

    if ($origenRatio > $destinoRatio) {
        $cropAlto = $origenAlto;
        $cropAncho = (int)round($origenAlto * $destinoRatio);
        $srcX = (int)round(($origenAncho - $cropAncho) / 2);
        $srcY = 0;
    } else {
        $cropAncho = $origenAncho;
        $cropAlto = (int)round($origenAncho / $destinoRatio);
        $srcX = 0;
        $srcY = (int)round(($origenAlto - $cropAlto) / 2);
    }

    $destino = imagecreatetruecolor($destinoAncho, $destinoAlto);
    $fondo = imagecolorallocate($destino, 255, 255, 255);
    imagefill($destino, 0, 0, $fondo);

    if (!imagecopyresampled(
        $destino,
        $origen,
        0,
        0,
        $srcX,
        $srcY,
        $destinoAncho,
        $destinoAlto,
        $cropAncho,
        $cropAlto
    )) {
        imagedestroy($origen);
        imagedestroy($destino);
        $respuesta['error'] = 'No se pudo recortar la imagen.';
        return $respuesta;
    }

    $mesAnio = date('m-Y');
    $dirFisico = dirname(__FILE__) . '/../' . $mesAnio . '/';

    if (!is_dir($dirFisico)) {
        imagedestroy($origen);
        imagedestroy($destino);
        $respuesta['error'] = 'La carpeta ' . $mesAnio . ' no existe en la raíz del sitio.';
        return $respuesta;
    }

    if (!is_writable($dirFisico)) {
        imagedestroy($origen);
        imagedestroy($destino);
        $respuesta['error'] = 'La carpeta ' . $mesAnio . ' no tiene permisos de escritura.';
        return $respuesta;
    }

    $nombre = md5(time() . uniqid(mt_rand(), true)) . '.jpg';
    $rutaRelativa = $mesAnio . '/' . $nombre;
    $rutaFisica = $dirFisico . $nombre;

    if (!imagejpeg($destino, $rutaFisica, 90)) {
        imagedestroy($origen);
        imagedestroy($destino);
        $respuesta['error'] = 'No se pudo guardar la imagen recortada.';
        return $respuesta;
    }

    imagedestroy($origen);
    imagedestroy($destino);

    $respuesta['ok'] = true;
    $respuesta['ruta'] = $rutaRelativa;

    return $respuesta;
}

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

$accion = isset($_REQUEST['accion']) ? limpiar($_REQUEST['accion']) : '';
$idEditar = isset($_GET['id']) ? (int)$_GET['id'] : 0;

if ($_SERVER['REQUEST_METHOD'] === 'POST' && $accion === 'guardar') {
    $id          = isset($_POST['id']) ? (int)$_POST['id'] : 0;
    $nombre      = limpiar($_POST['nombre']);
    $apellido    = limpiar($_POST['apellido']);
    $apodo       = limpiar($_POST['apodo']);
    $rolDefault  = limpiar($_POST['rol_default']);
    $provincia   = limpiar($_POST['provincia']);
    $fotoActual  = limpiar($_POST['foto_actual']);

    if ($nombre === '') {
        setFlash('danger', 'Completá al menos el nombre del árbitro.');
        header('Location: arbitros.php' . ($id > 0 ? '?id=' . $id : ''));
        exit;
    }

    $subida = subirFotoArbitroRecortada('foto');
    if (!$subida['ok']) {
        setFlash('danger', $subida['error']);
        header('Location: arbitros.php' . ($id > 0 ? '?id=' . $id : ''));
        exit;
    }

    $fotoGuardar = $fotoActual;
    if ($subida['ruta'] !== '') {
        $fotoGuardar = $subida['ruta'];
    }

    if ($id > 0) {
        $sql = "UPDATE fut_arbitros
                SET nombre = ?, apellido = ?, apodo = ?, rol_default = ?, foto = ?, provincia = ?, actualizado_en = NOW()
                WHERE id = ?";

        $stmt = $conn->prepare($sql);
        if (!$stmt) {
            setFlash('danger', 'Error al preparar la actualización: ' . $conn->error);
            header('Location: arbitros.php?id=' . $id);
            exit;
        }

        $stmt->bind_param(
            'ssssssi',
            $nombre,
            $apellido,
            $apodo,
            $rolDefault,
            $fotoGuardar,
            $provincia,
            $id
        );

        if ($stmt->execute()) {
            $payload = json_encode(array(
                'id' => $id,
                'nombre' => $nombre,
                'apellido' => $apellido,
                'apodo' => $apodo,
                'rol_default' => $rolDefault,
                'foto' => $fotoGuardar,
                'provincia' => $provincia
            ));
            guardarSyncPendiente($conn, 'fut_arbitros', $id, 'update', $payload);
            setFlash('success', 'Árbitro actualizado correctamente.');
        } else {
            setFlash('danger', 'No se pudo actualizar el árbitro: ' . $stmt->error);
        }

        $stmt->close();
        header('Location: arbitros.php?id=' . $id);
        exit;
    } else {
        $sql = "INSERT INTO fut_arbitros
                (nombre, apellido, apodo, rol_default, foto, provincia, activo, creado_en, actualizado_en)
                VALUES (?, ?, ?, ?, ?, ?, 1, NOW(), NOW())";

        $stmt = $conn->prepare($sql);
        if (!$stmt) {
            setFlash('danger', 'Error al preparar el alta: ' . $conn->error);
            header('Location: arbitros.php');
            exit;
        }

        $stmt->bind_param(
            'ssssss',
            $nombre,
            $apellido,
            $apodo,
            $rolDefault,
            $fotoGuardar,
            $provincia
        );

        if ($stmt->execute()) {
            $nuevoId = (int)$stmt->insert_id;
            $payload = json_encode(array(
                'id' => $nuevoId,
                'nombre' => $nombre,
                'apellido' => $apellido,
                'apodo' => $apodo,
                'rol_default' => $rolDefault,
                'foto' => $fotoGuardar,
                'provincia' => $provincia
            ));
            guardarSyncPendiente($conn, 'fut_arbitros', $nuevoId, 'insert', $payload);
            setFlash('success', 'Árbitro creado correctamente.');
            header('Location: arbitros.php?id=' . $nuevoId);
            $stmt->close();
            exit;
        } else {
            setFlash('danger', 'No se pudo crear el árbitro: ' . $stmt->error);
        }

        $stmt->close();
        header('Location: arbitros.php');
        exit;
    }
}

if ($accion === 'desactivar' && isset($_GET['id'])) {
    $id = (int)$_GET['id'];

    if ($id > 0) {
        $sql = "UPDATE fut_arbitros SET activo = 0, actualizado_en = NOW() WHERE id = {$id} LIMIT 1";
        if ($conn->query($sql)) {
            guardarSyncPendiente($conn, 'fut_arbitros', $id, 'update', json_encode(array('id' => $id, 'activo' => 0)));
            setFlash('success', 'Árbitro desactivado correctamente.');
        } else {
            setFlash('danger', 'No se pudo desactivar el árbitro.');
        }
    }

    header('Location: arbitros.php');
    exit;
}

if ($accion === 'activar' && isset($_GET['id'])) {
    $id = (int)$_GET['id'];

    if ($id > 0) {
        $sql = "UPDATE fut_arbitros SET activo = 1, actualizado_en = NOW() WHERE id = {$id} LIMIT 1";
        if ($conn->query($sql)) {
            guardarSyncPendiente($conn, 'fut_arbitros', $id, 'update', json_encode(array('id' => $id, 'activo' => 1)));
            setFlash('success', 'Árbitro activado correctamente.');
        } else {
            setFlash('danger', 'No se pudo activar el árbitro.');
        }
    }

    header('Location: arbitros.php');
    exit;
}

$registroEditar = null;
if ($idEditar > 0) {
    $registroEditar = obtenerArbitroPorId($conn, $idEditar);
}

$flash = getFlash();
$busqueda = isset($_GET['q']) ? limpiar($_GET['q']) : '';

$where = "1=1";
if ($busqueda !== '') {
    $b = $conn->real_escape_string($busqueda);
    $where .= " AND (
        nombre LIKE '%{$b}%'
        OR apellido LIKE '%{$b}%'
        OR apodo LIKE '%{$b}%'
        OR rol_default LIKE '%{$b}%'
        OR provincia LIKE '%{$b}%'
    )";
}

$sqlListado = "SELECT a.*,
               (SELECT COUNT(*) FROM fut_partidos_arbitros pa WHERE pa.arbitro_id = a.id) AS total_partidos
               FROM fut_arbitros a
               WHERE {$where}
               ORDER BY a.apellido ASC, a.nombre ASC, a.id DESC";

$listado = $conn->query($sqlListado);

$totalArbitros = 0;
$totalActivos = 0;
$totalInactivos = 0;

$resTot = $conn->query("SELECT 
    COUNT(*) AS total,
    SUM(CASE WHEN activo = 1 THEN 1 ELSE 0 END) AS activos,
    SUM(CASE WHEN activo = 0 THEN 1 ELSE 0 END) AS inactivos
    FROM fut_arbitros");

if ($resTot && ($rowTot = $resTot->fetch_assoc())) {
    $totalArbitros  = (int)$rowTot['total'];
    $totalActivos   = (int)$rowTot['activos'];
    $totalInactivos = (int)$rowTot['inactivos'];
}

$roles = array(
    '' => 'Seleccionar',
    'Arbitro principal' => 'Arbitro principal',
    'Asistente 1' => 'Asistente 1',
    'Asistente 2' => 'Asistente 2',
    'Cuarto arbitro' => 'Cuarto arbitro',
    'VAR' => 'VAR',
    'AVAR' => 'AVAR',
    'Otro' => 'Otro'
);
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <meta name="description" content="Panel de Árbitros">
    <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) . ' - Árbitros' : 'Panel - Árbitros'; ?></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-wrap{
            background:#fff;
            border:1px solid #e3e6ea;
            overflow:hidden;
        }
        .table-title{
            background:#fff;
            border-bottom:1px solid #e3e6ea;
            padding:18px 20px;
            font-family:'Oswald', sans-serif;
            font-size:24px;
            color:#0066FF;
            text-transform:uppercase;
            font-weight:700;
        }
        .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:75px;
            height:100px;
            object-fit:cover;
            border:1px solid #ddd;
            background:#fafafa;
        }
        .sin-foto{
            width:75px;
            height:100px;
            display:flex;
            align-items:center;
            justify-content:center;
            border:1px solid #ddd;
            background:#f7f7f7;
            color:#999;
            font-size:11px;
            text-align:center;
            padding:5px;
        }
        .estado{
            display:inline-block;
            padding:6px 10px;
            font-size:11px;
            font-weight:700;
            text-transform:uppercase;
            color:#fff;
        }
        .estado-activo{
            background:#28a745;
        }
        .estado-inactivo{
            background:#dc3545;
        }
        .help-text{
            font-size:12px;
            color:#777;
            margin-top:6px;
        }
        .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;
        }
        .foto-actual{
            width:150px;
            height:200px;
            object-fit:cover;
            border:1px solid #ddd;
            display:block;
            margin-top:8px;
            background:#fafafa;
        }
        @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,
            .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>Árbitros</h1>
            <p>Alta, edición y administración de árbitros del módulo de fútbol.</p>
        </div>

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

        <div class="row">
            <div class="col-md-4 col-6 mb-3">
                <div class="stat-card">
                    <span class="stat-number"><?php echo (int)$totalArbitros; ?></span>
                    <span class="stat-label">Total árbitros</span>
                </div>
            </div>
            <div class="col-md-4 col-6 mb-3">
                <div class="stat-card">
                    <span class="stat-number"><?php echo (int)$totalActivos; ?></span>
                    <span class="stat-label">Activos</span>
                </div>
            </div>
            <div class="col-md-4 col-12 mb-3">
                <div class="stat-card">
                    <span class="stat-number"><?php echo (int)$totalInactivos; ?></span>
                    <span class="stat-label">Inactivos</span>
                </div>
            </div>
        </div>

        <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="arbitros.php" class="quick-link">Nuevo árbitro</a>
            </div>
            <div class="col-md-4 mb-3">
                <a href="partidos_admin.php" class="quick-link">Ir a partidos</a>
            </div>
        </div>

        <div class="box">
            <h3 class="box-title"><?php echo $registroEditar ? 'Editar árbitro' : 'Crear árbitro'; ?></h3>

            <form method="post" action="arbitros.php" enctype="multipart/form-data">
                <input type="hidden" name="accion" value="guardar">
                <input type="hidden" name="id" value="<?php echo $registroEditar ? (int)$registroEditar['id'] : 0; ?>">
                <input type="hidden" name="foto_actual" value="<?php echo $registroEditar ? h($registroEditar['foto']) : ''; ?>">

                <div class="row">
                    <div class="col-md-4 mb-3">
                        <label><strong>Nombre *</strong></label>
                        <input type="text" name="nombre" class="form-control" required value="<?php echo $registroEditar ? h($registroEditar['nombre']) : ''; ?>">
                    </div>

                    <div class="col-md-4 mb-3">
                        <label><strong>Apellido</strong></label>
                        <input type="text" name="apellido" class="form-control" value="<?php echo $registroEditar ? h($registroEditar['apellido']) : ''; ?>">
                    </div>

                    <div class="col-md-4 mb-3">
                        <label><strong>Apodo</strong></label>
                        <input type="text" name="apodo" class="form-control" value="<?php echo $registroEditar ? h($registroEditar['apodo']) : ''; ?>">
                    </div>

                    <div class="col-md-6 mb-3">
                        <label><strong>Rol por defecto</strong></label>
                        <select name="rol_default" class="form-control">
                            <?php foreach ($roles as $k => $v) { 
                                $sel = ($registroEditar && $registroEditar['rol_default'] === $k) ? 'selected' : '';
                            ?>
                                <option value="<?php echo h($k); ?>" <?php echo $sel; ?>><?php echo h($v); ?></option>
                            <?php } ?>
                        </select>
                    </div>

                    <div class="col-md-6 mb-3">
                        <label><strong>Provincia</strong></label>
                        <input type="text" name="provincia" class="form-control" value="<?php echo $registroEditar ? h($registroEditar['provincia']) : ''; ?>">
                    </div>

                    <div class="col-md-12 mb-3">
                        <label><strong>Foto</strong></label>
                        <input type="file" name="foto" class="form-control-file" accept=".jpg,.jpeg,.png,.gif">
                        <div class="help-text">La foto se recorta automáticamente a 300x400 y se guarda en la carpeta mensual ya creada.</div>

                        <?php if ($registroEditar && $registroEditar['foto'] != '') { ?>
                            <img src="../<?php echo h($registroEditar['foto']); ?>" alt="" class="foto-actual">
                            <div class="help-text"><?php echo h($registroEditar['foto']); ?></div>
                        <?php } ?>
                    </div>

                    <div class="col-md-12">
                        <button type="submit" class="btn btn-primary">
                            <?php echo $registroEditar ? 'Guardar cambios' : 'Crear árbitro'; ?>
                        </button>

                        <?php if ($registroEditar) { ?>
                            <a href="arbitros.php" class="btn btn-outline-secondary">Cancelar edición</a>
                        <?php } ?>
                    </div>
                </div>
            </form>
        </div>

        <div class="box">
            <h3 class="box-title">Buscar árbitros</h3>
            <form method="get" action="arbitros.php">
                <div class="row">
                    <div class="col-md-10 mb-2">
                        <input type="text" name="q" class="form-control" value="<?php echo h($busqueda); ?>" placeholder="Buscar por nombre, apellido, apodo, rol o provincia">
                    </div>
                    <div class="col-md-2 mb-2">
                        <button type="submit" class="btn btn-outline-primary btn-block">Buscar</button>
                    </div>
                </div>
            </form>
        </div>

        <div class="table-wrap">
            <div class="table-title">Listado de árbitros</div>

            <?php if ($listado && $listado->num_rows > 0) { ?>
                <div class="table-responsive">
                    <table class="table table-bordered table-hover">
                        <thead>
                            <tr>
                                <th>ID</th>
                                <th>Foto</th>
                                <th>Árbitro</th>
                                <th>Rol</th>
                                <th>Provincia</th>
                                <th>Partidos</th>
                                <th>Estado</th>
                                <th style="min-width:220px;">Acciones</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php while ($row = $listado->fetch_assoc()) { ?>
                                <tr>
                                    <td><?php echo (int)$row['id']; ?></td>
                                    <td>
                                        <?php if ($row['foto'] != '') { ?>
                                            <img src="../<?php echo h($row['foto']); ?>" alt="" class="mini-img">
                                        <?php } else { ?>
                                            <div class="sin-foto">SIN FOTO</div>
                                        <?php } ?>
                                    </td>
                                    <td>
                                        <strong><?php echo h($row['nombre']); ?> <?php echo h($row['apellido']); ?></strong><br>
                                        <small><?php echo $row['apodo'] != '' ? 'Apodo: ' . h($row['apodo']) : '-'; ?></small>
                                    </td>
                                    <td><?php echo h($row['rol_default']); ?></td>
                                    <td><?php echo h($row['provincia']); ?></td>
                                    <td><?php echo (int)$row['total_partidos']; ?></td>
                                    <td>
                                        <?php if ((int)$row['activo'] === 1) { ?>
                                            <span class="estado estado-activo">Activo</span>
                                        <?php } else { ?>
                                            <span class="estado estado-inactivo">Inactivo</span>
                                        <?php } ?>
                                    </td>
                                    <td>
                                        <a href="arbitros.php?id=<?php echo (int)$row['id']; ?>" class="btn btn-sm btn-primary">Editar</a>

                                        <?php if ((int)$row['activo'] === 1) { ?>
                                            <a href="arbitros.php?accion=desactivar&id=<?php echo (int)$row['id']; ?>" class="btn btn-sm btn-warning" onclick="return confirm('¿Querés desactivar este árbitro?');">Desactivar</a>
                                        <?php } else { ?>
                                            <a href="arbitros.php?accion=activar&id=<?php echo (int)$row['id']; ?>" class="btn btn-sm btn-success" onclick="return confirm('¿Querés activar este árbitro?');">Activar</a>
                                        <?php } ?>
                                    </td>
                                </tr>
                            <?php } ?>
                        </tbody>
                    </table>
                </div>
            <?php } else { ?>
                <div style="padding:25px; background:#fff; color:#666;">
                    No se encontraron árbitros cargados.
                </div>
            <?php } ?>
        </div>

    </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>