diff --git a/modules/turnero/api/get_resumen_muestras.php b/modules/turnero/api/get_resumen_muestras.php
index 85ea197..33fd42b 100644
--- a/modules/turnero/api/get_resumen_muestras.php
+++ b/modules/turnero/api/get_resumen_muestras.php
@@ -46,8 +46,26 @@ $s2 = $pdo->prepare(
$s2->execute([$sesionId]);
$enEsperaMuestra = (int)$s2->fetchColumn();
+// Último turno atendido en muestras por prioridad (letra)
+$sp = $pdo->prepare(
+ "SELECT p.codigo, p.color,
+ (SELECT t.codigo FROM turnero_turnos t
+ WHERE t.sesion_id = ? AND t.prioridad_id = p.id
+ AND t.lugar_destino_id IN (SELECT id FROM turnero_lugares WHERE tipo='muestras' AND activo=1)
+ AND t.inicio_lugar_at IS NOT NULL
+ ORDER BY t.numero DESC LIMIT 1) AS ultimo_codigo
+ FROM turnero_prioridades p
+ ORDER BY p.orden_peso ASC"
+);
+$sp->execute([$sesionId]);
+$porPrioridad = array_values(array_filter(
+ $sp->fetchAll(PDO::FETCH_ASSOC),
+ fn($r) => $r['ultimo_codigo'] !== null
+));
+
jsonOk([
'estaciones' => $estaciones,
'en_espera' => $enEspera,
'en_espera_muestra' => $enEsperaMuestra,
+ 'por_prioridad' => $porPrioridad,
]);
diff --git a/modules/turnero/views/recepcion.php b/modules/turnero/views/recepcion.php
index 4610182..aaf6a65 100644
--- a/modules/turnero/views/recepcion.php
+++ b/modules/turnero/views/recepcion.php
@@ -3096,12 +3096,13 @@ async function _cargarResumenMuestras() {
if (!j.ok) return;
const cont = document.getElementById('muestras-estaciones');
if (!cont) return;
- cont.innerHTML = j.estaciones.map(e => {
- const libre = !e.turno_id;
- return `
- ${escHtml(e.nombre)}: ${libre ? '—' : escHtml(e.codigo)}
- `;
- }).join('');
+ cont.innerHTML = (j.por_prioridad || []).map(p =>
+ `
+ ${escHtml(p.codigo)}: ${escHtml(p.ultimo_codigo)}
+ `
+ ).join('');
const cb = document.getElementById('muestras-cola-badge');
cb.textContent = `${j.en_espera} en espera`;
cb.classList.toggle('d-none', j.en_espera === 0);