/* 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: #271d4a;
  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: #271d4a !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;
}

.btn-primary {
  background-color: #271d4a;
  border-color: #271d4a;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #1d1537 !important;
  border-color: #1d1537 !important;
}

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

/* Navbar */
.navbar {
  padding: .5rem 1rem;
}

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

/* 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;
}

/* Links */
a {
  color: #271d4a;
}

a:hover {
  color: #1d1537;
}

/* Active state - excluding tab panes */
button.active:not(.nav-link),
a.active:not(.nav-link),
.active:not(.nav-link):not(.tab-pane) {
    background-color: #271d4a !important;
    color: #fff !important;
}

/* Tab pane specific */
.tab-pane.active {
    background-color: transparent !important;
    color: inherit !important;
}

/* Nav Tabs Styling */
.nav-tabs .nav-link {
    background-color: transparent !important;
    color: #271d4a !important;
    border: 1px solid transparent;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    background-color: #f8f9fa !important;
    color: #495057 !important;
    border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #dee2e6 #dee2e6 #fff;
}

/* Specific override for tab content */
.tab-content .nav-tabs .nav-link,
.tab-content .nav-tabs .nav-link.active {
    background-color: transparent !important;
    color: #271d4a !important;
}

.tab-content .nav-tabs .nav-link:hover,
.tab-content .nav-tabs .nav-link:focus {
    background-color: #f8f9fa !important;
    color: #495057 !important;
}

.tab-content .nav-tabs .nav-link.active {
    background-color: #fff !important;
    color: #000 !important;
}

/* Level headings in cards */
.card-body h4 {
  padding-top: 20px;
    padding-left: 20px;
    border-bottom: 1px solid #e9ecef;
}

/* Nav Tabs Styling */
.nav-tabs .nav-link {
    background-color: transparent !important;
    color: #271d4a !important;
    border: 1px solid transparent;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    background-color: #f8f9fa !important;
    color: #495057 !important;
    border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #dee2e6 #dee2e6 #fff;
}

/* Specific override for tab content */
.tab-content .nav-tabs .nav-link,
.tab-content .nav-tabs .nav-link.active {
    background-color: transparent !important;
    color: #271d4a !important;
}

.tab-content .nav-tabs .nav-link:hover,
.tab-content .nav-tabs .nav-link:focus {
    background-color: #f8f9fa !important;
    color: #495057 !important;
}

.tab-content .nav-tabs .nav-link.active {
    background-color: #fff !important;
    color: #000 !important;
}

/* Text Colors */
.text-primary {
  color: #271d4a !important;
}

/* Border Colors */
.border-primary {
  border-color: #271d4a !important;
}

/* Custom Classes */
.primary-color {
  color: #271d4a;
}

.primary-bg {
  background-color: #271d4a;
}

/* Form Focus States */
.form-control:focus {
  border-color: #271d4a;
}
