/* ═══ mx-reset.css · EL PISO DEL APLICATIVO (2026-07-20) ══════════════════════════════════════
 *
 * POR QUÉ EXISTE: hasta hoy el ÚNICO reset que recibían /portal y /run venía de rebote, de
 * `ide-shell.css` — la hoja del chrome del IDE, que el Studio cargaba en TODAS sus rutas. O sea
 * que el aplicativo dependía de una hoja de OTRO producto para tener `margin:0` y `box-sizing`.
 * Dos consecuencias, las dos reales:
 *
 *   · Al separar el <head> por superficie (el aplicativo dejó de arrastrar el IDE), el reset se
 *     fue con ella: volvió el `margin:8px` del user-agent, y esos 16px verticales empujaban
 *     `html` a 876px contra un viewport de 860 → barra de scroll y el shell sin cubrir el área.
 *   · El AppHost de PRODUCCIÓN nunca cargó ide-shell.css, así que /portal y /run ya venían sin
 *     reset desde siempre. Esto no sólo repara la regresión: cierra un hueco que ya existía.
 *
 * QUÉ TRAE, y qué NO: sólo lo que el shell necesita para cubrir el viewport. NADA de `overflow`
 * ni de `height` — `ide-shell.css` traía `body{overflow:hidden;height:100%}` porque el IDE es una
 * app de altura fija, y esa regla, aplicada al aplicativo, le mataba el scroll a páginas que son
 * documento. El shell ya se dimensiona solo con `100dvh` en `.az-shell-host`.
 *
 * DÓNDE SE CARGA: sólo en la superficie del aplicativo (los App.razor del Studio y del AppHost).
 * NO va al preview ni al sitio: esas superficies nunca tuvieron el `*{box-sizing}` global —
 * RenderShell.AxmlPage emite su propio bloque html/body— y metérselo ahora les cambiaría el
 * layout sin que nadie lo haya pedido.
 *
 * La capa `reset` es la PRIMERA de ThemeCss.LayerDecl y hasta hoy estaba vacía: todo lo demás le
 * gana sin pelear especificidad, que es exactamente lo que se quiere de un reset.
 * ═══════════════════════════════════════════════════════════════════════════════════════════ */
@layer reset {
    *, *::before, *::after { box-sizing: border-box; }

    html, body { margin: 0; padding: 0; }
}
