/* Phase 4A: Login Sideline Rail.
   Presentation only. Behavior, focus, scroll lock, and dismissal are owned by
   the shared modal foundation; form behavior is owned by createLoginController. */

body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden) {
  --login-rail-width: clamp(27.5rem, 33.333vw, 30rem);
  --login-rail-bg: #241d14;
  --login-rail-text: #fffdf8;
  --login-rail-body: #e4d6bc;
  --login-rail-link: #ffb27a;
  --login-rail-input: #fffdf8;
  --login-rail-input-ink: #241d14;
  --login-rail-input-muted: #6e604d;
  --login-rail-submit-bg: #c2410c;
  --login-rail-submit-hover: #9a3412;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  place-items: initial !important;
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(
    90deg,
    rgba(54, 43, 29, 0.08) 0%,
    rgba(54, 43, 29, 0.12) calc(100% - var(--login-rail-width)),
    rgba(54, 43, 29, 0.32) 100%
  ) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden):not(.team-workspace-fullscreen-modal) .modal-card {
  position: relative;
  width: var(--login-rail-width) !important;
  max-width: 100% !important;
  height: 100dvh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(1.5rem, 3.5vh, 2.5rem) clamp(1.75rem, 3vw, 3rem);
  overflow: hidden !important;
  border: 0;
  border-radius: 0 !important;
  background: var(--login-rail-bg) !important;
  color: var(--login-rail-text) !important;
  box-shadow: -8px 0 24px rgba(12, 8, 4, 0.34);
  animation: login-rail-enter 210ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.login-rail-modal .modal-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #ea580c;
}

.login-rail-modal .modal-header {
  min-height: 4.25rem;
  margin: 0 0 clamp(1.25rem, 3vh, 2.25rem);
  padding: 0;
  align-items: flex-start;
  border: 0;
}

.login-rail-modal .modal-header > div {
  display: grid;
  gap: 0.35rem;
}

.login-rail-modal #modalKicker {
  margin: 0;
  color: var(--login-rail-link);
  font: 700 0.8125rem/1.4 Inter, 'Noto Sans Thai', system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.login-rail-modal #modalTitle {
  margin: 0;
  color: var(--login-rail-text);
  font: 800 clamp(1.75rem, 3vw, 2.25rem)/1.18 Inter, 'Noto Sans Thai', system-ui, sans-serif;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.login-rail-modal #modalClose {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(255, 253, 248, 0.34);
  border-radius: 10px;
  background: transparent;
  color: var(--login-rail-text);
  font-size: 1.45rem;
  line-height: 1;
}

.login-rail-modal #modalClose:hover:not(:disabled) {
  border-color: rgba(255, 253, 248, 0.58);
  background: rgba(255, 253, 248, 0.1);
}

.login-rail-modal #modalClose:focus-visible,
.login-rail-modal button:focus-visible,
.login-rail-modal a:focus-visible,
.login-rail-modal input:focus-visible {
  outline: 2px solid var(--w2g-orange, #ea580c);
  outline-offset: 2px;
  box-shadow: var(--w2g-focus, 0 0 0 3px rgba(234, 88, 12, 0.18));
}

.login-rail-modal #modalClose:disabled {
  cursor: wait;
  opacity: 0.45;
}

.login-rail-modal .modal-body {
  height: calc(100dvh - clamp(8.5rem, 17vh, 11rem));
  padding: 0 0 2rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.login-rail-modal .modal-footer {
  display: none;
}

.login-rail-intro {
  margin: 0 0 1.5rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid rgba(255, 253, 248, 0.18);
}

.login-rail-intro p {
  max-width: 38ch;
  margin: 0;
  color: var(--login-rail-body);
  font: 400 0.9375rem/1.65 Inter, 'Noto Sans Thai', system-ui, sans-serif;
  text-wrap: pretty;
}

.login-rail-modal :is(#authMessage, #registerModalMessage, #forgotPasswordMessage) {
  margin: 0 0 1rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(255, 183, 177, 0.52);
  border-radius: 10px;
  background: rgba(127, 29, 29, 0.38);
  color: #ffd2cc;
  font: 600 0.875rem/1.5 Inter, 'Noto Sans Thai', system-ui, sans-serif;
}

.login-rail-modal :is(#authMessage, #registerModalMessage, #forgotPasswordMessage).hidden {
  display: none;
}

.login-rail-form {
  display: grid;
  gap: 1rem;
}

.login-rail-name-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.login-rail-modal #forgotPasswordFields {
  display: grid;
  gap: 1rem;
}

