.krg-otp-verification { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:8px; }
.krg-otp-badge { display:inline-flex; align-items:center; font-size:13px; font-weight:600; }
.krg-otp-badge--verified { color:#16813b; }
.krg-otp-badge--unverified { color:#7a5b00; }
.krg-otp-action[hidden], .krg-phone-send[hidden] { display:none !important; }
.krg-otp-modal { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(15,23,42,.55); }
.krg-otp-modal__panel { position:relative; width:min(100%,460px); padding:28px; border-radius:10px; background:#fff; box-shadow:0 18px 50px rgba(0,0,0,.2); }
.krg-otp-modal__close { position:absolute; top:8px; right:12px; border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer; }
.krg-otp-row { display:flex; gap:10px; margin-top:14px; }
.krg-otp-row[hidden] { display:none; }
.krg-otp-input { min-width:0; flex:1; }
.krg-otp-status { width:100%; margin:12px 0 0; font-size:13px; }
.krg-otp-status--error, .krg-phone-status--error { color:#b42318; }
.krg-otp-status--success, .krg-phone-status--verified { color:#16813b; }
.krg-phone-verification[data-krg-mode="registration"] { display:block; margin-top:10px; }
.krg-phone-verification[data-krg-mode="registration"] .krg-phone-otp { max-width:180px; }
.krg-phone-status--pending { color:#555; }
@media (max-width:480px) {
  .krg-otp-modal { padding:12px; }
  .krg-otp-modal__panel { padding:24px 18px; }
  .krg-otp-row { flex-direction:column; }
  .krg-otp-row .button { width:100%; }
}
