/* PLAID entry presentation. The existing login/CAPTCHA/2FA state classes own visibility. */
html .auth-body,
html[data-theme] .auth-body {
  --auth-ink: #111318;
  --auth-panel: #1a1d24;
  --auth-panel-2: #20242d;
  --auth-text: #f0f1f4;
  --auth-muted: #a9afbc;
  --auth-sub: #929aaa;
  --auth-line: #343945;
  --auth-line-hi: #4b5566;
  --auth-blue: #b0becf;
  --auth-accent-rgb: 145, 164, 188;
  --auth-input-bg: #14171d;
  --auth-placeholder: #8f97a6;
  --auth-submit-bg: #e8edf3;
  --auth-submit-text: #17202d;
  --auth-error-bg: #2c1d22;
  --auth-error-line: #764453;
  --auth-error-text: #ffc4cc;
  background: var(--auth-ink);
  color: var(--auth-text);
  color-scheme: dark;
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  display: flex;
  min-height: 100svh;
  padding: max(24px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  overflow-x: visible;
}
html:is([data-theme="paper"], [data-theme="light"], [data-theme="white"]) .auth-body {
  --auth-ink: #f5f6f8;
  --auth-panel: #fff;
  --auth-panel-2: #f3f5f8;
  --auth-text: #202731;
  --auth-muted: #626d7c;
  --auth-sub: #6c7786;
  --auth-line: #dfe4eb;
  --auth-line-hi: #aebac9;
  --auth-blue: #536a82;
  --auth-accent-rgb: 83, 106, 130;
  --auth-input-bg: #f8f9fb;
  --auth-placeholder: #778292;
  --auth-submit-bg: #253448;
  --auth-submit-text: #fff;
  --auth-error-bg: #fff1f2;
  --auth-error-line: #ebbac2;
  --auth-error-text: #9d3143;
  color-scheme: light;
}
.auth-body .tc-bg { display: none; }
.auth-body .auth-stage { width: min(100%, 392px); min-width: 0; animation: none; }
.auth-body .auth-card {
  padding: 24px;
  border: 1px solid var(--auth-line);
  border-radius: 16px;
  background: var(--auth-panel);
  box-shadow: none;
  overflow: visible;
}
.auth-body .auth-card::before,
.auth-body .auth-card::after { display: none; }
.auth-body .auth-title { margin: 0 0 20px; color: var(--auth-text); font-size: 24px; line-height: 1.25; font-weight: 600; letter-spacing: -.025em; }
.auth-body .auth-form { gap: 12px; min-width: 0; }
.auth-body .auth-field { gap: 6px; min-width: 0; }
.auth-body .auth-label { padding-left: 0; color: var(--auth-muted); font-size: 13px; letter-spacing: 0; }
.auth-body .auth-input-wrap { min-width: 0; }
.auth-body .auth-input {
  width: 100%; min-width: 0; min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--auth-line);
  border-radius: 10px;
  background: var(--auth-input-bg);
  color: var(--auth-text);
  font-size: 16px; line-height: 1.4; font-weight: 400;
  box-shadow: none;
  transition: border-color 120ms ease, background-color 120ms ease;
}
.auth-body .auth-input.has-toggle { padding-right: 50px; }
.auth-body .auth-input::placeholder { color: var(--auth-placeholder); }
.auth-body .auth-input:focus { border-color: var(--auth-line-hi); background: var(--auth-input-bg); box-shadow: none; outline: none; }
.auth-body .auth-input:-webkit-autofill { -webkit-box-shadow: 0 0 0 100px var(--auth-input-bg) inset; -webkit-text-fill-color: var(--auth-text); caret-color: var(--auth-text); }
.auth-body .auth-toggle { top: 50%; right: 1px; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 8px; color: var(--auth-muted); }
.auth-body .auth-toggle svg { width: 18px; height: 18px; }
.auth-body .auth-toggle:hover { color: var(--auth-text); background: var(--auth-panel-2); }
.auth-body :is(.auth-toggle, .auth-submit, .auth-captcha-refresh):focus-visible { outline: 2px solid var(--auth-line-hi); outline-offset: 2px; box-shadow: none; }
.auth-body .auth-alert { padding: 10px 12px; margin: 0 0 14px; border-radius: 10px; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.auth-body .auth-alert.is-error { background: var(--auth-error-bg); border-color: var(--auth-error-line); color: var(--auth-error-text); }
.auth-body .auth-alert.is-ok { background: var(--auth-panel-2); border-color: var(--auth-line); color: var(--auth-text); }
.auth-body .auth-captcha.show { gap: 7px; }
.auth-body .auth-captcha-row { min-width: 0; gap: 8px; }
.auth-body .auth-captcha-img { min-height: 64px; border-radius: 10px; border-color: var(--auth-line); background: #fff; }
.auth-body .auth-captcha-img img { height: 64px; object-fit: contain; }
.auth-body .auth-captcha-refresh { width: 44px; min-height: 44px; border-radius: 10px; background: var(--auth-input-bg); border-color: var(--auth-line); color: var(--auth-muted); }
.auth-body .auth-captcha-refresh:hover { background: var(--auth-panel-2); border-color: var(--auth-line-hi); color: var(--auth-text); }
.auth-body .auth-card.is-2fa .auth-2fa { gap: 8px; padding: 0; }
.auth-body .auth-2fa-orb { width: 32px; height: 32px; margin: 0 0 2px; border: 0; border-radius: 0; background: transparent; color: var(--auth-muted); }
.auth-body .auth-2fa-orb svg { width: 22px; height: 22px; }
.auth-body .auth-2fa-title { font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; color: var(--auth-text); }
.auth-body .auth-2fa-sub { margin: 0 0 6px; max-width: 100%; font-size: 13px; line-height: 1.45; color: var(--auth-muted); overflow-wrap: anywhere; }
.auth-body .auth-otp { display: grid; grid-template-columns: repeat(6, minmax(44px, 1fr)); gap: 6px; margin: 4px 0 0; }
.auth-body .auth-otp-cell { width: 100%; min-width: 44px; height: 48px; border-radius: 8px; border-color: var(--auth-line); background: var(--auth-input-bg); color: var(--auth-text); caret-color: var(--auth-text); font-family: inherit; font-size: 20px; font-weight: 500; }
.auth-body .auth-otp-cell:focus { border-color: var(--auth-line-hi); outline: none; box-shadow: none; }
.auth-body .auth-submit { min-height: 46px; margin-top: 2px; padding: 10px 12px; border-radius: 10px; background: var(--auth-submit-bg); color: var(--auth-submit-text); font-size: 15px; font-weight: 600; line-height: 1.4; letter-spacing: 0; box-shadow: none; transition: opacity 120ms ease; }
.auth-body .auth-submit:hover { filter: none; box-shadow: none; opacity: .9; }
.auth-body .auth-submit:active { transform: none; }
.auth-body .auth-submit:disabled { opacity: .55; }
.auth-body .auth-spinner { border-color: var(--auth-submit-text); border-right-color: transparent; border-top-color: var(--auth-submit-text); }
@media (max-width: 520px) {
  html .auth-body, html[data-theme] .auth-body { padding: max(16px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); }
  .auth-body .auth-card { padding: 20px 18px; border-radius: 14px; }
  .auth-body .auth-title { font-size: 22px; margin-bottom: 18px; }
  .auth-body .auth-card.is-2fa { padding-inline: 12px; }
  .auth-body .auth-otp { gap: 4px; }
}
@media (max-width: 360px) {
  .auth-body .auth-card.is-2fa { padding-inline: 10px; }
  .auth-body .auth-otp { gap: 2px; }
}
@media (max-height: 560px) {
  html .auth-body, html[data-theme] .auth-body { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .auth-body *, .auth-body *::before, .auth-body *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
