

    .custom-otp-form .card {
        max-width: 450px;
        margin: 50px auto;
        padding: 30px;
        border-radius: 16px;
        border: none;
    }

    .custom-otp-form .timer-wrapper {
        position: relative;
        width: 140px;
        height: 140px;
        margin: 0 auto 20px;
    }

    .custom-otp-form .timer-circle {
        width: 140px;
        height: 140px;
        border-radius: 50%;
        background: conic-gradient(#2ecc71 0deg, #e9f7ef 0deg);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .custom-otp-form .timer-inner {
        width: 100px;
        height: 100px;
        background: #e9f7ef;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        color: #2ecc71;
    }

    .custom-otp-form .otp-section {
        margin: 30px 0;
    }

    .custom-otp-form .otp-input,
    #resetPasswordForm .recovery-otp-input {
        width: 55px;
        height: 55px;
        text-align: center;
        font-size: 20px;
        border-radius: 8px;
        border: 1px solid #ddd;
    }

        .custom-otp-form .otp-input:focus,
        #resetPasswordForm .recovery-otp-input:focus {
            border-color: #0d6efd;
            box-shadow: none;
        }

    .custom-otp-form .btn-confirm {
        background-color: #9db8f0;
        border: none;
        height: 50px;
        font-size: 16px;
    }

        .custom-otp-form .btn-confirm:hover {
            background-color: #7fa0ea;
        }

    .custom-otp-form .link {
        color: #0d6efd;
        font-size: 14px;
        text-decoration: none;
    }

    #resendOtp {
        display: none;
    }

    .custom-otp-form .recovery-otp-digits {
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    #resetPasswordForm .recovery-otp-input {
        min-width: 0;
        max-width: 55px;
        padding: 0;
        margin: 0;
        float: none;
        background: #fff;
        direction: ltr;
    }

    #resetPasswordForm .card {
        width: 100%;
        box-sizing: border-box;
    }

    #resetPasswordForm .btn-confirm {
        width: 100%;
        margin-bottom: 12px;
        padding: 0 12px;
    }

    #recoveryCountdown {
        text-align: center;
    }

    @media (max-width: 480px) {
        #resetPasswordForm .card { padding: 20px 10px; margin: 25px auto; }
        .custom-otp-form .recovery-otp-digits { gap: 5px; }
    }
