.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{color:#202422;font-synthesis:none;text-rendering:optimizelegibility;--brand:#8f332c;--brand-deep:#6f251f;--brand-soft:#f3e7e4;--ink:#202422;--muted:#676d69;--faint:#8a908c;--line:#dfe2dc;--line-strong:#cdd2ca;--surface:#fbfcf9;--surface-soft:#f6f7f3;--surface-raised:#fff;--success:#35705a;--success-soft:#e4f0e9;--warning:#a66b22;--warning-soft:#f5ead9;--danger:#a6413b;--danger-soft:#f4e2df;--canvas-grid:#cfd4cd;--shadow-sm:0 1px 2px #1f28230d, 0 8px 24px #1f282309;--shadow-lg:0 24px 72px #161c1926;--radius:14px;--radius-lg:20px;background:#f2f3ef;font-family:Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:#f2f3ef;min-width:0}body{background:#f2f3ef;min-width:0;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:2px;outline:3px solid #8f332c40}svg{flex:none;width:20px;height:20px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:10px;font-size:clamp(29px,2.4vw,42px);line-height:1.15}h2{letter-spacing:-.015em;margin-bottom:0;font-size:19px;line-height:1.35}h3{margin-bottom:0}.skip-link{z-index:999;color:#fff;background:var(--brand);border-radius:8px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .22s;display:grid}.app-shell[data-collapsed=true]{grid-template-columns:76px minmax(0,1fr)}.app-shell[data-immersive=true]{display:block}.sidebar{z-index:30;color:#e8ebe6;background:#202623;border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.brand-lockup{white-space:nowrap;align-items:center;gap:12px;height:78px;padding:0 20px;display:flex}.brand-lockup img{object-fit:contain;background:#f4f5f1;border-radius:6px;height:34px;padding:4px 6px}.brand-lockup .brand-master{width:68px}.brand-lockup .brand-micro{width:38px;display:none}.brand-lockup span{flex-direction:column;gap:2px;display:flex}.brand-lockup strong{letter-spacing:.01em;font-size:15px}.brand-lockup small{color:#929a95;font-size:11px}.side-navigation{scrollbar-width:thin;scrollbar-color:#454e49 transparent;padding:4px 12px 16px;overflow-y:auto}.nav-group-label{color:#747e78;letter-spacing:.14em;height:26px;margin:18px 10px 5px;font-size:10px;font-weight:600}.nav-item{color:#aab1ad;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;width:100%;height:42px;padding:0 11px;transition:all .16s;display:flex}.nav-item svg{width:18px;height:18px}.nav-item:hover{color:#fff;background:#ffffff0e}.nav-item[data-active=true]{color:#fff;background:#ffffff17;border-color:#ffffff14;box-shadow:inset 3px 0 #b95a50}.project-identity{white-space:nowrap;background:#ffffff09;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;margin:3px 0 10px;padding:9px;display:flex}.project-monogram{color:#fff;background:var(--brand);border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.project-identity-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.project-identity-copy strong{text-overflow:ellipsis;max-width:175px;font-size:11px;overflow:hidden}.project-identity-copy small{color:#828b86;font-size:10px}.sidebar-footer{border-top:1px solid #ffffff0f;margin-top:auto;padding:12px}.sidebar-collapse{color:#99a29c;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;height:38px;padding:0 11px;display:flex}.sidebar-collapse:hover{color:#fff;background:#ffffff0d}.sidebar-collapse svg{width:17px}.local-badge{color:#707a74;white-space:nowrap;align-items:center;gap:7px;margin:10px 10px 3px;font-size:10px;display:flex}.local-dot{background:#6b9b7f;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #6b9b7f1c}.app-shell[data-collapsed=true] .brand-lockup span,.app-shell[data-collapsed=true] .nav-item span,.app-shell[data-collapsed=true] .nav-group-label,.app-shell[data-collapsed=true] .project-identity-copy,.app-shell[data-collapsed=true] .sidebar-collapse span,.app-shell[data-collapsed=true] .local-badge{opacity:0;width:0;overflow:hidden}.app-shell[data-collapsed=true] .brand-lockup{padding:0 18px}.app-shell[data-collapsed=true] .brand-master{display:none}.app-shell[data-collapsed=true] .brand-micro{display:block}.app-shell[data-collapsed=true] .project-identity{padding:9px 10px}.workspace{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#f6f7f3d6;border-bottom:1px solid #cdd2cad1;grid-template-columns:minmax(180px,1fr) minmax(260px,420px) minmax(120px,1fr);align-items:center;gap:20px;height:64px;padding:0 30px;display:grid;position:sticky;top:0}.breadcrumbs{min-width:0;color:var(--faint);align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumbs svg{width:13px}.breadcrumbs strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-trigger{height:36px;color:var(--faint);border:1px solid var(--line);text-align:left;background:#ffffffb3;border-radius:9px;align-items:center;gap:9px;padding:0 11px;display:flex}.search-trigger:hover{border-color:var(--line-strong);background:#fff}.search-trigger svg{width:16px}.search-trigger span{flex:1;font-size:14px}kbd{color:var(--faint);border:1px solid var(--line);background:#eef0eb;border-radius:5px;padding:2px 6px;font:10px IBM Plex Mono,monospace}.topbar-status{color:var(--muted);justify-self:end;align-items:center;gap:8px;font-size:11px;display:flex}.topbar-status i{background:#c88b3c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #c88b3c1f}.mobile-menu-button{display:none}.main-content{min-width:0}.page{width:min(1480px,100%);min-height:calc(100vh - 64px);margin:0 auto;padding:38px clamp(22px,3.2vw,52px) 72px}.page-hero{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px;display:flex}.page-hero>div:first-child{max-width:850px}.page-hero h1{color:#222623}.compact-hero{align-items:center}.hero-copy{max-width:720px;color:var(--muted);margin:0;font-size:16px;line-height:1.75}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:13px;font-weight:700}.hero-actions,.toolbar-actions{flex:none;gap:10px;display:flex}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button svg{width:15px}.button.primary{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 8px 18px #8f332c29}.button.primary:hover{background:var(--brand-deep)}.button.secondary{color:var(--ink);background:var(--surface-raised);border-color:var(--line-strong)}.button.secondary:hover,.button.ghost:hover{background:#fff;border-color:#aeb5ac}.button.ghost{color:var(--muted);border-color:var(--line);background:0 0}.full-width{width:100%}.text-button{color:var(--brand);background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-size:14px;font-weight:600;display:inline-flex}.text-button svg{width:13px}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;padding:0;display:grid}.icon-button:hover{background:var(--surface-soft);border-color:var(--line)}.icon-button svg{width:17px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-header .eyebrow{margin-bottom:4px}.notice-strip{color:#4e5953;background:#edf2ed;border:1px solid #d8e1d9;border-radius:11px;align-items:center;gap:13px;min-height:58px;margin-bottom:22px;padding:12px 17px;display:flex}.notice-strip>svg{color:var(--success)}.notice-strip>div{flex-wrap:wrap;gap:5px 12px;line-height:1.5;display:flex}.notice-strip strong{color:var(--ink);font-size:14px}.notice-strip span{font-size:14px}.notice-strip.warning{background:var(--warning-soft);border-color:#ead7ba}.notice-strip.warning>svg{color:var(--warning)}.notice-strip.critical{background:var(--danger-soft);border-color:#e9c9c5}.notice-strip.critical>svg{color:var(--danger)}.notice-strip.critical button{color:var(--brand);white-space:nowrap;background:0 0;border:0;margin-left:auto;padding:7px 10px;font-size:11px;font-weight:700}.status{width:fit-content;min-height:30px;color:var(--muted);white-space:nowrap;background:#edf0ec;border:1px solid #dce0da;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:14px;font-weight:600;display:inline-flex}.status svg{width:14px;height:14px}.status[data-status=进行中],.status[data-status=可开始]{color:#31644f;background:var(--success-soft);border-color:#cee0d5}.status[data-status=待复核]{color:#85571e;background:var(--warning-soft);border-color:#e8d5b7}.status[data-status=已阻塞],.status[data-status=需要复算],.status[data-status=方法不一致]{color:#8d3732;background:var(--danger-soft);border-color:#e8c7c4}.status[data-status=已通过]{color:#2f6650;background:var(--success-soft)}.status[data-status=未录入],.status[data-status=缺少计算],.status[data-status=已被替代]{color:#6e746f;background:#eceeeb}.overview-hero{min-height:124px;padding-top:12px}.metric-grid{grid-template-columns:1.35fr 1fr 1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:136px;box-shadow:var(--shadow-sm);flex-direction:column;padding:19px;display:flex}.metric-card.accent-card{color:#fff;background:linear-gradient(135deg,#8f332c 0%,#682922 100%);border-color:#7b2d27}.metric-label{color:var(--faint);letter-spacing:.06em;margin-bottom:20px;font-size:13px;font-weight:600}.accent-card .metric-label,.accent-card .metric-note{color:#ffffffad}.metric-main{max-width:230px;font-size:17px;line-height:1.45}.metric-value{font-size:17px}.metric-note{color:var(--muted);margin-top:auto;font-size:14px;line-height:1.45}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:18px;display:grid}.dashboard-grid>.panel{padding:22px}.stage-panel{min-height:310px}.stage-track{grid-template-columns:repeat(4,1fr);margin-top:50px;display:grid;position:relative}.stage-track:before{content:"";background:var(--line-strong);height:1px;position:absolute;top:18px;left:12.5%;right:12.5%}.stage-item{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:13px;display:flex;position:relative}.stage-index{width:38px;height:38px;color:var(--faint);background:var(--surface);border:1px solid var(--line-strong);border-radius:50%;place-items:center;font:10px IBM Plex Mono,monospace;display:grid}.stage-item[data-current=true] .stage-index{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 6px var(--brand-soft)}.stage-item>div{flex-direction:column;align-items:center;gap:10px;display:flex}.stage-item strong{font-size:15px}.focus-panel{min-height:310px}.focus-list{margin:18px -7px -7px}.focus-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:flex-start;gap:11px;width:100%;padding:12px 8px;display:flex}.focus-list button:last-child{border-bottom:0}.focus-list button:hover{background:var(--surface-soft);border-radius:8px}.focus-check{width:28px;height:28px;color:var(--brand);background:var(--brand-soft);border-radius:7px;place-items:center;display:grid}.focus-check svg{width:14px}.focus-list button>span:last-child{flex-direction:column;gap:4px;display:flex}.focus-list strong{font-size:15px}.focus-list small{color:var(--muted);font-size:13px}.activity-panel{min-height:260px}.sample-tag{color:var(--faint);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:9px}.timeline{margin-top:20px}.timeline>div{grid-template-columns:14px minmax(0,1fr) auto;align-items:start;gap:10px;padding:9px 0;display:grid}.timeline-dot{border:2px solid var(--surface);background:#afb4af;border-radius:50%;width:8px;height:8px;margin-top:4px;box-shadow:0 0 0 1px #afb4af}.timeline-dot.active{background:var(--warning);box-shadow:0 0 0 1px var(--warning)}.timeline-dot.blocked{background:var(--danger);box-shadow:0 0 0 1px var(--danger)}.timeline p{flex-direction:column;gap:3px;margin:0;display:flex}.timeline strong{font-size:15px}.timeline small{color:var(--muted);font-size:13px}.evidence-panel{grid-template-columns:1fr auto;align-items:center;display:grid}.evidence-panel .panel-header{align-self:start}.evidence-panel>p{color:var(--muted);grid-column:1/-1;margin:20px 0 0;font-size:14px;line-height:1.7}.evidence-ring{background:conic-gradient(var(--line-strong) 0 8%, #eceeea 8% 100%);border:8px solid var(--surface);width:92px;height:92px;box-shadow:0 0 0 1px var(--line);border-radius:50%;align-content:center;place-items:center;display:grid}.evidence-ring span{font-size:22px;font-weight:700}.evidence-ring small{color:var(--faint);font-size:9px}.project-code{width:fit-content;color:var(--brand);background:var(--brand-soft);border-radius:6px;margin-bottom:16px;padding:5px 8px;font:10px IBM Plex Mono,monospace}.project-summary-grid{grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px;display:grid}.project-summary-grid .panel,.two-column-grid .panel{padding:22px}.detail-list{margin:20px 0 0}.detail-list div{border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);gap:14px;padding:10px 0;display:grid}.detail-list dt{color:var(--faint);font-size:13px}.detail-list dd{margin:0;font-size:15px;font-weight:600}.detail-list.compact div{grid-template-columns:90px minmax(0,1fr);padding:9px 0}.project-question{color:#fff;background:#282e2b;border-color:#282e2b}.project-question .eyebrow{color:#d98b82}.project-question blockquote{letter-spacing:-.02em;margin:31px 0 22px;font-size:18px;font-weight:600;line-height:1.75}.project-question>p{color:#a8b0ab;margin-bottom:0;font-size:13px;line-height:1.7}.pathway-panel{margin-bottom:18px;padding:22px}.pathway-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.pathway-grid article{background:var(--surface-soft);border:1px solid var(--line);border-radius:11px;padding:18px}.pathway-grid article[data-highlight=true]{box-shadow:inset 0 3px 0 var(--brand);background:#f9f5f2;border-color:#d8b4af}.pathway-head{justify-content:space-between;align-items:center;display:flex}.pathway-head>span{font:700 18px IBM Plex Mono,monospace}.pathway-grid h3{margin-top:20px;font-size:16px}.pathway-grid p{min-height:46px;color:var(--muted);margin:8px 0 16px;font-size:14px;line-height:1.6}.pathway-grid footer{border-top:1px solid var(--line);justify-content:space-between;padding-top:12px;font-size:13px;display:flex}.pathway-grid footer span{color:var(--faint)}.two-column-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.milestone-list{margin-top:17px}.milestone-list>div{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 0;display:grid}.milestone-list>div>span{width:26px;height:26px;color:var(--faint);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:9px;display:grid}.milestone-list>div[data-state=current]>span{color:#fff;background:var(--brand);border-color:var(--brand)}.milestone-list p{flex-direction:column;gap:3px;margin:0;display:flex}.milestone-list strong{font-size:15px}.milestone-list small{color:var(--muted);font-size:13px}.risk-callout{background:var(--danger-soft);border:1px solid #e8cbc7;border-radius:10px;gap:13px;margin:18px 0;padding:15px;display:flex}.risk-callout>svg{color:var(--danger)}.risk-callout strong{font-size:15px}.risk-callout p{color:#765854;margin:6px 0 0;font-size:14px;line-height:1.6}.project-activity-panel,.linked-records-panel{margin-top:18px;padding:22px}.project-activity-grid,.linked-records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.linked-records-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-activity-grid article,.linked-records-grid article{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;gap:12px;padding:16px;display:flex}.project-activity-grid article>svg,.linked-records-grid article>svg{width:18px;color:var(--brand)}.project-activity-grid strong,.linked-records-grid strong{font-size:15px}.project-activity-grid p,.linked-records-grid p{color:var(--muted);margin:6px 0;font-size:14px;line-height:1.65}.project-activity-grid small{color:var(--faint);font-size:13px}.linked-records-grid .status{margin-top:6px}.workflow-page{flex-direction:column;width:100%;max-width:none;height:calc(100vh - 64px);min-height:680px;padding:24px 30px 30px;display:flex;overflow:hidden}.workflow-page[data-immersive=true]{color:#e6eae6;background:#181d1b;height:100vh;min-height:640px;padding:18px}.workflow-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.workflow-toolbar h1{margin-bottom:4px;font-size:28px}.workflow-toolbar p:last-child{color:var(--muted);margin:0;font-size:14px}.workflow-page[data-immersive=true] .workflow-toolbar p:last-child{color:#89918c}.segmented-control{background:#e9ebe7;border-radius:9px;width:fit-content;padding:3px;display:flex}.segmented-control button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:14px}.segmented-control button[data-active=true]{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 5px #1c231f17}.workflow-layout{background:var(--surface);border:1px solid var(--line);min-height:0;box-shadow:var(--shadow-sm);border-radius:13px;flex:1;grid-template-columns:minmax(0,1fr) 310px;display:grid;overflow:hidden}.workflow-canvas{background:#f7f8f5;width:100%;min-width:0;height:100%;min-height:0;position:relative}.workflow-detail{background:var(--surface);border-left:1px solid var(--line);padding:22px;overflow-y:auto}.workflow-detail header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-detail h2{font-size:21px}.detail-summary{color:var(--muted);margin:20px 0 0;font-size:14px;line-height:1.7}.acceptance-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;margin-top:17px;padding:13px}.acceptance-box strong{font-size:14px}.acceptance-box p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.detail-actions{gap:8px;margin-top:18px;display:grid}.workflow-node{width:230px;color:var(--ink);border:1px solid var(--line-strong);background:#fffffff2;border-radius:10px;padding:14px 15px 13px;transition:border-color .16s,box-shadow .16s,transform .16s;box-shadow:0 7px 18px #232a2614}.workflow-node:hover{transform:translateY(-1px)}.workflow-node[data-selected=true]{border-color:var(--brand);box-shadow:0 0 0 3px #8f332c1c,0 10px 24px #232a261a}.workflow-node-top{color:var(--faint);letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.workflow-node-top i{background:#9ea49f;border-radius:50%;width:7px;height:7px}.workflow-node[data-status=进行中] .workflow-node-top i,.workflow-node[data-status=可开始] .workflow-node-top i{background:var(--success)}.workflow-node[data-status=待复核] .workflow-node-top i{background:var(--warning)}.workflow-node[data-status=已阻塞] .workflow-node-top i{background:var(--danger)}.workflow-node>strong{font-size:16px;display:block}.workflow-node>p{color:var(--muted);margin:4px 0 13px;font-size:12px}.workflow-node footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.workflow-node footer>span:last-child{color:var(--faint);font-size:11px}.react-flow__handle{background:#909791;border:2px solid #fff;width:7px;height:7px}.react-flow__edge-path{stroke:#a9afa9}.react-flow__edge.edge-blocked .react-flow__edge-path{stroke:#c18a85;stroke-dasharray:5 5}.canvas-controls{z-index:5;border:1px solid var(--line);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-radius:9px;padding:4px;display:flex;position:absolute;bottom:16px;left:16px}.canvas-controls button{height:34px;color:var(--muted);border:0;border-right:1px solid var(--line);background:0 0;align-items:center;gap:5px;padding:0 9px;font-size:12px;display:flex}.canvas-controls button:last-child{border-right:0}.canvas-controls button:hover{color:var(--brand);background:var(--surface-soft);border-radius:6px}.canvas-controls svg{width:14px}.canvas-legend{z-index:4;color:var(--muted);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd1;border-radius:8px;gap:13px;padding:7px 10px;font-size:11px;display:flex;position:absolute;top:14px;left:14px}.canvas-legend span{align-items:center;gap:5px;display:flex}.canvas-legend i{border-radius:50%;width:6px;height:6px}.legend-ready{background:#6f927f}.legend-running{background:var(--success)}.legend-review{background:var(--warning)}.legend-blocked{background:var(--danger)}.legend-missing{background:#9ea49f}.workflow-list{height:100%;padding:12px;overflow-y:auto}.workflow-list .list-header{color:var(--faint);grid-template-columns:minmax(260px,1fr) 120px 120px 20px;padding:10px 14px 12px 60px;font-size:9px;display:grid}.workflow-list>button{border:1px solid #0000;border-top-color:var(--line);text-align:left;background:0 0;grid-template-columns:34px minmax(200px,1fr) 120px 120px 20px;align-items:center;gap:12px;width:100%;min-height:68px;padding:9px 14px;display:grid}.workflow-list>button:hover,.workflow-list>button[data-selected=true]{border-color:var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:9px}.list-order{color:var(--faint);font:10px IBM Plex Mono,monospace}.list-title{flex-direction:column;gap:4px;display:flex}.list-title strong{font-size:16px}.list-title small,.list-runs{color:var(--muted);font-size:13px}.workflow-list>button>svg{width:14px;color:var(--faint)}.workflow-page[data-immersive=true] .workflow-layout{box-shadow:none;border-color:#323936}.workflow-page[data-immersive=true] .workflow-canvas{background:#1d2320}.workflow-page[data-immersive=true] .workflow-detail{color:#e6eae6;background:#222825;border-color:#343b37}.workflow-page[data-immersive=true] .workflow-detail .detail-list div,.workflow-page[data-immersive=true] .workflow-node footer{border-color:#3a413d}.workflow-page[data-immersive=true] .acceptance-box{background:#292f2c;border-color:#3a413d}.workflow-page[data-immersive=true] .workflow-node{color:#eef0ee;background:#272e2a;border-color:#434b46;box-shadow:0 8px 22px #00000040}.workflow-page[data-immersive=true] .workflow-node[data-selected=true]{border-color:#d16f65;box-shadow:0 0 0 3px #d16f6524}.workflow-page[data-immersive=true] .canvas-controls,.workflow-page[data-immersive=true] .canvas-legend{color:#c8ceca;background:#272e2ae6;border-color:#444c47}.workflow-page[data-immersive=true] .canvas-controls button{color:#bac1bc;border-color:#444c47}.workflow-page[data-immersive=true] .react-flow__edge-path{stroke:#65716a}.workflow-page[data-immersive=true] .segmented-control{background:#282e2b}.workflow-page[data-immersive=true] .segmented-control button{color:#aeb6b1}.workflow-page[data-immersive=true] .segmented-control button[data-active=true]{color:#fff;background:#3a423e}.calculation-table-panel{overflow:hidden}.filter-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:980px;font-size:14px}.data-table th{color:var(--faint);background:var(--surface-soft);border-bottom:1px solid var(--line);text-align:left;padding:11px 14px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover,.data-table tbody tr[data-selected=true]{background:#f8f4f1}.data-table td:first-child strong,.data-table td:first-child small,.data-table td:nth-child(6) strong,.data-table td:nth-child(6) small{display:block}.data-table td:first-child strong{font:500 13px IBM Plex Mono,monospace}.data-table td small{color:var(--faint);margin-top:3px;font-size:12px}.calculation-mobile-list{display:none}.calculation-mobile-list article{border-bottom:1px solid var(--line);padding:16px}.calculation-mobile-list article:last-child{border-bottom:0}.calculation-mobile-list article[data-selected=true]{background:#f8f4f1}.calculation-mobile-list header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calculation-mobile-list header>div{flex-direction:column;gap:4px;min-width:0;display:flex}.calculation-mobile-list header strong{font:600 14px IBM Plex Mono,monospace}.calculation-mobile-list header small{color:var(--faint);font-size:12px}.calculation-mobile-list dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin:17px 0 14px;display:grid}.calculation-mobile-list dl>div{min-width:0}.calculation-mobile-list dt{color:var(--faint);margin-bottom:5px;font-size:12px}.calculation-mobile-list dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.45}.calculation-mobile-open{width:100%;min-height:38px;color:var(--brand);border:0;border-top:1px solid var(--line);background:0 0;justify-content:flex-end;align-items:center;gap:5px;padding:0;font-size:14px;font-weight:600;display:flex}.calculation-mobile-open svg{width:14px}.run-state{white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.run-state i{background:var(--success);border-radius:50%;width:7px;height:7px}.run-state[data-run=运行中止]{color:var(--danger)}.run-state[data-run=运行中止] i{background:var(--danger)}.calculation-detail-grid{grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px;display:grid}.calculation-detail-grid .panel{padding:22px}.run-facts{background:var(--line);border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.run-facts div{background:var(--surface-soft);flex-direction:column;gap:7px;min-height:72px;padding:14px;display:flex}.run-facts span{color:var(--faint);font-size:12px}.run-facts strong{font-size:14px}.review-summary>p{color:var(--muted);margin:17px 0;font-size:14px;line-height:1.7}.review-checks{gap:8px;margin-bottom:18px;display:grid}.review-checks span{color:var(--success);align-items:center;gap:8px;font-size:14px;display:flex}.review-checks span[data-missing=true]{color:var(--danger)}.review-checks svg{width:14px}.matrix-panel{overflow:hidden}.matrix-scroll{overflow-x:auto}.research-matrix{border-collapse:collapse;width:100%;min-width:780px}.research-matrix th,.research-matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;min-width:180px;padding:15px 18px}.research-matrix th:last-child,.research-matrix td:last-child{border-right:0}.research-matrix thead th{color:#fff;background:#292f2c}.research-matrix thead th:first-child{background:#222724}.research-matrix thead span,.research-matrix thead small,.research-matrix tbody th strong,.research-matrix tbody th small{display:block}.research-matrix thead span{font:600 15px IBM Plex Mono,monospace}.research-matrix thead small{color:#aeb5b0;margin-top:4px;font-size:12px}.research-matrix tbody th{background:var(--surface-soft)}.research-matrix tbody th strong{font-size:14px}.research-matrix tbody th small{color:var(--faint);margin-top:4px;font-size:12px}.research-matrix tbody tr[data-alert=true] td{background:#fcf6f4}.research-matrix td .status{margin-bottom:12px}.matrix-value{color:var(--faint);font-size:15px;display:block}.matrix-footer{background:var(--surface-soft);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 18px;display:flex}.matrix-footer span{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.matrix-footer p{color:var(--faint);margin:0 0 0 auto;font-size:13px}.matrix-dot{border-radius:50%;width:6px;height:6px}.matrix-dot.review{background:var(--warning)}.matrix-dot.missing{background:#a8ada8}.matrix-dot.blocked{background:var(--danger)}.matrix-page .two-column-grid{margin-top:18px}.rule-list{margin-top:17px}.rule-list>div{border-top:1px solid var(--line);align-items:center;gap:11px;padding:10px 0;display:flex}.rule-list svg{color:var(--success);width:16px}.rule-list div:nth-child(n+2) svg{color:var(--danger)}.rule-list p{flex-direction:column;gap:3px;margin:0;display:flex}.rule-list strong{font-size:14px}.rule-list small{color:var(--muted);font-size:13px}.boundary-card{background:var(--warning-soft);border-radius:9px;gap:12px;margin:17px 0;padding:14px;display:flex}.boundary-card>svg{color:var(--warning)}.boundary-card p{flex-direction:column;gap:6px;margin:0;display:flex}.boundary-card strong{font-size:14px}.boundary-card span{color:#755d3d;font-size:13px;line-height:1.6}.backup-status-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px;display:grid}.storage-card{padding:22px}.storage-icon{width:38px;height:38px;color:var(--brand);background:var(--brand-soft);border-radius:10px;place-items:center;margin-bottom:22px;display:grid}.storage-icon.safe{color:var(--success);background:var(--success-soft)}.storage-icon.muted{color:var(--faint);background:#eceeeb}.storage-card h2{margin-bottom:17px}.large-state{font-size:17px;display:block}.storage-card>p:not(.eyebrow){min-height:56px;color:var(--muted);margin:8px 0 13px;font-size:14px;line-height:1.6}.recovery-design{margin-bottom:18px;padding:22px}.recovery-steps{grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr;align-items:center;gap:10px;margin-top:24px;display:grid}.recovery-steps>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;min-height:108px;padding:15px}.recovery-steps>svg{width:15px;color:var(--faint)}.recovery-steps>div>span{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:22px;height:22px;margin-bottom:12px;font-size:9px;display:grid}.recovery-steps p{flex-direction:column;gap:5px;margin:0;display:flex}.recovery-steps strong{font-size:14px}.recovery-steps small{color:var(--muted);font-size:12px;line-height:1.5}.security-boundary{padding:22px}.commitment-grid{grid-template-columns:repeat(2,1fr);gap:10px 28px;margin-top:20px;display:grid}.commitment-grid p{border-top:1px solid var(--line);color:var(--muted);gap:10px;margin:0;padding-top:10px;font-size:13px;line-height:1.6;display:flex}.commitment-grid svg{width:15px;color:var(--success)}.commitment-grid strong{color:var(--ink);font-size:14px;display:block}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:40px;display:flex}.empty-icon{width:52px;height:52px;color:var(--brand);background:var(--brand-soft);border-radius:15px;place-items:center;margin-bottom:18px;display:grid}.empty-state h2{font-size:20px}.empty-state p{max-width:520px;color:var(--muted);margin:10px auto 22px;font-size:16px;line-height:1.7}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#151a177a;place-items:center;padding:20px;animation:.18s fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface-raised);width:min(520px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-lg);border:1px solid #ffffffbf;border-radius:16px;animation:.2s rise-in;overflow-y:auto}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:62px;padding:0 20px;display:flex}.modal-header h2{font-size:16px}.modal-body{padding:20px}.modal-intro{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.6}.modal-body label{color:var(--muted);gap:7px;margin:14px 0;font-size:14px;display:grid}.modal-body input,.modal-body select,.modal-body textarea{width:100%;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:10px 11px}.modal-body textarea{resize:vertical;min-height:90px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.restore-preview{background:var(--warning-soft);border-radius:10px;gap:14px;padding:15px;display:flex}.restore-preview>svg{color:var(--warning)}.restore-preview strong{font-size:12px}.restore-preview p{color:#755d3d;margin:5px 0 0;font-size:9px;line-height:1.6}.search-modal{padding:16px}.search-modal>label{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;height:44px;padding:0 12px;display:flex}.search-modal label svg{width:17px;color:var(--faint)}.search-modal input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.search-modal>p{color:var(--faint);letter-spacing:.1em;margin:17px 8px 8px;font-size:12px;font-weight:600}.search-modal>div{grid-template-columns:repeat(2,1fr);gap:5px;display:grid}.search-modal>div button{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-height:42px;padding:0 10px;font-size:14px;display:flex}.search-modal>div button:hover{background:var(--surface-soft);border-color:var(--line)}.search-modal>div button span{flex:1}.search-modal>div button svg{width:14px;color:var(--faint)}.toast{z-index:120;color:#fff;max-width:380px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;background:#252b28;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;padding:12px 15px;font-size:10px;line-height:1.5;transition:all .22s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(20px)}.toast[data-visible=true]{opacity:1;transform:translateY(0)}.toast svg{color:#e29a91;width:16px}.drawer-backdrop{display:none}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}@media (width<=1180px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar .brand-lockup span,.sidebar .nav-item span,.sidebar .nav-group-label,.sidebar .project-identity-copy,.sidebar .sidebar-collapse span,.sidebar .local-badge{opacity:0;width:0;overflow:hidden}.sidebar .brand-lockup{padding:0 18px}.sidebar .brand-master{display:none}.sidebar .brand-micro{display:block}.sidebar .project-identity{padding:9px 10px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.workflow-layout{grid-template-columns:minmax(0,1fr) 280px}.topbar{padding:0 22px}}@media (width<=820px){.app-shell,.app-shell[data-collapsed=true]{display:block}.sidebar{display:none}.topbar{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;height:58px;padding:0 14px}.mobile-menu-button{border:1px solid var(--line);background:0 0;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid}.breadcrumbs>span,.breadcrumbs svg{display:none}.breadcrumbs{align-items:center;height:34px;line-height:1.2}.search-trigger{background:0 0;border:0;justify-content:center;width:34px;padding:0}.search-trigger span,.search-trigger kbd,.topbar-status{display:none}.page{min-height:calc(100vh - 58px);padding:26px 18px 56px}.page-hero{flex-direction:column;align-items:flex-start;gap:18px}.page-hero .hero-actions,.page-hero>.button{width:100%}.hero-actions .button{flex:1}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:128px}.project-summary-grid,.calculation-detail-grid,.two-column-grid,.project-activity-grid,.linked-records-grid,.pathway-grid{grid-template-columns:1fr}.pathway-grid p{min-height:0}.backup-status-grid{grid-template-columns:1fr}.storage-card>p:not(.eyebrow){min-height:0}.recovery-steps{grid-template-columns:1fr}.recovery-steps>svg{justify-self:center;transform:rotate(90deg)}.recovery-steps>div{min-height:auto}.workflow-page{height:auto;min-height:calc(100vh - 58px);padding:20px 14px 30px;overflow:visible}.workflow-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{width:100%}.toolbar-actions .segmented-control,.toolbar-actions .segmented-control button{flex:1}.desktop-only{display:none}.workflow-layout{flex-direction:column;min-height:680px;display:flex;overflow:visible}.workflow-canvas{flex:none;height:500px}.workflow-detail{border-top:1px solid var(--line);border-left:0}.workflow-layout[data-view=list] .workflow-canvas{height:auto;min-height:420px}.workflow-list .list-header{display:none}.workflow-list>button{grid-template-columns:30px minmax(150px,1fr) auto 16px}.workflow-list .list-runs{display:none}.workflow-page[data-immersive=true]{height:100vh;min-height:600px;padding:12px;overflow:hidden}.workflow-page[data-immersive=true] .workflow-toolbar{flex-direction:row;align-items:center}.workflow-page[data-immersive=true] .workflow-toolbar>div:first-child p{display:none}.workflow-page[data-immersive=true] .workflow-toolbar h1{margin:0;font-size:19px}.workflow-page[data-immersive=true] .workflow-layout{flex:1;min-height:0;overflow:hidden}.workflow-page[data-immersive=true] .workflow-canvas{flex:1;height:auto}.workflow-page[data-immersive=true] .workflow-detail{display:none}.drawer-backdrop{z-index:90;visibility:hidden;opacity:0;background:#12161475;transition:all .18s;display:block;position:fixed;inset:0}.drawer-backdrop[data-open=true]{visibility:visible;opacity:1}.mobile-drawer{color:#e8ebe6;background:#202623;width:min(300px,86vw);height:100%;transition:transform .22s;overflow-y:auto;transform:translate(-100%)}.drawer-backdrop[data-open=true] .mobile-drawer{transform:translate(0)}.drawer-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:70px;padding-right:13px;display:flex}.drawer-header .brand-lockup{height:auto;padding-left:16px}.drawer-header .brand-lockup span{opacity:1;width:auto}.drawer-header .brand-master{display:block}.drawer-header .brand-micro{display:none}.drawer-header .icon-button{color:#c4cbc7}.mobile-drawer .side-navigation{padding-top:12px}.commitment-grid{grid-template-columns:1fr}}@media (width<=767px){.calculations-page .filter-row{flex-direction:column;align-items:stretch;gap:10px}.calculations-page .filter-row .segmented-control{width:100%}.calculations-page .filter-row .segmented-control button{flex:1;min-width:0;padding-inline:7px}.calculations-page .filter-row>.button{align-self:flex-end;min-height:36px}.calculations-page .data-table-wrap{display:none}.calculation-mobile-list{display:block}}@media (width<=520px){h1{font-size:29px}.page{padding:22px 14px 46px}.page-hero{margin-bottom:22px}.page-hero>div:first-child,.hero-actions,.notice-strip>div{min-width:0}.hero-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.hero-actions .button{width:100%;min-width:0;padding-inline:8px}.notice-strip span{overflow-wrap:anywhere}.metric-grid{grid-template-columns:1fr;gap:10px}.metric-card{min-height:118px}.metric-label{margin-bottom:12px}.dashboard-grid{gap:12px}.dashboard-grid>.panel,.project-summary-grid .panel,.two-column-grid .panel,.pathway-panel,.calculation-detail-grid .panel,.storage-card,.recovery-design,.security-boundary{padding:17px}.stage-track{grid-template-columns:1fr;gap:0;margin-top:20px}.stage-track:before{width:1px;height:auto;inset:18px auto 18px 18px}.stage-item{text-align:left;flex-direction:row;min-height:70px}.stage-item>div{align-items:flex-start}.stage-index{flex:none}.evidence-panel{grid-template-columns:1fr}.evidence-ring{margin-top:18px}.evidence-panel>p{grid-column:auto}.notice-strip{align-items:flex-start}.notice-strip.critical{flex-wrap:wrap}.notice-strip.critical button{margin-left:31px}.pathway-grid{gap:10px}.filter-row{flex-direction:column;align-items:flex-start;gap:10px}.filter-row .segmented-control{max-width:100%;overflow-x:auto}.filter-row>.button{align-self:flex-end}.run-facts{grid-template-columns:1fr}.matrix-footer p{width:100%;margin-left:0}.recovery-design .panel-header h2{font-size:16px}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:18px 18px 0 0;width:100%;max-height:88vh}.search-modal>div{grid-template-columns:1fr}.toast{max-width:none;bottom:12px;left:12px;right:12px}.workflow-page{padding-inline:10px}.workflow-toolbar h1{font-size:25px}.workflow-canvas{height:440px}.workflow-list{padding:6px}.workflow-list>button{grid-template-columns:25px minmax(105px,1fr) auto 14px;gap:7px;padding-inline:8px}.workflow-list .status{padding:4px 7px}.canvas-controls span{display:none}.canvas-controls button{justify-content:center;width:34px;padding:0}.canvas-legend{gap:8px}.canvas-legend span{font-size:0}.workflow-page[data-immersive=true] .toolbar-actions{width:auto}.workflow-page[data-immersive=true] .segmented-control{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.topbar,.canvas-controls,.canvas-legend,.modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.topbar{background:#f6f7f3}.canvas-controls,.canvas-legend{background:#fff}.modal-backdrop{background:#151a17b8}}@media print{.sidebar,.topbar,.hero-actions,.toolbar-actions,.toast{display:none!important}.app-shell{display:block}.page{width:100%;padding:20px}.panel,.metric-card{box-shadow:none;break-inside:avoid}}.global-search{gap:16px;max-width:100%;display:grid}.global-search-input{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.global-search-input input{color:var(--ink);width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:none}.global-search-shortcuts button{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 10px;display:flex}.global-search-shortcuts button:hover,.global-search-shortcuts button:focus-visible{border-color:var(--ink)}.global-search-results{gap:8px;max-height:min(52vh,470px);padding:2px;display:grid;overflow-y:auto}.global-search-results button{text-align:left;background:var(--surface-soft);border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);cursor:pointer;border-radius:10px;grid-template-columns:1fr auto;gap:6px 12px;padding:12px 14px;display:grid}.global-search-results button:hover,.global-search-results button:focus-visible,.global-search-results button[data-focused=true]{border-color:var(--ink);background:var(--surface)}.global-search-results button strong,.global-search-results button small{overflow-wrap:anywhere;grid-column:1/-1;min-width:0}.global-search-results button small{color:var(--ink-muted,#777);max-height:3.5em;line-height:1.6;overflow:hidden}.search-result-category{letter-spacing:.04em;opacity:.75;font-size:11px}.search-result-foot{opacity:.78;grid-area:1/2;align-items:center;gap:6px;font-size:11px;display:inline-flex}.search-empty{text-align:center;color:var(--ink);padding:22px 14px}.search-empty p{opacity:.68;font-size:12px}@media (width<=600px){.global-search-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search-results{max-height:50vh}}.global-search{gap:1rem;min-width:0;display:grid}.global-search-input{background:var(--surface-soft);border:1px solid var(--line);border-radius:.75rem;align-items:center;gap:.65rem;padding:.25rem .8rem;display:flex}.global-search-input input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:.8rem .2rem}.global-search-input:focus-within{border-color:var(--ink)}.search-explain{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.global-search-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.global-search-shortcuts button{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);cursor:pointer;text-align:left;border-radius:.65rem;align-items:center;gap:.6rem;padding:.75rem;display:flex}.global-search-shortcuts button:hover{background:var(--surface);border-color:var(--ink)}.global-search-results{gap:.5rem;max-height:min(56vh,500px);display:grid;overflow:auto}.global-search-results button{border:1px solid var(--line);background:var(--surface-soft);text-align:left;color:var(--ink);cursor:pointer;border-radius:.75rem;gap:.25rem;min-width:0;padding:.8rem 1rem;display:grid}.global-search-results button:hover,.global-search-results button[data-focused=true]{border-color:var(--ink);background:var(--surface)}.global-search-results strong{overflow-wrap:anywhere;font-size:.98rem}.global-search-results small{color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.79rem;display:-webkit-box;overflow:hidden}.search-result-category{color:var(--muted);font-size:.75rem}.search-result-foot{color:var(--muted);justify-content:space-between;align-items:center;font-size:.77rem;display:flex}.search-empty{padding:1rem 0}.search-empty p{color:var(--muted)}[data-search-target=true]{outline:2px solid var(--ink);outline-offset:-2px}@media (width<=540px){.global-search-shortcuts{grid-template-columns:1fr}.global-search-results{max-height:48vh}}
