/* V2 Phase 2: editable topology and V2-generated runtime table */
.edge-edit-row{grid-template-columns:minmax(135px,1fr) 18px minmax(135px,1fr) 105px auto auto;align-items:end}.edge-edit-row>label{font-size:11px}.edge-edit-row>b{align-self:center;text-align:center;color:var(--primary)}.inactive-edge-box{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px}.inactive-edge-box summary{cursor:pointer;color:var(--primary);font-weight:700}.runtime-unit-form-section{margin:18px 0 24px}.runtime-unit-form-section .section-title{background:#eef7f9;border-left:4px solid var(--primary);padding:9px 12px}.runtime-view-switch{margin-left:auto}.process-drag-handle[draggable=true],.point-drag-handle[draggable=true]{user-select:none;-webkit-user-drag:element}.point-actions{grid-column:2/-1;justify-content:flex-end;height:auto;margin-top:2px}.history-protected{align-self:center;color:var(--muted);font-size:11px;padding:0 4px}.ghost-danger{background:#fff;color:var(--danger);border-color:#e8bdbd}.runtime-scope-switch{white-space:nowrap}
@media(max-width:1200px){.monitoring-point-row{overflow:visible;grid-template-columns:32px minmax(135px,1fr) 90px 125px 105px minmax(115px,.75fr) 90px}.point-actions{grid-column:2/-1}}
@media(max-width:1050px){.edge-edit-row{grid-template-columns:1fr 18px 1fr 110px}.edge-edit-row .btn{margin-top:4px}.runtime-view-switch{margin-left:0}}

/* Project pages: the top-right labels are real navigation, not decorative text. */
.project-quick-nav{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:400;white-space:nowrap}
.project-quick-nav a{padding:7px 5px;border-radius:6px;color:var(--muted);cursor:pointer}
.project-quick-nav a:hover,.project-quick-nav a:focus-visible{background:var(--soft);color:var(--primary);outline:none}
.project-quick-nav a.active{color:var(--primary);font-weight:700}
@media(max-width:700px){.project-quick-nav{font-size:11px;gap:3px}.project-quick-nav a{padding:7px 3px}}

/* Trial closure: independent water-flow/recycle management and input. */
.flow-config-panel{margin-top:18px}.flow-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.flow-config-head p,.section-help{color:var(--muted);font-size:13px;margin:-8px 0 14px;line-height:1.65}.flow-point-list{display:grid;gap:10px}.flow-point-row{display:grid;grid-template-columns:38px minmax(150px,1.2fr) repeat(3,minmax(120px,1fr));gap:9px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe}.flow-point-row.dragging{opacity:.55;border-color:var(--primary)}.flow-drag-handle{grid-row:1/3;height:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#f7fafb;color:var(--primary);font-size:20px;cursor:grab}.flow-drag-handle:active{cursor:grabbing}.flow-point-row label{font-size:11px}.flow-name{grid-column:2}.flow-type{grid-column:3}.flow-source-unit{grid-column:4}.flow-destination-unit{grid-column:5}.flow-summary{grid-column:2/4;grid-row:2;align-self:center;color:var(--muted);font-size:12px}.flow-summary small{display:block}.flow-actions{grid-column:4/6;grid-row:2;display:flex;justify-content:flex-end;gap:6px;align-items:center;min-height:42px}.flow-add-box{margin-top:16px;border-top:1px dashed var(--line);padding-top:14px}.flow-add-box summary{cursor:pointer;color:var(--primary);font-weight:700}.flow-add-form{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;gap:10px;align-items:end}.runtime-flow-form-section{margin:20px 0 26px;padding:2px 16px 16px;border:1px solid #cbe2e8;border-radius:12px;background:#f7fbfc}.runtime-flow-form-section .section-title{margin-top:16px}.quantity-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:14px}.quantity-entry-card{margin:0;border:1px solid #b8d4dd;border-radius:10px;background:#fff;padding:10px 12px 13px}.quantity-entry-card legend{padding:0 7px;color:#145e77;font-weight:800;text-align:center}.quantity-entry-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.flow-group-head{background:#dceff4!important;text-align:center!important;border-left:3px solid #6f9eae!important;border-right:3px solid #6f9eae!important}.dynamic-run-table .flow-point-head{text-align:center!important;background:#eef7f9!important;font-size:13px;font-weight:800}.dynamic-run-table .quantity-subhead{background:#f8fbfc!important}.dynamic-run-table .flow-boundary-start,.dynamic-run-table .unit-boundary-start,.dynamic-run-table .unit-group-head{border-left:3px solid #8eafba!important}.dynamic-run-table .unit-group-head{text-align:center!important}.flow-drag-handle[draggable=true]{user-select:none;-webkit-user-drag:element}
@media(max-width:1350px){.flow-point-row{grid-template-columns:38px repeat(2,minmax(170px,1fr));overflow:auto}.flow-name{grid-column:2}.flow-type{grid-column:3}.flow-source-unit{grid-column:2;grid-row:2}.flow-destination-unit{grid-column:3;grid-row:2}.flow-summary{grid-column:2/4;grid-row:3}.flow-actions{grid-column:2/4;grid-row:4}.flow-drag-handle{grid-row:1/5}.flow-add-form{grid-template-columns:repeat(2,minmax(160px,1fr))}.quantity-entry-grid{grid-template-columns:1fr}}
.dynamic-run-table thead tr:nth-child(3) th{top:74px}
.derived-metrics-panel{margin-top:18px}.derived-metrics-panel>p{color:var(--muted);font-size:13px;margin:-7px 0 14px}.derived-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.derived-metric-grid>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8fbfc}.derived-metric-grid small,.derived-metric-grid b{display:block}.derived-metric-grid small{color:var(--muted);margin-bottom:6px}.derived-metric-grid b{color:var(--primary)}
