@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
/* RESET & BASE */
* {
  font-family: "Source Sans 3", sans-serif;
  box-shadow: none !important;
}

body {
  color: #111827;
  background-color: #FFFFFF;
  font-size: 16px;
}
@media (max-width: 1400px) {
  body {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  body {
    font-size: 13px;
  }
}

a {
  color: #4F46E5;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease;
}
a:hover {
  color: #4338CA;
  text-decoration: none;
}

button:not([class*=btn-outline-]), button:not([class*=btn-outline-]):hover, button:not([class*=btn-outline-]):active, button:not([class*=btn-outline-]):focus, .dropdown-toggle, .dropdown-toggle:hover, .dropdown-toggle:active, .dropdown-toggle:focus, .bootstrap-select .dropdown-toggle, .bootstrap-select .dropdown-toggle:hover, .bootstrap-select .dropdown-toggle:active, .bootstrap-select .dropdown-toggle:focus, .btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus, .btn-secondary, .btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus, .btn-dark, .btn-dark:hover, .btn-dark:active, .btn-dark:focus, .btn-light, .btn-light:hover, .btn-light:active, .btn-light:focus, .btn-white, .btn-white:hover, .btn-white:active, .btn-white:focus, .btn-black, .btn-black:hover, .btn-black:active, .btn-black:focus, .btn-danger, .btn-danger:hover, .btn-danger:active, .btn-danger:focus, .btn-warning, .btn-warning:hover, .btn-warning:active, .btn-warning:focus, .btn-success, .btn-success:hover, .btn-success:active, .btn-success:focus, select, select:hover, select:active, select:focus, input, input:hover, input:active, input:focus, .navbar-toggler, .navbar-toggler:hover, .navbar-toggler:active, .navbar-toggler:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

.bg-primary {
  background-color: #4F46E5;
}

.bg-secondary {
  background-color: #6B7280;
}

.bg-info {
  background-color: #2563EB;
}

.bg-success {
  background-color: #10B981;
}

.bg-danger {
  background-color: #EF4444;
}

.bg-warning {
  background-color: #F59E0B;
}

.bg-dark {
  background-color: #111827;
}

.bg-light {
  background-color: #FAFAFA;
}

.bg-white {
  background-color: #FFFFFF;
}

.text-primary {
  color: #4F46E5;
}

.text-secondary {
  color: #6B7280;
}

.text-info {
  color: #2563EB;
}

.text-success {
  color: #10B981;
}

.text-danger {
  color: #EF4444;
}

.text-warning {
  color: #F59E0B;
}

.text-dark {
  color: #111827;
}

.text-muted {
  color: #6B7280;
}

.border-primary {
  border-color: #4F46E5;
}

.border-secondary {
  border-color: #E5E7EB;
}

.btn {
  border-radius: 8px;
  padding: 8px 20px;
  text-transform: none;
  font-size: 0.925rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
}

.btn-sm {
  padding: 4px 12px;
  font-size: 0.825rem;
}

.btn-lg {
  padding: 12px 28px;
  font-size: 1.05rem;
}

.card {
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background-color: #FFFFFF;
}

.form-control, .form-select {
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 0.6rem 1rem;
  font-size: 0.925rem;
}
.form-control:focus, .form-select:focus {
  border-color: #4F46E5;
  box-shadow: none !important;
}