{# /opportunities filter controls. Two rows: - Row 1: narrow Search input only. - Row 2: Per-column filters in TABLE-COLUMN ORDER — Dataset → Author → Issue → Workload → Suggestions. Matches the header sequence in _table.html so users find each filter where they expect. Audit-specific simplifications vs the cloud filter set: - No Status: audit is read-only; every row is ``active``. - No Smart View: severity buckets aren't well-calibrated in audit and there's no resolved state. Quick Wins / Chronic / Unaddressed don't add signal. - Workload is binary (Build / Consumption) — no Unclassified. - Suggestions is binary (With / Without) — no With-diff / None subdivisions. #}
{# Fixed 320px. The input itself has ``ui-control`` → ``width: 100%`` so the wrapper width is what bounds the rendered input — ``w-full max-w-…`` was letting it stretch to the row container. #}
{# Per-column filters, in the same order they appear in the table: Dataset → Author → Issue → Workload → Suggestions. #}
{# Sort + direction are submitted as hidden fields so the column headers' anchors (which round-trip through ?sort=&direction=) don't get clobbered when the user changes a filter. #}