.auth-shell {
  max-width: 480px;
  padding: 20px 0 60px;
}

.auth-panel {
  margin-top: 18px;
  animation: authIn 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes authIn {
  from { opacity: 0; transform: translateY(14px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}

.auth-panel .panel-header {
  background: linear-gradient(135deg, rgba(15,139,141,0.08), rgba(248,128,90,0.06));
  border-radius: var(--radius) var(--radius) 0 0;
  padding: 18px 20px 14px;
}

.auth-panel .panel-header strong {
  font-size: 1.1rem;
  letter-spacing: 0.2px;
}

.auth-panel .panel-body {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.notice-box {
  border: 1px solid rgba(52, 211, 153, 0.45);
  background: rgba(52, 211, 153, 0.1);
  border-radius: 12px;
  padding: 12px 14px;
  color: var(--text);
  font-size: 0.92rem;
}

.auth-panel .btn-primary {
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  font-size: 0.95rem;
  letter-spacing: 0.3px;
  margin-top: 4px;
}

.auth-panel .muted.text-sm {
  text-align: center;
  padding-top: 4px;
}

.auth-panel .muted.text-sm a {
  color: var(--brand);
  font-weight: 600;
}

.auth-panel .muted.text-sm a:hover {
  text-decoration: underline;
}

.auth-hint {
  font-size: 0.82rem;
  color: var(--muted);
  margin: -6px 0 0;
}
