.ftbwpsp-settings-page-generator {
	max-width: 100%;
	margin: 0 auto;
}

.ftbwpsp-settings-page-generator__lead {
	margin-bottom: 16px;
	color: #44546a;
}

.ftbwpsp-settings-page-generator__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

.ftbwpsp-settings-page-generator__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 12px;
}

.ftbwpsp-settings-page-generator__preset-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: end;
	margin-top: 12px;
}

.ftbwpsp-settings-page-generator__check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ftbwpsp-settings-page-generator__card-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.ftbwpsp-settings-page-generator__field {
	border: 1px solid #d8e4f5;
	border-radius: 12px;
	background: #f8fbff;
	padding: 14px;
	margin-bottom: 12px;
}

.ftbwpsp-settings-page-generator__field-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	gap: 10px;
}

.ftbwpsp-settings-page-generator__field-head h4 {
	margin: 0;
	font-size: 16px;
}

.ftbwpsp-settings-page-generator__field-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ftbwpsp-settings-page-generator__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0;
}

.ftbwpsp-settings-page-generator__file-btn {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.ftbwpsp-settings-page-generator__file-btn input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.ftbwpsp-settings-page-generator__download {
	text-decoration: none;
}

.ftbwpsp-settings-page-generator__code {
	background: #0f172a;
	color: #e2e8f0;
	padding: 16px;
	border-radius: 12px;
	border: 1px solid #1f2937;
	max-height: 520px;
	overflow: auto;
	white-space: pre;
}

.ftbwpsp-settings-page-generator__insights {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.ftbwpsp-settings-page-generator__insights > div {
	background: #f8fbff;
	border: 1px solid #d8e4f5;
	border-radius: 10px;
	padding: 10px;
}

.ftbwpsp-settings-page-generator__insights strong {
	display: block;
	font-size: 12px;
	color: #5d738f;
	margin-bottom: 4px;
}

.ftbwpsp-settings-page-generator__message {
	margin: 8px 0 0;
	font-weight: 600;
}

.ftbwpsp-settings-page-generator__message.is-error {
	color: #b91c1c;
}

@media (max-width: 760px) {
	.ftbwpsp-settings-page-generator__preset-row {
		grid-template-columns: 1fr;
	}

	.ftbwpsp-settings-page-generator__card-head {
		flex-direction: column;
		align-items: flex-start;
	}
}
