/* ---------- List toolbar ---------- */
.list-toolbar { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--em-border); }
.list-toolbar .search { flex: 1 1 260px; max-width: 420px; }
.list-toolbar .search .form-control { border-radius: 999px; }
.list-toolbar .toolbar-end { margin-left: auto; display: flex; gap: .5rem; flex-wrap: wrap; }
/* Grouped filters (e.g. role + department) share one row and stay side by side on phones. */
.list-toolbar .toolbar-filters { display: flex; gap: .6rem; flex: 0 1 auto; min-width: 0; }
.list-toolbar .toolbar-filters .form-select { flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; text-overflow: ellipsis; }
/* Long lookup values (industries, venues) must never widen the page. */
.list-toolbar .form-select, .list-toolbar .form-control { max-width: 100%; min-width: 0; }
.list-toolbar .form-select.w-auto { max-width: min(100%, 280px); text-overflow: ellipsis; }
.filter-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .75rem 1.25rem 0; }
.filter-chip { border: 1px solid var(--em-border); background: var(--em-surface); border-radius: 999px; padding: .35rem .8rem; font-size: .8125rem; font-weight: 600; color: var(--em-muted); cursor: pointer; min-height: 34px; }
.filter-chip.active { border-color: transparent; background: var(--em-primary); color: #fff; }
@media (max-width: 575.98px) {
    .list-toolbar .search { max-width: none; flex-basis: 100%; }
    .list-toolbar .toolbar-end { margin-left: 0; width: 100%; }
    .list-toolbar .toolbar-end .btn { flex: 1; }
    .list-toolbar .form-select.w-auto { flex: 1 1 100%; max-width: 100%; }
    .list-toolbar .toolbar-filters { flex-basis: 100%; }
    .list-toolbar .toolbar-filters .form-select { flex: 1 1 0; }
}
/* Very narrow phones: give each filter the full row so option labels are not clipped. */
@media (max-width: 359.98px) {
    .list-toolbar .toolbar-filters { flex-wrap: wrap; }
    .list-toolbar .toolbar-filters .form-select { flex: 1 1 100%; }
}
