/* Artist Name Checker — stili autonomi, prefisso .anc- */

.anc-wrap {
	--anc-critico: #e24b4a;
	--anc-alto: #ef9f27;
	--anc-medio: #7f77dd;
	--anc-basso: #639922;
	--anc-ok: #1d9e75;
	--anc-border: #e2e4e8;
	--anc-bg: #f8f9fb;
	--anc-text: #1a1d21;
	--anc-muted: #5c6370;
	max-width: 42rem;
	margin: 1.5rem 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--anc-text);
}

.anc-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem;
	background: var(--anc-bg);
	border: 1px solid var(--anc-border);
	border-radius: 8px;
}

.anc-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
}

.anc-field input[type="text"] {
	width: 100%;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--anc-border);
	border-radius: 6px;
	font-size: 1rem;
	box-sizing: border-box;
}

.anc-field input[type="range"] {
	width: 100%;
}

.anc-threshold-value {
	font-weight: 400;
	color: var(--anc-muted);
	margin-left: 0.35rem;
}

.anc-field-checkbox label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	cursor: pointer;
}

.anc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.65rem 1.25rem;
	background: #2d6cdf;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s;
}

.anc-btn:hover:not(:disabled) {
	opacity: 0.92;
}

.anc-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.anc-spinner {
	width: 1rem;
	height: 1rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: anc-spin 0.7s linear infinite;
}

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

.anc-results {
	margin-top: 1.25rem;
}

.anc-admin-notice {
	padding: 0.75rem 1rem;
	background: #fff8e6;
	border-left: 4px solid var(--anc-alto);
}

.anc-banner {
	padding: 0.85rem 1rem;
	border-radius: 6px;
	margin-bottom: 1rem;
	font-weight: 600;
}

.anc-banner--critico {
	background: rgba(226, 75, 74, 0.12);
	border: 1px solid var(--anc-critico);
	color: var(--anc-critico);
}

.anc-banner--alto {
	background: rgba(239, 159, 39, 0.12);
	border: 1px solid var(--anc-alto);
	color: #9a5f00;
}

.anc-message--ok {
	padding: 1rem;
	background: rgba(29, 158, 117, 0.1);
	border: 1px solid var(--anc-ok);
	border-radius: 6px;
	color: #0d6b50;
	font-weight: 600;
}

.anc-card {
	border: 1px solid var(--anc-border);
	border-radius: 8px;
	padding: 1rem;
	margin-bottom: 0.75rem;
	background: #fff;
}

.anc-card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.anc-card-title {
	margin: 0;
	font-size: 1.1rem;
	flex: 1 1 auto;
}

.anc-badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
}

.anc-badge--critico { background: var(--anc-critico); }
.anc-badge--alto { background: var(--anc-alto); }
.anc-badge--medio { background: var(--anc-medio); }
.anc-badge--basso { background: var(--anc-basso); }
.anc-badge--ok { background: var(--anc-ok); }

.anc-score-bar-wrap {
	margin: 0.5rem 0;
}

.anc-score-label {
	font-size: 0.85rem;
	color: var(--anc-muted);
	margin-bottom: 0.25rem;
}

.anc-score-bar {
	height: 8px;
	background: var(--anc-border);
	border-radius: 4px;
	overflow: hidden;
}

.anc-score-bar-fill {
	height: 100%;
	border-radius: 4px;
	transition: width 0.3s ease;
}

.anc-subscores {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	font-size: 0.8rem;
	color: var(--anc-muted);
	margin: 0.5rem 0;
}

.anc-meta {
	font-size: 0.85rem;
	color: var(--anc-muted);
	margin-top: 0.5rem;
}

.anc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.anc-tag {
	font-size: 0.7rem;
	padding: 0.15rem 0.45rem;
	background: var(--anc-bg);
	border: 1px solid var(--anc-border);
	border-radius: 4px;
	text-transform: capitalize;
}

.anc-link {
	color: #2d6cdf;
	text-decoration: none;
	font-size: 0.9rem;
}

.anc-link:hover {
	text-decoration: underline;
}

.anc-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.anc-error {
	padding: 0.85rem 1rem;
	background: rgba(226, 75, 74, 0.1);
	border: 1px solid var(--anc-critico);
	border-radius: 6px;
	color: var(--anc-critico);
}
