/* Local DataTables integration for the Nordberg bank admin UI. */
.dataTables_wrapper { width: 100%; }
.dataTables_wrapper::after { content: ''; display: block; clear: both; }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter { margin: 0 0 12px; }
.dataTables_wrapper .dataTables_length { float: left; }
.dataTables_wrapper .dataTables_filter { float: right; text-align: right; }
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #687786; font-weight: 700; }
.dataTables_wrapper .dataTables_length select { width: auto; min-width: 78px; }
.dataTables_wrapper .dataTables_filter input { width: min(280px, 52vw); margin: 0; }
.dataTables_wrapper .dataTables_info { float: left; padding-top: 15px; color: #687786; font-size: 12px; }
.dataTables_wrapper .dataTables_paginate { float: right; padding-top: 10px; display: flex; align-items: center; gap: 4px; }
.dataTables_wrapper .dataTables_paginate .paginate_button { min-width: 34px; min-height: 34px; padding: 7px 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #dce3e9; border-radius: 8px; background: #fff; color: #687786 !important; cursor: pointer; text-decoration: none !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover { border-color: #9fb0be; color: #0e4e83 !important; background: #f7f9fb; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current { background: #1769aa; color: #fff !important; border-color: #1769aa; }
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled { opacity: .45; cursor: default; }
table.dataTable { width: 100% !important; border-collapse: collapse !important; }
table.dataTable thead th { position: relative; }
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc { cursor: pointer; padding-right: 25px; }
table.dataTable thead th.sorting::after,
table.dataTable thead th.sorting_asc::after,
table.dataTable thead th.sorting_desc::after { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); color: #91a0ad; font-size: 10px; }
table.dataTable thead th.sorting::after { content: '↕'; }
table.dataTable thead th.sorting_asc::after { content: '↑'; color: #1769aa; }
table.dataTable thead th.sorting_desc::after { content: '↓'; color: #1769aa; }
table.dataTable.no-footer { border-bottom: 0; }
@media (max-width: 760px) {
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate { float: none; width: 100%; text-align: left; }
    .dataTables_wrapper .dataTables_filter label { align-items: stretch; flex-direction: column; }
    .dataTables_wrapper .dataTables_filter input { width: 100%; }
    .dataTables_wrapper .dataTables_paginate { flex-wrap: wrap; }
}
