body.auth-body {
  min-height: 100vh; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #f4fbf6, #eef6f0); font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.auth-card {
  width: min(420px, 92vw); background: #fff; border-radius: 20px; padding: 36px 32px; box-shadow: 0 20px 60px rgba(0,0,0,.08);
}
.auth-logo { display: block; text-align: center; font-size: 28px; font-weight: 800; color: #4f8260; text-decoration: none; margin-bottom: 20px; }
.auth-card h1 { text-align: center; margin: 0; }
.auth-sub { text-align: center; color: #6b7280; margin: 8px 0 24px; }
.auth-form label { display: block; margin-bottom: 14px; font-size: 14px; color: #374151; }
.auth-form input { width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid #e5e7eb; border-radius: 12px; font-size: 15px; }
.auth-links { text-align: right; margin: -6px 0 12px; }
.auth-links a { color: #6b7280; font-size: 13px; text-decoration: none; }
.btn-auth { width: 100%; padding: 12px; border: none; border-radius: 999px; background: #8ba396; color: #fff; font-size: 16px; cursor: pointer; }
.auth-error { background: #fef2f2; color: #b91c1c; padding: 10px 12px; border-radius: 8px; margin-bottom: 12px; font-size: 14px; }
.auth-foot { text-align: center; margin-top: 16px; color: #6b7280; font-size: 14px; }
.auth-foot a { color: #4f8260; }
.auth-footer { margin-top: 24px; color: #9ca3af; font-size: 12px; }
.auth-footer a { color: #9ca3af; }
