/* Access, registration and recovery share the modern Ganabid shell. */
body.modern-auth-page { background: #f6f7f8; color: #171717; }
body.modern-auth-page #container, body.modern-auth-page #maincontent { width: 100%; margin: 0; padding: 0; background: transparent; }
body.modern-auth-page .doc_width { width: calc(100% - 48px); max-width: 1080px; margin: 0 auto; }
body.modern-auth-page .box.clearfix { padding: 36px 0 56px; }
body.modern-auth-page .page_heading, body.modern-auth-page .top_heading { float: none; height: auto; margin: 0 0 24px; padding: 0; background: transparent; }
body.modern-auth-page .page_heading h1, body.modern-auth-page .top_heading h1 { position: relative; margin: 0; color: #171717; font-family: Arial, Helvetica, sans-serif; font-size: 31px; font-weight: 700; line-height: 1.2; text-align: center; }
body.modern-auth-page .page_heading h1:after, body.modern-auth-page .top_heading h1:after { position: absolute; top: 55%; right: 0; left: 0; z-index: 0; height: 1px; margin: 0; background: #d9dcdf; }
body.modern-auth-page .top_heading h1 .whit_bg { position: relative; z-index: 1; display: inline-block; padding: 0 16px; background: #f6f7f8; }
body.modern-auth-page .main_content, body.modern-auth-page .main_content_middle { background: transparent; }
body.modern-auth-page .main_content_login { padding: 0; }
body.modern-auth-page .loginbg_inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
body.modern-auth-page .login-left, body.modern-auth-page .login-right, body.modern-auth-page .regleft { box-sizing: border-box; width: auto; margin: 0; padding: 28px; background: #fff; border: 1px solid #e3e5e7; border-radius: 8px; box-shadow: 0 3px 14px rgba(20,25,30,.04); }
body.modern-auth-page .login-left h1, body.modern-auth-page .login-right h1, body.modern-auth-page .regleft h1 { margin: 0 0 10px; color: #171717; font-family: Arial, Helvetica, sans-serif; font-size: 21px; font-weight: 700; line-height: 1.3; }
body.modern-auth-page .login-right p, body.modern-auth-page .login-left p { margin: 0 0 16px; color: #66707a; font-size: 14px; line-height: 1.45; }
body.modern-auth-page fieldset { margin: 0; padding: 0; border: 0; }
body.modern-auth-page fieldset .input { float: none; width: auto; margin: 0 0 14px; padding: 0; }
body.modern-auth-page fieldset label, body.modern-auth-page fieldset .text label, body.modern-auth-page fieldset .password label { display: block; float: none; width: auto; margin: 0 0 7px; padding: 0; color: #30363b; font-size: 13px; font-weight: 700; text-align: left; }
body.modern-auth-page fieldset input[type="text"], body.modern-auth-page fieldset input[type="password"], body.modern-auth-page fieldset input[type="email"], body.modern-auth-page fieldset select { box-sizing: border-box; width: 100%; min-height: 43px; margin: 0 0 6px; padding: 9px 11px; color: #202428; border: 1px solid #d9dde1; border-radius: 4px; background: #fff; font-size: 15px; }
body.modern-auth-page fieldset input:focus, body.modern-auth-page fieldset select:focus { border-color: #c99317; box-shadow: 0 0 0 3px rgba(201,147,23,.14); outline: 0; }
body.modern-auth-page fieldset div.submit, body.modern-auth-page fieldset .submit { float: none; margin: 16px 0 0 !important; padding: 0; text-align: left; }
body.modern-auth-page fieldset div.submit input, body.modern-auth-page fieldset .submit input { min-height: 43px; margin: 0; padding: 0 20px; color: #fff; border: 1px solid #171717; border-radius: 4px; background: #171717; font-size: 14px; font-weight: 700; text-transform: uppercase; }
body.modern-auth-page fieldset div.submit input:hover, body.modern-auth-page fieldset .submit input:hover { color: #171717; border-color: #d3a022; background: #d3a022; }
body.modern-auth-page .login-left > div:first-child { margin-bottom: 22px; }
body.modern-auth-page .login-left > div:first-child + br { display: none; }
body.modern-auth-page .login-left label a { color: #a87408 !important; font-size: 13px; font-weight: 600; }
body.modern-auth-page .login-left form input.username, body.modern-auth-page .login-left form input.password { display: block; }
body.modern-auth-page .main_content > .main_content_middle { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 24px; }
body.modern-auth-page .main_content > .main_content_middle > br { display: none; }
body.modern-auth-page .regleft { min-width: 0; }
body.modern-auth-page .regleft + .login-left { align-self: start; }
body.modern-auth-page .reset .main_content_middle { display: block; max-width: 620px; margin: 0 auto; padding: 28px; background: #fff; border: 1px solid #e3e5e7; border-radius: 8px; box-shadow: 0 3px 14px rgba(20,25,30,.04); }
body.modern-auth-page .reset .login_left, body.modern-auth-page .reset .login_right { display: inline-block; width: 48%; margin-top: 26px; vertical-align: top; }
body.modern-auth-page .quick-register-page { max-width: none; margin: 0; padding: 0; }
body.modern-auth-page .quick-register-shell { border: 1px solid #e3e5e7; border-radius: 8px; box-shadow: 0 3px 14px rgba(20,25,30,.04); }
body.modern-auth-page .quick-register-main, body.modern-auth-page .quick-register-side { padding: 30px 34px; }
@media (max-width:760px) { body.modern-auth-page .doc_width { width: calc(100% - 28px); } body.modern-auth-page .box.clearfix { padding: 20px 0 88px; } body.modern-auth-page .page_heading h1, body.modern-auth-page .top_heading h1 { font-size: 25px; } body.modern-auth-page .loginbg_inner, body.modern-auth-page .main_content > .main_content_middle { display: block; } body.modern-auth-page .login-left, body.modern-auth-page .login-right, body.modern-auth-page .regleft { margin-bottom: 14px; padding: 20px; } body.modern-auth-page .regleft + .login-left { margin-top: 14px; } body.modern-auth-page .reset .main_content_middle { padding: 20px; } body.modern-auth-page .reset .login_left, body.modern-auth-page .reset .login_right { display: block; width: auto; margin-top: 18px; } body.modern-auth-page .quick-register-main, body.modern-auth-page .quick-register-side { padding: 22px 18px; } }


/* Prevent the legacy wrapper from becoming a second grid column. */
body.modern-auth-page,
body.modern-auth-page #container,
body.modern-auth-page #maincontent,
body.modern-auth-page .doc_width > .box.clearfix,
body.modern-auth-page .main_content { background: #f6f7f8 !important; }
body.modern-auth-page .main_content { display: block !important; }
body.modern-auth-page .main_content_login > .main_content_middle { display: block !important; }
body.modern-auth-page .main_content:not(.main_content_login):not(.reset) > .main_content_middle { display: grid !important; grid-template-columns: minmax(0, 1fr) 290px !important; gap: 24px !important; }
body.modern-auth-page .loginbg_inner { width: auto !important; }
body.modern-auth-page .login-left, body.modern-auth-page .login-right, body.modern-auth-page .regleft { float: none !important; }
@media (max-width:760px) { body.modern-auth-page .main_content:not(.main_content_login):not(.reset) > .main_content_middle { display: block !important; } }


/* Dedicated login experience. It does not depend on the legacy two-column markup. */
body.modern-auth-page .modern-login-page {
    width: calc(100% - 48px);
    max-width: 980px;
    margin: 0 auto;
    padding: 48px 0 72px;
}
body.modern-auth-page .modern-login-shell {
    display: grid;
    grid-template-columns: minmax(260px, .85fr) minmax(360px, 1fr);
    overflow: hidden;
    border: 1px solid #e1e4e7;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(21, 25, 29, .09);
}
body.modern-auth-page .modern-login-aside {
    min-height: 480px;
    padding: 48px 42px;
    background: #fbf5e9;
    border-right: 1px solid #eadbb6;
    color: #283039;
}
body.modern-auth-page .modern-login-aside-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 28px;
    color: #fff;
    border-radius: 50%;
    background: #c99317;
}
body.modern-auth-page .modern-login-aside-icon svg {
    width: 27px;
    height: 27px;
}
body.modern-auth-page .modern-login-eyebrow,
body.modern-auth-page .modern-login-kicker {
    margin: 0 0 9px;
    color: #b78008;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
body.modern-auth-page .modern-login-aside h2 {
    margin: 0 0 16px;
    color: #1d252d;
    font: 700 28px/1.15 Arial, Helvetica, sans-serif;
}
body.modern-auth-page .modern-login-aside > p:not(.modern-login-eyebrow) {
    max-width: 300px;
    margin: 0;
    color: #59636d;
    font-size: 15px;
    line-height: 1.55;
}
body.modern-auth-page .modern-login-benefits {
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}
body.modern-auth-page .modern-login-benefits li {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    margin: 0 0 13px;
    color: #34404b;
    font-size: 14px;
    line-height: 1.35;
}
body.modern-auth-page .modern-login-benefits span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: #fff;
    border-radius: 50%;
    background: #c99317;
    font-size: 12px;
}
body.modern-auth-page .modern-login-card {
    box-sizing: border-box;
    padding: 48px 52px 38px;
    background: #fff;
}
body.modern-auth-page .modern-login-heading h1 {
    margin: 0 0 8px;
    color: #171b1f;
    font: 700 30px/1.2 Arial, Helvetica, sans-serif;
}
body.modern-auth-page .modern-login-heading > p:last-child {
    margin: 0;
    color: #6a747d;
    font-size: 15px;
    line-height: 1.5;
}
body.modern-auth-page .modern-login-google {
    margin-top: 27px;
}
body.modern-auth-page .modern-login-google > * {
    display: inline-block;
    max-width: 100%;
}
body.modern-auth-page .modern-login-divider {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 25px 0 21px;
    color: #8a9299;
    font-size: 12px;
}
body.modern-auth-page .modern-login-divider:before,
body.modern-auth-page .modern-login-divider:after {
    flex: 1;
    height: 1px;
    content: "";
    background: #e5e7e9;
}
body.modern-auth-page .modern-login-form {
    margin: 0;
}
body.modern-auth-page .modern-login-field {
    margin: 0 0 16px;
}
body.modern-auth-page .modern-login-field label {
    display: block;
    margin: 0 0 7px;
    color: #30363b;
    font-size: 13px;
    font-weight: 700;
}
body.modern-auth-page .modern-login-input-wrap {
    position: relative;
}
body.modern-auth-page .modern-login-input-wrap > svg {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 19px;
    height: 19px;
    color: #86909a;
    pointer-events: none;
    transform: translateY(-50%);
}
body.modern-auth-page .modern-login-input-wrap input {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 11px 12px 11px 43px;
    color: #20262b;
    border: 1px solid #dce0e3;
    border-radius: 5px;
    background: #fff;
    font-size: 15px;
}
body.modern-auth-page .modern-login-input-wrap input:focus {
    border-color: #c99317;
    box-shadow: 0 0 0 3px rgba(201,147,23,.14);
    outline: 0;
}
body.modern-auth-page .modern-login-help {
    margin: -2px 0 20px;
    text-align: right;
}
body.modern-auth-page .modern-login-help a {
    color: #a87309;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
body.modern-auth-page .modern-login-help a:hover {
    color: #171b1f;
    text-decoration: underline;
}
body.modern-auth-page .modern-login-submit {
    width: 100%;
    min-height: 47px;
    padding: 0 18px;
    color: #fff;
    border: 1px solid #171b1f;
    border-radius: 5px;
    background: #171b1f;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
}
body.modern-auth-page .modern-login-submit:hover {
    color: #171b1f;
    border-color: #d3a022;
    background: #d3a022;
}
body.modern-auth-page .modern-login-register {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 24px;
    padding-top: 20px;
    color: #69727a;
    border-top: 1px solid #e5e7e9;
    font-size: 13px;
}
body.modern-auth-page .modern-login-register a {
    color: #a87309;
    font-weight: 700;
    text-decoration: none;
}
body.modern-auth-page .modern-login-register a:hover {
    color: #171b1f;
    text-decoration: underline;
}
@media (max-width:760px) {
    body.modern-auth-page .modern-login-page {
        width: calc(100% - 28px);
        padding: 22px 0 92px;
    }
    body.modern-auth-page .modern-login-shell {
        display: block;
    }
    body.modern-auth-page .modern-login-aside {
        min-height: 0;
        padding: 28px 24px 24px;
        border-right: 0;
        border-bottom: 1px solid #eadbb6;
    }
    body.modern-auth-page .modern-login-aside h2 {
        font-size: 23px;
    }
    body.modern-auth-page .modern-login-benefits {
        display: none;
    }
    body.modern-auth-page .modern-login-card {
        padding: 30px 24px 25px;
    }
    body.modern-auth-page .modern-login-card h1 {
        font-size: 26px;
    }
    body.modern-auth-page .modern-login-register {
        display: block;
        line-height: 1.8;
    }
    body.modern-auth-page .modern-login-register a {
        display: block;
    }
}

/* Legacy float containment: keeps the footer below access and registration pages. */
html:has(body.modern-auth-page) { background: #f4f6f8 !important; }
body.modern-auth-page #container,
body.modern-auth-page #maincontent {
    display: flow-root !important;
    min-height: calc(100vh - 74px);
    float: none !important;
    clear: both !important;
}
