/* PWA additions: install banner, update toast, offline page */
.pwa-install{
  position:fixed; left:50%; transform:translateX(-50%); z-index:90;
  bottom:calc(5.2rem + env(safe-area-inset-bottom,0px));
  width:min(92vw,420px); display:none; align-items:center; gap:.75rem;
  padding:.7rem .8rem; background:#0c3a78; color:#fff; border-radius:16px;
  box-shadow:0 12px 32px rgba(8,30,70,.35); font:600 .88rem/1.3 Inter,system-ui,sans-serif;
}
.pwa-install.show{ display:flex; }
.pwa-install img{ width:40px; height:40px; border-radius:10px; background:#fff; flex:none; }
.pwa-install span{ flex:1; }
.pwa-install button{ border:0; cursor:pointer; font:inherit; border-radius:10px; padding:.55rem .85rem; }
.pwa-install .pwa-yes{ background:#e8b730; color:#0c2a5a; font-weight:800; }
.pwa-install .pwa-no{ background:transparent; color:#cfe0f7; padding:.55rem .4rem; }
.pwa-toast{
  position:fixed; left:50%; transform:translateX(-50%); z-index:95; display:none;
  bottom:calc(1rem + env(safe-area-inset-bottom,0px)); width:min(92vw,380px);
  background:#0c2a5a; color:#fff; padding:.75rem 1rem; border-radius:14px; align-items:center; gap:.75rem;
  font:600 .88rem/1.3 Inter,system-ui,sans-serif; box-shadow:0 12px 32px rgba(8,30,70,.35);
}
.pwa-toast.show{ display:flex; }
.pwa-toast button{ margin-left:auto; border:0; border-radius:10px; padding:.5rem .8rem; background:#e8b730; color:#0c2a5a; font:800 .85rem Inter,system-ui,sans-serif; cursor:pointer; }
@media (min-width:721px){ .pwa-install{ bottom:1.5rem; } }

/* offline page */
.offline-body{ margin:0; min-height:100vh; display:grid; place-items:center; background:#f9fcff; font-family:Inter,system-ui,sans-serif; color:#0c2a5a; padding:1.25rem; }
.offline-card{ max-width:380px; text-align:center; display:flex; flex-direction:column; gap:.8rem; align-items:center; }
.offline-card h1{ margin:.2rem 0 0; font-size:1.6rem; }
.offline-card p{ margin:0; color:#4a5d7a; line-height:1.5; }
.offline-btn{ display:block; width:100%; box-sizing:border-box; padding:.9rem 1rem; border-radius:14px; background:#0c3a78; color:#fff; font-weight:700; text-decoration:none; }
.offline-btn--wa{ background:#1fa855; }
.offline-link{ color:#0c3a78; font-weight:700; margin-top:.4rem; }
