
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary)
}

a {
	color: var(--primary-color);
}

.table-responsive {
	white-space: nowrap;
}

.form-check-input:checked {
	background-color: var(--primary-color);
	border-color: var(--primary-color)
}

.form-check-input[type=checkbox]:indeterminate {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

.valid-feedback {
	color: var(--success)
}


.form-control.is-valid, .was-validated .form-control:valid {
	border-color: var(--success);
}

.form-control.is-valid:focus, .was-validated .form-control:valid:focus {
	border-color: var(--success);
}

.form-select.is-valid, .was-validated .form-select:valid {
	border-color: var(--success);
}

.form-select.is-valid:focus, .was-validated .form-select:valid:focus {
	border-color: var(--success);
}
.form-check-input.is-valid, .was-validated .form-check-input:valid {
	border-color: var(--success)
}
.form-check-input.is-valid:checked, .was-validated .form-check-input:valid:checked {
	background-color: var(--success)
}
.form-check-input.is-valid~.form-check-label, .was-validated .form-check-input:valid~.form-check-label {
	color: var(--success)
}

.invalid-feedback {
	color: var(--danger)
}


.form-control.is-invalid, .was-validated .form-control:invalid {
	border-color: var(--danger);
}
.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
	border-color: var(--danger);
}
.form-select.is-invalid, .was-validated .form-select:invalid {
	border-color: var(--danger);
}
.form-select.is-invalid:focus, .was-validated .form-select:invalid:focus {
	border-color: var(--danger);
}
.form-check-input.is-invalid, .was-validated .form-check-input:invalid {
	border-color: var(--danger)
}
.form-check-input.is-invalid:checked, .was-validated .form-check-input:invalid:checked {
	background-color: var(--danger)
}
.form-check-input.is-invalid~.form-check-label, .was-validated .form-check-input:invalid~.form-check-label {
	color: var(--danger)
}

.btn {
    letter-spacing: .5px;
}

.btn-primary {
	color: var(--text-on-primary);
	background-color: var(--primary-color);
	border-color: var(--primary-color)
}
.btn-primary:hover {
	color: var(--text-on-primary);
	background-color: var(--primary-hover);
	border-color: var(--primary-hover)
}
.btn-check:focus+.btn-primary, .btn-primary:focus {
	color: var(--text-on-primary);
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
	box-shadow: 0 0 0 .25rem rgba(15, 118, 110, .5)
}
.btn-check:active+.btn-primary, .btn-check:checked+.btn-primary, .btn-primary.active, .btn-primary:active, .show>.btn-primary.dropdown-toggle {
	color: var(--text-on-primary);
	background-color: var(--primary-dark);
	border-color: var(--primary-dark)
}
.btn-check:active+.btn-primary:focus, .btn-check:checked+.btn-primary:focus, .btn-primary.active:focus, .btn-primary:active:focus, .show>.btn-primary.dropdown-toggle:focus {
	box-shadow: 0 0 0 .25rem rgba(15, 118, 110, .5)
}
.btn-primary.disabled, .btn-primary:disabled {
	color: var(--text-on-primary);
	background-color: var(--primary-color);
	border-color: var(--primary-color)
}


.btn-success {
	color: #fff;
	background-color: var(--success);
	border-color: var(--success)
}
.btn-success:hover {
	color: #fff;
	background-color: #0d9488;
	border-color: #0d9488
}
.btn-check:focus+.btn-success, .btn-success:focus {
	color: #fff;
	background-color: #0d9488;
	border-color: #0d9488;
	box-shadow: 0 0 0 .25rem rgba(16, 185, 129, .5)
}
.btn-check:active+.btn-success, .btn-check:checked+.btn-success, .btn-success.active, .btn-success:active, .show>.btn-success.dropdown-toggle {
	color: #fff;
	background-color: #0d9488;
	border-color: #0d9488
}
.btn-check:active+.btn-success:focus, .btn-check:checked+.btn-success:focus, .btn-success.active:focus, .btn-success:active:focus, .show>.btn-success.dropdown-toggle:focus {
	box-shadow: 0 0 0 .25rem rgba(16, 185, 129, .5)
}
.btn-success.disabled, .btn-success:disabled {
	color: #fff;
	background-color: var(--success);
	border-color: var(--success)
}


