.guest-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 0 20px;
  padding: 5px;
  border-radius: 16px;
  background: #f7f7f7;
}

.guest-auth-tab {
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #666666;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.guest-auth-tab.active {
  background: #ffffff;
  color: #111111;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.guest-auth-methods {
  display: grid;
  gap: 10px;
}

.guest-auth-method {
  position: relative;
  width: 100%;
  min-height: 52px;
  border: 1px solid #dedede;
  border-radius: 16px;
  background: #ffffff;
  color: #111111;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.guest-auth-method:hover {
  background: #f7f7f7;
}

.guest-auth-method .auth-method-mark {
  position: absolute;
  left: 17px;
  top: 50%;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  transform: translateY(-50%);
  font-size: 17px;
  font-weight: 900;
}

.guest-auth-method[data-provider="apple"] {
  border-color: #111111;
  background: #111111;
  color: #ffffff;
}

.guest-auth-method[data-provider="apple"]:hover {
  background: #222222;
}

.guest-google-identity {
  width: 100%;
  min-height: 44px;
  overflow: hidden;
}

.guest-google-identity > div {
  margin-inline: auto;
}

.guest-google-identity[data-google-busy="true"] {
  opacity: .6;
  pointer-events: none;
}

.guest-auth-method[hidden],
.guest-google-identity[hidden],
.guest-auth-pane.hidden,
.guest-auth-form.hidden,
.guest-auth-tab[hidden] {
  display: none !important;
}

.guest-auth-inline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.guest-auth-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  border: 0;
  padding: 4px 0;
  background: transparent;
  color: #111111;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
}

.guest-auth-password-wrap {
  position: relative;
}

.guest-auth-password-wrap input {
  padding-right: 74px;
}

.guest-auth-password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #666666;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.guest-auth-hint {
  margin: 0;
  color: #7a7a7a;
  font-size: 12px;
  line-height: 1.45;
}

.guest-auth-back {
  margin-top: 10px;
}

.guest-auth-message.error {
  color: #a12d2d;
}

.guest-auth-message.success {
  color: #111111;
}

@media (max-width: 760px) {
  .guest-auth-tabs {
    margin-bottom: 18px;
  }
}

.guest-auth-wordmark { display: block; width: 150px; height: auto; margin-bottom: 20px; }

/* One browser auth surface, including route locks. Native dialog makes the page inert. */
dialog.guest-auth-modal { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; border: 0; background: transparent; box-sizing: border-box; }
dialog.guest-auth-modal::backdrop { background: transparent; }
.guest-auth-card #guest-auth-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: clamp(24px, 4vw, 32px); }
.guest-auth-card .guest-auth-wordmark { display: inline-block; width: 140px; height: auto; margin: 0; }
.guest-auth-card .guest-auth-primary { background: #111; color: #fff; }
.guest-auth-card .guest-auth-primary:hover { background: #292929; }
.guest-auth-card .guest-auth-close { width: 44px; height: 44px; }
.rider-identity-pending [data-rider-view-panel]:not([hidden]) { visibility: hidden; }
.rider-identity-notice { padding: 24px; color: var(--rider-ink); }
.rider-identity-notice[hidden] { display: none; }
