/**
 * Auth screen layout — Screen 1 (design-spec Screen 1 / issue #64).
 *
 * Centred card on `--bg-secondary`, trust-signal strip below, stripped auth
 * header (logo + language toggle only). All colours / radii / spacing come
 * from tokens in /shared.css and component primitives in /components/.
 *
 * This stylesheet is scoped to the unauthed view. The authed app keeps using
 * the existing site-nav + panel styles in /shared.css.
 */

/* Stripped header variant: keep c-header chrome, drop the nav column. */
.c-header--auth {
  justify-content: space-between;
}

/* Auth wrapper: vertically centres the card + trust strip inside the viewport. */
.auth-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-9) var(--space-3);
  min-height: calc(100vh - 4rem);
}

.auth-card {
  width: 100%;
  max-width: 320px;
  padding: var(--space-8);
  margin: 0;
}

.auth-title {
  margin: 0 0 var(--space-1);
  font-size: var(--font-size-h2);
  font-weight: 500;
  color: var(--text-primary);
}

.auth-subtitle {
  margin: 0 0 var(--space-5);
  font-size: var(--font-size-small);
  color: var(--text-secondary);
}

.auth-card form {
  display: block;
}

.auth-submit {
  width: 100%;
  margin-top: var(--space-3);
}

.auth-forgot {
  margin: var(--space-3) 0 0;
  text-align: center;
  font-size: var(--font-size-small);
}

.auth-forgot a {
  color: var(--text-secondary);
  text-decoration: none;
}

.auth-forgot a:hover,
.auth-forgot a:focus-visible {
  color: var(--text-primary);
  text-decoration: underline;
}

.auth-forgot a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}

/*
 * S1b — success message rendered inline below the forgot/reset form once
 * the request succeeds. Uses the same `--success-*` token family as the
 * dashboard status card so the visual language stays consistent.
 */
.auth-success {
  margin: var(--space-3) 0 0;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--success-bg);
  color: var(--success-text);
  font-size: var(--font-size-small);
}

/* "or" divider between primary submit and the flip-variant secondary button. */
.auth-or {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-5) 0 var(--space-2);
  font-size: var(--font-size-small);
  color: var(--text-tertiary);
  text-align: center;
}

.auth-or::before,
.auth-or::after {
  content: "";
  flex: 1 1 auto;
  height: 0.5px;
  background: var(--border-tertiary);
}

.auth-or__label {
  flex: 0 0 auto;
}

/* Trust strip below the card. */
.auth-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-5);
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: var(--font-size-small);
  color: var(--text-secondary);
}

.auth-trust li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.auth-trust__tick {
  color: var(--success-text);
  flex: 0 0 auto;
}

/* Let the auth page span edge-to-edge inside the max-width body. */
@media (max-width: 639.98px) {
  .auth-main {
    padding: var(--space-5) 0;
  }

  .auth-card {
    padding: var(--space-7);
  }
}
