#loginPage{min-height:calc(100dvh - 100px);background:#fff;color:#191f28}
#loginPage .auth-shell{width:min(100%,480px);margin:auto;padding:44px 24px 100px}
#loginPage .auth-panel{width:100%;max-width:none!important;background:#fff}
#loginPage .auth-inline-logo{display:block;color:#191f28;font-size:14px;font-weight:800;letter-spacing:1px;text-decoration:none;margin-bottom:30px}
#loginPage .auth-language-picker{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:26px;font-size:12px;color:#8b95a1}
#loginPage .auth-language-picker select{border:0;background:#f7f8fa;border-radius:12px;padding:8px}
#loginPage .auth-title{font-size:30px;font-weight:800;letter-spacing:-1px;margin:12px 0 30px;line-height:1.35}
#loginPage .auth-title i{display:none}
#loginPage .auth-kicker{color:#8b95a1;font-size:14px}
#loginPage .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#f2f4f6;border-radius:16px}
#loginPage .auth-tabs .btn{border:0!important;border-radius:12px!important;font-size:14px;min-height:44px;box-shadow:none}
#loginPage .auth-field{margin-bottom:22px}
#loginPage .form-label{font-size:13px!important;font-weight:600!important;color:#6b7684!important;margin-bottom:9px}
#loginPage .input-group{border:1px solid transparent;border-radius:16px;background:#f2f4f6;overflow:hidden;min-height:56px;transition:border-color .2s,background .2s}
#loginPage .input-group:focus-within{border-color:#3182f6;background:#fff;box-shadow:0 0 0 3px #3182f610}
#loginPage .input-group-text{display:none}
#loginPage .form-control,#loginPage .form-select{background:#f2f4f6!important;border:0;border-radius:16px;min-height:56px;padding:16px;font-size:16px;color:#333d4b;box-shadow:none}
#loginPage .input-group .form-control{background:transparent!important;min-width:0}
#loginPage .input-group .btn{border:0;background:#e5eaf0;color:#333d4b;border-radius:12px!important;font-size:12px;font-weight:700;margin:8px;padding:8px 10px}
#loginPage .auth-primary-btn{background:#191f28!important;color:white!important;border:0!important;min-height:56px;border-radius:16px!important;font-size:16px!important;font-weight:700;width:100%}
#loginPage .auth-primary-btn:hover{background:#333d4b!important}
#loginPage .auth-secondary-btn{border:0!important;background:#f2f4f6!important;color:#4e5968!important;border-radius:16px!important;min-height:52px;font-size:15px!important;margin-top:12px}
#loginPage .auth-note{font-size:12px;color:#8b95a1;line-height:1.6;margin:10px 0 0}
#loginPage .auth-note i{margin-right:5px}
#loginPage .signup-progress{display:flex;align-items:center;gap:16px;color:#8b95a1;font-size:12px;font-weight:700;margin:0 0 24px}
#loginPage .signup-progress-track{height:4px;flex:1;border-radius:4px;background:#f2f4f6;overflow:hidden}
#loginPage #signupStepProgress{display:block;height:100%;width:33.333%;background:#191f28;transition:width .25s}
#loginPage .signup-step-title{font-size:28px;line-height:1.4;font-weight:800;letter-spacing:-.8px;outline:none;margin-bottom:8px}
#loginPage .signup-step-description{font-size:14px;color:#8b95a1;margin-bottom:30px;line-height:1.6}
#loginPage #signupForm>.auth-title{display:none}
#loginPage #signupForm .auth-title{font-size:14px;color:#8b95a1;font-weight:600;margin:0 0 20px}
#loginPage #signupForm [data-lang-select]{min-height:42px;font-size:13px;padding:10px 14px}
#loginPage .signup-navigation{display:flex;gap:10px;margin-top:28px}
#loginPage .auth-back-btn{border:0;border-radius:16px;background:#f2f4f6;color:#6b7684;min-width:72px;font-size:14px}
#loginPage [hidden]{display:none!important}
#loginPage .auth-step-error{color:#d93b3b;font-size:13px;margin-top:16px}
#loginPage .auth-agree-all{display:flex;align-items:center;gap:12px;border:1px solid #e5e8eb;border-radius:18px;padding:20px;cursor:pointer;margin-bottom:20px;font-weight:700}
#loginPage .auth-agree-all input,#loginPage .form-check-input{accent-color:#3182f6;width:21px;height:21px;flex-shrink:0}
#loginPage .auth-agree-all i{margin-left:auto;color:#d1d6db}
#loginPage .auth-agree-all:has(input:checked){background:#f4f8ff;border-color:#b8d5ff}
#loginPage .auth-agree-all:has(input:checked) i{color:#3182f6}
#loginPage .auth-agree-caption{display:block;font-size:12px;color:#8b95a1;font-weight:400;margin-top:4px}
#loginPage .form-check{padding:12px 0 12px 30px;position:relative}
#loginPage .form-check-label{font-size:13px;line-height:1.7;color:#4e5968;cursor:pointer}
#loginPage .auth-agree-tag{font-size:11px;color:#8b95a1;margin-right:6px}
#loginPage #signupMarketingAgreement{position:absolute;right:0;top:15px;width:42px;height:24px;margin:0;opacity:0;z-index:2;cursor:pointer}
#loginPage #signupMarketingAgreement+label{display:block;padding-right:52px}
#loginPage .auth-marketing-switch{position:absolute;right:0;top:15px;width:42px;height:24px;border-radius:20px;background:#d1d6db;transition:background .2s}
#loginPage .auth-marketing-switch:after{content:'';position:absolute;width:18px;height:18px;top:3px;left:3px;background:#fff;border-radius:50%;transition:transform .2s}
#loginPage #signupMarketingAgreement:checked+label .auth-marketing-switch{background:#3182f6}
#loginPage #signupMarketingAgreement:checked+label .auth-marketing-switch:after{transform:translateX(18px)}
#loginPage #signupMarketingAgreement:focus-visible+label .auth-marketing-switch{outline:3px solid #95beff;outline-offset:3px}
#loginPage .signup-marketing-benefits{position:relative;display:grid;gap:10px;background:#f7f8fa;border:1px solid #edf0f3;border-radius:20px;padding:24px 20px;margin-top:12px;transition:background .25s,border-color .25s}
#loginPage .signup-marketing-benefits.is-active{background:#f0f6ff;border-color:#b8d5ff}
#loginPage .signup-marketing-benefits__reward{font-size:17px;font-weight:800;color:#6b7684;line-height:1.5;padding-top:20px}
#loginPage .signup-marketing-benefits.is-active .signup-marketing-benefits__reward{color:#2272eb}
#loginPage .signup-marketing-benefits__news{font-size:12px;line-height:1.7;color:#6b7684}
#loginPage .signup-marketing-benefits__optional{font-size:11px;color:#8b95a1}
#loginPage .signup-marketing-benefits i{margin-right:6px}
#loginPage .auth-benefit-state{position:absolute;top:16px;right:18px;font-size:10px;font-weight:800;color:#8b95a1;letter-spacing:.4px}
#loginPage .is-active .auth-benefit-state{color:#3182f6}
#loginPage details summary{cursor:pointer;font-weight:600;color:#6b7684}
@media(max-width:520px){#loginPage .auth-shell{padding:26px 22px 80px}#loginPage .auth-title{font-size:28px}#loginPage .signup-step-title{font-size:26px}}
@media(prefers-reduced-motion:reduce){#loginPage *{transition:none!important;scroll-behavior:auto!important}}
#loginPage .auth-inline-logo img { display:block; width:180px; max-width:65%; height:auto; }
#loginUI > button { background:rgba(242,244,246,.82)!important; color:#8b95a1!important; backdrop-filter:blur(12px); box-shadow:0 2px 12px #191f2808; }
#loginPage .auth-code-login-link { display:flex; width:100%; justify-content:space-between; background:transparent; border:0; color:#6b7684; padding:0 4px 20px; font-size:12px; }
#loginPage #find-id-pw { padding:24px 0 0!important; border-top:1px solid #f2f4f6; margin-top:24px; }
#loginPage .auth-recovery-heading { text-align:center; font-size:12px; color:#8b95a1; margin-bottom:12px; }
#loginPage #find-id-pw a { color:#6b7684!important; font-weight:600; }
#loginPage #find-id-pw i { display:none; }
.auth-recovery-modal { z-index:1080!important; }
body:has(.auth-recovery-modal.show) .modal-backdrop { z-index:1070!important; background:#191f28; }
.auth-recovery-modal .modal-dialog { max-width:440px; }
.auth-recovery-modal .modal-content { border:0; border-radius:24px!important; background:#fff; box-shadow:0 24px 80px #191f2826!important; }
.auth-recovery-modal .modal-header { padding:28px 24px 8px; }
.auth-recovery-modal .modal-title { font-size:24px; letter-spacing:-.7px; color:#191f28; }
.auth-recovery-modal .modal-title i { display:none; }
.auth-recovery-modal .btn-close { border-radius:50%; background-color:#f2f4f6; padding:10px; opacity:.5; }
.auth-recovery-modal .modal-body { padding:16px 24px!important; }
.auth-recovery-modal .alert { padding:0; border:0!important; background:transparent; color:#8b95a1; font-size:13px; line-height:1.7; margin-bottom:24px; }
.auth-recovery-step { color:#3182f6; font-size:12px; font-weight:700; margin-bottom:16px; }
.auth-recovery-modal .modal-footer { display:flex; gap:8px; padding:12px 24px 24px; flex-wrap:nowrap; }
.auth-recovery-modal .modal-footer .btn { min-height:52px; border:0!important; border-radius:16px!important; font-size:15px; font-weight:700; margin:0; }
.auth-recovery-modal .modal-footer .btn:first-child { color:#6b7684; background:#f2f4f6; }
.auth-recovery-modal .modal-footer .btn:last-child { flex:1; background:#191f28!important; color:#fff; }
.auth-recovery-modal [hidden] { display:none!important; }
.auth-recovery-modal .auth-recovery-result,.auth-recovery-modal #passwordRecoveryResult { margin:12px 24px; padding:22px; border-radius:16px; background:#f0f6ff; color:#2272eb; overflow-wrap:anywhere; line-height:1.7; }
#loginPage #passwordRecoveryIdentity [role=group] { padding:4px; background:#f2f4f6; border-radius:14px; display:grid!important; grid-template-columns:1fr 1fr; gap:4px!important; }
#loginPage #passwordRecoveryIdentity [role=group] .btn { border:0; min-height:40px; border-radius:11px; color:#6b7684; }
#loginPage #passwordRecoveryIdentity [role=group] .btn-dark { background:#fff; color:#191f28; box-shadow:0 2px 6px #191f2808; }
#loginPage #sendForeignPasswordCodeBtn { border:0; border-radius:14px; min-height:48px; background:#f2f4f6; font-size:13px; }
@media(max-width:520px) { .auth-recovery-modal .modal-dialog { margin:12px; min-height:calc(100% - 24px); align-items:flex-end; } .auth-recovery-modal .modal-content { border-radius:26px!important; } .auth-recovery-modal .modal-title { font-size:23px; } }
/* Recovery dialogs live inside the fullscreen login layer. */
body:has(.auth-recovery-modal.show) .modal-backdrop { z-index:1054!important; }
#loginUI:has(.auth-recovery-modal.show)::after { content:''; position:fixed; inset:0; background:rgba(25,31,40,.38); backdrop-filter:blur(3px); z-index:1075; }
#loginPage .auth-recovery-modal { z-index:1080!important; }
#loginPage .auth-step-error:empty { display:none; }
#loginPage .auth-language-picker { margin-bottom:20px; }
#loginPage .auth-title { margin-bottom:24px; }
#loginPage .auth-field { margin-bottom:18px; }
#loginPage #find-id-pw { margin-top:18px; padding-top:18px!important; }
@media(max-width:520px) {
  #loginPage .auth-inline-logo { margin-bottom:20px; }
  #loginPage .auth-language-picker { margin-bottom:16px; }
  #loginPage .auth-title { margin-bottom:20px; }
  #loginPage .auth-tabs { margin-bottom:20px!important; }
  #loginPage .auth-code-login-link { padding-bottom:14px; }
}
#loginPage .auth-login-switch{display:inline-flex!important;grid-template-columns:none!important;width:auto;gap:3px;padding:3px;border-radius:11px;margin-bottom:22px!important}
#loginPage .auth-login-switch .btn{min-height:32px!important;padding:5px 13px!important;font-size:12px!important;border-radius:8px!important;font-weight:600!important;background:transparent!important;color:#8b95a1!important;box-shadow:none}
#loginPage .auth-login-switch .btn[aria-pressed=true]{background:white!important;color:#191f28!important;box-shadow:0 1px 5px #191f2810}
#loginPage .auth-language-picker{margin-bottom:20px;font-size:12px}
#loginPage .auth-language-menu{position:relative;z-index:3}
#loginPage .auth-language-menu summary{display:flex;gap:7px;align-items:center;padding:9px 11px;border-radius:11px;background:#f7f8fa;color:#6b7684;font-size:12px;font-weight:500;list-style:none;cursor:pointer}
#loginPage .auth-language-menu summary::-webkit-details-marker{display:none}
#loginPage .auth-language-options{position:absolute;right:0;top:calc(100% + 7px);width:202px;max-height:310px;overflow:auto;padding:6px;background:#fff;border:1px solid #edf0f3;border-radius:16px;box-shadow:0 12px 36px #191f2814}
#loginPage .auth-language-options button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#4e5968;text-align:left;font-size:13px;cursor:pointer}
#loginPage .auth-language-options button:hover,#loginPage .auth-language-options button[aria-pressed=true]{background:#f2f4f6;color:#191f28}
#loginPage .auth-language-check{visibility:hidden;color:#3182f6}
#loginPage [aria-pressed=true]>.auth-language-check{visibility:visible}
#loginPage .auth-language-menu summary:focus-visible,#loginPage .auth-language-options button:focus-visible{outline:2px solid #3182f6;outline-offset:2px}
#loginPage{min-height:100dvh}
#loginPage #loginForm .auth-title{font-size:24px}
.auth-recovery-modal #findEmailTitle,.auth-recovery-modal #findPasswordTitle{font-size:20px}
#loginPage .auth-region-menu{position:relative;z-index:2}
#loginPage .auth-region-menu summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:16px;border-radius:16px;background:#f2f4f6;color:#333d4b;font-size:15px;list-style:none;cursor:pointer}
#loginPage .auth-region-menu summary::-webkit-details-marker{display:none}
#loginPage .auth-region-menu[open] summary{box-shadow:0 0 0 2px #b8d5ff;background:#f7faff}
#loginPage .auth-region-options{position:absolute;top:calc(100% + 7px);left:0;right:0;background:#fff;padding:6px;border:1px solid #edf0f3;border-radius:16px;box-shadow:0 12px 36px #191f2814}
#loginPage .auth-region-options button{display:flex;justify-content:space-between;width:100%;padding:13px 12px;background:transparent;border:0;border-radius:11px;color:#4e5968;font-size:14px;text-align:left;cursor:pointer}
#loginPage .auth-region-options button[aria-pressed=true],#loginPage .auth-region-options button:hover{background:#f2f4f6;color:#191f28}
#loginPage .auth-region-options button>span:last-child{visibility:hidden;color:#3182f6}
#loginPage .auth-region-options button[aria-pressed=true]>span:last-child{visibility:visible}
#loginPage .auth-region-menu summary:focus-visible,#loginPage .auth-region-options button:focus-visible{outline:2px solid #3182f6;outline-offset:2px}

/* Keep the entire authentication surface white, including short signup steps. */
#loginUI{background:#fff!important;min-height:100dvh}
#loginUI #loginPage,#loginUI .auth-shell{min-height:100dvh}
#signupEmailVerificationStatus:empty{display:none}

#loginPage .auth-agree-all{position:relative;padding:18px 16px;border:0;background:#f7f8fa;gap:0}
#loginPage .auth-agree-all input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer;margin:0}
#loginPage .auth-consent-switch{margin-left:auto;flex:none;position:relative;width:42px;height:24px;border-radius:20px;background:#d1d6db}
#loginPage .auth-consent-switch:after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform .2s}
#loginPage .auth-agree-all:has(input:checked) .auth-consent-switch{background:#3182f6}
#loginPage .auth-agree-all:has(input:checked) .auth-consent-switch:after{transform:translateX(18px)}
#loginPage .auth-agree-all:has(input:focus-visible){outline:3px solid #95beff;outline-offset:3px}
#loginPage #signupRegularPanel .form-check{padding:16px 54px 16px 0;margin:0!important;min-height:60px}
#loginPage #signupRegularPanel .form-check-input{position:absolute;opacity:0;width:1px;height:1px}
#loginPage #signupRegularPanel .form-check-label{display:block;font-size:13px;line-height:1.6}
#loginPage #signupPrivacyAgreement:checked+label .auth-marketing-switch{background:#3182f6}
#loginPage #signupPrivacyAgreement:checked+label .auth-marketing-switch:after{transform:translateX(18px)}
#loginPage #signupPrivacyAgreement:focus-visible+label .auth-marketing-switch{outline:3px solid #95beff;outline-offset:3px}
#loginPage .auth-marketing-switch{top:18px}
#loginPage .auth-policy-details{border-bottom:1px solid #eef0f3;margin:0 0 6px}
#loginPage .auth-policy-details summary{display:flex;justify-content:space-between;align-items:center;padding:12px 0;color:#6b7684;font-size:12px;cursor:pointer;list-style:none}
#loginPage .auth-policy-details summary::-webkit-details-marker{display:none}
#loginPage .auth-policy-details[open] summary>span{transform:rotate(180deg)}
#loginPage .auth-policy-content{max-height:220px;overflow:auto;padding:16px;background:#f7f8fa;border-radius:14px;font-size:12px;line-height:1.8;margin-bottom:12px}
#loginPage .signup-marketing-benefits{padding:18px 16px;border-radius:16px}
#loginPage .signup-marketing-benefits__reward{font-size:16px;padding-top:14px}
