/* Custom styles for the login page */
.card {
    border-radius: 10px;
    overflow: hidden;
}

.card-header {
    font-size: 1.5rem;
    font-weight: bold;
}

.form-label {
    font-weight: 600;
    color: #333;
}

.card-body {
    padding: 2rem;
}

.card-footer {
    background-color: #f8f9fa;
    font-size: 0.9rem;
}

.card-footer a {
    text-decoration: none;
    font-weight: bold;
}

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

/* form‐level errors (alert-danger) */
.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    padding: 0.75rem 1rem;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
  }
  
  /* field‐level errors (invalid-feedback) */
  .invalid-feedback {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    padding: 0.5rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: block; /* always show */
  }
  
  /* highlight invalid inputs */
  .is-invalid {
    border-color: #dc3545;
  }