.popup-overlay{
  position:fixed;inset:0;z-index:90;
  display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(20,49,58,.62);backdrop-filter:blur(5px);
}
.popup-overlay.open{display:flex}

.popup-box{
  width:100%;max-width:360px;padding:34px 26px 28px;
  text-align:center;background:#fff;border-radius:var(--r-lg);
  box-shadow:var(--sh-lg);
  animation:pop .28s cubic-bezier(.2,.9,.3,1.3);
}
@keyframes pop{from{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:none}}

.popup-spinner{
  width:46px;height:46px;margin:0 auto 18px;
  border:4px solid var(--line);border-top-color:var(--teal);
  border-radius:50%;animation:spin .85s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.popup-box.done .popup-spinner{
  border-color:var(--teal);animation:none;
  background:var(--teal);position:relative;
}
.popup-box.done .popup-spinner::after{
  content:'✓';position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:24px;font-weight:700;
}

.popup-box h3{font-size:18px;margin-bottom:9px}
.popup-sub{font-size:12.8px;line-height:1.6;color:var(--ink-3)}

.popup-steps{
  list-style:none;margin:20px 0 0;padding:0;text-align:left;
}
.popup-steps li{
  position:relative;padding:7px 0 7px 28px;
  font-size:12.8px;color:var(--ink-3);
  transition:color .25s;
}
.popup-steps li::before{
  content:'';position:absolute;left:6px;top:12px;
  width:9px;height:9px;border-radius:50%;
  background:var(--line);transition:background .25s,transform .25s;
}
.popup-steps li.active{color:var(--ink);font-weight:500}
.popup-steps li.active::before{background:var(--teal);transform:scale(1.25)}
.popup-steps li.done{color:var(--ink-2)}
.popup-steps li.done::before{background:var(--teal)}

.popup-wait{margin-top:18px;font-size:12px;color:var(--ink-3)}

.popup-close{
  display:none;width:100%;margin-top:18px;padding:13px;
  font-size:14.5px;font-weight:600;color:#fff;
  background:linear-gradient(135deg,var(--teal-dk),var(--teal));
  border:0;border-radius:var(--r-sm);cursor:pointer;
}
.popup-box.done .popup-close{display:block}
.popup-box.done .popup-wait{display:none}
