/* Keep existing blue/gray styling, type and SVG geometry; fix containment only. */
.service-pan-cue{flex:none;margin:0;padding:4px 12px;color:var(--cw-muted,#365c78);font-size:11px;line-height:1.4}
#serviceWorkbench .graphic-frame>.technical-map:focus-visible{outline:3px solid var(--cw-accent,#0075d5);outline-offset:-3px}
@media(max-width:800px){
 #serviceWorkbench .service-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}
 #serviceWorkbench .service-controls label{min-width:0;gap:4px}
 #serviceWorkbench .service-controls select{width:100%;max-width:none;min-width:0;min-height:44px;box-sizing:border-box}
 #serviceWorkbench .service-controls>.seg{width:100%;min-width:0;display:flex;flex-wrap:wrap}
 #serviceWorkbench .service-controls>.seg button{flex:1;min-width:0}
}
@media(max-width:1023px),(orientation:portrait){
 #serviceWorkbench .unified-stage{min-height:0}
 #serviceWorkbench .graphic-frame{flex:none;min-height:0}
 #serviceWorkbench .graphic-frame>.technical-map{flex:none;min-height:0;align-items:flex-start;justify-content:flex-start}
 #serviceWorkbench .graphic-frame svg{flex:none;width:100%;min-width:760px!important;height:auto!important;max-height:none!important}
}
@media(min-width:1024px) and (max-width:1179px) and (orientation:landscape){
 /* The 400px frame floor + 185px guide exceeded the fixed-height stage. */
 .unified-view .graphic-frame{min-height:0}
}

/* A horizontal map must not swallow a vertical swipe meant for the document.
   Retain horizontal containment; dialogs keep their own modal scroll boundary. */
.unified-stage,.unified-rail,.technical-map,.next-map,.esm-map{overscroll-behavior-y:auto}

/* Short landscape screens (including unfolded phones) need a flowing page.
   Keep the roomy iPad/workstation shell above 800px tall; do not identify devices
   by UA or prevent native two-axis pan/zoom gestures. */
@media screen and (orientation:landscape) and (max-height:800px){
 html,body{height:auto!important;overflow:visible}
 body{min-height:100dvh;display:block}
 main{flex:none;min-height:0;padding-bottom:80px!important}
 .unified-view:not([hidden]){display:block!important;flex:none;overflow:visible!important}
 .unified-body{flex:none;height:auto;overflow:visible;align-items:start;grid-template-rows:auto}
 .unified-stage{min-height:0}
 .graphic-frame{flex:none;min-height:0}
 .graphic-frame>.technical-map,.graphic-frame>.next-map{flex:none;min-height:0;align-items:flex-start;justify-content:flex-start}
 .graphic-frame svg{flex:none;width:100%;min-width:760px!important;height:auto!important;max-height:none!important}
 .unified-guide,.unified-guide:has(details[open]){height:auto!important;min-height:185px!important;max-height:none!important}
 .unified-rail{height:auto!important;max-height:none!important;overflow:visible!important}
 .esm-map{flex:none;min-height:0}
 .esm-guide{min-height:190px!important}
}
