/* PWA install controls — v2.3.1 */
.install-app-btn{
  --install-bg:#1857d8;
  --install-bg-hover:#0f46bd;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  border-color:transparent!important;
  background:linear-gradient(135deg,var(--install-bg),#2947a8)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(24,87,216,.22);
}
.install-app-btn:hover,
.install-app-btn:focus-visible{
  background:linear-gradient(135deg,var(--install-bg-hover),#20398a)!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.install-app-btn.is-installed,
.install-app-btn:disabled{
  background:#e7f6ef!important;
  border-color:#b9e5cf!important;
  color:#087f5b!important;
  box-shadow:none;
  cursor:default;
  transform:none;
}
.install-app-btn .ui-icon{flex:0 0 auto}
.parent-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.pwa-install-backdrop{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(7,26,56,.68);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:pwa-fade-in 180ms ease-out;
}
.pwa-install-dialog{
  width:min(520px,100%);
  max-height:min(720px,calc(100dvh - 32px));
  overflow:auto;
  border:1px solid rgba(255,255,255,.42);
  border-radius:24px;
  background:#fff;
  color:#071a38;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  animation:pwa-pop-in 220ms ease-out;
}
.pwa-install-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px 22px 14px;
  border-bottom:1px solid #e5eaf1;
}
.pwa-install-dialog-head h2{margin:0;font-size:21px;line-height:1.35}
.pwa-install-close{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid #dbe2ec;
  border-radius:12px;
  background:#f7f9fc;
  color:#071a38;
  font:900 24px/1 Arial,sans-serif;
  cursor:pointer;
}
.pwa-install-dialog-body{padding:20px 22px 24px}
.pwa-install-app-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  margin-bottom:16px;
  border-radius:18px;
  background:linear-gradient(135deg,#f7f9fc,#eef3fb);
  border:1px solid #e0e7f1;
}
.pwa-install-app-row img{width:64px;height:64px;border-radius:16px;box-shadow:0 8px 20px rgba(7,26,56,.16)}
.pwa-install-app-row strong{display:block;font-size:16px;margin-bottom:3px}
.pwa-install-app-row small{color:#66758d}
.pwa-install-steps{margin:0;padding:0 22px 0 0;display:grid;gap:10px;color:#2d3b52;line-height:1.75}
.pwa-install-note{margin:16px 0 0;padding:12px 14px;border-radius:14px;background:#fff7e5;color:#6f4a00;border:1px solid #f2db9d;font-size:13px;line-height:1.65}
.pwa-install-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.pwa-toast{
  position:fixed;
  z-index:10020;
  left:50%;
  bottom:max(22px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(440px,calc(100vw - 28px));
  padding:13px 16px;
  border-radius:14px;
  background:#071a38;
  color:#fff;
  text-align:center;
  font-weight:800;
  box-shadow:0 18px 45px rgba(7,26,56,.28);
  animation:pwa-toast-in 180ms ease-out;
}
@keyframes pwa-fade-in{from{opacity:0}to{opacity:1}}
@keyframes pwa-pop-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pwa-toast-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

@media (max-width:1180px) and (min-width:981px){
  .public-premium-theme .nav-actions .install-app-btn{padding-inline:11px;font-size:12px}
  .public-premium-theme .nav-actions{gap:7px}
}
@media (max-width:980px){
  .nav-actions>.install-app-btn{display:none}
  .mobile-nav-actions .install-app-btn{display:flex}
  .app-topbar .install-app-btn [data-install-label]{display:none}
  .app-topbar .install-app-btn{width:42px;min-width:42px;padding-inline:0}
}
@media (max-width:640px){
  .pwa-install-backdrop{place-items:end center;padding:0}
  .pwa-install-dialog{width:100%;max-height:88dvh;border-radius:24px 24px 0 0;border-bottom:0}
  .pwa-install-dialog-head,.pwa-install-dialog-body{padding-inline:18px}
  .parent-header-actions{gap:7px}
  .parent-header-actions .install-app-btn [data-install-label]{display:none}
  .parent-header-actions .install-app-btn{width:42px;min-width:42px;padding-inline:0}
}
@media (prefers-reduced-motion:reduce){
  .install-app-btn,.pwa-install-backdrop,.pwa-install-dialog,.pwa-toast{animation:none!important;transition:none!important}
}

/* PWA reliability patch — v2.3.3 */
.install-app-btn.is-working{opacity:.82;cursor:wait;transform:none!important}
.pwa-install-message{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#eef4ff;border:1px solid #cfdcff;color:#173c83;font-weight:700;line-height:1.65}
.pwa-install-status{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.pwa-install-status li{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border-radius:12px;font-size:13px;line-height:1.55}
.pwa-install-status li b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;flex:0 0 22px}
.pwa-status-ok{background:#edf9f3;color:#075f45}.pwa-status-ok b{background:#cceedd;color:#087f5b}
.pwa-status-warn{background:#fff7e5;color:#6f4a00}.pwa-status-warn b{background:#f7df9d;color:#7d5200}
