:root {
  /* Tema azul escuro profissional */
  --bs-body-bg: #0b1221;
  --bs-body-color: #eaf2ff;
  --bs-primary: #2b6eff;
  --bs-primary-rgb: 43, 110, 255;
  --bs-secondary: #0f1a33;
  --bs-secondary-rgb: 15, 26, 51;
  --bs-link-color: #99bdff;
  --bs-link-hover-color: #bfd6ff;
}

body {
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  transition: background 0.3s, color 0.3s;
}

.navbar {
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.navbar-dark {
  background: linear-gradient(180deg, rgba(15, 26, 51, 0.9), rgba(15, 26, 51, 0.65));
}

.footer {
  background: #091225;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.card {
  background: #0c1730;
  border-color: rgba(255, 255, 255, 0.06);
  transition: background 0.3s, border-color 0.3s;
}

.form-control,
.form-select {
  background: #0a152b;
  border-color: rgba(255, 255, 255, 0.12);
  color: #fff;
  transition: all 0.3s ease-in-out;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.15);
  background: #0d1d3a;
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  box-shadow: 0 10px 20px rgba(var(--bs-primary-rgb), 0.25);
  transition: all 0.3s ease-in-out;
}

.btn-primary:hover {
  background-color: #1f5fe0;
  border-color: #1f5fe0;
}

.btn:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.4);
}

.carousel .carousel-item {
  height: 64vh;
  min-height: 420px;
  background: #0b1a33;
}

.carousel .carousel-item > div.overlay {
  background: rgba(0, 0, 0, 0.35);
  border-radius: 1rem;
  padding: 2rem;
}

.alert {
  background: #0f1a33;
  border-color: rgba(255, 255, 255, 0.12);
  color: #eaf2ff;
}

.list-group-item {
  background: #0c1730;
  color: #eaf2ff;
  border-color: rgba(255, 255, 255, 0.06);
}

.table {
  color: #eaf2ff;
}

.table > :not(caption) > * > * {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.06);
}

.modal-content {
  background: #0c1730;
  color: #eaf2ff;
  border-color: rgba(255, 255, 255, 0.08);
}

.form-control.is-invalid,
.form-select.is-invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
