/* Palette principale: blu #1e3c72, blu chiaro #2a5298, verde #28a745, rosso #dc3545, grigio chiaro #f8f9fa, testo #222, bianco #fff */
body {
  background: #f8f9fa;
  color: #222;
  font-family: 'Segoe UI', 'Roboto', Arial, sans-serif;
}
.navbar {
  background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%) !important;
}
.navbar .nav-link, .navbar .navbar-brand, .navbar .navbar-text {
  color: #fff !important;
}
.navbar .nav-link.active, .navbar .nav-link:focus, .navbar .nav-link:hover {
  color: #ffd700 !important;
}
.card, fieldset, .bg-white {
  background: #fff !important;
  border-radius: 0.7rem;
  box-shadow: 0 2px 12px rgba(30,60,114,0.07);
  border: 1px solid #e3e6f0;
}
.btn-primary, .btn-outline-primary {
  background: #1e3c72;
  border-color: #1e3c72;
  color: #fff;
}
.btn-primary:hover, .btn-outline-primary:hover {
  background: #2a5298;
  border-color: #2a5298;
  color: #fff;
}
.btn-success {
  background: #28a745;
  border-color: #28a745;
}
.btn-danger {
  background: #dc3545;
  border-color: #dc3545;
}
.btn-link {
  color: #1e3c72;
}
input.form-control, select.form-control, textarea.form-control {
  border-radius: 0.4rem;
  border: 1px solid #bfc9d1;
  background: #f8f9fa;
  color: #222;
}
input.form-control:focus, select.form-control:focus, textarea.form-control:focus {
  border-color: #1e3c72;
  box-shadow: 0 0 0 0.2rem rgba(30,60,114,0.15);
}
label {
  color: #1e3c72;
  font-weight: 500;
}
.flash-success {
  background: #28a745;
  color: #fff;
  border-radius: 0.4rem;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.flash-error {
  background: #dc3545;
  color: #fff;
  border-radius: 0.4rem;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.flash-warning {
  background: #ffc107;
  color: #222;
  border-radius: 0.4rem;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
}
a {
  color: #1e3c72;
}
a:hover {
  color: #2a5298;
}
