/* Shared DataTables controls, including pages with legacy report styles. */
html body .dataTables_wrapper.sisforty-datatable {
    position: relative;
    min-width: 0;
    max-width: 100%;
}
html body .sisforty-datatable .sisforty-table-top,
html body .sisforty-datatable .sisforty-table-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    padding-block: 1rem;
    white-space: normal;
}
html body .sisforty-datatable .sisforty-table-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}
html body .sisforty-datatable .sisforty-table-summary,
html body .sisforty-datatable .sisforty-table-bottom {
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
}
html body .sisforty-datatable .sisforty-table-summary .dataTables_length,
html body .sisforty-datatable .sisforty-table-summary label,
html body .sisforty-datatable .sisforty-table-total,
html body .sisforty-datatable .sisforty-table-bottom .dataTables_info {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    white-space: nowrap;
}
html body .sisforty-datatable .sisforty-table-summary label {
    display: flex;
    align-items: center;
}
html body .sisforty-datatable .sisforty-table-top .dataTables_filter {
    margin: 0 0 0 auto !important;
}
html body .sisforty-datatable .sisforty-table-bottom .dataTables_paginate {
    margin: 0 0 0 auto !important;
    width: auto !important;
}
html body .sisforty-datatable .sisforty-table-bottom .pagination {
    margin-block: 0;
}
html body .sisforty-datatable .tenant-datatable-scroll {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
}
@media print {
    .sisforty-table-top, .sisforty-table-bottom { display: none !important; }
}

/* Use the global blue ring instead of DataTables' default animated dots. */
html body .sisforty-datatable div.dataTables_processing {
    position: absolute !important;
    top: var(--tenant-processing-top, 50px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: auto !important;
    height: var(--tenant-processing-height, 48px) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    z-index: 5 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
html body .sisforty-datatable div.dataTables_processing.sisforty-processing-visible,
html body .sisforty-datatable div.dataTables_processing[style*="display: block"] {
    display: flex !important;
}
html body .sisforty-datatable div.dataTables_processing::before,
html body .sisforty-datatable div.dataTables_processing::after {
    display: none !important;
    content: none !important;
}
html body .sisforty-datatable div.dataTables_processing .tenant-datatable-spinner {
    display: inline-block !important;
    box-sizing: border-box;
    width: 1.75rem;
    height: 1.75rem;
    border: .2rem solid #dce8f6 !important;
    border-right-color: #0b4f93 !important;
    border-radius: 50%;
    animation: sisforty-datatable-spin .8s linear infinite !important;
}
html[data-tenant-theme=dark] body .sisforty-datatable div.dataTables_processing .tenant-datatable-spinner,
html.dark-style body .sisforty-datatable div.dataTables_processing .tenant-datatable-spinner {
    border-color: #40516a !important;
    border-right-color: #8fc0ff !important;
}
@keyframes sisforty-datatable-spin {
    to { transform: rotate(360deg); }
}
