.site-footer {
	font-size: 12px;
	font-weight: 200;
	color: #eee;
	background: #3d3d3d;
	padding: 5px 0 5px;
}

table.dataTable>tbody>tr.child ul.dtr-details {
	width: 100%;
}
table.dataTable>tbody>tr.child span.dtr-data {
	float: right;
}

table.dataTable.align-middle tbody td.select-checkbox:before {
	top: auto !important;
	margin-top: -6px !important;
}
table.dataTable.align-middle tbody td.select-checkbox:after {
	top: auto !important;
	margin-top: -16px !important;
}
/*
table.dataTable>tbody>tr.child span.dtr-title {
	width: 50%;
}
table.dataTable tbody td.select-checkbox:before, table.dataTable tbody td.select-checkbox:after {
	top: 50% !important;
}
table.dataTable.dtr-inline.collapsed.table-sm>tbody>tr>td:first-child:before {
	top: 50% !important;
}
*/

table.dataTable tbody > tr.selected, table.dataTable tbody > tr > .selected {
	background-color: #f1f0fe !important;
}

table.dataTable tbody tr.selected, table.dataTable tbody th.selected, table.dataTable tbody td.selected {
	color: #000000 !important;
}

/*
table.dataTable.dtr-inline.collapsed.table-sm>tbody>tr>td:first-child:before {
	top: 1.2rem !important;
}
table.dataTable td.select-checkbox:before {
	margin-top: 0 !important;
}
table.dataTable td.select-checkbox:after {
	margin-top: -3px !important;
}
*/
table.dataTable th.select-checkbox {
	text-align: center;
}

.bp-gradient {
	background-image: linear-gradient(to right, #3829C4 0%, #2962C4 30%, #6A9BF4 100%)
}

/* DataTables sort arrow encoding fix
   datatables.min.css uses literal UTF-8 arrows (↑↓) in content properties.
   If served without charset=UTF-8, browsers render them as mojibake (â†").
   CSS escape sequences (\2191, \2193) are encoding-independent. */
table.dataTable > thead .sorting:before,
table.dataTable > thead .sorting_asc:before,
table.dataTable > thead .sorting_desc:before,
table.dataTable > thead .sorting_asc_disabled:before,
table.dataTable > thead .sorting_desc_disabled:before {
	content: "\2191" !important;
}
table.dataTable > thead .sorting:after,
table.dataTable > thead .sorting_asc:after,
table.dataTable > thead .sorting_desc:after,
table.dataTable > thead .sorting_asc_disabled:after,
table.dataTable > thead .sorting_desc_disabled:after {
	content: "\2193" !important;
}

/* Flatpickr calendar fix for Bootstrap modals - ensure calendar appears above modal */
.flatpickr-calendar {
	z-index: 9999 !important;
}

/* ============================================================================
   WCAG Accessibility Overrides
   Overrides theme.css defaults for WCAG 2.1 AA compliance
   ============================================================================ */

/* --- Focus Indicators (WCAG 2.4.7 — Focus Visible) ---
   theme.css removes outline on all interactive elements.
   Restore visible focus ring for keyboard navigation via :focus-visible
   (only shows for keyboard, not mouse/touch clicks) */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.nav-link:focus-visible,
.dropdown-item:focus-visible,
.accordion-button:focus-visible,
.btn-close:focus-visible,
.navbar-toggler:focus-visible {
	outline: 2px solid #3829C4 !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}

/* --- Color Contrast Overrides (WCAG 1.4.3 — Contrast Minimum) ---
   Theme colors fail WCAG AA 4.5:1 ratio for normal text on white.
   Darkened values below all achieve ≥4.5:1 on #fff background. */

/* Body text: #737491 (3.7:1) → #565775 (5.5:1) */
body {
	color: #565775;
}

/* Muted text: #9e9fb4 (2.0:1) → #6c6d8a (5.0:1) */
.text-muted {
	color: #6c6d8a !important;
}

/* Success: #16c995 (2.4:1) → #0d7a5c (5.0:1) */
.text-success {
	color: #0d7a5c !important;
}

/* Warning: #ffb15c (2.4:1) → #9a6200 (5.0:1) */
.text-warning {
	color: #9a6200 !important;
}

/* Info: #6a9bf4 (2.8:1) → #2563a0 (5.0:1) */
.text-info {
	color: #2563a0 !important;
}

/* Danger: #f74f78 (3.3:1) → #c43357 (5.0:1) */
.text-danger {
	color: #c43357 !important;
}

/* Outline-secondary button: #f7f7fc text on white is invisible (1.1:1) */
.btn-outline-secondary {
	color: #5a5b75 !important;
	border-color: #c5c6d0 !important;
}
.btn-outline-secondary:hover {
	color: #fff !important;
	background-color: #5a5b75 !important;
	border-color: #5a5b75 !important;
}

/* Nav text: ensure adequate contrast */
.nav-link-style {
	color: #4a4b65;
}

/* Breadcrumb active item on gradient — improve legibility */
.breadcrumb-light .breadcrumb-item.active {
	color: rgba(255, 255, 255, 0.85) !important;
}

/* Placeholder text: improve contrast for forms using placeholder-only labels */
.form-control::placeholder {
	color: #7a7b96;
}

/* Footer text: use relative sizing for better scaling */
.site-footer {
	font-size: 0.8rem;
	font-weight: 300;
}
