/* Teephak STEP40A — global visible submit status */
.tph40-progress{
  position:fixed;inset:0;z-index:2147483000;
  display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(15,23,42,.36);
  backdrop-filter:blur(2px);
}
.tph40-progress.is-open{display:flex}
.tph40-progress__card{
  width:min(92vw,520px);background:#fff;border:1px solid #d9e3df;
  border-radius:14px;padding:20px;box-sizing:border-box;
  box-shadow:0 18px 55px rgba(15,23,42,.18);
  color:#203832;font-family:inherit;
}
.tph40-progress__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.tph40-progress__spinner{
  width:26px;height:26px;border:3px solid #dce7e3;border-top-color:#118565;
  border-radius:50%;animation:tph40spin .8s linear infinite;flex:0 0 auto
}
@keyframes tph40spin{to{transform:rotate(360deg)}}
.tph40-progress__title{font-size:18px;font-weight:800;line-height:1.35}
.tph40-progress__detail{font-size:14px;color:#5f706a;line-height:1.55;margin-top:5px}
.tph40-progress__bar{
  position:relative;height:7px;border-radius:5px;background:#e5ece9;
  overflow:hidden;margin:15px 0 9px
}
.tph40-progress__bar::after{
  content:"";position:absolute;top:0;bottom:0;width:42%;
  background:#118565;border-radius:5px;
  animation:tph40bar 1.25s ease-in-out infinite
}
@keyframes tph40bar{
  0%{left:-45%}50%{left:48%}100%{left:105%}
}
.tph40-progress__timer{font-size:12px;color:#74817d}
.tph40-progress__wait{
  display:none;margin-top:12px;padding:9px 11px;border-radius:8px;
  background:#f2f7f5;color:#41564f;font-size:13px;line-height:1.45
}
.tph40-progress.is-long .tph40-progress__wait{display:block}
form.tph40-submitting [type="submit"]{
  opacity:.7;cursor:wait;pointer-events:none
}
@media(max-width:650px){
  .tph40-progress{padding:14px}
  .tph40-progress__card{padding:17px;border-radius:12px}
  .tph40-progress__title{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  .tph40-progress__spinner,.tph40-progress__bar::after{animation-duration:2.4s}
}