@media print {
	/* Hide navigation, header, footer, options panel, and print controls */
	.soft_header,
	.soft_topNav,
	.soft_topNav + p,
	.footer-wrapper,
	.no-print,
	.print-button {
		display: none !important;
		height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		line-height: 0 !important;
		font-size: 0 !important;
	}

	/* Hide the options column in 2-column report layout */
	td.report-options-col {
		display: none !important;
		width: 0 !important;
		max-width: 0 !important;
		padding: 0 !important;
	}

	/* Make the results column full width */
	td.report-results-col {
		width: 100% !important;
	}

	/* Remove background colors for ink saving, keep borders */
	body {
		background: white !important;
		color: black !important;
		font-size: 11pt;
		margin: 0 !important;
		padding: 0 !important;
	}

	.tableBasic,
	.tableSub,
	.tableBasicDarkTan,
	.tableMain,
	.rndTop,
	.reportTitle,
	.reportSubTitle,
	.reportSummaryLine,
	.reportDetailLine {
		background-color: white !important;
		background-image: none !important;
		color: black !important;
	}

	.tableSub,
	.tableBasicDarkTan,
	.reportTitle,
	.reportSummaryLine {
		font-weight: bold;
	}

	/* Keep table borders visible */
	table.frame {
		border: 1px solid #ccc !important;
	}

	table.frame td {
		border-bottom: 1px solid #eee;
	}

	/* Prevent location cards from splitting across pages */
	.location-card {
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* Force page break before marked elements */
	.page-break-before {
		page-break-before: always;
		break-before: page;
	}

	/* Ensure links don't show URLs */
	a {
		color: black !important;
		text-decoration: none !important;
	}

	/* Ensure charts render properly */
	canvas {
		max-width: 100% !important;
	}
}

@media screen {
	.print-only {
		display: none !important;
	}
}
