/* Public authentication presentation. Every selector stays inside .auth-page. */
.auth-page {
    --auth-green: #006b3c;
    --auth-dark: #063b2c;
    --auth-ink: #20282f;
    --auth-muted: #536071;
    --auth-border: #dce2e8;
    --primary-green: #006b3c;
    --primary-color: #006b3c;
    --primary-green-light: #348b53;
    --dark-green: #063b2c;
    color: var(--auth-ink);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    isolation: isolate;
}
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing: border-box; }
.auth-page :is(.text-success, .text-primary-green, .text-primary-custom, .text-primary-color, .text-green) { color: var(--auth-green) !important; }
.auth-page .text-dark { color: var(--auth-ink) !important; }
.auth-page :is(.text-muted, .text-secondary) { color: var(--auth-muted) !important; }
.auth-page :is(.bg-success-subtle, .bg-success-light, .bg-light-green) { background: #eaf5ed !important; }
.auth-page :is(.bg-primary-custom, .bg-primary-color) { background-color: var(--auth-green) !important; }
.auth-page .bg-dark-green { background: var(--auth-dark); }
.auth-page :is(.hero-sectionn, .hero-sectionnn, .login-section, .main-content) {
    position: relative;
    padding: 34px 0 !important;
    background: #f3f8f7;
    overflow: hidden;
}
.auth-page .container { position: relative; z-index: 1; max-width: 1200px !important; padding: 0 24px !important; }
.auth-page :is(.hero-bg, .hero-bg-shape) { display: none; }
.auth-page :is(.hero-sectionn, .hero-sectionnn)::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(90deg, #ffffff12, #ffffffd9 48%, #ffffff33), url('../images/auth/property-neighborhood.webp') center bottom / cover no-repeat;
    pointer-events: none;
}
.auth-page :is(.login-card, .form-card, .signup-card) {
    background: #fffffffa;
    border: 0;
    border-radius: 18px !important;
    box-shadow: 0 8px 22px #1e42321a !important;
    max-width: none !important;
    position: relative;
}
.auth-page :is(.card-body, .form-card, .signup-card) { padding: 30px 40px !important; }
.auth-page .form-card .card-body { padding: 0 !important; }
.auth-page :is(h1, h2, h3, h4, h5, h6) { letter-spacing: -.025em; line-height: 1.25; }
.auth-page :is(h1, .hero-title) { font-size: 34px !important; font-weight: 700; margin-bottom: 18px; }
.auth-page :is(.login-card h2, .login-card h3, .form-card h2, .form-card h3, .signup-card h3) { font-size: 28px !important; font-weight: 650; margin-bottom: 12px; }
.auth-page :is(.hero-subtitle, .hero-left > p, .agent-login-info > p, .banker-signup-info > div > p) {
    font-size: 15px !important; color: var(--auth-muted); line-height: 1.65; max-width: 390px; margin-bottom: 30px !important;
}
.auth-page :is(.feature-item, .feature-itemm) { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 26px !important; }
.auth-page :is(.feature-item, .feature-itemm, .benefits-list > div, .features-list > div) :is(h5, h6) { font-size: 14px !important; font-weight: 650 !important; margin-bottom: 5px !important; letter-spacing: -.015em; }
.auth-page :is(.feature-text p, .feature-item p, .feature-itemm p, .benefits-list p, .features-list p) { font-size: 13px !important; line-height: 1.6 !important; color: var(--auth-muted); max-width: 255px; margin: 0; }
.auth-page :is(.feature-icon, .feature-iconn) {
    width: 54px !important; height: 54px !important; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #badcc5; border-radius: 50%;
    background: #ffffffa6; color: var(--auth-green); margin-right: 0 !important; font-size: 25px;
}
.auth-page .features-list { margin-top: 30px !important; }
.auth-page :is(.agent-icon, .card-top-icon, .login-icon-top, .signup-avatar, .icon-user, .icon-circle, .user-avatar) {
    display: flex; align-items: center; justify-content: center;
    width: 68px !important; height: 68px !important;
    margin: 0 auto 14px; color: var(--auth-green);
    border: 0; border-radius: 50%; background: #eaf5ed !important;
    box-shadow: none !important; font-size: 32px;
}
.auth-page :is(.title-divider, .heading-line, .separator, .divider) { width: 100px !important; margin-inline: auto; }
.auth-page .title-divider { display: flex; align-items: center; gap: 6px; }
.auth-page .title-divider .dot { width: 6px; height: 6px; border-radius: 50%; }
.auth-page :is(.title-divider .line, .divider .line) { height: 2px !important; width: 42px; background: var(--auth-green) !important; }
.auth-page :is(.title-divider .dot, .divider .dot) { background: var(--auth-green); }
.auth-page .heading-line { height: 2px; background: linear-gradient(90deg, #006b3c, #006b3c10); }
.auth-page .form-header { text-align: center; margin-bottom: 26px; }
.auth-page .separator { height: 2px; background: var(--auth-green); position: relative; }
.auth-page .separator::after { content: ''; position: absolute; width: 7px; height: 7px; left: 46px; top: -2px; border-radius: 50%; background: var(--auth-green); box-shadow: 0 0 0 4px #fff; }
.auth-page :is(.form-label, .form-group > label) { display: block; font-size: 13px !important; font-weight: 500; color: #303944; margin-bottom: 7px; line-height: 1.45; }
.auth-page :is(.form-control, .form-select, .input-group-text) {
    min-height: 44px; height: 44px; border-color: var(--auth-border);
    border-radius: 6px; background-color: #ffffffc9;
    font-size: 13px !important; color: #344052; padding: 9px 13px;
}
.auth-page .input-group { flex-wrap: nowrap; }
.auth-page .input-group-text { display: flex; align-items: center; justify-content: center; color: #7b8593; padding: 9px 14px; }
.auth-page .input-group > :not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.auth-page .input-group > :not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.auth-page .form-control::placeholder { color: #808999; opacity: 1; }
.auth-page :is(.form-control, .form-select).is-invalid { border-color: #dc3545; }
.auth-page :is(.form-control, .form-select):focus { border-color: #419b70; box-shadow: 0 0 0 3px #19875414 !important; }
.auth-page :is(.custom-input-group, .login-input-group):focus-within { outline: 2px solid #19875433; outline-offset: 2px; border-radius: 6px; }
.auth-page :is(button, a, input, select):focus-visible { outline: 2px solid #228557; outline-offset: 3px; }
.auth-page .input-group .form-control:focus { z-index: 1; }
.auth-page .form-check-input { width: 15px; height: 15px; border-color: #cbd4df; border-radius: 3px; cursor: pointer; }
.auth-page .form-check-input:checked { background-color: var(--auth-green); border-color: var(--auth-green); }
.auth-page .form-check-label { color: #425063; font-size: 12px; line-height: 1.6; }
.auth-page :is(.btn-primary-custom, .btn-primary-green, .btn-signup, .btn-create-account) {
    display: flex; align-items: center; justify-content: center; gap: 9px;
    width: 100%; height: 44px; padding: 9px 14px;
    color: #fff !important; background: linear-gradient(105deg, #007143, #005b2f) !important;
    border: 0 !important; border-radius: 6px !important; font-size: 15px !important; font-weight: 600;
    transition: filter .18s ease, box-shadow .18s ease;
}
.auth-page :is(.btn-primary-custom, .btn-primary-green, .btn-signup, .btn-create-account):hover { filter: brightness(.93); box-shadow: 0 4px 12px #006b3c20; }
.auth-page :is(.btn-outline-custom, .btn-outline-success-custom) {
    height: 44px; font-size: 15px !important; color: var(--auth-green);
    border: 1px solid #85b69d; border-radius: 6px !important; background: transparent;
}
.auth-page :is(.btn-outline-custom, .btn-outline-success-custom):hover { background: #edf7f1; color: #005c34; }
.auth-page [data-send-email-otp] { white-space: nowrap; border: 1px solid #27884d; border-radius: 6px; font-size: 12px; background: #07803a; color: #fff; padding: 8px 14px; }
.auth-page [data-send-email-otp]:disabled { opacity: .65; }
.auth-page :is(.login-link, form > .text-center) { text-align: center; font-size: 13px; margin-top: 18px; }
.auth-page :is(.login-link a, form > .text-center a) { color: var(--auth-green); font-weight: 600; text-decoration: none; }
.auth-page .divider-wrapper { margin-block: 26px !important; }
.auth-page .divider-wrapper hr { border-color: #dce2e8; opacity: 1; }
.auth-page .divider-wrapper span { width: 34px; height: 34px; display: flex; justify-content: center; align-items: center; border: 1px solid #e4e9ed; border-radius: 50%; padding: 0 !important; font-size: 12px; }
.auth-page .section-title { border-left: 3px solid #16863f; padding-left: 12px; font-size: 14px; font-weight: 650; margin: 26px 0 14px; line-height: 1.2; }
.auth-page .section-title:first-child { margin-top: 0; }
.auth-page .section-titlee { font-size: 14px !important; gap: 0; position: relative; }
.auth-page .section-titlee::after { content: ''; height: 1px; flex: 1; margin-left: 14px; background: #e1e7e9; }
.auth-page .title-indicator { background: #16863f !important; }
.auth-page .file-upload-wrapper {
    display: flex; align-items: center; position: relative; overflow: hidden;
    width: 100%; height: 42px; border: 1px solid var(--auth-border); border-radius: 6px; background: #fff;
}
.auth-page .file-upload-wrapper input[type=file] { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.auth-page .file-upload-wrapper:focus-within { outline: 2px solid #228557; outline-offset: 3px; }
.auth-page .file-upload-btn { background: #f8f9fa; border-right: 1px solid var(--auth-border); padding: 6px 10px; margin: 5px; border-radius: 3px; font-size: 11px; white-space: nowrap; }
.auth-page .file-upload-text { padding: 0 8px; font-size: 12px; color: var(--auth-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-page .file-upload-icon { padding: 0 12px; color: #85909e; }
.auth-page input[type=file].form-control { padding: 5px 8px; font-size: 11px !important; }
.auth-page input[type=file]::file-selector-button { margin: -5px 8px -5px -8px; padding: 12px 10px; background: #f6f8f9; border: 0; border-right: 1px solid #dce2e8; font-size: 11px; }
.auth-page .success-card { display: flex; align-items: center; gap: 18px; padding: 22px; margin-top: 52px; max-width: 340px; background: #ffffffed; box-shadow: 0 4px 16px #28453212; border-radius: 12px; }
.auth-page .icon-check { color: #3a9850; font-size: 30px; }
.auth-page .success-card-text { font-size: 12px; color: var(--auth-muted); }
.auth-page .success-card-text strong { display: block; color: var(--auth-ink); margin-bottom: 4px; }

/* Agent: compact introduction beside the large card, with neighborhood backdrop. */
.auth-agent-login .hero-sectionn { min-height: 680px; }
.auth-agent-login .hero-sectionn::before { background: radial-gradient(ellipse at 29% 43%, #ffffffed, #ffffffaa 22%, transparent 50%), linear-gradient(#eaf5fc77, #ffffff22), url('../images/auth/property-neighborhood.webp') center bottom / 100% 100% no-repeat; }
.auth-agent-login .container { max-width: 1020px !important; }
.auth-agent-login .agent-login-info { width: 36%; padding: 0 28px 0 30px !important; }
.auth-agent-login .agent-login-info + div { width: 64%; padding-left: 20px !important; }
.auth-agent-login .login-card { max-width: 570px !important; }
.auth-agent-login .card-body { padding: 24px 44px 78px !important; }
.auth-agent-login .login-card::after { content: ''; position: absolute; inset: auto 0 0; height: 74px; background: url('../images/auth/skyline.svg') center bottom / 100% auto no-repeat; pointer-events: none; }
.auth-agent-login .welcome-text { font-size: 12px; }
.auth-agent-login .tracking-widest { letter-spacing: 0; }
.auth-agent-login .welcome-line { width: 34px; height: 1px; background: var(--auth-green); }
.auth-agent-login .features-list { margin-top: 36px !important; }
.auth-agent-login .feature-item { margin-bottom: 32px !important; }
.auth-agent-signup .hero-sectionn { padding: 40px 0 70px !important; }
.auth-agent-signup .hero-sectionn::before { background: linear-gradient(#f2f7f8, #f2f7f8 35%, transparent 65%), linear-gradient(90deg, #ffffff11, #ffffffb0 60%, #ffffff44), url('../images/auth/property-neighborhood.webp') center bottom / 100% auto no-repeat; background-color: #f2f7f8; }
.auth-agent-signup .hero-left-content { width: 36%; padding: 50px 42px 0 22px; }
.auth-agent-signup .hero-left-content + div { width: 64%; padding-left: 28px !important; }
.auth-agent-signup .form-card { max-width: 650px !important; padding: 26px 32px !important; }
.auth-agent-signup .hero-title { font-size: 31px !important; }
.auth-agent-signup .hero-title span { color: var(--auth-green); }
.auth-agent-signup .badge-agent { display: inline-flex; gap: 8px; border: 1px solid #aacdb6; border-radius: 15px 0 0 15px; padding: 3px 10px; color: var(--auth-green); font-size: 11px; font-weight: 700; margin-bottom: 20px; }
.auth-agent-signup .feature-iconn { background: #418654; color: #fff; border: 0; width: 60px !important; height: 60px !important; }
.auth-agent-signup .feature-item { margin-bottom: 36px !important; }
.auth-agent-signup .form-control, .auth-agent-signup .form-select, .auth-agent-signup .input-group-text { height: 42px; min-height: 42px; }
.auth-agent-signup form > .mb-4, .auth-agent-signup form > .row { margin-bottom: 20px !important; }
.auth-agent-signup .btn-signup { margin-top: 8px; }

/* Banker: pale mint scene and the partner registration's wider two-column form. */
.auth-banker-login .hero-sectionn { min-height: 670px; }
.auth-banker-login .hero-sectionn::before { background: radial-gradient(ellipse at 20% 35%, #f4faf2, #f4faf2ee 18%, transparent 55%), linear-gradient(90deg, #edf8f311, #ffffff77 60%, #f7fafb), url('../images/auth/bank-building.webp') 190px bottom / 850px auto no-repeat; }
.auth-banker-login .container { max-width: 1160px !important; }
.auth-banker-login .hero-left { width: 47%; padding-right: 74px !important; padding-bottom: 90px; }
.auth-banker-login .hero-left + div { width: 53%; padding-left: 16px !important; margin-top: 0 !important; }
.auth-banker-login .login-card { padding: 30px 44px 40px !important; }
.auth-banker-login .feature-item { margin-bottom: 22px !important; }
.auth-banker-login .login-input-group { border-color: var(--auth-border) !important; background: #fff; }
.auth-banker-signup .main-content { background: linear-gradient(110deg, #edf6f7, #fff); padding: 32px 0 !important; }
.auth-banker-signup .container { max-width: 1280px !important; }
.auth-banker-signup .banker-signup-info { width: 34%; padding: 75px 38px 0 16px; }
.auth-banker-signup .banker-signup-info + div { width: 66%; }
.auth-banker-signup .form-card { padding: 28px 34px !important; }
.auth-banker-signup .features-list { gap: 32px !important; margin-top: 40px !important; }
.auth-banker-signup .bank-image-container { position: relative; margin: 34px -38px 0 -80px; }
.auth-banker-signup .bank-building-img { display: block; width: 100%; height: 580px; object-fit: cover; object-position: 20% bottom; -webkit-mask-image: linear-gradient(transparent, #000 20%); mask-image: linear-gradient(transparent, #000 20%); }
.auth-banker-signup .secure-badge { border-radius: 12px !important; bottom: -22px !important; left: 28px !important; right: 16px !important; padding: 24px !important; }
.auth-banker-signup .form-control, .auth-banker-signup .form-select, .auth-banker-signup .input-group-text { min-height: 40px; height: 40px; }
.auth-banker-signup form > .mb-4, .auth-banker-signup form > .row { margin-bottom: 18px !important; padding-bottom: 0 !important; }
.auth-banker-signup form > .row.mb-5 { margin-bottom: 16px !important; }
.auth-banker-signup .btn-primary-custom { background: linear-gradient(105deg, #4e8d1b, #00642f) !important; }

/* User login: a unified card with a rounded dark green illustration panel. */
.auth-user-login .login-section { padding: 34px 0 !important; background: #f4faf4 url('../images/auth/property-neighborhood.webp') center bottom / cover no-repeat; }
.auth-user-login .login-section::before { content: ''; position: absolute; inset: 0; background: linear-gradient(#f5fcf1ef, #f5fcf1b0 55%, #f5fcf199); }
.auth-user-login .container { min-height: 0 !important; }
.auth-user-login .login-card { max-width: 890px !important; min-height: 560px; }
.auth-user-login .login-left { width: 45%; background: linear-gradient(145deg, #042e24, #00432f); border-radius: 18px 0 130px 18px; padding: 38px !important; }
.auth-user-login .login-right { width: 55%; padding: 28px 42px !important; border-radius: 0 18px 18px 0; }
.auth-user-login .login-left h2 { font-size: 36px !important; color: #fff; white-space: nowrap; }
.auth-user-login .text-primary-light { color: #a9df49; }
.auth-user-login .login-left .left-content > p { margin-bottom: 30px !important; font-size: 14px; line-height: 1.6; }
.auth-user-login .features-list { gap: 20px !important; margin-top: 0 !important; }
.auth-user-login .feature-item { gap: 16px; margin-bottom: 0 !important; }
.auth-user-login .feature-icon { background: #ffffff0b; border-color: #ffffff50; color: #b2df41; width: 52px !important; height: 52px !important; font-size: 22px; }
.auth-user-login .feature-item p { color: #d5e8de; font-size: 12px !important; }
.auth-user-login .feature-item h6 { color: #fff; font-size: 13px !important; }
.auth-user-login .decorative-image { pointer-events: none; }
.auth-user-login .house-img { position: absolute; bottom: -70px; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.auth-user-login .overlay-gradient { position: absolute; inset: 0; z-index: 1; background: linear-gradient(#043b2c55, #043b2c88 60%, transparent 86%); }
.auth-user-login .user-avatar { background: #fff !important; border: 1px solid #7ab03a; width: 52px !important; height: 52px !important; }
.auth-user-login .login-right > .text-center { margin-top: 0 !important; margin-bottom: 20px !important; }
.auth-user-login .btn-primary-custom { background: linear-gradient(100deg, #59a420, #006738) !important; }
.auth-user-login .btn-outline-custom { border-color: #d8dee5; color: #354052; }
.auth-user-login .login-section { background-image: url('../images/auth/investment-city.webp'); }
.auth-user-login .login-right a:not(.btn) { color: var(--auth-green) !important; font-weight: 600; }
.auth-user-signup .main-wrapper { position: relative; background: #eff7f9; }
.auth-user-signup .hero-sectionn { padding: 52px 0 60px !important; }
.auth-user-signup .hero-sectionn::before { background: radial-gradient(ellipse at 23% 35%, #f7fbf8eb, #f7fbf8b0 20%, transparent 53%), linear-gradient(90deg, #eff7f911, #ffffff88 64%, #ffffffd9), url('../images/auth/property-neighborhood.webp') left bottom / 100% 100% no-repeat; }
.auth-user-signup .container { max-width: 1140px !important; }
.auth-user-signup .hero-left-content { width: 38%; align-self: flex-start; padding-top: 20px; padding-right: 34px; }
.auth-user-signup .hero-left-content + div { width: 62%; }
.auth-user-signup .signup-card { max-width: 620px !important; padding: 26px 38px 38px !important; }
.auth-user-signup h1 { font-size: 30px !important; }
.auth-user-signup .hero-left-content .title-divider { margin-left: 0; }
.auth-user-signup .hero-left-content .features-list { gap: 28px !important; }
.auth-user-signup .feature-item { margin-bottom: 0 !important; }
.auth-user-signup .feature-iconn { background: #003d2b; border: 0; color: #b5dc43; width: 58px !important; height: 58px !important; }
.auth-user-signup .feature-iconn i { color: #b5dc43; }
.auth-user-signup .hero-left-content .lh-lg { font-size: 14px; line-height: 1.7 !important; max-width: 300px; }
.auth-user-signup .btn-create-account { background: linear-gradient(100deg, #006e41, #3d921f) !important; }
.auth-user-signup .signup-avatar { border: 1px solid #c7e1cf; background: #f4faf6 !important; }
.auth-user-signup .font-sm { font-size: 13px; }
.auth-user-signup .font-xs { font-size: 12px; }

/* Investor: city buildings beside benefits, with broad form cards. */
.auth-investor-login .hero-sectionn { min-height: 670px; }
.auth-investor-login .hero-sectionn::before, .auth-investor-signup .hero-sectionnn::before { background: linear-gradient(90deg, #f7fbf6b0 0%, #ffffff44 40%, #fff 63%), url('../images/auth/investment-city.webp') -170px bottom / auto 100% no-repeat; }
.auth-investor-login .container { max-width: 1280px !important; }
.auth-investor-login .hero-content { width: 54%; padding-right: 130px !important; }
.auth-investor-login .hero-content + div { width: 46%; }
.auth-investor-login .login-card { padding: 24px 34px 30px; text-align: center; }
.auth-investor-login .login-card > p { font-size: 14px; max-width: 330px; margin: 0 auto 30px; color: #34455e; }
.auth-investor-login .login-card form { text-align: left; }
.auth-investor-login .hero-subtitle { max-width: 435px; }
.auth-investor-login .feature-iconn { border-radius: 14px; border: 0; background: #e8f5ee; }
.auth-investor-login .feature-itemm { gap: 18px; }
.auth-investor-login .secure-data { text-align: center; color: #425470; font-size: 13px; margin-top: 28px; }
.auth-investor-login .secure-data :is(i, span) { color: var(--auth-green); }
.auth-investor-login .form-group { margin-bottom: 24px; }
.auth-investor-signup .hero-sectionnn { padding: 28px 0 34px !important; }
.auth-investor-signup .container { max-width: 1280px !important; }
.auth-investor-signup .hero-sectionnn .row { margin-bottom: 0 !important; }
.auth-investor-signup .investor-signup-info { width: 47%; padding: 22px 62px 0 22px !important; align-self: flex-start; }
.auth-investor-signup .investor-signup-info + div { width: 53%; }
.auth-investor-signup .investor-signup-info h1 { font-size: 30px !important; }
.auth-investor-signup .investor-signup-info > p { font-size: 14px !important; line-height: 1.6; margin-bottom: 30px !important; }
.auth-investor-signup .form-card { padding: 30px 36px !important; }
.auth-investor-signup .form-card > .d-flex { align-items: center !important; margin-bottom: 28px !important; }
.auth-investor-signup .form-card > .d-flex .icon-box { width: 66px !important; height: 66px !important; }
.auth-investor-signup .form-card h3 { font-size: 26px !important; }
.auth-investor-signup .icon-box { border: 1px solid #c8e4d2; border-radius: 12px !important; background: #f0f7f1 !important; color: var(--auth-green); }
.auth-investor-signup .benefits-list { gap: 26px !important; }
.auth-investor-signup .benefits-list .icon-box { width: 58px !important; height: 58px !important; }
.auth-investor-signup form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.auth-investor-signup form > * { grid-column: 1 / -1; }
.auth-investor-signup form > .mb-3:nth-of-type(1) { grid-column: 1; }
.auth-investor-signup form > .mb-3:nth-of-type(2) { grid-column: 2; }
.auth-investor-signup form > script { display: none; }
.auth-investor-signup .form-card form > .mb-4 { margin-bottom: 18px !important; }
.auth-investor-signup .form-card .btn-signup { background: linear-gradient(105deg, #007044, #569431) !important; }
.auth-investor-signup .trust-strip { background: #f8fbf9 !important; padding: 22px 0 !important; }
.auth-investor-signup .trust-strip h6 { font-size: 13px !important; }
.auth-investor-signup .trust-strip p { font-size: 12px; }

/* Corporate login: full-height office scene and a separate white login card. */
.auth-corporate-login { background: #f7f9fa; }
.auth-corporate-login main.container { max-width: 1440px !important; margin: 0 auto !important; padding: 0 !important; }
.auth-corporate-login main > .row { margin: 0; --bs-gutter-y: 0; }
.auth-corporate-login .corporate-login-info { width: 50%; padding: 0; }
.auth-corporate-login .corporate-login-info + div { width: 50%; padding: 36px 46px !important; }
.auth-corporate-login .hero-sectionn { min-height: 780px; height: 100%; padding: 0 !important; border-radius: 0 36px 0 0; color: #fff; background: #04352f; }
.auth-corporate-login .hero-sectionn::before { display: none; }
.auth-corporate-login .hero-bg { display: block; position: absolute; inset: 0; z-index: 0; background: url('../images/auth/corporate-office.webp?v=1') center / cover no-repeat; }
.auth-corporate-login .hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, #003426d9, #00342660 55%, #00342610); z-index: 1; }
.auth-corporate-login .hero-content { position: relative; z-index: 2; height: 100%; padding: 58px 48px 36px; }
.auth-corporate-login h1 { font-size: 38px !important; max-width: 440px; margin-bottom: 32px !important; }
.auth-corporate-login .text-light-green { color: #70bd3a; }
.auth-corporate-login .hero-content > p { max-width: 320px !important; margin-bottom: 36px !important; }
.auth-corporate-login .hero-content > .flex-grow-1 { gap: 0 !important; max-width: 350px; }
.auth-corporate-login .hero-content > .flex-grow-1 > div { padding: 17px 0; border-bottom: 1px solid #ffffff1a; }
.auth-corporate-login .hero-content > .flex-grow-1 > div:last-child { border-bottom: 0; }
.auth-corporate-login .hero-content h6 { font-size: 14px !important; margin-bottom: 4px !important; }
.auth-corporate-login .hero-content small { font-size: 12px !important; line-height: 1.65; }
.auth-corporate-login .feature-icon-box { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; border: 1px solid #79b34080; border-radius: 50%; color: #92cb44; font-size: 23px; }
.auth-corporate-login .hero-stats { background: #ffffff16; border: 1px solid #ffffff17; border-radius: 12px; backdrop-filter: blur(8px); padding: 20px 14px; margin-top: 28px !important; }
.auth-corporate-login .hero-stats .col-3 + .col-3 { border-left: 1px dotted #ffffff40; }
.auth-corporate-login .hero-stats h5 { margin-block: 8px 4px !important; font-size: 20px !important; }
.auth-corporate-login .login-card { display: flex; flex-direction: column; justify-content: flex-start; align-self: flex-start; width: 100%; padding: 36px 32px; min-height: 660px; }
.auth-corporate-login .login-card h3 { font-size: 27px !important; }
.auth-corporate-login .login-card > .text-center > p { font-size: 14px !important; line-height: 1.6; }
.auth-corporate-login .login-icon-large { width: 90px; height: 90px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #edf6ed; color: #087038; font-size: 40px; margin: 10px auto 24px !important; }
.auth-corporate-login form > .mb-3 { margin-bottom: 26px !important; }
.auth-corporate-login .corporate-bottom-features { max-width: 1440px !important; padding: 34px 56px !important; margin: 0 auto !important; background: #fff; }
.auth-corporate-login .feature-bottom-icon { font-size: 36px; color: var(--auth-green); min-width: 42px; }
.auth-corporate-login .corporate-bottom-features h6 { font-size: 14px; color: var(--auth-green) !important; }
.auth-corporate-login .corporate-bottom-features small { font-size: 13px; line-height: 1.6; }

/* Keep full form access at every size; introductions collapse above the forms. */
@media (max-width: 1199.98px) and (min-width: 992px) {
    .auth-agent-login .agent-login-info { padding-left: 16px !important; }
    .auth-user-login .login-left { padding: 30px !important; }
    .auth-page .container { padding-inline: 30px !important; }
    .auth-investor-login .hero-content { padding-right: 80px !important; }
    .auth-user-signup h1 { font-size: 27px !important; }
}
@media (max-width: 991.98px) {
    .auth-page :is(.hero-sectionn, .hero-sectionnn, .login-section, .main-content) { min-height: 0; padding: 32px 0 !important; }
    .auth-page .container { max-width: 720px !important; padding: 0 24px !important; }
    .auth-page :is(.agent-login-info, .hero-left, .hero-left-content, .hero-content, .banker-signup-info, .investor-signup-info) { width: 100%; padding: 0 12px 20px !important; margin: 0 !important; }
    .auth-page :is(.agent-login-info, .hero-left, .hero-left-content, .hero-content, .banker-signup-info, .investor-signup-info) + div { width: 100%; padding: 0 12px !important; margin: 0 !important; }
    .auth-page :is(.login-card, .form-card, .signup-card) { width: 100%; max-width: 100% !important; }
    .auth-page :is(.agent-login-info, .hero-left, .hero-left-content, .hero-content, .banker-signup-info, .investor-signup-info) .features-list { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px !important; }
    .auth-page :is(.hero-left-content, .hero-content, .hero-left, .agent-login-info) .feature-item { margin: 0 !important; }
    .auth-page .success-card { margin-top: 24px; }
    .auth-agent-signup .hero-sectionn::before { background-size: auto 100%; }
    .auth-investor-login .hero-sectionn::before, .auth-investor-signup .hero-sectionnn::before { background-size: auto 70%; opacity: .35; }
    .auth-user-login .container { max-width: 900px !important; }
    .auth-user-login .login-left { width: 43%; padding: 28px !important; }
    .auth-user-login .login-left h2 { font-size: 28px !important; }
    .auth-user-login .login-right { width: 57%; padding: 28px !important; }
    .auth-user-login .login-left .features-list { display: flex !important; }
    .auth-user-signup .hero-left-content > div { max-width: none !important; }
    .auth-user-signup .hero-left-content .features-list { margin-top: 20px !important; }
    .auth-user-signup .hero-left-content .title-divider { margin-left: 0; }
    .auth-investor-signup .benefits-list { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px !important; }
    .auth-corporate-login .corporate-login-info { width: 100%; }
    .auth-corporate-login .corporate-login-info + div { width: 100%; padding: 30px !important; }
    .auth-corporate-login .hero-sectionn { min-height: 0; border-radius: 0 0 24px 24px; }
    .auth-corporate-login .hero-content { padding: 36px !important; }
    .auth-corporate-login .hero-content > .flex-grow-1 { display: grid !important; grid-template-columns: 1fr 1fr; max-width: none; gap: 22px !important; }
    .auth-corporate-login .hero-content > .flex-grow-1 > div { border: 0; }
    .auth-corporate-login .login-card { min-height: 0; padding: 32px; }
    .auth-corporate-login .corporate-bottom-features .col-md-3 { width: 50%; }
}
@media (max-width: 575.98px) {
    .auth-page .container { padding-inline: 16px !important; }
    .auth-page :is(.hero-sectionn, .hero-sectionnn, .login-section, .main-content) { padding: 24px 0 !important; }
    .auth-page :is(.agent-login-info, .hero-left, .hero-left-content, .hero-content, .banker-signup-info, .investor-signup-info) { display: none !important; }
    .auth-page :is(.agent-login-info, .hero-left, .hero-left-content, .hero-content, .banker-signup-info, .investor-signup-info) + div { padding: 0 12px !important; }
    .auth-page :is(.card-body, .form-card, .signup-card) { padding: 24px 20px !important; }
    .auth-page :is(.login-card, .form-card, .signup-card) { border-radius: 14px !important; margin-top: 0 !important; }
    .auth-page :is(.form-control, .form-select, .input-group-text) { min-height: 44px; height: 44px; }
    .auth-agent-login .card-body { padding-bottom: 68px !important; }
    .auth-banker-login .login-card { padding: 24px 20px !important; }
    .auth-user-login .login-left { display: none !important; }
    .auth-user-login .login-card { min-height: 0; }
    .auth-user-login .login-right { width: 100%; border-radius: 14px; padding: 24px 20px !important; }
    .auth-investor-login .login-card { padding: 24px 20px; }
    .auth-investor-signup form { display: block; }
    .auth-investor-signup .form-card > .d-flex { gap: 12px !important; }
    .auth-investor-signup .form-card h3 { font-size: 23px !important; }
    .auth-investor-signup .form-card > .d-flex .icon-box { width: 52px !important; height: 52px !important; }
    .auth-banker-signup .main-content > .container > .row { --bs-gutter-x: 24px; }
    .auth-corporate-login .corporate-login-info, .auth-corporate-login .corporate-bottom-features { display: none !important; }
    .auth-corporate-login .corporate-login-info + div { padding: 24px 16px !important; }
    .auth-corporate-login .login-card { padding: 26px 20px; }
    .auth-corporate-login .login-card h3 { font-size: 25px !important; }
    .auth-corporate-login .login-icon-large { width: 76px; height: 76px; font-size: 34px; }
    .auth-page .alert { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .auth-page :is(button, a, input, select) { transition: none !important; }
}
