/* Gripar PWA — install banner + button */
.gp-pwa-banner {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
  padding: 12px 12px 12px 14px;
  background: #fff;
  color: #0f172a;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .16), 0 2px 6px rgba(15, 23, 42, .06);
  font: 14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  transform: translateY(140%);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.gp-pwa-banner.is-in { transform: none; }
.gp-pwa-banner img { flex: 0 0 44px; border-radius: 12px; }
.gp-pwa-banner__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.gp-pwa-banner__text strong { font-size: 15px; }
.gp-pwa-banner__text span { color: #475569; font-size: 13px; }
.gp-pwa-share { width: 16px; height: 16px; vertical-align: -3px; color: #5B6ABF; }
.gp-pwa-banner__go,
.gp-pwa-install-btn {
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  background: #5B6ABF;
  cursor: pointer;
}
.gp-pwa-banner__go:hover,
.gp-pwa-install-btn:hover { background: #3D4FAF; }
.gp-pwa-banner__close {
  flex: 0 0 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.gp-pwa-banner button:focus-visible,
.gp-pwa-install-btn:focus-visible { outline: 3px solid #FFA500; outline-offset: 2px; }
.gp-pwa-install-btn[hidden] { display: none !important; }

/* Running as an installed app */
.gp-pwa-standalone body { -webkit-tap-highlight-color: transparent; }

@media (prefers-reduced-motion: reduce) { .gp-pwa-banner { transition: none; } }

/* Update available toast */
.gp-pwa-update {
  position: fixed;
  left: 12px;
  right: 12px;
  top: calc(12px + env(safe-area-inset-top, 0px));
  z-index: 2147483000; /* above login/signup modals */
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  background: #1b2a6b;
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .25);
  font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  transform: translateY(-140%);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.gp-pwa-update.is-in { transform: none; }
.gp-pwa-update__body strong { display: block; font-size: 15px; margin-bottom: 2px; }
.gp-pwa-update__body ul { margin: 4px 0 0; padding-left: 18px; color: #dbe1ff; }
.gp-pwa-update__body span { color: #dbe1ff; }
.gp-pwa-update__actions { display: flex; justify-content: flex-end; gap: 8px; }
.gp-pwa-update__actions button { border: 0; border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: 14px; cursor: pointer; }
.gp-pwa-update__later { background: transparent; color: #dbe1ff; }
.gp-pwa-update__go { background: #FFA500; color: #1b2a6b; }
.gp-pwa-update__go:disabled { opacity: .7; cursor: default; }
.gp-pwa-update button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .gp-pwa-update { transition: none; } }
