/* Shared, naturally sized layout for login, registration and password recovery. */
html.ewy-auth-document { scrollbar-gutter: stable; }
.ewy-auth-page {
    --auth-bg: #eef7ff;
    --auth-card: #fff;
    --auth-text: #172b4d;
    --auth-muted: #8592a8;
    --auth-field: #f5f7fb;
    --auth-border: #dfe7f2;
    --auth-accent: #2865f6;
    --ewy-captcha-loading-height: 44px;
    min-height: 100vh;
    min-height: 100svh;
    height: auto;
    overflow-anchor: none;
    color: var(--auth-text);
    background: radial-gradient(circle at 13% 16%, #cfe4ff 0 72px, transparent 73px), radial-gradient(circle at 79% 20%, #dceaff 0 280px, transparent 281px), radial-gradient(circle at 22% 98%, #d9eaff 0 340px, transparent 341px), var(--auth-bg);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}
.ewy-auth-page .login-container-row { min-height: 100vh; min-height: 100svh; height: auto; padding: 0; }
.ewy-auth-page .max-login { width: 100%; max-width: 1360px; height: auto; padding: 0 32px; }
.ewy-auth-page .login-head { position: relative !important; height: 70px; flex: 0 0 70px; background: color-mix(in srgb, var(--auth-card) 55%, transparent); border-bottom: 1px solid var(--auth-border); }
.ewy-auth-page .login-head > .max-login { height: 100%; }
.ewy-auth-page .login-head .login-logo { max-width: 45%; }
.ewy-auth-page .login-logo img { max-width: 100%; object-fit: contain; }
.ewy-auth-page .login-head .login-title { gap: 14px; }
.ewy-auth-page .login-head .login-title > a { font-size: 12px; color: var(--auth-text); border: 1px solid var(--auth-border); border-radius: var(--ewy-card-radius, 2px); padding: 9px 13px; background: var(--auth-card); }
.ewy-auth-page .login-main { display: flex; align-items: center; flex: 1 0 auto; width: 100%; height: auto; margin: 0 !important; padding: 58px 0; overflow: visible; }
.ewy-auth-page .login-main .login-main-container { position: relative; display: grid; grid-template-columns: 56% 44%; align-items: stretch; gap: 0; width: 100%; max-width: 1240px; min-height: 660px; height: auto; margin: 0 auto; padding: 0 !important; border: 1px solid var(--auth-card); border-radius: var(--ewy-card-radius, 2px); background: var(--auth-card); box-shadow: 0 24px 65px #204d9426; }
.ewy-auth-page .login-main-bg { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 50px; width: auto; height: auto; min-width: 0; max-width: none; padding: 54px 50px 22px; overflow: hidden; border-radius: var(--ewy-card-radius, 2px) 0 0 var(--ewy-card-radius, 2px); background: radial-gradient(ellipse at 75% 12%, #ffffff15, transparent 38%), linear-gradient(135deg, #2e70fa, #2059e8 60%, #3858e6); }
.ewy-auth-page .login-main-bg::before { top: 28%; left: 27%; width: 680px; height: 680px; min-height: 0; border: 76px solid #ffffff0b; border-radius: 50%; background: none; }
.ewy-auth-page .login-main-bg::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px); background-size: 42px 42px; pointer-events: none; }
.ewy-auth-story { position: relative; z-index: 1; }
.ewy-auth-eyebrow { display: block; margin-bottom: 22px; color: #d9e9ff; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; }
.ewy-auth-story h2 { margin: 0 0 14px; color: #fff; font-size: clamp(30px, 3vw, 49px); font-weight: 750; line-height: 1.25; letter-spacing: -1.5px; }
.ewy-auth-story p { max-width: 510px; margin: 0; color: #e0edff; font-size: 13px; line-height: 1.9; }
.ewy-auth-illustration { position: relative; z-index: 1; display: block; width: calc(100% + 28px); max-width: 600px; height: auto; margin: auto -14px 0; }
.ewy-auth-groups { position: relative; z-index: 1; width: 100%; max-width: 300px; margin: auto; padding: 26px 24px 20px; border: 1px solid #ffffffb3; border-radius: var(--ewy-card-radius, 2px); background: #fffffffa; box-shadow: 0 15px 40px #12378126; color: var(--auth-text); text-align: center; }
.ewy-auth-group-slides { display: grid; }
.ewy-auth-group-slide { grid-area: 1 / 1; min-width: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .45s ease, visibility .45s; }
.ewy-auth-group-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.ewy-auth-group-slide h3 { margin: 0 0 18px; font-size: 17px; font-weight: 600; line-height: 1.5; color: var(--auth-text); overflow-wrap: anywhere; }
.ewy-auth-group-slide img { display: block; width: 200px; max-width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; margin: 0 auto; background: white; border-radius: var(--ewy-card-radius, 2px); }
.ewy-auth-group-slide p { margin: 16px 0 0; color: #7b8798; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.ewy-auth-group-controls { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ewy-auth-group-controls button { max-width: 100%; padding: 5px 14px; border: 0; border-radius: var(--ewy-card-radius, 2px); background: #eef3fb; color: #65748b; font-size: 12px; cursor: pointer; overflow-wrap: anywhere; }
.ewy-auth-group-controls button[aria-pressed="true"] { background: #e3edff; color: var(--auth-accent); }
.ewy-auth-page .login-main .login-main-container .login-main-form { display: flex; width: 100%; min-width: 0; max-height: none; padding: 48px 50px; overflow: visible; border-radius: 0 var(--ewy-card-radius, 2px) var(--ewy-card-radius, 2px) 0; background: var(--auth-card); box-shadow: none; }
.ewy-auth-brand { display: flex; align-items: center; gap: 24px; min-height: 42px; margin: 5px 0 37px; }
.ewy-auth-brand::before, .ewy-auth-brand::after { content: ""; height: 1px; flex: 1; background: var(--auth-border); }
.ewy-auth-brand img { width: auto; max-width: 155px; max-height: 42px; object-fit: contain; }
.ewy-auth-heading { margin-bottom: 24px; text-align: center; }
.ewy-auth-heading > span { color: var(--auth-muted); font-size: 10px; letter-spacing: 1.5px; }
.ewy-auth-heading h1 { margin: 12px 0 8px; font-size: 25px; line-height: 1.4; font-weight: 700; color: var(--auth-text); }
.ewy-auth-heading p { margin: 0; color: var(--auth-muted); font-size: 12px; }
.ewy-auth-page .login-main .login-tab { justify-content: center; gap: 20px; width: 100%; margin: 0 0 24px; padding: 0 0 12px; border-bottom: 1px solid var(--auth-border); }
.ewy-auth-page .login-main .login-tab .login-tab-item { margin: 0; color: var(--auth-muted); font-size: 14px; font-weight: 500; }
.ewy-auth-page .login-main .login-tab .login-tab-item.active { color: var(--auth-accent); }
.ewy-auth-page .login-tab .transitionSwitching { bottom: -1px; height: 2px; background: var(--auth-accent); }
.ewy-auth-page .login-tab.ewy-auth-single-method { display: none; }
.ewy-auth-page .login-main .login-content { width: 100%; padding: 0; }
/* Reserve the same compact bar height before and after the SDK is ready. */
.ewy-auth-page [data-ewy-captcha-container="true"] { min-height: 44px; }
.ewy-auth-page .login-main .login-content .form-group { width: 100%; margin-bottom: 17px; }
.ewy-auth-page .login-main .login-content .form-group label { margin-bottom: 7px; font-size: 12px; font-weight: 400; color: var(--auth-text); }
.ewy-auth-page .form-control { min-width: 0; height: 47px; padding: 11px 13px; border: 1px solid var(--auth-border); border-radius: var(--ewy-card-radius, 2px); background: var(--auth-field); color: var(--auth-text); font-size: 13px; line-height: 23px; box-shadow: none; }
.ewy-auth-page textarea.form-control { height: auto; min-height: 90px; }
.ewy-auth-page .form-control::placeholder { color: var(--auth-muted); opacity: 1; }
.ewy-auth-page .form-control:focus { border-color: #83aaff; background: var(--auth-card); box-shadow: 0 0 0 3px #2865f615; }
.ewy-auth-page .form-control[readonly], .ewy-auth-page .form-control:disabled { opacity: .65; }
.ewy-auth-password { position: relative; width: 100%; }
.ewy-auth-password .form-control { padding-right: 46px; }
.ewy-auth-password input::-ms-reveal, .ewy-auth-password input::-ms-clear { display: none; }
.ewy-auth-reveal { position: absolute; top: 0; right: 1px; display: grid; place-items: center; width: 44px; height: 47px; border: 0; border-radius: var(--ewy-card-radius, 2px); color: var(--auth-muted); background: transparent; cursor: pointer; font-size: 18px; }
.ewy-auth-page .input-group { flex-wrap: nowrap; gap: 9px; }
.ewy-auth-page .input-group > .form-control { border-radius: var(--ewy-card-radius, 2px); }
.ewy-auth-page .input-group-append { height: 47px; margin: 0; }
.ewy-auth-page .input-group-append .btn { height: 47px; padding: 0 16px; border: 1px solid #d2dfff; border-radius: var(--ewy-card-radius, 2px); background: #edf3ff; color: #2865f6; font-size: 12px; white-space: nowrap; }
.ewy-auth-page .input-group-append img { height: 47px !important; max-width: 110px; border-radius: var(--ewy-card-radius, 2px); }
.ewy-auth-page .login-main .login-content .form-group .custom-dropdown { flex: 0 0 104px; width: 104px; margin: 0; }
.ewy-auth-page .login-main .login-content .form-group .custom-dropdown-selection { width: 104px; height: 47px; line-height: 45px; border: 1px solid var(--auth-border); border-radius: var(--ewy-card-radius, 2px); color: var(--auth-text); background: var(--auth-field); font-size: 12px; }
.ewy-auth-page .login-main .login-content .form-group .custom-dropdown-list { z-index: 20; min-width: 104px; max-width: 280px; width: max-content; max-height: 210px; border: 1px solid var(--auth-border); border-radius: var(--ewy-card-radius, 2px); background: var(--auth-card); box-shadow: 0 8px 24px #172b4d20; }
.ewy-auth-page .custom-dropdown-list li { color: var(--auth-text); font-size: 12px; }
.ewy-auth-page .login-main .login-content .form-group .custom-dropdown-list li:hover { background: var(--auth-field); }
.ewy-auth-page .login-main .login-content .mt-3 .btn-primary { min-height: 49px; height: auto; border: 0; border-radius: var(--ewy-card-radius, 2px); background: linear-gradient(105deg, #2e78fa, #245bec); color: #fff; font-weight: 600; font-size: 14px; box-shadow: 0 9px 20px #2462ef26; }
.ewy-auth-page .login-main .login-content .mt-3 .btn-primary:hover { background: #2055d9; }
.ewy-auth-page .login-content form > .mt-3 { margin-top: 16px !important; }
.ewy-auth-page .login-content form > .d-flex > a[href="pwreset"]:only-child { margin-left: auto; }
.ewy-auth-page .btn:disabled { cursor: not-allowed; opacity: .6; }
.ewy-auth-page .login-main .text-primary { color: var(--auth-accent) !important; font-size: 12px; }
.ewy-auth-page .login-main .text-register { position: static; margin: 20px 0 0; text-align: center; font-size: 12px; color: var(--auth-muted); }
.ewy-auth-page .text-register p { margin: 0; }
.ewy-auth-page .login-main .text-register a { color: #00a99b !important; font-weight: 600; }
.ewy-auth-page .serviceTerms { align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.8; }
.ewy-auth-page .serviceTerms span { color: var(--auth-muted); }
.ewy-auth-page .serviceTerms .custom-checkbox { flex: 0 0 16px; margin-top: 3px; border-radius: var(--ewy-card-radius, 2px); }
.ewy-auth-page .login-main .login-content .Oauth_login { justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 24px !important; }
.ewy-auth-page .login-main .login-content .Oauth_login .Oauth_login_txt { color: var(--auth-muted); font-size: 12px; margin-bottom: 0; }
.ewy-auth-page .Oauth_login .list-inline { margin: 0; }
.ewy-auth-page .ewy-auth-footer { padding: 10px 20px 24px; color: var(--auth-muted); font-size: 12px; line-height: 1.8; text-align: center; }
.ewy-auth-footer p { margin: 0; overflow-wrap: anywhere; }
.ewy-auth-footer span { display: inline; }
.ewy-auth-footer span + span::before { content: ' | '; color: #b0b7c2; white-space: pre; }
.ewy-auth-page :is(a, button, [role="tab"], [role="checkbox"]):focus-visible { outline: 2px solid var(--auth-accent); outline-offset: 3px; }
@media (max-width: 1100px) {
    .ewy-auth-page .login-main .login-main-container { grid-template-columns: 50% 50%; }
    .ewy-auth-page .login-main-bg { padding: 42px 30px 25px; }
    .ewy-auth-page .login-main .login-main-container .login-main-form { padding: 40px 32px; }
}
@media (max-width: 768px) {
    .ewy-auth-page { display: block; background-image: radial-gradient(circle at 100% 0, #dceaff 0 200px, transparent 201px) !important; background-color: var(--auth-bg); }
    .ewy-auth-page .max-login { padding: 0 20px; }
    .ewy-auth-page .login-head { height: 64px !important; flex-basis: 64px; }
    .ewy-auth-page .login-head .login-title { gap: 8px; }
    .ewy-auth-page .login-head .login-logo { max-width: 38%; }
    .ewy-auth-page .login-head .login-logo img { height: 32px !important; }
    .ewy-auth-page .login-main { display: flex; flex-direction: row; padding: 30px 0; }
    .ewy-auth-page .login-main .login-main-container { display: block; min-height: 0; border-radius: var(--ewy-card-radius, 2px); }
    .ewy-auth-page .login-main .login-main-container .login-main-bg { display: none; }
    .ewy-auth-page .login-main .login-main-container:has(.ewy-auth-groups) { display: flex; flex-direction: column; }
    .ewy-auth-page .login-main .login-main-container .login-main-bg:has(.ewy-auth-groups) { display: flex; order: 2; padding: 24px 18px; border-radius: var(--ewy-card-radius, 2px); background: #eaf2fc; }
    .ewy-auth-page .login-main-bg:has(.ewy-auth-groups)::before, .ewy-auth-page .login-main-bg:has(.ewy-auth-groups)::after, .ewy-auth-page .login-main-bg:has(.ewy-auth-groups) .ewy-auth-story { display: none; }
    .ewy-auth-page .login-main .login-main-container .login-main-form { width: 100% !important; min-width: 0; padding: 32px 24px !important; border-radius: var(--ewy-card-radius, 2px); }
    .ewy-auth-page .ewy-auth-brand { margin-bottom: 28px; }
    .ewy-auth-page .login-main .login-tab { white-space: normal; }
}
@media (max-width: 380px) {
    .ewy-auth-page .max-login { padding: 0 12px; }
    .ewy-auth-page .login-main .login-main-container .login-main-form { padding: 28px 18px !important; }
    .ewy-auth-page .login-head .login-title > a { padding: 9px; }
    .ewy-auth-page .input-group-append .btn { padding: 0 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .ewy-auth-page *, .ewy-auth-page *::before, .ewy-auth-page *::after { animation: none !important; transition: none !important; }
}
