/* App instalável: indicador offline e avisos de instalação/atualização */
.pwa-offline { position: fixed; z-index: 95; left: 50%; transform: translateX(-50%); top: calc(0.5rem + env(safe-area-inset-top)); display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: var(--r-pill); background: var(--warning); color: #fff; font-size: var(--fs-xs); font-weight: var(--fw-medium); box-shadow: var(--sh-2); }
.pwa-bandeiras { position: fixed; z-index: 90; left: var(--sp-3); right: var(--sp-3); bottom: calc(var(--sp-3) + env(safe-area-inset-bottom)); display: grid; gap: var(--sp-2); max-width: 560px; margin: 0 auto; }
.pwa-bandeiras .alert { background: var(--surface); box-shadow: var(--sh-3); }
.pwa-bandeiras .alert-info { border-color: var(--info-bd); }
@media (max-width: 720px) { .pwa-bandeiras { bottom: calc(var(--bottomnav-h) + var(--sp-3) + env(safe-area-inset-bottom)); } }

/* Aviso grande de instalação (antes de instalar o app) */
.pwa-bandeiras { max-width: 640px; }
.pwa-instalar { display: grid; grid-template-columns: auto 1fr; gap: var(--sp-3) var(--sp-4); align-items: center; padding: var(--sp-4) var(--sp-5); background: var(--surface); border: 2px solid var(--accent); border-radius: var(--r-lg); box-shadow: var(--sh-3); }
.pwa-instalar-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--accent); color: var(--on-accent); }
.pwa-instalar-txt { display: grid; gap: 2px; min-width: 0; }
.pwa-instalar-txt strong { font-size: var(--fs-lg); }
.pwa-instalar-txt span { color: var(--text-2); font-size: var(--fs-md); }
.pwa-instalar-acoes { grid-column: 1 / -1; display: flex; gap: var(--sp-2); justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 720px) { .pwa-instalar-acoes .btn-primary { flex: 1; } }
.btn-instalar-topo { white-space: nowrap; }
