.policy-column-filter { display:inline-flex; align-items:center; gap:7px; min-height:28px; border:0; padding:2px 0; background:transparent; color:inherit; font:inherit; font-weight:inherit; cursor:pointer; white-space:nowrap; }
.policy-column-filter svg { flex-shrink:0; }
.policy-column-filter:hover,.policy-column-filter.active { color:var(--primary,#2463da); }
.policy-column-filter.active svg { fill:#d3e2fc; }
.policy-column-filter:focus-visible,.policy-column-filter-panel :focus-visible { outline:2px solid var(--primary,#2463da); outline-offset:3px; }
.policy-column-filter-panel { position:fixed; z-index:90; width:300px; max-width:calc(100vw - 24px); margin:0; padding:16px; border:1px solid #d1def0; border-radius:10px; box-shadow:0 12px 40px #24436926; background:var(--surface,#fff); color:var(--text,#21324a); overflow:auto; font-size:13px; }
.policy-column-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.policy-column-filter-fields { display:grid; gap:16px; }
.policy-column-filter-field { min-width:0; }
.policy-column-filter-field>label:not(.screen-reader) { display:block; margin-bottom:6px; color:var(--muted,#596f8b); }
.policy-column-filter-field input,.policy-column-filter-field select { display:block; width:100%; min-width:0; margin:0 0 8px; font:inherit; }
.policy-column-filter-field input { min-height:40px; padding:8px 10px; }
.policy-column-filter-field select { height:112px; min-height:112px; padding:4px; background:#fff; }
.policy-column-filter-field option { padding:4px 8px; }
.policy-column-filter-count { display:block; min-height:18px; color:var(--muted,#596f8b); font-size:12px; }
.policy-column-filter-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:16px; }
@media(max-width:760px) {
  .policy-column-filter { min-height:44px; }
  .policy-column-filter-panel input,.policy-column-filter-panel .btn { min-height:44px; }
}
