.mppwa-modal-open { overflow: hidden; }
.mppwa-launcher { position: fixed; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 2147483646; display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px); padding: 9px 15px 9px 9px; border: 0; border-radius: 18px; background: var(--mppwa-color, #d32f2f); color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); text-align: left; cursor: pointer; animation: mppwa-pulse 2.8s ease-in-out 2; }
.mppwa-launcher img { width: 42px; height: 42px; border-radius: 10px; background: #fff; }
.mppwa-launcher span { display: grid; gap: 1px; }
.mppwa-launcher strong { font-size: 15px; line-height: 1.25; }
.mppwa-launcher small { font-size: 11px; line-height: 1.25; opacity: .88; }
.mppwa-shell, .mppwa-backdrop { position: fixed; inset: 0; }
.mppwa-shell { z-index: 2147483647; display: grid; place-items: center; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
.mppwa-backdrop { background: rgba(15, 23, 42, .62); backdrop-filter: blur(3px); }
.mppwa-dialog { position: relative; width: min(430px, 100%); max-height: calc(100vh - 40px); overflow: auto; box-sizing: border-box; padding: 28px; border-radius: 20px; background: #fff; color: #172033; box-shadow: 0 24px 80px rgba(0, 0, 0, .28); animation: mppwa-in .24s ease-out; }
.mppwa-close { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f1f5f9; color: #475569; font-size: 25px; line-height: 1; cursor: pointer; }
.mppwa-icon { display: block; width: 76px; height: 76px; margin: 0 auto 16px; border-radius: 17px; box-shadow: 0 8px 24px rgba(0, 0, 0, .14); }
.mppwa-dialog h2 { margin: 0 34px 8px; color: #172033; font-size: 24px; line-height: 1.25; text-align: center; }
.mppwa-lead { margin: 0 0 18px; color: #526071; font-size: 15px; line-height: 1.55; text-align: center; }
.mppwa-steps { margin: 0 0 22px; padding: 16px 16px 16px 38px; border-radius: 14px; background: #f8fafc; color: #334155; font-size: 14px; line-height: 1.55; }
.mppwa-steps li + li { margin-top: 6px; }
.mppwa-actions { display: flex; gap: 10px; }
.mppwa-actions button { flex: 1; min-height: 44px; padding: 10px 14px; border-radius: 11px; font-size: 15px; font-weight: 650; cursor: pointer; }
.mppwa-later { border: 1px solid #cbd5e1; background: #fff; color: #475569; }
.mppwa-install { border: 1px solid var(--mppwa-color, #d32f2f); background: var(--mppwa-color, #d32f2f); color: #fff; }
@keyframes mppwa-in { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes mppwa-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.045); } }
@media (max-width: 520px) {
  .mppwa-launcher { left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); justify-content: center; border-radius: 16px; }
  .mppwa-shell { align-items: end; padding: 0; }
  .mppwa-dialog { width: 100%; max-height: 92vh; padding: 26px 20px max(22px, env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; animation-name: mppwa-up; }
}
@keyframes mppwa-up { from { opacity: 0; transform: translateY(100%); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mppwa-dialog, .mppwa-launcher { animation: none; } }
