/* Sign-in and account-recovery shell (D-088).
   Loaded instead of the application page styles on unauthenticated auth
   pages. Uses the shared tokens only; it defines no colors of its own. */

/* ── Header and environment marker ─────────────────────── */

.auth-topbar .topbar-inner {
  justify-content: space-between;
  gap: var(--space-1) var(--space-4);
}

.auth-brand { text-transform: none; }

.auth-brand-logo {
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  border-radius: var(--radius-sm);
  object-fit: contain;
}

.auth-team-name {
  color: var(--color-primary-text);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.auth-environment {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-1) var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-bottom: 2px solid var(--color-warning);
  background: var(--color-warning-light);
  color: var(--color-warning-text);
  font-size: var(--text-sm);
  text-align: center;
}

.auth-environment strong {
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ── Panel ─────────────────────────────────────────────── */

.auth-layout {
  display: flex;
  justify-content: center;
  padding-block: var(--space-6);
}

.auth-panel {
  width: min(100%, 28rem);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.auth-panel > * + * { margin-top: var(--space-5); }

.auth-title { font-size: var(--text-2xl); }

.auth-lede { color: var(--color-text-secondary); }

.auth-note {
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-info);
  background: var(--color-info-light);
  color: var(--color-info-text);
  font-size: var(--text-sm);
}

.auth-messages > * + * { margin-top: var(--space-2); }

/* ── Controls ──────────────────────────────────────────── */

/* Full-width, sentence-case, wrapping: provider names vary in length and
   must stay readable on a narrow phone. */
.auth-btn {
  width: 100%;
  min-height: var(--control-min-size);
  font-size: var(--text-base);
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  white-space: normal;
}

.auth-providers {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  list-style: none;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--color-border-strong);
}

.auth-divider span { text-align: center; }

.auth-form > * + * { margin-top: var(--space-4); }

.auth-help-text {
  margin-top: var(--space-2);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
}

.auth-help-text ul { padding-left: var(--space-5); }

/* Standalone links are controls here, so they get the same 44px target. */
.auth-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--space-4);
  padding: 0;
  list-style: none;
}

.auth-links a,
.auth-footer a {
  display: inline-flex;
  min-height: var(--control-min-size);
  align-items: center;
  font-weight: var(--weight-semibold);
  text-decoration: underline;
}

/* ── Footer ────────────────────────────────────────────── */

.auth-footer {
  border-top: 1px solid var(--color-border);
  background: var(--color-bg-subtle);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
}

.auth-footer-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2) var(--space-6);
  padding-block: var(--space-3);
}

.auth-support { overflow-wrap: anywhere; }

.auth-footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--space-4);
}
