/* One toolbar for local searches, server filters, calendars and administration. */
.filter-toolbar, .list-filter { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; margin:0 0 14px; }
.filter-search { flex:1 1 220px; min-width:160px; max-width:420px; }
.filter-search .list-search { width:100%; }
.filter-search > .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
/* Panel searches stay compact even when the viewport is wide. */
.ui-overlay.is-drawer {
  --search-min-height:36px;
  --search-padding-block:4px;
  --search-padding-end:8px;
  --search-padding-start:30px;
  --search-icon-inset:8px;
  --search-icon-size:15px;
}
@media (max-width:1023px) {
  :root {
    --search-min-height:36px;
    --search-padding-block:4px;
    --search-padding-end:8px;
    --search-padding-start:30px;
    --search-icon-inset:8px;
    --search-icon-size:15px;
  }
}
.list-search { display:flex; align-items:center; position:relative; width:min(100%,320px); }
.list-search > .icon { position:absolute; left:var(--search-icon-inset, 12px); width:var(--search-icon-size, 17px); height:var(--search-icon-size, 17px); color:var(--color-muted); pointer-events:none; }
/* Keep the icon inset when DataTables styles the search input inside its container. */
.list-search input, div.dt-container .list-search > input, #changelist #toolbar .list-search input, #nav-sidebar .list-search input { box-sizing:border-box; width:100%; min-width:0; min-height:var(--search-min-height, 42px); margin:0; padding:var(--search-padding-block, 9px) var(--search-padding-end, 12px) var(--search-padding-block, 9px) var(--search-padding-start, 38px); border:1px solid var(--color-border); border-radius:7px; background:var(--color-surface); color:var(--color-text); font:inherit; font-size:13px; }
.list-search input:focus { outline:2px solid var(--color-primary); outline-offset:2px; }
.filter-field { min-width:0; }
.filter-field > label { display:block; margin:0 0 6px; font-size:12px; font-weight:600; color:var(--color-text); }
.filter-field select { box-sizing:border-box; width:100%; min-width:0; min-height:42px; padding:8px 28px 8px 10px; border:1px solid var(--color-border); border-radius:7px; background:var(--color-surface); color:var(--color-text); font:inherit; font-size:13px; }
.filter-field select:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
.filter-inline-field { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.filter-inline-field > label { display:flex; align-items:center; gap:6px; margin:0; color:var(--color-muted); }
.filter-inline-field > label .icon { width:16px; height:16px; }
.filter-inline-field select { width:auto; max-width:100%; }
.filter-toolbar .live-filter-feedback { flex-basis:100%; margin:0; }
.filter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-inline-start:auto; }
.filter-clear { padding:8px 5px; font-size:12px; white-space:nowrap; }
.filter-menu { position:relative; flex:none; }
.filter-menu > summary { display:flex; align-items:center; justify-content:center; gap:7px; box-sizing:border-box; min-height:42px; padding:8px 10px; border:1px solid var(--color-border); border-radius:7px; background:var(--color-surface); color:var(--color-primary); font:600 12px/1.5 var(--font-body); list-style:none; cursor:pointer; }
.filter-menu > summary::-webkit-details-marker { display:none; }
.filter-menu > summary .icon { width:15px; height:15px; }
.filter-menu[open] > summary { background:var(--color-soft); }
.filter-menu > summary:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
.filter-popover { position:absolute; z-index:12; inset-block-start:calc(100% + 8px); inset-inline-end:0; box-sizing:border-box; display:grid; gap:12px; width:260px; max-width:calc(100vw - 32px); max-height:var(--dropdown-max-height, calc(100dvh - 100px)); overflow-y:auto; padding:16px; border:1px solid var(--color-border); border-radius:9px; background:var(--color-surface); box-shadow:0 5px 18px #19362a12; }
.filter-popover--wide { width:440px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.filter-popover--start { inset-inline-start:0; inset-inline-end:auto; }
.toolbar-actions-popover { width:250px; gap:0; padding:6px; }
.toolbar-actions-popover :is(a, button) { display:flex; align-items:center; box-sizing:border-box; width:100%; min-height:42px; padding:9px 11px; color:var(--color-text); font-size:13px; text-align:left; text-decoration:none; }
.toolbar-actions-popover :is(a, button):hover { background:var(--color-soft); border-radius:5px; }
.filter-count { color:var(--color-muted); font-size:11px; font-weight:400; }
.filter-count[hidden] { display:none; }
.filter-check { display:flex; align-items:center; gap:8px; min-height:42px; margin:0; font-size:13px; }
.dt-search.list-search > label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.table-search-toolbar > form { margin:0; }
.table-search-toolbar > .list-search { flex:1 1 220px; max-width:420px; }
.list-filter-count,.live-filter-feedback { color:var(--color-muted); font-size:12px; }
.list-filter-count { margin-inline-start:auto; }
.live-filter-feedback { margin:10px 0; }
[data-search-highlight] [data-search-highlighted] {
  border-radius: 3px;
  background: var(--color-accent);
  box-shadow: 0 0 0 1px var(--color-accent);
  color: var(--color-on-accent);
  text-decoration-color: currentColor;
}
[data-live-filters-ready] [type=submit], #changelist-search[data-live-filters-ready] [type=submit] { display:none; }
.list-filter-empty { grid-column:1/-1; }
.sport-table td:is(.empty-cell, .dt-empty):has(> .collection-empty) { padding:0; }
.list-filter-empty[hidden],.live-filter-feedback[hidden],[data-live-search-ready] [hidden] { display:none!important; }
@media(max-width:768px) {
  .list-search input, div.dt-container .list-search > input, #changelist #toolbar .list-search input, #nav-sidebar .list-search input, .filter-field select { font-size:16px; }
  .filter-search { max-width:none; }
  .filter-popover--wide { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  .list-filter { gap:6px 10px; }
  .list-filter .list-search { width:100%; }
}
@media print { .filter-toolbar,.list-filter,.live-filter-feedback { display:none!important; } }

/* The panel stays in its original form while its position follows the trigger. */
:is(.filter-popover, .workspace-popover, .account-popover, .torneo-date-range-picker)[data-anchored-dropdown] {
  position:fixed;
  inset:var(--dropdown-y) auto auto var(--dropdown-x);
  box-sizing:border-box;
  max-width:var(--dropdown-width);
  max-height:min(var(--dropdown-height), var(--dropdown-max-height, 100dvh));
  overflow:auto;
  overscroll-behavior:contain;
}
.filter-popover[data-anchored-dropdown] { z-index:60; }
[data-anchored-dropdown="above"] { transform:translateY(-100%); }
[data-dropdown-offscreen] { visibility:hidden; }
