.ten-jobs-radar {
	--tenjr-border: #d8ded8;
	--tenjr-text: #17221b;
	--tenjr-muted: #5d6a62;
	--tenjr-surface: #ffffff;
	--tenjr-soft: #f3f7f4;
	--tenjr-primary: #155e46;
	--tenjr-primary-hover: #0d4735;
	--tenjr-whatsapp: #1d8f55;
	--tenjr-whatsapp-hover: #147341;
	color: var(--tenjr-text);
	display: grid;
	gap: 1rem;
	margin: 2rem 0;
}

.ten-jobs-radar *,
.ten-jobs-radar *::before,
.ten-jobs-radar *::after {
	box-sizing: border-box;
}

.ten-jobs-radar__header {
	background: var(--tenjr-soft);
	border: 1px solid var(--tenjr-border);
	border-radius: 8px;
	padding: 1rem;
}

.ten-jobs-radar__eyebrow {
	color: var(--tenjr-primary);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.35rem;
	text-transform: uppercase;
}

.ten-jobs-radar__disclaimer {
	color: var(--tenjr-muted);
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0;
	max-width: 72ch;
}

.ten-jobs-radar__filters {
	align-items: end;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
}

.ten-jobs-radar__field {
	display: grid;
	gap: 0.35rem;
}

.ten-jobs-radar__field span {
	color: var(--tenjr-muted);
	font-size: 0.85rem;
	font-weight: 700;
}

.ten-jobs-radar__field select {
	appearance: none;
	background: var(--tenjr-surface);
	border: 1px solid var(--tenjr-border);
	border-radius: 8px;
	color: var(--tenjr-text);
	font: inherit;
	min-height: 44px;
	padding: 0.55rem 2rem 0.55rem 0.75rem;
	width: 100%;
}

.ten-jobs-radar__filter-button,
.ten-jobs-radar__button {
	align-items: center;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 44px;
	padding: 0.7rem 1rem;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ten-jobs-radar__filter-button,
.ten-jobs-radar__button--primary {
	background: var(--tenjr-primary);
	color: #ffffff;
}

.ten-jobs-radar__filter-button:hover,
.ten-jobs-radar__filter-button:focus-visible,
.ten-jobs-radar__button--primary:hover,
.ten-jobs-radar__button--primary:focus-visible {
	background: var(--tenjr-primary-hover);
	color: #ffffff;
}

.ten-jobs-radar__notice,
.ten-jobs-radar__empty {
	background: #fff7ed;
	border: 1px solid #f2c38b;
	border-radius: 8px;
	color: #6f4214;
	padding: 0.9rem 1rem;
}

.ten-jobs-radar__empty {
	background: var(--tenjr-soft);
	border-color: var(--tenjr-border);
	color: var(--tenjr-muted);
}

.ten-jobs-radar__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ten-jobs-radar__card {
	background: var(--tenjr-surface);
	border: 1px solid var(--tenjr-border);
	border-radius: 8px;
	display: grid;
	gap: 1rem;
	grid-template-rows: 1fr auto;
	min-width: 0;
	padding: 1rem;
}

.ten-jobs-radar__source {
	color: var(--tenjr-muted);
	font-size: 0.8rem;
	font-weight: 700;
	margin: 0 0 0.45rem;
	text-transform: uppercase;
}

.ten-jobs-radar__title {
	font-size: 1.05rem;
	line-height: 1.35;
	margin: 0 0 0.8rem;
	overflow-wrap: anywhere;
}

.ten-jobs-radar__meta {
	display: grid;
	gap: 0.6rem;
	margin: 0;
}

.ten-jobs-radar__meta div {
	display: grid;
	gap: 0.12rem;
}

.ten-jobs-radar__meta dt {
	color: var(--tenjr-muted);
	font-size: 0.78rem;
	font-weight: 700;
	margin: 0;
	text-transform: uppercase;
}

.ten-jobs-radar__meta dd {
	font-size: 0.95rem;
	margin: 0;
	overflow-wrap: anywhere;
}

.ten-jobs-radar__actions {
	display: grid;
	gap: 0.55rem;
}

.ten-jobs-radar__button--whatsapp {
	background: var(--tenjr-whatsapp);
	color: #ffffff;
}

.ten-jobs-radar__button--whatsapp:hover,
.ten-jobs-radar__button--whatsapp:focus-visible {
	background: var(--tenjr-whatsapp-hover);
	color: #ffffff;
}

.ten-jobs-radar__newsletter {
	background: #f7f6f2;
	border: 1px solid #ded8ca;
	border-radius: 8px;
	padding: 1rem;
}

.ten-jobs-radar__newsletter h3 {
	font-size: 1rem;
	line-height: 1.3;
	margin: 0 0 0.35rem;
}

.ten-jobs-radar__newsletter p {
	color: var(--tenjr-muted);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0;
}

@media (max-width: 900px) {
	.ten-jobs-radar__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.ten-jobs-radar__filters,
	.ten-jobs-radar__grid {
		grid-template-columns: 1fr;
	}
}
