.revup-google-login{
  position:relative;display:flex;align-items:center;justify-content:center;gap:16px;
  width:100%;min-height:60px;margin-top:12px;padding:0 24px;border:1px solid #0b1323;
  border-radius:18px;background:#202b3d;color:#fff;font:inherit;font-size:18px;font-weight:750;
  letter-spacing:.01em;line-height:1.2;box-shadow:0 5px 14px rgba(4,12,26,.2);cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .08s ease;
}
.revup-google-login-host{display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;margin-top:12px;border-radius:18px;overflow:hidden}
.revup-google-login-host[aria-hidden="true"]{display:none}
.revup-google-login-host>div,.revup-google-login-host iframe{max-width:100%!important}
.revup-google-login:hover:not(:disabled){background:#27354a;border-color:#34465f;box-shadow:0 8px 20px rgba(4,12,26,.26)}
.revup-google-login:focus-visible{outline:3px solid #52b9ff;outline-offset:3px}
.revup-google-login:active:not(:disabled){transform:translateY(1px);background:#182334;box-shadow:0 3px 9px rgba(4,12,26,.22)}
.revup-google-login:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}
.revup-google-login[hidden]{display:none!important}
.revup-google-login__icon{flex:0 0 24px;width:24px;height:24px}
.revup-google-login__label{display:block;text-align:center}
.revup-google-login__loading{display:none;align-items:center;gap:10px}
.revup-google-login__spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:revup-google-spin .75s linear infinite}
.revup-google-login[data-loading="true"] .revup-google-login__icon,.revup-google-login[data-loading="true"] .revup-google-login__label{display:none}
.revup-google-login[data-loading="true"] .revup-google-login__loading{display:flex}
@keyframes revup-google-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.revup-google-login,.revup-google-login-host{min-height:58px;border-radius:16px}.revup-google-login{padding:0 18px;font-size:17px;gap:14px}}
@media(prefers-reduced-motion:reduce){.revup-google-login{transition:none}.revup-google-login__spinner{animation-duration:1.4s}}
.revup-microsoft-login{background:#15233a;border-color:#5f7ba3}
.revup-microsoft-login:hover:not(:disabled){background:#1c3150;border-color:#7f9fc8}
.revup-microsoft-login__icon{padding:1px;background:#fff;border-radius:2px}
.loginLegacyCapabilityProbe{display:none!important}

#loginBackdrop{overflow-x:hidden}
.loginSsoStack{display:grid;gap:10px;margin-top:12px}
.revup-sso-login{
  position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:56px;
  padding:0 22px;border:1px solid #9cb0cc;border-radius:14px;background:#fff;color:#10213d;
  font:inherit;font-size:16px;font-weight:750;line-height:1.2;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .08s ease
}
.revup-sso-login svg{width:24px;height:24px;flex:0 0 24px}
.revup-sso-login:hover:not(:disabled){background:#edf5ff;border-color:#156ddf;box-shadow:0 5px 16px rgba(21,109,223,.16)}
.revup-sso-login:active:not(:disabled){transform:translateY(1px)}
.revup-sso-login:focus-visible,.loginRecoveryLink:focus-visible,.loginQaTrialButton:focus-visible,.loginQaDetails summary:focus-visible{outline:3px solid #52b9ff;outline-offset:3px}
.revup-sso-login:disabled{cursor:not-allowed;opacity:.62;background:#e9eef5;color:#34465f;box-shadow:none}
.revup-apple-sso:not(:disabled){background:#05070b;color:#fff;border-color:#05070b}
.revup-apple-sso:hover:not(:disabled){background:#172033;border-color:#5f7ba3}
.loginSsoStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.loginCredentialsColumn>.loginRecoveryLink{display:block;margin:18px auto 10px}
.loginQaDetails{margin-top:12px;text-align:left}
.loginQaDetails summary{cursor:pointer;font-weight:800}
.loginQaDetails p{margin:10px 0 0;line-height:1.5}
.loginQaTrialButton{width:100%;margin-top:10px}
.qaTrialModal{width:min(780px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain}
.qaTrialOtpField input{text-transform:uppercase;letter-spacing:.18em;font-weight:800}

/* Login remains legible over the canonical dark authentication surface. */
#loginBackdrop #loginBox .field > label,
#loginBackdrop .loginLanguageField > label{color:var(--theme-textPrimary,#fff)!important}
#loginBackdrop #loginBox input,
#loginBackdrop #loginBox select{
  color:var(--theme-inputText,#fff)!important;
  -webkit-text-fill-color:var(--theme-inputText,#fff)!important;
  caret-color:var(--theme-inputText,#fff)!important
}
#loginBackdrop #loginBox input::placeholder{color:var(--theme-textSecondary,rgba(255,255,255,.72))!important;opacity:1}
#loginBackdrop #loginBox select option{color:var(--theme-inputText,#0b172a);background:var(--theme-inputBackground,#fff)}
#passwordRecoveryBackdrop #closeRecoveryBtn{
  color:#0b172a!important;background:#fff!important;border:1px solid #b8c8dc!important;
  min-width:44px;min-height:44px;display:grid;place-items:center;font-size:22px;line-height:1;cursor:pointer
}
#passwordRecoveryBackdrop #closeRecoveryBtn:hover{background:#eaf2fb!important;color:#06101f!important}
#passwordRecoveryBackdrop #closeRecoveryBtn:focus-visible{outline:3px solid #52b9ff;outline-offset:2px}

/* Password visibility controls render exactly one centered state icon. */
.loginPasswordControl{position:relative}
.loginPasswordControl > input{padding-right:52px!important}
.loginPasswordControl > .passwordVisibilityToggle,
#loginPasswordToggle{
  position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-50%)!important;
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  margin:0!important;padding:0!important;display:grid!important;place-items:center!important;
  border:0!important;background:transparent!important;color:inherit!important;cursor:pointer!important
}
.passwordVisibilityToggle svg,
#loginPasswordToggle svg{grid-area:1/1;width:24px;height:24px;display:block}
.passwordVisibilityToggle svg[hidden],
#loginPasswordToggle svg[hidden]{display:none!important}
.passwordVisibilityToggle:focus-visible,
#loginPasswordToggle:focus-visible{outline:2px solid #52b9ff!important;outline-offset:-2px;border-radius:9px}
body[data-visual-system="nplus1"] #loginBackdrop .loginModal{width:min(1180px,96vw)!important;max-width:1180px!important;max-height:94vh!important;overflow:auto!important}
#loginBox.loginExperienceGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:start}
#loginBox.loginExperienceGrid[hidden]{display:none!important}
.loginCredentialsColumn,.loginMobileColumn{min-width:0}
.loginMobileColumn{align-self:stretch;display:flex;min-height:100%;flex-direction:column;padding-left:42px;border-left:1px solid rgba(148,163,184,.5);text-align:center}
.loginMobileAccess{margin:0;padding:0;border:0}
.loginMobileAccess>div:first-child{text-align:center}.loginMobileAccess p{margin:6px 0 12px;color:var(--theme-textSecondary,#aebbd0);font-size:13px;line-height:1.45}
.loginMobileQr{width:260px;height:260px;margin:18px auto 22px;display:grid;place-items:center;padding:10px;border-radius:18px;background:#fff;color:#24324a;text-align:center;font-size:12px}
.loginMobileQr svg{display:block;width:100%;height:100%}
.loginAppDownloads{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.revup-app-badge{min-height:58px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:9px 12px;border:1px solid #536b8e;border-radius:14px;background:#0c1422;color:#fff;text-decoration:none;text-align:left;font:inherit;cursor:pointer}
.revup-app-badge svg{width:30px;height:30px;flex:0 0 30px}.revup-app-badge span{display:flex;flex-direction:column}.revup-app-badge small{font-size:10px;line-height:1.1;color:#c5d2e6}.revup-app-badge b{font-size:12px;line-height:1.25}
.revup-app-badge:hover:not(:disabled):not([aria-disabled="true"]){background:#16243a;border-color:#7f9fc8}.revup-app-badge:focus-visible{outline:3px solid #52b9ff;outline-offset:2px}
.revup-app-badge:disabled,.revup-app-badge[aria-disabled="true"]{opacity:.56;cursor:not-allowed;pointer-events:none}.loginMobileStatus{text-align:center!important;margin:10px 0 0!important}
.revup-app-badge:not([aria-disabled="true"]),.revup-app-badge:not([aria-disabled="true"]) small,.revup-app-badge:not([aria-disabled="true"]) b{color:#fff!important;-webkit-text-fill-color:#fff!important}
.loginExperienceFooter{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-top:4px;padding-top:18px;border-top:1px solid rgba(148,163,184,.34)}
.loginBrandLink{grid-column:2;justify-self:center;display:block;max-width:100%;border-radius:12px}
.loginBrandLink img{display:block;width:min(360px,38vw);max-width:100%;height:auto}
.loginSocialLinks{grid-column:3;justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.loginSocialLink{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.7);border-radius:50%;background:rgba(255,255,255,.08);color:var(--theme-textPrimary,#fff);text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .08s ease}
.loginSocialLink svg{width:23px;height:23px;display:block}
.loginSocialLink:hover{background:rgba(21,109,223,.2);border-color:#52b9ff}.loginSocialLink:active{transform:translateY(1px)}
.loginBrandLink:focus-visible,.loginSocialLink:focus-visible{outline:3px solid #52b9ff;outline-offset:3px}
@media(max-width:900px){body[data-visual-system="nplus1"] #loginBackdrop .loginModal{width:min(620px,96vw)!important;max-width:620px!important}#loginBox.loginExperienceGrid{grid-template-columns:1fr;gap:28px}.loginMobileColumn{padding:28px 0 0;border-left:0;border-top:1px solid rgba(148,163,184,.5)}.loginExperienceFooter{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:0}.loginBrandLink img{width:min(320px,100%)}.loginSocialLinks{justify-content:center}}
@media(max-width:520px){.loginAppDownloads{grid-template-columns:1fr}.loginMobileQr{width:min(220px,100%);height:auto;aspect-ratio:1}.revup-sso-login{min-height:54px;padding:0 16px;font-size:15px}.qaTrialModal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}}
