/* A reserved command row keeps controls visible without covering the map or focus. */
.desk-inspector { min-width:0; background:#e5ddc8; color:#352e24; border-top:3px solid #b69a64; }
.inspector-tabs { display:flex; gap:4px; padding:8px; background:#d6ccb4; border-bottom:1px solid #ab9872; }
.inspector-tabs button { flex:1; min-height:40px; padding:8px; border:1px solid transparent; background:transparent; color:#574d3b; font-size:14px; }
.inspector-tabs button[aria-pressed="true"] { color:#7e3024; border-color:#9d6849; background:#f1e6cd; font-weight:700; }
.inspector-body { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scroll-padding:16px; }
.inspector-body .desk-intel-panel { box-shadow:none; border:0; }
.inspector-body .force-room { margin:0; border:0; padding:12px; }
.inspector-body .force-room > header { display:block; margin-bottom:12px; }
.inspector-body .force-room h2 { font-size:20px; }
.inspector-body .force-room header > span { font-size:11px; }
.inspector-body .force-room-body { display:flex; flex-direction:column; gap:14px; }
.inspector-body .force-roster { grid-template-columns:1fr; }
.inspector-body .force-card { min-height:0; padding:12px; }
.inspector-body .force-dossier { padding:14px; }
.inspector-body .force-dossier h3 { font-size:20px; }
.inspector-body .force-dossier dd { font-size:14px; }
.inspector-body .force-dossier dl > div { grid-template-columns:65px minmax(0,1fr); gap:8px; }
.inspector-body .stage-context { color:#504731; margin:12px; padding:12px; border-color:#b5a380; }
.inspector-body .desk-planning-reports { margin:0 14px; }
.inspector-body .desk-execution,.inspector-body .desk-review { display:block; padding:18px; margin:0; border:0; }
.inspector-body .desk-review-comparison { padding:16px 0 0; border-left:0; }
.inspector-body .desk-execution-actions { margin-top:20px; }
.route-brief { padding:20px; }.route-brief h2 { font:700 23px/1.4 var(--serif); margin:8px 0 16px; }.route-brief h3 { font-size:14px; margin:22px 0 10px; }
.route-brief p,.route-brief li { font-size:14px; line-height:1.85; }.route-brief ul { padding-left:20px; }
.route-places { border-left:3px solid #b28c47; padding:8px 12px; background:#f4e9d1; }
.route-force-list { display:grid; gap:8px; }.route-force-list button { padding:12px; background:#f4eddb; color:#3c3a2e; border:1px solid #b8a882; text-align:left; display:grid; gap:6px; min-height:44px; }
.route-force-list b { font-size:14px; }.route-force-list span { font-size:12px; line-height:1.65; }.route-brief .route-caveat { font-size:12px; color:#746140; border-top:1px solid #b8a882; padding-top:12px; }
.map-plan-strip { padding:9px 14px; background:#354535; border-bottom:1px solid #ac996544; color:#eddbb0; font-size:12px; line-height:1.5; }
.map-plan-path { fill:none; stroke:#f3c978; stroke-width:.65; stroke-dasharray:2 1; stroke-linejoin:round; }
.map-plan-place { fill:#e8bc5920; stroke:#f3c978; stroke-width:.4; }
.map-plan-layer { pointer-events:none; }
.has-plan .force-marker:not(.is-route-related):not(.is-selected) { opacity:.6; }
.has-plan .map-movement:not(.is-route-related) { opacity:.22; }
.map-movement.is-route-related { opacity:1; stroke-width:.8; }
.force-marker.is-route-related .force-halo { stroke:#ebc579; stroke-width:.55; stroke-dasharray:1 .6; }
.map-place.is-route-related .map-city { fill:#ffe4a2; }
.map-place.is-route-related .map-city-dot { fill:#ffe4a2; }
.force-card.is-route-related { box-shadow:inset 0 0 0 1px #b0863e; }
.battlefield-force.is-route-related { box-shadow:0 0 0 2px #eec97d,0 3px 10px #10251d80; }
.battlefield-place.is-route-related { color:#ffdf8e; background:#24392fde; padding:3px 5px; border-bottom:1px solid #e5bd6b; }
.desk-inspector { display:flex; flex-direction:column; }
@media(min-width:1100px) and (min-height:720px) {
  .command-screen { height:100svh; min-height:0; padding:10px 20px; overflow:hidden; }
  .command-desk { height:100%; display:grid; grid-template-rows:44px auto 24px minmax(0,1fr) auto; gap:6px; }
  .desk-header { margin:0; padding:0 0 6px; }.desk-brand b { font-size:16px; }.desk-brand > span { font-size:18px; padding:5px; }.desk-brand small { font-size:9px; margin-top:3px; }
  .desk-heading { margin:2px 0; align-items:center; }.desk-heading h1 { font-size:27px; margin:0; }.desk-heading .desk-overline { display:none; }.desk-mission { font-size:12px; }.desk-mission br { display:none; }
  .desk-steps { margin:0; font-size:11px; }
  .desk-layout { min-height:0; grid-template-columns:minmax(0,1fr) 340px; gap:12px; }
  .dual-map-panel { min-height:0; display:flex; flex-direction:column; overflow:hidden; }
  .perspective-bar { padding:5px 10px; }.perspective-bar button { min-height:36px; padding:6px 12px; font-size:12px; }
  .map-plan-strip { flex-shrink:0; font-size:11px; padding:5px 12px; }
  .dual-map-panel > #strategicHost,.dual-map-panel > #localHost { flex:1; min-height:0; }
  .dual-map-panel .strategic-host .battle-map { height:100%; display:flex; flex-direction:column; }
  .dual-map-panel .strategic-host .map-heading { padding:6px 12px; }.dual-map-panel .strategic-host .map-heading b { font-size:12px; }.dual-map-panel .strategic-host .map-heading small { display:none; }
  .dual-map-panel .strategic-host .map-canvas { flex:1; min-height:0; max-height:none; aspect-ratio:auto; }
  .dual-map-panel .strategic-host .map-legend { padding:5px 12px; font-size:10px; }
  .dual-map-panel #localHost .desk-map { height:100%; min-height:0; aspect-ratio:auto; }
  .dual-map-panel .local-force-keys { display:none; }
  .dual-map-note { display:none; }.model-boundary { font-size:10px; padding:4px 12px; line-height:1.5; }
  .desk-inspector { min-height:0; overflow:hidden; }.inspector-body { flex:1; }
  .desk-order { margin:0; padding:10px 16px 0; }
  .desk-order-heading { align-items:center; gap:20px; }.desk-order-heading .desk-overline { display:none; }.desk-order h2 { font-size:16px; line-height:1.5; margin:0; }.desk-order-heading > span { font-size:11px; flex-shrink:0; max-width:260px; }
  .desk-order-columns { grid-template-columns:minmax(0,3fr) minmax(220px,1fr); gap:18px; padding:6px 0; }.desk-order h3 { font-size:12px; margin:0 0 5px; }
  .desk-route-options button { min-height:82px; padding:8px 10px; }.desk-order button b { font-size:13px; margin:0 0 4px; }.desk-order button small { font-size:11px; line-height:1.5; }
  .desk-task-options { grid-template-columns:1fr 1fr; }.desk-task-options button { min-height:82px; padding:8px; }
  .desk-signoff { padding:6px 0; gap:12px; min-height:54px; }.desk-signoff > div:first-child { flex:1; }.desk-signoff b { font-size:12px; }.desk-signoff p { margin:3px 0 0; font-size:10px; }
  .desk-signoff .desk-action { min-height:40px; font-size:13px; padding:8px 16px; }
  .desk-intel-gate { margin:0; padding:0; background:transparent; border:0; }.desk-intel-gate p { display:none; }
  .desk-footer { display:none; }
}
@media(max-width:1099px),(max-height:719px) {
  .desk-layout { grid-template-columns:1fr; }.inspector-body { max-height:540px; }
  .desk-order { margin-top:12px; }.desk-signoff { flex-wrap:wrap; }.desk-intel-gate { width:100%; }
  .desk-inspector { margin-top:0; }.local-force-keys { display:none; }
  .desk-order-heading > span { max-width:100%; }
}

.mobile-workspace-nav { display:none; }
@media(max-width:1099px),(max-height:719px) {
  .mobile-workspace-nav { display:inline-block; min-height:44px; padding:8px 12px; border:1px solid #b4955d; background:transparent; color:#8d3229; font-size:13px; }
  .perspective-bar { flex-wrap:wrap; }.perspective-bar .mobile-workspace-nav { color:#e9dfc4; }
  .desk-order-heading .mobile-workspace-nav { margin-top:10px; }
}
