.ss-otp { margin: 12px 0 4px; padding: 12px; border: 1.5px dashed var(--ss-taupe, #A08670); border-radius: 12px; background: var(--ss-bg, #F0EFEA); color: var(--ss-ink, #1B2A1F); font-size: 14px; }
.ss-otp[hidden], .ss-otp [hidden] { display: none !important; }
.ss-otp-msg { margin: 0 0 10px; line-height: 1.4; }
.ss-otp-msg.is-error { color: #8a1f1f; font-weight: 600; }
.ss-otp-msg.is-ok { margin: 0; color: var(--ss-green, #2D4A2E); font-weight: 700; }
.ss-otp label { display: block; margin: 0 0 4px; font-weight: 600; font-size: 14px; }
.ss-otp-row { display: flex; gap: 8px; }
.ss-otp input[type=text] { flex: 1 1 auto; min-width: 0; height: 48px; box-sizing: border-box; padding: 0 12px; border: 1.5px solid var(--ss-taupe, #A08670); border-radius: 10px; background: #fff; font-size: 20px; letter-spacing: .3em; text-align: center; }
.ss-otp button { min-height: 48px; padding: 0 14px; border: 0; border-radius: 999px; font-weight: 700; font-size: 15px; cursor: pointer; }
.ss-otp-send, .ss-otp-check { background: var(--ss-green, #2D4A2E); color: #fff; }
.ss-otp-send { width: 100%; }
.ss-otp-check { flex: none; }
.ss-otp-resend { display: block; width: 100%; margin-top: 8px; background: #fff; color: var(--ss-ink, #1B2A1F); border: 1.5px solid var(--ss-taupe, #A08670) !important; }
.ss-otp button:disabled { opacity: .55; cursor: default; }
.ss-otp.is-busy { opacity: .8; }
.ss-quick .ss-otp { margin-top: 12px; }
