/* table-tools v3 — WS15-C C2: v2 with the search field the same 40px as the filters, rows-per-page and pager beside it —
   app-base's global input min-height (--input-h, 36px; input:not(..):not(..) is 0,2,1 and loads later) beat .tt-search's 40px */
/* table-tools v2 — WS15-C C1: v1 with the controls and the empty state on the type scale's UI line height (--lh-ui), not a bare 1.5 */
/* Report controls use the existing app type, spacing and semantic status ink. */
.tt-tools,.tt-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;grid-column:1 / -1;font:400 var(--fs-fine,12px)/var(--lh-ui,1.45) var(--font-sans);letter-spacing:0;color:var(--muted)}
.qt-wrap>.tt-tools,.qt-wrap>.tt-footer{padding:12px;margin:0}.tt-tools{margin:0 0 12px}.tt-footer{margin:12px 0 0}.tt-count{margin-right:auto}.tt-page{white-space:nowrap}.tt-filter,.tt-size{display:inline-flex;align-items:center;gap:8px;font:inherit;white-space:nowrap}.tt-tools button,.tt-footer button,.tt-select,.tt-search{min-height:40px;border:1px solid var(--btn-line);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg);font:inherit;font-size:var(--fs-base);letter-spacing:0;padding:0 12px;box-shadow:none}.tt-search{min-width:0;flex:1 1 160px;max-width:320px}.tt-select{padding-right:32px}.tt-tools button,.tt-footer button{cursor:pointer}.tt-tools button:hover,.tt-footer button:hover{background:var(--row-hover)}.tt-tools :is(input,select,button):focus-visible,.tt-footer :is(select,button):focus-visible{outline:2px solid var(--fg);outline-offset:2px}.tt-footer button:disabled{color:var(--muted);cursor:default;background:var(--card)}.tt-tools .tt-notice,.tt-tools .tt-notice:hover,.tt-notice-chip{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-bd)}.tt-notice{order:-1}.tt-tools .tt-notice[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--danger)}.tt-notice-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--fs-fine);font-weight:400;white-space:nowrap}.tt-empty{grid-column:1 / -1;padding:20px 0;color:var(--muted);font:400 var(--fs-base)/var(--lh-ui,1.45) var(--font-sans)}[data-tt-hidden]{display:none!important}.tt-tools[hidden],.tt-tools [hidden],.tt-empty[hidden]{display:none!important}
.ovr-request{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);margin:0 0 12px}.ovr-request>summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;cursor:pointer;font-size:var(--fs-base);list-style:none}.ovr-request>summary::-webkit-details-marker{display:none}.ovr-request>summary:after{content:'›';margin-left:auto;color:var(--muted)}.ovr-request[open]>summary:after{content:'⌄'}.ovr-request>summary:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.ovr-request .ovr-summary-client{min-width:0;overflow-wrap:anywhere}.ovr-request .ovr-summary-value{white-space:nowrap}.ovr-request .qt-wrap{border:0;border-radius:0}.ovr-select-page{display:flex;align-items:center;gap:8px;padding:0 0 12px;font-size:var(--fs-fine);color:var(--muted)}.ovr-request .ovr-summary-state{font-size:var(--fs-fine);color:var(--muted)}
@media(max-width:700px){.tt-footer{align-items:flex-start}.tt-count{flex-basis:100%}.tt-search{max-width:none}.ovr-request>summary{flex-wrap:wrap;gap:8px}.ovr-summary-client{flex:1 1 120px}.ovr-request>summary:after{margin-left:0}.ovr-summary-value{margin-left:auto}}
@media print{.tt-tools,.tt-footer,.tt-empty{display:none!important}}
.tt-tools .tt-search[type=search]{min-height:40px}
