/* Shared by authentication views and the account's sign-in settings card. */
.auth-page [hidden], .google-auth [hidden], .auth-form [hidden], [data-auth-email-option][hidden] { display:none !important; }
.google-auth { width:100%; min-width:0; }
.google-auth__button { display:flex; align-items:center; justify-content:center; min-height:44px; }
.google-auth__confirmation { display:grid; gap:16px; margin:16px 0; }
.google-auth__confirmation p { margin:0; line-height:1.5; }
.google-auth__email { overflow-wrap:anywhere; font-weight:600; }
.google-auth__retry, .google-auth__cancel { background:none; border:0; text-decoration:underline; text-underline-offset:3px; padding:10px 0; color:inherit; cursor:pointer; font:inherit; min-height:44px; }
.auth-divider { display:flex; align-items:center; gap:16px; margin:22px 0; color:#767676; font-size:14px; }
.auth-divider::before,.auth-divider::after { content:''; height:1px; background:#ddd; flex:1; }
.auth-password { display:block; position:relative; width:100%; }
.auth-password input { width:100%; padding-right:52px !important; }
.auth-password__toggle { position:absolute; right:5px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; padding:10px; background:none; border:0; border-radius:50%; color:#727272; cursor:pointer; }
.auth-password__toggle svg { width:18px; height:18px; }
.auth-field--password-hint { position:relative; }
.auth-card--split .auth-field #password-help { position:absolute; top:calc(100% + 1px); left:14px; margin:0; font-size:10px; line-height:12px; visibility:hidden; opacity:0; transition:opacity .12s ease; }
.auth-card--split .auth-field:focus-within #password-help { visibility:visible; opacity:1; }
.auth-password__toggle:focus-visible,.google-auth button:focus-visible { outline:2px solid #7e8b83; outline-offset:2px; }
.auth-message:empty { display:none; }
.auth-message.is-error { display:flex; align-items:flex-start; gap:12px; color:#9e1919; background:#fff0f0; padding:14px 16px; border-radius:12px; line-height:1.5; font-size:14px; }
.auth-message.is-error::before { content:'!'; display:grid; place-items:center; flex:0 0 22px; height:22px; border:1.5px solid currentColor; border-radius:50%; font-weight:700; }
.auth-message.is-success { color:#276749; background:#edf7f0; padding:14px 16px; border-radius:12px; line-height:1.5; }
.signin-methods { display:grid; gap:16px; }
.signin-methods p { margin:0; line-height:1.5; }
.signin-methods .auth-field { display:grid; gap:6px; font-size:14px; }
.signin-methods .auth-field input { box-sizing:border-box; min-height:46px; border:1px solid #d6dad7; border-radius:24px; padding:10px 16px; font:inherit; font-size:16px; }
.signin-methods .auth-button { min-height:46px; background:#fff0b9; border:1px solid #f9de80; border-radius:24px; padding:10px 18px; font:inherit; cursor:pointer; }
.signin-methods .auth-row { display:flex; align-items:flex-start; gap:10px; font-size:14px; }
.signin-methods .auth-row input { margin-top:4px; }
.signin-methods form { display:grid; gap:12px; max-width:460px; }
.signin-methods [hidden] { display:none !important; }

/* Keep an accessible name while the visible field name lives in its placeholder. */
.auth-field__label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.auth-field input::placeholder { color:#858985; font-size:inherit; opacity:1; }
.auth-remember { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin:0; color:#626862; font-size:12px; line-height:1.5; }
.auth-card--split .auth-remember__choice { display:flex; align-items:center; margin:0; font-size:12px; cursor:pointer; }
.auth-remember__help { position:relative; display:flex; flex:0 0 24px; }
.auth-remember__info { display:grid; place-items:center; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:transparent; color:#89908b; cursor:pointer; }
.auth-remember__info:hover { color:#626862; }
.auth-remember__info:focus-visible { outline:2px solid #7e8b83; outline-offset:2px; }
.auth-remember__tooltip { position:absolute; z-index:5; top:50%; left:calc(100% + 8px); transform:translateY(-50%); box-sizing:border-box; width:220px; padding:6px 9px; border-radius:var(--brand-radius-control); background:var(--brand-ink); color:var(--brand-white); box-shadow:var(--brand-shadow-dialog); font-size:11px; line-height:1.35; font-weight:400; pointer-events:none; }
@media (max-width:760px) {
  .auth-remember__help { display:contents; }
  .auth-remember__tooltip { position:static; transform:none; flex:0 0 100%; width:100%; margin-top:3px; }
}
