.ftf-finder {
	--ftf-green: #2F5D3A;
	--ftf-frost: #7FA7C4;
	--ftf-frost-bg: #EAF2F8;
	--ftf-text: #1F2A24;
	--ftf-muted: #5B6660;
	--ftf-border: #E3DED3;
	--ftf-card: #FFFFFF;
	box-sizing: border-box;
	max-width: 720px;
	margin: 0 auto 2rem;
	padding: 24px;
	background: var(--ftf-card);
	border: 1px solid var(--ftf-border);
	border-radius: 12px;
	color: var(--ftf-text);
	font-size: 16px;
	line-height: 1.5;
}
.ftf-finder *, .ftf-finder *::before, .ftf-finder *::after { box-sizing: inherit; }
.ftf-finder p { margin: 0; padding: 0; }
.ftf-finder__title {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 16px !important;
}
.ftf-finder__label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
}
.ftf-finder__row { display: flex; gap: 8px; flex-wrap: wrap; }
.ftf-finder__input {
	flex: 1 1 160px;
	min-width: 0;
	height: 48px;
	padding: 0 14px;
	font-size: 18px;
	color: var(--ftf-text);
	background: #FFFFFF;
	border: 1px solid var(--ftf-border);
	border-radius: 8px;
	letter-spacing: 0.04em;
}
.ftf-finder__input:focus {
	outline: none;
	border-color: var(--ftf-green);
	box-shadow: 0 0 0 3px rgba(47, 93, 58, 0.18);
}
.ftf-finder__button {
	flex: 0 0 auto;
	height: 48px;
	padding: 0 20px;
	font-size: 16px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--ftf-green);
	border: 0;
	border-radius: 8px;
	cursor: pointer;
}
.ftf-finder__button:hover { background: #264D30; }
.ftf-finder.is-loading .ftf-finder__button { opacity: 0.7; cursor: progress; }
.ftf-finder__error { margin-top: 8px !important; font-size: 14px; color: #A32D2D; }
.ftf-finder__result {
	margin-top: 20px;
	padding: 16px;
	background: var(--ftf-frost-bg);
	border: 1px solid var(--ftf-frost);
	border-radius: 8px;
}
.ftf-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
	gap: 12px;
}
.ftf-stat {
	padding: 12px 14px;
	background: #FFFFFF;
	border-radius: 8px;
}
.ftf-stat__label { font-size: 13px; color: var(--ftf-muted); }
.ftf-stat__value { font-size: 24px; font-weight: 600; color: var(--ftf-green); line-height: 1.25; }
.ftf-stat__sub { font-size: 13px; color: var(--ftf-muted); }
.ftf-explain, .ftf-msg { margin-top: 14px !important; font-size: 15px; }
.ftf-meta { margin-top: 8px !important; font-size: 13px; color: var(--ftf-muted); }
.ftf-finder__note { margin-top: 16px !important; font-size: 12px; color: var(--ftf-muted); line-height: 1.5; }
.ftf-finder [hidden] { display: none !important; }
@media (max-width: 480px) {
	.ftf-finder { padding: 18px; }
	.ftf-finder__button { flex: 1 1 100%; }
	.ftf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.ftf-stat { padding: 10px 12px; }
	.ftf-stat__value { font-size: 21px; }
}
