/* Login page styled to match the domain module */
.stc-login-page,
.stc-login-page *{box-sizing:border-box}

.stc-login-page{
    background:#f6f9fe!important;
    color:#111827!important;
    min-height:auto!important;
    /* Mobile/tablet header stays in normal flow, so only add visual spacing. */
    padding:32px 0 20px!important;
}

.stc-login-page .container{
    max-width:1160px!important;
    margin:0 auto!important;
    padding-left:20px!important;
    padding-right:20px!important;
}

.stc-login-page .row{justify-content:center!important}
.stc-login-page .col-lg-6{
    width:100%!important;
    max-width:560px!important;
    padding:0!important;
    margin:0 auto!important;
}

.stc-login-page .login-userset{
    width:100%!important;
    max-width:none!important;
    background:#fff!important;
    border:1px solid #dce5f0!important;
    border-radius:18px!important;
    padding:30px!important;
    box-shadow:0 14px 40px rgba(15,23,42,.06)!important;
}

.stc-login-page .login-card{
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.stc-login-page .login-heading{
    text-align:center!important;
    margin:0 0 28px!important;
}

.stc-login-icon{
    width:54px!important;
    height:54px!important;
    margin:0 auto 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:16px!important;
    background:#eef6ff!important;
    color:#1677ff!important;
    border:1px solid #dbeafe!important;
}
.stc-login-icon svg{width:28px!important;height:28px!important;display:block!important}

.stc-login-page .login-heading h3{
    margin:0 0 7px!important;
    color:#111827!important;
    font-size:28px!important;
    line-height:1.25!important;
    font-weight:800!important;
    letter-spacing:-.02em!important;
}

.stc-login-page .login-heading p{
    margin:0!important;
    color:#64748b!important;
    font-size:14px!important;
    line-height:1.6!important;
}

.stc-login-page .form-wrap{
    margin-bottom:18px!important;
}

.stc-login-page .form-focus .form-control{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    border:1px solid #d8e1eb!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#111827!important;
    padding:0 46px 0 14px!important;
    font-size:14px!important;
    line-height:48px!important;
    outline:none!important;
    box-shadow:none!important;
    transition:border-color .18s,box-shadow .18s!important;
}

.stc-login-page .form-focus .form-control:focus,
.stc-login-page .form-focus.focused .form-control{
    border-color:#1677ff!important;
    box-shadow:0 0 0 3px rgba(22,119,255,.10)!important;
    background:#fff!important;
}

.stc-login-page .form-focus .focus-label{
    color:#64748b!important;
    font-size:14px!important;
    left:14px!important;
}

.stc-login-page .form-focus.focused .focus-label,
.stc-login-page .form-focus .form-control:focus~.focus-label,
.stc-login-page .form-focus .form-control:-webkit-autofill~.focus-label{
    top:0!important;
    left:11px!important;
    color:#1677ff!important;
    background:#fff!important;
    padding:0 5px!important;
    font-size:12px!important;
    font-weight:600!important;
}

.stc-login-page .form-icon{
    right:15px!important;
    color:#94a3b8!important;
    z-index:3!important;
}
.stc-login-page .form-focus:focus-within .form-icon{color:#1677ff!important}

.stc-login-page .stc-login-options{
    gap:16px!important;
    margin:2px 0 4px!important;
}
.stc-login-page .stc-login-options .form-wrap{margin-bottom:14px!important}

.stc-login-page .custom_check{
    color:#475569!important;
    font-size:13px!important;
    line-height:20px!important;
}
.stc-login-page .custom_check .checkmark{
    border:1px solid #cbd5e1!important;
    border-radius:6px!important;
}
.stc-login-page .custom_check input:checked~.checkmark{
    background:#1677ff!important;
    border-color:#1677ff!important;
}

.stc-login-page .forgot-link,
.stc-login-page .acc-in p a{
    color:#1677ff!important;
    font-weight:700!important;
    text-decoration:none!important;
}
.stc-login-page .forgot-link:hover,
.stc-login-page .acc-in p a:hover{color:#0958d9!important}

.stc-login-page #btnLoginPage{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    border:0!important;
    border-radius:12px!important;
    background:#1677ff!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:800!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    box-shadow:none!important;
    transition:.18s!important;
}
.stc-login-page #btnLoginPage:hover{
    background:#0958d9!important;
    color:#fff!important;
    transform:translateY(-1px)!important;
}
.stc-login-page #btnLoginPage:disabled{
    opacity:.6!important;
    transform:none!important;
    cursor:not-allowed!important;
}

