/* ===========================================================================
   Arrenda1 — ocultamiento cosmético en Twenty CRM
   ---------------------------------------------------------------------------
   ESTO NO ES SEGURIDAD. Todo lo que se oculta aquí sigue existiendo en la API
   y es alcanzable escribiendo la URL a mano. Lo que de verdad no debe poder
   hacer un Asesor se controla con Roles en Twenty (server-side), no aquí.

   Reparto de responsabilidades:
     Rol          → Settings, datos de otros asesores        (real, server-side)
     hide.css     → ruido visual: entradas de nav, tabs vacías  (cosmético)
     Data model   → nada se desactiva: el bot escribe Notas y el alta de
                    Asesor corre un Flujo nativo

   FRAGILIDAD: a diferencia de `brand.css`, este archivo depende del DOM de
   Twenty. Los anclajes están verificados contra el DOM real (auditoría con
   Playwright), no escritos a ojo:

     `a.navigation-drawer-item` — clase semántica y estable, no hasheada
     `href^="/objects/<plural>"` — el nombre de API del objeto, que NO cambia
                                   al renombrar la etiqueta (standardOverrides)

   El `^=` es obligatorio: el href real lleva querystring
   (`/objects/companies?viewId=…`), así que `[href="/objects/companies"]` no
   hace match con nada.

   Tras cada `docker pull`: ver el checklist en el README.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   1. Entradas del nav lateral
   ---------------------------------------------------------------------------
   Nav v1 del Asesor = Oportunidades + Contactos. Los demás objetos siguen
   activos por dentro; solo se les quita la entrada propia.

   Para destapar uno cuando el equipo empiece a usarlo: borra su línea de las
   dos listas de abajo (el `<a>` y el contenedor).
   --------------------------------------------------------------------------- */
a.navigation-drawer-item[href^="/objects/companies"],
a.navigation-drawer-item[href^="/objects/tasks"],
a.navigation-drawer-item[href^="/objects/notes"],
a.navigation-drawer-item[href^="/objects/dashboards"],
a.navigation-drawer-item[href^="/objects/workflows"] {
  display: none !important;
}

/* Cada item vive dentro de un contenedor propio con clase hasheada. Ocultar
   solo el `<a>` deja el hueco del contenedor, así que se oculta al padre por
   `:has()` — que no depende del nombre de la clase. */
div:has(> a.navigation-drawer-item[href^="/objects/companies"]),
div:has(> a.navigation-drawer-item[href^="/objects/tasks"]),
div:has(> a.navigation-drawer-item[href^="/objects/notes"]),
div:has(> a.navigation-drawer-item[href^="/objects/dashboards"]),
div:has(> a.navigation-drawer-item[href^="/objects/workflows"]) {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   2. El chat propio de Twenty
   ---------------------------------------------------------------------------
   La conversación con el lead es de Chatwoot, y vive en el tab "Conversación"
   del record. El chat interno de Twenty (el toggle Inicio/Chat y el botón
   "Nuevo chat") es una segunda bandeja que nadie va a atender: dos lugares
   distintos donde buscar mensajes es peor que uno.

   Ancla: la fila que contiene el `[role="tablist"]` de la barra. Se oculta el
   contenedor entero, así se van el toggle y el botón de una vez. Se ancla al
   `role`, no al `aria-label` ("Pestañas de navegación"), porque el aria-label
   está traducido y cambiaría si alguien mueve el idioma del workspace.

   Se contemplan dos profundidades porque Twenty envuelve el tablist en un
   `<span>`: hoy la fila es el abuelo, pero el envoltorio puede desaparecer.
   Cada rama sigue siendo exacta — ninguna sube más allá de la fila. */
[style*="navigation-drawer-width"] div:has(> [role="tablist"]),
[style*="navigation-drawer-width"] div:has(> * > [role="tablist"]) {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   3. Acciones de canales que no usamos
   ---------------------------------------------------------------------------
   El botón "Send Email" del record abre un compositor contra una cuenta de
   correo que no está conectada (Gmail sigue comentado en docker-compose.yml).
   --------------------------------------------------------------------------- */
[aria-label="Send Email"] {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   3. Rastros de Twenty en el login
   ---------------------------------------------------------------------------
   La pantalla de acceso enlaza a la política de privacidad y los términos de
   twenty.com. Son de Twenty, no de Arrenda1, y es lo primero que ve el equipo.
   --------------------------------------------------------------------------- */
a[href^="https://twenty.com"] {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   NO va aquí: las tabs Emails y Calendar del record
   ---------------------------------------------------------------------------
   Auditado contra el DOM real: cada tab se identifica por un UUID del page
   layout (`#tab-b1a6e242-…`), no por un nombre. No hay ancla estable, y
   `scripts/setup_twenty_schema.py` regenera layouts — un selector con esos
   UUIDs se rompería en silencio la próxima vez que corra.

   El mecanismo correcto es quitar las tabs del page layout por la API de
   metadata, igual que `_ensure_conversacion_tab` añade la de Conversación.
   Eso es configuración, no ocultamiento, y sobrevive a todo.
   --------------------------------------------------------------------------- */
