:root {
    --gw-ui-border: #d7e0e8;
    --gw-ui-radius: 10px;
    --gw-ui-accent: #176fa9;
    --gw-ui-text: #182d40;
    --gw-ui-muted: #556b7e;
}
.gw-table-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin: 16px 0 8px; color: var(--gw-ui-text); }
.gw-table-scope { font-size: 12px; color: var(--gw-ui-muted); }
.gw-table-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.gw-table-tools button, .gw-table-tools .column-picker > summary { min-height: 34px; padding: 7px 12px; border: 1px solid var(--gw-ui-border); border-radius: 8px; background: white; font-size: 13px; color: var(--gw-ui-text); }
.gw-table-tools button[aria-pressed="true"] { color: var(--gw-ui-accent); background: #eaf4fc; border-color: #a7cce5; }
.gw-table-tools .column-picker-menu { width: min(320px, calc(100vw - 40px)); border-radius: var(--gw-ui-radius); border-color: var(--gw-ui-border); }
.gw-column-options { max-height: min(48vh, 380px); overflow-y: auto; overscroll-behavior: contain; }
.gw-column-search { width: 100%; min-height: 34px; margin-bottom: 6px; }
.gw-data-table th { position: relative; vertical-align: middle; }
.gw-data-table th.sortable-column::after { top: 50%; transform: translateY(-50%); }
.gw-data-table.gw-table-compact th, .gw-data-table.gw-table-compact td { padding-top: 6px; padding-bottom: 6px; font-size: 13px; }
.gw-data-table.gw-table-compact td input, .gw-data-table.gw-table-compact td select { min-height: 30px; }
.gw-table-toolbar [hidden], .gw-data-table [hidden] { display: none !important; }
@media (max-width: 600px) { .gw-table-tools { width: 100%; justify-content: flex-end; } }
/* A loading message never dims text or blocks a newer filter/sort. */
.gw-table-loading-message { min-height: 1.4em; margin: 0 0 .25rem; color: #175e91; }
.number-group-heading td { background: #e9f1f8; color: #294b67; padding: 12px 14px; border-top: 2px solid #cbdbe7; text-align: left; }
.number-source { display: block; margin-top: 4px; color: #64748b; font-size: 11px; font-weight: normal; overflow-wrap: anywhere; max-width: 240px; }
.gw-table-loading .table-wrap { border-top: 2px solid #1979b5; }
.gw-table-loading [data-selection-controls], .gw-table-loading [data-selection-download],
.gw-table-error [data-selection-controls], .gw-table-error [data-selection-download] { pointer-events: none; opacity: .65; }
