/* The member sign-in is an app canvas, not a two-column marketing page. */
html:has(body.rv-member-auth) { background: #111; }
body.rv-web.rv-auth.rv-login.rv-member-auth {
  --auth-paper: #f7f4ee;
  --auth-ink: #111;
  --auth-muted: #8b8985;
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: #111 !important;
  color: var(--auth-ink);
  font-family: Arial, Helvetica, sans-serif !important;
}
.rv-web.rv-auth.rv-member-auth > .shell {
  display: block;
  width: 100%;
  max-width: 550px;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0 auto;
  padding: 0 16px 32px;
  background: var(--auth-paper) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.rv-web.rv-auth.rv-member-auth .visual {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 62px !important;
  height: 62px;
  padding: 0 !important;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.rv-web.rv-auth.rv-member-auth .visual-copy { display: none !important; }
.rv-web.rv-auth.rv-member-auth .brand { display: inline-flex; align-items: center; }
.rv-web.rv-auth.rv-member-auth .brand img { width: 126px; height: auto; filter: none !important; }
.rv-web.rv-auth.rv-member-auth .auth-back {
  position: absolute;
  left: -6px;
  top: 9px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 10px;
  border-radius: 50%;
  color: var(--auth-ink);
  background: transparent;
  text-decoration: none;
}
.rv-web.rv-auth.rv-member-auth .auth-back svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rv-web.rv-auth.rv-member-auth .panel {
  display: block;
  padding: 10px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
  background: transparent !important;
}
.rv-web.rv-auth.rv-member-auth .panel .card {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.rv-web.rv-auth.rv-member-auth .hidden { display: none !important; }
.rv-web.rv-auth.rv-member-auth .card .eyebrow { display: none; }
.rv-web.rv-auth.rv-member-auth .card h2 {
  margin: 0 0 14px;
  color: var(--auth-ink) !important;
  font: 600 26px/1.25 Arial, Helvetica, sans-serif !important;
  letter-spacing: -.6px;
  text-align: center;
}
.rv-web.rv-auth.rv-member-auth .card > .muted {
  max-width: 460px;
  margin: 0 auto 28px;
  color: var(--auth-muted) !important;
  font: 400 17px/1.45 Arial, Helvetica, sans-serif !important;
  text-align: center;
}
.rv-web.rv-auth.rv-member-auth .field { margin-top: 18px; }
.rv-web.rv-auth.rv-member-auth .field label {
  margin: 0 0 8px 12px;
  color: #777571;
  font: 400 13px/1.3 Arial, Helvetica, sans-serif !important;
}
.rv-web.rv-auth.rv-member-auth .field input {
  width: 100%;
  min-height: 52px;
  height: 52px;
  padding: 13px 14px;
  border: 1px solid #e9e4dc !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--auth-ink) !important;
  box-shadow: none !important;
  font: 400 18px/1.3 Arial, Helvetica, sans-serif !important;
  outline: none;
}
.rv-web.rv-auth.rv-member-auth .field input:focus {
  border-color: #92908b !important;
  box-shadow: 0 0 0 2px rgba(17,17,17,.1) !important;
}
.rv-web.rv-auth.rv-member-auth :is(#signInButton,#resetButton,#sessionNotice button:first-of-type) {
  width: 100%;
  min-height: 52px;
  margin-top: 28px;
  padding: 13px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(115deg,#696765 0%,#111 70%) !important;
  color: #fff !important;
  box-shadow: none !important;
  font: 600 18px/1.4 Arial, Helvetica, sans-serif !important;
  letter-spacing: -.25px;
}
.rv-web.rv-auth.rv-member-auth .card button.secondary {
  min-height: 44px;
  margin: 12px 0 0;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--auth-ink) !important;
  box-shadow: none !important;
  font: 400 16px/1.4 Arial, Helvetica, sans-serif !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rv-web.rv-auth.rv-member-auth .card .fine {
  margin: 20px 0 0;
  color: #777571;
  font: 400 14px/1.6 Arial, Helvetica, sans-serif !important;
  text-align: center;
}
.rv-web.rv-auth.rv-member-auth .fine a { color: var(--auth-ink); font-weight: 400; }
.rv-web.rv-auth.rv-member-auth .message {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #e6dfd5;
  border-radius: 16px;
  background: #fff;
  color: #65625d;
  font: 400 14px/1.5 Arial, Helvetica, sans-serif;
}
.rv-web.rv-auth.rv-member-auth .message.error { border-color: #dfb7bc; background: #fff3f4; color: #913b46; }
.rv-web.rv-auth.rv-member-auth .message.success { border-color: #bbd7c8; background: #f1f8f4; color: #29674c; }
.rv-web.rv-auth.rv-member-auth #sessionNotice {
  margin: 0 0 24px;
  border: 1px solid #e6dfd5;
  background: #fff;
  color: #65625d;
}
.rv-web.rv-auth.rv-member-auth #sessionNotice strong { color: var(--auth-ink); font-weight: 600; }
.rv-web.rv-auth.rv-member-auth #sessionNotice p { margin: 8px 0 0; }
.rv-web.rv-auth.rv-member-auth #sessionNotice button:first-of-type { margin-top: 14px; font-size: 16px !important; }
.rv-web.rv-auth.rv-member-auth :is(input,button,a):focus-visible { outline: 2px solid #615e58 !important; outline-offset: 3px; }
.rv-web.rv-auth.rv-member-auth button:disabled { cursor: wait; opacity: .55; }
.rv-web.rv-auth.rv-member-auth #rvLanguageButton {
  position: fixed;
  top: 13px;
  right: max(calc((100vw - 550px) / 2 + 16px),16px);
  min-height: 36px !important;
  height: 36px;
  max-width: 72px;
  padding: 7px 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--auth-ink) !important;
  font: 600 12px/1 Arial, Helvetica, sans-serif !important;
}
.rv-web.rv-auth.rv-member-auth #rvLanguagePanel { right: max(calc((100vw - 550px) / 2 + 16px),16px); }
@media (max-width: 550px) {
  body.rv-web.rv-auth.rv-login.rv-member-auth { background: var(--auth-paper) !important; }
  .rv-web.rv-auth.rv-member-auth > .shell { padding: env(safe-area-inset-top,0) 16px max(32px,env(safe-area-inset-bottom,0)); }
  .rv-web.rv-auth.rv-member-auth .card h2 { font-size: 25px !important; }
  .rv-web.rv-auth.rv-member-auth .card > .muted { font-size: 16px !important; }
}
