._tabBar_1xu70_4{display:flex;gap:0;border-bottom:1px solid var(--border-color);padding:0 32px}._tab_1xu70_4{background:none;border:none;padding:8px 20px;cursor:pointer;font-size:.82rem;font-family:var(--font-sans);font-weight:400;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px}._tabActive_1xu70_24{font-weight:700;color:var(--accent);border-bottom:2px solid var(--accent)}._page_1xu70_30{padding:20px 32px;display:flex;flex-direction:column;gap:20px}._kpiStrip_1xu70_37{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:900px){._kpiStrip_1xu70_37{grid-template-columns:repeat(5,1fr)}}@media(min-width:900px){._kpiStripWide_1xu70_51{grid-template-columns:repeat(6,1fr)}}._kpiTile_1xu70_56{border:1px solid var(--border-color);border-radius:3px;background:var(--bg-card);padding:10px 14px}._kpiTileButton_1xu70_63{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s}._kpiTileButton_1xu70_63:hover{border-color:var(--accent)}._kpiTileActive_1xu70_76{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card))}._kpiLabel_1xu70_86{display:block;margin:0;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary)}._kpiValue_1xu70_95{display:block;margin:4px 0 0;font-size:1.6rem;font-weight:300;color:var(--text-primary)}._kpiSub_1xu70_106{display:flex;flex-direction:column;gap:2px;margin-top:2px;font-size:10px;color:var(--text-secondary)}._kpiRefLine_1xu70_118{display:flex;align-items:baseline;gap:4px}._kpiRefValue_1xu70_124{font-size:.95rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}._kpiDelta_1xu70_78{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:3px}._kpiDeltaBaseline_1xu70_141{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}._kpiDeltaChip_1xu70_78{display:inline-flex;align-items:center;gap:3px;padding:2px 9px;border:1px solid color-mix(in srgb,var(--text-error) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--text-error) 11%,var(--bg-card));font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-error)}._panel_1xu70_169{border:1px solid var(--border-color);border-radius:3px;background:var(--bg-card);padding:14px 16px}._panelTitle_1xu70_176{margin:0 0 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}._chartHead_1xu70_186{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}._panelAlert_1xu70_196{border-color:color-mix(in srgb,var(--text-error) 35%,var(--border-color));border-left:3px solid var(--text-error)}._panelTitleAlert_1xu70_201{font-size:12px;font-weight:700;color:var(--text-error)}._daysLate_1xu70_209{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-error)}._weekWindows_1xu70_217{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}._weekWindow_1xu70_217{display:flex;align-items:baseline;gap:8px;padding:6px 12px;border:1px solid var(--border-color);border-left-width:3px;border-radius:3px;background:var(--bg-secondary)}._weekWindowLabel_1xu70_235{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}._weekWindowRange_1xu70_242{font-size:.9rem;font-variant-numeric:tabular-nums;color:var(--text-primary)}._weekWindowCount_1xu70_248{font-size:10px;color:var(--text-secondary)}._weekWindowButton_1xu70_253{margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}._weekWindowButton_1xu70_253:hover{border-color:var(--text-secondary)}._weekWindowActive_1xu70_265{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-secondary))}._cardsGrid_1xu70_270{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:900px){._cardsGrid_1xu70_270{grid-template-columns:repeat(4,1fr)}}._moduleTableHeader_1xu70_286{display:grid;grid-template-columns:1fr 32px 90px;gap:8px;padding:2px 6px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color);margin-bottom:4px}._moduleTableGrid_1xu70_299{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:1px 16px}._moduleTableRow_1xu70_306{display:grid;grid-template-columns:1fr 32px 90px;gap:8px;align-items:center;padding:2px 6px;border:none;border-radius:3px;background:none;text-align:left;cursor:pointer}._moduleTableRow_1xu70_306:hover{background:var(--bg-secondary)}._moduleTableRowActive_1xu70_323{background:color-mix(in srgb,var(--accent) 14%,var(--bg-secondary))}._moduleTableName_1xu70_327{font-size:11px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._moduleTableCount_1xu70_336{font-size:11px;font-weight:600;color:var(--accent);text-align:right;font-variant-numeric:tabular-nums}._moduleTableBarTrack_1xu70_344{display:flex;gap:1px;height:8px;border-radius:2px;overflow:hidden;background:var(--bg-card)}._moduleTableBarFill_1xu70_353{height:100%}._card_1xu70_270{border:1px solid var(--border-color);border-radius:3px;background:var(--bg-secondary);padding:10px;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}._card_1xu70_270:hover{border-color:var(--text-secondary)}._cardActive_1xu70_371{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-secondary))}._cardHeader_1xu70_376{display:flex;align-items:baseline;justify-content:space-between;gap:8px}._cardLabel_1xu70_383{font-size:11px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._cardValue_1xu70_392{font-size:.95rem;font-weight:600;color:var(--accent);white-space:nowrap}._cardSub_1xu70_399{margin:4px 0 0;font-size:10px;color:var(--text-secondary)}._customLegend_1xu70_408{display:flex;flex-wrap:wrap;gap:6px 14px;margin:-4px 0 10px}._legendItem_1xu70_415{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}button._legendItem_1xu70_415{border:none;background:none;padding:2px 4px;cursor:pointer;border-radius:3px;transition:background .12s}button._legendItem_1xu70_415:hover{background:var(--bg-secondary)}._legendItemActive_1xu70_436{color:var(--text-primary);font-weight:600;background:color-mix(in srgb,var(--accent) 12%,var(--bg-secondary))}._legendSwatch_1xu70_442{width:10px;height:10px;border-radius:2px;flex-shrink:0}._filterRow_1xu70_449{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}._searchInput_1xu70_456{min-width:220px}._columnFilterInput_1xu70_460{width:100%;padding:3px 6px;font-size:.72rem;font-weight:400;text-transform:none}._monthFilter_1xu70_468{display:flex;gap:2px}._monthFilterMonth_1xu70_473{flex:1 1 0;min-width:0;padding:3px 2px;font-size:.7rem;text-transform:none}._monthFilterYear_1xu70_481{flex:0 0 4.4em;min-width:0;padding:3px 2px;font-size:.7rem;font-weight:400;text-transform:none}._tableWrap_1xu70_490{overflow-x:auto}._table_1xu70_490{width:100%;border-collapse:collapse;font-size:.78rem}._table_1xu70_490 th{text-align:left;padding:6px 8px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}._table_1xu70_490 td{padding:6px 8px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}._clickableRows_1xu70_516 tbody tr{cursor:pointer}._clickableRows_1xu70_516 tbody tr:hover{background:var(--bg-secondary)}._thSortable_1xu70_524{cursor:pointer;-webkit-user-select:none;user-select:none}._thTooltip_1xu70_531{border-bottom:1px dotted var(--text-secondary);cursor:help}._emptyRow_1xu70_536 td{text-align:center;padding:24px;color:var(--text-secondary);cursor:default}._severityBadge_1xu70_543{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600}._pagination_1xu70_551{display:flex;align-items:center;gap:8px;padding-top:8px;font-size:.75rem;color:var(--text-secondary)}._pageButton_1xu70_560{border:1px solid var(--border-color);border-radius:3px;background:var(--bg-card);color:var(--text-primary);padding:3px 10px;cursor:pointer;font-size:.75rem}._pageButton_1xu70_560:disabled{opacity:.4;cursor:default}._drawerBackdrop_1xu70_575{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:90}._drawer_1xu70_575{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--bg-card);border-left:1px solid var(--border-color);box-shadow:-4px 0 24px #00000040;z-index:91;display:flex;flex-direction:column}._drawerHeader_1xu70_596{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color)}._drawerTitle_1xu70_604{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}._drawerClose_1xu70_611{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1.1rem;line-height:1}._drawerBody_1xu70_620{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}._drawerField_1xu70_628{display:flex;flex-direction:column;gap:2px}._drawerFieldLabel_1xu70_634{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}._drawerFieldValue_1xu70_641{font-size:.82rem;color:var(--text-primary);word-break:break-word}.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-rose-300:oklch(81% .117 11.638);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-schedule-bg:#111d35;--color-schedule-bg-deep:#0a1628;--color-schedule-gold:#2dd4bf;--color-schedule-text:#e2e7ed;--color-schedule-muted:#8494a7}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing) * 0)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-10{width:calc(var(--spacing) * 10)}.w-56{width:calc(var(--spacing) * 56)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.w-px{width:1px}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[180px\]{min-width:180px}.min-w-\[240px\]{min-width:240px}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-l-sm{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-r-sm{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-orange-400\/60{border-color:#ff8b1a99}@supports (color:color-mix(in lab,red,red)){.border-orange-400\/60{border-color:color-mix(in oklab,var(--color-orange-400) 60%,transparent)}}.border-orange-500\/60{border-color:#fe6e0099}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/60{border-color:color-mix(in oklab,var(--color-orange-500) 60%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-schedule-gold{border-color:var(--color-schedule-gold)}.border-schedule-gold\/60{border-color:#2dd4bf99}@supports (color:color-mix(in lab,red,red)){.border-schedule-gold\/60{border-color:color-mix(in oklab,var(--color-schedule-gold) 60%,transparent)}}.border-schedule-muted\/5{border-color:#8494a70d}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/5{border-color:color-mix(in oklab,var(--color-schedule-muted) 5%,transparent)}}.border-schedule-muted\/8{border-color:#8494a714}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/8{border-color:color-mix(in oklab,var(--color-schedule-muted) 8%,transparent)}}.border-schedule-muted\/10{border-color:#8494a71a}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/10{border-color:color-mix(in oklab,var(--color-schedule-muted) 10%,transparent)}}.border-schedule-muted\/15{border-color:#8494a726}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/15{border-color:color-mix(in oklab,var(--color-schedule-muted) 15%,transparent)}}.border-schedule-muted\/20{border-color:#8494a733}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/20{border-color:color-mix(in oklab,var(--color-schedule-muted) 20%,transparent)}}.border-schedule-muted\/25{border-color:#8494a740}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/25{border-color:color-mix(in oklab,var(--color-schedule-muted) 25%,transparent)}}.border-schedule-muted\/30{border-color:#8494a74d}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/30{border-color:color-mix(in oklab,var(--color-schedule-muted) 30%,transparent)}}.border-schedule-muted\/40{border-color:#8494a766}@supports (color:color-mix(in lab,red,red)){.border-schedule-muted\/40{border-color:color-mix(in oklab,var(--color-schedule-muted) 40%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/15{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-schedule-bg-deep{background-color:var(--color-schedule-bg-deep)}.bg-schedule-bg-deep\/90{background-color:#0a1628e6}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg-deep\/90{background-color:color-mix(in oklab,var(--color-schedule-bg-deep) 90%,transparent)}}.bg-schedule-bg-deep\/95{background-color:#0a1628f2}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg-deep\/95{background-color:color-mix(in oklab,var(--color-schedule-bg-deep) 95%,transparent)}}.bg-schedule-bg-deep\/97{background-color:#0a1628f7}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg-deep\/97{background-color:color-mix(in oklab,var(--color-schedule-bg-deep) 97%,transparent)}}.bg-schedule-bg\/30{background-color:#111d354d}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg\/30{background-color:color-mix(in oklab,var(--color-schedule-bg) 30%,transparent)}}.bg-schedule-bg\/40{background-color:#111d3566}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg\/40{background-color:color-mix(in oklab,var(--color-schedule-bg) 40%,transparent)}}.bg-schedule-bg\/50{background-color:#111d3580}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg\/50{background-color:color-mix(in oklab,var(--color-schedule-bg) 50%,transparent)}}.bg-schedule-bg\/80{background-color:#111d35cc}@supports (color:color-mix(in lab,red,red)){.bg-schedule-bg\/80{background-color:color-mix(in oklab,var(--color-schedule-bg) 80%,transparent)}}.bg-schedule-gold\/10{background-color:#2dd4bf1a}@supports (color:color-mix(in lab,red,red)){.bg-schedule-gold\/10{background-color:color-mix(in oklab,var(--color-schedule-gold) 10%,transparent)}}.bg-schedule-gold\/15{background-color:#2dd4bf26}@supports (color:color-mix(in lab,red,red)){.bg-schedule-gold\/15{background-color:color-mix(in oklab,var(--color-schedule-gold) 15%,transparent)}}.bg-schedule-gold\/20{background-color:#2dd4bf33}@supports (color:color-mix(in lab,red,red)){.bg-schedule-gold\/20{background-color:color-mix(in oklab,var(--color-schedule-gold) 20%,transparent)}}.bg-schedule-muted\/20{background-color:#8494a733}@supports (color:color-mix(in lab,red,red)){.bg-schedule-muted\/20{background-color:color-mix(in oklab,var(--color-schedule-muted) 20%,transparent)}}.bg-schedule-muted\/40{background-color:#8494a766}@supports (color:color-mix(in lab,red,red)){.bg-schedule-muted\/40{background-color:color-mix(in oklab,var(--color-schedule-muted) 40%,transparent)}}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-amber-200{color:var(--color-amber-200)}.text-amber-200\/80{color:#fee685cc}@supports (color:color-mix(in lab,red,red)){.text-amber-200\/80{color:color-mix(in oklab,var(--color-amber-200) 80%,transparent)}}.text-inherit{color:inherit}.text-orange-300{color:var(--color-orange-300)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-rose-300{color:var(--color-rose-300)}.text-schedule-gold{color:var(--color-schedule-gold)}.text-schedule-gold\/80{color:#2dd4bfcc}@supports (color:color-mix(in lab,red,red)){.text-schedule-gold\/80{color:color-mix(in oklab,var(--color-schedule-gold) 80%,transparent)}}.text-schedule-muted{color:var(--color-schedule-muted)}.text-schedule-muted\/40{color:#8494a766}@supports (color:color-mix(in lab,red,red)){.text-schedule-muted\/40{color:color-mix(in oklab,var(--color-schedule-muted) 40%,transparent)}}.text-schedule-muted\/70{color:#8494a7b3}@supports (color:color-mix(in lab,red,red)){.text-schedule-muted\/70{color:color-mix(in oklab,var(--color-schedule-muted) 70%,transparent)}}.text-schedule-text{color:var(--color-schedule-text)}.text-schedule-text\/90{color:#e2e7ede6}@supports (color:color-mix(in lab,red,red)){.text-schedule-text\/90{color:color-mix(in oklab,var(--color-schedule-text) 90%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_14px_rgba\(45\,212\,191\,0\.25\)\]{--tw-shadow:0 0 14px var(--tw-shadow-color,#2dd4bf40);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:text-schedule-text:is(:where(.group):hover *){color:var(--color-schedule-text)}}.placeholder\:text-schedule-muted\/60::placeholder{color:#8494a799}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-schedule-muted\/60::placeholder{color:color-mix(in oklab,var(--color-schedule-muted) 60%,transparent)}}@media(hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-schedule-gold\/50:hover{border-color:#2dd4bf80}@supports (color:color-mix(in lab,red,red)){.hover\:border-schedule-gold\/50:hover{border-color:color-mix(in oklab,var(--color-schedule-gold) 50%,transparent)}}.hover\:border-schedule-gold\/60:hover{border-color:#2dd4bf99}@supports (color:color-mix(in lab,red,red)){.hover\:border-schedule-gold\/60:hover{border-color:color-mix(in oklab,var(--color-schedule-gold) 60%,transparent)}}.hover\:border-schedule-muted\/60:hover{border-color:#8494a799}@supports (color:color-mix(in lab,red,red)){.hover\:border-schedule-muted\/60:hover{border-color:color-mix(in oklab,var(--color-schedule-muted) 60%,transparent)}}.hover\:bg-amber-500\/15:hover{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/15:hover{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.hover\:bg-orange-500\/25:hover{background-color:#fe6e0040}@supports (color:color-mix(in lab,red,red)){.hover\:bg-orange-500\/25:hover{background-color:color-mix(in oklab,var(--color-orange-500) 25%,transparent)}}.hover\:bg-schedule-bg\/60:hover{background-color:#111d3599}@supports (color:color-mix(in lab,red,red)){.hover\:bg-schedule-bg\/60:hover{background-color:color-mix(in oklab,var(--color-schedule-bg) 60%,transparent)}}.hover\:bg-schedule-gold\/5:hover{background-color:#2dd4bf0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-schedule-gold\/5:hover{background-color:color-mix(in oklab,var(--color-schedule-gold) 5%,transparent)}}.hover\:bg-schedule-gold\/10:hover{background-color:#2dd4bf1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-schedule-gold\/10:hover{background-color:color-mix(in oklab,var(--color-schedule-gold) 10%,transparent)}}.hover\:bg-schedule-gold\/30:hover{background-color:#2dd4bf4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-schedule-gold\/30:hover{background-color:color-mix(in oklab,var(--color-schedule-gold) 30%,transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.hover\:bg-white\/\[0\.025\]:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.025\]:hover{background-color:color-mix(in oklab,var(--color-white) 2.5%,transparent)}}.hover\:text-orange-200:hover{color:var(--color-orange-200)}.hover\:text-schedule-gold:hover{color:var(--color-schedule-gold)}.hover\:text-schedule-text:hover{color:var(--color-schedule-text)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-schedule-gold\/60:focus{border-color:#2dd4bf99}@supports (color:color-mix(in lab,red,red)){.focus\:border-schedule-gold\/60:focus{border-color:color-mix(in oklab,var(--color-schedule-gold) 60%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:relative:focus-visible{position:relative}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-orange-500\/70:focus-visible{outline-color:#fe6e00b3}@supports (color:color-mix(in lab,red,red)){.focus-visible\:outline-orange-500\/70:focus-visible{outline-color:color-mix(in oklab,var(--color-orange-500) 70%,transparent)}}.focus-visible\:outline-schedule-gold\/60:focus-visible{outline-color:#2dd4bf99}@supports (color:color-mix(in lab,red,red)){.focus-visible\:outline-schedule-gold\/60:focus-visible{outline-color:color-mix(in oklab,var(--color-schedule-gold) 60%,transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(hover:hover){.disabled\:hover\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:hover\:border-schedule-muted\/40:disabled:hover{border-color:#8494a766}@supports (color:color-mix(in lab,red,red)){.disabled\:hover\:border-schedule-muted\/40:disabled:hover{border-color:color-mix(in oklab,var(--color-schedule-muted) 40%,transparent)}}.disabled\:hover\:bg-schedule-bg\/40:disabled:hover{background-color:#111d3566}@supports (color:color-mix(in lab,red,red)){.disabled\:hover\:bg-schedule-bg\/40:disabled:hover{background-color:color-mix(in oklab,var(--color-schedule-bg) 40%,transparent)}}.disabled\:hover\:text-schedule-text:disabled:hover{color:var(--color-schedule-text)}.disabled\:hover\:shadow-sm:disabled:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.schedule-scroll::-webkit-scrollbar{background:#0a1628b3;width:14px;height:14px}.schedule-scroll::-webkit-scrollbar-track{background:#0a162880;border-left:1px solid #8494a726}.schedule-scroll::-webkit-scrollbar-thumb{background:#2dd4bf73;border:2px solid #0a1628b3;border-radius:7px;box-shadow:0 0 6px #2dd4bf66}.schedule-scroll::-webkit-scrollbar-thumb:hover{background:#2dd4bfcc;box-shadow:0 0 12px #2dd4bfb3}.schedule-scroll::-webkit-scrollbar-corner{background:#0a1628b3}.schedule-scroll{scrollbar-width:auto;scrollbar-color:#2dd4bf73 #0a162880}:root{--navy-900:#0a1628;--navy-800:#111d35;--navy-700:#1a2942;--navy-600:#243555;--navy-500:#2e4268;--slate-400:#8494a7;--slate-300:#a3b1c2;--slate-200:#c5ced8;--rose-500:#f43f5e;--rose-400:#fb7185;--slate-100:#e2e7ed;--slate-50:#f1f3f6;--teal-500:#0d9488;--teal-400:#2dd4bf;--teal-300:#5eead4;--orange-500:#f97316;--orange-400:#fb923c;--red-500:#ef4444;--red-400:#f87171;--amber-500:#f59e0b;--green-500:#22c55e;--green-400:#4ade80;--blue-500:#3b82f6;--bg-primary:var(--navy-900);--bg-secondary:var(--navy-800);--bg-card:var(--navy-700);--bg-card-hover:var(--navy-600);--border-color:var(--navy-600);--text-primary:var(--slate-100);--text-secondary:var(--slate-400);--text-muted:var(--slate-400);--text-error:#ff9090;--text-success:#7ee8a3;--accent:var(--teal-400);--accent-dim:var(--teal-500);--phase-milestones:#ffd60a;--phase-engineering:#a78bfa;--phase-procurement:#ff8a3d;--phase-fabrication:#fb7185;--phase-transportation:#22d3ee;--phase-construction:#39ff14;--phase-commissioning:#05d9ff;--phase-subcontracting:#94a3b8;--phase-startup:#f472b6;--phase-other:#64748b;--status-not-started:#9ca3af;--status-in-progress:#05d9ff;--status-complete:#39ff14;--critical:#ff2a6d;--today:#ffd60a;--data-date:#22d3ee;--logic-pred:#22d3ee;--logic-succ:#ffb020;--logic-sim:#fb923c;--logic-ghost:#8a96908c;--gantt-wbs-row-bg:transparent;--gantt-wbs-row-sub-bg:transparent;--font-sans:"IBM Plex Sans", "Noto Sans JP", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--sidebar-width:240px;--sidebar-collapsed-width:56px;--header-height:56px;--transition:.15s ease;--about-bg:#070b0f;--about-bg-grain:#ffffff07;--about-bar-bg:#070b0feb;--about-bar-bg-fade-top:linear-gradient(180deg, #070b0ff2 0%, #070b0f00 100%);--about-card-bg-faint:#ffffff08;--about-divider:#ffffff0f;--about-divider-faint:#ffffff0a;--about-text-primary:#e8e8ec;--about-text-secondary:#ffffff80;--about-text-muted:#ffffff4d;--about-title-gradient:linear-gradient(135deg, #fff 0%, #a0a0b0 100%);--about-accent-cyan:#00d4ff;--about-accent-purple:#7c5cfc;--about-accent-violet:#a78bfa;--about-accent-red:#ff6b6b;--about-accent-yellow:#ffd93d;--about-accent-neutral:#fff;--about-glow-cyan:#00d4ff0f;--about-glow-cyan-strong:#00d4ff1f;--about-circle-border:#00d4ff09;--about-dces-bg-text:#00d4ff06;--about-tag-bg-soft:#00d4ff12;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--text-2xs:.7rem;--text-xs:.75rem;--text-sm:.8rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.125rem;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 8px #00000059;--shadow-lg:0 10px 24px #00000073;--shadow-xl:0 20px 48px #0000008c;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.28s;--easing-standard:cubic-bezier(.2, 0, 0, 1);--easing-emphasized:cubic-bezier(.2, 0, 0, 1.2);--blur-sm:6px;--blur-md:12px;--blur-lg:20px;--blur-xl:32px;--surface-glass-bg-1:#1a29428c;--surface-glass-bg-2:#111d35a6;--surface-glass-bg-3:#0a1628b8;--surface-glass-border-1:#ffffff0f;--surface-glass-border-2:#ffffff1a;--surface-glass-highlight:#ffffff0a;--btn-h-sm:32px;--btn-h-md:36px;--btn-h-lg:44px;--btn-px-sm:var(--space-3);--btn-px-md:var(--space-4);--btn-px-lg:var(--space-5);--btn-gap:var(--space-2);--btn-radius:var(--radius-sm);--btn-border-width:1px;--btn-font-weight:600;--btn-letter-spacing:.01em;--btn-focus-ring-width:3px;--btn-focus-ring-offset:2px;--btn-focus-ring-color:#5eead48c;--btn-shadow-rest:var(--shadow-sm);--btn-shadow-hover:var(--shadow-md);--btn-shadow-active:none;--btn-disabled-opacity:.5;--nav-item-active-bg:#2dd4bf1f;--nav-item-active-fg:var(--accent);--tab-count-bg:#2dd4bf26;--tab-count-fg:var(--accent);--btn-primary-bg:var(--teal-500);--btn-primary-bg-hover:var(--teal-400);--btn-primary-fg:var(--navy-900);--btn-primary-border:var(--teal-500);--btn-secondary-bg:#ffffff0a;--btn-secondary-bg-hover:#ffffff14;--btn-secondary-fg:var(--text-secondary);--btn-secondary-border:var(--border-color);--btn-secondary-border-hover:var(--slate-400);--btn-danger-bg:#f43f5e29;--btn-danger-bg-hover:#f43f5e47;--btn-danger-fg:var(--rose-400);--btn-danger-border:#f43f5e80;--btn-ghost-bg:transparent;--btn-ghost-bg-hover:#ffffff0f;--btn-ghost-fg:var(--text-secondary);--btn-ghost-border:var(--border-color);--btn-subtle-bg:#3b82f61f;--btn-subtle-bg-hover:#3b82f63d;--btn-subtle-fg:var(--blue-500);--btn-subtle-border:#3b82f666;--btn-link-fg:var(--accent);--btn-link-fg-hover:var(--teal-300)}html[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f4f4f5;--bg-card:#fafafa;--bg-card-hover:#eee;--border-color:#d4d4d8;--text-primary:#1f2937;--text-secondary:#52525b;--text-muted:#71717a;--text-error:#c62828;--text-success:#2e7d32;--accent:#1976d2;--accent-dim:#0d47a1;--about-bg:#f7f8fb;--about-bg-grain:#0f172a0d;--about-bar-bg:#f7f8fbeb;--about-bar-bg-fade-top:linear-gradient(180deg, #f7f8fbf2 0%, #f7f8fb00 100%);--about-card-bg-faint:#0f172a0a;--about-divider:#0f172a1a;--about-divider-faint:#0f172a12;--about-text-primary:#1a2238;--about-text-secondary:#1a2238b3;--about-text-muted:#1a223880;--about-title-gradient:linear-gradient(135deg, #1a2238 0%, #5a6478 100%);--about-accent-cyan:#0891b2;--about-accent-purple:#6d4dd6;--about-accent-violet:#8b5cf6;--about-accent-red:#dc2626;--about-accent-yellow:#b45309;--about-accent-neutral:#1a2238;--about-glow-cyan:#0891b21a;--about-glow-cyan-strong:#0891b22e;--about-circle-border:#0891b21a;--about-dces-bg-text:#0891b20f;--about-tag-bg-soft:#0891b21a;--color-schedule-bg:#f5f5f5;--color-schedule-bg-deep:#fff;--color-schedule-forest:#2e7d32;--color-schedule-emerald:#1976d2;--color-schedule-gold:#1976d2;--color-schedule-warm:#0d47a1;--color-schedule-text:#1f2937;--color-schedule-muted:#6b7280;--phase-milestones:#f9a825;--phase-engineering:#7e57c2;--phase-procurement:#ef6c00;--phase-fabrication:#c2185b;--phase-transportation:#0277bd;--phase-construction:#2e7d32;--phase-commissioning:#0288d1;--phase-subcontracting:#546e7a;--phase-startup:#ad1457;--phase-other:#607d8b;--status-not-started:#9e9e9e;--status-in-progress:#2e7d32;--status-complete:#1565c0;--critical:#c62828;--today:#1976d2;--data-date:#c62828;--logic-pred:#0277bd;--logic-succ:#ef6c00;--logic-sim:#d84315;--logic-ghost:#607d8b80;--gantt-wbs-row-bg:#c8e6c9;--gantt-wbs-row-sub-bg:#fff9c4;--shadow-sm:0 1px 2px #0f172a14;--shadow-md:0 4px 8px #0f172a1a;--shadow-lg:0 10px 24px #0f172a26;--shadow-xl:0 20px 48px #0f172a33;--surface-glass-bg-1:#ffffffa6;--surface-glass-bg-2:#ffffffc7;--surface-glass-bg-3:#f4f4f5d9;--surface-glass-border-1:#0f172a0f;--surface-glass-border-2:#0f172a1a;--surface-glass-highlight:#fff9;--nav-item-active-bg:#1976d21a;--nav-item-active-fg:var(--accent);--tab-count-bg:#1976d21f;--tab-count-fg:var(--accent);--btn-focus-ring-color:#1976d273;--btn-primary-bg:var(--accent);--btn-primary-bg-hover:#1565c0;--btn-primary-fg:#fff;--btn-primary-border:var(--accent);--btn-secondary-bg:#fff;--btn-secondary-bg-hover:#f4f4f5;--btn-secondary-fg:var(--text-primary);--btn-secondary-border:var(--border-color);--btn-secondary-border-hover:#a0aec0;--btn-danger-bg:#dc26261a;--btn-danger-bg-hover:#dc26262e;--btn-danger-fg:#b91c1c;--btn-danger-border:#dc262666;--btn-ghost-bg:transparent;--btn-ghost-bg-hover:#0f172a0d;--btn-ghost-fg:var(--text-secondary);--btn-ghost-border:var(--border-color);--btn-subtle-bg:#1976d21a;--btn-subtle-bg-hover:#1976d22e;--btn-subtle-fg:var(--accent);--btn-subtle-border:#1976d259;--btn-link-fg:var(--accent);--btn-link-fg-hover:#0d47a1}html[data-theme=light] .schedule-wbs-row-l0{background:var(--gantt-wbs-row-bg)}html[data-theme=light] .schedule-wbs-row-sub{background:var(--gantt-wbs-row-sub-bg)}html[data-theme=light] .schedule-scroll::-webkit-scrollbar{background:#0000000a}html[data-theme=light] .schedule-scroll::-webkit-scrollbar-track{background:#0000000a;border-left:1px solid #00000014}html[data-theme=light] .schedule-scroll::-webkit-scrollbar-thumb{box-shadow:none;background:#1976d273;border:2px solid #ffffffe6}html[data-theme=light] .schedule-scroll::-webkit-scrollbar-thumb:hover{background:#1976d2cc}html[data-theme=light] .schedule-scroll::-webkit-scrollbar-corner{background:#0000000a}html[data-theme=light] .schedule-scroll{scrollbar-color:#1976d273 #0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--navy-600);border-radius:3px}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header h1,.sidebar.collapsed .lang-toggle,.sidebar.collapsed .theme-toggle,.sidebar.collapsed .sidebar-stats,.sidebar.collapsed .sidebar-user .user-name,.sidebar.collapsed .sidebar-user .logout-btn,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sidebar-header-top{justify-content:center}.sidebar.collapsed .sidebar-header{padding:16px 8px}.sidebar.collapsed .sidebar-nav a{justify-content:center;padding:10px 0}.sidebar.collapsed .nav-icon{opacity:1}.sidebar.collapsed .sidebar-user{justify-content:center;padding:12px 8px}.sidebar-toggle-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.85rem;line-height:1;transition:color .15s,border-color .15s}.sidebar-toggle-btn:hover{color:var(--accent);border-color:var(--accent)}.sidebar-header{border-bottom:1px solid var(--border-color);padding:20px 16px}.sidebar-header-top{justify-content:space-between;align-items:center;display:flex}.lang-toggle{border:1px solid var(--border-color);color:var(--text-muted);letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px;font-size:.6rem;font-weight:600;transition:all .15s}.lang-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;margin-right:4px;padding:1px 6px;font-size:.85rem;line-height:1;transition:all .15s}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.sidebar-header h1{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2px;font-size:.75rem;font-weight:600}.sidebar-nav{flex-direction:column;gap:2px;padding:12px 8px;display:flex}.sidebar-nav a{color:var(--text-secondary);transition:all var(--transition);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:.85rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sidebar-nav a.active{background:var(--nav-item-active-bg);color:var(--nav-item-active-fg);font-weight:600}.sidebar-nav .nav-icon{opacity:.7;width:18px;height:18px}.sidebar-nav a.active .nav-icon{opacity:1}.sidebar-user{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.sidebar-user .user-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sidebar-user .logout-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition);background:0 0;border-radius:4px;padding:3px 8px;font-size:.7rem}.sidebar-user .logout-btn:hover{background:var(--navy-700);color:var(--text-primary)}.sidebar-stats{border-top:1px solid var(--border-color);margin-top:auto;padding:16px}.sidebar-stat{justify-content:space-between;align-items:center;padding:4px 0;font-size:.75rem;display:flex}.sidebar-stat .label{color:var(--text-muted)}.sidebar-stat .value{color:var(--text-primary);font-family:var(--font-mono);font-weight:500}.auth-loading{background:var(--bg-primary);height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.auth-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-login{background:var(--bg-primary);height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.auth-login h2{font-size:1.5rem;font-weight:600}.auth-login p{color:var(--text-secondary);margin-bottom:12px;font-size:.875rem}.auth-login-btn{background:var(--accent-dim);color:var(--bg-primary);cursor:pointer;transition:var(--transition);border:none;border-radius:6px;padding:10px 24px;font-size:.875rem;font-weight:500}.auth-login-btn:hover{background:var(--accent)}.main-content{margin-left:var(--sidebar-width);flex:1;min-width:0;min-height:100vh;transition:margin-left .2s;overflow-x:hidden}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.page-header{border-bottom:1px solid var(--border-color);padding:28px 32px 20px}.page-header h2{color:var(--text-primary);margin-bottom:4px;font-size:1.25rem;font-weight:700}.page-header .description{color:var(--text-muted);white-space:pre-line;font-size:.8rem}.page-body{padding:24px 32px}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-btn{border:1px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:4px;padding:5px 12px;font-weight:500}.filter-btn:hover{border-color:var(--slate-400);color:var(--text-primary)}.filter-btn.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}.filter-group{align-items:center;gap:6px;display:flex}.filter-group .filter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-right:2px;font-size:.7rem}.filter-divider{background:var(--border-color);width:1px;height:24px;margin:0 4px}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:4px;padding:5px 12px;font-weight:500}.filter-chip:hover{border-color:var(--slate-400);color:var(--text-primary)}.filter-chip.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}.skill-cat-remove{border:1px solid var(--border-color);width:18px;height:18px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);vertical-align:middle;background:0 0;border-radius:3px;justify-content:center;align-items:center;margin-left:6px;font-size:.7rem;display:inline-flex}.skill-cat-remove:hover{background:var(--red-500);border-color:var(--red-500);color:#fff}.admin-add-user{border-bottom:1px solid var(--border-color);align-items:stretch;gap:8px;margin:12px 0 20px;padding-bottom:16px;display:flex}.admin-add-user-email{flex:auto;min-width:0}.admin-add-user-role{flex:0 0 120px}.admin-list-block{margin-bottom:20px}.admin-list-label{color:var(--text-secondary);margin-bottom:6px;font-size:.82rem;font-weight:600}.admin-emails-inline{flex-wrap:wrap;gap:6px;display:flex}.admin-empty{color:var(--text-muted);font-size:.78rem}.admin-email-pill{background:var(--bg-secondary);border:1px solid var(--border-color);font-family:var(--font-mono,monospace);color:var(--text-primary);border-radius:14px;align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:.78rem;display:inline-flex}.admin-email-pill-remove{width:18px;height:18px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.admin-email-pill-remove:hover{background:var(--red-500);color:#fff}.access-matrix-wrap{border-top:1px solid var(--border-color);margin-top:8px;padding-top:16px}.access-matrix-title{color:var(--text-secondary);margin-bottom:4px;font-size:.82rem;font-weight:600}.access-matrix-desc{color:var(--text-muted);margin:0 0 12px;font-size:.78rem;line-height:1.5}.access-matrix-empty{color:var(--text-muted);background:var(--bg-secondary);text-align:center;border-radius:4px;padding:12px;font-size:.78rem}.access-matrix-scroll{border:1px solid var(--border-color);border-radius:4px;overflow-x:auto}.access-matrix{border-collapse:collapse;width:100%;font-size:.8rem}.access-matrix th{background:var(--bg-secondary);color:var(--text-secondary);text-align:center;white-space:nowrap;border-bottom:1px solid var(--border-color);letter-spacing:.02em;padding:8px 6px;font-size:.72rem;font-weight:600}.access-matrix th.access-matrix-user-col{text-align:left;min-width:240px;padding-left:12px}.access-matrix th.access-matrix-action-col{width:32px}.access-matrix td{text-align:center;border-bottom:1px solid #ffffff0a;padding:8px 6px}.access-matrix tbody tr:last-child td{border-bottom:none}.access-matrix tbody tr:hover{background:#ffffff08}.access-matrix-user-cell{white-space:nowrap;text-align:left!important;padding-left:12px!important}.access-matrix-email{font-family:var(--font-mono,monospace);color:var(--text-primary);margin-right:8px}.access-matrix-role-badge{letter-spacing:.02em;border-radius:10px;flex-shrink:0;padding:1px 8px;font-size:.68rem;font-weight:600;display:inline-block}.access-matrix-role-badge.role-editor{color:var(--teal-400,#2dd4bf);background:#2dd4bf26;border:1px solid #2dd4bf59}.access-matrix-role-badge.role-reader{color:var(--text-secondary);background:#94a3b81f;border:1px solid #94a3b840}.access-matrix-role-select{letter-spacing:.02em;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:600}.access-matrix-role-select.role-editor{color:var(--teal-400,#2dd4bf);background:#2dd4bf26;border:1px solid #2dd4bf59}.access-matrix-role-select.role-reader{color:var(--text-secondary);background:#94a3b81f;border:1px solid #94a3b840}.access-matrix-role-select:focus-visible{outline:2px solid var(--accent,#38bdf8);outline-offset:1px}.access-matrix-role-select option{background:var(--bg-card,#1e293b);color:var(--text-primary)}.access-matrix-cell input[type=checkbox]{cursor:pointer;width:16px;height:16px}.card{background:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition);border-radius:8px;padding:16px}.card:hover{background:var(--bg-card-hover);border-color:var(--slate-400)}.card-clickable{cursor:pointer}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:16px}.metric-card .metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.7rem}.metric-card .metric-value{font-size:1.8rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1}.metric-card .metric-sub{color:var(--text-muted);margin-top:4px;font-size:.75rem}.metric-accent{border-left:3px solid var(--accent)}.metric-orange{border-left:3px solid var(--orange-500)}.metric-blue{border-left:3px solid var(--blue-500)}.charts-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:20px}.chart-card h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:.8rem;font-weight:600}.journal-list{flex-direction:column;gap:8px;display:flex}.journal-entry{cursor:pointer;grid-template-columns:auto 80px 1fr auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.journal-entry .entry-id{font-family:var(--font-mono);color:var(--accent);min-width:100px;font-size:.8rem;font-weight:500}.journal-entry .entry-date{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.journal-entry .entry-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.journal-entry .entry-domain{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:.7rem;font-weight:600}.journal-entry .entry-severity{white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:.7rem;font-weight:600}.domain-awp{color:var(--teal-400);background:#2dd4bf26}.domain-im{color:var(--blue-500);background:#3b82f626}.domain-awp-im,.domain-awpim{color:var(--orange-400);background:#f9731626}.severity-high{color:var(--red-400);background:#ef444426}.severity-medium{color:var(--amber-500);background:#f59e0b26}.severity-low{color:var(--green-400);background:#22c55e26}.status-open{color:var(--blue-500);background:#3b82f626}.status-in-progress{color:var(--amber-500);background:#f59e0b26}.status-done{color:var(--green-400);background:#22c55e26}.status-deferred{color:var(--slate-400);background:#94a3b826}.priority-high{border-left:3px solid var(--red-500)}.priority-medium{border-left:3px solid var(--amber-500)}.priority-low{border-left:3px solid var(--green-500)}.record-detail{max-width:800px}.record-detail .record-header{margin-bottom:24px}.record-detail .record-id{font-family:var(--font-mono);color:var(--accent);margin-bottom:4px;font-size:.8rem}.record-detail .record-title{margin-bottom:12px;font-size:1.3rem;font-weight:700}.record-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.meta-chip{background:var(--navy-600);color:var(--slate-300);font-size:.7rem;font-family:var(--font-mono);border-radius:3px;padding:3px 8px}.record-body{line-height:1.75}.record-body h2{color:var(--accent);border-bottom:1px solid var(--border-color);margin-top:28px;margin-bottom:8px;padding-bottom:4px;font-size:1rem;font-weight:600}.record-body p{color:var(--slate-200);margin-bottom:12px}.record-body ul,.record-body ol{margin-bottom:12px;padding-left:20px}.record-body li{color:var(--slate-200);margin-bottom:4px}.record-body a{color:var(--accent);text-decoration:none}.record-body a:hover{text-decoration:underline}.impact-box{background:#2dd4bf14;border:1px solid #2dd4bf33;border-radius:8px;margin:16px 0;padding:16px}.impact-box .impact-label{text-transform:uppercase;letter-spacing:.08em;color:var(--teal-400);margin-bottom:8px;font-size:.7rem}.impact-box .impact-metric{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.impact-box .impact-qual{color:var(--slate-300);margin-top:6px;font-size:.85rem}.back-link{color:var(--text-muted);transition:color var(--transition);align-items:center;gap:6px;margin-bottom:16px;font-size:.8rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.roadmap-container{overflow-x:auto}.roadmap-grid{background:var(--border-color);border:1px solid var(--border-color);border-radius:8px;gap:1px;min-width:600px;display:grid;overflow:hidden}.roadmap-header-cell{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:10px 12px;font-size:.75rem;font-weight:600;display:flex}.roadmap-header-pj-month{color:var(--text-secondary);letter-spacing:.05em;font-size:.75rem;font-weight:600}.roadmap-header-cal-month{color:var(--accent);font-size:.65rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.03em}.roadmap-header-pre{background:#f43f5e0f}.roadmap-header-pre .roadmap-header-pj-month{color:var(--rose-400)}.roadmap-header-pre .roadmap-header-cal-month{color:var(--rose-500)}.roadmap-domain-cell{background:var(--bg-secondary);color:var(--text-primary);align-items:flex-start;padding:12px;font-size:.8rem;font-weight:600;display:flex}.roadmap-cell{background:var(--bg-primary);flex-direction:column;gap:6px;min-height:80px;padding:8px;display:flex}.roadmap-task-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition);border-radius:5px;padding:8px 10px;font-size:.75rem}.roadmap-task-card:hover{background:var(--bg-card-hover);border-color:var(--slate-400)}.roadmap-task-card .task-title{color:var(--text-primary);margin-bottom:4px;font-weight:500;line-height:1.3}.roadmap-task-card .task-meta{align-items:center;gap:6px;display:flex}.roadmap-task-card .task-status{text-transform:uppercase;border-radius:2px;padding:1px 6px;font-size:.65rem;font-weight:600}.tag{background:var(--navy-600);color:var(--slate-300);font-size:.65rem;font-family:var(--font-mono);border-radius:3px;padding:2px 6px;display:inline-block}.tags-container{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state .empty-icon{opacity:.5;margin-bottom:8px;font-size:2rem}.empty-state p{font-size:.85rem}.related-links{border-top:1px solid var(--border-color);margin-top:20px;padding-top:16px}.related-links h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:.75rem}.related-link{font-family:var(--font-mono);color:var(--accent);margin-right:12px;font-size:.8rem;text-decoration:none;display:inline-block}.related-link:hover{text-decoration:underline}.task-meta-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:12px;margin-top:16px;padding:16px 20px;display:flex}.task-meta-item{flex-direction:column;gap:3px;display:flex}.task-meta-item-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.68rem;font-weight:600}.task-meta-item-value{color:var(--text-primary);font-size:.85rem;line-height:1.5}.task-meta-item-value.loop-ref{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.decision-picker{flex-direction:column;gap:6px;display:flex}.decision-picker-chips{flex-wrap:wrap;gap:6px;padding:4px 0;display:flex}.decision-chip{border:1px solid var(--teal-500);background:#2dd4bf1f;border-radius:4px;align-items:center;gap:4px;max-width:100%;padding:3px 6px 3px 8px;font-size:.72rem;display:inline-flex}.decision-chip .chip-id{font-family:var(--font-mono);color:var(--teal-400);white-space:nowrap;font-weight:600}.decision-chip .chip-title{color:var(--slate-300);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.decision-chip .chip-remove{cursor:pointer;color:var(--slate-400);transition:color var(--transition);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:.85rem;line-height:1}.decision-chip .chip-remove:hover{color:var(--rose-400)}.decision-picker-filter{width:100%}.decision-picker-list{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:6px;max-height:220px;overflow-y:auto}.decision-picker-empty{color:var(--text-muted);text-align:center;padding:12px 14px;font-size:.8rem}.decision-picker-row{cursor:pointer;border-bottom:1px solid var(--border-color);transition:background var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 12px;display:flex}.decision-picker-row:last-child{border-bottom:none}.decision-picker-row:hover{background:var(--navy-700)}.decision-picker-row.is-selected{background:#2dd4bf12}.decision-picker-row.is-archived{opacity:.7}.picker-checkbox{width:14px;height:14px;accent-color:var(--teal-500);cursor:pointer;flex-shrink:0}.picker-row-id{font-family:var(--font-mono);color:var(--teal-400);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:600}.picker-row-title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.decision-picker-row.is-selected .picker-row-title{color:var(--text-primary)}.picker-archived-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--navy-600);color:var(--slate-400);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.58rem;font-weight:600}.page-header-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.btn{justify-content:center;align-items:center;gap:var(--btn-gap);min-height:var(--btn-h-md);padding:0 var(--btn-px-md);border-radius:var(--btn-radius);border:var(--btn-border-width) solid transparent;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--btn-font-weight);letter-spacing:var(--btn-letter-spacing);cursor:pointer;white-space:nowrap;box-shadow:var(--btn-shadow-rest);transition:background-color var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard);text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled):not([aria-busy=true]){box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.btn:active:not(:disabled):not([aria-busy=true]){box-shadow:var(--btn-shadow-active);transform:none}.btn:focus-visible{outline:var(--btn-focus-ring-width) solid var(--btn-focus-ring-color);outline-offset:var(--btn-focus-ring-offset)}.btn:disabled,.btn[aria-disabled=true]{opacity:var(--btn-disabled-opacity);cursor:not-allowed;box-shadow:none;transform:none}.btn[aria-busy=true]{cursor:wait}.btn-sm{min-height:var(--btn-h-sm);padding:0 var(--btn-px-sm);font-size:var(--text-xs)}.btn-lg{min-height:var(--btn-h-lg);padding:0 var(--btn-px-lg);font-size:var(--text-md)}.btn-icon-only{aspect-ratio:1;padding:0}.btn-full{width:100%}.btn-icon{flex-shrink:0;width:1em;height:1em}.btn-loading .btn-content{visibility:hidden}.btn-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin:-.5em 0 0 -.5em;animation:.7s linear infinite spin;position:absolute;top:50%;left:50%}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-fg)}.btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.btn-secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-fg)}.btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover);color:var(--text-primary)}.btn-danger{background:var(--btn-danger-bg);border-color:var(--btn-danger-border);color:var(--btn-danger-fg)}.btn-danger:hover:not(:disabled):not([aria-busy=true]){background:var(--btn-danger-bg-hover);border-color:var(--btn-danger-fg)}.btn-ghost,.btn-archive{background:var(--btn-ghost-bg);border-color:var(--btn-ghost-border);color:var(--btn-ghost-fg)}.btn-ghost:hover:not(:disabled):not([aria-busy=true]),.btn-archive:hover:not(:disabled):not([aria-busy=true]){background:var(--btn-ghost-bg-hover);border-color:var(--slate-400);color:var(--text-primary)}.btn-subtle,.btn-restore{background:var(--btn-subtle-bg);border-color:var(--btn-subtle-border);color:var(--btn-subtle-fg)}.btn-subtle:hover:not(:disabled):not([aria-busy=true]),.btn-restore:hover:not(:disabled):not([aria-busy=true]){background:var(--btn-subtle-bg-hover);border-color:var(--btn-subtle-fg)}.btn-link{color:var(--btn-link-fg);box-shadow:none;padding:0 var(--space-1);background:0 0;border-color:#0000;min-height:auto}.btn-link:hover:not(:disabled):not([aria-busy=true]){color:var(--btn-link-fg-hover);box-shadow:none;text-decoration:underline;transform:none}.form-btns{gap:var(--space-2);align-items:center;display:flex}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover:not(:disabled):not([aria-busy=true]){transform:none}.btn-spinner{animation-duration:1.5s}}.record-form{flex-direction:column;gap:20px;max-width:800px;display:flex}.form-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:14px;padding:20px;display:flex}.form-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--border-color);margin-bottom:2px;padding-bottom:10px;font-size:.7rem;font-weight:600}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row .form-field{flex:1;min-width:140px}.form-field{flex-direction:column;gap:5px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:500}.form-input,.form-select,.form-textarea{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition);border-radius:5px;width:100%;padding:8px 10px;font-size:.85rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--slate-400);opacity:.6}.form-select{cursor:pointer}.form-textarea{resize:vertical;line-height:1.6}.form-error{color:var(--red-400);background:#ef44441f;border:1px solid #ef44444d;border-radius:5px;margin-top:10px;padding:8px 12px;font-size:.8rem}.form-notice{color:var(--teal-400);background:#2dd4bf1a;border:1px solid #2dd4bf40;border-radius:5px;margin-top:8px;padding:7px 12px;font-size:.8rem}.form-notice.form-notice-error{color:var(--red-400);background:#ef44441a;border-color:#ef444440}.textarea-wrapper{position:relative}.textarea-wrapper .form-textarea{padding-bottom:32px}.enhance-btn{align-items:center;gap:var(--space-1);border-radius:var(--radius-xs);border:1px solid var(--btn-subtle-border);background:var(--btn-subtle-bg);color:var(--btn-subtle-fg);font-size:var(--text-2xs);font-family:var(--font-sans);cursor:pointer;transition:all var(--motion-fast) var(--easing-standard);padding:3px 10px;font-weight:500;display:inline-flex;position:absolute;bottom:7px;right:8px}.enhance-btn:hover:not(:disabled){background:var(--btn-subtle-bg-hover);border-color:var(--btn-subtle-fg)}.enhance-btn:disabled{opacity:.4;cursor:not-allowed}.enhance-btn.enhancing{opacity:.8}.enhance-spinner{border:1.5px solid #2dd4bf4d;border-top-color:var(--teal-400);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin;display:inline-block}.archive-list{flex-direction:column;gap:8px;display:flex}.archive-entry{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.archive-entry-main{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.archive-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.archive-type-badge{color:var(--slate-300);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:3px;padding:2px 7px;font-size:.65rem;font-weight:600}.archive-entry-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.archive-date{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);white-space:nowrap}.modal-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:420px;box-shadow:var(--shadow-xl);padding:28px 32px}.modal-title{color:var(--text-primary);margin-bottom:12px;font-size:1rem;font-weight:700}.modal-body{color:var(--text-secondary);margin-bottom:24px;font-size:.85rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.admin-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;max-width:640px;margin-bottom:20px;padding:24px}.admin-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px;font-size:.7rem;font-weight:600}.admin-section-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.8rem;line-height:1.6}.admin-field-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.admin-field{flex-direction:column;flex:1;gap:6px;min-width:120px;display:flex}.admin-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.admin-input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem;font-family:var(--font-mono);transition:border-color var(--transition);border-radius:5px;width:100%;padding:8px 10px}.admin-input:focus{border-color:var(--accent);outline:none}.admin-save-btn{min-width:130px}.admin-preview-table{border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;overflow:hidden}.admin-preview-header{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr;padding:8px 14px;font-size:.68rem;font-weight:600;display:grid}.admin-preview-row{border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr;align-items:center;padding:9px 14px;display:grid}.admin-preview-row:last-child{border-bottom:none}.admin-preview-row.preview-month1{background:#2dd4bf12}.admin-preview-row.preview-pre{background:#f43f5e0d}.preview-pj-month{font-family:var(--font-mono);color:var(--text-primary);align-items:center;gap:8px;font-size:.8rem;display:flex}.preview-calendar{font-family:var(--font-mono);color:var(--accent);font-size:.8rem}.preview-pre .preview-calendar{color:var(--rose-400)}.preview-badge{background:var(--teal-500);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:1px 6px;font-size:.6rem;font-weight:600}.preview-badge-pre{background:var(--rose-500)}.skill-rating-row{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:8px 0;display:flex}.skill-rating-row:last-child{border-bottom:none}.skill-cat-label{width:160px;color:var(--text-primary);flex-shrink:0;font-size:.82rem;font-weight:500}.star-group{align-items:center;gap:4px;display:flex}.star-btn{cursor:pointer;color:var(--border-color);transition:color var(--transition),transform .1s;background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1}.star-btn:hover{color:var(--teal-500);transform:scale(1.15)}.star-btn.active{color:var(--teal-500)}.star-value{color:var(--text-muted);width:28px;margin-left:4px;font-size:.72rem}.gl-sidebar h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:.72rem;font-weight:600}.gl-domain-btn{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition);background:0 0;border:none;border-radius:6px;margin-bottom:2px;padding:7px 10px;font-size:.83rem;display:block}.gl-domain-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.gl-domain-btn.active{background:var(--accent);color:#fff}.gl-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow-y:auto}.gl-list-item{cursor:pointer;border-bottom:1px solid var(--border-color);transition:background var(--transition);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.gl-list-item:hover{background:var(--bg-secondary)}.gl-list-item.active{border-left:3px solid var(--accent);background:#2dd4bf14}.gl-item-id{font-size:.68rem;font-family:var(--font-mono);color:var(--text-muted)}.gl-item-title{color:var(--text-primary);font-size:.85rem;font-weight:500}.gl-item-meta{color:var(--text-muted);font-size:.7rem}.gl-content-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.gl-content-meta{color:var(--text-muted);margin-top:4px;font-size:.75rem}.gl-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:.88rem;display:flex}.talent-layout{grid-template-columns:340px 1fr;gap:16px;height:calc(100vh - 120px);display:grid}.talent-tree-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:16px;overflow-y:auto}.talent-tree-panel h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-size:.78rem;font-weight:600}.org-node{margin-left:16px}.org-node-root{margin-left:0}.org-node-row{cursor:pointer;color:var(--text-secondary);transition:background var(--transition);border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:.83rem;display:flex}.org-node-row:hover{background:var(--bg-secondary)}.org-node-row.selected{color:var(--accent);background:#2dd4bf1a;font-weight:500}.org-toggle{width:14px;color:var(--text-muted);flex-shrink:0;font-size:.7rem}.org-avatar{background:var(--bg-secondary);border:1px solid var(--border-color);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.talent-cards-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:20px;overflow-y:auto}.talent-cards-panel h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;font-size:.78rem;font-weight:600}.talent-card{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;transition:border-color var(--transition);border-radius:8px;margin-bottom:12px;padding:16px}.talent-card:hover{border-color:var(--accent)}.talent-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.talent-card-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.talent-card-role{color:var(--text-muted);margin-top:2px;font-size:.78rem}.talent-card-org{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);border-radius:4px;padding:2px 8px;font-size:.68rem;font-weight:600}.talent-skill-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.talent-skill-cat{width:140px;color:var(--text-secondary);font-size:.75rem}.talent-stars{color:var(--teal-500);letter-spacing:.1em;font-size:.85rem}.talent-stars-empty{color:var(--border-color)}.talent-empty{height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.88rem;display:flex}.gl-layout{grid-template-columns:260px 1fr;gap:16px;height:calc(100vh - 160px);display:grid}.gl-sidebar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:14px 10px;overflow-y:auto}.gl-group{margin-bottom:14px}.gl-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;padding:4px 8px;font-size:.68rem;font-weight:600}.gl-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:2px;padding:8px 10px;font-size:.82rem;display:flex}.gl-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.gl-item.active{color:var(--accent);background:#2dd4bf1a;font-weight:500}.gl-item-theme{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.gl-item-rev{color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono);flex-shrink:0;margin-left:6px}.gl-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:24px 28px;overflow-y:auto}.gl-content-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.gl-content-id{font-size:.68rem;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:4px}.gl-content-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}.gl-content-meta{gap:6px;margin-top:6px;display:flex}.gl-body{color:var(--text-primary);font-size:.88rem;line-height:1.75}.talent-tree-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:20px;overflow:auto}.org-tree{flex-direction:column;gap:8px;display:flex}.org-node{border-left:1px dashed var(--border-color);margin-left:12px;padding-left:16px}.org-node:first-child{border-left:none;margin-left:0;padding-left:0}.org-card{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:160px;max-width:280px;transition:border-color var(--transition);border-radius:8px;margin-bottom:8px;padding:10px 12px}.org-card.has-children{cursor:pointer}.org-card.has-children:hover{border-color:var(--accent)}.org-card-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.org-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.org-role{color:var(--text-muted);font-size:.73rem}.org-expand-icon{color:var(--text-muted);font-size:.75rem}.org-children{border-left:1px dashed var(--border-color);margin-top:4px;padding-left:16px}.org-badge{text-transform:uppercase;border-radius:3px;padding:1px 6px;font-size:.62rem;font-weight:600}.org-jgc{color:var(--teal-500);background:#2dd4bf26}.org-contractor{color:#f97316;background:#f9731626}.org-vendor{color:#8b5cf6;background:#8b5cf626}.talent-list{flex-direction:column;gap:12px;display:flex}.talent-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:border-color var(--transition);border-radius:10px;padding:16px 18px}.talent-card:hover,.talent-card.selected{border-color:var(--accent)}.talent-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.talent-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.talent-role{color:var(--text-muted);margin-top:2px;font-size:.75rem}.talent-card-actions{align-items:center;gap:8px;display:flex}.talent-skills{flex-direction:column;gap:3px;margin-top:8px;display:flex}.talent-skill-row{align-items:center;gap:8px;display:flex}.talent-memo{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.talent-memo-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-family:inherit;font-size:.8rem}.talent-email{margin-top:6px;font-size:.78rem}.talent-email a{color:var(--accent)}.stars{font-size:.88rem}.star-full{color:var(--teal-500)}.star-empty{color:var(--border-color)}.attach-list{flex-direction:column;gap:6px;display:flex}.attach-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:.83rem;display:flex}.attach-type-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:.6rem;font-weight:700}.badge-file{color:var(--teal-500);background:#2dd4bf26;border:1px solid #2dd4bf4d}.badge-url{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d}.attach-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);flex:1;overflow:hidden}.attach-link{color:var(--accent);text-decoration:none}.attach-link:hover{text-decoration:underline}.attach-remove-btn{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1rem;line-height:1}.attach-remove-btn:hover{color:var(--rose-500,#f43f5e)}.attach-add-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.attach-file-row{align-items:center;gap:12px;margin-top:6px;display:flex}.attach-hint{color:var(--text-muted);font-size:.72rem}.ifc-table{border-collapse:collapse;width:100%;font-size:.82rem}.ifc-table th{text-align:left;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;padding:8px 12px;font-weight:600}.ifc-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:8px 12px}.ifc-row{cursor:pointer;transition:background .12s}.ifc-row:hover{background:var(--bg-secondary)}.ifc-status-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.formation-container{position:relative}.formation-grid{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;grid-template-columns:180px repeat(5,1fr);gap:0;display:grid;position:relative;overflow:hidden}.formation-grid:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(90deg,transparent calc(100% - 1px),var(--navy-600) calc(100% - 1px)),linear-gradient(90deg,transparent calc(100% - 1px),var(--navy-600) calc(100% - 1px)),linear-gradient(90deg,transparent calc(100% - 1px),var(--navy-600) calc(100% - 1px)),linear-gradient(90deg,transparent calc(100% - 1px),var(--navy-600) calc(100% - 1px));background-position:0 0,20% 0,40% 0,60% 0;background-repeat:no-repeat;background-size:20% 100%,20% 100%,20% 100%,20% 100%;position:absolute;top:0;right:0;bottom:0;left:180px}.formation-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);text-align:center;background:var(--navy-800);border-bottom:1px solid var(--border-color);padding:10px 12px;font-size:.72rem;font-weight:700}.formation-header.formation-label-col{text-align:left;color:var(--text-muted);border-right:1px solid var(--border-color);font-size:.68rem}.formation-header.formation-phase-header{border-right:1px solid var(--border-color)}.formation-group-label{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;display:flex}.formation-group-name{word-break:break-word;font-size:.78rem;font-weight:700;line-height:1.3}.formation-group-purpose{color:var(--text-muted);font-size:.68rem;line-height:1.3}.formation-unassigned-label{border-left:4px solid var(--navy-600);background:0 0}.formation-bar{z-index:1;min-height:44px;transition:all var(--transition);border:1px solid #ffffff0d;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 8px;padding:10px 14px;display:flex;position:relative}.formation-bar:hover{border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.formation-bar-name{color:var(--text-primary);white-space:nowrap;font-size:.82rem;font-weight:600}.formation-bar-orgs{flex-wrap:wrap;gap:3px;margin-left:auto;display:flex}.formation-shared-badge{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:3px;padding:1px 6px;font-size:.62rem;font-weight:600;display:inline-block}.flow-panel{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;overflow:hidden}.flow-panel-header{background:var(--navy-800);cursor:pointer;width:100%;font-family:var(--font-sans);border:none;border-bottom:1px solid var(--border-color);align-items:center;padding:12px 20px;display:flex}.flow-panel-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.78rem;font-weight:700}.flow-panel-body{padding:16px 20px}.flow-phase-header-row{grid-template-columns:160px repeat(5,1fr);gap:0;margin-bottom:12px;display:grid}.flow-phase-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:center;padding:6px 8px;font-size:.68rem;font-weight:700}.flow-row{margin-bottom:10px}.flow-row-inner{flex-wrap:wrap;align-items:center;gap:0;min-height:48px;display:flex}.flow-targets{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.flow-edge{align-items:center;gap:0;display:flex}.flow-arrow{flex-shrink:0;align-items:center;padding:0 4px;display:flex}.flow-arrow-line{background:var(--slate-400);vertical-align:middle;width:32px;height:1px;display:inline-block}.flow-arrow-head{color:var(--slate-400);vertical-align:middle;margin-left:-2px;font-size:.7rem}.flow-node{border:1px solid var(--border-color);background:var(--bg-card);border-radius:6px;flex-direction:column;gap:3px;min-width:90px;padding:6px 12px;display:inline-flex}.flow-node-name{color:var(--text-primary);white-space:nowrap;font-size:.78rem;font-weight:600}.flow-node-badges{flex-wrap:wrap;gap:2px;display:flex}.rf-group-header{pointer-events:none;align-items:baseline;gap:10px;padding:4px 8px;display:flex}.rf-group-name{font-size:.88rem;font-weight:700}.rf-group-purpose{color:var(--text-muted);font-size:.72rem}.df-node{background:var(--bg-card);border:1px solid var(--border-color);vertical-align:top;cursor:grab;border-radius:7px;flex-direction:column;flex-shrink:0;gap:5px;min-width:120px;max-width:220px;padding:8px 12px;display:inline-flex}.df-node:active{cursor:grabbing}.df-node-name{color:var(--text-primary);font-size:.82rem;font-weight:600;line-height:1.25}.df-node-purpose{color:#7dd3fc;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.73rem;font-weight:500;line-height:1.3;overflow:hidden}.df-node-meta,.df-node-phases{opacity:.82;flex-wrap:wrap;gap:3px;display:flex}.react-flow__node-systemNode{box-shadow:none;background:0 0;border:none;border-radius:7px;padding:0}.react-flow__node-groupHeader{box-shadow:none;background:0 0;border:none;padding:0}.react-flow__handle{opacity:0;transition:opacity .15s}.react-flow__node:hover .react-flow__handle{opacity:1}@media print{.sidebar,.formation-no-print,.page-header .page-header-actions>div:last-child,.filter-bar{display:none!important}.app-layout{display:block}.main-content{margin-left:0!important;padding:0!important}.page-header{padding:12px 16px 8px}.page-body{padding:8px 16px}@page{size:A3 landscape;margin:10mm}.formation-grid{border-color:#ccc;font-size:11px}.formation-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#111!important;background:#f0f0f0!important;border-color:#ccc!important}.formation-group-label{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-color:#ccc!important}.formation-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:3px 4px;padding:6px 10px;border-color:#aaa!important}.formation-bar-name{color:#111!important}.formation-group-name{-webkit-print-color-adjust:exact;print-color-adjust:exact}.df-node{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important;border-color:#aaa!important}.df-node-name{color:#111!important}}.toast-container{z-index:9999;pointer-events:none;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;border-radius:6px;align-items:center;gap:12px;padding:10px 16px;font-size:.82rem;animation:.25s ease-out toast-in;display:flex;box-shadow:0 4px 16px #0000004d}.toast-success{color:var(--teal-400);background:#2dd4bf26;border:1px solid #2dd4bf59}.toast-error{color:var(--red-400);background:#ef444426;border:1px solid #ef444459}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pdf-export-light{--bg-primary:#fff;--bg-secondary:#f1f5f9;--bg-card:#f8fafc;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--border-color:#e2e8f0;--accent:#0d9488}.pdf-export-light .react-flow__background{background-color:#f8fafc!important}.pdf-export-light .react-flow__node-group{background:#4755690f!important}.forbidden{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:8px;max-width:560px;margin:64px auto;padding:32px}.forbidden h2{color:var(--text-primary);margin:0 0 12px}.forbidden p{color:var(--text-secondary);margin:6px 0;font-size:.9rem}.forbidden-resource{font-family:var(--font-mono,monospace);color:var(--text-muted);font-size:.78rem}.org-card-wrapper{position:relative}.org-card{border:1px solid var(--border-color);background:var(--bg-card);cursor:default;border-radius:10px;flex-direction:column;align-items:center;gap:8px;width:116px;padding:12px 8px 10px;transition:box-shadow .15s,border-color .15s;display:flex}.org-card:hover{border-color:var(--accent);box-shadow:0 4px 16px #00000026}.org-tooltip{background:var(--bg-secondary);border:1px solid var(--border-color);white-space:nowrap;z-index:200;pointer-events:none;border-radius:8px;padding:10px 14px;font-size:12px;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000026}.org-card-wrapper:hover .org-tooltip{display:block}.org-child-item{flex-direction:column;align-items:center;padding:0 16px;display:flex;position:relative}.org-child-item:before{content:"";background:var(--border-color);height:2px;position:absolute;top:0;left:0;right:0}.org-child-item:first-child:before{left:50%}.org-child-item:last-child:before{right:50%}.org-child-item:only-child:before{display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
