.tlmt-section,
.tlmt-breakdown,
.tlmt-panel {
	--tlmt-gold: #f5a800;
	--tlmt-dark: #2e302e;
	--tlmt-muted: #666;
	--tlmt-border: #ddd;
	--tlmt-bg: #fafafa;
	--tlmt-radius: 4px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--tlmt-dark);
}

.tlmt-section {
	margin-top: 48px;
	padding: 32px 24px;
	background: var(--tlmt-bg);
}

.tlmt-header h2 {
	margin: 0 0 8px;
	font-size: 28px;
	font-weight: 800;
}

.tlmt-header p {
	margin: 0 0 24px;
	color: var(--tlmt-muted);
}

.tlmt-warning,
.tlmt-error,
.tlmt-empty {
	padding: 14px 16px;
	border: 1px solid var(--tlmt-border);
	border-radius: var(--tlmt-radius);
	background: #fff;
	margin-bottom: 18px;
}

.tlmt-warning {
	border-color: #d4b04a;
	background: #fffbea;
}

.tlmt-error {
	border-color: #c0392b;
	background: #fff3f3;
}

.tlmt-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}

.tlmt-stat {
	background: #fff;
	border: 1px solid rgba(46, 48, 46, 0.12);
	border-radius: var(--tlmt-radius);
	padding: 20px;
	text-align: center;
}

.tlmt-stat span {
	display: block;
	color: #777;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
}

.tlmt-stat strong {
	display: block;
	font-size: 32px;
	line-height: 1.1;
	color: var(--tlmt-gold);
}

.tlmt-stat strong.is-positive {
	color: #287d3c;
}

.tlmt-stat strong.is-negative {
	color: #b42318;
}

.tlmt-chart-wrap {
	background: #fff;
	border: 1px solid rgba(46, 48, 46, 0.12);
	border-radius: var(--tlmt-radius);
	padding: 24px;
}

.tlmt-breakdown {
	margin-top: 28px;
}

.tlmt-breakdown h3 {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
}

.tlmt-breakdown table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}

.tlmt-breakdown th,
.tlmt-breakdown td {
	padding: 12px 14px;
	border-bottom: 1px solid #eee;
	font-size: 14px;
}

.tlmt-breakdown th {
	background: #f7f7f7;
	color: #555;
	font-size: 12px;
	text-transform: uppercase;
	text-align: left;
}

.tlmt-breakdown th:nth-child(2),
.tlmt-breakdown th:nth-child(3),
.tlmt-breakdown td:nth-child(2),
.tlmt-breakdown td:nth-child(3) {
	text-align: right;
}

.tlmt-group-row td,
.tlmt-subtotal-row td {
	background: #f7f7f7;
	font-weight: 700;
}

.tlmt-total-row td {
	background: #ececec;
	border-top: 2px solid var(--tlmt-dark);
	font-weight: 800;
}

@media (max-width: 560px) {
	.tlmt-section {
		padding: 24px 16px;
	}

	.tlmt-chart-wrap {
		padding: 14px;
	}
}
