.nu-table-toolbar, .nu-table-footer, .nu-table-filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 16px; }
.nu-table-toolbar .nu-table-search-control { flex: 0 1 min(360px, 100%); }
.nu-table-toolbar .nu-table-search { width: 100%; }
.nu-table-toolbar .nu-table-result { margin-left: auto; color: var(--nu-text-muted); }
.nu-table-scroll { overflow: auto; max-height: max(360px, calc(100dvh - var(--nu-topbar-h) - 160px)); }
.nu-table > table, .nu-table-scroll > table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .84375rem; }
.nu-table-scroll > table > thead > tr > th { position: sticky; top: 0; z-index: 2; background: var(--nu-surface-2); color: var(--nu-text-muted); height: 40px; padding: 0 16px; font-size: .78rem; font-weight: 500; }
.nu-table-scroll > table > tbody > tr > td { height: 38px; padding: 6px 16px; border-top: 1px solid var(--nu-line); }
.nu-table-scroll > table > tbody > tr:hover > td { background: var(--nu-surface-2); }
.nu-table-scroll [data-align="end"] { text-align: right; }
.nu-table-sort, .nu-expander { border: 0; background: transparent; color: inherit; padding: 6px; border-radius: var(--nu-r-sm); }
.nu-table-sort { display: inline-flex; align-items: center; gap: 6px; font: inherit; white-space: pre-line; text-align: start; }
.nu-table-sort .nu-icon { width: 14px; height: 14px; opacity: 0; }
.nu-table-sort:hover .nu-icon, .nu-table th[aria-sort="ascending"] .nu-icon, .nu-table th[aria-sort="descending"] .nu-icon { opacity: 1; }
.nu-table-sort:hover, .nu-expander:hover { background: var(--nu-surface-3); }
.nu-table th[aria-sort="ascending"], .nu-table th[aria-sort="descending"] { color: var(--nu-primary-text); }
.nu-detail > td { background: var(--nu-surface-2); } .nu-subtable { background: var(--nu-surface-inset); border-radius: var(--nu-r-md); padding: 16px; }
.nu-expander .nu-icon { transition: transform .2s ease-out; }
.nu-expander[aria-expanded="true"] { background: var(--nu-primary-soft); color: var(--nu-primary-text); }
.nu-expander[aria-expanded="true"] .nu-icon { transform: rotate(90deg); }
.nu-table-scroll > table > thead > tr > th.nu-col-expander, .nu-table-scroll > table > tbody > tr > td.nu-col-expander { width: 44px; padding-right: 0; }
.nu-table-scroll > table > thead > tr > th.nu-col-actions, .nu-table-scroll > table > tbody > tr > td.nu-col-actions { width: 56px; text-align: right; }
.nu-expander-icon { display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; color: var(--nu-text-muted); }
.nu-subtable table { width: 100%; border-collapse: collapse; font-size: .8125rem; }
.nu-subtable th, .nu-subtable td { padding: 8px 12px; text-align: left; border-top: 1px solid var(--nu-line); }
.nu-subtable th { color: var(--nu-text-muted); font-weight: 500; }
.nu-table-footer { justify-content: space-between; border-top: 1px solid var(--nu-line); color: var(--nu-text-muted); }
.nu-table-pager { display: flex; gap: 4px; } .nu-table-pager [aria-current="page"] { background: var(--nu-primary-soft); color: var(--nu-primary-text); }
.nu-table .dropdown-menu { max-height: min(60vh, 480px); overflow: auto; min-width: 220px; }
.nu-table .nu-table-filter-section { padding: 8px; }
.nu-table .nu-table-filter-section + .nu-table-filter-section { border-top: 1px solid var(--nu-line); }
.nu-table .nu-table-filter-section > strong { display: block; margin: 0 0 8px; color: var(--nu-text-muted); font-size: .75rem; font-weight: 600; }
.nu-table .nu-table-filter-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nu-table .nu-table-filter-section .form-control, .nu-table .nu-table-filter-section .form-select { min-height: 34px; font-size: .8125rem; }
.nu-table .nu-table-filter-options { max-height: 220px; overflow-y: auto; margin-top: 6px; }
.nu-table .nu-table-filter-options .dropdown-item { cursor: pointer; }
.nu-table .nu-table-filter-options input, .nu-table .nu-table-filter-section input[type="checkbox"] { flex: 0 0 auto; margin: 0 4px 0 0; accent-color: var(--nu-primary); }
.nu-table .nu-table-filter-section .dropdown-item { white-space: normal; }
.nu-table .dropdown > .btn-icon { min-width: 32px; }
.nu-table .nu-table-filters[hidden], .nu-table .nu-table-scroll[hidden], .nu-table .nu-empty[hidden] { display: none; }
.nu-table [hidden] { display: none; }
.nu-table .nu-skeleton + .nu-skeleton { margin-top: 8px; }
