.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{--ink:#1e293b;--ink-2:#64748b;--line:#e2e8f0;--surface:#fff;--canvas:#f7f8fa;--b-done:#16a34a;--b-active:#2563eb;--b-wait:#d97706;--b-risk:#dc2626;--b-idle:#94a3b8;--k-process:#475569;--k-deliverable:#4f46e5;--k-decision:#7c3aed;--k-gate:#0d9488;--k-risk:#e11d48;--src-forma:#0d9488;--src-sp:#2563eb;--src-outlook:#0ea5e9;--src-teams:#6d28d9;--brand:#22c55e;--brand-fill:#14532d;--font-title:"EcoWorld Serif", Georgia, "Times New Roman", serif;--font-body:"EcoWorld Sans", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, Consolas, monospace}*{box-sizing:border-box;margin:0}html,body,#root{height:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--ink);background:var(--canvas);font-size:13px}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.sw{border-radius:3px;flex:none;width:20px;height:11px;display:inline-block}.b-done{background:var(--b-done)}.b-active{background:var(--b-active)}.b-wait{background:var(--b-wait)}.b-risk{background:var(--b-risk)}.b-idle{background:var(--b-idle)}.shell{flex-direction:row;height:100%;display:flex}.app-col{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}header{color:var(--ink);border-bottom:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:14px 22px;display:flex}header h1{font-family:var(--font-title);white-space:nowrap;letter-spacing:-.01em;flex:none;align-items:baseline;gap:10px;font-size:15px;font-weight:800;line-height:1.25;display:flex}.header-top{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.brand-logo{flex:none;width:auto;height:24px}.crumb{flex:none;align-items:center;gap:4px;display:flex}.crumb-sep{color:#cbd5e1;flex:none}.crumb select{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#f8fafc;border-radius:6px;max-width:118px;padding:5px 8px;font-size:12px;font-weight:600}.crumb select:hover{background:#f1f5f9}.crumb-pillar{color:var(--ink-2)}.header-corner{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.header-corner button{color:var(--ink-2);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.header-corner button:hover{background:#f1f5f9}.header-corner button.on{background:var(--brand-fill);border-color:var(--brand);color:#fff}.header-search{background:var(--canvas);border-radius:999px;flex:1;align-items:center;gap:8px;min-width:200px;max-width:420px;padding:10px 16px;display:flex;position:relative}.header-search-ic{color:var(--ink-2);flex:none}.header-search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.header-search input::placeholder{color:var(--ink-2)}.header-search-results{border:1px solid var(--line);z-index:30;background:#fff;border-radius:16px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #0f172a24}.header-search-results button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;gap:1px;width:100%;padding:8px 10px;display:flex}.header-search-results button:hover{background:var(--canvas)}.header-search-results .t{color:var(--ink);font-size:13px;font-weight:600}.header-search-results .s{color:var(--ink-2);font-size:11px}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:10px;font-weight:700}.filter-toggles{flex-wrap:wrap;gap:3px;display:flex}.filter-toggles button{color:var(--ink-2);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.filter-toggles button:hover{color:var(--ink);background:#f1f5f9}.filter-toggles button.on{background:var(--brand-fill);border-color:var(--brand);color:#fff}.filter-hint{color:var(--ink-2);font-size:11px;font-style:italic}.filter-bar.in-view{background:var(--surface);border-bottom:1px solid var(--line);flex:none;padding:8px 14px}.filter-bar.in-view .filter-label{color:var(--ink-2)}.filter-bar.in-view .filter-toggles button{border-color:var(--line);color:var(--ink-2)}.filter-bar.in-view .filter-toggles button:hover{color:var(--ink);background:#f1f5f9}.filter-bar.in-view .filter-hint{color:var(--ink-2)}.sidebar-group-label{text-transform:uppercase;letter-spacing:.05em;color:#475569;margin:2px 0 2px 9px;font-size:10px;font-weight:700}header h1 .sub{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.pill{background:#dc2626;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.body{flex:1;min-height:0;display:flex}.sidebar{color:#cbd5e1;background:#000;flex-direction:column;flex:none;width:200px;padding:16px 12px;display:flex;overflow-y:auto}.sidebar.collapsed{width:56px}.sidebar-brand{margin-bottom:18px;padding:0 6px}.sidebar-brand .brand-logo{height:26px}.sidebar.collapsed .sidebar-brand{display:none}.sidebar-cta{color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:none;border-radius:999px;align-items:center;gap:10px;width:100%;margin-bottom:18px;padding:8px 16px 8px 8px;font-size:13.5px;font-weight:700;display:flex}.sidebar-cta:hover{background:#f1f5f9}.sidebar-cta-ic{background:var(--brand);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar.collapsed .sidebar-cta{justify-content:center;padding:8px}.sidebar-bottom{margin-top:auto}.sidebar-section{flex-direction:column;gap:2px;display:flex}.sidebar-divider{background:#1e293b;flex:none;height:1px;margin:8px 4px}.sidebar button{color:#94a3b8;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:8px 9px;font-size:13px;font-weight:600;display:flex}.sidebar button:hover{color:#e2e8f0;background:#1e293b}.sidebar button.on{color:var(--brand-fill);background:#fff;font-weight:700}.sidebar button.on svg{color:var(--brand)}.sidebar-toggle{color:#64748b;justify-content:center;margin-bottom:8px;font-size:15px;font-weight:700}.sidebar.collapsed button{justify-content:center}.sidebar.collapsed .sidebar-select{display:none}.sidebar-select{flex-direction:column;gap:2px;padding:6px 9px;display:flex}.sidebar-select label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:10px;font-weight:700}.sidebar-select select{color:#e2e8f0;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:600}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.main>*{flex-shrink:0}.hint{color:#94a3b8;margin:8px 0;font-size:12px;line-height:1.5}.source-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.source-row button:disabled{opacity:.5;cursor:not-allowed}.source-row .meta{color:var(--ink-2);margin-left:auto;font-size:11px}.myweek{padding:20px;overflow-y:auto}.view-pad{padding:28px 32px;overflow-y:auto}.embed-view{flex:auto;min-height:0;display:flex}.embed-view iframe{border:none;flex:1;width:100%}.page-title{font-family:var(--font-title);color:var(--ink);align-items:center;gap:8px;margin:0 0 14px;font-size:18px;font-weight:700;display:flex}.lede{color:var(--ink-2);margin:0 0 18px;font-size:14px}.admin-role-list{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.admin-role{border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:10px 18px;font-size:13px;font-weight:700}.admin-role:hover{border-color:var(--b-active);background:#eff6ff}.admin-role.on{border-color:var(--brand);background:var(--brand-fill);color:#fff}.wk-whoami{font-family:var(--font-title);margin-bottom:14px;font-size:18px;font-weight:700}.wk-band{flex-wrap:wrap;align-items:stretch;gap:18px;margin-bottom:22px;display:flex}.wk-panel{border:1px solid var(--line);background:#fff;border-radius:18px;flex:1;min-width:340px;padding:18px 20px;box-shadow:0 2px 10px #0f172a0d}.wk-panel h2{margin-bottom:10px;font-size:13px;font-weight:700}.wk-focus{color:var(--ink-2);font-size:13px;line-height:1.7}.wk-focus b{color:var(--ink)}.wk-counts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.wk-count{border:1px solid var(--line);text-align:left;background:#fff;border-radius:16px;flex:1;min-width:70px;padding:14px 12px;box-shadow:0 1px 4px #0f172a0a}.wk-count-ic{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:8px;display:flex}.wk-count b{letter-spacing:-.01em;font-size:26px;font-weight:800;line-height:1.1;display:block}.wk-count span:not(.wk-count-ic){color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:10px;font-weight:700;display:block}.wk-count.b-risk b{color:var(--b-risk)}.wk-count.b-active b{color:var(--b-active)}.wk-count.b-wait b{color:var(--b-wait)}.wk-count.b-done b{color:var(--b-done)}.wk-count.b-idle b{color:var(--b-idle)}.wk-count.b-risk .wk-count-ic{color:var(--b-risk);background:#fee2e2}.wk-count.b-active .wk-count-ic{color:var(--b-active);background:#dbeafe}.wk-count.b-wait .wk-count-ic{color:var(--b-wait);background:#fef3c7}.wk-count.b-done .wk-count-ic{color:var(--b-done);background:#dcfce7}.wk-count.b-idle .wk-count-ic{color:var(--b-idle);background:#f1f5f9}.wk-choke{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px}.wk-ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px}.teams{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.tm-head{color:#fff;background:#4f46e5;padding:9px 12px;font-size:13px;font-weight:600}.tm-body{padding:11px 13px;font-size:13px}.di{gap:8px;margin:8px 0;display:flex}.di .dot{margin-top:4px}.di .btns{gap:5px;margin-left:4px;display:inline-flex}.di .btns button{cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:5px;padding:1px 7px;font-size:10px}.tm-foot{color:var(--ink-2);border-top:1px solid #f1f5f9;margin-top:8px;padding-top:8px;font-size:11px}.wk-barrow{align-items:center;margin-bottom:12px;display:flex}.wk-barrow h2{font-size:14px;font-weight:700}.wk-toggle{border:1px solid var(--line);border-radius:8px;margin-left:auto;display:flex;overflow:hidden}.wk-toggle button{cursor:pointer;color:var(--ink-2);background:#fff;border:none;padding:6px 14px;font-size:12px;font-weight:600}.wk-toggle button.on{color:#fff;background:#2563eb}.kboard{align-items:flex-start;gap:14px;padding-bottom:8px;display:flex;overflow-x:auto}.kcol{background:#f1f5f9;border-radius:12px;flex:1;min-width:210px;padding:10px}.kcol-head{align-items:center;gap:8px;margin-bottom:10px;padding:0 2px;display:flex}.kcol-head .t{font-size:12px;font-weight:700}.kcol-head .cnt{color:var(--ink-2);margin-left:auto;font-size:11px;font-weight:700}.kcol-head .wip{color:#94a3b8;font-size:10px;font-weight:600}.kcard{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;width:100%;margin-bottom:10px;padding:10px 12px;display:block;box-shadow:0 1px 4px #0f172a0a}.kcard:hover{box-shadow:0 4px 12px #0f172a1a}.kcard.st-risk{border-color:var(--b-risk)}.kcard.st-active{border-color:var(--b-active)}.kcard.st-wait{border-color:var(--b-wait)}.kcard.st-done{border-color:var(--b-done);opacity:.85}.kcard.st-idle{border-left-color:var(--b-idle)}.kcard.choke{background:#fff7ed}.kc-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.kc-ic{font-size:12px}.kc-kind{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-size:10px;font-weight:700}.kc-title{font-size:13px;font-weight:600;line-height:1.3}.kc-chips{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.chip{color:var(--ink-2);background:#f1f5f9;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700}.chip.due{color:#a16207;background:#fef9c3}.chip.over{color:#b91c1c;background:#fee2e2}.chip.wait2{color:#c2410c;background:#ffedd5}.chip.dep{color:#64748b;background:#f1f5f9}.kc-pull{color:#0369a1;margin-top:6px;font-size:10px;font-weight:700}.kc-notyet{color:#94a3b8;margin-top:6px;font-size:10px;font-weight:600}.klist{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 2px 10px #0f172a0a}.klist th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);text-align:left;border-bottom:1px solid var(--line);background:#f8fafc;padding:9px 12px;font-size:10px}.klist td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:9px 12px;font-size:13px}.klist tr:hover td{cursor:pointer;background:#f8fafc}.klist .st{align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.klist .od{color:#b91c1c;font-weight:600}.klist .flags{flex-wrap:wrap;gap:4px;display:flex}.klist tr.sel-row td{background:#dbeafe}.pillars-summary-table td{min-width:110px}.pillars-summary-table-pillar{color:var(--ink-2);font-size:12px}.pillars-status-pill{border-radius:999px;padding:4px 12px;font-size:11.5px;font-weight:700;display:inline-block}.pillars-status-pill.red{color:var(--b-risk);background:#fee2e2}.pillars-status-pill.amber{color:var(--b-wait);background:#fef3c7}.pillars-status-pill.green{color:var(--b-done);background:#dcfce7}.pillars-detail-row td{cursor:default;border-bottom:1px solid #f1f5f9;padding:0}.pillars-detail-row:hover td{cursor:default;background:0 0}.pillars-detail-row .pillars-crit{border:none;border-top:1px solid #fde68a;border-radius:0}.pillars-detail-row .pillars-crit.ok{border-top:1px solid #bbf7d0}.pres-status-select{cursor:pointer;border:1px solid #cbd5e1;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:700}.pres-status-select.pres-status-scheduled{color:#1d4ed8;background:#dbeafe}.pres-status-select.pres-status-in_progress{color:#a16207;background:#fef9c3}.pres-status-select.pres-status-delayed{color:#b91c1c;background:#fee2e2}.pres-status-select.pres-status-completed{color:#15803d;background:#dcfce7}.pres-detail{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:16px;padding:18px 20px;box-shadow:0 2px 10px #0f172a0a}.pmm-status{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:2px 8px;font-size:10.5px;font-weight:700}.pmm-status-draft{color:var(--ink-2);background:#f1f5f9}.pmm-status-reviewed{color:#1d4ed8;background:#dbeafe}.pmm-status-filed{color:#15803d;background:#dcfce7}.pmm-minutes-group{margin:14px 0}.pmm-minutes-group h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);margin-bottom:6px;font-size:12px}.pmm-minutes-table th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);padding:5px 8px;font-size:11px}.pmm-minutes-table td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:7px 8px;font-size:12.5px}.pmm-evidence-pop{z-index:40;background:#fff;border-radius:12px;width:420px;max-width:90vw;max-height:80vh;padding:18px 20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 48px #0f172a40}.pmm-evidence-list{flex-direction:column;gap:6px;margin:10px 0;display:flex}.pmm-evidence-row{border:1px solid var(--line);border-radius:7px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.pmm-evidence-add{text-align:left;width:100%;color:var(--ink-2);cursor:pointer;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px;padding:6px 8px;font-size:12.5px;display:block}.pmm-evidence-add:hover{color:var(--ink);background:#eff6ff;border-color:#2563eb}.pmm-evidence-browse{border:1px solid #f1f5f9;border-radius:8px;flex-direction:column;gap:4px;max-height:220px;margin-top:10px;padding:6px;display:flex;overflow-y:auto}.pmm-evidence-browse summary{cursor:pointer;color:var(--ink-2);padding:5px 4px;font-size:12px;font-weight:700;list-style:none}.pmm-evidence-browse summary::-webkit-details-marker{display:none}.pmm-evidence-browse summary:before{content:"▸ ";color:#94a3b8}.pmm-evidence-browse details[open] summary:before{content:"▾ "}.pmm-evidence-browse summary .meta{color:#94a3b8;margin-left:4px;font-weight:600}.pmm-evidence-browse .pmm-evidence-list{margin:4px 0 8px 14px}.pres-detail-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.pres-detail-head h2{font-size:16px}.pres-detail-head .meta{color:var(--ink-2);font-size:12px}.pres-deck{border:1px solid var(--line);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:13px;display:flex}.pres-deck-ic{font-size:16px}.pres-upload{margin-top:4px}.pres-upload input{display:none}.pres-date-input{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:13px}.pres-date-input:hover,.pres-date-input:focus{background:#eff6ff;border-radius:4px;outline:1px solid #2563eb}.pres-text-input{color:var(--ink);box-sizing:border-box;background:0 0;border:none;width:100%;padding:3px 4px;font-family:inherit;font-size:13px}.pres-text-input:hover,.pres-text-input:focus{background:#eff6ff;border-radius:4px;outline:1px solid #2563eb}.aud-cell{position:relative}.pres-aud-btn{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;width:100%;padding:3px 4px;font-family:inherit;font-size:13px;display:flex}.pres-aud-btn:hover{background:#eff6ff;outline:1px solid #2563eb}.aud-caret{color:var(--ink-2);margin-left:auto;font-size:10px}.aud-pop{z-index:20;border:1px solid var(--line);cursor:default;background:#fff;border-radius:10px;flex-direction:column;gap:7px;width:220px;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 28px #0f172a2e}.aud-opt{cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.aud-other-input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;width:100%;margin-top:6px;padding:5px 7px;font-size:12px}.aud-inline{flex-wrap:wrap;gap:14px;display:flex}.aud-pop .cand-actions{margin-top:2px}.new-pres-form{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.new-pres-form h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-size:13px}.new-pres-form .adj-field input[type=text]{border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:13px}.new-pres-form .adj-field input[type=date]{border:1px solid #cbd5e1;border-radius:6px;width:fit-content;padding:6px 8px;font-size:13px}.deck-build-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:8px 0;display:flex}.deck-stage-picker{color:var(--ink-2);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.deck-stage-picker select{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:13px}.deck-preview{margin-top:6px}.deck-slides{flex-direction:column;gap:14px;max-height:640px;padding:4px 2px;display:flex;overflow-y:auto}.deck-slide{aspect-ratio:16/9;border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;width:100%;max-width:560px;padding:20px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 10px #0f172a0d}.deck-slide-dark{background:var(--brand-fill);color:#fff;justify-content:center}.deck-slide-logo{width:auto;height:28px;position:absolute;top:16px;left:20px}.deck-slide-title{font-family:var(--font-title);margin-top:20px;font-size:20px;font-weight:700;line-height:1.2}.deck-slide-sub{color:#bbf7d0;margin-top:6px;font-size:13px}.deck-slide-sub2{color:#dcfce7;margin-top:2px;font-size:11px}.deck-slide-section{justify-content:center}.deck-slide-bar{background:var(--brand);border-radius:3px;width:5px;height:34px;position:absolute;top:50%;left:26px;transform:translateY(-50%)}.deck-slide-heading{font-family:var(--font-title);padding-left:20px;font-size:18px;font-weight:700}.deck-slide-notes{color:#bbf7d0;margin-top:8px;padding-left:20px;font-size:10px;font-style:italic}.deck-slide-kicker{font-family:var(--font-title);color:var(--ink);font-size:14px;font-weight:700;position:absolute;top:16px;left:26px}.deck-slide-card{background:var(--canvas);border:1.5px solid var(--line);text-align:center;border-radius:12px;align-self:center;width:78%;padding:14px 18px}.deck-slide-card-name{color:var(--ink);font-size:13px;font-weight:700}.deck-slide-card-src{color:var(--src-forma);margin-top:3px;font-size:11px}.deck-slide-card-caption{color:var(--ink-2);margin-top:3px;font-size:11px}.deck-slide-card-ocr{color:var(--ink-2);margin-top:6px;font-size:10px;font-style:italic}.deck-slide-heading-sm{font-family:var(--font-title);color:var(--ink);font-size:16px;font-weight:700;position:absolute;top:16px;left:26px}.deck-slide-rule{background:var(--brand);width:26px;height:3px;position:absolute;top:44px;left:26px}.deck-slide-bullets{color:var(--ink);flex-direction:column;gap:5px;margin-top:26px;padding-left:20px;font-size:12px;list-style:outside;display:flex;overflow-y:auto}.gantt-shell{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.gantt-toolbar{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:center;gap:10px;padding:8px 14px;display:flex}.gantt-search{border:1px solid var(--line);width:220px;height:32px;color:var(--ink);background:var(--canvas);border-radius:999px;padding:0 14px;font-family:inherit;font-size:12px;transition:border-color .15s,background .15s}.gantt-search:focus{background:#fff;border-color:#93c5fd;outline:none}.gantt-status-filter{border:1px solid var(--line);border-radius:999px;height:32px;display:flex;overflow:hidden}.gantt-status-filter button{border:none;border-left:1px solid var(--line);height:100%;color:var(--ink-2);cursor:pointer;background:#fff;padding:0 11px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.gantt-status-filter button:first-child{border-left:none}.gantt-status-filter button.on{background:var(--ink);color:#fff}.gantt-match-count{color:var(--ink-2);margin-left:auto;font-size:11px;font-weight:600}.gantt{background:#fff;flex:1;position:relative;overflow:auto}.gantt-inner{padding-bottom:40px;position:relative}.g-ruler{z-index:20;border-bottom:1px solid var(--line);background:#f8fafc;height:40px;position:sticky;top:0}.g-corner{z-index:50;border-bottom:1px solid var(--line);background:#f8fafc;height:40px;margin-bottom:-40px;position:sticky;top:0;left:0}.g-tick{padding-left:4px;position:absolute;top:5px}.g-tick span{color:var(--ink-2);white-space:nowrap;font-size:10px;font-weight:600;display:block}.g-tick em{color:#cbd5e1;font-size:9px;font-style:normal;font-weight:700;display:block}.g-tick.q{border-left:1px solid #e2e8f0;height:100vh}.g-today{background:var(--b-risk);opacity:.85;z-index:1;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #fff9}.g-today span{background:var(--b-risk);color:#fff;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;position:sticky;top:3px;left:3px}.g-row{cursor:pointer;background:#fff;align-items:center;height:30px;transition:background-color .15s,opacity .15s;display:flex}.g-row.zebra{background:#fafbfc}.g-row:hover{background:#eff6ff}.g-row.sel{background:#dbeafe}.g-row.rel{background:#fffdf5}.g-row.dim-row{opacity:.55}.g-row.dim-row:hover{opacity:1}.g-row.attn-row{background:#fef2f2}.g-row.attn-row.zebra{background:#fee9e9}.g-row.attn-row .gtitle{color:#991b1b;font-weight:700}.attn-mark{color:#fff;background:#dc2626;border-radius:50%;flex:none;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;display:inline-flex}.g-row.ms-row{background:#0f172a}.g-row.ms-row .g-label{color:#e2e8f0}.g-row.ms-row .g-label em{color:#94a3b8}.g-row.ms-row .gtitle{font-weight:700}.ms-kind{letter-spacing:.06em;text-transform:uppercase;color:#fbbf24;flex:none;font-size:9px;font-weight:700}.g-row.g-stage{cursor:pointer;background:#0f172a;height:34px;transition:background-color .15s}.g-row.g-stage:hover{background:#1e293b}.g-stage .g-label{text-transform:uppercase;letter-spacing:.03em}.stage-chevron{color:#64748b;flex:none;font-size:10px;transition:transform .15s}.g-stage .g-label{color:#e2e8f0;font-size:12px;font-weight:700}.g-stage .g-label em{color:#94a3b8}.g-label{white-space:nowrap;text-overflow:ellipsis;background:inherit;z-index:40;align-items:center;gap:7px;height:100%;padding:0 10px 0 14px;font-size:12px;display:flex;position:sticky;left:0;overflow:hidden}.g-col-resizer{cursor:col-resize;z-index:45;background:0 0;width:8px;margin-left:-4px;position:sticky;top:0}.g-col-resizer:hover,.g-col-resizer.dragging{background:#6366f159}.g-label .klbl{flex:none}.g-label .gtitle{text-overflow:ellipsis;overflow:hidden}.g-label em{color:var(--ink-2);margin-left:auto;padding-left:8px;font-size:11px;font-style:normal}.g-track{height:100%;position:relative}.g-adj-marker{cursor:pointer;z-index:6;border:2px solid #fff;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;font-size:10px;display:grid;position:absolute;top:2px;transform:translate(-50%);box-shadow:0 0 0 1px #0f172a33}.g-adj-marker.more{background:#f97316}.g-adj-marker.less{background:#16a34a}.g-adj-backdrop{z-index:19;position:fixed;inset:0}.g-adj-pop{z-index:20;border:1px solid var(--line);cursor:default;background:#fff;border-radius:10px;width:300px;padding:9px;position:absolute;top:24px;transform:translate(-50%);box-shadow:0 10px 28px #0f172a2e}.g-adj-pop-head{margin-bottom:6px;font-size:12px;font-weight:700}.g-adj-pop-list{flex-direction:column;gap:10px;list-style:none;display:flex}.g-adj-pop-list li{flex-direction:column;gap:5px;display:flex}.g-adj-summary{color:var(--ink-2);margin:0;font-size:11px;line-height:1.45}.g-adj-pop-list a{color:var(--ink);background:#fafafa;border:1px solid #f1f5f9;border-radius:6px;align-items:center;gap:6px;padding:5px 7px;font-size:11px;text-decoration:none;display:flex}.g-adj-pop-list a:hover{border-color:#2563eb}.g-adj-pop-list .add{color:#c2410c;flex:none;font-weight:700}.g-adj-pop-list .deduct{color:#15803d;flex:none;font-weight:700}.g-adj-fname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.g-adj-cat{color:var(--ink-2);flex:none;font-size:10px}.g-adj-band{height:15px;position:absolute;top:8px}.g-adj-band.add{background:repeating-linear-gradient(45deg,#f97316,#f97316 4px,#fed7aa 4px 8px)}.g-adj-band.deduct{background:repeating-linear-gradient(45deg,#16a34a,#16a34a 4px,#bbf7d0 4px 8px);border-radius:0 4px 4px 0}.g-bar{background:#cbd5e1;border-radius:4px;height:15px;position:absolute;top:8px}.g-bar.stagebar{opacity:.18;background:#334155;height:16px;top:9px}.g-bar.stagebar.collapsed{opacity:1;background:repeating-linear-gradient(45deg,#334155,#334155 6px,#1e293b 6px 12px);border:1px solid #475569;align-items:center;height:22px;padding:0 8px;display:flex;top:6px}.stagebar-lbl{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.g-bar.b-done{background:var(--b-done)}.g-bar.b-active{background:var(--b-active)}.g-bar.b-wait{background:var(--b-wait)}.g-bar.b-risk{background:var(--b-risk)}.g-bar.b-idle{background:#cbd5e1}.g-bar.lp-gppd,.g-bar.lp-bu{border-radius:0}.g-bar.lp-gppd{border-top:3px solid #eab308}.g-bar.lp-bu{border-top:3px solid #6366f1}.g-row.g-bim{cursor:default;background:#0b1220;height:34px}.g-bim .g-label{color:#94a3b8;font-size:11px;font-weight:700}.bimseg{background:#1e3a5f;border:1px solid #3b82f6;border-radius:3px;align-items:center;height:22px;padding:0 4px;display:flex;top:6px;overflow:hidden}.bimseg-lbl{color:#bfdbfe;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.g-ms{border:2px solid #fff;width:18px;height:18px;position:absolute;top:6px;transform:translate(-50%)rotate(45deg);box-shadow:0 0 0 1px #0f172a33}.g-ms.dec{border-radius:50%;transform:translate(-50%)}.g-ms.b-done{background:var(--b-done)}.g-ms.b-active{background:var(--b-active)}.g-ms.b-wait{background:var(--b-wait)}.g-ms.b-risk{background:var(--b-risk)}.g-ms.b-idle{background:var(--b-idle)}.g-slip{background:repeating-linear-gradient(45deg,#ef4444,#ef4444 4px,#fecaca 4px 8px);border-radius:3px;height:8px;position:absolute;top:12px}.g-deps{pointer-events:none;z-index:2;position:absolute;overflow:visible}.rel-mark{color:#d97706;font-weight:800}.g-legend{z-index:20;position:absolute;bottom:14px;right:14px}.g-legend button{color:#e2e8f0;cursor:pointer;background:#0f172a;border:none;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:600}.g-legend-body{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:6px;padding:12px 14px;box-shadow:0 6px 20px #0f172a24}.g-outline{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 2px;display:flex;position:absolute;top:8px;right:14px;box-shadow:0 4px 14px #0f172a1f}.g-outline-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;padding-left:8px;font-size:10px;font-weight:700}.g-outline button{border:none;border-left:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;padding:6px 10px;font-size:11px;font-weight:600}.g-outline button.on{color:#fff;background:#0891b2}.g-row.g-evidence{cursor:default;background:#fafbfc;height:24px}.g-row.g-evidence.zebra{background:#f5f7f9}.g-evi-chips{white-space:nowrap;gap:5px;display:flex;position:absolute;top:2px}.g-evi-chip{color:var(--ink-2);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700;transition:background-color .15s}.g-evi-chip.b-done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.g-evi-chip.b-wait{color:#92400e;background:#fffbeb;border-color:#fde68a}.g-evi-chip.b-idle{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.g-legend .lg{align-items:center;gap:7px;margin:5px 0;font-size:12px;display:flex}.g-legend .diamond{background:var(--b-wait);border:2px solid #fff;flex:none;width:11px;height:11px;transform:rotate(45deg);box-shadow:0 0 0 1px #0f172a33}.g-legend .slipsw{background:repeating-linear-gradient(45deg,#ef4444,#ef4444 4px,#fecaca 4px 8px)}.flowview{flex:1;position:relative}.stageband{box-sizing:border-box;pointer-events:none;background:#0f172a06;border:1px dashed #cbd5e1;border-radius:10px;width:100%;height:100%}.stageband-toggle{color:#64748b;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;pointer-events:all;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:11px;font-weight:700;display:flex;position:absolute;top:8px;left:12px}.stageband-toggle .chev{color:#94a3b8;font-size:10px}.stageband-toggle em{text-transform:none;color:#94a3b8;letter-spacing:0;font-style:normal;font-weight:600}.stageband.collapsed{background:#f1f5f9;border-style:solid;align-items:center;display:flex}.stageband.collapsed .stageband-toggle{padding:0 12px;position:static}.flow-hint{z-index:5;color:#e2e8f0;pointer-events:none;background:#0f172ad9;border-radius:12px;padding:4px 12px;font-size:11px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.flow-orient{z-index:6;border:1px solid var(--line);background:#fff;border-radius:8px;display:flex;position:absolute;top:8px;right:14px;overflow:hidden}.flow-orient button{color:var(--ink-2);cursor:pointer;background:#fff;border:none;padding:6px 12px;font-size:12px;font-weight:600}.flow-orient button.on{color:#fff;background:#2563eb}.flow-outline{z-index:6;border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:6px;display:flex;position:absolute;top:46px;right:14px;overflow:hidden}.flow-outline-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;padding-left:10px;font-size:10px;font-weight:700}.flow-outline button{border:none;border-left:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;padding:6px 12px;font-size:12px;font-weight:600}.flow-outline button.on{color:#fff;background:#0891b2}.react-flow__node{transition:transform .18s}.node{background:#fff;border:1px solid #dbdbdf;border-radius:12px;width:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0d}.node.dimmed{opacity:.28;filter:grayscale(.6)}.g-row.filtered-dim{opacity:.3;filter:grayscale(.5)}.node:hover{box-shadow:0 6px 20px #0f172a1f}.node.sel{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.node.expanded{border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.tile{color:#fff;flex:none;place-items:center;width:44px;font-size:17px;display:grid}.k-process .tile{background:var(--k-process)}.k-deliverable .tile{background:var(--k-deliverable)}.k-decision .tile{background:var(--k-decision)}.k-gate .tile{background:var(--k-gate)}.k-risk .tile{background:var(--k-risk)}.nbody{flex:1;min-width:0;padding:9px 11px 11px}.kindlbl{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-size:10px;font-weight:700}.ntitle{margin:3px 0 7px;font-size:13px;font-weight:600;line-height:1.3}.nstatus{color:var(--ink-2);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.clfrac{color:#94a3b8}.prog{background:#eef0f2;height:3px;position:absolute;bottom:0;left:44px;right:0}.prog i{height:100%;display:block}.prog i.b-done{background:var(--b-done)}.prog i.b-active{background:var(--b-active)}.port{background:#fff;border:1.5px solid #b1b1b7;width:9px;height:9px}.port.sm{width:7px;height:7px}.legend{z-index:7;position:absolute;bottom:14px;left:14px}.legend-toggle{color:#e2e8f0;cursor:pointer;background:#0f172a;border:none;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:600}.legend-body{border:1px solid var(--line);background:#fff;border-radius:10px;gap:26px;margin-top:6px;padding:12px 16px;display:flex;box-shadow:0 6px 20px #0f172a24}.legend-body h5{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:6px;font-size:10px}.legend-body .lg{align-items:center;gap:7px;margin:4px 0;font-size:12px;display:flex}.legend-body .sw.k-process{background:var(--k-process)}.legend-body .sw.k-deliverable{background:var(--k-deliverable)}.legend-body .sw.k-decision{background:var(--k-decision)}.legend-body .sw.k-gate{background:var(--k-gate)}.legend-body .sw.k-risk{background:var(--k-risk)}.eline{border-top:2px solid #b1b1b7;flex:none;width:22px;height:0}.eline.blk{border-top-color:var(--b-risk)}.eline.dep{border-top-style:dashed;border-top-color:#b1b1b7}.eline.evi{border-top-style:dashed;border-top-color:#0891b2}.eline.rwk{border-top-style:dashed;border-top-color:#f59e0b}.anode{background:#fff;border:1.5px dashed #cbd5e1;border-radius:9px;width:100%;font-size:11px;display:flex;position:relative;overflow:hidden}.anode.sel{outline:2px solid #2563eb55}.atile{color:#fff;flex:none;place-items:center;width:30px;font-size:13px;display:grid}.anode.src-FORMA .atile{background:var(--src-forma)}.anode.src-SharePoint .atile{background:var(--src-sp)}.anode.src-Outlook .atile{background:var(--src-outlook)}.anode.src-Teams .atile{background:var(--src-teams)}.abody{flex:1;min-width:0;padding:6px 8px}.aname{word-break:break-all;font-size:11px;font-weight:600}.astatus{color:var(--ink-2);align-items:center;gap:5px;margin-top:2px;font-size:10px;display:flex}.inspector{border-left:1px solid var(--line);background:#fff;width:360px;padding:16px;overflow-y:auto;box-shadow:-4px 0 12px #0000000d}.inspector.wide{width:430px}.insp-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.insp-head .x{cursor:pointer;color:var(--ink-2);background:0 0;border:none;font-size:14px}.inspector h2{margin-bottom:10px;font-size:15px;line-height:1.35}.inspector h3{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:14px 0 6px;font-size:11px}.inspector p{color:#334155;margin:8px 0;font-size:13px;line-height:1.5}.insp-nav{gap:6px;margin-bottom:8px;display:flex}.insp-nav button{cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:5px 10px;font-size:12px}.insp-nav button:hover{background:#eff6ff;border-color:#2563eb}.badge{color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#e2e8f0;border-radius:8px;padding:2px 8px;font-size:9px;font-weight:700}.badge.st-completed{color:#15803d;background:#dcfce7}.badge.st-in_progress{color:#1d4ed8;background:#dbeafe}.badge.st-blocked{color:#b91c1c;background:#fee2e2}.badge.st-overdue{color:#c2410c;background:#ffedd5}.badge.st-awaiting_input{color:#a16207;background:#fef9c3}.badge.st-awaiting_approval{color:#7e22ce;background:#f3e8ff}.badge.st-superseded{color:#64748b;background:#f1f5f9}.badge.st-not_started{color:#94a3b8;background:#f1f5f9}.kv{border-bottom:1px solid #f1f5f9;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px;display:flex}.kv span{color:var(--ink-2);flex:none}.kv b{text-align:right;font-weight:600}.esc{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:8px 0;padding:8px 10px;font-size:12px;font-weight:600}.esc.ok{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}blockquote{color:#0e7490;background:#f0f9ff;border-radius:6px;margin:10px 0;padding:8px 12px;font-size:12px;font-style:italic;line-height:1.45}blockquote footer{color:var(--ink-2);margin-top:4px;font-size:11px;font-style:normal}.reqs{list-style:none}.reqs li{padding:4px 0;font-size:13px}.reqs .ok{color:#15803d}.reqs .missing{color:#b91c1c;font-weight:600}.reqs .art-link{text-align:left;border:1px solid var(--line);cursor:pointer;color:#334155;background:#f8fafc;border-radius:6px;width:100%;margin:4px 0 2px;padding:5px 8px;font-size:11px;display:block}.reqs .art-link:hover{border-color:#0891b2}.art-missing{color:#94a3b8;margin-top:2px;font-size:11px;display:block}.art-link-add{cursor:pointer;color:var(--ink-2);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;align-items:center;gap:4px;margin:4px 0 2px;padding:4px 8px;font-size:11px;display:inline-flex}.art-link-add:hover{color:#2563eb;background:#eff6ff;border-color:#2563eb}.art-link-form{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-direction:column;gap:6px;margin:6px 0;padding:8px;display:flex}.art-link-form input{border:1px solid #cbd5e1;border-radius:5px;width:100%;padding:5px 7px;font-size:12px}.doc-src{color:var(--ink-2);font-weight:400}.conns{list-style:none}.conns li{margin:4px 0}.conns button,.conns a.cause-link{text-align:left;cursor:pointer;width:100%;color:inherit;box-sizing:border-box;background:#fafafa;border:1px solid #f1f5f9;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;font-size:12px;text-decoration:none;display:flex}.conns button:hover,.conns a.cause-link:hover{border-color:#2563eb}.cause-summary{color:var(--ink-2);margin:0 0 5px;font-size:11px;line-height:1.5}.conns .etype{text-transform:uppercase;color:var(--ink-2);font-size:10px;font-weight:700}.conns .e-blocks{color:#b91c1c}.conns .e-dependency{color:#334155}.conns .e-affects{color:#c2410c}.conns .e-supersedes{color:#7e22ce}.conns .e-evidence{color:#0e7490}.conns .wait{color:#b91c1c;font-size:10px;font-weight:700}.inspector button.primary,.cand-actions button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 14px;font-size:13px}button.primary{color:#fff;cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px;background:#2563eb!important;border:1px solid #2563eb!important}button.primary:hover{background:#1d4ed8!important}button.primary:disabled{cursor:not-allowed;background:#93c5fd!important;border-color:#93c5fd!important}.openbtn{color:#fff;background:#0f172a;border-radius:6px;margin:8px 0;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.openbtn:hover{background:#1e293b}.conf-big{align-items:center;gap:10px;margin:8px 0;display:flex}.conf-big .bar{background:#e2e8f0;border-radius:5px;flex:1;height:10px}.conf-big .fill{border-radius:5px;height:100%}.conf-big .fill.hi{background:var(--b-done)}.conf-big .fill.mid{background:var(--b-wait)}.conf-big .fill.lo{background:var(--b-risk)}.conf-big b{font-size:18px}.acc-folder{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.acc-ic{font-size:20px}.acc-meta{flex-direction:column;gap:3px;min-width:0;font-size:13px;display:flex}.acc-meta b{word-break:break-all}.acc-mode{color:var(--ink-2);font-size:11px;font-weight:600}.acc-mode.m-live{color:var(--b-done)}.acc-err{color:var(--b-risk);font-size:11px}.acc-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.acc-actions .openbtn{margin:0}.acc-actions button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:7px 12px;font-size:13px}.acc-actions button:hover{background:#eff6ff;border-color:#2563eb}.acc-count{color:var(--ink-2);margin-left:auto;font-size:11px;font-weight:700}.acc-filters{flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:12px;display:flex}.acc-filter{flex-direction:column;gap:3px;display:flex}.acc-filter span{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);padding-left:1px;font-size:10px;font-weight:700}.acc-filters select{color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:140px;padding:6px 8px;font-size:12px}.acc-filters select:focus{border-color:#2563eb;outline:none}.clear-filters{cursor:pointer;color:var(--ink-2);background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-self:flex-end;padding:6px 10px;font-size:12px}.clear-filters:hover{color:#dc2626;background:#fef2f2;border-color:#dc2626}.acc-table-wrap{overflow-x:auto}.acc-table{min-width:1180px}.acc-table tr.unread td{background:#eff6ff}.acc-table tr.focus{animation:1.4s 2 evflash}@keyframes evflash{0%,to{background:0 0}50%{background:#dbeafe}}.acc-ev-ic{flex:none;margin-right:5px;font-size:13px}.acc-fname{white-space:normal;word-break:break-word}.acc-ev-link{color:#2563eb;white-space:nowrap;background:#fff;border:1px solid #bfdbfe;border-radius:6px;flex:none;padding:5px 9px;font-size:12px;font-weight:600;text-decoration:none}.acc-ev-link:hover{background:#eff6ff}.chip.cat{color:#4338ca;background:#eef2ff;font-weight:700}.status-edit{align-items:center;gap:6px;display:inline-flex}.chip.status-ongoing{color:#1d4ed8;background:#dbeafe}.chip.status-pending_review{color:#a16207;background:#fef9c3}.chip.status-addressed{color:#15803d;background:#dcfce7}.chip.status-escalated{color:#b91c1c;background:#fee2e2}.edit-btn{cursor:pointer;color:var(--ink-2);background:#f8fafc;border:1px solid #cbd5e1;border-radius:5px;padding:1px 6px;font-size:11px;line-height:1.4}.edit-btn:hover{color:#2563eb;background:#eff6ff;border-color:#2563eb}.acc-table select{border:1px solid #cbd5e1;border-radius:6px;padding:3px 6px;font-size:12px}.adj-cell{min-width:230px}.link-btn{cursor:pointer;color:var(--ink-2);white-space:nowrap;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;padding:5px 10px;font-size:12px}.link-btn:hover{color:#2563eb;background:#eff6ff;border-color:#2563eb}.chip.adj-chip{white-space:normal;text-align:left;font-weight:700}.chip.adj-chip.add{color:#c2410c;background:#ffedd5}.chip.adj-chip.deduct{color:#15803d;background:#dcfce7}.adj-edit{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-direction:column;gap:7px;min-width:280px;padding:8px;display:flex}.adj-edit select{width:100%}.adj-field{flex-direction:column;gap:3px;display:flex}.adj-field span{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:10px;font-weight:700}.adj-field input[type=date]{border:1px solid #cbd5e1;border-radius:6px;padding:4px 6px;font-size:12px}.adj-mode-toggle{border:1px solid #cbd5e1;border-radius:6px;display:flex;overflow:hidden}.adj-mode-toggle button{cursor:pointer;color:var(--ink-2);background:#fff;border:none;flex:1;padding:5px 8px;font-size:11px}.adj-mode-toggle button:first-child{border-right:1px solid #cbd5e1}.adj-mode-toggle button.on{color:#fff;background:#0f172a}.adj-duration{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.adj-dir-toggle{border:1px solid #cbd5e1;border-radius:6px;flex:none;display:flex;overflow:hidden}.adj-dir-toggle button{cursor:pointer;color:var(--ink-2);background:#fff;border:none;padding:5px 8px;font-size:11px}.adj-dir-toggle button:first-child{border-right:1px solid #cbd5e1}.adj-dir-toggle button.on{color:#fff;background:#2563eb}.adj-duration input[type=number]{border:1px solid #cbd5e1;border-radius:6px;width:52px;padding:4px 6px;font-size:12px}.adj-unit{color:var(--ink-2);font-size:11px}.adj-preview{color:#0369a1;background:#f0f9ff;border-radius:6px;padding:5px 8px;font-size:11px}.adj-actions{gap:6px;display:flex}.adj-actions button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:5px 10px;font-size:12px}.adj-actions button.primary{color:#fff;background:#2563eb;border-color:#2563eb}.adj-actions button.primary:disabled{cursor:not-allowed;background:#93c5fd;border-color:#93c5fd}.adj-actions button:not(.primary):hover{color:#dc2626;border-color:#dc2626}.user-chip{align-items:center;display:flex;position:relative}.user-avatar{background:var(--brand-fill);width:18px;height:18px;color:var(--brand);border-radius:50%;flex:none;place-items:center;display:grid}.user-pop{z-index:40;width:160px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a2e}.user-pop button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;border-radius:6px;padding:7px 9px;font-size:13px;font-weight:600}.user-pop button:hover{background:#f1f5f9}.user-pop button.on{color:#15803d;background:#f0fdf4}.bell{align-items:center;display:flex;position:relative}.bell>button{border-radius:8px;place-items:center;width:32px;height:32px;padding:0;font-size:14px;line-height:1;display:grid;position:relative}.bell>button .pill{pointer-events:none;border:1.5px solid #0f172a;margin:0;line-height:1.3;position:absolute;top:-5px;right:-6px}.bell-backdrop{z-index:39;position:fixed;inset:0}.bell-pop{z-index:40;width:340px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a2e}.bell-head{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 12px;font-size:11px;font-weight:700}.bell-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--b-risk);background:#fff;padding:8px 12px 4px;font-size:10px;font-weight:700}.bell-empty{color:var(--ink-2);text-align:left;padding:16px 12px;font-size:12px}.bell-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:#fff;border:none;border-bottom:1px solid #f1f5f9;align-items:center;gap:9px;padding:10px 12px;font-size:12px;display:flex}.bell-item:hover{background:#f8fafc}.bell-item.unread{background:#eff6ff}.bell-item.unread:hover{background:#dbeafe}.bell-ic{flex:none;font-size:15px}.bell-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.bell-body b{word-break:break-all;font-size:12px}.bell-body span{color:var(--ink-2);font-size:11px}.bell-foot{color:#2563eb;cursor:pointer;text-align:center;background:#f8fafc;border:none;width:100%;padding:9px;font-size:12px;font-weight:600;display:block}.bell-foot:hover{background:#eff6ff}.toast{z-index:50;color:#e2e8f0;background:#0f172a;border-radius:10px;align-items:center;gap:10px;max-width:420px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 10px 30px #0f172a59}.toast b{color:#fff;word-break:break-all}.toast button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;flex:none;padding:5px 10px;font-size:12px}.toast button.x{color:#94a3b8;background:0 0;padding:2px;font-size:13px}textarea{width:100%;font-family:var(--font-mono);resize:vertical;color:#334155;border:1px solid #cbd5e1;border-radius:6px;margin-bottom:10px;padding:8px;font-size:11px}.cand{border:1px solid var(--line);background:#fff;border-radius:8px;margin:10px 0;padding:10px}.cand.accepted{background:#f0fdf4;border-color:#16a34a}.cand.rejected{opacity:.5}.cand-head{justify-content:space-between;margin-bottom:6px;display:flex}.kind{text-transform:uppercase;background:#e2e8f0;border-radius:8px;padding:2px 8px;font-size:10px;font-weight:700}.k-decision{color:#1d4ed8;background:#dbeafe}.k-action{color:#15803d;background:#dcfce7}.k-risk{color:#b91c1c;background:#fee2e2}.k-question{color:#a16207;background:#fef9c3}.k-supersession{color:#7e22ce;background:#f3e8ff}.k-knowledge{color:#1d4ed8;background:#dbeafe}.conf{color:var(--ink-2);font-size:11px}.cand-title{font-size:13px;font-weight:600}.cand .meta{color:var(--ink-2);font-size:11px}.cand-actions{gap:8px;margin-top:8px;display:flex}.done-accepted{color:#15803d;text-transform:uppercase;font-weight:700}.done-rejected{color:#94a3b8;text-transform:uppercase}.stats{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.stat{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;padding:10px;display:flex}.stat span{color:var(--ink-2);font-size:11px}.stat b{font-size:20px}.h-RED b{color:var(--b-risk)}.h-AMBER b{color:var(--b-wait)}.h-GREEN b{color:var(--b-done)}.library{height:100%;padding:18px 22px;overflow-y:auto}.lib-head h2{margin-bottom:4px;font-size:18px;font-weight:700}.lib-sub{color:var(--ink-2);max-width:70ch;font-size:13px;line-height:1.6}.lib-sub b{color:var(--ink)}.lib-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 10px;display:flex}.lib-search{border:1px solid var(--line);background:var(--canvas);min-width:280px;color:var(--ink);border-radius:999px;flex:1;padding:9px 16px;font-size:14px}.lib-search:focus{outline-offset:-1px;outline:2px solid #2563eb}.lib-kinds{flex-wrap:wrap;gap:4px;display:flex}.lib-kind{border:1px solid var(--line);cursor:pointer;color:var(--ink-2);background:#fff;border-radius:8px;padding:5px 11px;font-size:12px;font-weight:600}.lib-kind.on{color:#fff;background:#2563eb;border-color:#2563eb}.lib-count{color:var(--ink-2);margin:4px 0 10px;font-size:12px}.lib-log{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin-bottom:10px;padding:10px 14px}.lib-log h3{text-transform:uppercase;letter-spacing:.06em;color:#c2410c;margin-bottom:6px;font-size:11px}.lib-logline{color:#7c2d12;padding:2px 0;font-size:13px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.lib-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;padding:14px 16px;box-shadow:0 1px 4px #0f172a0a}.lib-card.st-risk{border-color:var(--b-risk)}.lib-card.st-active{border-color:var(--b-active)}.lib-card.st-wait{border-color:var(--b-wait)}.lib-card.st-done{border-color:var(--b-done)}.lib-card.st-idle{border-color:var(--b-idle)}.lib-card-head{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.lib-ic{font-size:13px}.lib-meta{color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.lib-title{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:700;line-height:1.4;display:block}.lib-title:hover{color:#2563eb;text-decoration:underline}.lib-why{color:#5b21b6;background:#faf5ff;border-radius:6px;margin:8px 0;padding:6px 10px;font-size:12px;font-style:italic;line-height:1.5}.lib-how{color:var(--ink-2);margin:6px 0;font-size:12px;line-height:1.5}.lib-sup{color:#7e22ce;margin:6px 0;font-size:12px}.lib-sup button{color:#7e22ce;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.lib-arts{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.lib-art{border:1px solid var(--line);color:var(--ink-2);background:#f8fafc;border-radius:7px;padding:2px 8px;font-size:11px}.lib-art.a-validated{color:#15803d;background:#f0fdf4;border-color:#86efac}.lib-art.a-retrieved{color:#a16207;background:#fefce8;border-color:#fde68a}.pillars-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 10px #0f172a0a}.pillars-section{border-bottom:1px solid var(--line);padding:12px 16px}.pillars-eyebrow{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-2);margin:0 0 8px;font-size:11px;font-weight:700}.pillars-empty{color:var(--ink-2);margin:0;font-size:13px}.pillars-footnote{color:var(--ink-2);margin-top:8px;font-size:10px}.pillars-summary-row{flex-wrap:wrap;gap:10px;display:flex}.pillars-summary-tile{border:1.5px solid var(--line);cursor:pointer;text-align:left;min-width:140px;font:inherit;background:#fff;border-radius:14px;flex-direction:column;flex:1;gap:3px;padding:12px 14px;display:flex}.pillars-summary-tile:disabled{cursor:not-allowed;opacity:.55}.pillars-summary-tile .name{color:var(--ink);font-size:12.5px;font-weight:700}.pillars-summary-tile .count{color:var(--ink-2);font-size:11px}.pillars-summary-tile.red{border-color:#fecaca}.pillars-summary-tile.red .count{color:var(--b-risk);font-weight:700}.pillars-summary-tile.amber{border-color:#fde68a}.pillars-summary-tile.amber .count{color:var(--b-wait);font-weight:700}.pillars-summary-tile.green .count{color:var(--b-done);font-weight:700}.pillars-summary-tile.on{border-color:var(--b-active);box-shadow:0 0 0 1px var(--b-active)}svg.lucide{vertical-align:-2px;flex:none;display:inline-block}svg.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tier-dot{vertical-align:-1px;border-radius:50%;width:9px;height:9px;display:inline-block}.pva{margin-top:6px}.pva.inline{align-items:center;gap:8px;margin-top:0;display:flex}.pva.inline .pva-track{flex:1;min-width:60px}.pva-track{background:#e2e8f0;border-radius:5px;height:8px;position:relative;overflow:visible}.pva-fill{transform-origin:0;border-radius:5px;width:100%;height:100%;transition:transform .3s;position:absolute;inset:0 auto 0 0}.pva-fill.green{background:#16a34a}.pva-fill.amber{background:#d97706}.pva-fill.red{background:#dc2626}.pva-plan-tick{background:#1e293b;width:2px;position:absolute;top:-2px;bottom:-2px;transform:translate(-1px)}.pva-plan-tick:after{content:"";border:3px solid #0000;border-top-color:#1e293b;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.pva-end{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;font-size:11px;display:flex}.pva-end.inline{white-space:nowrap;flex:none;margin-top:0}.pva-actual{color:var(--ink);font-weight:700}.pva-sep{opacity:.5}.pva-delta{border-radius:5px;padding:1px 6px;font-weight:700}.pva-delta.ahead{color:#15803d;background:#dcfce7}.pva-delta.behind{color:#a16207;background:#fef3c7}.pva-delta.far-behind{color:#991b1b;background:#fee2e2}.pva-legend{color:var(--ink-2);gap:16px;margin:2px 0 10px;font-size:11px;display:flex}.progress-ring{flex:none}.progress-ring-label{fill:var(--ink);font-size:12px;font-weight:800}.pillars-health-legend{color:var(--ink-2);flex-wrap:wrap;gap:16px;margin:0 0 12px;font-size:11px;display:flex}.pillars-health-legend span,.pva-legend span{align-items:center;gap:5px;display:flex}.pva-swatch{border-radius:3px;width:11px;height:8px;display:inline-block}.pva-swatch.fill{background:#16a34a}.pva-swatch.tick{background:#1e293b;border-radius:0;width:2px;height:11px}.ptl-shell{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 10px #0f172a0a}.ptl-title{padding:12px 14px 0}.ptl-toolbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:8px 14px;display:flex}.ptl-scope{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex:none;padding:5px 11px;font-size:11px;font-weight:700}.ptl-scope.on{background:var(--ink);color:#fff;border-color:var(--ink)}.ptl-hint{color:var(--ink-2);font-size:11px}.ptl-empty{color:var(--ink-2);margin:0;padding:14px;font-size:13px}.ptl-shell .pva-legend{margin-top:8px;padding:0 14px}.ptl-dot-legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;padding:6px 14px 0;font-size:11px;display:flex}.ptl-dot-legend span{align-items:center;gap:5px;display:inline-flex}.ptl-dl-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.ptl-dl-dot.done{background:#334155}.ptl-dl-dot.current{background:var(--b-active);box-shadow:0 0 0 2px #2563eb40}.ptl-dl-dot.upcoming{background:#fff;border:2px solid #cbd5e1}.ptl-dl-dot.flagged{border:2px solid var(--b-risk);background:#fff;box-shadow:0 0 0 2px #dc262633}.ptl-dl-dot.marker{background:var(--b-risk);border:2px solid #fff;box-shadow:0 0 0 1px #0f172a26}.ptl-scroll{max-height:500px;position:relative;overflow:auto}.ptl-inner{position:relative}.ptl-corner{z-index:30;border-right:1px solid var(--line);background:#fff;height:40px;position:sticky;top:0;left:0}.ptl-ruler{z-index:20;border-bottom:1px solid var(--line);background:#f8fafc;height:40px;position:sticky;top:0}.ptl-tick{padding-left:4px;position:absolute;top:5px}.ptl-tick span{color:var(--ink-2);white-space:nowrap;font-size:10px;font-weight:600;display:block}.ptl-tick.q{border-left:1px solid #e2e8f0;height:100%}.ptl-today{background:var(--b-risk);opacity:.85;z-index:1;width:2px;position:absolute;top:0;bottom:0}.ptl-today span{background:var(--b-risk);color:#fff;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;position:sticky;top:3px;left:3px}.ptl-row{background:#fff;align-items:center;height:30px;display:flex}.ptl-row.zebra{background:#fafbfc}.ptl-row.ptl-summary-row{height:68px}.ptl-label{width:220px;min-width:220px;height:100%;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:inherit;z-index:10;cursor:pointer;border:none;align-items:center;gap:6px;padding:0 10px 0 14px;font-size:12px;display:flex;position:sticky;left:0;overflow:hidden}.ptl-label:hover{text-decoration:underline}.ptl-track{height:100%;position:relative}.ptl-bar-wrap{height:8px;position:absolute;top:39px}.ptl-bar-wrap .pva{margin-top:0}.ptl-bar-wrap .pva-end{position:absolute;top:12px;left:0}.ptl-stage-node{z-index:3;cursor:pointer;background:#fff;border:2px solid #334155;border-radius:50%;width:9px;height:9px;padding:0;position:absolute;top:20px;transform:translate(-4.5px)}.ptl-stage-node.done{background:#334155}.ptl-stage-node.current{background:var(--b-active);border-color:var(--b-active);box-shadow:0 0 0 3px #2563eb40}.ptl-stage-node.upcoming{background:#fff;border-color:#cbd5e1}.ptl-stage-node.flagged{border-color:var(--b-risk);width:12px;height:12px;transform:translate(-6px);box-shadow:0 0 0 3px #dc262633}.ptl-node-backdrop{z-index:19;position:fixed;inset:0}.ptl-node-pop{z-index:20;border:1px solid var(--line);cursor:default;background:#fff;border-radius:10px;width:320px;max-height:360px;padding:10px;position:fixed;overflow-y:auto;box-shadow:0 10px 28px #0f172a2e}.ptl-node-pop-head{margin-bottom:8px;font-size:12px;font-weight:700}.ptl-node-pop-empty{color:var(--ink-2);margin:0;font-size:12px}.ptl-node-pop-label{text-transform:uppercase;letter-spacing:.03em;margin:8px 0 4px;font-size:10px;font-weight:700}.ptl-node-pop-label.immediate{color:var(--b-risk)}.ptl-node-pop-label.not-immediate{color:var(--b-wait)}.ptl-node-pop-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ptl-issue-card{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fafafa;border:1px solid #f1f5f9;border-radius:6px;padding:7px 9px;display:block}.ptl-issue-card:hover{background:#eff6ff;border-color:#2563eb}.ptl-issue-what{color:var(--ink);margin:0 0 5px;font-size:12px;font-weight:700;line-height:1.35}.ptl-issue-matrix{flex-direction:column;gap:3px;margin:0;display:flex}.ptl-issue-matrix div{align-items:baseline;gap:6px;display:flex}.ptl-issue-matrix dt{text-transform:uppercase;letter-spacing:.03em;width:52px;color:var(--ink-2);flex:none;font-size:9px;font-weight:700}.ptl-issue-matrix dd{color:var(--ink-2);margin:0;font-size:11px;line-height:1.4}.ptl-marker{cursor:pointer;z-index:5;border:2px solid #fff;border-radius:50%;width:10px;height:10px;padding:0;position:absolute;top:2px;transform:translate(-5px);box-shadow:0 0 0 1px #0f172a26}.ptl-marker.risk{background:var(--b-risk)}.ptl-marker.wait{background:var(--b-wait)}.np-backdrop{z-index:60;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.np-modal{background:#fff;border-radius:14px;width:100%;max-width:820px;max-height:88vh;overflow:auto;box-shadow:0 20px 60px #00000040}.np-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.np-head h2{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.np-cols{flex-wrap:wrap;gap:18px;padding:16px 18px;display:flex}.np-inputs{flex:1;min-width:240px}.np-preview{flex:1.4;min-width:300px}.np-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;margin:0 0 10px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.np-badge.you{color:#1d4ed8;background:#dbeafe}.np-badge.auto{color:#15803d;background:#dcfce7}.np-inputs label{margin-bottom:10px;font-size:12px;font-weight:600;display:block}.np-inputs input,.np-inputs select{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;margin-top:4px;padding:7px 9px;font-size:13px;display:block}.np-key{color:#dc2626;margin-left:6px;font-size:11px;font-weight:400}.np-note{color:var(--ink-2);font-size:12px;line-height:1.5}.np-empty{color:var(--ink-2);font-size:13px;font-style:italic}.np-table{border-collapse:collapse;width:100%;font-size:12px}.np-table td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:6px 8px}.np-table td:first-child{color:var(--ink-2);white-space:nowrap}.np-stages-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em;margin:12px 0 6px;font-size:11px;font-weight:700}.np-stages{flex-direction:column;gap:4px;display:flex}.np-stage{border:1px solid var(--line);background:#f8fafc;border-radius:6px;justify-content:space-between;padding:4px 8px;font-size:12px;display:flex}.np-stage .d{color:var(--ink-2);font-family:var(--font-mono);font-size:11px}.np-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.tier-dot.red{background:#dc2626}.tier-dot.amber{background:#d97706}.pillars-crit{background:linear-gradient(135deg,#fffbeb,#fef3c7 60%);border:1px solid #fde68a;border-top:none;border-radius:0 0 10px 10px;padding:14px 16px;box-shadow:0 1px 2px #92400e0f,0 4px 14px -6px #92400e2e}.pillars-crit.ok{background:#f0fdf4;border-color:#bbf7d0}.pillars-crit.ok .pillars-crit-label{color:#15803d}.pillars-crit-label{color:#92400e;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin:0 0 6px;font-size:11px;font-weight:700;display:flex}.pillars-crit-title{color:#78350f;margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.3}.pillars-crit-meta{color:#92400e;text-transform:capitalize;margin:0 0 4px;font-size:11.5px}.pillars-crit-more{color:#92400e;opacity:.85;margin:0 0 10px;font-size:11.5px;font-weight:600}.pillars-crit-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.pillars-esc-wrap{margin-left:auto;position:relative}.pillars-esc-btn{color:#fff;background:var(--b-risk);cursor:pointer;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:700;display:flex}.pillars-esc-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;min-width:190px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 10px 28px #0f172a2e}.pillars-esc-menu button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border:none;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;display:flex}.pillars-esc-menu button:hover{background:#f8fafc}.pillars-esc-menu button+button{border-top:1px solid #f1f5f9}.pillars-esc-menu .dot{border-radius:50%;flex:none;width:7px;height:7px}.pillars-collapse{border-bottom:1px solid var(--line);padding:10px 16px;font-size:12px}.pillars-collapse summary{cursor:pointer;color:var(--ink-2)}.pillars-illustrative-note{color:var(--ink-2);margin:6px 0 0;font-size:11px}.pillars-health-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.pillars-health-table th{text-align:left;color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:4px 8px;font-size:11px;font-weight:700}.pillars-health-table td{border-bottom:1px solid #f1f5f9;padding:5px 8px}.pillars-health-table td.flag{color:#b91c1c;font-weight:700}.pillars-esc-list{flex-direction:column;gap:5px;margin:8px 0 0;padding:0;list-style:none;display:flex}.pillars-esc-list li{font-size:12px}.pillars-esc-list .p{color:var(--ink-2);font-weight:600}.pillars-esc-list .d{color:#b91c1c}.canvas-root{flex-direction:column;height:100%;display:flex;position:relative}.canvas-msg{text-align:center;background:var(--canvas);height:100%;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;font-size:13px;display:flex}.canvas-msg .dim{color:var(--ink-2)}.canvas-stamp{z-index:5;font-family:var(--font-mono);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);pointer-events:none;border-radius:4px;padding:3px 7px;font-size:10px;position:absolute;bottom:8px;right:10px}.waitbadge{min-width:20px;height:18px;font-family:var(--font-mono);color:#fff;background:var(--b-risk);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;display:flex;position:absolute;top:6px;right:6px}.canvas-root .node,.canvas-root .anode{cursor:pointer}.canvas-top{border-bottom:1px solid var(--line);background:var(--surface);z-index:6;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 10px;font-size:12px;display:flex}.canvas-layouts,.canvas-focus{align-items:center;gap:6px;display:flex}.canvas-focus{color:var(--ink-2);margin-left:auto}.canvas-layouts button,.canvas-focus button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:5px;padding:3px 9px}.canvas-layouts button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.canvas-more{color:var(--b-risk)!important;border-color:var(--b-risk)!important}.canvas-stage{flex:1;min-height:0;display:flex;position:relative}.canvas-stage .flowview,.canvas-stage .tl{flex:1;min-width:0}.panel{border-left:1px solid var(--line);background:var(--surface);width:340px;color:var(--ink);flex:0 0 340px;padding:10px 14px 24px;font-size:12.5px;overflow-y:auto}.panel-head{flex-direction:row;align-items:center;gap:8px;display:flex}.panel-head .pill{margin-right:auto}.panel-close{color:var(--ink-2);cursor:pointer;background:0 0;border:0;font-size:13px}.panel h2{font-family:var(--font-title);margin:6px 0 4px;font-size:17px;line-height:1.25}.panel-sub{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.panel-open{color:var(--b-active);align-items:center;gap:3px;margin-left:auto;text-decoration:none;display:inline-flex}.panel .dim{color:var(--ink-2)}.panel-cost{background:var(--canvas);border:1px solid var(--line);border-radius:6px;margin:10px 0;padding:8px 10px;line-height:1.5}.panel-cost b{font-family:var(--font-mono);font-size:14px}.panel-behind{color:var(--b-risk)}.panel-esc{color:var(--b-wait)}.panel-lag{color:var(--ink-2);align-items:center;gap:4px;margin-top:4px;font-size:10.5px;display:flex}.panel-sec{margin-top:12px}.panel-sec h3{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin:0 0 5px;font-size:9.5px}.panel .kv{justify-content:space-between;gap:10px;padding:2px 0;display:flex}.panel .kv span{color:var(--ink-2)}.panel-how{margin:0;line-height:1.5}.panel-status{font:inherit;border:1px solid var(--line);border-radius:4px;padding:1px 4px}.panel-link,.panel-validate{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--b-active);cursor:pointer;border-radius:4px;margin-top:4px;padding:2px 7px;font-size:11px}.panel-validate{color:var(--b-done);border-color:var(--b-done);margin-left:6px}.panel-validate:disabled{opacity:.5;cursor:default}.cl{border-top:1px dashed var(--line);padding:5px 0}.cl-title{align-items:center;gap:5px;line-height:1.35;display:flex}.cl.ok .cl-title{color:var(--b-done)}.cl-dot{border:1px solid var(--b-idle);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.cl-art{margin:2px 0 0 17px;font-size:11.5px}.cl-art a{color:var(--b-active)}.panel-error{color:var(--b-risk);background:#fef2f2;border-radius:5px;margin-top:10px;padding:6px 8px}.panel-ro{color:var(--ink-2);margin-top:10px;font-size:11px}.conn{text-align:left;border:0;border-top:1px dashed var(--line);width:100%;font:inherit;cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:5px 0;display:flex}.conn .etype{font-family:var(--font-mono);text-transform:uppercase;color:var(--ink-2);font-size:9.5px}.conn-title{color:var(--ink);line-height:1.3}.conn .wait{color:var(--b-wait);font-size:10.5px}.tl{background:var(--canvas);flex-direction:column;min-height:0;display:flex}.tl-bar{border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink-2);align-items:center;gap:10px;padding:5px 10px;font-size:11px;display:flex}.tl-zoom{gap:4px;margin-left:auto;display:flex}.tl-zoom button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);min-width:22px;color:var(--ink-2);border-radius:4px;padding:2px 6px}.tl-scroll{flex:1;overflow:auto}.tl-canvas{position:relative}.tl-ruler{border-bottom:1px solid var(--line);height:26px;position:absolute;top:0}.tl-month{border-left:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);white-space:nowrap;padding-left:4px;font-size:9.5px;position:absolute;top:6px}.tl-today{background:var(--b-risk);opacity:.7;z-index:3;width:2px;position:absolute;top:26px}.tl-edges{pointer-events:none;z-index:2;position:absolute;overflow:visible}.tl-row{position:absolute;left:0;right:0}.tl-label{border:0;border-right:1px solid var(--line);background:var(--surface);height:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;z-index:4;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;display:flex;position:absolute;top:0;left:0;overflow:hidden}.tl-label.on{background:var(--canvas);font-weight:600}.tl-dot{background:var(--k-process);border-radius:2px;flex:0 0 7px;width:7px;height:7px}.tl-dot.k-decision{background:var(--k-decision)}.tl-dot.k-deliverable{background:var(--k-deliverable)}.tl-dot.k-gate{background:var(--k-gate)}.tl-dot.k-risk{background:var(--k-risk)}.tl-bar-item{cursor:pointer;background:var(--b-idle);z-index:3;border:0;border-radius:3px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.tl-bar-item.s-done{background:var(--b-done)}.tl-bar-item.s-active{background:var(--b-active)}.tl-bar-item.s-wait{background:var(--b-wait)}.tl-bar-item.s-risk{background:var(--b-risk)}.tl-bar-item.point{border-radius:50%}.tl-bar-item.on{outline:2px solid var(--ink);outline-offset:1px}.tl-undated{border-top:1px solid var(--line);background:var(--surface);padding:4px 10px;font-size:11px}
