.pwa-install-auth {
  width:100%;
  margin-top:14px;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--brand-primary, #173c32);
  font-weight:800;
  cursor:pointer;
}

.pwa-install-menu {
  width:100%;
  display:flex;
  align-items:center;
  padding:10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  font-weight:700;
}

.pwa-install-menu:hover { background:#f0f3ef; }

.pwa-install-banner {
  position:fixed;
  z-index:300;
  top:0;
  left:0;
  right:0;
  min-height:58px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto 32px;
  align-items:center;
  gap:10px;
  padding:8px 10px 8px max(10px, env(safe-area-inset-left));
  border-bottom:1px solid rgba(255,255,255,.18);
  background:var(--brand-primary, #173c32);
  color:var(--brand-primary-foreground, #fff);
  box-shadow:0 8px 24px rgba(20,33,29,.20);
}

.pwa-install-banner img {
  width:38px;
  height:38px;
  display:block;
  object-fit:contain;
  border-radius:10px;
  background:rgba(255,255,255,.10);
}

.pwa-install-banner-copy {
  min-width:0;
  display:grid;
  gap:2px;
}

.pwa-install-banner-copy strong {
  font-size:.84rem;
  line-height:1.15;
}

.pwa-install-banner-copy span {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.78);
  font-size:.68rem;
}

.pwa-install-banner-action {
  min-height:34px;
  padding:7px 12px;
  border:0;
  border-radius:9px;
  background:#fff;
  color:var(--brand-primary, #173c32);
  font-weight:850;
  cursor:pointer;
}

.pwa-install-banner-close {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#fff;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
}

.pwa-install-banner-close:hover { background:rgba(255,255,255,.12); }

.pwa-install-offer #auth-shell,
.pwa-install-offer #loading {
  padding-top:58px;
}

.pwa-install-offer #dashboard-view {
  padding-top:58px;
}

.pwa-standalone body {
  overscroll-behavior:none;
}

@media (max-width:720px) {
  .pwa-install-banner {
    padding-top:calc(8px + env(safe-area-inset-top));
    min-height:calc(58px + env(safe-area-inset-top));
  }

  .pwa-install-offer #auth-shell,
  .pwa-install-offer #loading,
  .pwa-install-offer #dashboard-view {
    padding-top:calc(58px + env(safe-area-inset-top)) !important;
  }

  .pwa-install-offer #dashboard-view.chat-app {
    height:calc(100dvh - 58px - env(safe-area-inset-top)) !important;
    min-height:calc(100dvh - 58px - env(safe-area-inset-top)) !important;
  }

  .pwa-standalone .mobile-drawer-header {
    padding-top:calc(8px + env(safe-area-inset-top));
  }

  .pwa-standalone .composer {
    padding-bottom:max(10px, env(safe-area-inset-bottom));
  }

  .pwa-standalone .app-sidebar {
    padding-bottom:max(4px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:420px) {
  .pwa-install-banner {
    grid-template-columns:34px minmax(0,1fr) auto 30px;
    gap:7px;
    padding-inline:8px;
  }

  .pwa-install-banner img {
    width:34px;
    height:34px;
  }

  .pwa-install-banner-copy span {
    max-width:150px;
  }

  .pwa-install-banner-action {
    padding-inline:9px;
    font-size:.75rem;
  }
}
