/* YesR Labour PWA install UI */
.pwa-install-fab {
  position: fixed;
  bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
  right: calc(.85rem + env(safe-area-inset-right, 0px));
  z-index: 1180;
  border: none; border-radius: 999px;
  background: linear-gradient(135deg, #0f766e, #115e59);
  color: #ecfdf5; font-weight: 600; font-size: .85rem;
  padding: .55rem 1rem;
  box-shadow: 0 8px 24px rgba(15, 118, 110, .35);
  display: inline-flex; align-items: center; gap: .4rem;
}
.pwa-install-fab[hidden] { display: none !important; }
body.pwa-standalone .pwa-install-fab,
body.labour-auth-page .pwa-install-fab { bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); }

.pwa-install-banner {
  position: fixed; left: .75rem; right: .75rem;
  bottom: calc(4.6rem + env(safe-area-inset-bottom, 0px));
  z-index: 1175;
  display: flex; align-items: center; gap: .5rem;
  padding: .65rem .75rem; border-radius: 14px;
  background: #042f2e; color: #ecfdf5;
  box-shadow: 0 10px 28px rgba(4, 47, 46, .35);
  font-size: .82rem; font-weight: 600;
}
.pwa-install-banner[hidden] { display: none !important; }
body.labour-auth-page .pwa-install-banner { bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); }
.pwa-install-banner-btn {
  margin-left: auto; border: 0; border-radius: 999px;
  background: #14b8a6; color: #042f2e; font-weight: 700;
  padding: .35rem .7rem; font-size: .78rem;
}
.pwa-install-banner-dismiss {
  border: 0; background: transparent; color: #99f6e4; padding: .2rem;
}

.pwa-install-backdrop {
  position: fixed; inset: 0; z-index: 1250;
  background: rgba(15, 23, 42, .55); backdrop-filter: blur(2px);
}
.pwa-install-backdrop[hidden] { display: none !important; }

.pwa-install-sheet {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1260;
  background: #fff; border-radius: 20px 20px 0 0;
  padding: 1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -12px 40px rgba(15, 23, 42, .18);
  transform: translateY(110%); transition: transform .28s ease;
  max-height: 88vh; overflow: auto;
}
.pwa-install-sheet.is-open { transform: translateY(0); }
.pwa-install-sheet[hidden] { display: none !important; }
.pwa-install-handle {
  width: 40px; height: 4px; border-radius: 999px; background: #e5e7eb; margin: 0 auto 1rem;
}
.pwa-install-icon {
  width: 56px; height: 56px; border-radius: 14px; overflow: hidden;
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.5rem; margin-bottom: .75rem;
}
.pwa-install-icon img { width: 100%; height: 100%; object-fit: cover; }
.pwa-install-actions {
  display: flex; gap: .5rem; margin-top: 1rem;
}
.pwa-install-actions .btn { flex: 1; }
.pwa-install-platform {
  margin-top: .85rem; padding: .75rem .85rem; border-radius: 12px;
  background: #f0fdfa; border: 1px solid #99f6e4; font-size: .86rem; color: #134e4a;
}
.pwa-install-platform[hidden] { display: none !important; }
.pwa-install-platform ol { margin: .4rem 0 0; padding-left: 1.15rem; }
.pwa-install-platform li { margin-bottom: .3rem; }

body.pwa-install-open { overflow: hidden; }
body.pwa-install-banner-visible .labour-tabbar { /* keep tabs above banner gap */ }
