.lr_form_cus { max-width: 560px; margin: 0 auto; padding: 38px 20px 60px; }
.lr_form_cus .card { background: #fff; border: 1px solid #e4e7ee; border-radius: 16px; box-shadow: 0 18px 50px rgba(19, 41, 79, .10); padding: 34px; font-family: "DM Sans", system-ui, -apple-system, sans-serif; }
.lr_form_cus .tabs { display: flex; gap: 6px; background: #f3f4f8; border-radius: 11px; padding: 5px; margin-bottom: 22px; }
.lr_form_cus .tabs button { flex: 1; border: 0; background: transparent; padding: 10px; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; color: #7a8094; transition: .2s; }
.lr_form_cus .tabs button.active { background: #fff; color: #13294f; box-shadow: 0 1px 4px rgba(19,41,79,.12); }
.lr_form_cus .tab_content { display: none; }
.lr_form_cus .tab_content.active { display: block; }
.lr_form_cus .hidden { display: none; }
.lr_form_cus h1 { font-family: "Bebas Neue", sans-serif; color: #13294f; font-size: 34px; font-weight: 400; line-height: 1.05; margin: 6px 0 8px; }
.lr_form_cus .sub { color: #7a8094; font-size: 14px; line-height: 1.5; margin-bottom: 22px !important; }
.lr_form_cus .field { display: block; margin-bottom: 16px; }
.lr_form_cus .lab { display: block; font-size: 13px; font-weight: 600; color: #2a3a5c; margin-bottom: 7px; }
.lr_form_cus .pw { position: relative; display: block; }
.lr_form_cus input[type="email"], .lr_form_cus input[type="password"], .lr_form_cus input[type="text"] { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1.5px solid #e4e7ee; border-radius: 10px; font-size: 15px; color: #13294f; background: #fcfcfd; }
.lr_form_cus .pw-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #004aad; font-size: 13px; font-weight: 600; cursor: pointer; padding: 6px 8px; width: auto !important; }
.lr_form_cus .primary { width: 100%; border: 0; background: #004aad; color: #fff; font-size: 15px; font-weight: 700; padding: 14px; border-radius: 11px; cursor: pointer; margin-top: 4px; }
.lr_form_cus .primary:disabled { background: #b9c0d6; cursor: not-allowed; }
.lr_form_cus .back { border: 0; background: transparent; color: #7a8094; font-size: 13px; font-weight: 600; cursor: pointer; padding: 0; margin-bottom: 14px; width: auto !important; }
.lr_form_cus .code { display: flex; gap: 10px; margin-bottom: 15px; }
.lr_form_cus .code input { width: 100%; text-align: center; font-size: 24px; font-weight: 700; border: 1.5px solid #e4e7ee; border-radius: 12px; padding: 12px 0; }
.lr_form_cus .code input:focus{ border-color: #004aad; background: #fff; box-shadow: 0 0 0 3px rgba(46,79,214,.12); }
.lr_form_cus .fineprint { font-size: 13px; color: #7a8094; text-align: center; margin-top: 15px; }
.lr_form_cus .link { border: 0; background: transparent; color: #004aad; font-weight: 600; width: auto !important; padding: 0; font-size: 13px;}
.otp-message { padding: 12px 15px; margin: 15px 0; border-radius: 8px; font-size: 14px; font-weight: 500; text-align: center;}
.otp-message.success{ background:#e7f8ec; color:#0f7b36; border:1px solid #9fe0b5;}
.otp-message.error{ background:#fff0f0; color:#d93025; border:1px solid #f0b5b0; }
.primary.loading,.link.loading{opacity:.8;pointer-events:none;position:relative;}
.primary.loading::after, .link.loading::after{ content:''; width:16px; height:16px; margin-left:8px; display:inline-block; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:btnSpin .8s linear infinite; vertical-align:middle; }

@keyframes btnSpin{
    to{
        transform:rotate(360deg);
    }
}


/* Responsive */
@media (max-width: 767px) {

    .lr_form_cus{
        padding: 20px 15px 40px;
    }

    .lr_form_cus .card{
        padding: 24px 18px;
        border-radius: 12px;
    }

    .lr_form_cus h1{
        font-size: 28px;
        line-height: 1.1;
    }

    .lr_form_cus .sub{
        font-size: 13px;
        margin-bottom: 18px !important;
    }

    .lr_form_cus .tabs{
        margin-bottom: 18px;
    }

    .lr_form_cus .tabs button{
        font-size: 13px;
        padding: 10px 8px;
    }

    .lr_form_cus input[type="email"],
    .lr_form_cus input[type="password"],
    .lr_form_cus input[type="text"]{
        font-size: 14px;
        padding: 12px;
    }

    .lr_form_cus .primary{
        padding: 13px;
        font-size: 14px;
    }

    .lr_form_cus .code{
        gap: 6px;
    }

    .lr_form_cus .code input{
        font-size: 20px;
        padding: 10px 0;
        min-width: 42px;
    }

    .lr_form_cus .pw-toggle{
        font-size: 12px;
        right: 6px;
    }

    .lr_form_cus .fineprint,
    .lr_form_cus .link{
        font-size: 12px;
    }
}

@media (max-width: 480px) {

    .lr_form_cus{
        padding: 15px 10px 30px;
    }

    .lr_form_cus .card{
        padding: 20px 15px;
    }

    .lr_form_cus h1{
        font-size: 24px;
    }

    .lr_form_cus .code{
        gap: 5px;
    }

    .lr_form_cus .code input{
        font-size: 18px;
        padding: 8px 0;
    }
}