.jane-register .margin-bottom-20{
    margin-bottom: 20px;
}
.jane-register .margin-bottom-30{
    margin-bottom: 30px;
}
.jane-register .margin-bottom-40{
    margin-bottom: 40px;
}
.jane-register .margin-bottom-160{
    margin-bottom: 160px;
}
.jane-register .jane a{
    color: #169fda;
    text-decoration: none;
}
.jane-register .jane{
    font-family: "Sofia Pro", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #6b7a92;
}
.jane-register .jane .text-bold{
    font-family: "Sofia Pro Bold", Arial, sans-serif;
    font-weight: 800;
}
.jane-register .jane .text-semi{
    font-family: "Sofia Pro Semibold", Arial, sans-serif;
    font-weight: 500;
}
.jane-register .jane .ultra-light{
    font-family: "Sofia Pro Light", Arial, sans-serif;
    font-weight: 300;
}
.jane-register .jane .new-signup-text{
    color: #252525;
    margin-bottom: 45px;
}
.jane-register .jane .new-signup-text a{
    margin-left: 20px;
    color: #fff;
}
.jane-register .jane h1{
    font-size: 44px;
    letter-spacing: 0;
    color: var(--vl-dark);
}
.jane-register .jane h2{
    font-size: 32px;
    letter-spacing: 0;
}
.jane-register .column{
    position: relative;
    padding: 60px 60px;
}
.jane-register .full-bg{
    background-size: cover;
    background-position: center;
}
.jane-register .vitlab-bg{
    background: #00c0ca;
    color: #fff;
    font-size: 20px;
    line-height: 26px;
}
.jane-register .block-with-icon{
    margin-bottom: 30px;
    display: flex;
    justify-content: start;
    align-items: center;
    line-height: 24px;
}
.jane-register .block-icon{
    margin-right: 16px;
    width: 62px;
    height: 62px;
    min-width:62px;
}
.jane-register .block-with-icon img{
    width: 62px;
    height: 62px;
}
.jane-register .logo-block{
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
}
.jane-register .logo-block img{
    max-width: 500px;
    width: 100%;
    height: auto;
}
.jane-register .copyright{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30px;
    opacity: 0.7;
    font-size: 12px;
    text-align: center;
    color: #FFFFFF;
}
.jane-register .info-text{
    color: #333;
}
.jane-register .jane .form-row .input-col{
    position: relative;
}
.jane-register .jane .form-row input[type="checkbox"] ~ label{
    margin-left: 8px;
    margin-bottom: 0;
}
.jane-register .jane .form-row input.form-control,
.jane-register .jane .form-row textarea,
.jane-register .jane .form-row select.form-control{
    padding: 19px 20px;
    background: #FFFFFF;
    border: 1px solid #D2DDEE;
    border-radius: 16px;
    height: 64px;
}
.jane-register .jane .form-row input[name="new_password"].form-control {
    padding-right: 80px;
}
.jane-register .jane .form-row input[name="repeat_password"].form-control {
    padding-right: 44px;
}
.jane-register .jane .form-row label,
.jane-register .jane .form-row input.form-control,
.jane-register .jane .form-row select.form-control {
    font-family: Karla, sans-serif;
    font-weight: 300;
    font-size: calc(14px + (18 - 14) * ((100vw - 375px) / (1728 - 375)));
    font-style: normal;
    line-height: 1.3;
    letter-spacing: 0.5px;
    color: var(--vl-light-gray);
}
.jane-register .jane .form-row select.form-control,
.jane-register select.form-control:not([size]):not([multiple]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url('../../imgs/chevron-down.svg') no-repeat calc(100% - 20px) 50% #fff;
}
.jane-register .jane .form-row input.form-control::placeholder,
.jane-register .jane .form-row select.form-control::placeholder,
.jane-register .jane .form-row select.form-control {
    color: var(--vl-light-gray);
}
.jane-register .jane .form-row label.checkbox-styler {
    display: block;
    position: relative;
    margin-bottom: 25px;
    cursor: pointer;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: var(--vl-dark);
    padding: 14px 20px 14px 64px;
    border: 1px solid #D2DDEE;
    border-radius: 16px;
    text-align: left;
    background: #FFFFFF;
}
.jane-register .jane .form-row label.checkbox-styler input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.jane-register .checkmark {
    position: absolute;
    top: 50%;
    left: 20px;
    height: 28px;
    width: 28px;
    border: 1px solid #D2DDEE;
    border-radius: 6px;
    transform: translateY(-50%);
}
.jane-register .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.jane-register .jane .form-row label.checkbox-styler input:checked ~ .checkmark:after {
    display: block;
}
.jane-register .jane .form-row label.checkbox-styler .checkmark:after {
    left: 7px;
    top: 0px;
    width: 12px;
    height: 18px;
    border: solid var(--vl-dark);
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.jane-register .validation_error {
    color: #721c24;
    background-color: var(--vl-white);
    border: 1px solid #721c24;
    padding: 2px 7px;
    border-radius: 3px;
    position: absolute;
    top: -15px;
    display: block;
    text-align: left;
    left: 23px;
}

/* Password strength meter - horizontal bar inside right end of input */
.jane-register .password-strength-meter {
    display: none;
    position: absolute;
    right: 32px;
    top: 25px;
    pointer-events: none;
}
.jane-register .password-strength-meter.visible {
    display: block;
}
.jane-register .strength-bar {
    width: 50px;
    height: 8px;
    background: #E0E0E0;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}
.jane-register .strength-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    border-radius: 3px;
    transition: width 0.3s, background-color 0.3s;
}
.jane-register .strength-low .strength-fill {
    width: 33%;
    background-color: #dc3545;
}
.jane-register .strength-medium .strength-fill {
    width: 66%;
    background-color: #ffc107;
}
.jane-register .strength-high .strength-fill {
    width: 100%;
    background-color: #28a745;
}

/* Password match icon inside repeat password field */
.jane-register .password-match-icon {
    position: absolute;
    right: 32px;
    top: 16px;
    width: 24px;
    height: 24px;
    pointer-events: none;
}
.jane-register .password-match-icon.mismatch::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23dc3545'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") no-repeat center;
}
.jane-register .password-match-icon.match::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2328a745'%3E%3Cpath d='M13.485 3.515a.5.5 0 0 1 0 .708l-7.07 7.07a.5.5 0 0 1-.708 0l-3.182-3.182a.5.5 0 1 1 .708-.708L6.414 10.17l6.364-6.364a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E") no-repeat center;
}

