.atsa {
	--atsa-accent: #d83a3a;
	--atsa-ink: #1f2933;
	--atsa-muted: #6b7280;
	--atsa-line: #e5e7eb;
	--atsa-bg: #ffffff;
	--atsa-soft: #f8f9fb;
	max-width: 860px;
	margin: 0 auto;
	color: var(--atsa-ink);
	font-size: 16px;
	line-height: 1.5;
}
.atsa-form {
	background: var(--atsa-bg);
	border: 1px solid var(--atsa-line);
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 10px 30px rgba(79, 118, 157, 0.08);
}
.atsa-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}
.atsa-grid label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 600;
	font-size: 14px;
}
.atsa-full { grid-column: 1 / -1; }
.atsa input,
.atsa select,
.atsa textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--atsa-line);
	border-radius: 8px;
	font: inherit;
	font-weight: 400;
	background: #fff;
	color: var(--atsa-ink);
	box-sizing: border-box;
}
.atsa input:focus,
.atsa select:focus,
.atsa textarea:focus {
	outline: 2px solid var(--atsa-accent);
	outline-offset: 1px;
}
.atsa-hp { position: absolute !important; left: -9999px !important; height: 0; width: 0; opacity: 0; }
.atsa-btn {
	display: inline-block;
	background: var(--atsa-accent);
	color: #fff !important;
	border: 0;
	border-radius: 8px;
	padding: 12px 22px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
}
.atsa-btn:disabled { opacity: 0.6; cursor: wait; }
.atsa-wa { background: #1f9d55; margin-top: 16px; }
.atsa-error { color: var(--atsa-accent); margin: 12px 0 0; }
.atsa-result {
	margin-top: 24px;
	background: var(--atsa-soft);
	border: 1px solid var(--atsa-line);
	border-radius: 12px;
	padding: 24px;
}
.atsa-result h3 { margin: 0 0 16px; }
.atsa-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
.atsa-stat {
	background: #fff;
	border: 1px solid var(--atsa-line);
	border-radius: 10px;
	padding: 12px;
	display: flex;
	flex-direction: column;
}
.atsa-stat-v { font-weight: 700; font-size: 17px; }
.atsa-stat-l { color: var(--atsa-muted); font-size: 13px; }
.atsa-advice p { margin: 0 0 10px; }
.atsa-ok { color: #1f9d55; font-weight: 600; margin-top: 12px; }
.atsa-note { color: var(--atsa-muted); font-size: 13px; margin-top: 12px; }

@media (max-width: 640px) {
	.atsa-form, .atsa-result { padding: 16px; }
	.atsa-grid { grid-template-columns: 1fr; }
	.atsa-stats { grid-template-columns: 1fr 1fr; }
}
