/* v0.6.4: visual and layout changes are scoped to the route-planning page. */
body.route-planning-active #route-planning-panel {
  --rp-bg: #071321;
  --rp-panel: #0d1c2d;
  --rp-panel-raised: #12243a;
  --rp-panel-soft: #102033;
  --rp-border: #21364f;
  --rp-text: #eef5ff;
  --rp-muted: #9bb0c8;
  --rp-blue: #1769ed;
  --rp-green: #20ae70;
  color: var(--rp-text);
  background: var(--rp-bg);
  border: 1px solid #1c3047;
  border-radius: 13px;
  padding: 14px;
  min-height: calc(100vh - 112px);
  box-sizing: border-box;
}
body.route-planning-active .page-heading,
body.route-planning-active .demo-notice,
body.route-planning-active .data-toolbar { display:none!important; }

body.route-planning-active #route-planning-panel * { box-sizing: border-box; }
body.route-planning-active #route-planning-panel button,
body.route-planning-active #route-planning-panel input,
body.route-planning-active #route-planning-panel select,
body.route-planning-active #route-planning-panel textarea { font: inherit; }

body.route-planning-active .route-planning-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 16px;
  min-height: 76px;
  border: 1px solid var(--rp-border);
  border-radius: 11px;
  background: #0c1a2a;
}
body.route-planning-active .route-heading-title { display:flex;align-items:center;gap:10px;min-width:190px; }
body.route-planning-active .route-heading-icon { width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#102b4e;color:#77aaff; }
body.route-planning-active .route-heading-icon svg { width:23px;height:23px; }
body.route-planning-active .route-heading-title h1 { margin:0;color:var(--rp-text);font-size:18px;line-height:1.2; }
body.route-planning-active .route-heading-title p { margin:4px 0 0;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-heading-actions { display:flex;align-items:end;justify-content:flex-end;gap:6px;flex-wrap:nowrap; }
body.route-planning-active .route-heading-actions > label { display:grid;gap:3px;color:var(--rp-muted);font-size:9px;min-width:0;width:auto;padding:3px 6px; }
body.route-planning-active .route-heading-actions > label:first-child { width:98px; }
body.route-planning-active .route-heading-actions > label:nth-child(2) { width:124px; }
body.route-planning-active .route-heading-actions input,
body.route-planning-active .route-heading-actions select,
body.route-planning-active #route-planning-panel input[type="search"],
body.route-planning-active #route-planning-panel select { min-height:36px;padding:7px 10px;border:1px solid #324b68;border-radius:7px;background:#0a1726;color:var(--rp-text); }
body.route-planning-active .route-heading-actions select { width:100%;min-height:30px;padding:4px 3px!important;font-size:8px!important; }
body.route-planning-active #route-planning-panel button { min-height:34px;padding:7px 11px;border:1px solid #314b68;border-radius:7px;background:#10233a;color:var(--rp-text);cursor:pointer; }
body.route-planning-active .route-heading-actions > button { flex:0 0 auto;min-height:32px;padding:5px 6px;font-size:9px;white-space:nowrap; }
body.route-planning-active #calculate-route { width:116px;padding:5px 4px; }
body.route-planning-active #route-preview-fit { width:90px; }
body.route-planning-active #route-save-button { width:90px; }
body.route-planning-active #route-publish-button { width:90px; }
body.route-planning-active #route-saved-toggle { width:84px; }
body.route-planning-active #route-theme-toggle { width:30px;min-width:30px;padding:0; }
body.route-planning-active #route-planning-panel button:hover:not(:disabled) { border-color:#4f85cb;background:#163150; }
body.route-planning-active #route-planning-panel button:disabled { opacity:.48;cursor:not-allowed; }
body.route-planning-active #route-planning-panel #calculate-route { min-height:38px;background:var(--rp-blue);border-color:var(--rp-blue);font-weight:700; }
body.route-planning-active #route-planning-panel .route-save-action { background:#138955;border-color:#138955; }
body.route-planning-active #route-planning-panel .route-publish-action { background:#142d4d;border-color:#31537c; }
body.route-planning-active .route-mobile-steps { display:none; }

body.route-planning-active .route-workspace {
  display:grid;
  grid-template-columns:minmax(235px, 272px) minmax(440px, 1fr) minmax(250px, 292px);
  gap:10px;
  align-items:stretch;
  margin-top:10px;
  min-height:calc(100vh - 220px);
}
body.route-planning-active #map-subview-nav { display:flex;gap:7px;margin:0 0 8px;padding:0; }
body.route-planning-active #map-subview-nav a[role="tab"] { min-height:34px;padding:6px 12px;font-size:11px; }
body.route-planning-active .route-controls,
body.route-planning-active .route-map-panel,
body.route-planning-active .route-result-panel { min-width:0;min-height:0; }
body.route-planning-active .route-controls { display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:calc(100vh - 220px);padding-right:2px; }
body.route-planning-active .route-control-block,
body.route-planning-active .route-map-panel,
body.route-planning-active .route-result-panel,
body.route-planning-active .saved-route-section { border:1px solid var(--rp-border);border-radius:10px;background:var(--rp-panel); }
body.route-planning-active .route-control-block { padding:12px; }
body.route-planning-active .route-card-heading,
body.route-planning-active .route-stops-heading,
body.route-planning-active .route-result-heading { display:flex;align-items:center;justify-content:space-between;gap:8px; }
body.route-planning-active .route-result-heading { background:#0d1c2d;color:var(--rp-text); }
body.route-planning-active .route-card-heading h2,
body.route-planning-active .route-stops-heading h2,
body.route-planning-active .route-result-heading h2,
body.route-planning-active .route-map-header h2 { margin:0;color:var(--rp-text);font-size:14px; }
body.route-planning-active .route-card-heading p,
body.route-planning-active .route-stops-heading p,
body.route-planning-active .route-result-heading p,
body.route-planning-active .route-map-header p { margin:4px 0 0;color:var(--rp-muted);font-size:11px; }
body.route-planning-active .route-all-operators { display:flex;align-items:center;gap:6px;color:var(--rp-text);font-size:11px;white-space:nowrap; }
body.route-planning-active .route-operator-list { display:grid;gap:5px;margin-top:10px; }
body.route-planning-active .route-operator-option { display:grid;grid-template-columns:16px 12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 7px;border:1px solid transparent;border-radius:7px;background:#0b1928;cursor:pointer; }
body.route-planning-active .route-operator-option:hover { border-color:var(--rp-border); }
body.route-planning-active .route-operator-option input { accent-color:#2677f4; }
body.route-planning-active .route-operator-swatch { width:10px;height:10px;border-radius:50%;background:var(--route-operator-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--route-operator-color) 20%,transparent); }
body.route-planning-active .route-operator-option-copy { display:grid;gap:2px;min-width:0; }
body.route-planning-active .route-operator-option-copy strong { color:var(--rp-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
body.route-planning-active .route-operator-option-copy small,
body.route-planning-active .route-operator-availability { color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-operator-availability { white-space:nowrap; }
body.route-planning-active .route-provider-status { margin:9px 0 0;padding:8px;background:#091725;border-radius:6px;color:var(--rp-muted);font-size:10px;line-height:1.4; }
body.route-planning-active .route-provider-status.located { display:none; }
body.route-planning-active .route-engine-retry { margin-top:6px; }
body.route-planning-active .route-advanced-settings { margin-top:8px;border-top:1px solid var(--rp-border);padding-top:8px;color:var(--rp-muted);font-size:11px; }
body.route-planning-active .route-advanced-settings summary { cursor:pointer;color:#b7c8db; }
body.route-planning-active .route-compact-fields { display:grid;gap:8px;margin-top:8px; }
body.route-planning-active .route-compact-fields label { display:grid;gap:4px;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-origin-summary { line-height:1.4; }

body.route-planning-active .route-company-filters { display:grid;gap:8px;margin-top:10px; }
body.route-planning-active .route-company-filters > label:not(.route-only-selected) { display:grid;gap:4px;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-only-selected { display:flex;align-items:center;gap:7px;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-only-selected input { accent-color:var(--rp-blue); }
body.route-planning-active .route-company-list-heading { display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:8px 0;border-top:1px solid var(--rp-border);color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-company-list-heading h3 { margin:0;color:var(--rp-text);font-size:12px; }
body.route-planning-active .route-company-groups { display:grid;gap:8px; }
body.route-planning-active .route-operator-group { padding:8px;border-radius:8px;background:#0a1725; }
body.route-planning-active .route-operator-group > header { display:grid;grid-template-columns:9px minmax(0,1fr);gap:8px;align-items:start; }
body.route-planning-active .route-operator-group > header .route-origin-choice { grid-column:2;display:grid;gap:3px;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-operator-color { width:9px;height:9px;margin-top:3px;border-radius:50%;background:var(--route-operator-color); }
body.route-planning-active .route-operator-group h3 { margin:0;color:var(--rp-text);font-size:12px; }
body.route-planning-active .route-operator-group > header p { margin:2px 0 0;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-select-all-control { display:flex;align-items:center;gap:5px;margin:8px 0;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-selection-tools { display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:4px; }
body.route-planning-active .route-selection-tools span { flex:1;color:var(--rp-muted);font-size:9px; }
body.route-planning-active .route-selection-tools button { padding:4px 6px!important;min-height:26px!important;font-size:9px; }
body.route-planning-active .route-company { display:flex;align-items:flex-start;gap:7px;padding:7px 4px;border-top:1px solid #1a2c40;color:var(--rp-text);cursor:pointer; }
body.route-planning-active .route-company input { flex:0 0 auto;margin-top:3px;accent-color:#2677f4; }
body.route-planning-active .route-company span { display:grid;gap:2px;min-width:0; }
body.route-planning-active .route-company strong { color:#e6effb;font-size:10px; }
body.route-planning-active .route-company small { color:var(--rp-muted);font-size:9px;line-height:1.35; }
body.route-planning-active .route-warning { padding:7px;border-left:3px solid #e7a63a;background:#2a2111;color:#f5d79a;font-size:10px; }
body.route-planning-active .route-additional-companies { padding:10px;border:1px dashed var(--rp-border);border-radius:8px; }
body.route-planning-active .route-additional-companies h3 { margin:0;font-size:11px; }
body.route-planning-active .route-additional-companies p { color:var(--rp-muted);font-size:10px; }

body.route-planning-active .route-map-panel { display:flex;flex-direction:column;overflow:hidden;padding:10px;background:#0c1a2a; }
body.route-planning-active .route-map-metrics { position:static;inset:auto;z-index:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:auto;margin-bottom:9px;pointer-events:auto; }
body.route-planning-active .route-map-metrics article { display:flex;align-items:center;gap:8px;min-width:0;padding:9px;border:1px solid var(--rp-border);border-radius:8px;background:#102136; }
body.route-planning-active .route-map-metrics .metric-icon { width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#183252;color:#73a8f5;font-size:18px; }
body.route-planning-active .route-map-metrics article strong { display:block;color:var(--rp-text);font-size:15px; }
body.route-planning-active .route-map-metrics article small { display:block;color:var(--rp-muted);font-size:9px; }
body.route-planning-active .route-map-header { display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 8px; }
body.route-planning-active .route-map-header { background:transparent;border-bottom:1px solid var(--rp-border); }
body.route-planning-active .route-map-toolbar { display:flex;gap:5px; }
body.route-planning-active .route-engine-badge { padding:6px 9px;border:1px solid #265744;border-radius:999px;background:#0d2a24;color:#8ed1b4;font-size:9px; }
body.route-planning-active .route-engine-badge i { background:#28b87d;box-shadow:0 0 0 3px #28b87d24; }
body.route-planning-active #route-preview-operators { display:flex;gap:6px;flex-wrap:wrap;padding:0 0 8px; }
body.route-planning-active #route-preview-operators button { display:flex;align-items:center;gap:5px;padding:4px 8px!important;min-height:27px!important;font-size:10px; }
body.route-planning-active #route-preview-operators button[aria-pressed="false"] { opacity:.54; }
body.route-planning-active #route-preview-operators button span { color:var(--route-operator-color); }
body.route-planning-active #route-preview-map { height:clamp(400px, calc(100vh - 460px), 680px);min-height:380px;border:1px solid #314762;border-radius:8px;background:#e6edf4;z-index:0; }
body.route-planning-active #route-preview-map .milebs-route-tiles { filter:none; }
body.route-planning-active #route-preview-map .leaflet-control-zoom a,
body.route-planning-active #route-preview-map .leaflet-control-layers { background:#10243a;color:#eff6ff;border-color:#3a526e; }
body.route-planning-active #route-preview-map .leaflet-control-attribution { background:#0b1929d9;color:#c4d2e2; }
body.route-planning-active #route-preview-map .leaflet-control-attribution a { color:#9ac4ff; }
body.route-planning-active .route-map-bottom { display:flex;justify-content:space-between;align-items:start;gap:10px;padding:8px 2px 0; }
body.route-planning-active .route-preview-status { margin:0;color:var(--rp-muted);font-size:10px;line-height:1.4; }
body.route-planning-active .route-preview-status.is-error { color:#ffc45c; }
body.route-planning-active .route-preview-legend { display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;color:var(--rp-muted);font-size:9px; }
body.route-planning-active .route-preview-legend > span { white-space:nowrap; }
body.route-planning-active .route-legend-stop { color:var(--route-operator-color);font-style:normal; }
body.route-planning-active .route-origin-marker,
body.route-planning-active .route-stop-marker { display:grid;place-items:center;border:3px solid white;border-radius:50%;background:var(--route-operator-color);color:white;font-weight:800;box-shadow:0 3px 10px #0008; }
body.route-planning-active .route-origin-marker { width:38px;height:38px;font-size:17px; }
body.route-planning-active .route-stop-marker { width:30px;height:30px;font-size:12px; }
body.route-planning-active .route-marker-shell { background:transparent;border:0; }

body.route-planning-active .route-result-panel { display:flex;flex-direction:column;max-height:calc(100vh - 220px);overflow:hidden;padding:12px; }
body.route-planning-active .route-result-heading { padding-bottom:9px;border-bottom:1px solid var(--rp-border); }
body.route-planning-active .route-result-panel > .route-results { display:flex;flex-direction:column;align-content:stretch;flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:4px 2px 4px 0;background:transparent;color:var(--rp-text); }
body.route-planning-active .route-result-empty { margin:4px 0;padding:12px;border:1px dashed var(--rp-border);border-radius:8px;background:#0a1725;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-selected-stop { background:#102136;color:var(--rp-text); }
body.route-planning-active .route-results-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:8px 0; }
body.route-planning-active .route-results-summary article { display:grid;gap:2px;padding:7px;border-radius:6px;background:#102136; }
body.route-planning-active .route-results-summary span { color:var(--rp-muted);font-size:9px; }
body.route-planning-active .route-results-summary strong { color:var(--rp-text);font-size:13px; }
body.route-planning-active .route-result-card { margin:7px 0;padding:8px;border:1px solid var(--rp-border);border-radius:8px;background:#0a1725; }
body.route-planning-active .route-result-card > header { display:flex;align-items:center;gap:8px; }
body.route-planning-active .route-result-card h3 { margin:0;color:var(--rp-text);font-size:12px; }
body.route-planning-active .route-result-card header p { margin:2px 0 0;color:var(--rp-muted);font-size:10px; }
body.route-planning-active .route-progress-track { position:relative;display:flex;align-items:center;gap:17px;min-height:42px;margin:6px 0;padding:5px 2px;overflow-x:auto;overscroll-behavior-x:contain; }
body.route-planning-active .route-progress-track::before { content:"";position:absolute;left:15px;right:15px;top:50%;height:2px;background:#40556d;transform:translateY(-50%); }
body.route-planning-active .route-progress-track > * { position:relative;z-index:1;flex:0 0 29px; }
body.route-planning-active .route-progress-origin { width:29px;height:29px;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:var(--route-operator-color,#1769ed);color:#fff;font-size:11px;font-weight:800;box-shadow:0 0 0 2px #0d1c2d; }
body.route-planning-active .route-progress-track button.route-progress-node { width:29px;height:29px;min-height:29px!important;padding:0!important;border-width:2px;border-radius:50%;font-size:10px;font-weight:800;box-shadow:0 0 0 2px #0d1c2d; }
body.route-planning-active .route-progress-track .route-progress-unrecorded,
body.route-planning-active .route-progress-track .route-progress-pending { border-color:#a3afbd;background:#627080;color:white; }
body.route-planning-active .route-progress-track .route-progress-in_progress { border-color:#ffc14f;background:#d88a10;color:#15191e; }
body.route-planning-active .route-progress-track .route-progress-completed { border-color:#49d39a;background:#168356;color:white; }
body.route-planning-active .route-progress-track .route-progress-not_completed { border-color:#ff7a82;background:#c23b48;color:white; }
body.route-planning-active .route-progress-track .route-progress-cancelled { border-color:#aeb4bd;background:#646d77;color:white; }
body.route-planning-active .route-sequence-details > summary { margin:8px 0;color:#b7c9dd;font-size:10px;cursor:pointer; }
body.route-planning-active .route-visit-sequence { position:relative;display:grid;gap:0;margin:6px 0;padding:0;list-style:none; }
body.route-planning-active .route-visit-sequence::before { content:"";position:absolute;left:13px;top:16px;bottom:16px;width:2px;background:#304862; }
body.route-planning-active .route-visit-sequence li { position:relative;display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px;padding:7px 0; }
body.route-planning-active .route-progress-node { z-index:1;width:27px;height:27px;display:grid;place-items:center;border:2px solid #8193a8;border-radius:50%;background:#11243a;color:white;font-size:10px;font-weight:700; }
body.route-planning-active .route-progress-pending { border-color:#8d9eb3;background:#36475b; }
body.route-planning-active .route-progress-in_progress { border-color:#42a3ff;background:#13569a; }
body.route-planning-active .route-progress-completed { border-color:#28b87d;background:#0c744e; }
body.route-planning-active .route-progress-not_completed { border-color:#ef626d;background:#9d2835; }
body.route-planning-active .route-progress-cancelled { border-color:#9299a4;background:#535d6b; }
body.route-planning-active .route-progress-unrecorded { border-color:#9299a4;background:#535d6b; }
body.route-planning-active .route-stop-content { display:grid;gap:3px;min-width:0; }
body.route-planning-active .route-stop-focus { justify-self:start;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;color:var(--rp-text)!important;font-size:11px;font-weight:700;text-align:left; }
body.route-planning-active .route-stop-content > small,
body.route-planning-active .route-stop-content > span { color:var(--rp-muted);font-size:9px;line-height:1.35; }
body.route-planning-active .route-visit-status { color:#c8d7e7!important; }
body.route-planning-active .route-history-link { justify-self:start;padding:2px 0!important;min-height:0!important;border:0!important;background:transparent!important;color:#89baff!important;font-size:9px; }
body.route-planning-active .route-instruction-field { display:grid;gap:3px;margin-top:4px;color:var(--rp-muted);font-size:9px; }
body.route-planning-active .route-instruction-field textarea { width:100%;min-height:48px;padding:6px;border:1px solid #324b68;border-radius:6px;background:#0b1828;color:var(--rp-text);font-size:10px; }
body.route-planning-active .route-result-card .actions { display:flex;gap:5px;flex-wrap:wrap;margin-top:7px; }
body.route-planning-active .route-result-card .actions button { padding:5px 7px!important;min-height:28px!important;font-size:9px; }
body.route-planning-active .route-result-empty,
body.route-planning-active .empty-state { color:var(--rp-muted);font-size:11px;line-height:1.5; }
body.route-planning-active #saved-route-section { margin-top:10px;padding:14px; }

body.route-planning-active.route-planning-light #route-planning-panel { --rp-bg:#f1f5fa;--rp-panel:#fff;--rp-panel-raised:#fff;--rp-panel-soft:#f5f8fc;--rp-border:#d8e1eb;--rp-text:#172538;--rp-muted:#64748b;background:var(--rp-bg);color:var(--rp-text); }
body.route-planning-active.route-planning-light .route-planning-heading,
body.route-planning-active.route-planning-light .route-map-panel { background:#fff; }
body.route-planning-active.route-planning-light .route-operator-option,
body.route-planning-active.route-planning-light .route-operator-group,
body.route-planning-active.route-planning-light .route-result-card { background:#f7f9fc; }
body.route-planning-active.route-planning-light #route-planning-panel button,
body.route-planning-active.route-planning-light #route-planning-panel input[type="search"],
body.route-planning-active.route-planning-light #route-planning-panel select,
body.route-planning-active.route-planning-light .route-instruction-field textarea { background:#fff;color:var(--rp-text); }
body.route-planning-active.route-planning-light .route-company strong,
body.route-planning-active.route-planning-light .route-result-card h3,
body.route-planning-active.route-planning-light .route-stop-focus { color:var(--rp-text)!important; }

@media (max-width: 1320px) {
  body.route-planning-active .route-workspace { grid-template-columns:minmax(220px,245px) minmax(400px,1fr) minmax(230px,260px); }
  body.route-planning-active .route-planning-heading { align-items:flex-start;flex-direction:column; }
  body.route-planning-active .route-heading-actions { justify-content:flex-start;width:100%;flex-wrap:wrap; }
  body.route-planning-active .route-heading-actions > label { min-width:125px; }
}
@media (max-width: 1050px) {
  body.route-planning-active .route-planning-heading { align-items:flex-start;flex-direction:column; }
  body.route-planning-active .route-heading-actions { justify-content:flex-start;width:100%;flex-wrap:wrap; }
  body.route-planning-active .route-workspace { grid-template-columns:minmax(220px, .7fr) minmax(0, 1.3fr); }
  body.route-planning-active .route-controls { grid-column:1;grid-row:1 / span 2;max-height:none; }
  body.route-planning-active .route-map-panel { grid-column:2;grid-row:1; }
  body.route-planning-active .route-result-panel { grid-column:2;grid-row:2;max-height:560px; }
}
@media (max-width: 760px) {
  body.route-planning-active #route-planning-panel { padding:8px;min-height:0; }
  body.route-planning-active .route-planning-heading { padding:10px; }
  body.route-planning-active .route-heading-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch; }
  body.route-planning-active .route-heading-actions > label { min-width:0; }
  body.route-planning-active .route-heading-actions button { min-width:0; }
  body.route-planning-active .route-mobile-steps { position:sticky;top:0;z-index:700;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0;padding:6px;border:1px solid var(--rp-border);border-radius:8px;background:var(--rp-panel); }
  body.route-planning-active .route-mobile-steps button[aria-current="step"] { background:var(--rp-blue)!important;border-color:var(--rp-blue)!important; }
  body.route-planning-active .route-workspace { display:flex;flex-direction:column;gap:8px;min-height:0; }
  body.route-planning-active .route-controls { display:contents;max-height:none;overflow:visible; }
  body.route-planning-active .route-operator-block,
  body.route-planning-active .route-stops-block,
  body.route-planning-active .route-map-panel,
  body.route-planning-active .route-result-panel { width:100%; }
  body.route-planning-active .route-map-panel { order:2; }
  body.route-planning-active .route-result-panel { order:3;max-height:none; }
  body.route-planning-active .route-operator-block { order:0; }
  body.route-planning-active .route-stops-block { order:1; }
  body.route-planning-active .route-map-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.route-planning-active #route-preview-map { height:55vh;min-height:340px; }
  body.route-planning-active .route-map-bottom { flex-direction:column; }
  body.route-planning-active .route-preview-legend { justify-content:flex-start; }
}
@media print {
  body.route-planning-active .route-controls,
  body.route-planning-active .route-heading-actions,
  body.route-planning-active .route-map-toolbar,
  body.route-planning-active #route-preview-operators,
  body.route-planning-active .route-instruction-field,
  body.route-planning-active .route-history-link { display:none!important; }
  body.route-planning-active .route-workspace { grid-template-columns:1fr 1fr; }
  body.route-planning-active #route-preview-map { height:420px; }
}

/* styles.css applies 20×20px to every SVG, including Leaflet's route renderer. */
#route-preview-map .leaflet-milebsRoute-pane svg{width:auto!important;height:auto!important}
