.auth-page {
  min-height: 100dvh; display: flex; align-items: center;
  justify-content: center; padding: 24px 20px;
}
.auth-card {
  width: 100%; max-width: 380px;
}
.auth-logo {
  display: block; text-align: center; font-size: 1.125rem; font-weight: 700;
  color: var(--c-text); text-decoration: none; margin-bottom: 32px;
  letter-spacing: -.03em;
}
.auth-logo:hover { opacity: 1; }
.auth-title {
  font-size: 1.375rem; font-weight: 800; text-align: center;
  margin-bottom: 28px; letter-spacing: -.03em;
}
.auth-form { margin-bottom: 20px; }

.auth-form .form-group input.input {
  width: 100%; padding: 10px 14px; border: 1px solid var(--c-border);
  border-radius: var(--r-md); font-size: .9375rem; font-family: var(--font);
  background: transparent; color: var(--c-text); transition: all 160ms;
}
.auth-form .form-group input.input:focus {
  outline: none; border-color: var(--c-accent);
  box-shadow: 0 0 0 2px var(--c-accent-muted);
}
.auth-form .form-group input.input::placeholder { color: var(--c-text-3); }

.input-prefix {
  display: flex; align-items: center; border: 1px solid var(--c-border);
  border-radius: var(--r-md); overflow: hidden; transition: all 160ms;
}
.input-prefix:focus-within {
  border-color: var(--c-accent); box-shadow: 0 0 0 2px var(--c-accent-muted);
}
.input-prefix span {
  padding: 10px 0 10px 14px; font-size: .8125rem;
  color: var(--c-text-3); white-space: nowrap;
}
.input-prefix input {
  border: none; padding: 10px 14px 10px 2px; font-size: .9375rem;
  width: 100%; outline: none; background: transparent;
  color: var(--c-text); font-family: var(--font);
}
.input-prefix input::placeholder { color: var(--c-text-3); }

.auth-subtitle {
  text-align: center; font-size: .8125rem; color: var(--c-text-3);
  margin-bottom: 24px; line-height: 1.5;
}
.auth-subtitle strong { color: var(--c-text); }

.code-input {
  text-align: center; font-size: 1.5rem; font-weight: 700;
  letter-spacing: 6px; font-family: monospace;
}

.auth-footer { text-align: center; font-size: .8125rem; color: var(--c-text-3); }
.auth-footer a { font-weight: 600; }
.btn-link {
  background: none; border: none; color: var(--c-accent); cursor: pointer;
  font-weight: 600; font-size: .8125rem; font-family: var(--font);
  text-decoration: underline; padding: 0;
}
.btn-link:hover { opacity: .8; }
