[data-portal-list-tools]{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
[data-portal-list-tools] label{display:grid;gap:4px;font-size:12px;font-weight:800;color:var(--ledger-muted,#6b5b4c)}
[data-portal-list-tools] input,[data-portal-list-tools] select{min-height:42px;max-width:100%;border:1px solid var(--ledger-line-strong,#dcc9ad);border-radius:10px;background:var(--ledger-panel,#fffdf9);color:var(--ledger-ink,#3b2f25);padding:8px 10px;font:inherit}
.portal-list-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--ledger-line,#eadfce);background:var(--ledger-panel-2,#fdf8ef)}
.portal-list-pager [data-portal-list-status]{margin-right:auto;color:var(--ledger-muted,#6b5b4c);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.portal-list-pager button{min-height:42px;min-width:44px}
.portal-list-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
[data-portal-list-item][aria-selected="true"]{box-shadow:inset 3px 0 0 var(--ledger-primary,#c2542e)}
[data-sortable-column]{padding:0!important;vertical-align:middle}
.portal-sortable-header{appearance:none;display:flex!important;width:100%;min-width:44px!important;min-height:44px!important;box-sizing:border-box;align-items:center;justify-content:space-between;gap:8px;border:0!important;border-radius:0!important;background:transparent!important;color:inherit;padding:8px 10px!important;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}
.portal-sortable-header::after{content:"↕";flex:0 0 auto;color:var(--ledger-muted,#6b5b4c);font-size:13px;font-weight:900;line-height:1}
[data-sortable-column][aria-sort="ascending"] .portal-sortable-header::after{content:"↑";color:var(--ledger-primary-dark,#9c3f1f)}
[data-sortable-column][aria-sort="descending"] .portal-sortable-header::after{content:"↓";color:var(--ledger-primary-dark,#9c3f1f)}
.portal-sortable-header:hover{background:rgba(255,255,255,.08)}
.portal-sortable-header:focus-visible{position:relative;z-index:1;outline:3px solid var(--ledger-primary,#c2542e);outline-offset:-3px}
@media(max-width:640px){[data-portal-list-tools]{align-items:stretch}[data-portal-list-tools] label{width:100%}.portal-list-pager{justify-content:flex-start}.portal-list-pager [data-portal-list-status]{flex-basis:100%}}

/* BooksForge list-header contract: applied by portal-list-template.js only to
   multi-column lists that have rendered rows, plus the matching list, lane,
   schedule, and folder headers. Keep the bar neutral black so the warm Ember
   accents remain reserved for sorting, focus, and active-state feedback. */
:root{--bf-list-header-bg:#111;--bf-list-header-fg:#fffdf8;--bf-list-header-accent:#d9bc74;--bf-list-header-hover:#262626;--bf-list-header-focus:#f4d58d}
table.booksforge-list-header>thead>tr>th,
table.booksforge-list-header>tbody>tr:first-child>th,
table.ew-table.booksforge-list-header>thead>tr>th,
table.ew-table.booksforge-list-header>tbody>tr:first-child>th,
table.sheet-table.booksforge-list-header>thead>tr>th,
table.sheet-table.booksforge-list-header>tbody>tr:first-child>th,
table.report-table.booksforge-list-header>thead>tr>th,
table.report-table.booksforge-list-header>tbody>tr:first-child>th,
table.payroll-check-table.booksforge-list-header>thead>tr>th,
table.payroll-check-table.booksforge-list-header>tbody>tr:first-child>th{background:var(--bf-list-header-bg)!important;color:var(--bf-list-header-fg)!important;border-color:rgba(217,188,116,.42)!important}
.booksforge-list-header.booksforge-list-header:not(table){background-color:var(--bf-list-header-bg)!important;color:var(--bf-list-header-fg)!important;border-color:rgba(217,188,116,.56)!important;color-scheme:dark}
.booksforge-list-header.booksforge-list-header:not(table) :is(a,button,label,span,strong,b,h2,h3,h4,p){color:var(--bf-list-header-fg)!important}
.booksforge-list-header.booksforge-list-header:not(table) :is(button,a,select){border-color:rgba(217,188,116,.68)!important;background-color:transparent!important;background-image:none!important;color:var(--bf-list-header-fg)!important}
.booksforge-list-header.booksforge-list-header:not(table) :is(button,a,select):hover{background-color:var(--bf-list-header-hover)!important}
.booksforge-list-header.booksforge-list-header:not(table) :is(button,a,select):focus-visible{outline:3px solid var(--bf-list-header-focus)!important;outline-offset:-3px!important}
table.booksforge-list-header .portal-sortable-header{color:var(--bf-list-header-fg)!important}
table.booksforge-list-header .portal-sortable-header::after,.work-list-head.booksforge-list-header button::after,.worklist-columns.booksforge-list-header .worklist-sort-button::after{color:var(--bf-list-header-accent)!important}
table.booksforge-list-header [data-sortable-column][aria-sort="ascending"] .portal-sortable-header::after,table.booksforge-list-header [data-sortable-column][aria-sort="descending"] .portal-sortable-header::after{color:var(--bf-list-header-focus)!important}
.work-list-head.booksforge-list-header,.worklist-columns.booksforge-list-header,.customer-sort-row.booksforge-list-header{border-radius:8px!important;box-shadow:none!important}
/* Status chips and legend swatches keep their own backgrounds/colors: they are
   indicators on the black bar, not text carriers. White-on-cream would fail. */
.booksforge-list-header.booksforge-list-header .ew-today-chip{color:var(--ledger-money-text,#7a591f)!important;background:var(--ledger-money-bg,#f7eed6)!important}
.booksforge-list-header.booksforge-list-header .ew-legend .ew-sw{color:var(--ledger-ink,#3b2f25)!important}
.booksforge-list-header[hidden]{display:none!important}
