/* app/public/css/shell.css — lote entrada: barra de la app, menú de sesión, toast (region:shell).
   Sobre base.css (kit): .app, .appbar*, .acct-menu, .menu, .toasts/.toast ya vienen de allí.
   Aquí solo lo que el armazón real añade a la maqueta. */

/* Armazón: .shell lleva también .app (barra 56 px + área de trabajo a alto completo).
   Los paneles (<main data-panel>) de los otros lotes van en la segunda fila. */
.shell { padding-top: env(safe-area-inset-top, 0px); }
.shell > .appbar { grid-row: 1; }
.shell > [data-panel] { grid-row: 2; min-height: 0; min-width: 0; }
.shell > [data-panel]:focus { outline: none; }

/* Menú de sesión: el globo de «English» solo alinea el texto con el de «Español» */
.acct-menu .acct-menu__spacer { visibility: hidden; }
.acct-menu .menu__head [data-plan-name] { color: rgb(var(--c-muted)); }

/* Toast: el botón de cerrar es un objetivo de 44 px (base lo deja en 32) */
.toast .btn-icon { min-height: var(--tap); width: var(--tap); padding: 0; flex: none; }
.toast .btn-icon .icon { width: 16px; height: 16px; }

/* Guarda de la clave nueva sin copiar lanzada desde la barra (ES / EN, Salir):
   flota bajo el extremo derecho de la barra, por encima del panel. */
.appbar__end { position: relative; }
.appbar__end > .acc-confirm--float {
  display: flex; position: absolute; z-index: var(--z-drawer); right: 0; top: calc(100% + 6px);
  width: min(360px, calc(100vw - 16px)); box-shadow: 0 20px 44px -16px rgb(0 0 0 / 0.7);
}
.acc-confirm--float p { flex-basis: 100%; }

/* ES / EN con puntero grueso: objetivos de 44 px también a lo ancho */
@media (pointer: coarse) { .appbar__lang button, .appbar__lang a { min-width: var(--tap); } }
