.ip-modal {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  z-index:99999;
}

.ip-modal-content {
  background:#fff;
  margin:5vh auto;
  padding:24px;
  border-radius:16px;
  max-width:700px;
  max-height:90vh;
  overflow:auto;
}

/* WRAPPER */
.ip-step-wrapper {
  position:relative;
  min-height:420px;
}

/* STEPS */
.ip-step {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  pointer-events:none;
  transform:translateX(20px);
  transition:all .35s ease;
}

.ip-step.active {
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}

/* Resten */
.ip-steps { display:flex; justify-content:space-between; margin-bottom:12px; }
.step { width:32px; height:32px; border-radius:50%; background:#ddd; text-align:center; line-height:32px; font-weight:700; }
.step.active { background:#07d2a0; color:white; }

.ip-progress { width:100%; height:8px; background:#e6eef0; border-radius:6px; margin-bottom:24px; }
.ip-progress-bar { height:100%; width:25%; background:#07d2a0; transition:width .4s ease; }

.btn-primary { background:#07d2a0; color:white; width:100%; padding:14px; border:none; border-radius:10px; margin-top:12px; }
.btn-secondary { background:#e6eef0; color:#142b39; width:100%; padding:14px; border:none; border-radius:10px; margin-top:12px; }

input { width:100%; padding:10px; border-radius:8px; border:1px solid #e6eef0; margin-bottom:12px; }

.result { font-size:2.4rem; font-weight:800; }
.result2 { font-size:2rem; font-weight:800; }
