.cfiq-obd-filter {
	display: grid;
	gap: 1rem;
	margin: 1.5rem 0 1rem;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--cfiq-border, #d7dce2);
	border-radius: 1rem;
	background: var(--cfiq-surface, #fff);
}

.cfiq-obd-filter label,
.cfiq-obd-filter label > span { display: block; font-weight: 700; }

.cfiq-obd-filter input,
.cfiq-obd-filter select {
	width: 100%;
	min-height: 44px;
	margin-top: .35rem;
	padding: .65rem .75rem;
	border: 1px solid #75808d;
	border-radius: .5rem;
	background: #fff;
	color: #17212b;
	font: inherit;
}

.cfiq-obd-filter button { min-height: 44px; }

.cfiq-obd-filter input:focus-visible,
.cfiq-obd-filter select:focus-visible,
.cfiq-obd-pagination button:focus-visible,
.cfiq-obd-filter__clear:focus-visible { outline: 3px solid #125f93; outline-offset: 3px; }
.cfiq-obd-filter__search input { font-size: 1.05rem; }
.cfiq-obd-filter__selects { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }
.cfiq-obd-filter__actions,
.cfiq-obd-pagination { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.cfiq-obd-filter__clear,
.cfiq-obd-status { font-weight: 700; }
.cfiq-obd-status { min-height: 1.5rem; }
.cfiq-obd-filter[aria-busy="true"] { opacity: .8; }

.cfiq-obd-severity {
	display: inline-flex;
	align-items: center;
	max-width: 10.5rem;
	padding: .2rem .55rem;
	border-radius: 999px;
	background: #e8edf2;
	color: #26333f;
	font-size: .85rem;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
}

.cfiq-obd-severity--low { background: #def4e8; color: #145b35; }
.cfiq-obd-severity--moderate { background: #fff0c7; color: #674b00; }
.cfiq-obd-severity--high,
.cfiq-obd-severity--critical { background: #fee2e2; color: #8a1c1c; }
.cfiq-obd-severity--withheld,
.cfiq-obd-severity--context-dependent { background: #e8edf2; color: #334155; }
.cfiq-obd-pagination { justify-content: center; margin: 1.5rem 0; }

.cfiq-obd-pagination button {
	min-height: 44px;
	padding: .5rem .9rem;
	border: 1px solid #75808d;
	border-radius: .5rem;
	background: #fff;
	color: #17212b;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.cfiq-obd-pagination button:disabled { opacity: .45; cursor: default; }
.cfiq-obd-empty { margin: 1.25rem 0; padding: 1.25rem; border: 1px dashed #75808d; border-radius: .75rem; }

@media (max-width: 800px) {
	.cfiq-obd-filter__selects { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.cfiq-obd-results { overflow: visible; }
	.cfiq-table--obd,
	.cfiq-table--obd tbody,
	.cfiq-table--obd tr,
	.cfiq-table--obd th,
	.cfiq-table--obd td { display: block; width: 100%; }
	.cfiq-table--obd thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
	.cfiq-table--obd tr { margin-bottom: .85rem; padding: .9rem; border: 1px solid var(--cfiq-border, #d7dce2); border-radius: .75rem; background: #fff; }
	.cfiq-table--obd th,
	.cfiq-table--obd td { display: grid; grid-template-columns: minmax(5.5rem, 35%) 1fr; gap: .65rem; padding: .4rem 0; border: 0; }
	.cfiq-table--obd th::before,
	.cfiq-table--obd td::before { content: attr(data-label); font-weight: 800; color: #465260; }
}