.btn-danger {
	color: #fff;
	background-color: var(--danger);
	border-color: var(--danger)
}
.btn-danger:hover {
	color: #fff;
	background-color: #dc2626;
	border-color: #dc2626
}
.btn-check:focus+.btn-danger, .btn-danger:focus {
	color: #fff;
	background-color: #dc2626;
	border-color: #dc2626;
	box-shadow: 0 0 0 .25rem rgba(239, 68, 68, .5)
}
.btn-check:active+.btn-danger, .btn-check:checked+.btn-danger, .btn-danger.active, .btn-danger:active, .show>.btn-danger.dropdown-toggle {
	color: #fff;
	background-color: #dc2626;
	border-color: #dc2626
}
.btn-check:active+.btn-danger:focus, .btn-check:checked+.btn-danger:focus, .btn-danger.active:focus, .btn-danger:active:focus, .show>.btn-danger.dropdown-toggle:focus {
	box-shadow: 0 0 0 .25rem rgba(239, 68, 68, .5)
}
.btn-danger.disabled, .btn-danger:disabled {
	color: #fff;
	background-color: var(--danger);
	border-color: var(--danger)
}


.btn-outline-primary {
	color: var(--primary-color);
	border-color: var(--primary-color)
}
.btn-outline-primary:hover {
	color: #fff;
	background-color: var(--primary-color);
	border-color: var(--primary-color)
}
.btn-check:focus+.btn-outline-primary, .btn-outline-primary:focus {
	box-shadow: 0 0 0 .25rem rgba(15, 118, 110, .5)
}
.btn-check:active+.btn-outline-primary, .btn-check:checked+.btn-outline-primary, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show, .btn-outline-primary:active {
	color: #fff;
	background-color: var(--primary-color);
	border-color: var(--primary-color)
}
.btn-check:active+.btn-outline-primary:focus, .btn-check:checked+.btn-outline-primary:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus, .btn-outline-primary:active:focus {
	box-shadow: 0 0 0 .25rem rgba(15, 118, 110, .5)
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
	color: var(--primary-color);
	background-color: transparent
}


.btn-outline-success {
	color: var(--success);
	border-color: var(--success)
}
.btn-outline-success:hover {
	color: #fff;
	background-color: var(--success);
	border-color: var(--success)
}
.btn-check:focus+.btn-outline-success, .btn-outline-success:focus {
	box-shadow: 0 0 0 .25rem rgba(16, 185, 129, .5)
}
.btn-check:active+.btn-outline-success, .btn-check:checked+.btn-outline-success, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show, .btn-outline-success:active {
	color: #fff;
	background-color: var(--success);
	border-color: var(--success)
}
.btn-check:active+.btn-outline-success:focus, .btn-check:checked+.btn-outline-success:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus, .btn-outline-success:active:focus {
	box-shadow: 0 0 0 .25rem rgba(16, 185, 129, .5)
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
	color: var(--success);
	background-color: transparent
}


.btn-outline-danger {
	color: var(--danger);
	border-color: var(--danger)
}
.btn-outline-danger:hover {
	color: #fff;
	background-color: var(--danger);
	border-color: var(--danger)
}
.btn-check:focus+.btn-outline-danger, .btn-outline-danger:focus {
	box-shadow: 0 0 0 .25rem rgba(239, 68, 68, .5)
}
.btn-check:active+.btn-outline-danger, .btn-check:checked+.btn-outline-danger, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show, .btn-outline-danger:active {
	color: #fff;
	background-color: var(--danger);
	border-color: var(--danger)
}
.btn-check:active+.btn-outline-danger:focus, .btn-check:checked+.btn-outline-danger:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus, .btn-outline-danger:active:focus {
	box-shadow: 0 0 0 .25rem rgba(239, 68, 68, .5)
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
	color: var(--danger);
	background-color: transparent
}

.btn-link {
	font-weight: 400;
	color: var(--primary-color);
	text-decoration: underline
}

.dropdown-item:focus, .dropdown-item:hover {
	color: #1e2125;
	background-color: #f8f9fa
}
.dropdown-item.active, .dropdown-item:active {
	color: #fff;
	text-decoration: none;
	background-color: var(--primary-color)
}
.dropdown-item.disabled, .dropdown-item:disabled {
	color: var(--text-muted);
	pointer-events: none;
	background-color: transparent
}

.card {
    border: 0 solid transparent;
	margin-bottom: 1.5rem;
	box-shadow: 0 2px 6px 0 rgb(0 0 0 / 10%), 0 2px 6px 0 rgb(0 0 0 / 0%);
}

