/* admin-auth.css — login, 2FA challenge, 2FA enrolment, first-run setup.
 *
 * Distilled from the inline <style> blocks in pages/admin/login.php,
 * 2fa.php and 2fa-setup.php, which were three drifted variations on the
 * same card. One stylesheet, one look.
 */

.auth-body {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  background:
    radial-gradient(1200px 600px at 50% -20%, rgba(217, 119, 6, .10), transparent 60%),
    #0a0a0f;
}

.auth-card {
  width: 100%;
  max-width: 400px;
  background: #111118;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 14px;
  padding: 2.25rem 2rem;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}

.auth-brand {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.75rem;
}
.auth-brand-logo {
  width: 34px; height: 34px;
  background: #D97706;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: .9rem; color: #fff; letter-spacing: -.03em;
}
.auth-brand-name { font-weight: 800; font-size: .95rem; color: #f1f5f9; letter-spacing: -.02em; }
.auth-brand-sub {
  font-size: .62rem; color: #64748b;
  letter-spacing: .08em; text-transform: uppercase;
}

.auth-title { font-size: 1.3rem; font-weight: 800; color: #f1f5f9; margin-bottom: .35rem; letter-spacing: -.02em; }
.auth-sub { font-size: .82rem; color: #94a3b8; line-height: 1.55; margin-bottom: 1.5rem; }

.auth-field { margin-bottom: 1rem; }
.auth-label {
  display: block; font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  color: #64748b; margin-bottom: .4rem;
}
.auth-input {
  width: 100%; padding: .7rem .85rem;
  background: #0a0a0f;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 8px;
  color: #e2e8f0; font-size: .9rem; font-family: inherit;
  transition: border-color .15s;
}
.auth-input:focus { outline: none; border-color: #D97706; }
.auth-input::placeholder { color: #3f4756; }

/* One-time code: wide tracking so six digits are easy to proof-read. */
.auth-code-input {
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: .5em;
  text-indent: .5em; /* counteracts trailing letter-spacing so it looks centred */
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  padding: .8rem .5rem;
}

.auth-btn {
  width: 100%;
  padding: .75rem 1rem;
  background: #D97706; color: #fff;
  border: none; border-radius: 8px;
  font-size: .88rem; font-weight: 700; font-family: inherit;
  cursor: pointer;
  transition: background .15s;
}
.auth-btn:hover { background: #B45309; }
.auth-btn:disabled { opacity: .6; cursor: not-allowed; }

.auth-error, .auth-notice {
  border-radius: 8px;
  padding: .7rem .85rem;
  font-size: .8rem;
  line-height: 1.5;
  margin-bottom: 1.1rem;
}
.auth-error {
  background: rgba(239, 68, 68, .09);
  border: 1px solid rgba(239, 68, 68, .25);
  color: #fca5a5;
}
.auth-notice {
  background: rgba(217, 119, 6, .09);
  border: 1px solid rgba(217, 119, 6, .25);
  color: #fcd34d;
}

.auth-foot {
  margin-top: 1.5rem; padding-top: 1.15rem;
  border-top: 1px solid rgba(255, 255, 255, .07);
  font-size: .75rem; color: #64748b; text-align: center;
}
.auth-foot a { color: #D97706; text-decoration: none; }
.auth-foot a:hover { text-decoration: underline; }

/* ── 2FA enrolment ─────────────────────────────────────────────── */
.auth-qr {
  display: block;
  width: 200px; height: 200px;
  margin: 0 auto 1.1rem;
  background: #fff;
  padding: 10px;
  border-radius: 10px;
}
.auth-secret {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .82rem;
  color: #e2e8f0;
  background: #0a0a0f;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 8px;
  padding: .65rem .8rem;
  text-align: center;
  word-break: break-all;
  margin-bottom: 1.1rem;
}
.auth-steps {
  font-size: .8rem; color: #94a3b8;
  line-height: 1.7; margin-bottom: 1.25rem;
  padding-left: 1.1rem;
}
.auth-steps li { margin-bottom: .3rem; }

.auth-btn:focus-visible, .auth-input:focus-visible {
  outline: 2px solid #D97706;
  outline-offset: 2px;
}
