body {
  background-color: #121212;
  color: #e0e0e0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-card {
  background-color: #1e1e1e;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 2.5rem;
  width: 100%;
  max-width: 420px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.auth-card h2 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 1.75rem;
}

.form-label {
  color: #aaa;
  font-size: 0.9rem;
}

.form-control {
  background-color: #2a2a2a;
  border: 1px solid #444;
  color: #e0e0e0;
  border-radius: 8px;
}

.form-control:focus {
  background-color: #2a2a2a;
  border-color: #6c8ebf;
  color: #e0e0e0;
  box-shadow: 0 0 0 0.2rem rgba(108, 142, 191, 0.25);
}

.form-control::placeholder {
  color: #666;
}

.btn-primary {
  background-color: #4a6fa5;
  border-color: #4a6fa5;
  border-radius: 8px;
  font-weight: 500;
  padding: 0.6rem;
  transition: background-color 0.2s;
}

.btn-primary:hover {
  background-color: #3d5d8a;
  border-color: #3d5d8a;
}

.auth-footer {
  color: #888;
  font-size: 0.9rem;
}

.auth-footer a {
  color: #6c8ebf;
  text-decoration: none;
}

.auth-footer a:hover {
  text-decoration: underline;
}

.alert-danger {
  background-color: #3d1a1a;
  border-color: #6b2c2c;
  color: #f5a5a5;
  border-radius: 8px;
}

.suggestion-btn {
  background-color: #2a2a2a;
  border-color: #555;
  color: #e0e0e0;
  border-radius: 6px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background-color 0.15s;
}

.suggestion-btn:hover {
  background-color: #4a6fa5;
  border-color: #4a6fa5;
  color: #fff;
}

.username-feedback {
  font-size: 0.85rem;
  margin-top: 0.4rem;
  min-height: 1.5rem;
}

.text-available {
  color: #66bb6a;
}
