:root{--paper:#f7f7f2;--ink:#1d2424;--muted:#66706f;--line:#d8ded8;--panel:#fff;--rail:#172322;--rail-soft:#223331;--moss:#476b55;--clay:#b85c38;--steel:#31546b;--gold:#d0a847;--bad:#a5483f;--warn:#9d7825;--ok:#37745a}*{box-sizing:border-box}html,body{min-height:100%}body{background:linear-gradient(135deg, #31546b14, transparent 34%), linear-gradient(225deg, #b85c3814, transparent 30%), var(--paper);color:var(--ink);margin:0;font-family:Aptos,Segoe UI,Noto Sans,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.workspace{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:linear-gradient(180deg, #476b5533, transparent 42%), var(--rail);color:#eef4ed;border-right:1px solid #ffffff14;flex-direction:column;gap:28px;padding:28px 20px;display:flex}.brand{color:inherit;align-items:center;gap:12px;display:flex}.brandMark{background:var(--gold);color:#172322;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:24px;font-weight:700;display:grid}.brand p,.brand span,.sourceBox p,.eyebrow,h1,h2,h3{margin:0}.brand p{letter-spacing:0;font-weight:800}.brand span{color:#aebbb6;font-size:13px}.navGroup{gap:8px;display:grid}.navItem{color:#dce8e2;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px;display:flex}.navItem.active,.navItem:hover{background:var(--rail-soft)}.sourceBox{background:#ffffff0a;border:1px solid #ffffff24;margin-top:auto;padding:16px}.sourceBox span,.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:800}.sourceBox span{color:#aebbb6}.sourceBox strong{margin:8px 0;display:block}.sourceBox p{color:#c6d1cc;font-size:13px;line-height:1.45}.content{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}h1{letter-spacing:0;max-width:920px;margin-top:6px;font-family:Georgia,Noto Serif,serif;font-size:clamp(30px,4vw,52px);line-height:1.02}.search{background:var(--panel);border:1px solid var(--line);align-items:center;gap:10px;min-width:340px;padding:12px 14px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;column-gap:10px;min-height:96px;padding:16px;display:grid}.metric svg{color:var(--steel)}.metric strong{font-family:Georgia,serif;font-size:34px}.metric span{color:var(--muted);grid-column:1/-1;margin-top:6px}.split{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.projectList,.detail,.panel,.reportTrace,.mapPreviewPanel,.reportMap,.tableArea{border:1px solid var(--line);background:#ffffffc7;min-width:0}.projectList{padding:14px;position:sticky;top:18px}.sectionTitle,.panelTitle,.detailHead{justify-content:space-between;align-items:center;gap:16px;display:flex}.sectionTitle h2,.sectionTitle h3,.panelTitle h3,.detail h2{letter-spacing:0;font-family:Georgia,Noto Serif,serif}.sectionTitle span{background:var(--ink);color:#fff;place-items:center;min-width:28px;min-height:28px;font-weight:700;display:grid}.projectRow{text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:1fr auto;align-items:start;gap:12px;width:100%;margin-top:10px;padding:14px 10px;display:grid}.projectRow button{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}.projectRow strong,.projectRow span,.projectRow button{display:block}.projectRow span,.projectRow small{color:var(--muted)}.projectRow.selected{border-color:var(--moss);background:#eef4ed}.projectRow small{border:1px solid var(--line);white-space:nowrap;background:#fff;grid-column:1/-1;justify-self:start;padding:4px 7px}.projectRow a{border:1px solid var(--line);width:32px;height:32px;color:var(--steel);background:#fff;place-items:center;display:grid}.createProjectBox{border:1px solid var(--line);background:#fff;gap:8px;margin:14px 0;padding:12px;display:grid}.createProjectBox input,.createProjectBox select{border:1px solid var(--line);background:#fdfdf9;width:100%;min-height:38px;padding:8px 10px}.createProjectGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.createProjectBox .primaryAction{justify-content:center;width:100%}.formError{color:var(--bad);font-weight:800}.emptyList{border:1px dashed var(--line);color:var(--muted);background:#f8f8f2;margin:14px 0 4px;padding:12px;line-height:1.35}.detail{padding:20px}.fullDetail{max-width:1280px}.detail h2{margin-top:4px;font-size:34px}.progressDial{border:8px solid #dfe7df;border-top-color:var(--ok);border-right-color:var(--gold);border-radius:999px;flex:none;place-items:center;width:72px;height:72px;font-weight:800;display:grid}.statusLine{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.statusLine div{color:var(--muted);min-width:0;font-size:12px;font-weight:700}.statusLine i{background:#dde3df;height:5px;margin-bottom:8px;display:block}.statusLine .done{color:var(--ink)}.statusLine .done i{background:linear-gradient(90deg, var(--moss), var(--gold))}.editorStatusLine{margin:12px 0}.workflowEditorPanel{border-left:4px solid var(--steel)}.noteComposer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:10px;display:grid}.projectNoteList{gap:8px;margin-top:12px;display:grid}.projectNoteItem{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.projectNoteItem p{color:#4d5147;margin:0;line-height:1.35}.facts,.columns{gap:12px;display:grid}.facts{grid-template-columns:1.4fr .8fr .7fr .7fr}.facts div{border:1px solid var(--line);background:#fff;min-width:0;padding:14px}.facts svg{color:var(--clay)}.facts span,.facts strong{display:block}.facts span{color:var(--muted);margin:8px 0 4px;font-size:12px}.columns{grid-template-columns:1.2fr .8fr;margin-top:12px}.validationPanel{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(220px,.8fr) auto minmax(280px,1.4fr);align-items:start;gap:16px;margin-top:12px;padding:16px;display:grid}.validationPanel.blocked{border-left:5px solid var(--bad)}.validationPanel.pass{border-left:5px solid var(--ok)}.validationPanel h3{margin-top:4px;font-family:Georgia,Noto Serif,serif;font-size:22px}.validationStats{gap:8px;display:grid}.validationStats span{border:1px solid var(--line);background:#f4f5f0;min-width:140px;padding:8px 10px;font-weight:800;display:block}.reportTrace{gap:14px;margin-top:12px;padding:16px;display:grid}.reportTraceGrid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;display:grid}.reportTraceItem{background:#fff;gap:7px;min-height:118px;padding:12px;display:grid}.reportTraceItem span,.reportTraceItem small{color:var(--muted);font-size:12px;line-height:1.35}.reportTraceItem span{text-transform:uppercase;font-weight:800}.reportTraceItem strong{color:var(--steel);font-family:Georgia,Noto Serif,serif;font-size:26px;line-height:1}.reportHistory,.sourceMediaPreview{gap:10px;display:grid}.sourceMediaPreviewGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.sourceMediaPreviewItem{border:1px solid var(--line);color:var(--ink);background:#fff;gap:7px;min-width:0;padding:8px;text-decoration:none;display:grid}.sourceMediaPreviewItem img{aspect-ratio:1.35;object-fit:contain;border:1px solid var(--line);background:#f3f4ee;width:100%}.sourceMediaPreviewItem span{font-weight:800;line-height:1.25}.sourceMediaPreviewItem small{color:var(--muted);overflow-wrap:anywhere;line-height:1.35}.mapPreviewPanel{gap:14px;margin-top:12px;padding:16px;display:grid}.mapPreviewGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.mapPreviewItem{border:1px solid var(--line);color:var(--ink);background:#fff;gap:7px;padding:8px;text-decoration:none;display:grid}.mapPreviewItem img{aspect-ratio:1.4;object-fit:contain;border:1px solid var(--line);background:#f3f4ee;width:100%}.mapPreviewItem span{font-weight:800;line-height:1.25}.mapPreviewItem small{color:var(--muted);line-height:1.35}.emptyMap{align-content:center;min-height:120px}.issueList{gap:6px;display:grid}.issueList p{background:#fff8e5;border:1px solid #eadfbf;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;line-height:1.35;display:flex}.issueList p.blocker{background:#fff0ed;border-color:#e7c1ba}.issueList svg{color:var(--warn);flex:none;margin-top:2px}.issueList .blocker svg{color:var(--bad)}.panel,.reportMap,.tableArea{padding:16px}.projectTopbar{align-items:flex-start}.backLink{color:var(--steel);align-items:center;gap:6px;margin-bottom:12px;font-weight:800;display:inline-flex}.headerActions,.actionStrip,.buttonCluster{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.actionStrip{justify-content:flex-start;margin-top:12px}.primaryAction,.secondaryAction,.statusBadge{border:1px solid var(--line);background:#fff;align-items:center;gap:8px;min-height:42px;padding:10px 13px;font-weight:800;display:inline-flex}.primaryAction{background:var(--ink);border-color:var(--ink);color:#fff}.primaryAction.disabled{background:var(--warn);border-color:var(--warn)}.primaryAction:disabled{cursor:wait;opacity:.74}.secondaryAction{color:var(--steel)}.statusBadge.pass{color:var(--ok);background:#eef6f0;border-color:#b9d4c7}.statusBadge.blocked{color:var(--bad);background:#fff0ed;border-color:#e7c1ba}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.editorToolbar{border:1px solid var(--line);background:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.editorToolbar h3{margin-top:4px;font-family:Georgia,Noto Serif,serif}.dataGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dataField{gap:6px;display:grid}.dataField span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.dataField input,.dataField select,.dataField textarea,.statusEditor select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;padding:9px 10px}.dataField textarea{resize:vertical;min-height:78px}.facilityEditorList,.statusEditorList{gap:12px;display:grid}.inputSummaryGrid,.inputSummaryBand{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.inputSummaryGrid{margin-bottom:12px}.inputSummaryBand{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.inputSummaryItem{border-left:3px solid var(--steel);background:#f7f8f4;gap:4px;min-height:76px;padding:9px 10px;display:grid}.inputSummaryItem.blocked{border-left-color:var(--clay)}.inputSummaryItem span,.inputSummaryItem small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.25}.inputSummaryItem strong{color:var(--ink);font-family:Georgia,Noto Serif,serif;font-size:22px;line-height:1}.facilityEditor{border:1px solid var(--line);background:#fff;padding:12px}.facilityEditor>span{color:var(--clay);text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:800;display:inline-flex}.calculationEditor{border-left:4px solid var(--steel)}.editorItemHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.editorItemHead>span{color:var(--clay);text-transform:uppercase;font-size:12px;font-weight:800}.statusEditor{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px;padding:9px;display:grid}.statusEditor.sourceEditor{grid-template-columns:minmax(0,1fr) 150px 96px}.statusEditor span{line-height:1.25;display:block}.sourceMeta{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.sourceMeta small{border:1px solid var(--line);color:var(--muted);background:#f2f4ef;padding:3px 6px;line-height:1.2;display:inline-flex}.editorIssues{margin-top:12px}.attachmentList{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.attachmentList small,.attachmentList a{border:1px solid var(--line);color:var(--muted);background:#f7f7f2;align-items:center;gap:4px;padding:4px 6px;text-decoration:none;display:inline-flex}.uploadButton{border:1px solid var(--line);min-height:40px;color:var(--steel);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}.uploadButton input{display:none}.labProtocolEditor,.externalSourceEditor,.appendixEditor{border:1px solid var(--line);background:#fff}.labProtocolEditor .statusEditor,.externalSourceEditor .statusEditor,.appendixEditor .statusEditor{border:0;border-bottom:1px solid var(--line)}.externalSourceGrid,.appendixGrid{background:#fbfbf7;padding:10px}.inlineToggle{border:1px solid var(--line);min-height:40px;color:var(--steel);text-transform:uppercase;background:#fff;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.inlineToggle input{width:16px;height:16px;accent-color:var(--steel)}.checkboxGrid{flex-wrap:wrap;gap:6px;min-height:40px;display:flex}.appendixLinks{grid-column:1/-1}.labProtocolMetaGrid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;margin-top:8px;display:grid}.labProtocolMetaGrid .dataField span{font-size:10px}.labProtocolMetaGrid .dataField input{min-height:34px;padding:7px 8px}.indicatorEditor{background:#fbfbf7;padding:10px}.indicatorHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.indicatorHead span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.miniAction,.iconButton{border:1px solid var(--line);color:var(--steel);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:6px;min-height:34px;font-weight:800;display:inline-flex}.miniAction{padding:0 10px}.iconButton{width:36px}.iconButton.danger{color:var(--bad)}.indicatorRows{gap:6px;display:grid}.indicatorRow{grid-template-columns:minmax(150px,1.3fr) minmax(90px,.7fr) minmax(70px,.55fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(130px,.85fr) 36px;align-items:center;gap:6px;display:grid}.indicatorRow input,.indicatorRow select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);background:#fff;padding:7px 8px}.emptyHint{color:var(--muted);margin:0;font-size:13px}.waterTreatmentBox{background:#fff8e5;border:1px solid #d7c99d;gap:12px;margin-top:12px;padding:14px;display:grid}.waterTreatmentBox h4,.waterTreatmentBox p{margin:0}.waterTreatmentBox h4{margin-top:3px;font-family:Georgia,Noto Serif,serif;font-size:20px}.waterTreatmentBox p{color:#4d5147;line-height:1.4}.decisionField{gap:6px;display:grid}.decisionField span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.decisionField strong{min-height:40px;color:var(--ink);background:#fff;border:1px solid #d7c99d;align-items:center;padding:9px 10px;display:flex}.actionPlanEditor{gap:10px;display:grid}.actionPlanRow{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:8px;min-width:0;padding:10px;display:grid}.actionPlanRow.generated{border-left:4px solid var(--clay);background:#fffaf6}.actionPlanControls{align-items:center;gap:6px;min-width:0;display:grid}.actionPlanControls small{color:var(--muted);font-size:12px}.panelTitle{justify-content:flex-start;margin-bottom:14px}.panelTitle.splitTitle{justify-content:space-between}.panelTitle svg{color:var(--steel)}.checkGrid{gap:8px;display:grid}.checkItem{border:1px solid var(--line);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px;display:grid}.checkItem svg{color:var(--ok)}.checkItem.needs-review svg{color:var(--warn)}.checkItem.received svg{color:var(--steel)}.checkItem.missing svg{color:var(--bad)}.checkItem span{min-width:0}.checkItem small{color:var(--muted)}.facilityList{gap:10px;display:grid}.facility{border-left:4px solid var(--steel);background:#fff;padding:12px}.facility span{color:var(--clay);text-transform:uppercase;font-size:12px;font-weight:800}.facility strong,.facility small{display:block}.facility p{color:var(--muted);margin:6px 0;line-height:1.35}.appendixList{gap:8px;display:grid}.appendix{border:1px solid var(--line);background:#fff;grid-template-columns:32px 1fr auto;align-items:start;gap:10px;padding:9px;display:grid}.appendix strong{background:var(--ink);color:#fff;place-items:center;height:28px;display:grid}.appendix span{line-height:1.3}.appendix small{color:var(--muted)}.appendix.needs-review{border-left:4px solid var(--warn)}.appendix.received{border-left:4px solid var(--steel)}.appendix.missing{border-left:4px solid var(--bad)}.reportMap,.tableArea,.notes{margin-top:12px}.sectionGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.sectionPreviewGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:14px;display:grid}.sectionChip{border:1px solid var(--line);background:#fff;min-height:86px;padding:10px}.sectionChip span{background:var(--ink);color:#fff;place-items:center;min-width:26px;height:24px;margin-bottom:8px;font-weight:800;display:inline-grid}.sectionChip p{color:#273030;margin:0;line-height:1.25}.sectionPreview{gap:8px;min-height:176px;display:grid}.sectionPreviewHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.sectionPreviewHead span{margin-bottom:0}.sectionPreviewHead strong{color:var(--muted);text-transform:uppercase;font-size:12px}.sectionPreview.ready .sectionPreviewHead strong{color:var(--ok)}.sectionPreview.partial .sectionPreviewHead strong{color:var(--warn)}.sectionPreview.missing .sectionPreviewHead strong,.sectionIssue{color:var(--bad)}.sectionPreview ul{color:var(--muted);gap:4px;margin:0;padding-left:16px;font-size:12px;line-height:1.35;display:grid}.sectionPreview small{color:var(--muted);line-height:1.35}.sectionChip.calculation{border-top:4px solid var(--clay)}.sectionChip.field-data{border-top:4px solid var(--steel)}.sectionChip.measures{border-top:4px solid var(--moss)}.sectionChip.appendix{border-top:4px solid var(--gold)}.tableRows{border:1px solid var(--line);background:var(--line);gap:1px;display:grid}.tableRow{background:#fff;grid-template-columns:110px 1fr 190px;align-items:center;gap:12px;padding:11px 12px;display:grid}.tableRow strong{color:var(--steel)}.tableRow small{color:var(--muted)}.reportHistoryRow a{color:var(--steel);text-underline-offset:3px;font-weight:800;text-decoration:underline;text-decoration-thickness:1px}.reportHistoryTrace{border-top:1px solid var(--line);grid-column:1/-1;padding-top:4px}.notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.notes p{background:#fff8e5;border:1px solid #eadfbf;margin:0;padding:12px;line-height:1.4}@media (max-width:1180px){.workspace,.split,.columns,.facts,.validationPanel,.formGrid{grid-template-columns:minmax(0,1fr)}.rail,.projectList{position:static}.sectionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.content{padding:16px}.topbar,.detailHead,.editorToolbar{flex-direction:column;align-items:stretch}.headerActions{justify-content:flex-start}.search{width:100%;min-width:0}.metrics,.sectionGrid,.notes,.statusLine,.tableRow,.dataGrid{grid-template-columns:minmax(0,1fr)}.inputSummaryBand,.inputSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statusEditor,.statusEditor.sourceEditor,.indicatorRow,.labProtocolMetaGrid,.actionPlanRow{grid-template-columns:minmax(0,1fr)}.iconButton{width:100%}}
