/* assets/css/filters.css: the shared filter bar of the transaction lists (assets/js/filters.js, 2026-10-05). */
.fl-bar { padding: var(--eb-space-3) var(--eb-space-5); border-bottom: 1px solid var(--eb-line); display: grid; gap: var(--eb-space-3); }
.fl-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.fl-spacer { flex: 1 1 auto; }
.fl-search-wrap { width: 240px; max-width: 100%; }
.fl-search { width: 100%; }
.fl-select { width: auto; min-width: 140px; }
.fl-date { width: 150px; }
.fl-num { width: 120px; }
.fl-party { width: 210px; }
.fl-custom, .fl-pair { display: inline-flex; align-items: center; gap: 6px; }
.fl-custom[hidden] { display: none; }
.fl-more { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--eb-space-3) var(--eb-space-5);
           padding: var(--eb-space-3); background: var(--eb-surface-2); border: 1px solid var(--eb-line-soft); border-radius: var(--eb-radius-md); }
.fl-more[hidden] { display: none; }
.fl-field { display: grid; gap: 4px; min-width: 0; }
.fl-flag { padding-bottom: 8px; }

/* status multi-select */
.fl-pop { position: relative; }
.fl-pop > summary { list-style: none; cursor: pointer; }
.fl-pop > summary::-webkit-details-marker { display: none; }
.fl-pop-body { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; min-width: 200px; display: grid; gap: 8px;
               padding: var(--eb-space-3); background: var(--eb-surface); border: 1px solid var(--eb-line);
               border-radius: var(--eb-radius-md); box-shadow: var(--eb-shadow-pop); }

/* active filters */
.fl-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px var(--eb-space-5);
            border-bottom: 1px solid var(--eb-line); background: var(--eb-selected-bg); }
.fl-chips[hidden] { display: none; }
.fl-chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid var(--eb-line);
           border-radius: var(--eb-radius-pill); background: var(--eb-surface); color: var(--eb-ink); font: inherit;
           font-size: var(--eb-text-sm); cursor: pointer; }
.fl-chip:hover { border-color: var(--eb-line-strong); }
.fl-chip:focus-visible, .fl-sort:focus-visible { outline: 2px solid var(--eb-focus); outline-offset: 2px; }
.fl-chip-x { color: var(--eb-ink-2); font-size: 14px; line-height: 1; }
.fl-clear { margin-left: auto; }

/* sortable headers */
.fl-sort { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
th[aria-sort="ascending"] .fl-sort::after { content: "▲"; font-size: 9px; }
th[aria-sort="descending"] .fl-sort::after { content: "▼"; font-size: 9px; }
th.eb-r .fl-sort { justify-content: flex-end; }

.fl-size { width: auto; min-width: 110px; }
.pg-actor { font-size: var(--eb-text-xs); }

@media (max-width: 720px) {
    .fl-bar { padding: var(--eb-space-3) var(--eb-space-4); }
    .fl-search-wrap, .fl-select, .fl-party, .fl-views { width: 100%; }
    .fl-spacer { display: none; }
}

/* the checkbox label, for pages that do not load pages.css (invoices) */
.fl-bar .pg-check, .fl-pop .pg-check { display: inline-flex; align-items: center; gap: 8px; font-size: var(--eb-text-md);
                                        color: var(--eb-ink-body); cursor: pointer; }

/* dashboard: books health */
.bh-list { list-style: none; margin: var(--eb-space-3) 0 0; padding: 0; display: grid; gap: 10px; }
.bh-item { display: flex; align-items: flex-start; gap: 10px; }
.bh-text { display: grid; gap: 2px; min-width: 0; }
