html.tes-push-modal-open{overflow:hidden}
.tes-push-modal{align-items:center}
.tes-push-modal__card{text-align:center;margin:0 auto}
.tes-push-modal__icon img{width:48px;height:48px;border-radius:14px;display:block;object-fit:contain}
.tes-push-modal__icon{margin-left:auto;margin-right:auto}
.tes-push-modal__features{text-align:left}
.tes-push-modal__badge{margin-left:auto;margin-right:auto}
.tes-push-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;pointer-events:none;transition:opacity .28s ease}
.tes-push-modal.is-open{opacity:1;pointer-events:auto}
.tes-push-modal__backdrop{position:absolute;inset:0;background:rgba(7,11,20,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tes-push-modal__card{position:relative;width:min(100%,420px);padding:28px 24px 22px;border-radius:28px;background:linear-gradient(160deg,#121a2c 0%,#1a2440 45%,#0d1324 100%);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(18px) scale(.96);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.tes-push-modal.is-open .tes-push-modal__card{transform:translateY(0) scale(1)}
.tes-push-modal__glow{position:absolute;top:-80px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.35) 0%,rgba(251,191,36,0) 70%);pointer-events:none}
.tes-push-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.tes-push-modal__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(251,191,36,.14);color:#fde68a;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.tes-push-modal__icon{width:64px;height:64px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);font-size:30px;box-shadow:0 12px 30px rgba(245,158,11,.35);margin-bottom:16px}
.tes-push-modal__title{margin:0 0 10px;font-size:1.65rem;line-height:1.1;font-weight:900;letter-spacing:-.02em}
.tes-push-modal__text{margin:0 0 16px;color:rgba(255,255,255,.78);line-height:1.55;font-size:.98rem}
.tes-push-modal__text--sub{margin:-8px 0 8px;font-size:.88rem;color:rgba(255,255,255,.65)}
.tes-push-modal__features{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.tes-push-modal__features li{position:relative;padding-left:28px;color:#e5e7eb;font-size:.92rem;line-height:1.45}
.tes-push-modal__features li:before{content:"✓";position:absolute;left:0;top:0;color:#fbbf24;font-weight:900}
.tes-push-modal__primary,.tes-push-modal__secondary,.tes-push-shortcode__btn{width:100%;border:0;border-radius:18px;padding:15px 18px;font-size:1rem;font-weight:800;cursor:pointer}
.tes-push-modal__primary{background:linear-gradient(135deg,#ffffff 0%,#eef2ff 100%);color:#111827;box-shadow:0 12px 28px rgba(255,255,255,.16);margin-bottom:10px}
.tes-push-modal__secondary{background:transparent;color:rgba(255,255,255,.72);padding:10px}
.tes-push-modal__reset{width:100%;margin-top:8px;background:transparent;border:0;color:rgba(255,255,255,.45);font-size:.78rem;font-weight:700;cursor:pointer}
.tes-push-modal__debug{display:none;margin-top:14px;padding:12px;border-radius:14px;background:rgba(0,0,0,.35);font-size:.75rem;max-height:120px;overflow:auto;color:#dbeafe}
.tes-push-modal.is-debug .tes-push-modal__debug{display:block}
.tes-push-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:1000000;padding:14px 18px;border-radius:999px;background:#111827;color:#fff;font-weight:700;box-shadow:0 16px 40px rgba(0,0,0,.28);max-width:min(92vw,420px);text-align:center}
.tes-push-shortcode{display:grid;gap:10px}
.tes-push-shortcode__btn{background:linear-gradient(135deg,#ffffff,#eef2ff);border:0;color:#111827;border-radius:18px;padding:14px 18px;font-weight:800}
@media (max-width:520px){
  .tes-push-modal{align-items:flex-end;padding:0}
  .tes-push-modal__card{width:100%;border-radius:28px 28px 0 0;padding-bottom:max(22px, env(safe-area-inset-bottom))}
}
