/* Convite de instalação: mesmo visual do app (fundo #080c16, borda #293851, azul #2563eb). */
.lrp {
  position: fixed; z-index: 2147483000; left: 12px; right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  margin: 0 auto; max-width: 400px; box-sizing: border-box; padding: 16px;
  border: 1px solid #293851; border-radius: 16px; background: rgba(8, 12, 22, .97);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 18px 50px -12px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .02) inset;
  color: #f8fafc; font: 14px/1.45 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  opacity: 0; transform: translateY(calc(100% + 24px)) scale(.98); transform-origin: 50% 100%;
  transition: transform .42s cubic-bezier(.16, 1, .3, 1), opacity .3s ease-out;
}
.lrp *, .lrp *::before, .lrp *::after { box-sizing: border-box; }
.lrp.is-in { opacity: 1; transform: none; }
.lrp.is-out { opacity: 0; transform: translateY(18px) scale(.98); transition: transform .22s cubic-bezier(.4, 0, 1, 1), opacity .2s ease-in; }
.lrp-desktop { left: auto; right: 24px; bottom: 24px; width: 360px; }

.lrp-head { display: flex; gap: 12px; align-items: flex-start; padding-right: 28px; }
.lrp-icon { flex: none; width: 48px; height: 48px; border-radius: 12px; box-shadow: 0 0 0 1px #293851; }
.lrp-title { margin: 1px 0 2px; font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.lrp-desc { margin: 0; font-size: 13px; color: #94a3b8; }

.lrp-close {
  position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 36px; height: 36px;
  padding: 0; border: 0; border-radius: 10px; background: transparent; color: #94a3b8; cursor: pointer;
}
.lrp-close:hover { background: #111a2c; color: #f8fafc; }

.lrp-actions { display: flex; gap: 8px; margin-top: 14px; }
.lrp-btn {
  display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 16px;
  border: 1px solid transparent; border-radius: 10px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
  transition: background-color .15s, border-color .15s, transform .1s;
}
.lrp-btn:active { transform: scale(.98); }
.lrp-btn-primary { background: #2563eb; color: #fff; }
.lrp-btn-primary:hover { background: #3b82f6; }
.lrp-btn-ghost { background: transparent; color: #cbd5e1; border-color: #293851; }
.lrp-btn-ghost:hover { background: #111a2c; }
.lrp-btn-full { width: 100%; margin-top: 14px; }
.lrp-btn:focus-visible, .lrp-close:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }

.lrp-steps { list-style: none; margin: 14px 0 0; padding: 12px; border-radius: 12px; background: #050810; border: 1px solid #1c2840; }
.lrp-steps li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #cbd5e1; }
.lrp-steps li + li { margin-top: 10px; }
.lrp-steps b { color: #f8fafc; font-weight: 600; }
.lrp-step-icon { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #111a2c; color: #60a5fa; }
.lrp-hint { color: #64748b; font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  .lrp, .lrp.is-out { transform: none; transition: opacity .2s linear; }
}
