/* Bootstrap 5 Overrides */

/* Form Controls */
.form-select {
  height: 42px;
  border-radius: 3px;
  font-size: 14px;
  padding: .375rem .75rem;
  border: 1px solid #e4e6fc;
  background-color: #fdfdff;
}

.form-select:focus,
.form-control:focus {
  box-shadow: none !important;
  border-color: #95a0f4;
  outline: none;
}

/* Form Groups */
.mb-3 {
  margin-bottom: 25px;
}

.mb-3 .control-label,
.mb-3 > label {
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.5px;
}

/* Badges */
.bg-primary {
  background-color: #6777ef !important;
  color: #fff;
}

.bg-secondary {
  background-color: #cdd3d8 !important;
  color: #fff;
}

.bg-success {
  background-color: #47c363 !important;
  color: #fff;
}

.bg-info {
  background-color: #3abaf4 !important;
  color: #fff;
}

.bg-warning {
  background-color: #ffa426 !important;
  color: #fff;
}

.bg-danger {
  background-color: #fc544b !important;
  color: #fff;
}

.bg-light {
  background-color: #e3eaef !important;
  color: #191d21;
}

.bg-dark {
  background-color: #191d21 !important;
  color: #fff;
}

/* Buttons */
.btn {
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  padding: .3rem 1rem;
  border-radius: 3px;
}

.w-100 {
  width: 100% !important;
}

/* Navbar */
.navbar {
  padding: 10px 20px;
}

.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.dropdown-menu {
  padding: 0.25rem 1.5rem;
}

/* Cards */
.card {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03);
  border: none;
  margin-bottom: 30px;
  border-radius: 3px;
}

.card-header {
  border-bottom-color: #f9f9f9;
  line-height: 30px;
  align-items: center;
  padding: 15px 25px;
  background-color: transparent;
  border-bottom: 1px solid #f9f9f9;
}

/* Input Groups */
.input-group-text {
  padding: .375rem .75rem;
  background-color: #fdfdff;
  border-color: #e4e6fc;
}

/* Validation */
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: #47c363;
  background-image: none;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: #fc544b;
  background-image: none;
}

/* Spacing Utilities */
.g-3 {
  gap: 1rem !important;
}

/* Alerts */
.alert {
  border: none;
  padding: 15px 20px;
  border-radius: 3px;
}

.alert-dismissible .btn-close {
  padding: 1rem;
}

/* Tables */
.table > :not(caption) > * > * {
  padding: 1rem;
  border-bottom-color: #f9f9f9;
}

/* Modals */
.modal-header {
  padding: 1rem;
  border-bottom: 1px solid #f9f9f9;
}

.modal-footer {
  padding: 1rem;
  border-top: 1px solid #f9f9f9;
}
