.form-page { padding: 2rem 0 3rem; }
.form-card { background: white; padding: 1.2rem; border-radius: 1rem; box-shadow: var(--shadow); }
form fieldset { border: 1px solid var(--gray-300); border-radius: 0.9rem; padding: 1rem; margin-bottom: 1rem; }
form legend { font-weight: 700; color: var(--primary-dark); }
form label { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 0.85rem; font-weight: 600; }
form input, form select, form button { padding: 0.8rem 0.95rem; border-radius: 0.75rem; border: 1px solid var(--gray-300); font-size: 1rem; }
form button { background: var(--primary); color: white; border: 0; cursor: pointer; transition: background 0.2s ease; }
form button:hover:not(:disabled) { background: var(--primary-dark); }
form button:disabled { opacity: 0.6; cursor: not-allowed; }
.form-actions { display: flex; justify-content: flex-end; }

/* Status message styling */
#formMessage { 
  margin-top: 1.5rem;
  padding: 1rem; 
  border-radius: 0.75rem;
  border-left: 4px solid;
  line-height: 1.6;
  animation: slideDown 0.3s ease;
}
#formMessage a {
  color: inherit;
  text-decoration: underline;
  font-weight: 600;
}
#formMessage.status-success {
  background: #e6f7e6;
  border-left-color: #28a745;
  color: #155724;
}
#formMessage.status-error {
  background: #fef5f5;
  border-left-color: #dc3545;
  color: #721c24;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 768px) { 
  .form-card { padding: 2rem; } 
}

