/* Extracted from Frontend/register/userSignup.php (SEO audit item A7). */
label[for="otpBox0"] { font-size: 22px; }
    .otp-boxes { gap: 10px; }
    .otp-box {
        width: 52px; height: 56px; padding: 0; text-align: center;
        font-size: 22px; font-weight: 600; border-radius: 8px;
    }
    .otp-box:focus { border-color: #07911d; box-shadow: 0 0 0 3px rgba(7,145,29,.12); }
    .otp-box.filled { border-color: #07911d; }
    .otp-box:disabled { background: #f5f6f7; opacity: .7; }
    .otp-success-icon {
        width: 64px; height: 64px; border-radius: 50%; background: #e6f4ea;
        display: flex; align-items: center; justify-content: center; margin: 0 auto;
    }
    #emailOtpGroup.otp-verified-state .otp-boxes { justify-content: center; }
    #step1ContinueBtn:disabled { opacity: .5; cursor: not-allowed; }
    /* .tb-spinner / .tb-spin are defined in style.css next to the icon rules. */
    #step1ContinueBtn .tb-spinner { width: 14px; height: 14px; margin-left: 6px; vertical-align: -2px; }
    #emailOtpMsg, #otpCountdown { font-size: 14px; }
    #emailOtpMsg.ok { color: #07911d; }
    #emailOtpMsg.err { color: #d33; }
    #otpCountdown #otpCountdownTime { font-weight: 600; font-variant-numeric: tabular-nums; }
    #otpCountdown.expired { color: #d33; }
