/* Scoped to the editable planning workspace; the operator map is unchanged. */
#planningArea .stage-heading{display:flex;align-items:baseline;gap:12px;padding:12px 22px 10px}
#planningArea .stage-heading h1{font-size:20px}#planningArea .stage-heading .eyebrow{margin:0}
#planningArea .stage-tabs{padding:5px 16px}#planningArea .stage-tabs button{padding:6px 10px}
#planningConfigurationsPanel{overflow:hidden}
.planner-flow{height:100%;display:flex;flex-direction:column;min-height:0;--pf-input:#9edccf;--pf-solver:#c2b5ed;--pf-output:#e8c58c}
.pf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--edge);background:#10242c;flex-wrap:wrap;flex:none}
.pf-toolbar strong{font-size:13px;font-weight:500}.pf-toolbar small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.pf-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pf-toolbar button{padding:5px 9px;font-size:12px}
.pf-status{color:var(--gold);font-size:11px;max-width:230px}.pf-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px}
.pf-graph{position:relative;overflow:clip;min-height:350px;background-color:#0a1a22;background-image:radial-gradient(#31485166 1px,transparent 1px);background-size:24px 24px;touch-action:none;isolation:isolate;cursor:grab}
.pf-graph.pf-dragging{cursor:grabbing}.pf-world{position:absolute;width:1304px;height:600px;transform-origin:0 0;will-change:transform}
.pf-edge-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pf-edge{stroke:#507078;stroke-width:1.5;fill:none}.pf-edge.pf-feedback{stroke:#b6a1de;stroke-dasharray:6 5}
.pf-edge.pf-connected{stroke:#a0d5c4;stroke-width:2}.pf-edge-label{fill:#a7bec4;font:12px 'Segoe UI',sans-serif;paint-order:stroke;stroke:#0a1a22;stroke-width:5;stroke-linejoin:round}
.pf-edge-label.pf-feedback{fill:#c0afe6}.pf-node{position:absolute;display:flex;flex-direction:column;align-items:stretch;text-align:left;width:208px;height:128px;padding:13px 14px;background:#112831;border:1px solid #38565e;border-radius:4px 12px 4px 4px;box-shadow:0 5px 15px #0002;user-select:none;touch-action:none;color:var(--text);cursor:grab}
.pf-node:not(:disabled):hover{background:#19363e;border-color:#71998f}.pf-node[aria-pressed=true]{background:#1d3c3d;border-color:#9bd6bc;box-shadow:0 0 0 2px #9bd6bc22}
.pf-node::before,.pf-node::after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#a8bbb9;top:calc(50% - 4px);border:2px solid #0a1a22}.pf-node::before{left:-5px}.pf-node::after{right:-5px}
.pf-node-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;letter-spacing:1px;line-height:1.2}.pf-symbol{font:18px Georgia,serif;color:var(--mint);letter-spacing:0}
.pf-node strong{font-size:15px;font-weight:550;margin:7px 0 5px;line-height:1.2}.pf-node-detail{font-size:12px;line-height:1.45;color:#b1c8cb}.pf-node-foot{margin-top:auto;font-size:10px;letter-spacing:.2px;color:#92b4b6}
.pf-node[data-node=forecast]{padding-block:9px}
.pf-node[data-node=forecast] strong{font-size:14px;line-height:1.15;margin:4px 0}
.pf-node[data-node=forecast] .pf-node-detail{font-size:11px;line-height:1.3}
.pf-node[data-kind=input] .pf-symbol{color:var(--pf-input)}.pf-node[data-kind=solver] .pf-symbol{color:var(--pf-solver)}.pf-node[data-kind=output] .pf-symbol{color:var(--pf-output)}
.pf-node .pf-spark{position:absolute;right:12px;bottom:11px;width:62px;height:22px;opacity:.8}.pf-spark polyline{stroke:var(--pf-input);fill:none;stroke-width:2}
.pf-canvas-controls{position:absolute;bottom:12px;left:12px;z-index:2;display:flex;align-items:center;gap:4px;background:#112730ee;border:1px solid #365059;border-radius:5px;padding:4px;cursor:default}
.pf-canvas-controls button{padding:3px 9px;min-width:29px;font-size:12px;background:transparent;border-color:transparent}.pf-canvas-controls output{font-size:11px;color:var(--muted);min-width:34px;text-align:center}
.pf-canvas-help{position:absolute;left:14px;top:10px;right:14px;pointer-events:none;color:#76979f;font-size:11px}.pf-canvas-help span{float:right;color:#ab9bc8}
.pf-inspector{border-left:1px solid var(--edge);background:#10232b;overflow:auto;min-height:0;padding:19px 18px 24px}
.pf-inspector h2{font-size:18px;font-weight:500;margin:5px 0 10px}.pf-inspector p{line-height:1.65;font-size:12px;color:#b4cbd0;margin:9px 0}.pf-inspector .pf-kicker{color:var(--mint);font-size:10px;letter-spacing:1.1px}
.pf-inspector h3{font-size:12px;font-weight:600;margin:20px 0 8px;color:#d5e5e5}.pf-inspector ul{padding-left:17px;margin:8px 0;color:#b5cad0;font-size:12px;line-height:1.6}.pf-inspector li{margin:5px 0}
.pf-equation{font:16px/1.8 Cambria,'Times New Roman',serif;color:#deecec;white-space:pre-line;padding:12px 13px;border-left:2px solid #6f9c9a;background:#0d1d25;margin:14px 0;overflow-wrap:anywhere}
.pf-equation small{font:11px/1.5 'Segoe UI',sans-serif;display:block;color:#89a7b0;margin-top:5px}
.pf-field{display:block;margin:12px 0}.pf-field-head{display:flex;justify-content:space-between;gap:7px;font-size:12px;margin-bottom:5px}.pf-field-head small{color:var(--muted);font-size:10px;text-align:right}
.pf-field input,.pf-field select{width:100%;padding:7px 9px;border-color:#3c565e;background:#0a1d26;font-size:13px;font-variant-numeric:tabular-nums}.pf-field input:focus-visible,.pf-field select:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.pf-field input[aria-invalid=true]{border-color:#e6968f}
.pf-field code{font-size:10px;color:#839ca5;display:block;margin-top:3px}.pf-form-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.pf-form-actions button{font-size:12px;padding:7px 10px}.pf-errors{color:#f0a6a1;font-size:12px;line-height:1.5;margin-top:9px}
.pf-note{border-left:2px solid #9d885d;padding:4px 0 4px 11px!important;color:#d6bd8d!important}.pf-source{margin-top:16px;font-size:10px;color:#839fa9;line-height:1.6;overflow-wrap:anywhere}.pf-source code{color:#98b6be}
.pf-inspector .pf-mini-chart{display:block;width:100%;height:auto;margin:8px 0 14px}.pf-mini-chart text{font:11px 'Segoe UI',sans-serif;fill:#91abb4}.pf-mini-chart .pf-plot{fill:none;stroke-width:2.2;stroke:var(--pf-input)}.pf-mini-chart .pf-plot-ren{stroke:var(--pf-solver)}.pf-mini-chart .pf-plot-output{stroke:var(--pf-output)}
.pf-metric-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;padding:7px 0;border-bottom:1px solid #28434c}.pf-metric-line b{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.pf-hour{display:flex;align-items:center;gap:12px;margin:10px 0 18px;font-size:12px}.pf-hour input{flex:1;padding:0;accent-color:#a1ddbf}.pf-hour output{font-variant-numeric:tabular-nums;white-space:nowrap}
.pf-handoff{margin:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;font-size:12px}.pf-handoff dt{color:#c4dadb}.pf-handoff dd{margin:0;color:#a7d0b9}.pf-handoff dd.pending{color:#d4bb8b}
.pf-footer{padding:7px 16px;border-top:1px solid var(--edge);font-size:11px;color:#91aab3;display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;background:#0d1f27;flex:none}.pf-footer strong{font-weight:400;color:#cdb987}.pf-toast{position:absolute;bottom:58px;left:12px;right:12px;z-index:3;width:max-content;max-width:calc(100% - 24px);padding:8px 12px;background:#264238;border:1px solid #527967;border-radius:4px;color:#e1eee4;font-size:12px;cursor:default;pointer-events:none}
.pf-export{width:min(660px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;background:#102730;border:1px solid #567e78;border-radius:8px;color:var(--text);padding:22px}.pf-export::backdrop{background:#031016bb}.pf-export h2{font-size:19px;font-weight:500}.pf-export p{font-size:12px;color:#a5bfc6;margin:10px 0 14px}.pf-export label{font-size:12px}.pf-export textarea{display:block;width:100%;height:280px;resize:vertical;margin-top:7px;border:1px solid #395a63;background:#081920;color:#bcdbce;padding:12px;font:12px/1.5 Consolas,monospace}.pf-export a{border:1px solid #56726c;background:#254539;padding:7px 10px;border-radius:4px;font-size:12px}.pf-export .pf-export-status{color:var(--gold);margin-bottom:0}
.pf-run{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid #36584e;background:#16342d;flex:none}.pf-run[hidden]{display:none}.pf-run strong{font-size:12px}.pf-run [data-pf-progress]{display:block;font-size:11px;color:#bdd4c9;margin-top:4px}.pf-run-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.pf-run-actions span{font-size:11px;font-variant-numeric:tabular-nums;color:#a8c5ba}.pf-run button{font-size:12px;padding:6px 10px}.pf-technical{margin-top:20px;border-top:1px solid #29434d;padding-top:10px}.pf-technical summary,.pf-calculation-details summary{cursor:pointer;color:#a6bfc5;font-size:11px}.pf-calculation-details{max-width:100%}.pf-calculation-details[open]{width:100%}.pf-calculation-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;background:#081920;padding:12px;font:11px/1.5 Consolas,monospace}.pf-activate{max-width:450px;width:calc(100vw - 30px);background:#102730;border:1px solid #567e78;color:#d9ece6;border-radius:8px;padding:24px}.pf-activate::backdrop{background:#031016bb}.pf-activate h2{font-size:19px;margin:0 0 14px}.pf-activate p,.pf-activate label{font-size:13px;line-height:1.6;color:#bcd0d2}.pf-activate [data-pf-activation-error]{color:#e7b583}.pf-activate label{display:flex;gap:8px;align-items:flex-start}.pf-activate label[hidden]{display:none}.pf-activate input{margin-top:5px;width:auto}.pf-activate button.primary,.pf-toolbar button.primary,.pf-run button.primary{background:#245545;border-color:#6ca68a;color:#e0f1e7}
@media(max-width:800px){.pf-run{flex-wrap:wrap}.pf-run-actions{width:100%;justify-content:flex-end}.pf-run-actions span{margin-right:auto}}
@media(max-width:1150px){.pf-layout{grid-template-columns:minmax(0,1fr) 300px}.pf-inspector{padding:16px 14px}.pf-canvas-help span{display:none}}
@media(max-width:800px){#planningConfigurationsPanel{overflow:auto}.planner-flow{height:auto;min-height:100%}.pf-layout{display:flex;flex-direction:column;flex:none}.pf-graph{height:480px;flex:none;min-height:350px}.pf-inspector{overflow:visible;border-left:0;border-top:1px solid var(--edge);min-height:340px}.pf-toolbar{padding:9px 12px}.pf-toolbar-actions{width:100%}.pf-inspector form{max-width:520px}.pf-footer{padding:9px 12px}.pf-canvas-help{font-size:10px}.pf-status{max-width:none}}
@media(max-width:430px){.pf-graph{height:410px}.pf-canvas-help{right:10px}.pf-toolbar strong{font-size:12px}.pf-node strong{font-size:15px}.pf-inspector{padding:18px 14px}.pf-field input,.pf-field select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.pf-node{transition:none}}