.card-header {
	background-color: rgba(0, 0, 0, .0);
}

.progress-bar {
    background-color: var(--primary-color);
}

.list-group-item.active {
	z-index: 2;
	color: #fff;
	background-color: var(--primary-color);
	border-color: var(--primary-color)
}

.border-primary {
	border-color: var(--primary-color)!important
}

.border-success {
	border-color: var(--success)!important
}

.border-danger {
	border-color: var(--danger)!important
}



.text-primary {
	color: var(--primary-color)!important
}
.text-secondary {
	color: var(--text-muted)!important
}
.text-success {
	color: var(--success)!important
}
.text-info {
	color: var(--info)!important
}
.text-warning {
	color: var(--warning)!important
}
.text-danger {
	color: var(--danger)!important
}
.text-light {
	color: #f8f9fa!important
}
.text-dark {
	color: var(--text-primary)!important
}
.text-white {
	color: #fff!important
}
.text-body {
	color: var(--text-primary)!important
}
.text-muted {
	color: var(--text-muted)!important
}
.text-black-50 {
	color: rgba(0, 0, 0, .5)!important
}
.text-white-50 {
	color: rgba(255, 255, 255, .5)!important
}



.bg-primary {
	background-color: var(--primary-color) !important;
  }

.bg-success {
	background-color: var(--success) !important;
  }

.bg-danger {
	background-color: var(--danger) !important;
  }

.bg-warning {
	background-color: var(--warning) !important;
  }

.bg-info {
	background-color: var(--info) !important;
  }

/* ===== FOCUS STATES (ACCESSIBILITY) ===== */

/* Form Controls */
.form-control:focus,
.form-select:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 0.25rem rgba(15, 118, 110, 0.25);
}

.form-control:focus-visible,
.form-select:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
}

/* Buttons */
.btn:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
}

.btn-primary:focus-visible {
	outline-color: var(--primary-dark);
}

.btn-success:focus-visible {
	outline-color: var(--success);
}

.btn-danger:focus-visible {
	outline-color: var(--danger);
}

.btn-warning:focus-visible {
	outline-color: var(--warning);
}

.btn-info:focus-visible {
	outline-color: var(--info);
}

/* Links */
a:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Pagination */
.page-link:focus {
	box-shadow: 0 0 0 0.25rem rgba(15, 118, 110, 0.25);
	border-color: var(--primary-color);
}

.page-item.active .page-link {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

/* Navigation */
.nav-link:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
	border-radius: 4px;
}

.nav-pills .nav-link.active {
	background-color: var(--primary-color);
}

.nav-pills .nav-link:focus-visible {
	outline-color: var(--primary-color);
}

/* Accordion */
.accordion-button:focus {
	box-shadow: 0 0 0 0.25rem rgba(15, 118, 110, 0.25);
	border-color: var(--primary-color);
}

.accordion-button:not(.collapsed) {
	color: var(--primary-color);
	background-color: rgba(15, 118, 110, 0.1);
}

/* Form Switches & Checkboxes */
.form-switch .form-check-input:focus,
.form-check-input:focus {
	box-shadow: 0 0 0 0.25rem rgba(15, 118, 110, 0.25);
	border-color: var(--primary-color);
}

.form-switch .form-check-input:checked,
.form-check-input:checked[type=checkbox] {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

/* Modal */
.btn-close:focus {
	box-shadow: 0 0 0 0.25rem rgba(15, 118, 110, 0.25);
	outline: none;
}

/* Dark Theme Overrides */
.dark-theme .form-control:focus,
.dark-theme .form-select:focus {
	border-color: var(--primary-light);
	box-shadow: 0 0 0 0.25rem rgba(20, 184, 166, 0.25);
}

.dark-theme .form-control:focus-visible,
.dark-theme .form-select:focus-visible,
.dark-theme .btn:focus-visible,
.dark-theme a:focus-visible,
.dark-theme .nav-link:focus-visible {
	outline-color: var(--primary-light);
}

.dark-theme .page-link:focus,
.dark-theme .accordion-button:focus,
.dark-theme .form-check-input:focus {
	box-shadow: 0 0 0 0.25rem rgba(20, 184, 166, 0.25);
	border-color: var(--primary-light);
}

.dark-theme .page-item.active .page-link,
.dark-theme .nav-pills .nav-link.active {
	background-color: var(--primary-light);
	border-color: var(--primary-light);
}

