/* DataTables */
.dataTables_wrapper { color: var(--rz-color-ink); font-size: var(--rz-text-sm); }
.dataTables_wrapper .row:first-child, .dataTables_wrapper .row:last-child { align-items: center; gap: var(--rz-space-2) 0; padding: var(--rz-space-3) 0; }
.dataTables_wrapper .dataTables_filter label, .dataTables_wrapper .dataTables_length label { color: var(--rz-color-text-secondary); font-size: var(--rz-text-xs); font-weight: 600; }
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select { min-height: var(--rz-control-height-sm); border-color: var(--rz-color-border-strong); border-radius: var(--rz-radius-xs); }
.dataTables_wrapper .dataTables_filter input:focus, .dataTables_wrapper .dataTables_length select:focus { border-color: var(--rz-color-brand); box-shadow: var(--rz-focus-ring); outline: 0; }
.dataTables_wrapper .dataTables_info { color: var(--rz-color-text-muted); font-size: var(--rz-text-xs); }
.dataTables_wrapper .page-item.active .page-link { border-color: var(--rz-color-brand); background: var(--rz-color-brand); }

/* Select2 Bootstrap 5 integration */
.select2-container { max-width: 100%; font-size: var(--rz-text-sm); }
.select2-container--bootstrap-5 .select2-selection { min-height: var(--rz-control-height); border-color: var(--rz-color-border-strong); border-radius: var(--rz-radius-xs); }
.select2-container--bootstrap-5.select2-container--focus .select2-selection,
.select2-container--bootstrap-5.select2-container--open .select2-selection { border-color: var(--rz-color-brand); box-shadow: var(--rz-focus-ring); }
.select2-container--bootstrap-5 .select2-dropdown { overflow: hidden; border-color: var(--rz-overlay-border); border-radius: var(--rz-radius-xs); background: var(--rz-overlay-surface-strong); box-shadow: var(--rz-shadow-md); -webkit-backdrop-filter: blur(var(--rz-overlay-blur)); backdrop-filter: blur(var(--rz-overlay-blur)); }
.select2-container--bootstrap-5 .select2-results__option--highlighted[aria-selected] { background: var(--rz-color-brand); color: var(--rz-color-white); }
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice { border-color: #a9d7be; background: var(--rz-color-brand-soft); color: var(--rz-color-brand-hover); }

/* GLightbox */
.glightbox-clean .gclose:focus-visible, .glightbox-clean .gnext:focus-visible, .glightbox-clean .gprev:focus-visible { outline: 2px solid var(--rz-color-white); outline-offset: 2px; }
.photo-viewer-thumb { cursor: pointer; transition: transform var(--rz-transition-fast), box-shadow var(--rz-transition-fast); }
.photo-viewer-thumb:hover, .photo-viewer-thumb:focus-visible { transform: scale(1.02); box-shadow: var(--rz-shadow-md); }
.glightbox:focus-visible { border-radius: 30%; outline-offset: 4px; }
.goverlay { background: var(--rz-overlay-surface) !important; -webkit-backdrop-filter: blur(var(--rz-overlay-blur)); backdrop-filter: blur(var(--rz-overlay-blur)); }

/* Charts */
.chart-frame { position: relative; width: 100%; min-height: 320px; }

/* Django crispy form output */
.invalid-feedback, .errorlist { color: var(--rz-color-danger); font-size: var(--rz-text-xs); }
.errorlist { margin: var(--rz-space-2) 0 0; padding-left: 1.25rem; }
