.gridjs-wrapper { overflow-x: auto; }
.gridjs-table { font-size: 13px; min-width: max-content; }
.gridjs-table td { padding: 6px 10px; white-space: normal; word-break: break-word; max-width: 200px; }
.gridjs-table th { padding: 8px 10px; white-space: nowrap; }
.highlight-column { background: rgba(var(--bs-primary-rgb), 0.15) !important; transition: background-color 0.2s; }
#table-wrapper .btn-sm { font-size: 12px; }
#chooseColumns { background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 0.375rem; padding: 0.75rem; min-height: 120px; }
.nav-tabs .nav-link { font-size: 0.85rem; padding: 0.375rem 0.75rem; }
.nav-tabs .nav-link.active { background-color: var(--bs-primary); color: #ffffff; }
.tab-content { padding: 0.75rem 0 0 0; }
.tab-pane-content { display: flex; flex-flow: row wrap; gap: 0.5rem; align-content: flex-start; min-height: 40px; align-items: center; }
.form-switch { margin-bottom: 0; white-space: nowrap; min-width: fit-content; }
.form-check-label { font-size: 0.85rem; }
legend { font-size: 0.9rem; font-weight: 500; margin-bottom: 0.5rem !important; }
.table-action {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50rem;
    font-size: 13px; text-decoration: none; border: none; cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}
.table-action:hover { opacity: 0.75; }
.table-action--view { background: rgba(var(--bs-primary-rgb), 0.12); color: var(--bs-primary); }
.table-action--edit { background: rgba(var(--bs-success-rgb), 0.12); color: var(--bs-success); }
#table-wrapper .gridjs-search { align-items: center; }
@media (max-width: 767px) {
    #table-wrapper .gridjs-search { flex-direction: column; align-items: stretch; }
    #table-wrapper .gridjs-search .gridjs-search-input { width: 100% !important; }
    #region-filter + .select2-container--bootstrap-5 { width: 100% !important; }
}
#table-wrapper .gridjs-search .gridjs-search-input { margin: 0; height: 36px; border-color: #dee2e6; box-sizing: border-box; }
#region-filter + .select2-container--bootstrap-5 { margin: 0; width: 220px !important; }
#table-wrapper .gridjs-search .gridjs-search-input:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25) !important;
    outline: none;
}
#region-filter + .select2-container--bootstrap-5 { margin: 0; }
#region-filter + .select2-container--bootstrap-5 .select2-selection--single {
    height: 36px; padding: 0 0 0 12px; display: flex; align-items: center; box-sizing: border-box;
}
#region-filter + .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
    height: 34px;
}
