.str-cleaning-tool {
	display: grid;
	gap: clamp(1.25rem, 2vw, 2rem);
}

.str-cleaning-copy,
.str-cleaning-form,
.str-cleaning-results,
.str-cleaning-explainer,
.str-cleaning-alerts {
	border: 1px solid rgba(24, 35, 35, 0.14);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(24, 35, 35, 0.08);
	padding: clamp(1rem, 3vw, 1.75rem);
}

.str-cleaning-copy .lede {
	max-width: 58rem;
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}

.privacy-note {
	border-left: 4px solid #1f6f61;
	background: #eef7f3;
	color: #153f38;
	font-weight: 650;
	margin-top: 1rem;
	padding: 0.85rem 1rem;
}

.str-cleaning-form-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.str-cleaning-form label {
	display: grid;
	gap: 0.45rem;
	font-weight: 650;
}

.str-cleaning-form input,
.str-cleaning-form textarea {
	width: 100%;
	border: 1px solid rgba(24, 35, 35, 0.2);
	border-radius: 6px;
	background: #f8faf9;
	color: #182323;
	font: inherit;
	padding: 0.7rem 0.8rem;
}

.str-cleaning-blocked-dates {
	grid-column: 1 / -1;
}

.str-cleaning-helper {
	color: #4f5f5d;
	margin: 1rem 0;
}

.str-cleaning-alerts:empty {
	display: none;
}

.str-cleaning-error,
.str-cleaning-warning {
	border-radius: 6px;
	margin: 0.4rem 0;
	padding: 0.8rem 1rem;
}

.str-cleaning-error {
	background: #fff1ed;
	color: #8b2f19;
}

.str-cleaning-warning {
	background: #fff8df;
	color: #66500f;
}

.str-cleaning-summary {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 1rem;
}

.str-cleaning-summary article {
	border: 1px solid rgba(24, 35, 35, 0.12);
	border-radius: 6px;
	background: #f8faf9;
	padding: 0.9rem;
}

.str-cleaning-summary span {
	color: #53625f;
	display: block;
	font-size: 0.82rem;
	font-weight: 650;
	margin-bottom: 0.25rem;
	text-transform: uppercase;
}

.str-cleaning-summary strong {
	color: #182323;
	display: block;
	font-size: 1.05rem;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.str-cleaning-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1rem 0;
}

.str-cleaning-table-wrap {
	overflow-x: auto;
}

.str-cleaning-table {
	border-collapse: collapse;
	min-width: 1120px;
	width: 100%;
}

.str-cleaning-table th,
.str-cleaning-table td {
	border-bottom: 1px solid rgba(24, 35, 35, 0.12);
	padding: 0.75rem;
	text-align: left;
	vertical-align: top;
}

.str-cleaning-table th {
	background: #182323;
	color: #fff;
	font-size: 0.8rem;
	letter-spacing: 0;
	text-transform: uppercase;
}

.risk-pill {
	border-radius: 999px;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 750;
	padding: 0.2rem 0.55rem;
}

.risk-high {
	background: #ffe5df;
	color: #922b18;
}

.risk-medium {
	background: #fff0bf;
	color: #6b4b00;
}

.risk-normal {
	background: #e7f0ff;
	color: #1d457c;
}

.risk-low {
	background: #e6f4ec;
	color: #1c6045;
}

.str-cleaning-explainer {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.str-cleaning-explainer h3 {
	margin-top: 0;
}

@media (max-width: 760px) {
	.str-cleaning-form-grid,
	.str-cleaning-summary,
	.str-cleaning-explainer {
		grid-template-columns: 1fr;
	}

	.str-cleaning-table {
		min-width: 980px;
	}
}
