/* نوار صوتی بالای فرم */
.gfvf-bar {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid #d7dce5;
	border-radius: 10px;
	background: #f7f9fc;
	font-size: 14px;
	line-height: 1.8;
}
.gfvf-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.gfvf-btn,
.gfvf-apply {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 8px 18px;
	background: #1d4ed8;
	color: #fff;
	font: inherit;
	cursor: pointer;
	transition: background .15s ease;
}
.gfvf-btn:hover,
.gfvf-apply:hover { background: #1e40af; }
.gfvf-btn:disabled { background: #9aa4b5; cursor: not-allowed; }
.gfvf-bar[data-state="rec"] .gfvf-btn { background: #dc2626; animation: gfvf-pulse 1.4s ease-in-out infinite; }
.gfvf-bar[data-state="loading"] .gfvf-btn { background: #6b7280; }

.gfvf-status { color: #374151; }
.gfvf-hint { margin-top: 8px; color: #6b7280; font-size: 12.5px; }

.gfvf-panel { margin-top: 12px; }
.gfvf-panel[hidden] { display: none; }
.gfvf-text {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 8px;
	padding: 8px 10px;
	border: 1px solid #c3cad6;
	border-radius: 6px;
	font: inherit;
	background: #fff;
}
.gfvf-report { margin-top: 10px; padding: 10px 12px; border-radius: 6px; background: #fff; border: 1px dashed #c3cad6; }
.gfvf-report ul { margin: 4px 0 8px; padding-inline-start: 20px; }
.gfvf-report p { margin: 4px 0; }
.gfvf-warn { color: #b45309; }
.gfvf-muted { color: #6b7280; }

/* میکروفون کنار هر فیلد */
.gfvf-has-mic { position: relative; }
.gfvf-mini {
	appearance: none;
	border: 1px solid #c3cad6;
	background: #fff;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	padding: 0;
	line-height: 1;
	font-size: 14px;
	cursor: pointer;
}
.gfvf-has-mic--abs .gfvf-mini {
	position: absolute;
	inset-inline-end: 6px;
	top: 6px;
	z-index: 2;
}
.gfvf-has-mic--abs input,
.gfvf-has-mic--abs textarea { padding-inline-end: 40px !important; }
.gfvf-has-mic:not(.gfvf-has-mic--abs) .gfvf-mini { margin-top: 6px; }
.gfvf-mini:hover { border-color: #1d4ed8; }
.gfvf-mini.is-rec { background: #dc2626; border-color: #dc2626; animation: gfvf-pulse 1.4s ease-in-out infinite; }

/* هایلایت فیلدهای پر‌شده */
.gfvf-filled input,
.gfvf-filled textarea,
.gfvf-filled select,
.gfvf-filled .iran-plate {
	outline: 2px solid #16a34a;
	outline-offset: 1px;
	transition: outline-color .4s ease;
}

@keyframes gfvf-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, .45); }
	50% { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.gfvf-bar[data-state="rec"] .gfvf-btn,
	.gfvf-mini.is-rec { animation: none; }
}

/* جزئیات عیب‌یابی */
.gfvf-debug { margin-top: 8px; font-size: 12px; }
.gfvf-debug summary { cursor: pointer; color: #6b7280; }
.gfvf-debug table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.gfvf-debug th, .gfvf-debug td { border: 1px solid #e1e5ec; padding: 3px 6px; text-align: start; vertical-align: top; }
