.pwa-install[hidden], .pwa-footer-link[hidden], .pwa-install [hidden] { display: none; }

.pwa-install {
  position: fixed;
  z-index: 95;
  left: max(12px, calc(env(safe-area-inset-left) + 12px));
  bottom: max(12px, calc(env(safe-area-inset-bottom) + 12px));
  width: min(390px, calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));
  padding: 16px;
  border: 1px solid #dbe1eb;
  border-radius: 14px;
  background: #fff;
  color: #171d2b;
  box-shadow: 0 12px 35px #1721342e;
  font-size: 14px;
  line-height: 1.45;
}

.pwa-install-intro { display: flex; align-items: flex-start; gap: 12px; }
.pwa-install-intro img { width: 44px; height: 44px; border-radius: 11px; flex: none; }
.pwa-install h2 { margin: 0 0 4px; font-size: 17px; line-height: 1.2; }
.pwa-install p { margin: 0; color: #475365; }
.pwa-install-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.pwa-install-actions :is(button, a) { min-height: 40px; border: 0; border-radius: 8px; padding: 8px 12px; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.pwa-install-actions :is(button, a):focus-visible, .pwa-footer-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.pwa-install-later { background: #f0f2f6; color: #303b4c; }
.pwa-install-confirm { background: #b42427; color: #fff; }
.pwa-install-confirm:hover { background: #9d1e21; }
.pwa-install-confirm:disabled { opacity: .65; cursor: wait; }
.pwa-install .pwa-install-guide { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: #f0f2f6; }
.pwa-install-url { width: 100%; margin-top: 8px; padding: 6px 8px; border: 1px solid #dbe1eb; border-radius: 6px; font: inherit; }

.pwa-footer-link {
  border: 0;
  padding: 0;
  background: none;
  color: #f3f6fb;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.push-footer-control { margin-top: 10px; }
.push-footer-control[hidden] { display: none; }
.push-footer-control small { display: block; margin-top: 6px; color: #bac3d2; line-height: 1.4; }
.push-footer-control small:empty { display: none; }

.push-app-offer {
  width: min(420px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100% - 32px);
  margin: auto;
  padding: 0;
  border: 1px solid #dbe1eb;
  border-radius: 16px;
  background: #fff;
  color: #171d2b;
  box-shadow: 0 20px 70px #10162466;
}
.push-app-offer::backdrop { background: #101624b8; }
.push-app-offer:not([open]), .push-app-offer [hidden] { display: none; }
.push-app-heading { display: flex; align-items: center; gap: 12px; padding: 18px 20px; background: #171d2b; color: #fff; }
.push-app-bell { display: grid; flex: none; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: #b42427; }
.push-app-offer h2 { margin: 0; font-size: 21px; }
.push-app-body { padding: 16px 20px 20px; }
.push-app-offer p { margin: 0; color: #475365; }
.push-app-offer small { display: block; margin-top: 8px; }
.push-app-offer small:empty { margin-top: 0; }
.push-app-offer .pwa-install-actions { margin-top: 16px; }
.push-app-offer .pwa-install-actions button { min-height: 44px; }
.push-app-offer .pwa-install-confirm { flex: 1 1 128px; }
