/* Account entry R5: relative text/spacing, scoped away from the trading dashboard.
   Keep the browser's root font preference; borders remain optical 1px hairlines.
   !important only counters legacy fixed-height/padding/font control rules. */
:is(#authGate, #authResetModal) { font-size: 1rem; line-height: 1.5; padding: 1rem; }
:is(#authGate, #authResetModal) *,
:is(#authGate, #authResetModal) *::before,
:is(#authGate, #authResetModal) *::after { box-sizing: border-box; }
#authGate { overflow-y: auto; }
#authGate #authShell {
  width: min(62rem, 100%); max-width: 100%; min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
  margin: auto; border-radius: 1.25rem;
}
#authGate .auth-brand-panel { min-height: 0; padding: 1.75rem; }
#authGate .auth-form-card { min-height: 0; padding: 1.75rem; }
#authGate .auth-brand-row { gap: .75rem; }
#authGate .auth-brand-row strong { margin-top: .25rem; font-size: .875rem; }
#authGate .auth-brand-mark { width: 3.25rem; height: 3.25rem; flex-basis: 3.25rem; border-radius: 1rem; }
:is(#authGate, #authResetModal) .auth-kicker { font-size: .75rem; }
#authGate .auth-brand-copy { margin-top: 1.5rem; }
#authGate .auth-brand-copy h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 .75rem; }
#authGate .auth-brand-copy p { font-size: .875rem; max-width: 25rem; line-height: 1.5; }
#authGate .auth-security-note { gap: .625rem; margin-top: 1.5rem; padding: .75rem; border-radius: .75rem; }
#authGate .auth-neon-shield { width: 2rem; height: 2rem; flex-basis: 2rem; border-radius: .5rem; font-size: 1.125rem; }
#authGate .auth-security-note b { font-size: .875rem; }
#authGate .auth-security-note small { margin-top: .25rem; font-size: .8125rem; line-height: 1.5; }
#authGate .auth-tabs { padding: .25rem; border-radius: .75rem; margin-bottom: 1rem; }
:is(#authGate, #authResetModal) .auth-form { gap: 1rem; }
:is(#authGate, #authResetModal) .auth-form-heading { margin-bottom: .25rem; }
:is(#authGate, #authResetModal) h2 { font-size: 1.5rem; line-height: 1.25; margin: .25rem 0; }
:is(#authGate, #authResetModal) .auth-form label { min-width: 0; gap: .375rem; font-size: .875rem; }
:is(#authGate, #authResetModal) input { min-width: 0; max-width: 100%; }
:is(#authGate, #authResetModal) .auth-form input:not([type="checkbox"]) {
  height: auto; min-height: 3rem; padding: .625rem .75rem;
  font-size: 1rem !important; line-height: 1.5; border-radius: .5625rem;
}
:is(#authGate, #authResetModal) button {
  white-space: normal; overflow-wrap: anywhere; min-width: 0; max-width: 100%;
  min-height: 3rem; height: auto !important; padding: .75rem !important;
  font-size: .875rem !important; line-height: 1.5;
}
:is(#authGate, #authResetModal) .auth-form p,
:is(#authGate, #authResetModal) .auth-message,
:is(#authGate, #authResetModal) .auth-form-footnote { font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
:is(#authGate, #authResetModal) .auth-message { margin-bottom: .625rem; }
:is(#authGate, #authResetModal) .auth-message:not(:empty) { padding: .625rem; border-radius: .5625rem; }
:is(#authGate, #authResetModal) .auth-two-cols {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .75rem;
}
#authGate .auth-terms-row { display: flex; align-items: flex-start; gap: .625rem; }
#authGate .auth-terms-row input { width: 1.375rem; height: 1.375rem; flex: 0 0 1.375rem; padding: 0; }
#authGate .auth-recovery-trigger { gap: .75rem; flex-wrap: wrap; }
#authGate .auth-recovery-trigger span { font-size: .875rem; }
#authGate .auth-recovery-trigger small { font-size: .8125rem; }
#authGate :is(h1, h2, p, label, .auth-brand-row, .auth-security-note) { overflow-wrap: anywhere; min-width: 0; }
#authResetModal .auth-reset-modal {
  width: min(36rem, 100%); max-height: calc(100dvh - 2rem);
  padding: 1.375rem; border-radius: 1rem;
}
#authResetModal .auth-reset-head { gap: .875rem; }
#authResetModal .auth-reset-head > div { min-width: 0; overflow-wrap: anywhere; }
#authResetModal .auth-reset-close { flex: 0 0 3rem; width: 3rem; font-size: 1.125rem !important; }
#authResetModal .auth-reset-help { font-size: .875rem; margin: .5rem 0 1rem; }
#authResetModal .auth-reset-actions { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .5rem; }
@media (max-width: 47.5em) {
  #authGate { padding: .75rem; align-items: start; }
  #authGate #authShell { width: 100%; max-width: 32.5rem; grid-template-columns: minmax(0, 1fr); margin: 0 auto; }
  #authGate .auth-brand-panel { display: none; }
  #authGate .auth-form-card { padding: 1.375rem 1rem; }
  #authGate .auth-two-cols { grid-template-columns: minmax(0, 1fr); }
  #authResetModal { padding: .5rem; }
  #authResetModal .auth-reset-modal { padding: clamp(.5rem, 4vw, 1.375rem); }
  #authResetModal .auth-reset-head { display: grid; grid-template-columns: minmax(0, 1fr); }
  #authResetModal .auth-reset-close { grid-row: 1; justify-self: end; }
}
