/* Floating Install chip — desktop + mobile */
.dee-pwa-chip {
  position: fixed;
  z-index: 9800;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 10px 10px;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .28);
  font: 600 .85rem/1.2 "DM Sans", system-ui, sans-serif;
  max-width: min(92vw, 340px);
  animation: dee-pwa-chip-in .35s ease;
}
.dee-pwa-chip[hidden] { display: none !important; }
.dee-pwa-chip__icon {
  width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
  background: #fff; object-fit: cover;
}
.dee-pwa-chip__copy { flex: 1; min-width: 0; }
.dee-pwa-chip__copy strong { display: block; font-size: .88rem; }
.dee-pwa-chip__copy span { display: block; font-size: .72rem; font-weight: 500; color: #94a3b8; }
.dee-pwa-chip__install {
  border: 0; border-radius: 999px; padding: 8px 12px;
  background: #16a34a; color: #fff; font: inherit; font-weight: 700; cursor: pointer;
  white-space: nowrap;
}
.dee-pwa-chip__close {
  border: 0; background: transparent; color: #94a3b8; width: 28px; height: 28px;
  border-radius: 50%; cursor: pointer; font-size: 1.1rem; line-height: 1;
}
.dee-pwa-chip__close:hover { background: rgba(255,255,255,.08); color: #fff; }

@keyframes dee-pwa-chip-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
  .dee-pwa-chip {
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    max-width: none;
  }
}

/* Hide chip above patient bottom nav if present */
body.pp-has-bottom-nav .dee-pwa-chip,
.pp-layout .dee-pwa-chip {
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}
