/* One layout authority for the interactive workspace. Model/configuration styles remain in style.css. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body>header{height:60px;padding:0 20px;gap:22px;flex-wrap:nowrap;position:relative;z-index:3}
header .brand{font-size:16px;white-space:nowrap}header .brand .version{display:none}header nav{gap:4px;flex:none}header .nav{padding:8px 12px;font-size:13px}
header #network-mode-bar{margin:0 0 0 auto;padding:0;border:0;background:none;display:flex;flex-wrap:nowrap;gap:5px;flex:none}
header .mode-switch{width:auto;padding:3px;gap:2px;border:1px solid var(--line);border-radius:8px;display:flex}
header .mode-switch button{min-width:50px;padding:5px 10px;min-height:36px;font-size:13px;align-items:center}
header .icon-control{width:42px;min-width:42px;min-height:42px;padding:0;font-size:18px;display:grid;place-items:center}
.context.location-toolbar,.focused .context.location-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin:0;padding:8px 20px;border:0;border-bottom:1px solid var(--line);min-height:56px}
.location-toolbar .location-label{display:flex;align-items:center;gap:10px;font-size:12px;margin:0;min-width:0}.location-toolbar select{width:240px;min-height:38px;margin:0;padding:6px 10px;font-size:13px}
.location-actions{display:flex;gap:5px}.location-actions button,.location-toolbar>button{min-height:38px;padding:6px 11px;font-size:12px}.mock-label{color:var(--muted);font-size:12px;margin-left:auto}#scenario-open{display:none}
main,.focused main{padding:12px 20px 0}.studio,.focused .studio{display:grid;grid-template-columns:220px minmax(0,1fr) 310px;grid-template-rows:minmax(0,1fr);gap:12px;height:calc(100dvh - 140px);min-height:530px;align-items:stretch}
.studio>.panel,.focused .studio>.panel{height:100%;min-height:0;min-width:0;padding:14px;border-radius:9px;grid-column:auto;grid-row:auto;order:initial}
.studio>.scenario-panel{overflow:auto;overscroll-behavior:contain}.scenario-panel .eyebrow,.network-panel>.panel-top,.api-log-panel>.eyebrow{display:none}
.scenario-panel h2{font-size:17px;margin:0 0 12px}.scenario-panel .divider{margin:12px 0}.scenario-presets button{padding:7px;font-size:12px;min-height:44px}.scenario-presets button span{display:none}.scenario-panel .event{font-size:12px}.scenario-panel label{font-size:12px}
.studio .network-panel,.focused .studio .network-panel{display:flex;flex-direction:column;overflow:auto;padding:12px 14px;gap:0}
.timeline-block{flex-shrink:0;padding:0 0 8px;border-bottom:1px solid var(--line)}.timeline-heading{display:flex;align-items:center;gap:10px}.timeline-heading .clock strong{font-size:16px}.execution-state{font-size:12px;color:var(--muted);margin-left:auto}.timeline-heading #step{min-height:32px;padding:2px 8px;font-size:14px}
.timeline-block #scrub{margin:7px 0 3px;display:block;width:100%;height:14px;min-height:0}.timeline-block .timeline-caption{font-size:11px;line-height:1.2;margin:3px 0}.timeline-block .timeline{height:18px;margin:2px 0;gap:3px}.timeline-block .timeline.forecast{height:5px}.timeline-block .time-labels{font-size:11px;margin:3px 0 0}
.timeline .tick{background:#2c4255}.timeline .tick.has-event{background:#927745}.timeline .tick.failed{border-bottom:2px solid var(--red)}.timeline .tick:after{display:none}.timeline .tick.selected{outline:2px solid var(--cyan)}
.active-event{font-size:12px;color:var(--muted);margin:9px 0 3px;flex-shrink:0;min-height:18px}.active-event.event-active{color:var(--amber)}
.studio .network-map,.focused .studio .network-map{flex:1 1 auto;min-height:240px;overflow:hidden;justify-content:center}
.studio .network-map svg,.focused .studio .network-map svg{width:100%;min-width:0;flex:1 1 auto;height:100%;min-height:0;max-height:100%;overflow:visible}
.network-map .column-label{font:12px var(--font);fill:var(--muted)}.network-map .node-name{font:600 14px var(--font);fill:var(--text)}.network-map .node-amount{font:500 13px var(--font);fill:var(--text)}.network-map .node-exception{font:11px var(--font);fill:var(--amber)}.network-map .wire{stroke-width:2.3}.network-map .node.sleep .node-body{opacity:.7}
.network-panel .window-summary,.focused .network-panel .window-summary{flex-shrink:0;padding:10px 12px;margin:5px 0 0;background:#103036;border:1px solid #315b60}.window-summary.partial{background:#152330;border-color:#485363}
.delivery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.delivery-heading>strong{font-size:15px;color:var(--cyan)}.delivery-heading>span{font-size:11px;color:var(--muted)}.window-summary.partial .delivery-heading>strong{color:var(--text)}
.delivery-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:9px}.delivery-groups>div{display:grid;grid-template-columns:auto 1fr;gap:4px;font-size:12px}.delivery-groups strong{text-align:right;font-weight:500}.delivery-groups i{grid-column:1/-1;height:4px;background:linear-gradient(to right,var(--operator) var(--delivery),#334653 var(--delivery));border-radius:2px}
#plan-details{font-size:11px;margin-top:8px}#plan-details>summary{cursor:pointer;color:var(--muted);padding:2px 0}#plan-content p,#rejection-details p{margin:5px 0}#plan-details[open]{max-height:160px;overflow:auto}
.network-details{flex-shrink:0;margin-top:5px}.network-details>summary{font-size:11px;color:var(--muted);cursor:pointer;min-height:23px}.network-details .window-navigation{margin:8px 0}.network-details .guided-story{margin-top:8px;max-height:none}.network-details[open]{max-height:180px;overflow:auto}
.execution-alert{margin-top:9px;padding-top:8px;border-top:1px solid #5b5c52;display:flex;gap:10px;align-items:center;color:var(--amber);font-size:12px}.execution-alert span{flex:1;overflow-wrap:anywhere}.execution-alert button{min-height:34px;padding:4px 9px;white-space:nowrap}
.studio .api-log-panel{display:flex;flex-direction:column;gap:9px;overflow:hidden;grid-column:auto}.log-heading{display:flex;align-items:center;gap:8px}.log-heading h2{font-size:17px;margin:0}.log-heading span{color:var(--muted);font-size:12px}.log-controls{display:flex;gap:4px}.log-controls button{min-height:32px;padding:4px 8px;font-size:11px}.log-controls button[aria-pressed=true]{border-color:#3b777c;color:var(--cyan)}#api-log-latest{margin-left:auto}
.api-log-panel #network-api-live-log,.focused .api-log-panel #network-api-live-log{height:auto;flex:1 1 auto;min-height:160px;padding:0 7px;border:0;background:transparent}.ne-live-log summary{font-family:var(--font);font-size:12px;line-height:1.4;padding:10px 0;min-height:44px}.api-call-main{display:inline;color:var(--text);font-size:12px}.api-call-meta{display:block;font-size:11px;color:var(--muted);margin-top:3px}.api-call-status{font-family:ui-monospace,monospace}
.run-results-overview{margin-top:20px}.run-results-overview .execution-scope{font-size:12px;padding:10px 12px}.run-results-overview #full-run-caption{margin:8px 0;font-size:12px}.execution-details{margin:14px 0}.execution-details>summary{cursor:pointer;font-size:14px;padding:12px;border:1px solid var(--line);border-radius:7px}
#help-dialog,#resource-dialog,#resolve-dialog,#scenario-dialog{width:min(540px,94vw);max-height:90dvh;padding:0;border:1px solid var(--line);background:var(--panel);color:var(--text);overflow:auto}.help-content,.resource-inspector-details{padding:6px 22px 22px;font-size:13px;line-height:1.6}.help-content p{margin:12px 0}.help-content details{margin-top:18px}.help-content summary{cursor:pointer}.help-content .orientation{margin:18px 0 0;gap:6px}.help-content .orientation button{font-size:12px;padding:6px}.help-content .header-actions{display:flex;gap:8px;margin:5px 0 15px}.help-content .header-actions button{font-size:12px}#resource-dialog .resource-inspector-details{border:0;margin:0}#resource-dialog h2{margin:0}.resource-inspector-details dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.resource-inspector-details dd{margin:0}#scenario-dialog .scenario-panel{margin:0;border:0;max-height:none;height:auto;padding:15px 22px}#scenario-dialog .panel-title{display:none}
.mobile-network,.diagram-toggle{display:none}
@media(max-width:1200px){.studio,.focused .studio{grid-template-columns:minmax(0,1fr) 280px;height:calc(100dvh - 140px);min-height:530px}.studio>.network-panel,.studio>.api-log-panel{grid-column:auto;grid-row:1}.studio>.scenario-panel{display:none}#scenario-open{display:block}.mock-label{display:none}}
@media(max-width:760px){body>header{height:auto;min-height:54px;padding:8px 12px;gap:6px;flex-wrap:wrap}header .brand{font-size:14px}header .brand-symbol{display:none}header nav{order:3;width:100%;min-height:34px;height:34px;justify-content:center}header .nav{font-size:12px;padding:4px 12px;min-height:34px}header #network-mode-bar{margin-left:auto}header .mode-switch button{min-width:42px;padding:4px 7px;min-height:34px}header .icon-control{min-width:38px;width:38px;min-height:38px}
.context.location-toolbar,.focused .context.location-toolbar{padding:8px 12px;gap:7px;flex-wrap:wrap}.location-toolbar .location-label{width:100%;gap:8px}.location-toolbar select{width:auto;flex:1;font-size:13px}.location-actions{margin-right:auto}.location-actions button,.location-toolbar>button{font-size:12px;padding:5px 9px;min-height:36px}main,.focused main{padding:10px 12px 0}
.studio,.focused .studio{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.studio>.network-panel,.focused .studio>.network-panel{grid-column:1;grid-row:1;min-height:0;height:auto;padding:12px}.studio>.api-log-panel{grid-column:1;grid-row:2;height:360px}.studio>.scenario-panel{display:none}
.studio .network-map,.focused .studio .network-map{display:none}.mobile-network{display:grid;gap:7px;margin:7px 0}.mobile-network .mobile-operator{background:#172637;border:1px solid var(--line);border-radius:7px;text-align:left;padding:9px 11px;display:grid;grid-template-columns:1fr auto;gap:4px;font-size:13px;min-height:63px}.mobile-network small{grid-column:1/-1;color:var(--muted);font-size:11px}.diagram-toggle{display:block;background:none;border:0;text-align:left;color:var(--muted);padding:5px 0;min-height:32px;font-size:12px}.show-diagram #network-map{display:flex;min-height:240px;flex:none;overflow-x:auto;justify-content:flex-start}.show-diagram #network-map svg{width:620px;min-width:620px;flex:none;height:240px}.show-diagram #mobile-network{display:none}
.delivery-heading{align-items:start;gap:7px}.delivery-heading>strong{font-size:14px}.delivery-heading>span{font-size:10px}.delivery-groups{gap:10px}.timeline-heading .clock strong{font-size:14px}.execution-state{font-size:11px}.timeline-block .time-labels{font-size:9px}.timeline .tick{pointer-events:auto}.network-details{margin-top:8px}}

/* View size changes presentation only; allocation windows and API execution stay fixed. */
.network-panel{--view-zoom:1}
.timeline-block{display:flex;gap:10px;align-items:stretch}.timeline-content{flex:1;min-width:0}
.view-zoom{width:38px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--line);padding-left:6px;gap:0;color:var(--muted)}
.view-zoom>span{font-size:13px;line-height:14px}.view-zoom input{writing-mode:vertical-lr;direction:rtl;width:28px;height:50px;min-height:50px;margin:0;padding:0;accent-color:var(--cyan);cursor:ns-resize}.view-zoom button{background:none;border:0;padding:0;min-height:26px;min-width:32px;font-size:10px;color:var(--muted)}
.studio .network-map,.focused .studio .network-map{flex:0 0 auto;height:calc(225px * var(--view-zoom));min-height:0;overflow:auto;justify-content:flex-start;align-items:center}
.studio .network-map svg,.focused .studio .network-map svg{width:calc(100% * var(--view-zoom));height:calc(225px * var(--view-zoom));max-height:none;flex:none;margin:auto;min-height:0}
.result-context{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-bottom:6px}.result-context a{color:var(--muted);text-decoration:none}.result-context a:hover{text-decoration:underline}
.delivery-heading>strong{font-size:calc(16px * var(--view-zoom));color:var(--text)}.delivery-heading>span{font-size:calc(11px * var(--view-zoom))}.delivery-detail{font-size:calc(12px * var(--view-zoom));margin:4px 0 0;color:var(--muted)}
.window-summary[data-outcome="served"] .delivery-heading>strong{color:var(--cyan)}.window-summary[data-outcome="shortfall"] .delivery-heading>strong,.window-summary[data-outcome="unknown"] .delivery-heading>strong{color:var(--amber)}
.delivery-groups{gap:12px;margin-top:calc(9px * var(--view-zoom))}.delivery-groups>div{font-size:calc(12px * var(--view-zoom));grid-template-columns:1fr;gap:4px}.delivery-groups strong{text-align:left;font-size:calc(11px * var(--view-zoom));white-space:nowrap}.delivery-groups i{height:calc(6px * var(--view-zoom));border-radius:3px}.delivery-groups small{font-size:calc(10px * var(--view-zoom));color:var(--amber)}
@media(max-width:760px){.studio .network-map,.focused .studio .network-map{min-height:0}.show-diagram #network-map{min-height:calc(240px * var(--view-zoom))}.show-diagram #network-map svg{width:calc(620px * var(--view-zoom));min-width:calc(620px * var(--view-zoom));height:calc(240px * var(--view-zoom))}.mobile-network .mobile-operator{font-size:calc(13px * var(--view-zoom));padding:calc(9px * var(--view-zoom)) 11px}.mobile-network small{font-size:calc(11px * var(--view-zoom))}.delivery-groups{gap:6px}.delivery-groups strong{white-space:normal}.result-context{font-size:10px}.timeline-block .time-labels span:nth-child(2),.timeline-block .time-labels span:nth-child(4){display:none}}

.policy-table{width:100%;border-collapse:collapse;font-size:12px}.policy-table th,.policy-table td{padding:10px 8px;text-align:right;border-bottom:1px solid var(--line)}.policy-table th:first-child{text-align:left}.policy-table thead{color:var(--muted);font-size:11px}.policy-table th{font-weight:500}.policy-table button{padding:3px 0;border:0;background:none;color:inherit;text-align:left;font-size:12px}.policy-table .selected{background:#183337}.policy-table .selected th{color:var(--cyan)}.policy-table .needs-review{color:var(--amber)}.run-results-overview>h2{margin-bottom:8px}
@media(max-width:760px){#comparison{overflow-x:auto}.policy-table{min-width:440px}}

.timeline-block{position:sticky;top:-12px;z-index:2;background:#122231}.view-zoom input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

/* Shrinking the view releases layout space instead of leaving a flexible blank area. */
@media(min-width:761px){
 .studio,.focused .studio{height:auto;min-height:0}
 .studio>.network-panel,.focused .studio>.network-panel{height:auto;max-height:calc(100dvh - 140px)}
 .studio>.scenario-panel,.studio>.api-log-panel{contain:size}
}
@media(max-width:760px){.show-diagram #network-map{height:calc(240px * var(--view-zoom))}.mobile-network .mobile-operator{min-height:calc(63px * var(--view-zoom))}}

/* Review fixes: legible results at small zoom, explicit issues, usable tablet width. */
.delivery-heading>strong{font-size:max(14px,calc(16px * var(--view-zoom)))}.delivery-heading>span{font-size:max(11px,calc(11px * var(--view-zoom)))}.delivery-detail,.delivery-groups>div{font-size:max(12px,calc(12px * var(--view-zoom)))}.delivery-groups strong{font-size:max(11px,calc(11px * var(--view-zoom)))}
.timeline .tick.delivery-issue{background:#74503a;border-bottom:3px solid var(--amber)}.timeline-heading .issue-jump{font-size:11px;min-height:30px;padding:3px 7px;color:var(--amber);border-color:#745b3c;white-space:nowrap}
.commercial-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 24px;padding:18px;border:1px solid var(--line);border-radius:9px}.commercial-entry h2{margin:0 0 5px}.commercial-entry p{font-size:13px}.commercial-entry button{flex:none}.experiment-back{margin:5px 0 15px}
@media(min-width:761px) and (max-width:1000px){.studio,.focused .studio{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.studio>.network-panel{grid-column:1;grid-row:1}.studio>.api-log-panel{grid-column:1;grid-row:2;height:280px}}
@media(max-width:760px){.mobile-network .mobile-operator{font-size:max(12px,calc(13px * var(--view-zoom)))}.mobile-network small{font-size:max(11px,calc(11px * var(--view-zoom)))}.timeline-heading{flex-wrap:wrap;gap:5px}.timeline-heading .issue-jump{margin-left:auto}.commercial-entry{display:block}.commercial-entry button{margin-top:12px}.location-toolbar #execution-settings{margin-left:auto}}
@media(max-width:760px){.location-actions{margin-right:0;gap:4px}.location-actions button{width:36px;padding:4px}.location-actions button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.location-toolbar>button{font-size:11px;padding:5px 7px}.location-toolbar #execution-settings{margin-left:0}}
