/* Approved column-popup composition; existing Portal controls and tokens. */
#app-shell[data-portal-page="dashboard"] :is(#stock-table,#sticky-stock-table) th.summary-filter-header { position:relative; padding-right:36px; }
#app-shell[data-portal-page="dashboard"] :is(#stock-table,#sticky-stock-table) th.summary-filter-header[class*="sticky-"] { position:sticky; }
#app-shell[data-portal-page="dashboard"] :is(#stock-table,#sticky-stock-table) th.summary-filter-header > .column-header-label { box-sizing:border-box; padding-right:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:normal; }
#app-shell[data-portal-page="dashboard"] :is(#stock-table,#sticky-stock-table) th.summary-filter-short-label { padding-right:8px; }
#app-shell[data-portal-page="dashboard"] :is(#stock-table,#sticky-stock-table) th.summary-filter-short-label > .column-header-label { transform:translateY(-10px); }
#app-shell[data-portal-page="dashboard"] .summary-column-filter-trigger { position:absolute; right:5px; bottom:3px; width:26px; height:26px; min-height:26px; display:flex; align-items:center; justify-content:center; padding:0; border:1px solid transparent; border-radius:var(--portal-radius-control,6px); background:transparent; color:var(--portal-muted); cursor:pointer; }
#app-shell[data-portal-page="dashboard"] .summary-column-filter-trigger svg { width:12.8px; height:12.8px; flex:none; }
#app-shell[data-portal-page="dashboard"] .summary-column-filter-trigger:is(:hover,.has-filter) { color:var(--portal-accent); background:var(--portal-active); border-color:var(--portal-line); }
#app-shell[data-portal-page="dashboard"] .summary-column-filter-trigger:focus-visible { outline:2px solid var(--portal-accent); outline-offset:1px; }
.summary-column-sort-rank { position:absolute; right:27px; bottom:4px; font-size:11px; white-space:nowrap; color:var(--portal-accent); }
body .summary-column-filter { position:fixed; z-index:150; display:flex; flex-direction:column; box-sizing:border-box; width:min(360px,calc(100vw - 16px)); height:min(680px,calc(100dvh - 16px)); max-height:none; padding:0; border:1px solid var(--portal-line); border-radius:var(--portal-radius-surface,8px); color:var(--portal-text); background:var(--portal-surface); box-shadow:0 14px 34px rgb(21 52 85 / 22%); overflow:hidden; }
body .summary-column-filter[hidden] { display:none; }
.summary-column-filter-heading { flex:none; display:flex; gap:8px; align-items:center; padding:12px; border-bottom:1px solid var(--portal-line); background:var(--portal-soft); }
.summary-column-filter [data-column-drag] { flex:1; min-width:0; cursor:grab; touch-action:none; user-select:none; }
.summary-column-filter.is-dragging [data-column-drag] { cursor:grabbing; }
.summary-column-filter-heading strong { display:block; font-size:14px; overflow-wrap:anywhere; }
.summary-column-filter-heading small { display:block; font-size:11px; margin-top:4px; color:var(--portal-muted); }
.summary-column-filter .dialog-close { flex:none; width:30px; height:30px; min-height:30px; padding:0; background:transparent; color:var(--portal-muted); border:0; cursor:pointer; font-size:21px; }
.summary-column-filter .summary-header-info { position:static; min-height:30px; width:30px; min-width:30px; flex:none; }
.summary-column-filter-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:12px; }
.summary-column-filter :is(button,input,select) { touch-action:manipulation; }
.summary-column-filter :is(button,input,select,[data-column-drag]):focus-visible { outline:2px solid var(--portal-accent); outline-offset:2px; }
.summary-column-filter :is(input:not([type=checkbox]),select) { width:100%; background:var(--portal-surface); color:var(--portal-text); border:1px solid var(--portal-line); }
.summary-column-filter .summary-column-sort-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:10px; }
.summary-column-filter .summary-column-sort-actions button { padding:6px; font-size:12px; }
.summary-column-filter [aria-pressed="true"] { background:var(--portal-active); color:var(--portal-accent); }
.summary-column-sort { margin-bottom:12px; }
.summary-column-sort summary { font-size:12px; cursor:pointer; padding:4px 0; }
.summary-column-sort-level { display:flex; gap:4px; align-items:center; margin:6px 0; }
.summary-column-sort-level span { flex:1; font-size:12px; overflow-wrap:anywhere; }
.summary-column-sort-level select { width:45px; padding:5px; flex:none; }
.summary-column-sort-level button { min-width:24px; min-height:30px; }
.summary-column-sort-add { display:flex; gap:6px; margin:8px 0; }
.summary-column-sort-add select { min-width:0; }
.summary-column-tabs { display:flex; border-bottom:1px solid var(--portal-line); gap:4px; margin:12px 0; }
.summary-column-tabs button { flex:1; padding:8px 4px; min-height:36px; font:inherit; font-size:12px; border:0; border-bottom:2px solid transparent; color:var(--portal-text); background:transparent; cursor:pointer; }
.summary-column-tabs [aria-selected="true"] { border-bottom-color:var(--portal-accent); color:var(--portal-accent); background:var(--portal-active); }
.summary-column-values { height:230px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--portal-line); border-radius:var(--portal-radius-control,6px); }
.summary-column-feedback { flex:none; min-height:18px; max-height:48px; overflow:auto; padding:0 12px; font-size:12px; color:var(--portal-warning); }
.summary-column-filter .portal-filter-footer { flex:none; padding:10px 12px; flex-wrap:nowrap; }
.summary-column-filter [data-column-reset] { margin-right:auto; }
@media (max-width:600px), (pointer:coarse) {
 #app-shell[data-portal-page="dashboard"] .summary-column-filter-trigger { width:34px; height:36px; min-height:36px; bottom:0; right:3px; }
 #app-shell[data-portal-page="dashboard"] :is(#stock-table,#sticky-stock-table) th.summary-filter-header { padding-right:42px; }
 .summary-column-sort-rank { right:35px; }
 .summary-column-filter :is(.portal-filter-choice,.button,[role="tab"]) { min-height:40px; }
}
