/* Modo impresión (como triatlón: vista dedicada sin URL con parámetros en la barra) */
.depol-mr-print-toolbar {
	background: #fff;
	border-bottom: 3px solid var(--gold);
	padding: 0.85rem 1.5rem;
	box-shadow: 0 2px 8px rgba(var(--navy-rgb), 0.1);
}

.depol-mr-print-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.depol-mr-app .depol-mr-print-head {
	display: none;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0 0 1rem;
	margin: 0 0 1.25rem;
	border-bottom: 3px solid var(--gold);
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head__meta {
	margin-left: auto;
	text-align: right;
	flex: 0 1 auto;
}

body.depol-mr-app .depol-mr-print-head .logo,
body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head .logo {
	display: block;
	flex-shrink: 0;
	text-indent: -9999px;
	overflow: hidden;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head .depol-mr-app__brand-lockup {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head__title {
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	text-transform: none;
	color: var(--navy);
	line-height: 1.35;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head__date {
	font-size: 0.88rem;
	color: var(--textsub);
	margin-top: 4px;
	line-height: 1.35;
}

body.depol-mr-panel-print .depol-mr-app__admin-note,
body.depol-mr-panel-print .depol-mr-sim-banner,
body.depol-mr-panel-print .depol-mr-app__bar-sub {
	display: none;
}

/* Informe PDF: compacto con separación vertical legible */
body.depol-mr-panel-print .depol-mr-app {
	--depol-mr-content-x: 0;
	--depol-mr-print-block-gap: 1rem;
	--depol-mr-print-section-gap: 1.15rem;
	min-width: 0;
}

body.depol-mr-panel-print .depol-mr-app .res-wrap-view {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	padding-left: var(--depol-mr-content-x);
	padding-right: var(--depol-mr-content-x);
	max-width: var(--depol-mr-content-max);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

body.depol-mr-panel-print .depol-mr-print-toolbar__actions {
	width: 100%;
	max-width: var(--depol-mr-content-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--depol-mr-content-x);
	padding-right: var(--depol-mr-content-x);
	box-sizing: border-box;
}

html.depol-mr-panel-print-html,
body.depol-mr-panel-print,
body.depol-mr-panel-print .depol-mr-app {
	background: #fff;
	color: var(--text);
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
	overflow: visible;
}

body.depol-mr-panel-print .depol-mr-app a,
body.depol-mr-panel-print .depol-mr-app a:visited {
	color: inherit;
	text-decoration: none;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-print-img,
body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-print-img--bars {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	display: block;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

body.depol-mr-panel-print .depol-mr-app .rank-table-scroll {
	overflow: visible;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head {
	padding: 0 0 0.55rem;
	margin: 0 0 var(--depol-mr-print-block-gap);
}

body.depol-mr-panel-print .depol-mr-app .res-top {
	padding: 0.85rem 1rem;
	margin-bottom: var(--depol-mr-print-block-gap);
	box-shadow: none;
}

body.depol-mr-panel-print .depol-mr-app .res-top h2 {
	font-size: 1.15rem;
	margin-bottom: 0;
}

body.depol-mr-panel-print .depol-mr-app .res-top .depol-mr-results-consulted {
	margin-top: 0;
}

body.depol-mr-panel-print .depol-mr-app .res-top .depol-mr-results-consulted__time {
	font-size: 0.72rem;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-results-kpi-grid,
body.depol-mr-panel-print .depol-mr-app .depol-mr-results-kpi-grid--nota-pct,
body.depol-mr-panel-print .depol-mr-app .st-grid--kpi,
body.depol-mr-panel-print .depol-mr-app .st-grid--detail-row,
body.depol-mr-panel-print .depol-mr-app .depol-mr-card-grid {
	gap: 0.6rem;
	margin-bottom: var(--depol-mr-print-block-gap);
}

body.depol-mr-panel-print .depol-mr-app .rank-ban,
body.depol-mr-panel-print .depol-mr-app .pct-card {
	padding: 0.75rem 0.95rem;
	margin-bottom: var(--depol-mr-print-block-gap);
	gap: 0.85rem;
	box-shadow: none;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-rank-summary__number {
	font-size: 1.75rem;
	min-width: 0;
}

body.depol-mr-panel-print .depol-mr-app .pct-num {
	font-size: 2rem;
	min-width: 0;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-charts-grid {
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0 0 var(--depol-mr-print-block-gap);
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-card {
	padding: 0.6rem 0.75rem 0.55rem;
	box-shadow: none;
	min-height: 0;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-title {
	margin-bottom: 0.15rem;
	font-size: 0.72rem;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-desc {
	margin: 0 0 0.45rem;
	font-size: 0.68rem;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-canvas-wrap--square {
	max-width: 200px;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-legend--inline {
	margin-top: 0.45rem;
	gap: 0.45rem 0.65rem;
}

body.depol-mr-panel-print .depol-mr-app .st-title {
	margin: var(--depol-mr-print-section-gap) 0 0.65rem;
	padding-top: 0.35rem;
	font-size: 0.78rem;
}

body.depol-mr-panel-print .depol-mr-app .res-stats-section {
	margin-bottom: var(--depol-mr-print-section-gap);
}

body.depol-mr-panel-print .depol-mr-app .area-stats-chart {
	padding: 0.45rem 0 0.25rem;
}

body.depol-mr-panel-print .depol-mr-app .area-stats-block {
	gap: 0.65rem;
}

body.depol-mr-panel-print .depol-mr-app .area-stats-chart__wrap {
	height: auto;
	min-height: 0;
}

body.depol-mr-panel-print .depol-mr-app .area-stats-chart--scroll-x .area-stats-chart__scroll {
	overflow: visible;
}

body.depol-mr-panel-print .depol-mr-app .area-stats-chart--scroll-x {
	overflow: visible;
}

body.depol-mr-panel-print .depol-mr-app .area-stats-chart__wrap.depol-mr-chart-canvas-wrap--bars-v canvas {
	max-width: 100%;
	width: 100%;
}

body.depol-mr-panel-print .depol-mr-app .area-stats-block .depol-mr-table--data {
	border-radius: 0;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-table--area {
	font-size: 0.72rem;
	width: 100%;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-table--area th,
body.depol-mr-panel-print .depol-mr-app .depol-mr-table--area td {
	padding: 0.38rem 0.45rem;
}

body.depol-mr-panel-print .depol-mr-app .rank-wrap {
	margin-top: var(--depol-mr-print-section-gap);
	margin-bottom: 0;
}

body.depol-mr-panel-print .depol-mr-app .rank-head {
	padding: 0.45rem 0.65rem;
}

body.depol-mr-panel-print .depol-mr-app .depol-mr-table--ranking th,
body.depol-mr-panel-print .depol-mr-app .depol-mr-table--ranking td {
	padding: 0.38rem 0.5rem;
	font-size: 0.72rem;
}

@media print {
	@page {
		size: A4 portrait;
		margin: 5mm 4mm;
	}

	body.depol-mr-panel-print .depol-mr-print-toolbar {
		display: none;
	}

	body.depol-mr-panel-print .depol-mr-app a[href]::after,
	body.depol-mr-panel-print .depol-mr-app a[href]::before {
		content: none;
	}

	/* Flujo continuo: bloques grandes pueden partirse entre páginas */
	body.depol-mr-panel-print .depol-mr-app .depol-mr-results-kpi-grid,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-results-kpi-grid--nota-pct,
	body.depol-mr-panel-print .depol-mr-app .st-grid--kpi,
	body.depol-mr-panel-print .depol-mr-app .st-grid--detail-row,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-card-grid,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-charts-grid,
	body.depol-mr-panel-print .depol-mr-app .area-stats-block,
	body.depol-mr-panel-print .depol-mr-app .rank-wrap,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-table--area,
	body.depol-mr-panel-print .depol-mr-app .res-stats-section {
		break-inside: auto;
		page-break-inside: auto;
	}

	/* Piezas pequeñas indivisibles */
	body.depol-mr-panel-print .depol-mr-app .depol-mr-kpi--brand,
	body.depol-mr-panel-print .depol-mr-app .pct-card,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-chart-card,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-results-kpi,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-kpi--stat,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-stat-card,
	body.depol-mr-panel-print .depol-mr-app .rank-ban {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	body.depol-mr-panel-print .depol-mr-app .depol-mr-table--area tr,
	body.depol-mr-panel-print .depol-mr-app .depol-mr-table--ranking tr {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	body.depol-mr-panel-print .depol-mr-app .st-title {
		break-after: avoid;
		page-break-after: avoid;
	}

	body.depol-mr-panel-print .depol-mr-app .area-stats-chart {
		break-before: avoid;
		page-break-before: avoid;
	}

	body.depol-mr-panel-print .depol-mr-app .depol-mr-print-head {
		break-after: avoid;
		page-break-after: avoid;
	}

	body.depol-mr-panel-print .depol-mr-app .exam-wrap.is-answer-review .ob.ob-hit,
	body.depol-mr-panel-print .depol-mr-app .exam-wrap.is-answer-review .ob.ob-miss,
	body.depol-mr-panel-print .depol-mr-app .exam-wrap.is-answer-review .ob.ob-key,
	body.depol-mr-panel-print .depol-mr-app .exam-wrap.is-answer-review .ob.ob-blank-key {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

@media (max-width: 805px) {
	body:not(.depol-mr-panel-print) .depol-mr-app {
		--depol-mr-content-x: 1rem;
	}
	body:not(.depol-mr-panel-print) .depol-mr-app .depol-mr-results-kpi-grid,
	body:not(.depol-mr-panel-print) .depol-mr-app .depol-mr-results-kpi-grid--nota-pct,
	body:not(.depol-mr-panel-print) .depol-mr-app .st-grid--kpi,
	body:not(.depol-mr-panel-print) .depol-mr-app .st-grid--detail-row {
		grid-template-columns: 1fr;
	}
	body:not(.depol-mr-panel-print) .depol-mr-app .q-grid {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	}
	body:not(.depol-mr-panel-print) .depol-mr-app__bar--sub {
		padding-bottom: 0;
	}
	body:not(.depol-mr-panel-print) .depol-mr-app__bar--sub .depol-mr-app__bar-inner {
		padding-bottom: 0.75rem;
	}
	body:not(.depol-mr-panel-print) .depol-mr-app__bar-sub {
		padding-top: 0.32rem;
		padding-bottom: 0.32rem;
		padding-left: 0;
		padding-right: 0;
	}
}

