/* Shared table controls: flow layout prevents toolbars and panels from overlapping. */
.list-toolbar,.list-options,.date-popover,.column-option,.condition,.saved-query-tools,
.list-toolbar input,.list-options input,.list-options select,.date-popover input,.date-popover select,
.field input,.field select,.field textarea{box-sizing:border-box}
.list-toolbar{align-items:center;gap:8px;row-gap:8px}
.list-toolbar>.btn,.list-toolbar .list-actions>.btn,.date-filter>summary{height:46px;min-height:46px;box-sizing:border-box;padding:5px 10px}
.list-toolbar .btn .bi-main,.date-filter>summary .bi-main{font-size:13px;line-height:1.3}
.list-toolbar .btn .bi-sub,.date-filter>summary .bi-sub{font-size:11px;line-height:1.3}
.list-toolbar .search-field{align-items:center;min-width:0}
.list-toolbar .search-field input{min-width:0;height:46px;min-height:46px}
.date-filter{z-index:auto;max-width:min(340px,100%);flex:0 1 auto}
.date-filter[open]{z-index:30}
.date-filter>summary{gap:10px;max-width:100%}
.date-filter>summary>.bi{min-width:0;flex:none}
.date-range-value{font-size:12px;max-width:170px}
.date-popover{width:min(440px,calc(100vw - 32px));max-height:min(600px,calc(100dvh - 190px));gap:12px;padding:16px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}
.date-popover .field,.date-inputs,.date-inputs>*{min-width:0;max-width:100%}
.date-popover input,.date-popover select,.date-popover .fw-select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.date-popover .fw-select-trigger{height:42px;min-height:42px;font-size:14px}
.date-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.date-popover .date-scope{margin:0;line-height:1.45}
.date-popover .date-scope .bi{white-space:normal;overflow-wrap:anywhere}
.date-actions{gap:8px;flex-wrap:wrap}
.date-actions .btn{min-width:0;padding:6px 10px}
.date-popover .bi-main{font-size:13px}.date-popover .bi-sub{font-size:11px}
.list-options{position:relative;inset:auto;z-index:1;flex:none;align-self:flex-start;width:min(980px,calc(100% - 16px));max-height:min(560px,45dvh);margin:8px;overflow:auto;border:1px solid var(--line);box-shadow:none;background:var(--surface);box-sizing:border-box}
.list-options.columns-open{width:min(740px,calc(100% - 16px))}
.list-options[hidden],.list-options [hidden]{display:none!important}
.list-options-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:3;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
.list-options-heading>.btn{min-height:36px;padding:4px 12px}
.list-options .bi-main{font-size:13px;line-height:1.35}
.list-options .bi-sub{font-size:11px;line-height:1.35}
.list-options .filter-editor{padding:14px;min-width:0}
.list-options .filter-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.list-options .filter-heading h3{margin:0}
.list-options .filter-heading .field{min-width:180px;max-width:240px}
.list-options .field{display:grid;gap:6px;min-width:0;margin:0;max-width:100%}
.list-options .field input,.list-options .field select{width:100%;min-width:0;max-width:100%;height:42px;min-height:42px;padding:7px 10px;font-size:14px}
.list-options .fw-select{min-width:0;width:100%;max-width:100%}
.list-options .fw-select-trigger{min-width:0;width:100%;height:42px;min-height:42px;font-size:14px}
.list-options .saved-query-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:12px 0;margin:12px 0;border-block:1px solid var(--line)}
.list-options .saved-query-tools .field{flex:1 1 230px;max-width:320px}
.list-options .saved-query-tools>.btn{min-height:42px;height:auto;padding:5px 10px}
.list-options .condition-list{display:grid;gap:12px}
.list-options .condition{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,.8fr) minmax(120px,1fr) auto;align-items:end;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface2);min-width:0}
.list-options .condition:has([data-filter=value2]){grid-template-columns:minmax(100px,1fr) minmax(100px,.8fr) minmax(100px,1fr) minmax(100px,1fr) auto}
.list-options .condition>.btn{min-width:64px;min-height:42px;padding:5px 10px}
.list-options .filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;margin-top:0}
.list-options .filter-footer>div{display:flex;gap:8px;flex-wrap:wrap}
.list-options .filter-footer .btn{min-height:42px;padding:5px 10px}
.list-options .column-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;padding:12px 14px;border:0;min-width:0;width:100%}
.list-options .column-options legend{padding:0 0 8px;float:left;grid-column:1/-1;width:100%;font-size:13px}
.list-options .column-option-actions{position:static;padding:0 0 8px;background:transparent}
.list-options .column-option-actions .btn{min-height:36px;padding:5px 8px}
.list-options .column-option{padding:4px 0;gap:6px;min-width:0;border-bottom:1px solid var(--line)}
.list-options .column-option label{min-width:0;min-height:38px;gap:8px;align-items:center}
.list-options .column-option input[type=checkbox]{flex:none;width:16px;height:16px;min-height:0;margin:0}
.list-options .move-column{width:30px;height:30px}
.field-table .column-heading{display:block;min-height:36px}
.field-table .column-sort{width:100%;min-height:42px;justify-content:space-between;cursor:grab;touch-action:none;user-select:none;padding:4px 2px}
.field-table .column-sort:active{cursor:grabbing}
.field-table .column-sort .bi-main{font-size:14px;line-height:1.3}
.field-table .column-sort .bi-sub{font-size:11px;line-height:1.3}
.field-table th{height:60px}
.field-table .column-sort:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:3px}
table .range-selected{background:color-mix(in srgb,var(--accent) 13%,var(--surface))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}
table .range-anchor{box-shadow:inset 0 0 0 2px var(--accent)}
table.range-dragging,table.range-dragging *{cursor:cell!important;user-select:none!important}
.cell-selection-toolbar{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap;padding:6px 10px;background:var(--soft);border-block:1px solid var(--line);font-size:12px}
.cell-selection-toolbar button{padding:4px 10px;min-height:30px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font:inherit;color:var(--ink);cursor:pointer}
@media(max-width:1000px){
 .list-toolbar .date-filter{grid-column:auto;width:auto;max-width:100%}
 .date-popover{position:fixed;top:100px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 170px)}
 .list-options,.list-options.columns-open{position:relative;inset:auto;max-height:48dvh;z-index:1}
 .list-options .condition,.list-options .condition:has([data-filter=value2]){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .list-options .condition>.btn{justify-self:end}
}
@media(max-width:600px){
 .list-options .column-options{grid-template-columns:1fr}
 .list-options .condition,.list-options .condition:has([data-filter=value2]){grid-template-columns:1fr!important}
 .list-options .saved-query-tools .field{flex-basis:100%;max-width:none}
 .list-options .saved-query-tools>.btn{flex:1 1 auto}
 .list-options .filter-heading .field{max-width:none;flex:1}
 .date-inputs{grid-template-columns:1fr;gap:12px}
 .date-filter>summary{width:100%;height:auto;min-height:46px}
 .date-filter>summary .bi-main,.date-filter>summary .bi-sub{white-space:normal}
 .date-range-value{max-width:125px}
 .list-toolbar .list-actions{flex-wrap:wrap;min-width:0}
}
.list-options .column-options{box-sizing:border-box}
html.mode-emphasis .list-options .btn .bi-main,html.mode-emphasis .date-popover .btn .bi-main{font-size:13px;line-height:1.3}
html.mode-emphasis .list-options .btn .bi-sub,html.mode-emphasis .date-popover .btn .bi-sub{font-size:11px;line-height:1.3}
/* Use available desktop width for more short control rows, instead of a tall narrow panel and empty space. */
.list-options.columns-open{width:calc(100% - 16px)}
.list-options .column-options{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:4px 18px}
.list-options .column-option{max-width:360px}
@media(max-width:600px){.list-options .column-options{grid-template-columns:1fr}.list-options .column-option{max-width:none}}
