@page {
	margin: 12mm;
	size: A4 portrait;
}

* {
	box-sizing: border-box;
}

body {
	background: #e9edf2;
	color: #20242a;
	font-family: Arial, Helvetica, sans-serif;
	margin: 0;
}

.report-print-toolbar {
	align-items: center;
	background: #15171a;
	display: flex;
	gap: 0.65rem;
	justify-content: flex-end;
	padding: 0.75rem 1.5rem;
	position: sticky;
	top: 0;
	z-index: 10;
}

.report-print-shell {
	padding: 1.75rem 1rem;
}

.report-print-sheet {
	background: #fff;
	border-top: 6px solid #ff8a00;
	box-shadow: 0 18px 50px rgba(21, 27, 35, 0.16);
	margin: 0 auto;
	max-width: 980px;
	padding: 2rem;
}

.report-print-header {
	align-items: flex-end;
	border-bottom: 2px solid #252a30;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
}

.report-print-brand {
	color: #e87500;
	display: block;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0;
	margin-bottom: 0.3rem;
}

.report-print-header h1 {
	color: #171a1f;
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0;
}

.report-print-header p {
	color: #59616c;
	font-size: 0.85rem;
	font-weight: 700;
	margin: 0.3rem 0 0;
}

.report-print-period {
	background: #fff4e5;
	border: 1px solid #ffd6a3;
	flex: 0 0 auto;
	min-width: 180px;
	padding: 0.65rem 0.8rem;
	text-align: right;
}

.report-print-period span,
.report-print-summary span {
	color: #707782;
	display: block;
	font-size: 0.66rem;
	font-weight: 800;
	text-transform: uppercase;
}

.report-print-period strong {
	color: #8c4700;
	display: block;
	font-size: 0.9rem;
	margin-top: 0.15rem;
}

.report-print-summary {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 1.25rem;
}

.report-print-summary > div {
	background: #f7f8fa;
	border: 1px solid #dce0e5;
	padding: 0.75rem 0.9rem;
}

.report-print-summary strong {
	color: #20242a;
	display: block;
	font-size: 1.2rem;
	margin-top: 0.15rem;
}

.report-metrics {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 1.25rem;
}

.report-metric {
	background: #f7f8fa;
	border: 1px solid #dce0e5;
	padding: 0.75rem 0.9rem;
}

.report-metric-icon {
	display: none;
}

.report-metric span:not(.report-metric-icon) {
	color: #707782;
	display: block;
	font-size: 0.66rem;
	font-weight: 800;
	text-transform: uppercase;
}

.report-metric strong {
	color: #20242a;
	display: block;
	font-size: 1.2rem;
	margin-top: 0.15rem;
}

.pilot-report-profile {
	border-bottom: 1px solid #d4d8dd;
	display: grid;
	gap: 1rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
}

.pilot-report-profile.has-photo {
	grid-template-columns: 125px minmax(0, 1fr);
}

.pilot-report-photo {
	aspect-ratio: 4 / 5;
	border: 1px solid #c8cdd4;
	overflow: hidden;
}

.pilot-report-photo img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.pilot-report-heading {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 0.75rem;
}

.pilot-report-heading > div:first-child > span {
	color: #707782;
	display: block;
	font-size: 0.62rem;
	font-weight: 800;
	text-transform: uppercase;
}

.pilot-report-heading h2 {
	color: #171a1f;
	font-size: 1.15rem;
	font-weight: 800;
	margin: 0.15rem 0 0;
}

.pilot-report-tag {
	background: #eaf3ff;
	border: 1px solid #b9d3ef;
	color: #225b8d;
	display: inline-block;
	font-size: 0.62rem;
	font-weight: 800;
	padding: 0.2rem 0.4rem;
	text-transform: uppercase;
}

