/* One working model, reused between the map preview and the full station view. */
#view-map.studio-workspace { --studio-detail-width:clamp(360px,32vw,448px); }
#view-map.studio-workspace .pf-card { overflow:clip; }
#view-map[data-mode=map] .studio-map-rail { position:absolute; z-index:510; right:16px; top:calc(var(--studio-command-h,86px) + var(--studio-toolbar-h,44px) + 30px); bottom:60px; width:328px; display:flex; flex-direction:column; gap:12px; overflow:auto; scrollbar-width:thin; scrollbar-color:#68778366 transparent; padding:0 0 8px; }
#view-map .studio-map-rail[hidden],#view-map .studio-site-preview[hidden] { display:none; }
#view-map[data-mode=map] .studio-map-rail #pf-legend { position:relative; inset:auto; flex:none; width:100%; max-width:none; max-height:none; margin:0; }
.studio-site-preview { position:relative; flex:none; overflow:hidden; border:1px solid #10171b; border-radius:16px; background:#252c30; box-shadow:inset 0 1px #ffffff12,0 4px 12px #0005; }
.studio-preview-head { padding:12px 14px 10px; background:linear-gradient(155deg,#363e42,#2a3135); box-shadow:inset 0 1px #e3e9eb12,0 2px 5px #0005; }
.studio-preview-head strong { display:block; color:#d8e3e9; font:550 15px var(--sans); }
.studio-preview-head small { display:block; margin-top:4px; color:#91a5b2; font:10px var(--sans); }
.studio-preview-viewport { position:relative; height:clamp(140px,25vh,210px); background:#101213; }
#view-map .studio-preview-viewport .studio-scene { position:absolute; inset:0; width:100%; height:100%; min-height:0; pointer-events:auto; }
#view-map .studio-preview-viewport .studio-scene-label,#view-map .studio-preview-viewport .studio-callout,#view-map .studio-preview-viewport .studio-connectors { display:none!important; }
#view-map .studio-preview-viewport .studio-scene-message { inset:20px 14px; font-size:11px; }
#view-map .studio-site-preview .studio-preview-launch { position:absolute; z-index:460; inset:auto 10px 45px auto; display:flex; align-items:center; padding:0; width:auto; height:29px; border:0; border-radius:9px; background:#202b32d9; color:#bed3df; font:11px var(--sans); gap:5px; }
#view-map .studio-preview-launch .studio-icon { width:14px; height:14px; }
.studio-preview-launch .studio-control-label { padding:5px 9px; border-radius:10px; background:#25343ed9; border:1px solid #8ca5b333; }
.studio-preview-launch::before { display:none!important; }
.studio-preview-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; height:37px; padding:0 12px; border-top:1px solid #9bb2bf15; }
.studio-preview-foot>span { color:#8398a7; font:9px var(--sans); }
#view-map .studio-preview-plan { display:flex; align-items:center; gap:5px; padding:4px 6px; min-height:27px; border:0; background:none; color:#b2cad9; font:10px var(--sans); }
#view-map .studio-preview-details { min-height:27px; padding:4px 6px; margin-left:auto; border:0; background:none; color:#b2cad9; font:10px var(--sans); }
.studio-preview-plan .studio-icon { width:13px; height:13px; }
#view-map[data-mode=diagram] :is(.studio-orbit-button,.studio-pan-button,.studio-edit-layout) { display:inline-flex; }
#view-map .studio-edit-layout { margin-left:4px; border-left:1px solid #a1b8c225; border-radius:0 9px 9px 0; padding:0 9px; gap:6px; }
#view-map:not([data-mode=diagram]) .studio-edit-layout { display:none; }
#view-map[data-mode=map].studio-hide-insights:not(.studio-has-selection) .pf-side { display:none; }
#view-map[data-mode=map].studio-hide-insights:not(.studio-has-selection) .pf-mapbox { bottom:0; }
.studio-canvas-hint { position:absolute; left:var(--one-line-left,30px); right:var(--one-line-right,30px); bottom:8px; z-index:490; text-align:center; color:#96a5ad; font:10px/1.5 var(--sans); pointer-events:none; }
.studio-canvas-hint[hidden] { display:none; }
.studio-diagram>svg[data-tool=pan] .ednode,.studio-diagram>svg[data-tool=pan] .one-line-label,.studio-diagram>svg[data-tool=pan] .one-line-label-plate { cursor:grab; }
#view-map[aria-busy=true] .studio-scene,#view-map[aria-busy=true] .studio-diagram { pointer-events:none; }
/* Properties are the contents of this rail, not another disclosure inside it. */
#view-map.studio-workspace .studio-station-details { margin:0; }
#view-map.studio-workspace .studio-station-details>.pf-detail { padding:0; overflow-x:auto; }
#view-map.studio-workspace .studio-asset-properties:has(>#pf-asset-detail:not(.hidden))>.studio-station-details { padding-top:18px; border-top:1px solid #c6d1d419; }
#view-map.studio-workspace .studio-station-details .pf-detail-head { align-items:center; margin:0 0 10px; }
#view-map.studio-workspace .studio-station-details .field-label { color:#95a6ae; letter-spacing:.035em; }
#view-map.studio-workspace .studio-station-details .pf-dl { grid-template-columns:minmax(78px,.7fr) minmax(0,1.7fr); gap:12px 16px; padding:14px; font-size:12px; line-height:1.55; }
#view-map.studio-workspace .studio-station-details .pf-dl dd { min-width:0; overflow-wrap:break-word; }
#view-map.studio-workspace .studio-station-details .studio-supply-list { display:flex; flex-direction:column; gap:12px; }
.studio-supply-record { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:6px 8px; }
.studio-supply-record+.studio-supply-record { padding-top:12px; border-top:1px solid #b8c5ce14; }
.studio-supply-label { color:#9eafb9; font:11px/1.5 var(--sans); }
.studio-supply-label:only-child,.studio-supply-record>span:last-child:not(:first-child) { grid-column:1/-1; }
#view-map.studio-workspace .pf-detail .studio-supply-record button.linkish { justify-content:space-between; width:100%; margin:0; }
#view-map.studio-workspace .studio-station-details p { font-size:11px; line-height:1.6; }
#view-map.studio-workspace .studio-station-details :is(.pf-mini,.pf-zones) { font-size:11px; line-height:1.5; }
#view-map.studio-workspace .studio-station-details .pf-zones th { font-size:10px; }
#view-map.studio-workspace :is(.pf-detail,.pf-asset-detail) button.linkish { display:inline-flex; align-items:center; gap:7px; min-width:0; max-width:100%; min-height:28px; margin:3px 0; padding:5px 8px; border:1px solid #b7c5ce1a; border-radius:7px; background:linear-gradient(155deg,#343c42,#293138); box-shadow:inset 0 1px #d9e3e914,0 2px 3px #0004; color:#c4d1d9; text-decoration:none; text-align:left; font:500 11px/1.4 var(--sans); white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
#view-map.studio-workspace :is(.pf-detail,.pf-asset-detail) button.linkish::after { content:''; flex:none; width:5px; height:5px; margin-left:auto; border:solid #8c9da8; border-width:1px 1px 0 0; transform:rotate(45deg); }
#view-map.studio-workspace :is(.pf-detail,.pf-asset-detail) button.linkish:hover { color:#e2edf4; background:linear-gradient(155deg,#3a454c,#2d3940); box-shadow:inset 0 1px #d9e3e91a,0 2px 3px #0006; }
#view-map.studio-workspace :is(.pf-detail,.pf-asset-detail) button.linkish:focus-visible { outline:none; box-shadow:inset 0 2px 4px #0008,inset 0 0 0 1px #16b7ff80; }
#view-map.studio-workspace .pf-detail .pf-detail-head button.linkish { min-height:25px; padding:4px 7px; border-color:transparent; background:none; box-shadow:none; color:#9caeb9; font-size:10px; }
#view-map.studio-workspace .pf-detail .pf-detail-head button.linkish::after { display:none; }
#view-map.studio-workspace .pf-detail .pf-go { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0 0; padding:12px 0 0; border-top:1px solid #c6d1d419; }
#view-map.studio-workspace .pf-detail .pf-go button { min-height:32px; border:1px solid #b7c5ce1a; border-radius:8px; background:linear-gradient(155deg,#354149,#2a343b); box-shadow:inset 0 1px #d9e3e914,0 2px 3px #0005; color:#c9d8e2; }
#view-map.studio-workspace .pf-detail .pf-go button:hover { background:linear-gradient(155deg,#3d4b54,#303f48); }
@media(min-width:1001px) {
  #view-map.studio-workspace[data-mode="3d"] { --bay-console:var(--studio-detail-width); }
  #view-map.studio-workspace[data-mode="3d"] .pf-side { width:var(--studio-detail-width); }
}
@media(max-width:1100px) { #view-map .studio-edit-layout .studio-control-label { display:none; } }
@media(max-width:800px) { #view-map[data-mode=map] .studio-map-rail { width:min(300px,calc(100% - 24px)); right:12px; top:calc(var(--studio-canvas-top) + var(--studio-toolbar-h,100px) + 22px); bottom:55px; } .studio-canvas-hint { font-size:9px; } }
/* A landscape inspector can scroll its body, but must not cover the mode tabs. */
@media(max-width:800px) and (max-height:500px) {
  #view-map.studio-workspace:not(.studio-hide-insights) .pf-side { max-height:calc(100dvh - var(--studio-command-h,136px) - 64px); }
}
