fieldset {
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 14px;
	margin: 15px 0;
}

legend {
	padding: 0 7px;
	font-size: 13px;
	font-weight: 800;
	color: #5e4b47;
}

.niche-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.niche-option {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 9px 12px;
	border-radius: 999px;
	background: #f8ece8;
	color: var(--wine);
	cursor: pointer;
}

.niche-option input {
	width: auto;
	margin: 0;
}

.contact-summary {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.summary-pill {
	padding: 9px 13px;
	border-radius: 999px;
	background: #f7d4e5;
	color: #74284c;
	font-size: 12px;
	font-weight: 800;
}

.contact-table-wrap {
	overflow: auto;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
}

.contact-table {
	width: 100%;
	border-collapse: collapse;
}

.contact-table th,
.contact-table td {
	text-align: left;
	padding: 14px 16px;
	border-bottom: 1px solid var(--line);
	white-space: nowrap;
}

.contact-table th {
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--wine);
	background: #fff7f4;
}

.contact-table td {
	font-size: 14px;
}

.contact-table tr:last-child td {
	border-bottom: 0;
}

.status-ok {
	color: #18794e;
	font-weight: 800;
}

.status-off {
	color: #b42318;
	font-weight: 800;
}

.pagination-bar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 14px;
}

.pagination-bar span {
	font-size: 13px;
	font-weight: 700;
	color: #5e4b47;
}

.manual-filter-dialog {
	max-width: 1100px;
}

.manual-filter-controls {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 4px 0 14px;
}

.manual-filter-controls span {
	font-size: 13px;
	color: #5e4b47;
	font-weight: 700;
}

.manual-filter-table-wrap {
	max-height: 55vh;
}

.manual-filter-table td:first-child,
.manual-filter-table th:first-child {
	width: 84px;
}

.manual-filter-table input[type="checkbox"] {
	width: 18px;
	height: 18px;
}

.manual-filter-name {
	font-weight: 700;
	color: #463431;
}

.manual-filter-email {
	font-size: 12px;
	color: #7b7270;
}

.history-tag {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 999px;
	background: #fff0c2;
	color: #8d5d00;
	font-size: 12px;
	font-weight: 800;
}

.manual-filter-actions {
	margin-top: 14px;
	display: flex;
	justify-content: flex-end;
}

@media (max-width: 900px) {
	.pagination-bar {
		justify-content: center;
	}

	.manual-filter-controls {
		align-items: stretch;
	}

	.manual-filter-controls button {
		width: 100%;
	}
}
