/* Scoped to the six password-recovery code inputs. */
.rb-password-code-row {
    display:flex !important; flex-wrap:nowrap !important; justify-content:center !important;
    align-items:center !important; gap:8px !important;
    width:100% !important; max-width:352px !important;
    margin:22px auto 0 !important; padding:0 !important;
}
.rb-password-code-row::before, .rb-password-code-row::after { display:none !important; }
.rb-password-code-row > .rb-password-code-cell {
    position:relative !important; float:none !important; flex:0 1 52px !important;
    width:52px !important; min-width:0 !important; max-width:52px !important;
    margin:0 !important; padding:0 !important;
}
.rb-password-code-row .control_code {
    box-sizing:border-box !important; display:block !important;
    width:100% !important; min-width:0 !important; max-width:52px !important;
    height:60px !important; min-height:60px !important;
    padding:0 !important; margin:0 !important; border:1px solid #b9c5d1 !important;
    border-radius:9px !important; background:#fff !important; color:#173e61 !important;
    font-family:Arial, sans-serif !important; font-size:26px !important;
    font-weight:500 !important; line-height:normal !important;
    text-align:center !important; text-indent:0 !important;
    letter-spacing:0 !important; box-shadow:none !important;
}
.rb-password-code-row .control_code:focus {
    border-color:#215886 !important; outline:2px solid #215886 !important;
    outline-offset:2px !important; background:#fff !important; color:#173e61 !important;
}
.rb-password-code-row .control_code::placeholder { color:transparent !important; opacity:0 !important; }
.rb-password-code-row label { 
    position:absolute !important; width:1px !important; height:1px !important;
    padding:0 !important; margin:-1px !important; overflow:hidden !important;
    clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
.rb-password-code-timer {
    font-size:20px !important; line-height:1.4 !important; font-weight:400 !important;
    text-align:center !important; color:#677585 !important;
    margin:18px auto 24px !important; padding:0 !important;
}
@media (max-width:380px) {
    .rb-password-code-row { gap:5px !important; }
    .rb-password-code-row > .rb-password-code-cell { flex-basis:38px !important; max-width:38px !important; }
    .rb-password-code-row .control_code { height:50px !important; min-height:50px !important; font-size:24px !important; }
}

/* Consistent email / verification / new-password card. */
.rb-password-recovery-card {
    box-sizing:border-box !important; width:calc(100% - 24px) !important;
    max-width:600px !important; margin:28px auto 36px !important;
    padding:32px !important; background:#fff !important;
    border:1px solid #e0e7ef !important; border-top:4px solid #173e61 !important;
    border-radius:16px !important; box-shadow:0 8px 28px rgba(18,49,77,.07) !important;
}
.rb-password-recovery-card > h1, .rb-password-recovery-card > h2,
.rb-password-recovery-card .page-subheading {
    font-size:24px !important; line-height:1.35 !important; font-weight:600 !important;
    color:#173e61 !important; margin:0 0 22px !important; padding:0 0 18px !important;
    border-bottom:1px solid #e7ecf1 !important;
}
.rb-password-recovery-card p { line-height:1.6; }
.rb-password-recovery-form { width:100% !important; max-width:100% !important; margin:0 !important; }
.rb-password-recovery-form fieldset { min-width:0 !important; padding:0 !important; border:0 !important; }
.rb-password-recovery-form .form-group { margin-bottom:20px; }
.rb-password-recovery-form input[type="email"],
.rb-password-recovery-form input[type="password"],
.rb-password-recovery-form input#passwd,
.rb-password-recovery-form input#confirm_password {
    box-sizing:border-box !important; width:100% !important; max-width:100% !important;
    min-height:52px !important; font-size:17px !important; border-radius:8px !important;
    background:#fff !important; color:#192f42 !important;
}
.rb-password-recovery-form input[type="password"],
.rb-password-recovery-form input#passwd,
.rb-password-recovery-form input#confirm_password { padding:12px 42px 12px 14px !important; }
.rb-password-recovery-form input:focus:not(.control_code) {
    outline:2px solid #215886 !important; outline-offset:2px !important;
}
.rb-password-recovery-form .form-error input,
.rb-password-recovery-form input.error,
.rb-password-recovery-form input[aria-invalid="true"] { border-color:#c73434 !important; }
.rb-password-recovery-form .help { font-size:14px !important; color:#5f6d79 !important; margin:12px 0 22px !important; }
.rb-password-recovery-form button[type="submit"] {
    box-sizing:border-box !important; width:100% !important; min-height:50px !important;
    padding:12px 18px !important; border:1px solid #eca800 !important;
    border-radius:9px !important; background:linear-gradient(110deg,#ffcb35,#f5aa08) !important;
    color:#152e43 !important; font-size:17px !important; font-weight:600 !important;
}
.rb-password-recovery-form button[type="submit"]:focus-visible {
    outline:3px solid #215886 !important; outline-offset:3px !important;
}
.rb-password-recovery-card .alert { overflow-wrap:anywhere; font-size:14px !important; line-height:1.55 !important; }
.rb-password-recovery-card .footer_links { margin-top:22px !important; }
@media (max-width:600px) {
    .rb-password-recovery-card { margin:18px auto 26px !important; padding:22px 16px !important; }
    .rb-password-recovery-card > h1, .rb-password-recovery-card > h2,
    .rb-password-recovery-card .page-subheading { font-size:21px !important; }
}

/* Mobile theme rules must not stack the six code cells vertically. */
@media (max-width:767px) {
    .rb-password-recovery-card .rb-password-code-row,
    #key_check .rb-password-code-row,
    .rb-password-code-form .rb-password-code-row {
        display:grid !important;
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        grid-template-rows:auto !important;
        grid-auto-flow:row !important;
        flex-direction:row !important;
        gap:6px !important;
        width:100% !important; max-width:324px !important;
        margin:20px auto 0 !important;
        padding:0 !important;
    }
    .rb-password-recovery-card .rb-password-code-row > .rb-password-code-cell,
    #key_check .rb-password-code-row > .rb-password-code-cell,
    .rb-password-code-form .rb-password-code-row > .rb-password-code-cell {
        display:block !important; float:none !important;
        width:100% !important; min-width:0 !important; max-width:none !important;
        flex:none !important; grid-column:auto !important; grid-row:auto !important;
        margin:0 !important; padding:0 !important;
    }
    .rb-password-recovery-card .rb-password-code-row .control_code,
    #key_check .rb-password-code-row .control_code,
    .rb-password-code-form .rb-password-code-row .control_code {
        width:100% !important; min-width:0 !important; max-width:none !important;
        height:50px !important; min-height:50px !important;
        font-size:24px !important; padding:0 !important;
    }
    .rb-password-recovery-card .alert { text-align:left !important; word-spacing:normal !important; }
}
