.card-header-tabela {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

/* Título da tabela: cresce, encolhe e quebra o texto */
.card-header-tabela .card-header-tabela-titulo {
	flex: 1 1 auto;
	min-width: 0;
	margin-bottom: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Grupo de ações (filtros, pesquisa, botões) */
.card-header-tabela .card-header-tabela-acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

/* Cada ação nunca ultrapassa a largura do pai */
.card-header-tabela .card-header-tabela-acoes > * {
	min-width: 0;
	max-width: 100%;
	margin: 0;
}

/* Selects/choices e caixa de pesquisa: preenchem o espaço e encolhem */
.card-header-tabela .card-header-tabela-acoes .choices,
.card-header-tabela .card-header-tabela-acoes .search-box {
	flex: 1 1 11rem;
	min-width: 0;
}

.card-header-tabela .card-header-tabela-acoes .choices .form-control,
.card-header-tabela .card-header-tabela-acoes .search-box .form-control {
	width: 100%;
	min-width: 0;
}

/* Botões: quebram o texto em vez de forçar overflow */
.card-header-tabela .card-header-tabela-acoes .btn {
	white-space: normal;
	max-width: 100%;
}

/* Em ecrãs pequenos, o grupo de ações e cada ação ocupam a largura toda */
@media (max-width: 767.98px) {
	.card-header-tabela .card-header-tabela-acoes {
		width: 100%;
	}

	.card-header-tabela .card-header-tabela-acoes > * {
		flex: 1 1 100%;
	}
}