.stc-login-page .login-or{
    color:#94a3b8!important;
    margin:22px 0!important;
    padding:4px 0!important;
    font-size:12px!important;
}
.stc-login-page .login-or::before,
.stc-login-page .login-or::after{border-color:#e2e8f0!important}
.stc-login-page .span-or{background:#fff!important;color:#94a3b8!important}

.stc-login-page .login-social-link{
    padding:0!important;
    margin:0!important;
    list-style:none!important;
}
.stc-login-page .login-social-link li{
    width:100%!important;
    max-width:none!important;
}
.stc-login-page .login-social-link li a{
    width:100%!important;
    min-height:48px!important;
    border:1px solid #d8e1eb!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#334155!important;
    box-shadow:none!important;
    font-weight:700!important;
}
.stc-login-page .login-social-link li a:hover{
    border-color:#1677ff!important;
    color:#1677ff!important;
    background:#f8fbff!important;
}

.stc-login-page .acc-in{
    margin-top:22px!important;
    padding-top:20px!important;
    border-top:1px solid #edf2f7!important;
    text-align:center!important;
}
.stc-login-page .acc-in p{
    margin:0!important;
    color:#64748b!important;
    font-size:14px!important;
    font-weight:500!important;
}

.stc-login-page .stc-login-captcha{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
}
.stc-login-page .stc-login-captcha::-webkit-scrollbar{display:none!important}

/* Desktop header is position:absolute, so content starts behind it.
   Reserve the header height (~68px) + ~52px visual gap. */
@media(min-width:1199.5px){
    .stc-login-page{
        padding-top:120px!important;
        padding-bottom:60px!important;
    }
}

@media(max-width:767px){
    .stc-login-page{
        padding:28px 0 18px!important;
    }
    .stc-login-page .container{
        padding-left:14px!important;
        padding-right:14px!important;
    }
    .stc-login-page .login-userset{
        padding:20px!important;
        border-radius:14px!important;
    }
    .stc-login-page .login-heading h3{
        font-size:24px!important;
    }
    .stc-login-page .stc-login-options{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:0!important;
    }
    .stc-login-page .stc-login-options>div:last-child{
        width:100%!important;
    }
    .stc-login-page .stc-login-options .text-md-end{
        text-align:left!important;
    }
}

/* Shared auth buttons: register / forgot password / reset password */
.stc-login-page #btnRegister,
.stc-login-page #btnForgotPassword,
.stc-login-page #btnReset{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    border:0!important;
    border-radius:12px!important;
    background:#1677ff!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:800!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    box-shadow:none!important;
    transition:.18s!important;
}
.stc-login-page #btnRegister:hover,
.stc-login-page #btnForgotPassword:hover,
.stc-login-page #btnReset:hover{
    background:#0958d9!important;
    color:#fff!important;
    transform:translateY(-1px)!important;
}
.stc-login-page #btnRegister:disabled,
.stc-login-page #btnForgotPassword:disabled,
.stc-login-page #btnReset:disabled{
    opacity:.6!important;
    transform:none!important;
    cursor:not-allowed!important;
}
.stc-login-page .stc-auth-note{
    color:#64748b!important;
    font-size:13px!important;
    line-height:1.6!important;
    margin-top:-4px!important;
    margin-bottom:18px!important;
}
.stc-login-page .stc-auth-note a{
    color:#1677ff!important;
    font-weight:700!important;
    text-decoration:none!important;
}
.stc-login-page .stc-auth-note a:hover{color:#0958d9!important}
