#pf-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pf2-fade .25s ease both}
#pf-overlay .pf-modal{width:100%;max-width:400px;background:#fff;color:#0f172a;border-radius:24px;padding:28px 22px 18px;text-align:center;box-shadow:0 30px 80px rgba(2,6,23,.35);animation:pf2-rise .35s cubic-bezier(.2,.9,.3,1.1) both}
#pf-overlay .pf-ico{position:relative;width:84px;height:84px;margin:4px auto 18px;display:grid;place-items:center}
#pf-overlay .pf-glow{position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.35),rgba(34,197,94,0) 68%);animation:pf2-pulse 2s ease-in-out infinite}
#pf-overlay .pf-arc{position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(rgba(34,197,94,.55),rgba(34,197,94,0) 55%);animation:pf2-spin 1.6s linear infinite}
#pf-overlay .pf-sq{position:relative;width:76px;height:76px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(145deg,#34d27f,#0f9d58);box-shadow:0 10px 24px rgba(15,157,88,.4)}
#pf-overlay .pf-ico-ok .pf-arc,#pf-overlay .pf-ico-bad .pf-arc,#pf-overlay .pf-ico-info .pf-arc{display:none}
#pf-overlay .pf-ico-ok .pf-sq{animation:pf2-pop .5s cubic-bezier(.2,1.5,.4,1) both}
#pf-overlay .pf-ico-bad .pf-sq{background:linear-gradient(145deg,#f87171,#dc2626);box-shadow:0 10px 24px rgba(220,38,38,.35);animation:pf2-shake .45s both}
#pf-overlay .pf-ico-bad .pf-glow{background:radial-gradient(circle,rgba(239,68,68,.3),rgba(239,68,68,0) 68%)}
#pf-overlay .pf-ico-info .pf-sq{background:linear-gradient(145deg,#fbbf24,#d97706);box-shadow:0 10px 24px rgba(217,119,6,.35)}
#pf-overlay .pf-ico-info .pf-glow{background:radial-gradient(circle,rgba(245,158,11,.3),rgba(245,158,11,0) 68%)}
#pf-overlay h3{margin:0 0 6px;font-size:23px;font-weight:800;letter-spacing:-.01em;color:#0f172a}
#pf-overlay .pf-sub{margin:0 auto 18px;max-width:320px;font-size:14.5px;line-height:1.5;color:#64748b}
#pf-overlay .pf-sub b{color:#334155}
#pf-overlay .pf-boxes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
#pf-overlay .pf-boxes div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:11px 8px}
#pf-overlay .pf-boxes small{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:3px}
#pf-overlay .pf-boxes strong{display:block;font-size:16px;color:#0f172a;overflow-wrap:anywhere}
#pf-overlay .pf-steps{display:flex;margin:6px 0 14px}
#pf-overlay .pf-s{flex:1;position:relative;font-size:12px;color:#94a3b8;line-height:1.25;padding:0 2px}
#pf-overlay .pf-s::before{content:"";position:absolute;top:6px;right:50%;width:100%;height:3px;background:#e2e8f0;z-index:0}
#pf-overlay .pf-s:first-child::before{display:none}
#pf-overlay .pf-s i{position:relative;z-index:1;display:block;width:15px;height:15px;margin:0 auto 8px;border-radius:50%;background:#fff;border:3px solid #cbd5e1}
#pf-overlay .pf-s.done i{background:#16a34a;border-color:#16a34a}
#pf-overlay .pf-s.done::before,#pf-overlay .pf-s.act::before{background:#16a34a}
#pf-overlay .pf-s.done span{color:#16a34a}
#pf-overlay .pf-s.act i{border-color:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.18)}
#pf-overlay .pf-s.act span{color:#0f172a;font-weight:700}
#pf-overlay .pf-track{height:6px;border-radius:99px;background:#e2e8f0;overflow:hidden;margin:6px 6px 8px}
#pf-overlay .pf-track i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,#22c55e,#16a34a);transform-origin:left;animation:pf2-count 120s linear forwards}
#pf-overlay .pf-cd{margin:0 0 6px;font-size:13.5px;color:#475569}
#pf-overlay .pf-btn{display:block;width:100%;margin:6px 0 4px;padding:13px;border:0;border-radius:13px;background:linear-gradient(145deg,#34d27f,#0f9d58);color:#fff;font-weight:700;font-size:15px;cursor:pointer}
#pf-overlay .pf-link{background:none;border:0;padding:8px;margin:2px 0;color:#475569;text-decoration:underline;font-size:14px;cursor:pointer}
#pf-overlay .pf-sec{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px 0 0;font-size:12px;color:#94a3b8}
@keyframes pf2-fade{from{opacity:0}to{opacity:1}}
@keyframes pf2-rise{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes pf2-pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}
@keyframes pf2-spin{to{transform:rotate(360deg)}}
@keyframes pf2-pop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes pf2-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes pf2-count{from{transform:scaleX(1)}to{transform:scaleX(0)}}
/* v3 progress-window motion */
#pf-overlay .pf-sq{z-index:1}
#pf-overlay .pf-ico::before,#pf-overlay .pf-ico::after{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid rgba(34,197,94,.5);opacity:0;pointer-events:none;animation:pf3-ripple 2.4s ease-out infinite}
#pf-overlay .pf-ico::after{animation-delay:1.2s}
#pf-overlay .pf-ico-ok::before,#pf-overlay .pf-ico-ok::after,#pf-overlay .pf-ico-bad::before,#pf-overlay .pf-ico-bad::after,#pf-overlay .pf-ico-info::before,#pf-overlay .pf-ico-info::after{display:none}
#pf-overlay .pf-ico-busy .pf-sq svg{transform-origin:50% 70%;animation:pf3-ring 2.6s ease-in-out infinite}
#pf-overlay .pf-track i{position:relative;overflow:hidden}
#pf-overlay .pf-track i::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:pf3-shine 1.6s ease-in-out infinite}
#pf-overlay .pf-s.act i{animation:pf3-dot 1.6s ease-in-out infinite}
#pf-overlay .pf-ico-ok svg path{stroke-dasharray:26;stroke-dashoffset:26;animation:pf3-draw .55s .3s ease-out forwards}
@keyframes pf3-ripple{0%{transform:scale(.95);opacity:.65}100%{transform:scale(2);opacity:0}}
@keyframes pf3-ring{0%,55%,100%{transform:rotate(0)}8%,24%,40%{transform:rotate(-14deg)}16%,32%,48%{transform:rotate(14deg)}}
@keyframes pf3-shine{from{left:-40%}to{left:100%}}
@keyframes pf3-dot{0%,100%{box-shadow:0 0 0 4px rgba(22,163,74,.2)}50%{box-shadow:0 0 0 8px rgba(22,163,74,.05)}}
@keyframes pf3-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
#pf-overlay,#pf-overlay .pf-modal,#pf-overlay .pf-sq,#pf-overlay .pf-ico::before,#pf-overlay .pf-ico::after,#pf-overlay .pf-sq svg{animation:none!important}
#pf-overlay .pf-ico-ok svg path{animation:none!important;stroke-dashoffset:0!important}
}
