#ccm-app-install {
  position: fixed;
  z-index: 2147483000;
  left: max(14px, env(safe-area-inset-left));
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto 36px;
  gap: 12px;
  align-items: center;
  max-width: 680px;
  margin-inline: auto;
  padding: 13px;
  color: #fff;
  background: #0f5a43;
  border: 1px solid rgba(216, 170, 85, .8);
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .28);
  font-family: inherit;
}
#ccm-app-install img { width: 52px; height: 52px; border-radius: 13px; }
#ccm-app-install .ccm-app-copy { display: grid; gap: 3px; min-width: 0; }
#ccm-app-install strong { color: #fff; font-size: 16px; line-height: 1.2; }
#ccm-app-install span { color: rgba(255,255,255,.84); font-size: 13px; line-height: 1.3; }
#ccm-app-install button { min-height: 42px; border: 0; border-radius: 12px; font: inherit; font-weight: 700; cursor: pointer; }
#ccm-app-install .ccm-app-primary { padding: 0 18px; color: #173e31; background: #d8aa55; }
#ccm-app-install .ccm-app-close { padding: 0; color: #fff; background: transparent; font-size: 27px; font-weight: 400; }
@media (max-width: 520px) {
  #ccm-app-install { grid-template-columns: 44px minmax(0,1fr) 34px; }
  #ccm-app-install img { width: 44px; height: 44px; }
  #ccm-app-install .ccm-app-primary { grid-column: 1 / -1; width: 100%; }
  #ccm-app-install .ccm-app-close { grid-column: 3; grid-row: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  #ccm-app-install { animation: ccm-app-rise .25s ease-out both; }
  @keyframes ccm-app-rise { from { opacity: 0; transform: translateY(18px); } }
}