.login-rail-field {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  color: var(--login-rail-text);
  font: 700 0.875rem/1.4 Inter, 'Noto Sans Thai', system-ui, sans-serif;
}

.login-rail-field > input,
.login-rail-password-wrap > input {
  width: 100%;
  min-width: 0;
  height: 3rem;
  padding: 0 0.9rem;
  border: 1px solid var(--w2g-line-strong, #d8c193);
  border-radius: 10px;
  background: var(--login-rail-input);
  color: var(--login-rail-input-ink);
  font: 400 1rem/1.4 Inter, 'Noto Sans Thai', system-ui, sans-serif;
  text-overflow: ellipsis;
}

.login-rail-field input::placeholder {
  color: var(--login-rail-input-muted);
  opacity: 1;
}

.login-rail-field input:hover:not(:disabled) {
  border-color: var(--w2g-muted, #7a6e5c);
}

.login-rail-field input[aria-invalid='true'] {
  border-color: var(--w2g-danger, #dc2626);
}

.login-rail-field-error {
  color: #ffd2cc;
  font: 600 0.8125rem/1.45 Inter, 'Noto Sans Thai', system-ui, sans-serif;
}

.login-rail-field-error.hidden {
  display: none;
}

.login-rail-password-wrap {
  position: relative;
  display: block;
  min-width: 0;
}

.login-rail-password-wrap > input {
  padding-right: 3rem;
}

.login-rail-password-toggle {
  position: absolute;
  top: 50%;
  right: 0.45rem;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  place-items: center;
  transform: translateY(-50%);
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--login-rail-input-muted);
}

.login-rail-password-toggle:hover:not(:disabled) {
  background: #f1e4cc;
  color: var(--login-rail-input-ink);
}

.login-rail-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  font: 600 0.875rem/1.45 Inter, 'Noto Sans Thai', system-ui, sans-serif;
}

.login-rail-remember {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  color: var(--login-rail-body);
}

.login-rail-remember input {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  accent-color: var(--w2g-orange, #ea580c);
}

.login-rail-forgot,
.login-rail-register button {
  color: var(--login-rail-link);
  font-weight: 700;
  text-decoration: none;
}

.login-rail-link {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
}

.login-rail-forgot:hover,
.login-rail-register button:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.login-rail-submit {
  position: relative;
  display: inline-flex;
  width: 100%;
  min-height: 3.125rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 0.25rem;
  padding: 0.75rem 1rem;
  border: 0;
  border-radius: 10px;
  background: var(--login-rail-submit-bg);
  color: #fffdf8;
  font: 700 1rem/1.4 Inter, 'Noto Sans Thai', system-ui, sans-serif;
}

.login-rail-submit:hover:not(:disabled) {
  background: var(--login-rail-submit-hover);
}

.login-rail-submit:disabled {
  cursor: wait;
  opacity: 0.72;
}

.login-rail-submit-spinner {
  display: none;
  width: 1rem;
  height: 1rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: login-rail-spin 700ms linear infinite;
}

.login-rail-submit[data-loading='true'] .login-rail-submit-spinner {
  display: block;
}

.login-rail-register {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 1.25rem;
  color: var(--login-rail-body);
  font: 400 0.875rem/1.5 Inter, 'Noto Sans Thai', system-ui, sans-serif;
  text-align: center;
}

.login-rail-register button {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 700;
}

.login-rail-desktop-copy,
.auth-rail-mode-copy,
.login-copy-desktop,
.login-rail-product-cue {
  display: none;
}

html[data-theme='dark'] body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden) {
  background: linear-gradient(
    90deg,
    rgba(10, 8, 5, 0.16) 0%,
    rgba(10, 8, 5, 0.24) calc(100% - var(--login-rail-width)),
    rgba(10, 8, 5, 0.58) 100%
  ) !important;
}

.login-rail-success {
  padding: 1rem;
  border: 1px solid rgba(255, 253, 248, 0.24);
  border-radius: 10px;
  background: rgba(255, 253, 248, 0.08);
  color: var(--login-rail-body);
}

.login-rail-success strong {
  display: block;
  color: var(--login-rail-text);
  font-size: 1rem;
}

.login-rail-success p {
  margin: 0.4rem 0 0;
  line-height: 1.6;
}

html[data-theme='dark'] .login-rail-modal .modal-card {
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.38);
}

