<?php
include 'conexion3.php';

if (!isset($_GET['proveedor_id'])) {
    die('Proveedor no especificado.');
}

$proveedor_id = intval($_GET['proveedor_id']);
$proveedor = $conn->query("SELECT sup_name FROM suppliers WHERE sup_id = $proveedor_id")->fetch_assoc();

/* ===================== RESUMEN POR MONEDA ===================== */
$totales_por_moneda = [
    'ARS' => ['monto' => 0.0, 'pagado' => 0.0, 'saldo' => 0.0],
    'USD' => ['monto' => 0.0, 'pagado' => 0.0, 'saldo' => 0.0],
];

$resTot = $conn->query("
    SELECT COALESCE(fp.moneda,'ARS') AS moneda,
           SUM(f.monto)  AS total_monto,
           SUM(f.pagado) AS total_pagado
    FROM facturas f
    LEFT JOIN factura_price fp ON fp.factura_id = f.id
    WHERE f.proveedor_id = $proveedor_id
    GROUP BY COALESCE(fp.moneda,'ARS')
");
if ($resTot) {
    while ($r = $resTot->fetch_assoc()) {
        $mon = $r['moneda'];
        if (!isset($totales_por_moneda[$mon])) {
            $totales_por_moneda[$mon] = ['monto' => 0.0, 'pagado' => 0.0, 'saldo' => 0.0];
        }
        $totales_por_moneda[$mon]['monto']  = (float)$r['total_monto'];
        $totales_por_moneda[$mon]['pagado'] = (float)$r['total_pagado'];
        $totales_por_moneda[$mon]['saldo']  = (float)$r['total_monto'] - (float)$r['total_pagado'];
    }
}

/* Totales globales (mix de monedas, solo visual) */
$total_facturado = array_sum(array_column($totales_por_moneda, 'monto'));
$total_pagado    = array_sum(array_column($totales_por_moneda, 'pagado'));
$saldo_total     = $total_facturado - $total_pagado;

/* ===================== LISTADOS POR MONEDA ===================== */
$facturas_ars = $conn->query("
    SELECT f.*, fp.moneda, fp.descuentos, fp.impuestos
    FROM facturas f
    LEFT JOIN factura_price fp ON fp.factura_id = f.id
    WHERE f.proveedor_id = $proveedor_id
      AND (fp.moneda = 'ARS' OR fp.moneda IS NULL)
    ORDER BY f.fecha_emision DESC
");
$facturas_usd = $conn->query("
    SELECT f.*, fp.moneda, fp.descuentos, fp.impuestos
    FROM facturas f
    LEFT JOIN factura_price fp ON fp.factura_id = f.id
    WHERE f.proveedor_id = $proveedor_id
      AND fp.moneda = 'USD'
    ORDER BY f.fecha_emision DESC
");

/* Para selects de imputación: facturas con saldo > 0 */
$facturas_para_imputar = $conn->query("
    SELECT f.id, f.tipo_doc, f.numero_factura, (f.monto - f.pagado) AS saldo, COALESCE(fp.moneda,'ARS') AS moneda
    FROM facturas f
    LEFT JOIN factura_price fp ON fp.factura_id = f.id
    WHERE f.proveedor_id = $proveedor_id
      AND (f.monto - f.pagado) > 0
    ORDER BY f.fecha_emision DESC
");

/* Pagos por factura (para el detalle) */
$pagos_relacionados = [];
$pagos_query = $conn->query("
  SELECT pf.*, f.numero_factura 
  FROM pagos_facturas pf
  LEFT JOIN facturas f ON pf.factura_id = f.id
  WHERE pf.proveedor_id = $proveedor_id
");
while ($p = $pagos_query->fetch_assoc()) {
    $fid = (int)$p['factura_id'];
    $pagos_relacionados[$fid][] = $p;
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Estado de Cuenta - <?php echo htmlspecialchars($proveedor['sup_name']); ?></title>
  <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
  <style>
    body { background: #eef3f7 linear-gradient(180deg, #f6f9fc 0%, #eef3f7 100%); }
    .container { max-width: 1200px; }
    .card-neo {
      background: #f7fbff; border-radius: 14px; padding: 16px 18px; margin-bottom: 18px;
      box-shadow: 8px 8px 16px rgba(0,0,0,0.08), -6px -6px 14px rgba(255,255,255,0.9);
      border: 1px solid #e6eef5;
    }
    .header-plate {
      border: 1px solid #dfe9f2; border-radius: 12px; padding: 10px 14px; margin-bottom: 12px;
      box-shadow: inset 2px 2px 4px rgba(0,0,0,0.05), inset -2px -2px 4px rgba(255,255,255,0.8);
      display: flex; align-items: center; justify-content: space-between; gap: 8px;
    }
    .header-plate h4, .header-plate h3 { margin: 0; font-weight: 600; text-shadow: 0 1px 0 rgba(255,255,255,.6); }
    .bevel {
      border: 1px solid #dfe8f1; border-radius: 12px; background: #ffffff; padding: 12px;
      box-shadow: 0 1px 0 #ffffff inset, 0 -1px 0 #e8f0f7 inset, 0 6px 12px rgba(0,0,0,.06);
    }
    .inset {
      background: #fffdf5; border-radius: 10px; border: 1px solid #f2e2aa; padding: 12px;
      box-shadow: inset 2px 2px 6px rgba(0,0,0,.05), inset -1px -1px 3px rgba(255,255,255,.6);
    }
    .table-wrap {
      background: #ffffff; border: 1px solid #e3edf6; border-radius: 12px;
      box-shadow: 6px 6px 12px rgba(0,0,0,.06), -4px -4px 10px rgba(255,255,255,.9); overflow: hidden;
    }
    .table { margin-bottom: 0; }
    .factura-row { cursor: pointer; transition: transform .05s ease, box-shadow .15s ease; box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
    .factura-row:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,.04) inset; }
    .detalle-row { background-color: #fffdf5; }
    .detalle-row .well { background-color: #fff9e6; border: 1px solid #f2e2aa; border-radius: 10px; }

    /* Tema por moneda */
    .section-ars .header-plate { background: linear-gradient(180deg, #e9f5ff 0%, #d8ecff 100%); border-color: #cfe6fb; }
    .section-ars .header-plate h4, .section-ars .header-plate h3 { color: #274761; }
    .section-ars .table thead tr.info { background: linear-gradient(180deg, #e9f5ff, #d8ecff); color: #274761; border-bottom: 1px solid #cfe6fb; }
    .section-ars .factura-row { background-color: #eef8ff; }
    .section-ars .factura-row:hover { background-color: #e0f0ff; }

    .section-usd .header-plate { background: linear-gradient(180deg, #e8fbf1 0%, #d6f5e4 100%); border-color: #c8ecd9; }
    .section-usd .header-plate h4, .section-usd .header-plate h3 { color: #1f5a3f; }
    .section-usd .table thead tr.info { background: linear-gradient(180deg, #e8fbf1, #d6f5e4); color: #1f5a3f; border-bottom: 1px solid #c8ecd9; }
    .section-usd .factura-row { background-color: #ebfff3; }
    .section-usd .factura-row:hover { background-color: #def7ea; }

    .btn { border-radius: 10px; border: 1px solid #dbe7f2; box-shadow: 0 2px 0 #e8f1f9, 0 6px 12px rgba(0,0,0,.05); }
    .btn:hover { transform: translateY(-1px); box-shadow: 0 3px 0 #e8f1f9, 0 10px 16px rgba(0,0,0,.06); }

    .resumen-box {
      background: linear-gradient(180deg, #ffffff, #f2f7fb);
      padding: 12px 16px; border-radius: 12px; border: 1px solid #e3edf6;
      box-shadow: 6px 6px 20px rgba(0,0,0,.06), -6px -6px 12px rgba(255,255,255,.9), inset 0 1px 0 rgba(255,255,255,.8);
      color: #2f4252;
    }

    .btn-pay { background: #2c7be5; color: #fff; border-color: #2c7be5; }
    .btn-pay:hover { background: #1f66c1; border-color: #1f66c1; color: #fff; }
  </style>
</head>
<body>
<div class="container">

  <!-- Cabecera + resumen global + botón pago -->
  <div class="card-neo section-ars">
    <div class="header-plate">
      <h3 class="m-0">Estado de Cuenta del Proveedor</h3>
      <div class="actions">
        <a href="prove.php" class="btn btn-default">← Volver</a>
        <button type="button" id="btnAbrirPago" class="btn btn-pay" data-toggle="modal" data-target="#modalPagoProveedor">
          ➕ Cargar pago
        </button>
      </div>
    </div>

    <div class="resumen-box">
      <p class="m-0"><strong>Proveedor:</strong> <?php echo htmlspecialchars($proveedor['sup_name']); ?></p>
      <hr style="margin:10px 0;border-color:#e6eef5">
      
    </div>

    <?php if ($saldo_total < 0): ?>
      <div class="alert alert-danger bevel" style="margin-bottom:0">
        <strong>Atención:</strong> Saldo negativo de $<?php echo number_format(abs($saldo_total), 2); ?>.
      </div>
    <?php else: ?>
      <div class="alert alert-info bevel" style="margin-bottom:0">
        No se registran pagos en exceso.
      </div>
    <?php endif; ?>
  </div>

  <!-- Resumen por moneda -->
  <div class="row">
    <div class="col-sm-6">
      <div class="card-neo section-ars">
        <div class="header-plate"><h4>Resumen en Pesos (ARS)</h4></div>
        <div class="bevel">
          <p><strong>Facturado:</strong> $<?php echo number_format($totales_por_moneda['ARS']['monto'] ?? 0, 2); ?></p>
          <p><strong>Pagado:</strong>    $<?php echo number_format($totales_por_moneda['ARS']['pagado'] ?? 0, 2); ?></p>
          <p><strong>Saldo:</strong>     $<?php echo number_format($totales_por_moneda['ARS']['saldo'] ?? 0, 2); ?></p>
        </div>
      </div>
    </div>

    <div class="col-sm-6">
      <div class="card-neo section-usd">
        <div class="header-plate"><h4>Resumen en Dólares (USD)</h4></div>
        <div class="bevel">
          <p><strong>Facturado:</strong> U$D <?php echo number_format($totales_por_moneda['USD']['monto'] ?? 0, 2); ?></p>
          <p><strong>Pagado:</strong>    U$D <?php echo number_format($totales_por_moneda['USD']['pagado'] ?? 0, 2); ?></p>
          <p><strong>Saldo:</strong>     U$D <?php echo number_format($totales_por_moneda['USD']['saldo'] ?? 0, 2); ?></p>
        </div>
      </div>
    </div>
  </div>

  <!-- FACTURAS ARS -->
  <div class="card-neo section-ars">
    <div class="header-plate"><h4>Facturas en Pesos (ARS)</h4></div>
    <div class="table-wrap">
      <div class="table-responsive">
        <table class="table table-bordered table-hover">
          <thead>
            <tr class="info">
              <th>Tipo DOC</th>
              <th>N° Comp</th>
              <th>F. Venc.</th>
              <th>F. Emisión</th>
              <th>Monto</th>
              <th>Pagado</th>
              <th>Descuentos</th>
              <th>Impuestos</th>
              <th>Saldo</th>
            </tr>
          </thead>
          <tbody>
          <?php if ($facturas_ars && $facturas_ars->num_rows > 0): ?>
            <?php while ($f = $facturas_ars->fetch_assoc()): ?>
              <?php
                $saldo = (float)$f['monto'] - (float)$f['pagado'];
                $fid   = (int)$f['id'];
                $tipo = strtolower($f['tipo_doc']);
                switch ($tipo) {
                  case 'nc':  $clase = 'bg-success text-white'; $nombre_doc = 'NOTA DE CRÉDITO'; break;
                  case 'nd':  $clase = 'bg-warning';            $nombre_doc = 'NOTA DE DÉBITO';  break;
                  default:    $clase = 'bg-info text-white';    $nombre_doc = 'FACTURA';         break;
                }
                $des = isset($f['descuentos']) ? (float)$f['descuentos'] : 0;
                $imp = isset($f['impuestos'])  ? (float)$f['impuestos']  : 0;
              ?>
              <tr class="factura-row <?php echo $clase; ?>" data-toggle="collapse" data-target="#detalle-<?php echo $fid; ?>">
                <td><?php echo $nombre_doc; ?></td>
                <td><span class="toggle-icon" id="icon-<?php echo $fid; ?>">➕</span> <?php echo htmlspecialchars($f['numero_factura']); ?></td>
                <td><?php echo htmlspecialchars($f['fecha_vencimiento']); ?></td>
                <td><?php echo htmlspecialchars($f['fecha_emision']); ?></td>
                <td>$<?php echo number_format((float)$f['monto'], 2); ?></td>
                <td>$<?php echo number_format((float)$f['pagado'], 2); ?></td>
                <td>$<?php echo number_format($des, 2); ?></td>
                <td>$<?php echo number_format($imp, 2); ?></td>
                <td>$<?php echo number_format($saldo, 2); ?></td>
              </tr>

              <tr class="collapse detalle-row" id="detalle-<?php echo $fid; ?>">
                <td colspan="9">
                  <div class="inset">
                    <a href="#items-<?php echo $fid; ?>" data-toggle="collapse" class="btn btn-info btn-xs">📦 Ver ítems de factura</a>
                    <div id="items-<?php echo $fid; ?>" class="collapse" style="margin-top: 10px;">
                      <?php
                        $items = $conn->query("
                          SELECT producto_name, cantidad, cantidad_entregada, cantidad_devuelta, precio_unitario, impuesto, descuento, subtotal
                          FROM factura_items
                          WHERE factura_id = $fid
                        ");
                      ?>
                      <?php if ($items && $items->num_rows > 0): ?>
                        <div class="table-wrap">
                          <table class="table table-striped table-bordered">
                            <thead>
                              <tr class="active">
                                <th>Producto</th>
                                <th>Cantidad</th>
                                <th>Pendiente Entrega</th>
                                <th>Devolución</th>
                                <th>Precio Unitario</th>
                                <th>Impuesto (%)</th>
                                <th>Descuento</th>
                                <th>Subtotal</th>
                              </tr>
                            </thead>
                            <tbody>
                              <?php while ($it = $items->fetch_assoc()): ?>
                                <?php
                                  $cantidad  = (float)$it['cantidad'];
                                  $entregada = (float)$it['cantidad_entregada'];
                                  $devuelta  = (float)$it['cantidad_devuelta'];
                                  $pendiente = max(0, ($cantidad - $entregada) - $devuelta);
                                ?>
                                <tr>
                                  <td><?php echo htmlspecialchars($it['producto_name']); ?></td>
                                  <td><?php echo number_format($cantidad, 2); ?></td>
                                  <td><?php echo number_format($pendiente, 2); ?></td>
                                  <td><?php echo number_format($devuelta, 2); ?></td>
                                  <td>$<?php echo number_format((float)$it['precio_unitario'], 2); ?></td>
                                  <td><?php echo number_format((float)$it['impuesto'], 2); ?>%</td>
                                  <td>$<?php echo number_format((float)$it['descuento'], 2); ?></td>
                                  <td>$<?php echo number_format((float)$it['subtotal'], 2); ?></td>
                                </tr>
                              <?php endwhile; ?>
                            </tbody>
                          </table>
                        </div>
                      <?php else: ?>
                        <p class="text-muted">No hay ítems registrados para esta factura.</p>
                      <?php endif; ?>
                    </div>

                    <div class="well well-sm" style="margin-top:15px">
                      <strong>Pagos relacionados:</strong>
                      <?php if (!empty($pagos_relacionados[$fid])): ?>
                        <div class="table-wrap" style="margin-top:8px">
                          <table class="table table-condensed">
                            <thead><tr><th>Fecha</th><th>Caja</th><th>Importe</th><th>Nota</th></tr></thead>
                            <tbody>
                              <?php foreach ($pagos_relacionados[$fid] as $p): ?>
                                <tr>
                                  <td><?php echo htmlspecialchars($p['fecha']); ?></td>
                                  <td><?php echo htmlspecialchars($p['caja']); ?></td>
                                  <td>$<?php echo number_format((float)$p['importe'], 2); ?></td>
                                  <td><?php echo htmlspecialchars($p['nota']); ?></td>
                                </tr>
                              <?php endforeach; ?>
                            </tbody>
                          </table>
                        </div>
                      <?php else: ?>
                        <em>No hay pagos registrados para esta factura.</em>
                      <?php endif; ?>
                    </div>
                  </div>
                </td>
              </tr>
            <?php endwhile; ?>
          <?php else: ?>
            <tr><td colspan="9" class="text-center text-muted">Sin documentos en ARS.</td></tr>
          <?php endif; ?>
          </tbody>
        </table>
      </div>
    </div>
  </div>

  <!-- FACTURAS USD -->
  <div class="card-neo section-usd">
    <div class="header-plate"><h4>Facturas en Dólares (USD)</h4></div>
    <div class="table-wrap">
      <div class="table-responsive">
        <table class="table table-bordered table-hover">
          <thead>
            <tr class="info">
              <th>Tipo DOC</th>
              <th>N° Comp</th>
              <th>F. Venc.</th>
              <th>F. Emisión</th>
              <th>Importe</th>
              <th>Pagado</th>
              <th>Descuentos</th>
              <th>Impuestos</th>
              <th>Saldo</th>
            </tr>
          </thead>
          <tbody>
          <?php if ($facturas_usd && $facturas_usd->num_rows > 0): ?>
            <?php while ($f = $facturas_usd->fetch_assoc()): ?>
              <?php
                $saldo = (float)$f['monto'] - (float)$f['pagado'];
                $fid   = (int)$f['id'];
                $tipo = strtolower($f['tipo_doc']);
                switch ($tipo) {
                  case 'nc':  $clase = 'bg-success text-white'; $nombre_doc = 'NOTA DE CRÉDITO'; break;
                  case 'nd':  $clase = 'bg-warning';            $nombre_doc = 'NOTA DE DÉBITO';  break;
                  default:    $clase = 'bg-info text-white';    $nombre_doc = 'FACTURA';         break;
                }
                $des = isset($f['descuentos']) ? (float)$f['descuentos'] : 0;
                $imp = isset($f['impuestos'])  ? (float)$f['impuestos']  : 0;
              ?>
              <tr class="factura-row <?php echo $clase; ?>" data-toggle="collapse" data-target="#detalle-<?php echo $fid; ?>">
                <td><?php echo $nombre_doc; ?></td>
                <td><span class="toggle-icon" id="icon-<?php echo $fid; ?>">➕</span> <?php echo htmlspecialchars($f['numero_factura']); ?></td>
                <td><?php echo htmlspecialchars($f['fecha_vencimiento']); ?></td>
                <td><?php echo htmlspecialchars($f['fecha_emision']); ?></td>
                <td>U$D <?php echo number_format((float)$f['monto'], 2); ?></td>
                <td>U$D <?php echo number_format((float)$f['pagado'], 2); ?></td>
                <td>U$D <?php echo number_format($des, 2); ?></td>
                <td>U$D <?php echo number_format($imp, 2); ?></td>
                <td>U$D <?php echo number_format($saldo, 2); ?></td>
              </tr>

              <tr class="collapse detalle-row" id="detalle-<?php echo $fid; ?>">
                <td colspan="9">
                  <div class="inset">
                    <a href="#items-<?php echo $fid; ?>" data-toggle="collapse" class="btn btn-info btn-xs">📦 Ver ítems de factura</a>
                    <div id="items-<?php echo $fid; ?>" class="collapse" style="margin-top: 10px;">
                      <?php
                        $items = $conn->query("
                          SELECT producto_name, cantidad, cantidad_entregada, cantidad_devuelta, precio_unitario, impuesto, descuento, subtotal
                          FROM factura_items
                          WHERE factura_id = $fid
                        ");
                      ?>
                      <?php if ($items && $items->num_rows > 0): ?>
                        <div class="table-wrap">
                          <table class="table table-striped table-bordered">
                            <thead>
                              <tr class="active">
                                <th>Producto</th>
                                <th>Cantidad</th>
                                <th>Pendiente Entrega</th>
                                <th>Devolución</th>
                                <th>Precio Unitario</th>
                                <th>Impuesto (%)</th>
                                <th>Descuento</th>
                                <th>Subtotal</th>
                              </tr>
                            </thead>
                            <tbody>
                              <?php while ($it = $items->fetch_assoc()): ?>
                                <?php
                                  $cantidad  = (float)$it['cantidad'];
                                  $entregada = (float)$it['cantidad_entregada'];
                                  $devuelta  = (float)$it['cantidad_devuelta'];
                                  $pendiente = max(0, ($cantidad - $entregada) - $devuelta);
                                ?>
                                <tr>
                                  <td><?php echo htmlspecialchars($it['producto_name']); ?></td>
                                  <td><?php echo number_format($cantidad, 2); ?></td>
                                  <td><?php echo number_format($pendiente, 2); ?></td>
                                  <td><?php echo number_format($devuelta, 2); ?></td>
                                  <td>U$D <?php echo number_format((float)$it['precio_unitario'], 2); ?></td>
                                  <td><?php echo number_format((float)$it['impuesto'], 2); ?>%</td>
                                  <td>U$D <?php echo number_format((float)$it['descuento'], 2); ?></td>
                                  <td>U$D <?php echo number_format((float)$it['subtotal'], 2); ?></td>
                                </tr>
                              <?php endwhile; ?>
                            </tbody>
                          </table>
                        </div>
                      <?php else: ?>
                        <p class="text-muted">No hay ítems registrados para esta factura.</p>
                      <?php endif; ?>
                    </div>

                    <div class="well well-sm" style="margin-top:15px">
                      <strong>Pagos relacionados:</strong>
                      <?php if (!empty($pagos_relacionados[$fid])): ?>
                        <div class="table-wrap" style="margin-top:8px">
                          <table class="table table-condensed">
                            <thead><tr><th>Fecha</th><th>Caja</th><th>Importe</th><th>Nota</th></tr></thead>
                            <tbody>
                              <?php foreach ($pagos_relacionados[$fid] as $p): ?>
                                <tr>
                                  <td><?php echo htmlspecialchars($p['fecha']); ?></td>
                                  <td><?php echo htmlspecialchars($p['caja']); ?></td>
                                  <td><?php echo number_format((float)$p['importe'], 2); ?></td>
                                  <td><?php echo htmlspecialchars($p['nota']); ?></td>
                                </tr>
                              <?php endforeach; ?>
                            </tbody>
                          </table>
                        </div>
                      <?php else: ?>
                        <em>No hay pagos registrados para esta factura.</em>
                      <?php endif; ?>
                    </div>
                  </div>
                </td>
              </tr>
            <?php endwhile; ?>
          <?php else: ?>
            <tr><td colspan="9" class="text-center text-muted">Sin documentos en USD.</td></tr>
          <?php endif; ?>
          </tbody>
        </table>
      </div>
    </div>
  </div>

  <!-- Pagos sin asociar -->
  <div class="card-neo">
    <div class="header-plate"><h4>Pagos sin asociar a facturas</h4></div>
    <?php
    $pagos_sin_factura = $conn->query("
      SELECT * FROM pagos_facturas 
      WHERE proveedor_id = $proveedor_id AND (factura_id IS NULL OR factura_id = 0)
      ORDER BY fecha DESC
    ");
    ?>
    <?php if ($pagos_sin_factura && $pagos_sin_factura->num_rows > 0): ?>
      <div class="table-wrap">
        <table class="table table-bordered table-striped">
          <thead>
            <tr class="info">
              <th>Fecha</th>
              <th>Caja</th>
              <th>Importe</th>
              <th>Nota</th>
              <th>Nota imputación</th>
              <th>Imputar a factura</th>
            </tr>
          </thead>
          <tbody>
            <?php while ($p = $pagos_sin_factura->fetch_assoc()): ?>
              <tr>
                <td><?php echo htmlspecialchars($p['fecha']); ?></td>
                <td><?php echo htmlspecialchars($p['caja']); ?></td>
                <td>$<?php echo number_format((float)$p['importe'], 2); ?></td>
                <td><?php echo htmlspecialchars($p['nota']); ?></td>
                <td>
                  <form method="POST" action="imputar_pago.php" class="form-inline">
                    <input type="hidden" name="pago_id" value="<?php echo (int)$p['id']; ?>">
                    <input type="hidden" name="proveedor_id" value="<?php echo $proveedor_id; ?>">
                    <input type="text" name="nota_imputacion" class="form-control" placeholder="Nota imputación">
                </td>
                <td>
                    <select name="factura_id" class="form-control input-sm" required>
                      <option value="">Seleccionar factura</option>
                      <?php
                        $facturas_para_imputar2 = $conn->query("
                          SELECT f.id, f.tipo_doc, f.numero_factura, (f.monto - f.pagado) AS saldo, COALESCE(fp.moneda,'ARS') AS moneda
                          FROM facturas f
                          LEFT JOIN factura_price fp ON fp.factura_id = f.id
                          WHERE f.proveedor_id = $proveedor_id
                            AND (f.monto - f.pagado) > 0
                          ORDER BY f.fecha_emision DESC
                        ");
                        if ($facturas_para_imputar2 && $facturas_para_imputar2->num_rows > 0) {
                          while ($fsel = $facturas_para_imputar2->fetch_assoc()) {
                            $label = " {$fsel['tipo_doc']} {$fsel['numero_factura']} ({$fsel['moneda']}) - Saldo: " .
                                     (($fsel['moneda']==='USD') ? 'U$D ' : '$') . number_format((float)$fsel['saldo'], 2);
                            echo "<option value='{$fsel['id']}'>".$label."</option>";
                          }
                        }
                      ?>
                    </select>
                    <button type="submit" class="btn btn-success btn-sm">Imputar</button>
                    <a href="imputar_automatico.php?pago_id=<?php echo (int)$p['id']; ?>&proveedor_id=<?php echo $proveedor_id; ?>" class="btn btn-warning btn-sm" onClick="return confirm('¿Desea imputar automáticamente este pago en varias facturas?')">
                      Imputación automática
                    </a>
                    </form>
                </td>
              </tr>
            <?php endwhile; ?>
          </tbody>
        </table>
      </div>
    <?php else: ?>
      <div class="bevel">No hay pagos sin asociar a facturas.</div>
    <?php endif; ?>
  </div>

</div>

<!-- Modal para cargar pago (estático) -->
<div class="modal fade" id="modalPagoProveedor" tabindex="-1" role="dialog" aria-labelledby="modalPagoProveedorLabel" data-backdrop="static" data-keyboard="false">
  <div class="modal-dialog" role="document" style="width: 720px; max-width: 95%;">
    <div class="modal-content">
      <div class="modal-body" id="modalPagoContent">
        <!-- Contenido se carga por AJAX desde pago_popup.php -->
        <div class="text-center" style="padding: 20px;">
          Cargando formulario de pago...
        </div>
      </div>
    </div>
  </div>
</div>

<!-- JS -->
<script src="assets/bootstrap/js/jquery.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script>
  // Toggle iconos en filas de documento
  $('.factura-row').on('click', function () {
    var target = $(this).data('target');
    var icon = $(this).find('.toggle-icon');
    if ($(target).hasClass('in')) { icon.text('➕'); }
    else { icon.text('➖'); }
  });

  $('.collapse').on('hidden.bs.collapse', function () {
    $(this).prev().find('.toggle-icon').text('➕');
  }).on('shown.bs.collapse', function () {
    $(this).prev().find('.toggle-icon').text('➖');
  });

  // Cargar pago_popup.php cuando el modal YA terminó de abrir
  $('#modalPagoProveedor').on('shown.bs.modal', function () {
    var supId = <?php echo $proveedor_id; ?>;
    $('#modalPagoContent').load('pago_popup.php?sup_id=' + encodeURIComponent(supId));
  });

  // Limpiar al cerrar
  $('#modalPagoProveedor').on('hidden.bs.modal', function () {
    $('#modalPagoContent').html('<div class="text-center" style="padding: 20px;">Cerrado.</div>');
  });
</script>
</body>
</html>
