/**
 * CN Fleet Routing — MapLibre dispatch view (run detail).
 * Local styles only; no @import, no external font/tile references.
 */

.cnfr-dispatch-map {
	position: relative;
	width: 100%;
	height: 460px;
	max-height: 70vh;
	margin: 1em 0;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #e9ecef;
}

.cnfr-dispatch-map:focus {
	outline: 3px solid #2271b1;
	outline-offset: 2px;
}

.cnfr-map-approx {
	font-style: italic;
	color: #50575e;
	margin: 0.25em 0 0.75em;
}

/* Deterministic, high-contrast markers (text is supplied by the loader). */
.cnfr-marker {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	color: #ffffff;
	font: 600 13px/1 system-ui, sans-serif;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.5 );
}

.cnfr-marker--service {
	/* background-color set inline from the fixed server palette. */
}

.cnfr-marker--depot {
	background: #1d2327;
	border-radius: 4px;
}

.cnfr-marker--unassigned {
	background: #b3131b;
}

.cnfr-popup div {
	margin: 0;
	line-height: 1.4;
}

/* Accessible text legend (non-map equivalent). */
.cnfr-map-legend {
	margin: 0.75em 0 1.5em;
	padding: 0.75em 1em;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
	max-width: 40rem;
}

.cnfr-map-legend h4 {
	margin: 0 0 0.5em;
}

.cnfr-map-legend ul {
	margin: 0;
	padding-left: 1.25em;
	list-style: none;
}

.cnfr-map-legend li {
	margin: 0.15em 0;
}

.cnfr-swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	border: 1px solid #50575e;
	border-radius: 3px;
	vertical-align: middle;
}

@media (prefers-reduced-motion: reduce) {
	.cnfr-dispatch-map * {
		scroll-behavior: auto !important;
	}
}
