:root {
    --auth-bg: radial-gradient(circle at 12% 12%, #dfe9fb 0%, #f4f8fe 32%, #eef4fb 100%);
    --auth-surface: #ffffff;
    --auth-border: #d5dfea;
    --auth-text: #0f2140;
    --auth-muted: #5d6f88;
    --auth-input-bg: #f8fbff;
    --auth-input-border: #d5e0ef;
    --auth-brand-blue: #070B3A;
    --auth-brand-blue-soft: #eef1ff;
    --auth-input-icon: #6e82a0;
    --auth-shadow: 0 18px 45px rgba(9, 34, 76, 0.14);
}

body.signin.auth-v2 {
    background: var(--auth-bg) !important;
}

body.signin .auth-language-switcher {
    position: fixed;
    top: 0.85rem;
    right: 1rem;
    z-index: 1200;
}

body.signin .auth-language-switcher .goog-te-gadget .goog-te-combo {
    border: 1px solid #c9d6ea !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #10233f !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    min-height: 34px !important;
    padding: 4px 30px 4px 10px !important;
}

body.signin.auth-v2 .card.sign {
    width: min(720px, 94vw) !important;
    height: auto !important;
    border-radius: 24px !important;
    background: var(--auth-surface) !important;
    border: 1px solid var(--auth-border) !important;
    box-shadow: var(--auth-shadow);
}

body.signin.auth-v2 .card.sign.signup {
    width: min(860px, 95vw) !important;
    height: auto !important;
    border-radius: 24px !important;
    background: var(--auth-surface) !important;
    border: 1px solid var(--auth-border) !important;
    box-shadow: var(--auth-shadow);
}

body.signin.auth-v2 .card.sign .card-body,
body.signin.auth-v2 .card.sign.signup .card-body {
    color: var(--auth-text) !important;
    padding: clamp(1.4rem, 2.4vw, 2.2rem) !important;
}

body.signin.auth-v2 .role-selection.row {
    row-gap: 0.35rem;
}

body.signin.auth-v2 .auth-brand-logo {
    margin-bottom: 0.5rem;
}

body.signin.auth-v2 .auth-brand-image {
    width: min(170px, 44vw);
    height: auto;
    max-width: 100%;
    filter: none !important;
}

body.signin.auth-v2 .auth-back-link {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--auth-brand-blue);
}

body.signin.auth-v2 h4,
body.signin.auth-v2 .card-body h4 {
    color: var(--auth-text) !important;
    margin-bottom: 0.45rem;
    font-weight: 700;
}

body.signin.auth-v2 p,
body.signin.auth-v2 .card-body p,
body.signin.auth-v2 .company,
body.signin.auth-v2 .text-white,
body.signin.auth-v2 .text-light {
    color: var(--auth-muted) !important;
}

body.signin.auth-v2 p[style],
body.signin.auth-v2 .company[style],
body.signin.auth-v2 span[style*="color: white"],
body.signin.auth-v2 label[style*="color: white"],
body.signin.auth-v2 input[style*="color: white"] {
    color: var(--auth-text) !important;
}

body.signin.auth-v2 a,
body.signin.auth-v2 .text-white a,
body.signin.auth-v2 a.text-white {
    color: var(--auth-brand-blue) !important;
    text-decoration-color: rgba(7, 11, 58, 0.35) !important;
    text-underline-offset: 2px;
}

body.signin.auth-v2 .custom-select-container {
    background: var(--auth-input-bg) !important;
    border: 1px solid var(--auth-input-border) !important;
    border-radius: 12px !important;
    min-height: 48px;
    position: relative;
}

body.signin.auth-v2 .custom-select-container > svg {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    z-index: 2;
}

body.signin.auth-v2 .custom-select-container > svg path,
body.signin.auth-v2 .custom-select-container > svg circle,
body.signin.auth-v2 .custom-select-container > svg rect,
body.signin.auth-v2 .custom-select-container .toggle-password svg path {
    fill: var(--auth-input-icon) !important;
    stroke: var(--auth-input-icon) !important;
}

body.signin.auth-v2 .custom-select-container > svg[id^="toggle"] {
    left: auto;
    right: 0.7rem;
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
    pointer-events: auto;
}

body.signin.auth-v2 .form-control.mail,
body.signin.auth-v2 .form-control.pass,
body.signin.auth-v2 .custom-select-container input,
body.signin.auth-v2 .custom-select-container select {
    color: var(--auth-text) !important;
    border: none !important;
    background: transparent !important;
    min-height: 48px;
    padding-left: 2.35rem !important;
    font-weight: 500;
}

body.signin.auth-v2 .custom-select-container input.phone,
body.signin.auth-v2 .custom-select-container select[name="phone_country_code"] {
    padding-left: 0.7rem !important;
}

body.signin.auth-v2 .form-control.mail::placeholder,
body.signin.auth-v2 .form-control.pass::placeholder,
body.signin.auth-v2 .custom-select-container input::placeholder {
    color: #8597af !important;
}

body.signin.auth-v2 .form-control.mail:focus,
body.signin.auth-v2 .form-control.pass:focus {
    color: var(--auth-text) !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

body.signin.auth-v2 .custom-select-container input:focus,
body.signin.auth-v2 .custom-select-container select:focus {
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

body.signin.auth-v2 .custom-select-container:focus-within {
    box-shadow: 0 0 0 3px rgba(7, 11, 58, 0.14) !important;
    border-color: var(--auth-brand-blue) !important;
}

body.signin.auth-v2 .btn.bg-white,
body.signin.auth-v2 .btn.btn-primary.bg-white {
    background: var(--auth-brand-blue-soft) !important;
    border: 1px solid #c5cdef !important;
    color: var(--auth-brand-blue) !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em;
    min-height: 48px;
}

body.signin.auth-v2 .btn.bg-white:hover,
body.signin.auth-v2 .btn.btn-primary.bg-white:hover {
    background: #e3e8ff !important;
}

body.signin.auth-v2 .card.sign .card-body .mt-5 {
    margin-top: 2rem !important;
    margin-bottom: 0.75rem;
}

body.signin.auth-v2 input:-webkit-autofill,
body.signin.auth-v2 input:-webkit-autofill:hover,
body.signin.auth-v2 input:-webkit-autofill:focus,
body.signin.auth-v2 input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--auth-input-bg) inset !important;
    -webkit-text-fill-color: var(--auth-text) !important;
    caret-color: var(--auth-text) !important;
    border: none !important;
}

@media (max-width: 575.98px) {
    body.signin.auth-v2 .card.sign,
    body.signin.auth-v2 .card.sign.signup {
        border-radius: 18px !important;
        width: min(96vw, 860px) !important;
    }
    body.signin.auth-v2 .card.sign .card-body,
    body.signin.auth-v2 .card.sign.signup .card-body {
        padding: 1.15rem !important;
    }
}
