.scanner-hero {
	padding: 64px 0 34px;
}

.scanner-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 30px;
	align-items: center;
}

.scan-progress {
	padding: 26px;
}

.status-line {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--muted);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.status-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--muted);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--muted) 14%, transparent);
}

.status-dot.healthy {
	background: var(--blue);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--blue) 18%, transparent);
}

.status-dot.working {
	background: var(--gold);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--gold) 18%, transparent);
}

.status-dot.unhealthy {
	background: #ff647c;
	box-shadow: 0 0 0 5px rgba(255, 100, 124, 0.16);
}

.scan-progress > strong {
	display: block;
	margin-top: 20px;
	font-size: clamp(32px, 5vw, 52px);
	letter-spacing: -0.05em;
}

.scan-progress > span,
.scan-progress > small {
	color: var(--muted);
}

.progress-track {
	height: 8px;
	margin: 22px 0 12px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--panel);
}

.progress-track i {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--blue-dark), var(--gold));
	transition: width 500ms ease;
}

.scanner-section {
	padding-top: 34px;
}

.metric-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.metric-card,
.data-card {
	border: 1px solid var(--line);
	border-radius: 18px;
	background: var(--card);
	box-shadow: var(--shadow);
}

.metric-card {
	position: relative;
	overflow: hidden;
	padding: 24px;
}

.metric-card::after {
	content: "";
	position: absolute;
	inset: auto -25% -70% 30%;
	height: 130px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(65, 108, 168, 0.22), transparent 68%);
}

.metric-card.pos::after {
	background: radial-gradient(circle, rgba(145, 168, 200, 0.24), transparent 68%);
}

.metric-card.total::after {
	background: radial-gradient(circle, rgba(255, 200, 87, 0.25), transparent 68%);
}

.metric-card > span,
.data-card-head small {
	color: var(--muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.metric-card strong {
	display: block;
	margin: 14px 0 5px;
	font-size: clamp(28px, 4vw, 44px);
	letter-spacing: -0.05em;
}

.metric-card small {
	color: var(--muted);
}

.data-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.data-card {
	padding: 22px;
}

.data-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 17px;
	border-bottom: 1px solid var(--line);
}

.data-card-head .icon {
	flex: 0 0 auto;
}

.data-card-head h3 {
	margin: 3px 0 0;
}

.data-card dl {
	margin: 8px 0 0;
}

.data-card dl div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 13px 0;
	border-bottom: 1px solid color-mix(in srgb, var(--line) 60%, transparent);
}

.data-card dl div:last-child {
	border-bottom: 0;
}

.data-card dt {
	color: var(--muted);
	font-size: 13px;
}

.data-card dd {
	margin: 0;
	text-align: right;
	font-size: 13px;
	font-weight: 900;
}

@media (max-width: 900px) {
	.scanner-hero-grid,
	.data-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.scanner-hero {
		padding-top: 38px;
	}

	.metric-grid {
		grid-template-columns: 1fr;
	}

	.scan-progress,
	.metric-card,
	.data-card {
		border-radius: 14px;
	}
}