/* Captcha box styling to match checkbox-styler */
.jane-register .jane .form-row .anr_captcha_field,
.jane-register .jane .form-row .g-recaptcha {
    padding: 14px 20px;
    border: 1px solid #D2DDEE;
    border-radius: 16px;
    margin-bottom: 25px;
    display: inline-block;
    background: #FFFFFF;
}

/* Jane header */
.jane-register .jane-header-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.jane-register .jane-header-nav .sitepract-logo {
    text-align: center;
}
.jane-register .jane-header-nav .jane-header-login {
    position: absolute;
    right: 0;
}
.jane-register .jane-header-nav .jane-header-login a {
    font-family: "Sofia Pro Semibold", Arial, sans-serif;
    font-weight: 600;
    color: var(--vl-primary);
    font-size: 16px;
    text-decoration: none;
}
.jane-register .jane-header-nav .jane-header-login a:hover {
    text-decoration: underline;
}

/* Login form card */
.jane-register #jane-login {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.jane-register #jane-login .jane-login-card {
    max-width: 500px;
    width: 100%;
}
.jane-register #jane-login .jane-login-card .form-row {
    margin-bottom: 16px;
}
.jane-register #jane-login h1 {
    text-align: center;
    margin-bottom: 20px;
}

/* Toggle capsule pill — shared style for both signup and login toggles */
.jane-register .jane-toggle-capsule,
.jane-register .new-signup-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    background: #EBF4FF;
    border: 1px solid var(--vl-primary);
    border-radius: 46px;
    padding: 8px 8px 8px 24px;
    margin: 0 auto 40px;
    width: fit-content;
    font-size: 15px;
    color: #252525;
}
.jane-register .jane-toggle-capsule span,
.jane-register .new-signup-text {
    white-space: nowrap;
}
.jane-register .jane-register-pill,
.jane-register .new-signup-text a {
    background-color: var(--vl-primary);
    color: #fff !important;
    padding: 10px 24px;
    border-radius: 30px;
    margin-left: 12px;
    font-family: "Sofia Pro Semibold", Arial, sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
    white-space: nowrap;
}
.jane-register .jane-register-pill:hover,
.jane-register .new-signup-text a:hover {
    background-color: #1a3a8a;
}

/* Forgot password */
.jane-register .forgot-password-text {
    text-align: center;
    margin-bottom: 25px;
}
.jane-register .forgot-password-text a {
    color: #002E82;
    text-decoration: none;
    font-size: 14px;
}
.jane-register .forgot-password-text a:hover {
    text-decoration: underline;
}

/* Login copyright */
.jane-register .login-copyright {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    bottom: auto !important;
    margin-top: auto;
    padding-top: 30px;
    color: #6b7a92;
    opacity: 0.7;
    font-size: 12px;
    text-align: center;
}

/* Button */
.jane-register .jane .btn.jane-submit-btn {
    background-color: var(--vl-primary);
    color: #fff;
    font-family: "Sofia Pro Semibold", Arial, sans-serif;
    font-weight: 600;
    font-size: 18px;
    padding: 18px 80px;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    width: 80%;
    max-width: 420px;
    display: block;
    margin: 0 auto 15px;
}
.jane-register .jane .btn:hover {
    background-color: #1a3a8a;
    color: #fff;
}

/* You agree text */
.jane-register .jane .you-agree-text {
    text-align: center;
    font-size: 13px;
    color: #6b7a92;
}
.jane-register .jane .you-agree-text a {
    color: #169fda;
}

/* Right panel content container */
.jane-register .vitlab-bg section {
    max-width: 650px;
    margin: 0 auto;
}

/* Right panel text colors on teal background */
.jane-register .vitlab-bg .block-text {
    color: #fff;
    font-weight: 600;
}
.jane-register .vitlab-bg p {
    color: rgba(255, 255, 255, 0.85);
}

/* Full-height layout */
.jane-register .main.jane {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.jane-register .main.jane #main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.jane-register .main.jane #main-content > section {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.jane-register .main.jane #main-content > section > .container-fluid {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.jane-register .main.jane #main-content > section > .container-fluid > .row {
    flex: 1;
}
.jane-register .main.jane .col-lg-6.column.full-bg.vitlab-bg {
    min-height: 100%;
}

/* Responsive */
@media (max-width: 991px) {
    .jane-register .column {
        padding: 40px 30px;
    }
    .jane-register .jane h1 {
        font-size: 32px;
    }
}
@media (max-width: 767px) {
    .jane-register .column {
        padding: 30px 20px;
    }
    .jane-register .copyright {
        position: relative;
        left: auto;
        transform: none;
        bottom: auto;
        margin-top: 30px;
        text-align: center;
    }
}
