/* ==============================
   COLOR VARIABLES
================================ */
:root {
  --bs-primary: #1e3c72;
  --bs-secondary: #2a9d8f;
  --bs-success: #2a9d8f;
  --bs-info: #3fa9f5;
  --bs-warning: #f4a261;
  --bs-danger: #e63946;
  --bs-light: #f4f8fb;
  --bs-dark: #1f2937;

  --bs-body-bg: #f4f8fb;
  --bs-body-color: #1f2937;
}

/* ==============================
   GRADIENTS
================================ */
.bg-gradient-primary {
  background: linear-gradient(135deg, #1e3c72, #2a9d8f);
}

/* ==============================
   BUTTONS
================================ */
.btn-primary {
  background-color: #1e3c72;
  border-color: #1e3c72;
}

.btn-primary:hover {
  background-color: #162b52;
  border-color: #162b52;
}

.btn-secondary {
  background-color: #2a9d8f;
  border-color: #2a9d8f;
}

.btn-secondary:hover {
  background-color: #1f766b;
  border-color: #1f766b;
}

/* ==============================
   CARDS
================================ */
.card {
  border-radius: 0.75rem;
  border: none;
  box-shadow: 0 10px 25px rgba(30, 60, 114, 0.08);
}

.card-header {
  background: linear-gradient(135deg, #1e3c72, #2a9d8f);
  color: #fff;
  font-weight: 600;
}

/* ==============================
   NAVBAR
================================ */
.navbar-custom {
  background: linear-gradient(135deg, #1e3c72, #2a9d8f);
}

.navbar-custom .navbar-brand,
.navbar-custom .nav-link {
  color: #ffffff;
}

.navbar-custom .nav-link:hover {
  color: #e3f4f1;
}

/* ==============================
   FORMS
================================ */
.form-control:focus {
  border-color: #2a9d8f;
  box-shadow: 0 0 0 0.2rem rgba(42, 157, 143, 0.25);
}

/* ==============================
   ALERTS (THEMED)
================================ */

/* Primary (Deep Blue) */
.alert-primary {
  color: #0f2450;
  background-color: #e6ecf5;
  border-left: 5px solid #1e3c72;
}

/* Secondary / Success (Teal) */
.alert-secondary,
.alert-success {
  color: #145c54;
  background-color: #e3f4f1;
  border-left: 5px solid #2a9d8f;
}

/* Info */
.alert-info {
  color: #0c4a6e;
  background-color: #e0f2fe;
  border-left: 5px solid #3fa9f5;
}

/* Warning */
.alert-warning {
  color: #7a4b00;
  background-color: #fff4e5;
  border-left: 5px solid #f4a261;
}

/* Danger */
.alert-danger {
  color: #7a1d1d;
  background-color: #fde8e8;
  border-left: 5px solid #e63946;
}

/* General alert enhancements */
.alert {
  border-radius: 0.6rem;
  border: none;
  padding: 1rem 1.25rem;
  box-shadow: 0 6px 15px rgba(30, 60, 114, 0.08);
}

