/* Global font */
:root {
	--bs-font-sans-serif: "Zalando Sans SemiExpanded", system-ui, -apple-system, "Segoe UI", sans-serif;
	--card-bg: var(--bs-body-bg);
	--card-border: var(--bs-border-color);
	--card-text: var(--bs-body-color);

	--success-color: #22c55e;
	--danger-color: #ff4d4f;
	--warning-color: #ff7849;
	--warning-yellow: #f59e0b;
}

body {
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

/* Section headings */
h1,
h2,
h3,
h4,
h5 {
	font-weight: 700;
	letter-spacing: 0.2px;
}

/* Card titles (small uppercase text) */
.card small,
.summary-label {
	font-weight: 600;
	letter-spacing: 0.6px;
	opacity: 0.75;
}

/* Big numbers */
.summary-value,
.card h5 {
	font-weight: 800;
	letter-spacing: 0.3px;
}

[data-bs-theme="dark"] {
	--bs-body-bg: #121212;
}

[data-bs-theme="light"] {
	--bs-body-bg: #f8f9fa;
}

.table td,
.table th {
	font-size: 0.85rem;
}

/* ===================== SUMMARY CARDS ===================== */
.summary-card {
	background-color: var(--card-bg);
	border-radius: 14px;
	padding: 1.25rem;
	border: 1px solid var(--card-border);
	transition: transform 0.2s ease;
}

.summary-card:hover {
	transform: translateY(-2px);
}

.summary-title {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	opacity: 0.75;
}

.summary-value {
	font-size: 1.6rem;
	font-weight: 800;
	margin-top: 0.25rem;
}

/* ===== Color variants ===== */
.summary-success {
	border-color: var(--success-color);
	background: color-mix(in srgb, var(--success-color) 6%, var(--card-bg));
}
.summary-success .summary-value {
	color: var(--success-color);
}

.summary-danger {
	border-color: var(--danger-color);
	background: color-mix(in srgb, var(--danger-color) 6%, var(--card-bg));
}
.summary-danger .summary-value {
	color: var(--danger-color);
}

.alert-warning {
	background-color: color-mix(in srgb, var(--warning-color) 3%, var(--bs-body-bg));
	border-left: 4px solid var(--warning-color);
	color: var(--bs-body-color);
	font-weight: 300;
	border-color: var(--warning-color);
}

.alert-warning strong {
	color: var(--danger-color);
	font-weight: 700;
}

.summary-warning {
	border-color: var(--warning-yellow);
	background: color-mix(in srgb, var(--warning-yellow) 6%, var(--bs-body-bg));
}

.summary-warning .summary-value {
	color: var(--warning-yellow);
}

table td.text-success {
	color: var(--success-color) !important;
}

table td.text-danger {
	color: var(--danger-color) !important;
}

thead th.text-success {
	color: var(--success-color) !important;
	font-weight: 800;
}

thead th.text-danger {
	color: var(--danger-color) !important;
	font-weight: 800;
}

/* ===== TOTAL ROW STYLING ===== */
.table-total-row {
	border-top: 2px solid var(--bs-border-color);
	font-weight: 700;
}

.table-total-row td {
	padding-top: 0.9rem;
	padding-bottom: 0.9rem;
	background-color: color-mix(in srgb, var(--bs-body-bg) 90%, var(--bs-border-color));
}

.btn-outline-secondary {
	color: var(--bs-body-color);
}

.info-icon {
	display: inline-block;
	width: 1em;
	text-align: center;
}

.accordion-button {
	font-weight: 600;
}

.accordion-body {
	color: var(--bs-body-color);
	line-height: 1.6;
}

footer p {
	line-height: 1.4;
}
