/* Navigation is separate from the editable map: none of it changes geometry. */
.map-area { grid-template-rows: auto auto auto minmax(0,1fr); }
.topbar { z-index:30; }
.canvas-stage { position:relative; min-width:100%; min-height:100%; overflow:hidden; }
.canvas-stage > .canvas { position:absolute; margin:24px; }
.map-searchbar { position:relative; z-index:24; display:flex; align-items:center; gap:10px; padding:9px 18px; min-width:0; border-bottom:1px solid var(--line); background:#101d2c; }
.map-search-field { display:flex; align-items:center; flex:1; gap:8px; min-width:0; }
.map-search-field input { margin:0; width:100%; min-width:0; height:38px; padding:8px 12px; background:#0c1724; border:1px solid #364d65; border-radius:9px; color:#e5f0fb; font:inherit; font-size:13px; }
.map-search-field input::placeholder { color:#99aec2; }
.map-search-field input:focus { outline:2px solid #48d5c7; outline-offset:1px; }
.map-search-field > span { color:#92a8bf; font-size:19px; }
#clear-map-search { flex:none; width:32px; height:36px; padding:0; }
#map-search-status { flex:none; font-size:11px; color:#aec0d3; }
.map-search-results { position:absolute; left:18px; right:18px; top:calc(100% - 4px); max-height:min(340px,45dvh); overflow:auto; background:#172638; border:1px solid #4e6680; border-radius:10px; box-shadow:0 14px 38px #0008; }
.map-search-results [role=option] { display:grid; grid-template-columns:60px minmax(0,1fr); padding:10px 12px; gap:4px 10px; cursor:pointer; border-bottom:1px solid #293d51; }
.map-search-results [role=option]:hover,.map-search-results [aria-selected=true] { background:#29415a; }
.map-search-results strong,.map-search-results small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.map-search-results small { grid-column:2; color:#afc4d9; }
.search-kind { font-size:10px; align-self:center; color:#6fd8c8; }
.search-empty { padding:18px; font-size:13px; color:#bdd0e3; }
.minimap { position:absolute; left:18px; bottom:68px; z-index:13; width:180px; border:1px solid #465e77; border-radius:10px; background:#132234f2; box-shadow:0 5px 18px #0005; }
.minimap summary { cursor:pointer; padding:8px 11px; font-size:11px; color:#c6d8e9; }
.minimap:not([open]) { width:auto; }
#minimap-svg { display:block; width:100%; max-height:114px; cursor:crosshair; touch-action:none; border-radius:0 0 9px 9px; }
.mini-background { fill:#0b1420; }
.mini-object { fill:#56778e; stroke:#93afc4; stroke-width:2; }
.mini-object.incident { fill:#c56754; }
.mini-object.selected { fill:#54e1c5; }
.mini-viewport { stroke:#ff955f; stroke-width:2; fill:#ff955f1a; }
.overview-labels { position:absolute; inset:0; pointer-events:none; z-index:9; }
.overview-label { position:absolute; font:600 11px/18px system-ui,sans-serif; padding:1px 6px; color:#e6f1fa; background:#152435e8; border:1px solid #72879a; border-radius:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transform-origin:center; }
.overview-label.selected { border-color:#50ddc5; color:#9effeb; }
.canvas[data-zoom-detail=overview]:not(.export-capture) .upright,
.canvas[data-zoom-detail=overview]:not(.export-capture) .seat-content,
.canvas[data-zoom-detail=overview]:not(.export-capture) .seat-badge { visibility:hidden; }
.canvas[data-zoom-detail=stations]:not(.export-capture) .upright small,
.canvas[data-zoom-detail=stations]:not(.export-capture) .seat-icon { display:none; }
.canvas.export-capture .overview-labels { display:none; }
.map-object.search-highlight { outline:5px solid #73f0d7; outline-offset:6px; }
.seat.search-highlight { outline:5px solid #fff; outline-offset:4px; box-shadow:0 0 0 12px #48d5c780; }
.cable-line.search-highlight { stroke:#fff; stroke-width:8; }
.mode-badge { display:inline-flex; align-items:center; padding:5px 8px; border:1px solid #3f7c75; color:#83e2d0; border-radius:20px; font-size:11px; white-space:nowrap; }
.consultation-view .editor-only,.consultation-view #map-actions-toggle,.consultation-view .inventory-panel { display:none!important; }
.consultation-active .editor-only { display:none!important; }
.consultation-toolbar { display:flex; justify-content:space-between; align-items:center; width:100%; color:#aabfd3; font-size:12px; }
.consultation-view .workspace { grid-template-columns:minmax(0,1fr) 280px; }
.consultation-view .map-toolbar { justify-content:space-between; }
.consultation-view .object-grip { cursor:pointer; }
.consultation-view .inspector-tip { display:none; }
.consultation-card { padding:14px; border:1px solid #355069; background:#152437; border-radius:12px; margin-bottom:12px; }
.consultation-card h3 { margin:0 0 10px; font-size:16px; }
.consultation-card p { color:#b2c6db; font-size:12px; overflow-wrap:anywhere; }
.consultation-card .consult-status { display:inline-block; padding:5px 8px; border-radius:7px; background:#223e53; color:#bce8f2; }
.consultation-assets { display:grid; gap:8px; margin-top:14px; }
.consultation-asset { padding:10px; background:#0e1c2b; border-radius:8px; }
.consultation-asset strong,.consultation-asset small { display:block; overflow-wrap:anywhere; }
.consultation-asset small { color:#b1c4d6; margin-top:4px; }
.consultation-seat { width:100%; text-align:left; display:flex; justify-content:space-between; gap:8px; margin:7px 0; padding:10px; background:#203448; border:1px solid #3d5972; color:#e2effa; }
.consultation-seat small { color:#adc8dd; }
.consultation-view .mobile-dock { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1100px) {
  .consultation-view .workspace { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:700px) {
  .map-area { grid-template-rows:auto auto auto minmax(0,1fr); }
  .map-searchbar { padding:6px 10px; gap:5px; flex-wrap:wrap; }
  .map-search-field { width:100%; }
  .map-search-results { left:8px; right:8px; }
  #map-search-status { display:none; }
  .map-search-field input { font-size:16px; }
  .minimap { left:10px; bottom:68px; width:140px; }
  #minimap-svg { max-height:90px; }
  .mode-badge { font-size:10px; padding:4px 7px; }
  .consultation-view .map-toolbar { min-height:42px; }
}
