.pwa-update[hidden], .pwa-offline[hidden] { display:none; }
.pwa-update {
  position:fixed; z-index:1200; bottom:max(12px, env(safe-area-inset-bottom));
  left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 24px);
  padding:12px 16px; border:1px solid var(--color-text-muted); border-radius:8px;
  background:var(--color-surface); color:var(--color-text); box-shadow:0 3px 18px var(--color-shadow);
}
.pwa-update p { margin:0 0 6px; }
.pwa-update > div { display:flex; flex-wrap:wrap; gap:8px; }
.pwa-update button {
  font:inherit; min-height:44px; padding:6px 12px; border:1px solid currentColor;
  color:var(--color-accent); background:var(--color-surface); border-radius:5px; cursor:pointer;
}
.pwa-update button:focus-visible { outline:3px solid var(--color-accent); outline-offset:3px; }
.pwa-offline p { color:var(--color-text-muted); line-height:1.6; }
.pwa-offline p:not(.menu-section__title) { padding-inline:16px; }
.pwa-offline p + p { margin-top:6px; }
.pwa-offline-page { max-width:560px; margin:64px auto; padding:24px; }
.pwa-offline-page h1 { font-size:1.6rem; }
.pwa-offline-page p { margin:16px 0; }
@media print { .pwa-update,.pwa-offline { display:none !important; } }
