.src-report {
	--src-bg: #fff7f5;
	--src-card: #ffffff;
	--src-text: #24120f;
	--src-muted: #735853;
	--src-border: #eed5cf;
	--src-accent: #c2410c;
	--src-danger: #b42318;
	--src-warning: #dc6803;
	--src-positive: #027a48;
	font-family: inherit;
	background: linear-gradient(180deg, #fff9f7 0%, #fff0eb 100%);
	color: var(--src-text);
	border: 1px solid var(--src-border);
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 18px 60px rgba(139, 52, 20, 0.1);
}

.src-report button,
.src-report input,
.src-report select,
.src-report textarea,
.src-report table,
.src-report th,
.src-report td {
	font: inherit;
}

.src-report--dark {
	--src-bg: #1b1211;
	--src-card: #271917;
	--src-text: #f9efeb;
	--src-muted: #d4b9b2;
	--src-border: #4a2c27;
	background: linear-gradient(180deg, #1a1210 0%, #261714 100%);
}

.src-header,
.src-score-grid,
.src-chart-grid,
.src-findings {
	display: grid;
	gap: 18px;
}

.src-header {
	grid-template-columns: 1.8fr 1fr;
	align-items: start;
	margin-bottom: 22px;
}

.src-kicker,
.src-muted {
	color: var(--src-muted);
}

.src-header__timestamp {
	display: block;
	margin: 8px 0 0;
	font-size: 10px;
	line-height: 1.4;
	color: var(--src-muted);
}

.src-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: #dfeee8;
}

.src-badge--tiny {
	padding: 3px 8px;
	font-size: 11px;
}

.src-badge--safe,
.src-badge--positive,
.src-badge--ok {
	background: #d8f3e5;
	color: #0d6b3c;
}

.src-badge--suspicious,
.src-badge--negative,
.src-badge--error,
.src-badge--unavailable {
	background: #fde4e2;
	color: #a12a20;
}

.src-badge--caution,
.src-badge--missing_key {
	background: #fff0d5;
	color: #9a5404;
}

.src-badge--unknown,
.src-badge--no_data,
.src-badge--disabled {
	background: #e8ecea;
	color: #465750;
}

.src-refresh-link {
	color: var(--src-accent);
	font-weight: 700;
	text-decoration: none;
}

.src-section {
	margin-top: 24px;
}

.src-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.src-summary,
.src-score-card,
.src-finding,
.src-accordion__panel,
.src-table,
.src-footer {
	background: var(--src-card);
	border: 1px solid var(--src-border);
	border-radius: 18px;
}

.src-summary,
.src-score-card,
.src-finding,
.src-accordion__panel,
.src-footer {
	padding: 18px;
}

.src-alert {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 14px;
}

.src-alert--warning {
	background: #fff4e5;
	color: #8c4c00;
}

.src-score-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.src-score-card__label {
	display: block;
	font-size: 13px;
	color: var(--src-muted);
}

.src-score-card__value {
	display: block;
	margin-top: 8px;
	font-size: 34px;
}

.src-findings {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.src-chart-grid {
	grid-template-columns: 1fr;
}

.src-chart-card {
	background: var(--src-card);
	border: 1px solid var(--src-border);
	border-radius: 18px;
	padding: 18px;
}

.src-chart-card h4 {
	margin: 0 0 14px;
}

.src-mini-chart {
	display: grid;
	gap: 14px;
}

.src-mini-chart__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
	font-size: 14px;
}

.src-mini-chart__track {
	height: 10px;
	border-radius: 999px;
	background: #f3dfd9;
	overflow: hidden;
}

.src-mini-chart__fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: #c2410c;
}

.src-mini-chart__fill--risk {
	background: #b42318;
}

.src-mini-chart__fill--trust {
	background: #027a48;
}

.src-mini-chart__fill--security {
	background: #c2410c;
}

.src-mini-chart__fill--infrastructure {
	background: #9a3412;
}

.src-mini-chart__fill--transparency {
	background: #ea580c;
}

.src-table {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
}

.src-table th,
.src-table td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--src-border);
	text-align: left;
	vertical-align: top;
}

.src-table tr:last-child th,
.src-table tr:last-child td {
	border-bottom: 0;
}

.src-accordion {
	width: 100%;
	background: var(--src-card);
	border: 1px solid var(--src-border);
	border-radius: 16px;
	padding: 14px 16px;
	text-align: left;
	font-weight: 700;
	cursor: pointer;
	margin-bottom: 10px;
}

.src-accordion__panel {
	display: none;
	margin-bottom: 12px;
}

.src-accordion.is-open + .src-accordion__panel {
	display: block;
}

.src-inline-error {
	padding: 16px;
	border-radius: 12px;
	background: #fde4e2;
	color: #a12a20;
}

@media (max-width: 900px) {
	.src-header,
	.src-score-grid,
	.src-findings {
		grid-template-columns: 1fr;
	}
}
