diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0fe6784..7c0d67e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog - project.linkedcorp.net
+## [2.16.4] - 2026-10-20
+### Changed
+- Equipos → detalle → General: "Primer reporte" y "Último reporte" pasan a la sección de arriba,
+ después de Departamento (también visibles, de solo lectura, en modo edición).
+
## [2.16.3] - 2026-10-20
### Changed
- Equipos → detalle → General: la sección manual (Estado, Asignado a, Departamento, Notas, con su
diff --git a/VERSION b/VERSION
index 37b36c1..99e60c0 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.16.3
+2.16.4
diff --git a/backend/package.json b/backend/package.json
index 556aefc..c27ab42 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -1,6 +1,6 @@
{
"name": "project-linkedcorp-backend",
- "version": "2.16.3",
+ "version": "2.16.4",
"private": true,
"type": "module",
"main": "src/server.js",
diff --git a/frontend/package.json b/frontend/package.json
index d08d5c6..0a22cf3 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,7 +1,7 @@
{
"name": "project-linkedcorp-frontend",
"private": true,
- "version": "2.16.3",
+ "version": "2.16.4",
"type": "module",
"scripts": {
"dev": "vite",
diff --git a/frontend/src/pages/Equipos/EquiposPage.jsx b/frontend/src/pages/Equipos/EquiposPage.jsx
index 0c90978..c169f2c 100644
--- a/frontend/src/pages/Equipos/EquiposPage.jsx
+++ b/frontend/src/pages/Equipos/EquiposPage.jsx
@@ -126,14 +126,14 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
[t('eq_domain'), val(device.domain), device.domain],
[t('eq_last_user'), val(device.last_user), device.last_user],
[t('eq_ip'), val(device.ip_main), device.ip_main],
- [t('eq_first_seen'), fmtDate(device.first_seen), fmtDate(device.first_seen)],
- [t('eq_last_seen'), fmtDate(device.last_seen), fmtDate(device.last_seen)],
[t('eq_agent'), val(device.agent_version), device.agent_version],
];
const manualRows = [
[t('common_status'), {t(`eq_status_${device.status}`)}, t(`eq_status_${device.status}`)],
[t('eq_assigned_to'), val(device.assigned_user_name), device.assigned_user_name],
[t('common_department'), val(device.department_name), device.department_name],
+ [t('eq_first_seen'), fmtDate(device.first_seen), fmtDate(device.first_seen)],
+ [t('eq_last_seen'), fmtDate(device.last_seen), fmtDate(device.last_seen)],
[t('eq_notes'), {val(device.notes)}, device.notes],
];
const cpuText = device.cpus.map((c) => `${c.name || ''}${c.cores ? ` · ${c.cores}c/${c.threads || '?'}t` : ''}`).join(' | ');
@@ -192,6 +192,8 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
setForm({ ...form, departmentId: v })} />
+ {fmtDate(device.first_seen)}
+ {fmtDate(device.last_seen)}