.table-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    margin: 1rem 0 .25rem;
    font: inherit;
}
.table-copy-button {
    display: inline-block;
    padding: .35rem .75rem;
    border: 1px solid var(--link, #0d6efd);
    border-radius: .3rem;
    background: #fff;
    color: var(--link, #0d6efd);
    font: inherit;
    line-height: 1.4;
    cursor: pointer;
}
.table-copy-button:hover { background: #edf4ff; }
.table-copy-button:focus-visible { outline: 3px solid #9ec5fe; outline-offset: 2px; }
.table-copy-button:disabled { opacity: .6; cursor: progress; }
.table-copy-status { color: var(--muted, #59636e); font-size: .9em; }
.table-tools + .table-responsive { margin-top: .25rem; }
.table-copy-manual {
    flex-basis: 100%;
    width: 100%;
    padding: .5rem;
    border: 1px solid var(--border, #ccd4dc);
    border-radius: .3rem;
    font: .9rem monospace;
    white-space: pre;
}
.table-copy-staging { position: fixed; top: 0; left: -10000px; width: 1px; height: 1px; }
table .table-totals > th,
table .table-totals > td {
    padding: .55rem .3rem;
    border-top: 2px solid #a9bdd3;
    background: #eaf2fb;
    font-weight: 700;
    white-space: nowrap;
}
table .table-totals > th { text-align: left; }
table .table-totals > td { text-align: right; }
@media (min-width: 992px) {
    .data-table .table-totals > th:first-child { position: sticky; left: 0; z-index: 3; background: #eaf2fb; }
}
@media print {
    .table-tools { display: none; }
}