/* Founder QA reference: desktop Login / normal state only. */
@media (min-width: 48rem) {
  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal[data-auth-mode='login']:not(.hidden) {
    --login-rail-width: clamp(24rem, 33.333vw, 30rem);
    --login-rail-input: #302a23;
    --login-rail-input-ink: #fffdf8;
    --login-rail-input-muted: #8f8578;
    --login-rail-submit-bg: #ea580c;
    --login-rail-submit-hover: #f36a21;
    background: linear-gradient(
      90deg,
      rgba(36, 29, 20, 0.18) 0%,
      rgba(36, 29, 20, 0.22) calc(100% - var(--login-rail-width)),
      rgba(36, 29, 20, 0.44) 100%
    ) !important;
  }

  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal[data-auth-mode='login']:not(.hidden) .modal-card {
    display: flex !important;
    flex-direction: column;
    padding: 1.75rem 2.25rem 1.625rem;
    font-family: 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    box-shadow: -5px 0 18px rgba(12, 8, 4, 0.24);
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .modal-header {
    min-height: 1.875rem;
    margin: 0 0 2.375rem;
    padding: 0;
    align-items: center;
    border: 0 !important;
    background: transparent !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .modal-header > div {
    display: block;
    width: auto;
    min-width: 0;
    padding: 0;
    background: transparent !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] #modalKicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: #fffdf8;
    font: 700 0.75rem/1.2 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] #modalKicker::before {
    content: 'W2';
    display: grid;
    width: 1.5rem;
    height: 1.5rem;
    place-items: center;
    border-radius: 0.4375rem;
    background: #ea580c;
    color: #fffdf8;
    font: 800 0.625rem/1 Inter, system-ui, sans-serif;
    letter-spacing: -0.02em;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] #modalTitle {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] #modalClose {
    position: relative;
    width: 1.875rem;
    min-width: 1.875rem;
    height: 1.875rem;
    min-height: 1.875rem;
    margin-left: auto;
    border-color: rgba(255, 253, 248, 0.22);
    border-radius: 0.5rem;
    background: transparent !important;
    color: #fffdf8;
    box-shadow: none;
    font-size: 1rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] #modalClose::before {
    content: 'Esc';
    position: absolute;
    top: 50%;
    right: calc(100% + 0.625rem);
    transform: translateY(-50%);
    color: #9b907f;
    font: 500 0.625rem/1 Inter, system-ui, sans-serif;
    pointer-events: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .modal-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: transparent !important;
    scrollbar-gutter: auto;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-intro {
    display: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] [data-auth-rail-view='login'] {
    display: flex;
    width: 100%;
    min-height: 100%;
    flex: 1 0 auto;
    flex-direction: column;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-copy {
    display: block;
    margin: 0 0 0.875rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-kicker {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.625rem;
    color: #ffb27a;
    font: 700 0.6875rem/1.35 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-kicker::before {
    content: '';
    width: 1.125rem;
    height: 2px;
    flex: 0 0 auto;
    background: #ea580c;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-title {
    margin: 0;
    color: #fffdf8;
    font: 800 1.875rem/1.16 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    letter-spacing: -0.025em;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-helper {
    max-width: none;
    margin: 0.75rem 0 0;
    color: #cfc1aa;
    font: 400 0.625rem/1.5 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    white-space: nowrap;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] #authMessage {
    margin-bottom: 0.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-form {
    gap: 0.5rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-field {
    gap: 0.375rem;
    color: #d6c9b3 !important;
    font: 700 0.6875rem/1.35 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-copy-mobile {
    display: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-copy-desktop {
    display: inline;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] :is(.login-rail-field, .login-rail-remember) > .login-copy-desktop {
    color: #d6c9b3 !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] :is(.login-rail-field > input, .login-rail-password-wrap > input) {
    height: 2.625rem;
    padding-inline: 0.75rem;
    border-color: #5e554a !important;
    border-radius: 0.5rem;
    background: var(--login-rail-input) !important;
    color: var(--login-rail-input-ink) !important;
    caret-color: #fffdf8;
    font: 400 0.8125rem/1.4 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    box-shadow: inset 0 1px 0 rgba(255, 253, 248, 0.025);
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-password-wrap > input {
    padding-right: 3.5rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-field input::placeholder {
    color: var(--login-rail-input-muted);
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-field input:hover:not(:disabled) {
    border-color: #766b5e;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-password-toggle {
    right: 0.625rem;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0.25rem 0;
    color: #ffb27a;
    font: 700 0.6875rem/1.2 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-password-toggle::before {
    content: 'แสดง';
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-password-toggle .password-visibility-icon {
    display: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-password-toggle:hover:not(:disabled) {
    background: transparent;
    color: #ffd0aa;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-options {
    margin-top: 0.0625rem;
    color: #cfc1aa;
    font: 500 0.6875rem/1.4 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-remember {
    color: #cfc1aa;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-remember input {
    width: 0.875rem;
    height: 0.875rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] :is(.login-rail-forgot, .login-rail-register button) {
    color: #e8c08e;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-submit {
    min-height: 2.75rem;
    margin-top: 0.125rem;
    border-radius: 0.5rem;
    background: var(--login-rail-submit-bg);
    color: #241d14;
    font: 800 0.8125rem/1.4 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-register {
    justify-content: flex-start;
    margin-top: 0.75rem;
    color: #cfc1aa;
    font: 400 0.6875rem/1.5 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    text-align: left;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-product-cue {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 2rem;
    color: #887c6b;
    font: 600 0.625rem/1.3 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-product-cue i {
    width: 0.3125rem;
    height: 0.3125rem;
    border-radius: 50%;
    background: #ea580c;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] :is(#loginEmail, #loginPassword):-webkit-autofill,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] :is(#loginEmail, #loginPassword):-webkit-autofill:hover,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] :is(#loginEmail, #loginPassword):-webkit-autofill:focus {
    border-color: #766b5e !important;
    -webkit-text-fill-color: #fffdf8 !important;
    caret-color: #fffdf8;
    -webkit-box-shadow: 0 0 0 1000px #302a23 inset !important;
    box-shadow: 0 0 0 1000px #302a23 inset !important;
    transition: background-color 9999s ease-out 0s;
  }
}

/* Desktop Register and Forgot reuse the locked Login chrome without altering
   any selector that owns approved Login pixels. */
@media (min-width: 48rem) {
  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']):not(.hidden) {
    --login-rail-width: clamp(24rem, 33.333vw, 30rem);
    --login-rail-input: #302a23;
    --login-rail-input-ink: #fffdf8;
    --login-rail-input-muted: #b8aa96;
    --login-rail-submit-bg: #ea580c;
    --login-rail-submit-hover: #f36a21;
    background: linear-gradient(
      90deg,
      rgba(36, 29, 20, 0.18) 0%,
      rgba(36, 29, 20, 0.22) calc(100% - var(--login-rail-width)),
      rgba(36, 29, 20, 0.44) 100%
    ) !important;
  }

  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']):not(.hidden) .modal-card {
    display: flex !important;
    flex-direction: column;
    padding: 1.75rem 2.25rem 1.625rem;
    font-family: 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    box-shadow: -5px 0 18px rgba(12, 8, 4, 0.24);
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .modal-header {
    min-height: 1.875rem;
    margin: 0 0 2.375rem;
    padding: 0;
    align-items: center;
    border: 0 !important;
    background: transparent !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .modal-header > div {
    display: block;
    width: auto;
    min-width: 0;
    padding: 0;
    background: transparent !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) #modalKicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: #fffdf8;
    font: 700 0.75rem/1.2 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) #modalKicker::before {
    content: 'W2';
    display: grid;
    width: 1.5rem;
    height: 1.5rem;
    place-items: center;
    border-radius: 0.4375rem;
    background: #ea580c;
    color: #fffdf8;
    font: 800 0.625rem/1 Inter, system-ui, sans-serif;
    letter-spacing: -0.02em;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) #modalTitle {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) #modalClose {
    position: relative;
    width: 1.875rem;
    min-width: 1.875rem;
    height: 1.875rem;
    min-height: 1.875rem;
    margin-left: auto;
    border-color: rgba(255, 253, 248, 0.22);
    border-radius: 0.5rem;
    background: transparent !important;
    color: #fffdf8;
    box-shadow: none;
    font-size: 1rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) #modalClose::before {
    content: 'Esc';
    position: absolute;
    top: 50%;
    right: calc(100% + 0.625rem);
    transform: translateY(-50%);
    color: #9b907f;
    font: 500 0.625rem/1 Inter, system-ui, sans-serif;
    pointer-events: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .modal-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: transparent !important;
    scrollbar-gutter: auto;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-intro {
    display: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] [data-auth-rail-view='register'],
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='forgot'] [data-auth-rail-view='forgot'] {
    display: flex;
    width: 100%;
    min-height: 100%;
    flex: 1 0 auto;
    flex-direction: column;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-copy {
    display: block;
    margin: 0 0 0.875rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-kicker {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.625rem;
    color: #ffb27a;
    font: 700 0.6875rem/1.35 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-kicker::before {
    content: '';
    width: 1.125rem;
    height: 2px;
    flex: 0 0 auto;
    background: #ea580c;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-title {
    margin: 0;
    color: #fffdf8;
    font: 800 1.875rem/1.16 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    letter-spacing: -0.025em;
    text-wrap: balance;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-helper {
    max-width: 34ch;
    margin: 0.75rem 0 0;
    color: #cfc1aa;
    font: 400 0.6875rem/1.55 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    text-wrap: pretty;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) :is(#registerModalMessage, #forgotPasswordMessage) {
    margin-bottom: 0.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-form,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='forgot'] #forgotPasswordFields {
    gap: 0.5rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] .login-rail-name-grid {
    gap: 0.5rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-field {
    gap: 0.375rem;
    color: #d6c9b3 !important;
    font: 700 0.6875rem/1.35 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-copy-mobile {
    display: none;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-copy-desktop {
    display: inline;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-field > .login-copy-desktop {
    color: #d6c9b3 !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-field > input {
    height: 2.625rem;
    padding-inline: 0.75rem;
    border-color: #5e554a !important;
    border-radius: 0.5rem;
    background: var(--login-rail-input) !important;
    color: var(--login-rail-input-ink) !important;
    caret-color: #fffdf8;
    font: 400 0.8125rem/1.4 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    box-shadow: inset 0 1px 0 rgba(255, 253, 248, 0.025);
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-field input::placeholder {
    color: var(--login-rail-input-muted);
    opacity: 1;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-field input:hover:not(:disabled) {
    border-color: #766b5e !important;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-submit {
    min-height: 2.75rem;
    margin-top: 0.125rem;
    border-radius: 0.5rem;
    background: var(--login-rail-submit-bg);
    color: #241d14;
    font: 800 0.8125rem/1.4 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-register {
    justify-content: flex-start;
    margin-top: 0.75rem;
    color: #cfc1aa;
    font: 400 0.6875rem/1.5 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
    text-align: left;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-register button {
    color: #e8c08e;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-product-cue {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 2rem;
    color: #887c6b;
    font: 600 0.625rem/1.3 'Bai Jamjuree', Inter, 'Noto Sans Thai', system-ui, sans-serif;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-product-cue i {
    width: 0.3125rem;
    height: 0.3125rem;
    border-radius: 50%;
    background: #ea580c;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] :is(#registerModalFirstName, #registerModalLastName, #registerModalEmail, #registerModalPassword):-webkit-autofill,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] :is(#registerModalFirstName, #registerModalLastName, #registerModalEmail, #registerModalPassword):-webkit-autofill:hover,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] :is(#registerModalFirstName, #registerModalLastName, #registerModalEmail, #registerModalPassword):-webkit-autofill:focus,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='forgot'] #forgotPasswordEmail:-webkit-autofill,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='forgot'] #forgotPasswordEmail:-webkit-autofill:hover,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='forgot'] #forgotPasswordEmail:-webkit-autofill:focus {
    border-color: #766b5e !important;
    -webkit-text-fill-color: #fffdf8 !important;
    caret-color: #fffdf8;
    -webkit-box-shadow: 0 0 0 1000px #302a23 inset !important;
    box-shadow: 0 0 0 1000px #302a23 inset !important;
    transition: background-color 9999s ease-out 0s;
  }
}

/* Founder QA scale refinement: one desktop geometry system for every Auth Rail
   mode. Color, copy, behavior, and mobile sheet ownership remain unchanged. */
@media (min-width: 48rem) {
  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']):not(.hidden) {
    --login-rail-width: clamp(27.5rem, 33.333vw, 35rem);
    --auth-rail-padding-x: clamp(2.5rem, 3.125vw, 3.25rem);
  }

  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']):not(.hidden) .modal-card {
    padding: 2rem var(--auth-rail-padding-x) 1.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) .modal-header {
    min-height: 2rem;
    margin-bottom: 2.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) #modalKicker::before {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.6875rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) #modalClose {
    width: 2rem;
    min-width: 2rem;
    height: 2rem;
    min-height: 2rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-copy,
  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-copy {
    margin-bottom: 1rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) :is(.login-rail-desktop-kicker, .auth-rail-mode-kicker) {
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) :is(.login-rail-desktop-title, .auth-rail-mode-title) {
    font-size: 2rem;
    line-height: 1.16;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-desktop-helper,
  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='register'], [data-auth-mode='forgot']) .auth-rail-mode-helper {
    max-width: 100%;
    margin-top: 0.875rem;
    font-size: 0.6875rem;
    line-height: 1.55;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='forgot']) .login-rail-form,
  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='forgot'] #forgotPasswordFields {
    gap: 0.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] .login-rail-form {
    gap: 0.625rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='register'] .login-rail-name-grid {
    gap: 0.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-field {
    gap: 0.4375rem;
    font-size: 0.75rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) :is(.login-rail-field > input, .login-rail-password-wrap > input) {
    height: 3rem;
    padding-inline: 1rem;
    border-radius: 0.625rem;
    font-size: 0.875rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal[data-auth-mode='login'] .login-rail-password-wrap > input {
    padding-right: 4rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-submit {
    min-height: 3.125rem;
    margin-top: 0.1875rem;
    border-radius: 0.625rem;
    font-size: 0.875rem;
  }

  body[data-page='app'] #modalOverlay.login-rail-modal:is([data-auth-mode='login'], [data-auth-mode='register'], [data-auth-mode='forgot']) .login-rail-register {
    margin-top: 1rem;
    font-size: 0.75rem;
  }
}

@keyframes login-rail-enter {
  from { transform: translate3d(100%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@keyframes login-rail-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 47.99rem) {
  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden) {
    align-items: flex-end !important;
    --login-rail-width: 100%;
    background: linear-gradient(
      180deg,
      rgba(54, 43, 29, 0.08) 0%,
      rgba(54, 43, 29, 0.16) 18%,
      rgba(54, 43, 29, 0.3) 100%
    ) !important;
  }

  body[data-page='app'] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden):not(.team-workspace-fullscreen-modal) .modal-card {
    width: 100% !important;
    height: calc(100dvh - clamp(6.5rem, 16.3dvh, 8.625rem)) !important;
    min-height: min(36rem, calc(100dvh - 5rem));
    padding: 1.25rem max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    border-radius: 14px 14px 0 0 !important;
    box-shadow: 0 -8px 24px rgba(36, 29, 20, 0.16);
    animation-name: login-sheet-enter;
  }

  .login-rail-modal .modal-card::before {
    inset: 0 0 auto;
    width: auto;
    height: 5px;
  }

  .login-rail-modal .modal-header {
    min-height: 3.25rem;
    margin-bottom: 0.75rem;
  }

  .login-rail-modal #modalTitle {
    font-size: 1.65rem;
  }

  .login-rail-modal #modalClose {
    width: 2.375rem;
    height: 2.375rem;
  }

  .login-rail-modal .modal-body {
    height: calc(100% - 4rem);
    padding-bottom: 1rem;
    scrollbar-gutter: auto;
  }

  .login-rail-intro {
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
  }

  .login-rail-intro p {
    font-size: 0.875rem;
  }

  .login-rail-form {
    gap: 0.8rem;
  }

  .login-rail-name-grid {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .login-rail-field > input,
  .login-rail-password-wrap > input {
    height: 2.875rem;
  }

  .login-rail-submit {
    min-height: 3rem;
  }
}

@keyframes login-sheet-enter {
  from { transform: translate3d(0, 100%, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@media (max-height: 44rem) and (min-width: 48rem) {
  .login-rail-modal .modal-header {
    margin-bottom: 0.75rem;
  }

  .login-rail-intro {
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
  }

  .login-rail-form {
    gap: 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-rail-modal .modal-card {
    animation: none;
  }

  .login-rail-submit-spinner {
    animation-duration: 1.4s;
  }
}

/* Personal #home is the canonical Landing shell, not an app-shell sidebar.
   These explicit ownership rules defeat the authenticated shell's fixed rail
   without changing Mission Center, Requests, Profile, Organizer, or Admin. */
body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar {
  position: sticky !important;
  inset: auto !important;
  top: 0 !important;
  width: 100% !important;
  height: 68px !important;
  min-height: 68px !important;
  flex-direction: initial !important;
  padding-inline: max(40px, calc((100% - 1180px) / 2)) !important;
  overflow: visible !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(255, 253, 248, 0.14) !important;
  background: #241d14 !important;
  color: #fffdf8 !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .page-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - 68px) !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar .brand,
body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar .brand strong,
body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar .main-nav .shell-nav-item {
  color: #e4d6bc !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar .brand strong,
body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar .main-nav .shell-nav-item.active {
  color: #fffdf8 !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions {
  display: flex !important;
  width: auto !important;
  min-width: max-content;
  flex-direction: row !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions [data-header-preference-control],
body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions #logoutButton {
  display: none !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions #notificationButton,
body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions #profileShortcut {
  display: inline-flex !important;
  width: auto;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 253, 248, 0.28) !important;
  background: rgba(255, 253, 248, 0.08) !important;
  color: #fffdf8 !important;
  box-shadow: none !important;
}

body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions #profileShortcut {
  padding: 7px 12px;
}

body.app-shell-v2:not(.app-shell-guest) #profileShortcut {
  display: none !important;
}

@media (max-width: 65.625rem) {
  body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar {
    height: 64px !important;
    min-height: 64px !important;
    padding: 10px 14px !important;
  }

  body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .auth-actions {
    display: none !important;
  }

  body.app-shell-v2.app-shell-guest:has(#home.active-view) > .topbar > .mobile-menu-button {
    grid-column: 2 !important;
  }
}

/* Approved Light Color System rollout: shared in-app Auth rail only. */
html[data-theme="light"] body[data-page="app"] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden) {
  --login-rail-bg: #FFFFFF;
  --login-rail-text: #18181B;
  --login-rail-body: #3F3F46;
  --login-rail-link: #C2410C;
  --login-rail-input: #FFFFFF;
  --login-rail-input-ink: #18181B;
  --login-rail-input-muted: #71717A;
  --login-rail-submit-bg: #C2410C;
  --login-rail-submit-hover: #9A3412;
  background: rgba(24, 24, 27, 0.50) !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.modal-overlay.login-rail-modal:not(.hidden) .modal-card {
  border-color: #E5E7EB;
  background: #FFFFFF !important;
  color: #18181B !important;
  box-shadow: -8px 0 24px rgba(24, 24, 27, 0.14);
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal :is(#modalKicker, .login-rail-forgot, .login-rail-register button) {
  color: #C2410C !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal :is(#modalTitle, .login-rail-field, .login-rail-success strong) {
  color: #18181B !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal :is(.login-rail-intro p, .login-rail-options, .login-rail-remember, .login-rail-register, .login-rail-product-cue) {
  color: #3F3F46 !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .modal-close {
  border-color: #E5E7EB;
  background: #FFFFFF;
  color: #3F3F46;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-field > input {
  border-color: #E5E7EB !important;
  background: #FFFFFF !important;
  color: #18181B !important;
  caret-color: #EA580C;
  box-shadow: inset 0 1px 0 rgba(24, 24, 27, 0.025);
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-field input:hover:not(:disabled) {
  border-color: #D1D5DB !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-password-toggle {
  background: transparent;
  color: #71717A;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-password-toggle:hover:not(:disabled) {
  background: #F2F3F4;
  color: #18181B;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-submit {
  background: #C2410C !important;
  color: #FFFFFF !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-submit:hover:not(:disabled) {
  background: #9A3412 !important;
  color: #FFFFFF !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal .login-rail-success {
  border-color: #BBF7D0;
  background: #F0FDF4;
  color: #15803D;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal input:-webkit-autofill,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal input:-webkit-autofill:hover,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal input:-webkit-autofill:focus {
  border-color: #E5E7EB !important;
  -webkit-text-fill-color: #18181B !important;
  caret-color: #EA580C;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
}

/* Final Light-theme Auth rail correction. Desktop mode-specific rules above
   deliberately have greater specificity than the shared rail foundation; in
   Light theme they must resolve to readable neutrals rather than their legacy
   warm-on-dark copy and input colors. */
html[data-theme="light"] body[data-page="app"] #modalOverlay.modal-overlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]):not(.hidden) {
  --login-rail-bg: #FFFFFF;
  --login-rail-text: #18181B;
  --login-rail-body: #3F3F46;
  --login-rail-link: #C2410C;
  --login-rail-input: #FFFFFF;
  --login-rail-input-ink: #18181B;
  --login-rail-input-muted: #71717A;
  --login-rail-submit-bg: #C2410C;
  --login-rail-submit-hover: #9A3412;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.modal-overlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]):not(.hidden) .modal-card {
  border-color: #E5E7EB !important;
  background: #FFFFFF !important;
  color: #18181B !important;
  box-shadow: -5px 0 18px rgba(24, 24, 27, 0.14);
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) :is(.login-rail-desktop-title, .auth-rail-mode-title) {
  color: #18181B !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal[data-auth-mode="login"] .login-rail-desktop-helper,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="register"], [data-auth-mode="forgot"]) .auth-rail-mode-helper,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) :is(.login-rail-options, .login-rail-remember, .login-rail-register, .login-rail-product-cue) {
  color: #3F3F46 !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-field,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) :is(.login-rail-field, .login-rail-remember) > .login-copy-desktop {
  color: #3F3F46 !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) :is(.login-rail-field > input, .login-rail-password-wrap > input) {
  border-color: #E5E7EB !important;
  background: #FFFFFF !important;
  color: #18181B !important;
  caret-color: #EA580C !important;
  box-shadow: inset 0 1px 0 rgba(24, 24, 27, 0.025) !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-field input::placeholder {
  color: #71717A !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-field input:hover:not(:disabled) {
  border-color: #D1D5DB !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) :is(.login-rail-forgot, .login-rail-register button) {
  color: #C2410C !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) #modalClose {
  border-color: #E5E7EB !important;
  background: #FFFFFF !important;
  color: #3F3F46 !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) #modalClose::before {
  color: #71717A !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-password-toggle {
  background: transparent !important;
  color: #71717A !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-password-toggle:hover:not(:disabled) {
  background: #F2F3F4 !important;
  color: #18181B !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-submit {
  border-color: #C2410C !important;
  background: #C2410C !important;
  color: #FFFFFF !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal:is([data-auth-mode="login"], [data-auth-mode="register"], [data-auth-mode="forgot"]) .login-rail-submit:hover:not(:disabled) {
  border-color: #9A3412 !important;
  background: #9A3412 !important;
  color: #FFFFFF !important;
}

html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal[data-auth-mode="login"] :is(#loginEmail, #loginPassword):-webkit-autofill,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal[data-auth-mode="register"] :is(#registerModalFirstName, #registerModalLastName, #registerModalEmail, #registerModalPassword):-webkit-autofill,
html[data-theme="light"] body[data-page="app"] #modalOverlay.login-rail-modal[data-auth-mode="forgot"] #forgotPasswordEmail:-webkit-autofill {
  border-color: #E5E7EB !important;
  -webkit-text-fill-color: #18181B !important;
  caret-color: #EA580C !important;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
}
