/*
 * FormFlow OS Smart Fields Stylesheet
 * Table of Contents:
 * 1. Global Field Focus Styles
 * 2. GPS Location Captured Badges
 * 3. Datalist Lookup Spinners
 * 4. Scanner Overlays & Targeting Grids
 */

/* 1. Global Field Focus Styles */
.ffos-smart-field {
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.ffos-smart-field:focus {
	outline: none;
	border-color: #0b57d0;
	box-shadow: 0 0 0 3px rgba(11, 87, 208, 0.25);
}

/* 2. GPS Location Captured Badges */
.ffos-gps-wrapper {
	display: flex;
	gap: 10px;
	align-items: center;
}
.ffos-gps-trigger {
	min-height: 48px;
	padding: 0 16px;
	border-radius: 4px;
	cursor: pointer;
}

/* 3. Datalist Lookup Spinners */
.ffos-lookup-wrapper {
	position: relative;
}
.ffos-lookup-spinner {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border: 2px solid #ccc;
	border-top-color: #0b57d0;
	border-radius: 50%;
	animation: ffos-spin 0.6s linear infinite;
	display: none;
}
@keyframes ffos-spin {
	to { transform: translateY(-50%) rotate(360deg); }
}

/* 4. Scanner Overlays & Targeting Grids */
.ffos-scanner-container {
	position: relative;
	width: 100%;
	max-width: 480px;
	height: 320px;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
}
.ffos-scanner-grid {
	position: absolute;
	top: 10%;
	left: 10%;
	width: 80%;
	height: 80%;
	border: 2px dashed rgba(255, 255, 255, 0.5);
	box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
	pointer-events: none;
}
.ffos-scanner-laser {
	position: absolute;
	top: 50%;
	left: 10%;
	width: 80%;
	height: 2px;
	background: #ff0000;
	box-shadow: 0 0 8px #ff0000;
	animation: ffos-scan-line 2s ease-in-out infinite;
}
@keyframes ffos-scan-line {
	0%, 100% { top: 10%; }
	50% { top: 90%; }
}
