.slaa-d1-form-wrap {
	max-width: 900px;
	margin: 0 auto;
}

.slaa-d1-notice {
	padding: 12px 16px;
	margin-bottom: 16px;
	border-left: 4px solid #999;
	border-radius: 2px;
}

.slaa-d1-notice-success {
	background: #eaf7ea;
	border-left-color: #2e7d32;
}

.slaa-d1-notice-error {
	background: #fdeaea;
	border-left-color: #c62828;
}

.slaa-d1-fieldset {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 16px 20px;
	margin-bottom: 20px;
}

.slaa-d1-fieldset legend {
	font-weight: 600;
	padding: 0 8px;
}

.slaa-d1-form label {
	font-weight: 600;
	display: inline-block;
	margin-bottom: 4px;
}

.slaa-d1-form input[type="text"],
.slaa-d1-form input[type="email"],
.slaa-d1-form input[type="tel"],
.slaa-d1-form select {
	width: 100%;
	max-width: 420px;
	padding: 6px 8px;
	box-sizing: border-box;
}

.slaa-d1-help {
	display: block;
	font-weight: 400;
	font-size: 0.85em;
	color: #555;
	margin-top: 4px;
}

.slaa-d1-attestation {
	background: #fff8e1;
	border: 1px solid #f0d98c;
	padding: 10px 14px;
	border-radius: 4px;
}

.slaa-d1-attestation label {
	font-weight: 400;
}

.req {
	color: #c62828;
}

.slaa-d1-row {
	display: grid;
	grid-template-columns: 28px 1fr 1fr 1fr 1fr 1fr 1.4fr;
	gap: 10px;
	align-items: end;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}

.slaa-d1-row-number {
	font-weight: 700;
	padding-bottom: 8px;
}

.slaa-d1-field label {
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #444;
}

@media (max-width: 782px) {
	.slaa-d1-row {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"num num"
			"action role"
			"name name"
			"phone email"
			"notes notes";
	}

	.slaa-d1-row-number {
		grid-column: 1 / -1;
	}
}
