.ffnf-admin-page {
	margin-top: 24px;
}

.ffnf-summary-bar {
	display: flex;
	align-items: center;
	gap: 24px;
	background: linear-gradient(90deg, #f6fbf7 0%, #e3f0ff 100%);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	padding: 24px 32px;
	margin-bottom: 28px;
}

.ffnf-summary-stat {
	flex: 1;
	text-align: center;
}

.ffnf-summary-label {
	display: block;
	font-size: 1.05em;
	color: #50575e;
	margin-bottom: 6px;
}

.ffnf-summary-value {
	font-size: 2.2em;
	font-weight: 700;
	color: #1f5c3f;
	letter-spacing: 1px;
}

.ffnf-status-bar {
	margin: 0 0 24px 0;
	padding: 14px 24px;
	background: #e3f0ff;
	border-left: 5px solid #2271b1;
	border-radius: 6px;
	color: #1d2327;
	font-size: 1.05em;
	font-weight: 500;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.ffnf-rescan-form {
	margin-bottom: 18px;
}

.ffnf-table-controls {
	display: flex;
	gap: 12px;
	margin-bottom: 16px;
	align-items: center;
}

.ffnf-search-input {
	flex: 1;
	max-width: 400px;
	min-width: 200px;
}

.ffnf-type-filter {
	min-width: 150px;
}

.ffnf-table td,
.ffnf-table th {
	vertical-align: top;
}

.ffnf-table a:focus,
.ffnf-table a:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}

.ffnf-empty-state {
	text-align: center;
	color: #646970;
	font-style: italic;
}

/* Scanning state styles */
.ffnf-status-bar.ffnf-scanning {
	background: #f0f0f1;
	border-left-color: #f0b620;
	animation: ffnf-pulse 1.5s ease-in-out infinite;
}

.ffnf-status-bar.ffnf-error {
	background: #fcf0f1;
	border-left-color: #d63638;
}

@keyframes ffnf-pulse {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
}

.ffnf-rescan-form button.updating-message {
	position: relative;
	pointer-events: none;
}

.ffnf-rescan-form button.updating-message::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 12px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border: 2px solid #f0f0f1;
	border-top-color: transparent;
	border-radius: 50%;
	animation: ffnf-spin 0.8s linear infinite;
}

@keyframes ffnf-spin {
	to {
		transform: rotate(360deg);
	}
}

@media screen and (max-width: 782px) {
	.ffnf-summary-bar {
		flex-direction: column;
		padding: 18px 16px;
	}

	.ffnf-summary-stat {
		width: 100%;
	}

	.ffnf-table-controls {
		flex-direction: column;
	}

	.ffnf-search-input,
	.ffnf-type-filter {
		max-width: 100%;
		width: 100%;
	}
}
