diff --git a/modules/turnero/api/guardar_toma.php b/modules/turnero/api/guardar_toma.php
index e009bf0..a4b1077 100644
--- a/modules/turnero/api/guardar_toma.php
+++ b/modules/turnero/api/guardar_toma.php
@@ -56,6 +56,34 @@ if ($tc['datos_respuestas']) {
}
// Guardar svg en el campo firmado
$datosInput[$campoId] = $svg;
+
+// Identidad del firmante — resuelta en el servidor desde la sesión, no desde el
+// cliente: cada toma puede firmarla un profesional distinto y esta es la única
+// fuente confiable de quién la hizo.
+$__uid = adminId();
+if ($__uid) {
+ $stmtPro = $pdo->prepare(
+ "SELECT au.full_name, au.cedula AS au_cedula,
+ le.nombre_completo AS pro_nombre, le.numero_documento AS pro_documento
+ FROM admin_users au
+ LEFT JOIN lab_enfermeras le ON le.id = au.enfermera_id
+ WHERE au.id = ? LIMIT 1"
+ );
+ $stmtPro->execute([$__uid]);
+ $pro = $stmtPro->fetch(PDO::FETCH_ASSOC) ?: [];
+ $proNombre = ($pro['pro_nombre'] ?? null) ?: ($pro['full_name'] ?? null);
+ $proCedula = ($pro['au_cedula'] ?? null) ?: ($pro['pro_documento'] ?? null);
+ if ($proNombre) {
+ $datosInput[$campoId . '_pro_nombre'] = $proNombre;
+ $datosInput['_pro_nombre'] = $proNombre; // respaldo global
+ }
+ if ($proCedula) {
+ $datosInput[$campoId . '_pro_cedula'] = $proCedula;
+ $datosInput['_pro_cedula'] = $proCedula;
+ }
+ $datosInput[$campoId . '_pro_id'] = $__uid;
+}
+
$datosMerge = array_merge($datosActuales, $datosInput);
// ── Analizar esquema: campos firma_profesional en orden ──────
diff --git a/modules/turnero/views/historial.php b/modules/turnero/views/historial.php
index eb47695..9fc0084 100644
--- a/modules/turnero/views/historial.php
+++ b/modules/turnero/views/historial.php
@@ -631,7 +631,9 @@ async function cargarDocumentosTurno(turnoId, container) {
? ` ${c.tomas_firmadas||0}/${c.tomas_total||0} tomas`
: '';
if (est === 'firmado' && c.token) {
- const url = BASE_URL_ROOT + 'ver_formulario_enviado.php?token=' + encodeURIComponent(c.token) + '&embed=1';
+ // Mismos parámetros que bandeja: compact activa la grilla de campos
+ // y las tarjetas de toma; sin ellos el documento se ve en lista larga.
+ const url = BASE_URL_ROOT + 'ver_formulario_enviado.php?token=' + encodeURIComponent(c.token) + '&embed=1&compact=1&zoom=1.1';
return `
${nombre}${tomas}
`;