.olgc-ms-block {
	margin: 1.5em 0 2.5em;
	font-size: 15px;
}

.olgc-ms-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	align-items: flex-end;
	margin-bottom: 0.75em;
	padding: 0.85em 1em;
	background: #f6f5f2;
	border: 1px solid #e2ddd3;
	border-radius: 6px;
}

.olgc-ms-filters label {
	display: flex;
	flex-direction: column;
	font-size: 0.8em;
	font-weight: 600;
	color: #56504a;
	gap: 0.3em;
}

.olgc-ms-filters select,
.olgc-ms-filters input[type="text"] {
	font-size: 0.95em;
	font-weight: 400;
	padding: 0.35em 0.5em;
	border: 1px solid #c9c2b6;
	border-radius: 4px;
	min-width: 150px;
	background: #fff;
}

table.olgc-ms-table.dataTable {
	border-collapse: collapse;
	width: 100%;
}

table.olgc-ms-table.dataTable thead th {
	background: #104E8B;
	color: #fff;
	font-weight: 600;
	padding: 0.6em 0.75em;
	text-align: left;
}

table.olgc-ms-table.dataTable tbody td {
	padding: 0.5em 0.75em;
	border-bottom: 1px solid #ece7dd;
}

table.olgc-ms-table.dataTable tbody tr:nth-child(even) {
	background: #faf9f6;
}

table.olgc-ms-table.dataTable tbody tr:hover {
	background: #f1ece2;
}

.olgc-ms-badge {
	display: inline-block;
	padding: 0.15em 0.6em;
	border-radius: 999px;
	font-size: 0.85em;
	font-weight: 600;
}

.olgc-ms-badge-emhc {
	background: #e7eef0;
	color: #2c5560;
}

.olgc-ms-badge-lector {
	background: #f3e9df;
	color: #7a4a26;
}

.olgc-ms-badge .olgc-ms-area {
	font-weight: 400;
	opacity: 0.85;
}

.olgc-ms-empty {
	font-style: italic;
	color: #6b665f;
}

.olgc-ms-top,
.olgc-ms-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0.5em 0;
	font-size: 0.9em;
	color: #56504a;
}

@media (max-width: 640px) {
	.olgc-ms-filters {
		flex-direction: column;
		align-items: stretch;
	}
	.olgc-ms-filters select,
	.olgc-ms-filters input[type="text"] {
		min-width: 0;
		width: 100%;
	}
	table.olgc-ms-table.dataTable thead {
		display: none;
	}
	table.olgc-ms-table.dataTable,
	table.olgc-ms-table.dataTable tbody,
	table.olgc-ms-table.dataTable tr,
	table.olgc-ms-table.dataTable td {
		display: block;
		width: 100%;
	}
	table.olgc-ms-table.dataTable tr {
		border: 1px solid #e2ddd3;
		border-radius: 6px;
		margin-bottom: 0.75em;
		padding: 0.5em 0.75em;
	}
	table.olgc-ms-table.dataTable td {
		border: none;
		padding: 0.25em 0;
	}
	table.olgc-ms-table.dataTable td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.75em;
		font-weight: 700;
		text-transform: uppercase;
		color: #9a948a;
		letter-spacing: 0.03em;
	}
}
