/* Global setting for scrollbars - show on hover only */
::-webkit-scrollbar {
    -webkit-appearance: none !important;
    width: 8px !important;
    height: 8px !important;
}

::-webkit-scrollbar-track {
    background-color: transparent !important;
}

::-webkit-scrollbar-thumb {
    background-color: transparent !important;
    border-radius: 4px !important;
    transition: background-color 0.3s ease !important;
}

/* Show scrollbar thumb on container hover for ag-Grid */
.ag-grid-container:hover ::-webkit-scrollbar-thumb,
.ag-body-viewport:hover::-webkit-scrollbar-thumb,
.dataTables_scrollBody:hover::-webkit-scrollbar-thumb,
.table-responsive:hover::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3) !important;
}

::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

::-webkit-scrollbar-corner {
    background-color: transparent !important;
}

/* Force scrollbar visibility on macOS */
* {
    scrollbar-width: auto !important;
    -ms-overflow-style: scrollbar !important;
}

/* Force scrollbars to always be visible on tables */

/* For ag-Grid tables */
.ag-root-wrapper {
    overflow: visible !important;
}

/* Allow scrollbars to appear only when needed */
.ag-body-viewport {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* Allow horizontal/vertical scroll containers to show only when needed */
.ag-body-horizontal-scroll-viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

.ag-body-vertical-scroll-viewport {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* For DataTables */
.dataTables_wrapper {
    overflow: visible !important;
}

/* Force scrollbars on DataTables scroll containers */
.dataTables_scroll {
    overflow: visible !important;
}

.dataTables_scrollBody {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* For regular responsive tables */
.table-responsive {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* Ensure ag-Grid containers have proper dimensions */
.ag-root-wrapper .ag-root-wrapper-body {
    overflow: hidden !important;
}

.ag-root {
    overflow: hidden !important;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
}

.navbar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    margin-bottom: 1.5rem;
    border: 1px solid #dee2e6;
}

.card-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
}

.card-body .tab-content {
    padding-top: 0.5rem;
}

/* More compact card-body with content */
.card-body {
    padding: 0.75rem;
}

.footer {
    border-top: 1px solid #dee2e6;
}

.form-control-plaintext {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}

/* Shared filter sidebar styling */
.filter-sidebar {
    position: relative;
}

/* Clickable headers */
.clickable {
    cursor: pointer;
}

/* Filter section styling */
.filter-section {
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 5px;
    border: 1px solid #dee2e6;
}

.filter-section label {
    font-weight: 500;
    margin-bottom: 0.25rem;
}

/* Filter dropdown styling */
.dropdown-filter .dropdown-menu {
    max-height: 300px;
    overflow-y: auto;
}

.filter-options-container {
    /* Remove overflow-y to prevent double scrollbars */
    /* The parent dropdown-menu already handles scrolling */
}

/* When filter is active */
.filter-active {
    background-color: #e7f0ff;
    border-color: #0d6efd;
}

/* Show which filters are active when dropdown is opened */
.filter-checkbox:checked + label {
    font-weight: 500;
    color: #0d6efd;
}

/* Bold filter headers */
.dropdown-filter .dropdown-item.filter-header {
    font-weight: 600;
}

/* Checkbox container spacing */
.filter-checkbox-container {
    padding: 0.25rem 0;
}

/* Make sure dropdown doesn't close when clicking inside */
.dropdown-menu.show {
    display: block;
}

/* Badge for selected count */
.filter-badge {
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
}

/* Table styling */
.table {
    font-size: 0.9rem;
}

/* Fix text visibility in striped tables */
.table-striped > tbody > tr {
    color: #212529; /* Dark text for better contrast */
}

.table-striped > tbody > tr > td {
    color: #212529; /* Ensure dark text in all cells */
}

.table-striped > tbody > tr > td strong {
    color: #212529; /* Dark text for bold elements */
}

/* Ensure proper contrast for striped rows */
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.03); /* Lighter grey for better contrast */
}

.table-striped > tbody > tr:nth-of-type(odd) > td {
    color: #212529; /* Dark text on light grey background */
}

/* Maintain existing colors for special text classes */
.table-striped .text-muted {
    color: #6c757d !important;
}

.table-striped .text-success {
    color: #198754 !important;
}

.table-striped .text-warning {
    color: #ffc107 !important;
}

/* Show horizontal scrollbar for data tables only when needed */
.table-responsive {
    overflow-x: auto !important;
}

/* Make scrollbars more visible */
.table-responsive::-webkit-scrollbar {
    height: 12px;
    background-color: #f5f5f5;
}
.table-responsive::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 6px;
}
.table-responsive::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

/* Add Firefox scrollbar styles */
@-moz-document url-prefix() {
    .table-responsive {
        scrollbar-width: thin;
        scrollbar-color: #888 #f5f5f5;
    }
}

/* Accordion styling */
.accordion-button:not(.collapsed) {
    background-color: #e7f1ff;
    color: #0d6efd;
}

/* Stats cards */
.card .card-title {
    font-size: 2rem;
    font-weight: bold;
    color: #0d6efd;
}

/* Tab styling standardization */
.nav-tabs .nav-link {
    font-weight: 500;
}

.nav-tabs .nav-link.active {
    font-weight: 600;
    border-bottom-width: 3px;
}

/* Consistent spacing for data analysis pages */
.page-heading {
    margin-bottom: 1.5rem;
}

/* Datatable wrapper */
.dataTables_wrapper {
    padding: 20px 0;
}

/* Button consistency */
.btn-update {
    width: 100%;
    margin-top: 1rem;
}

/* Data analysis consistent container */
.data-analysis-container {
    margin-top: 1.5rem;
}


