diff --git a/docs/componentes-de-interfaz.md b/docs/componentes-de-interfaz.md
index 8c690d4..fefe15f 100644
--- a/docs/componentes-de-interfaz.md
+++ b/docs/componentes-de-interfaz.md
@@ -301,3 +301,11 @@ El desplazamiento vertical se conserva cuando el contenido supera la altura disp
La pantalla `CompanyOverview` tiene composición independiente de `DashboardPage` (Inicio). Comparte tarjetas, bloques de trabajo/avisos/actividad y consultas existentes, siempre fijando el ámbito al UUID de la compañía. El encabezado «De un vistazo» precede las acciones rápidas (ticket, intervención, activo y recurso), cuatro indicadores operativos y una franja navegable de personas, departamentos y sedes. No muestra compañías activas ni el resumen por compañías. La variante compacta de `StatisticCard` mejora la jerarquía del valor y la etiqueta sin modificar la presentación de Inicio.
La navegación de compañía empieza por Resumen, Tickets e Intervenciones; después agrupa Personas, Puestos de trabajo y Perfiles de usuario y finalmente las demás secciones. Los grupos tienen separación visual. Las operaciones de usuario permanecen en el menú superior y dejan de repetirse al pie del menú de compañía.
+
+## Fichas de consulta y resumen lateral
+
+Las secciones de consulta evitan recuadros anidados y rellenos laterales: usan títulos compactos y un separador tenue entre grupos. Las agrupaciones de características siguen este mismo criterio en lectura; los formularios conservan su organización propia.
+
+`DetailSection` ofrece agrupación plegable nativa (`details/summary`), abierta inicialmente, accesible por teclado. `DetailField` devuelve una fila semántica `dt/dd` para incluir en un `dl`: etiqueta y valor se alinean horizontalmente cuando el contenedor dispone de al menos 240 px y se apilan en espacios menores. El consumidor aporta los enlaces; el componente común les aplica cursor de enlace, color semántico y subrayado al pasar el puntero. Los valores ausentes permanecen como texto.
+
+La ficha lateral de activos utiliza un ancho adaptable entre 320 y 400 px, acciones debajo del título y bloques de identificación, ubicación/asignación, características, observaciones, relaciones y asistencia. Conserva las secciones capturadas de la plantilla, incluyendo la compatibilidad con especificaciones antiguas sin agrupación; no modifica valores ni instantáneas. Las relaciones llevan a destinos existentes: persona y activo relacionado a su ficha; sede, puesto y plantilla a sus listados/catálogos actuales. La vista completa e historial mantienen sus funciones. Las fichas de recursos reutilizan las filas de características. No se crean nuevas fichas laterales ni nuevas rutas.
diff --git a/modules/assets/src/common/locales/en.json b/modules/assets/src/common/locales/en.json
index 8f7c8dd..f1c148b 100644
--- a/modules/assets/src/common/locales/en.json
+++ b/modules/assets/src/common/locales/en.json
@@ -303,5 +303,10 @@
"formLayout": {
"identity": "Identification and assignment",
"template": "Template details"
+ },
+ "detailSections": {
+ "identification": "Identification",
+ "assignment": "Location and assignment",
+ "notes": "Notes"
}
}
diff --git a/modules/assets/src/common/locales/es.json b/modules/assets/src/common/locales/es.json
index 4a1a15b..55efe09 100644
--- a/modules/assets/src/common/locales/es.json
+++ b/modules/assets/src/common/locales/es.json
@@ -303,5 +303,10 @@
"formLayout": {
"identity": "Identificación y asignación",
"template": "Datos de la plantilla"
+ },
+ "detailSections": {
+ "identification": "Identificación",
+ "assignment": "Ubicación y asignación",
+ "notes": "Observaciones"
}
}
diff --git a/modules/assets/src/web/asset-relationships/list/types/asset-relationships-props.ts b/modules/assets/src/web/asset-relationships/list/types/asset-relationships-props.ts
index a77a4ea..44caa4f 100644
--- a/modules/assets/src/web/asset-relationships/list/types/asset-relationships-props.ts
+++ b/modules/assets/src/web/asset-relationships/list/types/asset-relationships-props.ts
@@ -1,4 +1,5 @@
export type AssetRelationshipsProps = {
+ compact?: boolean;
companyId: string;
csrfToken: string;
assetId: string;
diff --git a/modules/assets/src/web/asset-relationships/list/ui/asset-relationships.tsx b/modules/assets/src/web/asset-relationships/list/ui/asset-relationships.tsx
index 2cae0d2..949bd72 100644
--- a/modules/assets/src/web/asset-relationships/list/ui/asset-relationships.tsx
+++ b/modules/assets/src/web/asset-relationships/list/ui/asset-relationships.tsx
@@ -1,3 +1,4 @@
+import { BrowserLink } from "@metis/core/client";
import { Button } from "@repo/shadcn-ui/components/button";
import { useTranslation } from "react-i18next";
@@ -8,7 +9,7 @@ import { useAssetRelationshipsController } from "../controllers";
import type { AssetRelationshipsProps } from "../types";
export function AssetRelationships(props: AssetRelationshipsProps) {
- const { companyId, csrfToken, assetId } = props;
+ const { companyId, csrfToken, assetId, compact = false } = props;
const { query, adding, setAdding, setEndingId, ending, active, ended, dateOf } =
useAssetRelationshipsController(props);
const { t } = useTranslation("assets");
@@ -20,7 +21,12 @@ export function AssetRelationships(props: AssetRelationshipsProps) {