/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-ropy3ebk3k] {
    display: flex;
    flex-direction: row;
    height: 100dvh;
    overflow: hidden;
}

/* Previews en iframe (?embed=1): /agentes/{id}/probar, el editor de agentes del
   admin y el drawer de pedidos. Las tres embeben una página de configuración
   LARGA, así que el shell toma la altura del iframe y el scroll ocurre adentro.
   100dvh y no 100vh: en el celular vh incluye la barra del navegador.

   Ojo con el historial: este bloque nació cuando HaceloApp (/haceloapp) también
   pasaba por acá y necesitaba una pantalla de teléfono que NO scrollea (el
   compositor de mensajes tiene que quedar fijo abajo). HaceloApp se mudó a
   ClonLayout y `RutasPantallaCompleta` quedó vacío, pero el `overflow: hidden`
   se quedó — y recortaba en seco el contenido de los tres iframes: en /probar
   las solapas Habilidades / Comportamiento quedaban con la mitad de abajo
   inalcanzable. Si algún día vuelve una pantalla tipo teléfono a este layout,
   NO devolver el hidden acá: darle su propia clase. */
.app-shell-embed[b-ropy3ebk3k] {
    display: flex;
    flex-direction: column;
    height: 100dvh;
    overflow: hidden;
}

.main-content-embed[b-ropy3ebk3k] {
    flex: 1;
    min-height: 0;
    /* El scroll vertical vive acá: es el único contenedor con altura acotada
       (flex:1 + min-height:0) dentro del shell de 100dvh. */
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.page-content[b-ropy3ebk3k] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--gi-bg);
    min-width: 0;
}

.main-content[b-ropy3ebk3k] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1.5rem;
    /* Alto ÚTIL del área de contenido = viewport − TopBar (56px) − este padding.
       Lo publicamos como variable para las páginas que tienen que ocupar la
       pantalla exacta y no provocar un segundo scroll (ej. el taller /probar,
       donde el iframe se pasaba de alto y el scroll de afuera movía el marco
       sin mover su contenido). Definido junto al padding a propósito: si el
       padding o el TopBar cambian, se corrige acá y no en cada página. */
    --gi-content-h: calc(100dvh - 56px - 3rem);
}

/* Wrapper interno: centra el contenido de cada página con un ancho máximo
   consistente. Antes algunas páginas (Studio /agentes/{id}/studio) ya
   centraban con max-width propio, otras (Mis Negocios, Conexiones, etc.)
   quedaban pegadas al borde izquierdo. Estandarizado a 1200px — las
   páginas con layout propio (sidebar + main) ven el mismo límite y siguen
   funcionando porque su grid se calcula sobre 1200px en vez del viewport. */
.main-content-inner[b-ropy3ebk3k] {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

@media (max-width: 768px) {
    /* En mobile el SideNav es un drawer fixed; la hamburguesa ahora vive
       en el TopBar (no flotante) así que el main-content no necesita
       padding-top extra para esquivarla. */
    .main-content[b-ropy3ebk3k] {
        padding: 0.75rem 0.75rem 1rem;
        --gi-content-h: calc(100dvh - 56px - 1.75rem);
    }
}
