.btn-warning, .bg-warning{color: #000000;}
.bg-black{background-color: #000000; color: #f1f1f1;}
a,a:hover{text-decoration: none;}
.cursor-pointer{cursor: pointer;}
main.content{padding-top: 1rem;}
.card, .btn, .form-control {
    border-radius: 0;
}
.card-counter{
    box-shadow: 2px 2px 10px #DADADA;
    margin: 5px;
    padding: 20px 10px;
    background-color: #fff;
    height: 100px;
    border-radius: 5px;
    transition: .3s linear all;
}

.card-counter:hover{
    box-shadow: 4px 4px 20px #DADADA;
    transition: .3s linear all;
}

.card-counter.bg-primary{
    background-color: #007bff;
    color: #FFF;
}

.card-counter.bg-danger{
    background-color: #B80303;
    color: #FFF;
}  

.card-counter.bg-success{
    background-color: #2D7A4F;
    color: #FFF;
}  

.card-counter.bg-info{
    background-color: #26c6da;
    color: #FFF;
}  

.card-counter i{
    font-size: 4em;
    opacity: 0.4;
}

.card-counter .count-numbers{
    position: absolute;
    right: 35px;
    top: 20px;
    font-size: 32px;
    display: block;
  }

.card-counter .count-name{
    position: absolute;
    right: 35px;
    top: 65px;
    font-weight: bolder;
    text-transform: capitalize;
    opacity: 0.5;
    display: block;
    font-size: 18px;
}

.bg-purple{
	background-color: #8d23c8 !important;
	opacity: 1;
}

.bi-xl {
  font-size: 2rem;
}
.bi-xxl {
    font-size: 4rem;
  }

.table-print {
    width: 100%;
}

.table-print th, .table-print td {
    border: 1px solid black;
    padding: 8px;
}
.table-print>:not(:last-child)>:last-child>*,.table-print tbody,.table-print td,.table-print tfoot,.table-print th,.table-print thead,.table-print tr {
    border-color: black;
}
.text-justify{text-align: justify !important;}
.post-img { object-fit: cover;}
.ml-5{
	margin-left: 3rem;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #f1f1f1;
}

::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-thumb {
    background-color: #565665;
}

.table-data {
  min-height: 50vh;
}

.table {
  width: 100%;
}

.text-danger{color: #b2060a !important;}
.bg-danger{background-color: #b2060a !important;}

.bg-color{
	 background-color: e2e2e2aa;
	 backdrop-filter: blur(5px);
}
.dataTables_length label select{
    display: inline-block !important;
    width: auto;
}
.dataTables_wrapper .dt-buttons {
    position: relative;
}

.dataTables_wrapper .dt-button-collection.dropdown-menu {
    left: auto;
    right: 0;  /* Adjust as needed */
}
.dt-button-collection .dropdown-menu{
    display: block;
}
.dataTables_wrapper .dt-button-collection.dropdown-menu {
    left: auto;
    right: 0;  /* Adjust as needed */
}
.radio-button{
    font-size: 0.8rem;
    padding: 4px 8px !important;
    border-radius: 0 !important;
    border-color: transparent;
    margin: .25rem !important;
}

.search-input{width: 35%}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .search-input{width: 25%}
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    z-index: 1040; 
    display: none;
}
  
.modal-content {
    position: relative;
}

.icon {
    width: 100px;
}

.background {
    background-size: cover;
    background-repeat: repeat;
    background-position: center center;
    height: 100%;
    width: 100%;
    margin: 0;
}
/* === Modern UI Enhancements by Gemini === */

/* --- General & Typography --- */
body {
    background-color: #f8f9fa; /* Lighter, cleaner background */
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: #343a40;
}

/* --- Cards --- */
.card {
    border-radius: .75rem !important; /* Softer corners */
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease-in-out;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
}

.card .card-header {
    background-color: transparent;
    border-bottom: 1px solid #e9ecef;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* --- Icon Styles --- */
.icon-shape {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

/* --- Schedule Table --- */
.schedule-table th {
    font-size: 14px;
}
.schedule-table td {
    transition: background-color 0.3s ease;
    font-weight: 500;
    font-size: 14px;
}

.schedule-table .cell-low { background-color: #e9f5ff; }
.schedule-table .cell-mid { background-color: #d0eaff; }
.schedule-table .cell-high { background-color: #b8dfff; color: #004a8c; font-weight: 700;}

/* --- Statistics Card (Right) --- */
.stat-item {
    background-color: #f8f9fa;
    padding: 0.75rem;
    border-radius: .5rem;
    display: flex;
    align-items: center;
    transition: background-color 0.3s ease;
}

.stat-item:hover {
    background-color: #e9ecef;
}

.stat-item .stat-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 1rem;
    font-size: 1.2rem;
}

/* --- Quick Links Modernization --- */
.quick-link-item {
    background-color: #fff;
    border: 1px solid #e9ecef;
    border-radius: .75rem;
    padding: 1rem;
    transition: all 0.3s ease;
}
.quick-link-item:hover {
    border-color: var(--bs-primary);
    background-color: #f8f9fa;
    transform: translateY(-3px);
}


/* --- Statistics Amount Toggle --- */
.amount-toggle {
    cursor: pointer;
    font-size: 1rem;
    color: #6c757d;
    transition: color 0.2s ease;
}
.amount-toggle:hover {
    color: #343a40;
}
.stat-item .value-col {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}


/* --- Compact Statistics List --- */
.compact-stat-list .list-group-item {
    padding: 0.65rem 0.25rem; /* More compact vertically */
    background-color: transparent;
}
.compact-stat-list .list-group-item:not(:last-child) {
    border-bottom: 1px solid #e9ecef;
}
.compact-stat-list .stat-icon-mini {
    font-size: 1.1rem;
    width: 25px;
}


/* --- Student Info Card (Modal) --- */
.student-info-card {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    transition: all 0.2s ease-in-out;
}
.student-info-card:hover {
    border-color: #cfe2ff;
    background-color: #fcfdff;
}


/* --- FullCalendar Responsive Header --- */
.fc-header-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; /* Adjust alignment */
}

.fc-header-toolbar .fc-toolbar-chunk {
    margin-bottom: 0.5rem; /* Add some space between wrapped rows */
}

/* --- Accessibility V3.4 --- */

/* Big Cursor */
body.big-cursor, body.big-cursor * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath fill='white' stroke='black' stroke-width='1.5' d='M4.2 2.22L21.5 13.58L13.58 14.5L12.3 22.3L4.2 2.22Z'/%3E%3C/svg%3E") 0 0, auto !important;
}

/* High Contrast Mode - Modernized */
body.high-contrast {
    background-color: #000 !important;
    color: #FFEB3B !important; /* Softer, readable yellow */
}

/* Generic content fix for JS-generated elements */
body.high-contrast div, body.high-contrast p, body.high-contrast span,
body.high-contrast li, body.high-contrast label {
    background-color: transparent !important;
    color: inherit !important;
}

body.high-contrast h1, body.high-contrast h2, body.high-contrast h3, body.high-contrast h4, body.high-contrast h5, body.high-contrast h6,
body.high-contrast .text-dark, body.high-contrast .fw-bold {
    color: #FFEB3B !important;
}

/* Containers and Components */
body.high-contrast .card,
body.high-contrast .modal-content,
body.high-contrast .dropdown-menu,
body.high-contrast .list-group-item {
    background-color: #000 !important;
    color: #FFEB3B !important;
    border: 1px solid #FFEB3B !important;
}

/* High Contrast Stateful Colors */
body.high-contrast .bg-primary, body.high-contrast .text-primary {
    background-color: #002266 !important;
    color: #80bfff !important;
    border: 1px solid #80bfff !important;
}
body.high-contrast .bg-secondary,
body.high-contrast .schedule-table .bg-secondary {
    background-color: #222 !important;
    color: #FFEB3B !important;
    border: 1px solid #FFEB3B !important;
}
body.high-contrast .bg-success, body.high-contrast .text-success {
    background-color: #004d00 !important;
    color: #99ff99 !important;
    border: 1px solid #00FF00 !important;
}
body.high-contrast .bg-danger, body.high-contrast .text-danger {
    background-color: #660000 !important;
    color: #ff9999 !important;
    border: 1px solid #FF0000 !important;
}
body.high-contrast .bg-warning, body.high-contrast .text-warning {
    background-color: #332a00 !important;
    color: #FFD700 !important;
    border: 1px solid #FFD700 !important;
}
body.high-contrast .bg-info, body.high-contrast .text-info {
    background-color: #00334d !important;
    color: #00ffff !important;
    border: 1px solid #00ffff !important;
}
body.high-contrast .bg-secondary-subtle {
    background-color: #1a1a1a !important;
    color: #FFEB3B !important;
    border: 1px dashed #FFEB3B !important;
}

/* --- Sidebar Menu High Contrast --- */
body.high-contrast #app-sidebar,
body.high-contrast header,
body.high-contrast footer {
    background-color: #000 !important;
    color: #FFEB3B !important;
    border-color: #FFEB3B !important;
}
body.high-contrast .sidebar-menu .nav-link,
body.high-contrast .sidebar-menu .nav-link i {
    color: #FFEB3B !important;
}
body.high-contrast .sidebar-menu .nav-link:hover,
body.high-contrast .sidebar-menu .nav-link.active {
    color: #000 !important;
    background-color: #FFEB3B !important;
}
body.high-contrast .sidebar-menu .nav-link:hover i,
body.high-contrast .sidebar-menu .nav-link.active i {
    color: #000 !important;
}

/* --- Tables High Contrast (incl. DataTables) --- */
body.high-contrast .table {
    border-color: #FFEB3B !important;
    color: #FFEB3B !important;
}
body.high-contrast .table th, body.high-contrast .table td {
    border-color: inherit !important;
    color: inherit !important;
}
body.high-contrast table.dataTable tbody tr {
    background-color: #000 !important;
}
body.high-contrast table.dataTable tbody tr.odd {
     background-color: #111 !important;
}
body.high-contrast table.dataTable tbody tr:hover {
    background-color: #333 !important;
    color: #fff !important;
}
body.high-contrast tfoot tr {
    background-color: #1a1a1a !important;
    border-top: 2px solid #FFEB3B !important;
}
body.high-contrast .dataTables_wrapper .dataTables_info,
body.high-contrast .dataTables_wrapper .dataTables_length,
body.high-contrast .dataTables_wrapper .dataTables_filter,
body.high-contrast .dataTables_wrapper .dataTables_paginate .paginate_button {
     color: #FFEB3B !important;
}
body.high-contrast .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #333 !important;
    border-color: #FFEB3B !important;
    color: #fff !important;
}
body.high-contrast .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    opacity: 0.5;
}

/* Buttons and Links */
body.high-contrast a {
    color: #80bfff !important;
    text-decoration: none !important;
}
body.high-contrast a:hover {
    color: #b3d9ff !important;
    text-decoration: underline !important;
}
body.high-contrast .btn {
    border: 1px solid #FFEB3B !important;
    background-color: #111 !important;
    color: #FFEB3B !important;
}
body.high-contrast .btn-primary {
    background-color: #0d6efd !important;
    color: #fff !important;
    border: 2px solid #FFEB3B !important;
}

/* Form inputs */
body.high-contrast .form-control,
body.high-contrast .form-select {
    background-color: #111 !important;
    color: #FFEB3B !important;
    border-color: #FFEB3B !important;
}

/* SweetAlert */
body.high-contrast .sweet-alert {
    background-color: #000 !important;
    border: 1px solid #FFEB3B !important;
}
body.high-contrast .sweet-alert h2, body.high-contrast .sweet-alert p {
    color: #FFEB3B !important;
}

/* --- End Accessibility --- */

/*
 * Accessibility Font Scaling Overrides
 * -----------------------------------
 * Overrides px-based font sizes with rem-based equivalents to allow scaling.
 * Base: 1rem = 16px (default browser font size)
*/
.dataTables_wrapper,
.sweet-alert p,
.btn, .form-control, .form-select, .dropdown-menu, .modal-title, .alert {
    font-size: 1rem !important;
}
.small, small,
.radio-button {
    font-size: 0.875rem !important;
}
.schedule-table th, .schedule-table td {
    font-size: 0.875rem !important; /* 14px */
}
.sweet-alert h2 {
    font-size: 1.875rem !important; /* 30px */
}
.card-counter .count-numbers {
    font-size: 2rem !important; /* 32px */
}
.card-counter .count-name {
    font-size: 1.125rem !important; /* 18px */
}
.sidebar-menu .nav-link {
    font-size: 0.9rem !important;
}
.sidebar-menu .collapse .nav-link {
    font-size: 0.9rem !important;
}

/* --- Table & Schedule Modernization --- */

/* 1. Improved Dark Mode Table Styles */
[data-bs-theme="dark"] .table {
    --bs-table-bg: #1a1a1a; /* Slightly lighter than body */
    --bs-table-border-color: #444;
    --bs-table-color: #e0e0e0;
}
[data-bs-theme="dark"] .table thead th {
    background-color: #2c2c2c;
    color: #fff;
    font-weight: 600;
}
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: #333; /* Hover color */
    color: #fff;
}
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #222; /* Stripe color */
}

/* 2. Dark Mode for Schedule Table Cells */
[data-bs-theme="dark"] .schedule-table .cell-low { 
    background-color: #0d2e4a !important; /* Dark Blue */
    color: #cce0ff !important;
}
[data-bs-theme="dark"] .schedule-table .cell-mid { 
    background-color: #113c63 !important; /* Medium Dark Blue */
    color: #e6f0ff !important;
}
[data-bs-theme="dark"] .schedule-table .cell-high { 
    background-color: #164c7e !important; /* Lighter Dark Blue */
    color: #fff !important; 
    font-weight: 700;
}

/* 3. High Contrast for Schedule Table Cells */
body.high-contrast .schedule-table .cell-low,
body.high-contrast .schedule-table .cell-mid,
body.high-contrast .schedule-table .cell-high {
    background-color: #000 !important; /* Keep black BG */
    color: #FFEB3B !important; /* Keep yellow text */
    border-bottom: 2px dotted #FFEB3B; /* Use border to differentiate */
}
body.high-contrast .schedule-table .cell-mid {
    border-style: solid;
}
body.high-contrast .schedule-table .cell-high {
    border-style: solid;
    border-width: 3px;
    font-weight: 700;
}

/* ========================================================
   COMPACT & CLEAN UI DESIGN SYSTEM
   ======================================================== */

/* Compact Container Padding */
.container-fluid.p-4 {
    padding: 1rem 1.25rem !important;
}

/* Compact Card Styling */
.card {
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 1rem !important;
}
.card:hover {
    transform: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}
.card-header {
    padding: 0.6rem 1rem !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    background-color: transparent !important;
}
.card-body {
    padding: 0.85rem 1rem !important;
}

/* Compact Nav Tabs */
.nav-tabs {
    border-bottom: none !important;
    gap: 4px;
}
.nav-tabs .nav-link {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    padding: 0.35rem 0.75rem !important;
    border-radius: 6px !important;
    border: 1px solid transparent !important;
    color: #64748b !important;
    background: transparent;
    transition: all 0.15s ease-in-out;
}
.nav-tabs .nav-link:hover {
    color: var(--primary, #2D7A4F) !important;
    background: rgba(45, 122, 79, 0.08) !important;
    border-color: transparent !important;
}
.nav-tabs .nav-link.active {
    color: #fff !important;
    background-color: var(--primary, #2D7A4F) !important;
    border-color: var(--primary, #2D7A4F) !important;
}

/* Compact DataTables */
.dataTables_wrapper {
    padding: 0 !important;
    font-size: 0.82rem !important;
}
.dataTables_wrapper .row {
    margin-bottom: 0.5rem;
    align-items: center;
}
.dataTables_wrapper .dataTables_filter input {
    height: 30px !important;
    font-size: 0.8rem !important;
    padding: 0.2rem 0.5rem !important;
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
}
.dataTables_wrapper .dataTables_length select {
    height: 30px !important;
    font-size: 0.8rem !important;
    padding: 0.2rem 1.75rem 0.2rem 0.5rem !important;
    border-radius: 6px !important;
}
.dataTables_wrapper .dt-buttons .btn {
    padding: 0.25rem 0.6rem !important;
    font-size: 0.78rem !important;
    border-radius: 6px !important;
}

/* Compact Table Cells */
table.dataTable, .table-data table {
    margin-top: 0.25rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 0.82rem !important;
}
table.dataTable thead th, .table thead th {
    padding: 0.5rem 0.6rem !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
    background-color: #f1f5f9 !important;
    color: #475569 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    white-space: nowrap;
}
table.dataTable tbody td, .table tbody td {
    padding: 0.45rem 0.6rem !important;
    vertical-align: middle !important;
}
table.dataTable tfoot th {
    padding: 0.5rem 0.6rem !important;
}

/* Compact Action Buttons & Badges */
.btn-sm, .btn-group-sm > .btn {
    padding: 0.22rem 0.55rem !important;
    font-size: 0.78rem !important;
    border-radius: 6px !important;
}
.badge {
    padding: 0.3em 0.55em !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
}

/* Compact Tools Dropdown */
.dropdown.tools .dropdown-menu {
    min-width: 140px;
    padding: 0.3rem 0;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    font-size: 0.8rem;
}
.dropdown.tools .dropdown-item {
    padding: 0.3rem 0.8rem;
}

/* Compact Form Modals */
.modal-dialog {
    margin: 1rem auto;
}
.modal-header {
    padding: 0.75rem 1.25rem !important;
}
.modal-header .modal-title {
    font-size: 1rem !important;
    font-weight: 700;
}
.modal-body {
    padding: 1rem 1.25rem !important;
}
.modal-body .form-group, .modal-body .mb-3 {
    margin-bottom: 0.65rem !important;
}
.modal-body h6 {
    font-size: 0.8rem !important;
    margin-bottom: 0.25rem !important;
    font-weight: 600 !important;
}
.modal-body .form-control:not(.bootstrap-select), .modal-body .form-select:not(.bootstrap-select), .modal-body .bootstrap-select > .btn {
    font-size: 0.82rem !important;
    padding: 0.35rem 0.65rem !important;
    min-height: 32px !important;
    border-radius: 6px !important;
}
.modal-footer {
    padding: 0.5rem 1.25rem !important;
}
.modal-footer .btn {
    padding: 0.3rem 0.85rem !important;
    font-size: 0.82rem !important;
    border-radius: 6px !important;
}


/* ===================================================
   Bootstrap 5 Modern & Compact Bootstrap-Select Styling
   =================================================== */
/* Strip all outer borders, backgrounds, padding and box-shadow from bootstrap-select container */
.bootstrap-select,
.bootstrap-select.form-control,
.bootstrap-select.form-select,
.bootstrap-select.form-control-sm,
.bootstrap-select.form-select-sm,
.modal-body .bootstrap-select.form-control,
.modal-body .bootstrap-select.form-select,
.modal-body .bootstrap-select {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    vertical-align: middle;
}

.bootstrap-select.form-control:focus,
.bootstrap-select.form-select:focus,
.bootstrap-select:focus,
.bootstrap-select.show,
.bootstrap-select.focus,
.modal-body .bootstrap-select.form-control:focus,
.modal-body .bootstrap-select.form-select:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* Single clean border and control styling ONLY on the inner dropdown-toggle button */
.bootstrap-select > .dropdown-toggle,
.bootstrap-select > .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0.25rem 0.65rem !important;
    font-size: 0.835rem !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: var(--bs-body-color, #212529) !important;
    background-color: var(--bs-body-bg, #ffffff) !important;
    border: 1px solid var(--bs-border-color, #ced4da) !important;
    border-radius: 0.375rem !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
    text-align: left !important;
    outline: none !important;
}

.bootstrap-select > .dropdown-toggle:hover {
    background-color: var(--bs-tertiary-bg, #f8f9fa) !important;
    border-color: #b0b8c1 !important;
}

.bootstrap-select > .dropdown-toggle:focus,
.bootstrap-select.show > .dropdown-toggle {
    background-color: var(--bs-body-bg, #ffffff) !important;
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
    outline: 0 !important;
}

.bootstrap-select .filter-option {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.bootstrap-select .filter-option-inner-inner {
    font-size: 0.835rem !important;
    color: var(--bs-body-color, #212529) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.4 !important;
}

.bootstrap-select .bs-placeholder .filter-option-inner-inner {
    color: #6c757d !important;
}

.bootstrap-select .dropdown-toggle .bs-caret {
    margin-left: 0.5rem !important;
    display: inline-flex !important;
    align-items: center !important;
}

.bootstrap-select .dropdown-toggle .caret {
    border: none !important;
    margin: 0 !important;
    position: static !important;
    width: 0.8em !important;
    height: 0.8em !important;
    display: inline-block !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 0.8em 0.8em !important;
}

/* Compact Dropdown Menu */
.bootstrap-select .dropdown-menu {
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.15)) !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.12) !important;
    padding: 0.35rem 0 !important;
    font-size: 0.85rem !important;
    max-height: 280px !important;
    z-index: 1055 !important;
}

.bootstrap-select .bs-searchbox {
    padding: 0.35rem 0.5rem !important;
}

.bootstrap-select .bs-searchbox .form-control {
    font-size: 0.8125rem !important;
    padding: 0.3rem 0.6rem !important;
    border-radius: 0.375rem !important;
    border: 1px solid #ced4da !important;
}

.bootstrap-select .dropdown-menu li a.dropdown-item {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.85rem !important;
    border-radius: 0.25rem !important;
    margin: 1px 4px !important;
    width: calc(100% - 8px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: var(--bs-body-color, #212529) !important;
    transition: background-color 0.1s ease-in-out !important;
}

.bootstrap-select .dropdown-menu li a.dropdown-item:hover,
.bootstrap-select .dropdown-menu li a.dropdown-item:focus {
    background-color: var(--bs-primary-bg-subtle, #e7f1ff) !important;
    color: var(--bs-primary, #0d6efd) !important;
}

.bootstrap-select .dropdown-menu li.active a.dropdown-item,
.bootstrap-select .dropdown-menu li.selected a.dropdown-item {
    background-color: #0d6efd !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.bootstrap-select .dropdown-menu li.active a.dropdown-item small,
.bootstrap-select .dropdown-menu li.selected a.dropdown-item small {
    color: rgba(255, 255, 255, 0.8) !important;
}

.bootstrap-select .dropdown-menu small,
.bootstrap-select .filter-option .text-muted {
    font-size: 0.75rem !important;
    color: #6c757d !important;
}

.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
    position: static !important;
    margin-left: auto !important;
    padding-left: 0.5rem !important;
}

/* Small / Compact variant */
.bootstrap-select.selectpicker-sm > .dropdown-toggle,
.form-group-sm .bootstrap-select > .dropdown-toggle {
    min-height: 31px !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.8125rem !important;
}

/* Dark Theme Support for Selectpicker */
[data-bs-theme="dark"] .bootstrap-select,
[data-bs-theme="dark"] .bootstrap-select.form-control,
[data-bs-theme="dark"] .bootstrap-select.form-select {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle,
[data-bs-theme="dark"] .bootstrap-select > .btn {
    background-color: #2b2b2b !important;
    color: #e0e0e0 !important;
    border-color: #444444 !important;
}

[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle:hover {
    background-color: #333333 !important;
    border-color: #555555 !important;
}

[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle:focus,
[data-bs-theme="dark"] .bootstrap-select.show > .dropdown-toggle {
    background-color: #333333 !important;
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.35) !important;
}

[data-bs-theme="dark"] .bootstrap-select .filter-option-inner-inner {
    color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-toggle .caret {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-menu {
    background-color: #1e1e1e !important;
    border-color: #333333 !important;
}

[data-bs-theme="dark"] .bootstrap-select .bs-searchbox .form-control {
    background-color: #2b2b2b !important;
    color: #e0e0e0 !important;
    border-color: #444444 !important;
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-menu li a.dropdown-item {
    color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-menu li a.dropdown-item:hover,
[data-bs-theme="dark"] .bootstrap-select .dropdown-menu li a.dropdown-item:focus {
    background-color: #2c323f !important;
    color: #79a8ff !important;
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-menu li.active a.dropdown-item,
[data-bs-theme="dark"] .bootstrap-select .dropdown-menu li.selected a.dropdown-item {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-menu small,
[data-bs-theme="dark"] .bootstrap-select .filter-option .text-muted {
    color: #94a3b8 !important;
}

/* Dark Mode Overrides for Compact UI */
[data-bs-theme="dark"] table.dataTable thead th,
[data-bs-theme="dark"] .table thead th {
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
    border-bottom: 1px solid #334155 !important;
}
[data-bs-theme="dark"] .card {
    border-color: #1e293b !important;
    background-color: #0f172a !important;
}
[data-bs-theme="dark"] .nav-tabs .nav-link {
    color: #94a3b8 !important;
}
[data-bs-theme="dark"] .nav-tabs .nav-link:hover {
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.1) !important;
}
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    color: #fff !important;
    background-color: var(--primary, #22c55e) !important;
}

/* ===================================================
   Global Table Row Hover-to-Reveal Actions & Dropdown Overflow Fix
   =================================================== */
.table tbody tr td .table-action-group,
.table tbody tr td .row-actions,
.table tbody tr td .table-actions,
.table tbody tr td:last-child .row-hover-actions,
.table tbody tr td:last-child .btn-group:not(.tools-group) {
    opacity: 0;
    transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
}

.table tbody tr:hover td .table-action-group,
.table tbody tr:hover td .row-actions,
.table tbody tr:hover td .table-actions,
.table tbody tr:hover td:last-child .row-hover-actions,
.table tbody tr:hover td:last-child .btn-group:not(.tools-group),
.table tbody tr td:last-child .btn-group:focus-within {
    opacity: 1 !important;
}

/* Ensure 3-dot dropdown trigger in tools is always visible and easy to click */
.dropdown.tools,
.dropdown.tools > div,
.dropdown.tools > button {
    opacity: 1 !important;
    cursor: pointer;
}

/* Ensure table container does not clip floating dropdowns */
.table-responsive, .table-data {
    overflow-x: auto;
    overflow-y: visible;
}

/* Make dropdown menus in tables pop out cleanly with high z-index and elevation */
.table-responsive .dropdown-menu,
.table-data .dropdown-menu,
.table .dropdown-menu {
    z-index: 1060 !important;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.175) !important;
}

/* Compact Table Utilities */
.table-compact th, .table-compact td {
    padding: 0.4rem 0.6rem !important;
    font-size: 0.835rem !important;
    vertical-align: middle !important;
}

.table tbody tr {
    transition: background-color 0.1s ease-in-out;
}

.table-hover tbody tr:hover {
    background-color: rgba(13, 110, 253, 0.035) !important;
}




