/* PWA UI: install banner + offline bar. Loaded on every page via includes/pwa_head.php */
.install-banner {
  position: fixed; z-index: 1085;
  left: 12px; right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom));
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: 14px;
  background: #3a4b8d; color: #fff;
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
  max-width: 520px; margin: 0 auto;
  font: 14px/1.35 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
body.has-bottom-nav .install-banner { bottom: calc(76px + env(safe-area-inset-bottom)); }
.install-banner-icon { border-radius: 10px; flex-shrink: 0; }
.install-banner-text { flex: 1; min-width: 0; }
.install-banner-btn { flex-shrink: 0; font-weight: 600; }
.install-banner-close { background: none; border: 0; color: #fff; font-size: 24px; line-height: 1; padding: 0 4px; opacity: .8; cursor: pointer; }

.offline-bar {
  position: fixed; z-index: 1090; left: 0; right: 0; top: 0;
  padding: calc(6px + env(safe-area-inset-top)) 12px 6px;
  background: #b45309; color: #fff; text-align: center;
  font: 600 13px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
@media print { .install-banner, .offline-bar { display: none !important; } }
