.mb-register-form-box{ width: calc(100% - 40px); max-width: 375px; margin: 0 auto; padding: 100px 0; }
.mb-register-form-box input[type="text"],
.mb-register-form-box input[type="email"],
.mb-register-form-box input[type="tel"],
.mb-register-form-box select{ padding: 0 5px; width: 100%; height: 35px; font-size: 14px; border: 1px solid #555; border-radius: 5px; outline: none; }
.mb-register-form-box select{ padding: 0; }
.mb-register-mt-20{ margin-top: 20px; }
.mb-register-row{ display: flex; flex-wrap: wrap; gap: 10px; }
.mb-register-label{ display: block; font-size: 14px; line-height: 1.5; }
.mb-register-sub-label{ font-size: 12px; line-height: 1.5; }
.mb-register-form-group{ flex:1; }
.mb-register-tel-short{ width: 40px !important; }
.mb-register-flex1{ flex: 1; }
.mb-register-inline-flex-end{ display: inline-flex; align-items: flex-end; gap:5px; }
.mb-register-45p{ width: 40%; }
.mb-register-btn{ position: relative; width: 100%; height: 50px; line-height: 1.2; display: inline-flex; justify-content: center; align-items: center; color:#fff; font-size: 14px; font-weight: 400; text-align: center; background-color: #31bf68; border:1px solid #31bf68; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,.3); }
.mb-register-btn svg,
.mb-register-link svg{ position: absolute; right: 10px; top:50%; transform: translateY(-50%); width: 18px; height: 18px; }
.mb-register-btn.retake svg{ left: 20%; }
.mb-register-btn:hover{ color: #fff; text-decoration: none; }
.mb-register-form-footer{ width: 100%; margin-top: 20px; padding-top: 40px; border-top:1px solid #555; }
.actions{ display: none; width: 100%; }
.actions .mb-register-btns{ width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
.actions .mb-register-btn.retake svg{ left: 9px; }
.actions .mb-register-btn.next svg{ left: calc(100% - 22px); }
.actions .mb-register-btn{ width: 45%; max-width: 130px; } 

.camera-wrap {
  text-align: center;
}

.ec-errorMessage{
  color:red;
}

.camera-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}

.camera-wrap video, .camera-wrap canvas {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.camera-wrap .overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.camera-wrap .overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
}

.camera-wrap .circle {
  position: absolute;
  width: 90%;
  height: 90%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  box-shadow: 0 0 0 9999px rgba(255,255,255,.6);
  border: 3px solid #fff;
}

.capture-btn {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #4CAF50;
  border: none;
  margin: 16px auto;
  cursor: pointer;
  border: 5px solid #fff;
}
.capture-btn::before{ content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #fff; border: 1px solid #a5a5a5; border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,.3); }
.capture-btn::after{ content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 85%; height: 85%; background-color: #4CAF50; border-radius: 50%; }

.camera-wrap .note {
  font-size: 13px;
  color: #666;
  margin-top: 8px;
}

.mb-reigster-checkbox{ display: inline-flex; gap: 5px; }
.mb-reigster-checkbox input[type="checkbox"] {
  appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
  outline: none;
  border:2px solid #31bf68;
}

.mb-reigster-checkbox input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background-color: #fff;
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.mb-reigster-checkbox input[type="checkbox"]:checked{background-color: #31bf68;}

.mb-reigster-checkbox input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.mb-register-form-footer-preview{ margin: 120px auto 0; width: 100%; max-width: 80%; display: flex; flex-direction: column; align-items: center; }
.mb-register-form-footer-preview.success,
.mb-register-form-footer-preview.fail{ margin-top: 0; }
.mb-register-form-footer-preview .mb-register-btns{ margin-top: 20px; width: 80%; }
.mb-register-pht{ overflow: hidden; border-radius: 50%; position: relative; }
.mb-register-preview--pht{ width: 150px; height: 150px; top: -70px; margin-bottom: -70px; float: right; }
.mb-register-sucess--pht{ width: 100px; height: 100px; top:-20px; margin:0 auto -20px; }
.mb-register-pht img{ width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.mb-register-preview{ font-size: 14px; line-height: 1.5; }
.mb-register-preview dt{ padding-top: 10px; font-weight: 400; }
.mb-register-preview dd{ padding-bottom: 10px; border-bottom: 1px solid #c1c1c1; }
.mb-register-icon{ width: 160px; height: 160px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: 0 auto; border-radius: 50%; }
.mb-register-icon svg{ width: 140px; height: 140px; }
.mb-register-icon.icon-success{ background-color: #31bf68; }
.mb-register-icon.icon-fail{ background-color: #d73a3a; }
.mb-register-messge{ margin-bottom: 20px; text-align: center; }
.mb-register-messge p{ font-size: 14px; }
.mb-register-messge h2{ font-size: 18px; }
.mb-register-messge.success-message h2{ color:#31bf68; }
.mb-register-messge.fail-message h2{ color:#d73a3a; }

.mb-register-link{ margin-top: 20px; position: relative; padding: 8px 10px; width: 100%; display: block; font-size: 14px; color:#525263; border:1px solid #c1c1c1; background-color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.3); border-radius: 5px; }
.mb-register-link:hover{ color:#525263; text-decoration: none; }