.pilot-report-details {
	display: grid;
	gap: 0.5rem 0.8rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.pilot-report-details > div {
	border-bottom: 1px solid #e1e4e8;
	padding-bottom: 0.35rem;
}

.pilot-report-details > div.is-wide {
	grid-column: span 2;
}

.pilot-report-details dt {
	color: #707782;
	font-size: 0.58rem;
	font-weight: 800;
	margin-bottom: 0.1rem;
	text-transform: uppercase;
}

.pilot-report-details dd {
	color: #20242a;
	font-size: 0.7rem;
	font-weight: 700;
	margin: 0;
	overflow-wrap: anywhere;
}

.report-table-heading {
	margin-bottom: 0.55rem;
}

.report-table-heading h2 {
	color: #20242a;
	font-size: 0.9rem;
	font-weight: 800;
	margin: 0;
}

.report-table-heading span {
	color: #707782;
	display: block;
	font-size: 0.64rem;
	margin-top: 0.1rem;
}

.report-table-wrap {
	border: 1px solid #b8bec7;
	overflow: hidden;
}

.report-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.report-table th {
	background: #252a30 !important;
	border: 1px solid #252a30;
	color: #fff !important;
	font-size: 0.68rem;
	font-weight: 800;
	padding: 0.65rem 0.7rem;
	text-transform: uppercase;
}

.report-table td {
	border: 1px solid #c8cdd4;
	color: #20242a !important;
	font-size: 0.76rem;
	padding: 0.6rem 0.7rem;
}

.report-table tbody tr:nth-child(even) td {
	background: #f8f9fa;
}

.report-battery-summary-row td {
	background: #eef1f5 !important;
	border-top: 2px solid #8e97a3;
	font-weight: 600;
}

.report-battery-pilot-row td {
	font-size: .7rem;
	padding-bottom: .42rem;
	padding-top: .42rem;
}

.report-table .status-active,
.report-table .status-inactive {
	border-radius: 999px;
	font-size: .6rem;
	font-weight: 700;
	padding: .2rem .45rem;
}

.report-table .status-active {
	background: #dff5e8 !important;
	color: #17633b !important;
}

.report-table .status-inactive {
	background: #fbe7e9 !important;
	color: #8f2633 !important;
}

.report-primary-value,
.report-secondary-value {
	display: block;
}

.report-secondary-value {
	color: #68707b;
	font-size: 0.7rem;
}

.report-count-badge,
.report-type-badge {
	border: 1px solid #c5cad1;
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	padding: 0.2rem 0.45rem;
}

.report-type-badge.is-monthly {
	background: #e8f6ee;
	border-color: #abd8bc;
	color: #176338;
}

.report-type-badge.is-single {
	background: #fff2e2;
	border-color: #f1c28d;
	color: #8f4a00;
}

.report-pilot-link {
	color: #20242a;
	font-weight: 700;
	text-decoration: none;
}

.report-money {
	font-weight: 800;
}

.report-empty {
	color: #68707b !important;
	padding: 2rem !important;
	text-align: center;
}

.report-empty i,
.report-empty svg {
	display: none;
}

.report-empty span {
	display: block;
}

.report-print-footer {
	border-top: 1px solid #d4d8dd;
	color: #777e87;
	display: flex;
	font-size: 0.65rem;
	justify-content: space-between;
	margin-top: 1.25rem;
	padding-top: 0.65rem;
}

@media (max-width: 640px) {
	.report-print-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.report-print-period {
		text-align: left;
	}

	.report-print-sheet {
		padding: 1rem;
	}
}

@media print {
	body {
		background: #fff;
	}

	.no-print {
		display: none !important;
	}

	.report-print-shell {
		padding: 0;
	}

	.report-print-sheet {
		border-top-width: 4px;
		box-shadow: none;
		max-width: none;
		padding: 0;
	}

	.report-table thead {
		display: table-header-group;
	}

	.report-table tr,
	.report-print-summary {
		break-inside: avoid;
	}

	.competition-report-category-page-break {
		break-before: page;
		page-break-before: always;
	}
}
.competition-report-group {
	break-inside: avoid;
	margin-top: 1.15rem;
}

.competition-report-summary {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.competition-report-group-heading {
	align-items: center;
	background: #fff4e5;
	border: 1px solid #ffd6a3;
	border-bottom: 0;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 0.65rem 0.8rem;
}

.competition-report-group-heading span {
	color: #707782;
	display: block;
	font-size: 0.58rem;
	font-weight: 800;
	text-transform: uppercase;
}

.competition-report-group-heading strong {
	color: #8c4700;
	display: inline-block;
	font-size: 0.9rem;
	margin-right: 0.65rem;
	text-transform: uppercase;
}

.competition-report-group-heading small {
	color: #59616c;
	font-size: 0.7rem;
	font-weight: 700;
}

.competition-report-group-heading b {
	background: #fff;
	border: 1px solid #efbd7f;
	color: #8c4700;
	font-size: 0.68rem;
	padding: 0.25rem 0.45rem;
	white-space: nowrap;
}

.competition-report-table th:nth-child(1) { width: 19%; }
.competition-report-table th:nth-child(2) { width: 13%; }
.competition-report-table th:nth-child(3) { width: 6%; }
.competition-report-table th:nth-child(4) { width: 13%; }
.competition-report-table th:nth-child(5) { width: 14%; }
.competition-report-table th:nth-child(6) { width: 9%; }
.competition-report-table th:nth-child(7) { width: 13%; }
.competition-report-table th:nth-child(8) { width: 13%; }

.competition-report-status {
	border: 1px solid #c9ced6;
	border-radius: 4px;
	display: inline-block;
	font-size: 0.55rem;
	font-weight: 900;
	line-height: 1.2;
	max-width: 100%;
	overflow-wrap: anywhere;
	padding: 0.2rem 0.32rem;
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
}

.competition-report-status.is-paid,
.competition-report-status.is-registered {
	background: #e8f7ed;
	border-color: #9fd4ae;
	color: #176b32;
}

.competition-report-status.is-proof {
	background: #fff5d9;
	border-color: #eccd72;
	color: #785900;
}

.competition-report-status.is-pending {
	background: #fdecec;
	border-color: #e6aaaa;
	color: #9b2424;
}

.competition-report-status.is-dns {
	background: #eceff3;
	border-color: #b8c0ca;
	color: #39424e;
}
