.dsx-config-row-actions{display:flex;gap:var(--space-2xs);align-items:center}.dsx-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-2xs);justify-content:center;margin:0;padding:0;list-style:none}.dsx-chart-legend-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-interactive);font-size:var(--typography-caption);color:var(--text-secondary)}.dsx-chart-legend-swatch{width:.6em;height:.6em;border-radius:var(--radius-interactive);flex-shrink:0}.dsx-progress{margin:var(--space-xs) 0}.dsx-progress-indeterminate{height:var(--space-2xs);border-radius:var(--radius-interactive);background:var(--bg-brand-subtle);overflow:hidden}.dsx-progress-sweep{height:100%;width:35%;border-radius:var(--radius-interactive);background:var(--bg-brand-default);animation:dsx-progress-sweep 1.2s ease-in-out infinite}.dsx-progress-label{margin:var(--space-2xs) 0 0;font-size:var(--typography-caption);color:var(--text-tertiary)}@keyframes dsx-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion: reduce){.dsx-progress-sweep{animation:none;width:100%;opacity:.5}}.dsx-prose{font-size:var(--typography-body-sm);line-height:1.55;color:var(--text-primary)}.dsx-prose p,.dsx-prose ul,.dsx-prose ol{margin:0 0 var(--space-xs)}.dsx-prose p:last-child,.dsx-prose ul:last-child,.dsx-prose ol:last-child{margin-bottom:0}.dsx-prose ul,.dsx-prose ol{padding-left:var(--space-lg)}.dsx-prose code{padding:0 var(--space-2xs);border-radius:var(--radius-interactive);background:var(--bg-code);color:var(--text-on-code);font-family:var(--font-mono);font-size:var(--typography-caption)}.dsx-chat-bubble-row{display:flex;justify-content:flex-end}.dsx-chat-bubble{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-container);background:var(--bg-brand-subtle);color:var(--text-primary);font-size:var(--typography-body-sm);line-height:1.45;white-space:pre-wrap}.dsx-tree,.dsx-tree__children{margin:0;padding:0;list-style:none}.dsx-tree__children{margin-left:var(--space-lg);border-left:1px solid var(--border-subtle);padding-left:var(--space-sm)}.dsx-tree__row{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--size-control-sm);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-subtle);transition:background var(--duration-fast) var(--ease-default)}.dsx-tree__row:hover{background:var(--bg-neutral-hover)}.dsx-tree__row:focus-within{background:var(--bg-neutral-hover)}.dsx-tree__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsx-tree__actions{display:grid;grid-template-columns:var(--size-control-sm) var(--size-control-sm);gap:var(--space-2xs);align-items:center;justify-items:center;flex:none}@media (prefers-reduced-motion: reduce){.dsx-tree__row{transition:none}}.dsx-resize-handle{flex:none;width:var(--space-sm);margin:0 calc(var(--space-2xs) * -1);cursor:col-resize;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.dsx-resize-handle__grip{position:absolute;inset:0 auto 0 50%;width:1px;background:var(--border-subtle);transition:background var(--duration-fast) var(--ease-default),width var(--duration-fast) var(--ease-default)}.dsx-resize-handle:hover .dsx-resize-handle__grip,.dsx-resize-handle-dragging .dsx-resize-handle__grip{width:3px;margin-left:-1px;background:var(--bg-brand-default)}.dsx-resize-handle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dsx-resize-handle-dragging,.dsx-resize-handle-dragging *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (prefers-reduced-motion: reduce){.dsx-resize-handle__grip{transition:none}}.dsx-sql-field{--font-family: var(--font-mono)}.dsx-sql-field textarea{resize:vertical}.dsx-on-inverse{--text-brand: var(--text-inverse-secondary);--bg-brand-subtle: var(--bg-inverse-subtle)}.dsx-graph{--xy-controls-button-background-color: var(--bg-surface);--xy-controls-button-background-color-hover: var(--bg-surface-elevated);--xy-controls-button-color: var(--text-primary);--xy-controls-button-color-hover: var(--text-primary);--xy-controls-button-border-color: var(--border-default);--xy-attribution-background-color: var(--bg-surface);--xy-edge-label-background-color: var(--bg-surface);--xy-edge-label-color: var(--text-primary);--xy-edge-stroke: var(--text-tertiary)}.dsx-graph .react-flow__controls{border:1px solid var(--border-neutral)}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: 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;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{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))}:root{--brand-50:#F9F6F4;--brand-100:#F4EDEA;--brand-200:#EADBD6;--brand-300:#DABEB3;--brand-400:#CB8265;--brand-500:#C1633E;--brand-600:#9B4E30;--brand-700:#81432A;--brand-800:#6A341F;--brand-900:#4F2616;--brand-950:#34180E;--neutral-50:#FCFCFA;--neutral-100:#EEEEEE;--neutral-200:#E5E5E5;--neutral-300:#D4D4D4;--neutral-400:#A3A3A3;--neutral-500:#737373;--neutral-600:#575255;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#201E1F;--neutral-950:#0A0A0A;--success-50:#F4FAF6;--success-100:#E8F6ED;--success-200:#D2EEDC;--success-300:#ABE2BF;--success-400:#73D396;--success-500:#21C55E;--success-600:#1BB052;--success-700:#159243;--success-800:#107837;--success-900:#0B5A28;--success-950:#073B1A;--warning-50:#FBF8F3;--warning-100:#F8F1E6;--warning-200:#F2E5CE;--warning-300:#EAD0A3;--warning-400:#E2B364;--warning-500:#F59E0B;--warning-600:#C67E05;--warning-700:#A56902;--warning-800:#885601;--warning-900:#664000;--warning-950:#422900;--error-50:#FBF3F3;--error-100:#F7E7E7;--error-200:#F1CFCF;--error-300:#E7A6A6;--error-400:#DC6969;--error-500:#EE4444;--error-600:#BE0D0D;--error-700:#9E0909;--error-800:#820606;--error-900:#610404;--error-950:#400202;--info-50:#F3F6FB;--info-100:#E6EDF8;--info-200:#CEDCF2;--info-300:#A3BEEA;--info-400:#6494E1;--info-500:#3A81F6;--info-600:#064EC5;--info-700:#0340A4;--info-800:#013487;--info-900:#002665;--info-950:#001942;--white:#FFFFFF;--black:#000000;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--space-80:80px;--space-96:96px;--space-120:120px;--radius-none:0px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-family: var(--font-manrope, Manrope), ui-sans-serif, system-ui, -apple-system, Arial, sans-serif;--font-mono: var(--font-jetbrains-mono, "JetBrains Mono"), ui-monospace, SFMono-Regular, Menlo, monospace;--weight-regular:400;--weight-medium:500;--weight-extrabold:800;--type-size-12:12px;--type-size-14:14px;--type-size-16:16px;--type-size-18:18px;--type-size-20:20px;--type-size-22:22px;--type-size-24:24px;--type-size-32:32px;--type-size-36:36px;--type-size-40:40px;--type-size-42:42px;--type-size-48:48px;--type-size-60:60px;--type-size-64:64px;--type-size-96:96px;--type-size-120:120px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.14);--overlay-light:rgba(0,0,0,.2);--overlay-mid:rgba(0,0,0,.5);--overlay-strong:rgba(0,0,0,.75);--overlay-full:rgba(0,0,0,.9);--size-control-sm:32px;--size-control-md:40px;--size-control-lg:48px;--z-sticky:50;--z-modal:340;--z-dropdown:360;--z-toast:380;--z-max:400;--typography-display: var(--type-size-96);--typography-h1: var(--type-size-60);--typography-h2: var(--type-size-48);--typography-h3: var(--type-size-32);--typography-h4: var(--type-size-24);--typography-body-lg: var(--type-size-24);--typography-body-md: var(--type-size-20);--typography-body-rg: var(--type-size-18);--typography-body: var(--type-size-16);--typography-body-sm: var(--type-size-14);--typography-label: var(--type-size-14);--typography-overline: var(--type-size-14);--typography-caption: var(--type-size-12);--typography-number-hero: var(--type-size-120);--space-2xs: var(--space-4);--space-xs: var(--space-8);--space-sm: var(--space-12);--space-md: var(--space-16);--space-lg: var(--space-24);--space-xl: var(--space-32);--space-2xl: var(--space-48);--space-section-sm: var(--space-48);--space-section-md: var(--space-64);--space-section-lg: var(--space-80);--space-section-xl: var(--space-96);--space-section-2xl: var(--space-120);--radius-sharp: var(--radius-none);--radius-subtle: var(--radius-xs);--radius-interactive: var(--radius-xs);--radius-media: var(--radius-xs);--radius-container: var(--radius-none);--radius-feature: var(--radius-none);--radius-pill: var(--radius-full);--duration-fast: .12s;--duration-normal: .28s;--duration-slow: .4s;--ease-default: cubic-bezier(.4,0,.2,1);--ease-enter: cubic-bezier(0,0,.2,1);--ease-exit: cubic-bezier(.4,0,1,1);--bg-page: var(--neutral-100);--bg-surface: var(--white);--bg-surface-elevated: var(--neutral-300);--bg-overlay: var(--white);--bg-neutral-default: var(--neutral-200);--bg-neutral-hover: var(--neutral-300);--bg-neutral-pressed: var(--neutral-400);--bg-neutral-disabled: var(--neutral-100);--bg-neutral-subtle: var(--neutral-50);--bg-neutral-intense: var(--neutral-700);--bg-neutral-secondary: var(--neutral-100);--bg-neutral-secondary-hover: var(--neutral-200);--bg-brand-default: var(--brand-500);--bg-brand-hover: var(--brand-600);--bg-brand-pressed: var(--brand-700);--bg-brand-subtle: var(--brand-50);--bg-brand-intense: var(--brand-800);--bg-brand-secondary: var(--brand-100);--bg-brand-secondary-hover: var(--brand-200);--bg-accent-default: var(--brand-400);--bg-accent-subtle: var(--brand-100);--bg-success-default: var(--success-500);--bg-success-hover: var(--success-600);--bg-success-subtle: var(--success-50);--bg-success-intense: var(--success-800);--bg-warning-default: var(--warning-500);--bg-warning-hover: var(--warning-600);--bg-warning-subtle: var(--warning-50);--bg-warning-intense: var(--warning-800);--bg-error-default: var(--error-500);--bg-error-hover: var(--error-600);--bg-error-pressed: var(--error-700);--bg-error-subtle: var(--error-50);--bg-error-intense: var(--error-800);--bg-info-default: var(--info-500);--bg-info-hover: var(--info-600);--bg-info-subtle: var(--info-50);--bg-info-intense: var(--info-800);--bg-inverse: var(--neutral-900);--bg-inverse-subtle: var(--neutral-800);--bg-code: var(--neutral-900);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-tertiary: var(--neutral-500);--text-disabled: var(--neutral-400);--text-inverse: var(--neutral-50);--text-brand: var(--brand-600);--text-success: var(--success-800);--text-warning: var(--warning-700);--text-error: var(--error-700);--text-info: var(--info-700);--text-on-brand: var(--white);--text-on-neutral: var(--neutral-900);--text-on-success: var(--white);--text-on-warning: var(--neutral-900);--text-on-error: var(--white);--text-on-info: var(--white);--text-link: var(--brand-600);--text-link-hover: var(--brand-700);--text-link-visited: var(--brand-800);--text-link-disabled: var(--neutral-400);--text-inverse-secondary: var(--neutral-200);--text-inverse-tertiary: var(--neutral-400);--text-inverse-disabled: var(--neutral-600);--text-placeholder: var(--neutral-500);--text-code: var(--neutral-700);--text-on-code: var(--neutral-50);--border-default: var(--neutral-200);--border-subtle: var(--neutral-100);--border-intense: var(--neutral-400);--border-disabled: var(--neutral-200);--border-focus: var(--brand-400);--border-neutral: var(--neutral-300);--border-neutral-hover: var(--neutral-400);--border-neutral-secondary: var(--neutral-200);--border-brand: var(--brand-800);--border-brand-hover: var(--brand-600);--border-brand-intense: var(--brand-800);--border-success: var(--success-500);--border-success-subtle: var(--success-200);--border-warning: var(--warning-500);--border-warning-subtle: var(--warning-200);--border-error: var(--error-500);--border-error-hover: var(--error-600);--border-error-subtle: var(--error-200);--border-info: var(--info-500);--border-inverse: var(--neutral-200);--border-inverse-subtle: var(--neutral-300);--border-inverse-intense: var(--neutral-100);--icon-primary: var(--neutral-900);--icon-secondary: var(--neutral-500);--icon-tertiary: var(--neutral-400);--icon-disabled: var(--neutral-300);--icon-inverse: var(--neutral-50);--icon-on-brand: var(--white);--icon-on-neutral: var(--neutral-900);--icon-on-success: var(--white);--icon-on-warning: var(--neutral-900);--icon-on-error: var(--white);--icon-brand: var(--brand-500);--icon-brand-hover: var(--brand-600);--icon-success: var(--success-500);--icon-warning: var(--warning-500);--icon-error: var(--error-500);--icon-error-hover: var(--error-600);--icon-info: var(--info-500);--icon-inverse-secondary: var(--neutral-300);--cat-1: #C1633E;--cat-2: #2F6FA8;--cat-3: #4B8B3B;--cat-4: #8A5CD0;--cat-5: #B98A00;--cat-6: #1F8F82;--cat-7: #B5446E;--cat-8: #5E6C84;--cat-1-subtle: color-mix(in srgb, var(--cat-1) 14%, var(--bg-overlay));--cat-2-subtle: color-mix(in srgb, var(--cat-2) 14%, var(--bg-overlay));--cat-3-subtle: color-mix(in srgb, var(--cat-3) 14%, var(--bg-overlay));--cat-4-subtle: color-mix(in srgb, var(--cat-4) 14%, var(--bg-overlay));--cat-5-subtle: color-mix(in srgb, var(--cat-5) 14%, var(--bg-overlay));--cat-6-subtle: color-mix(in srgb, var(--cat-6) 14%, var(--bg-overlay));--cat-7-subtle: color-mix(in srgb, var(--cat-7) 14%, var(--bg-overlay));--cat-8-subtle: color-mix(in srgb, var(--cat-8) 14%, var(--bg-overlay));color-scheme:light}[data-theme=dark]{--bg-page: var(--neutral-900);--bg-surface: var(--neutral-800);--bg-surface-elevated: var(--neutral-700);--bg-overlay: var(--neutral-800);--bg-neutral-default: var(--neutral-700);--bg-neutral-hover: var(--neutral-600);--bg-neutral-pressed: var(--neutral-500);--bg-neutral-disabled: var(--neutral-800);--bg-neutral-subtle: var(--neutral-950);--bg-neutral-intense: var(--neutral-200);--bg-neutral-secondary: var(--neutral-800);--bg-neutral-secondary-hover: var(--neutral-700);--bg-brand-default: var(--brand-500);--bg-brand-hover: var(--brand-400);--bg-brand-pressed: var(--brand-300);--bg-brand-subtle: var(--brand-950);--bg-brand-intense: var(--brand-200);--bg-brand-secondary: var(--brand-900);--bg-brand-secondary-hover: var(--brand-800);--bg-accent-default: var(--brand-600);--bg-accent-subtle: var(--brand-900);--bg-success-default: var(--success-500);--bg-success-hover: var(--success-400);--bg-success-subtle: var(--success-950);--bg-success-intense: var(--success-200);--bg-warning-default: var(--warning-500);--bg-warning-hover: var(--warning-400);--bg-warning-subtle: var(--warning-950);--bg-warning-intense: var(--warning-200);--bg-error-default: var(--error-500);--bg-error-hover: var(--error-400);--bg-error-pressed: var(--error-300);--bg-error-subtle: var(--error-950);--bg-error-intense: var(--error-200);--bg-info-default: var(--info-500);--bg-info-hover: var(--info-400);--bg-info-subtle: var(--info-950);--bg-info-intense: var(--info-200);--bg-inverse: var(--neutral-100);--bg-inverse-subtle: var(--neutral-200);--bg-code: var(--neutral-950);--text-primary: var(--neutral-50);--text-secondary: var(--neutral-300);--text-tertiary: var(--neutral-400);--text-disabled: var(--neutral-600);--text-inverse: var(--neutral-900);--text-brand: var(--brand-400);--text-success: var(--success-400);--text-warning: var(--warning-400);--text-error: var(--error-400);--text-info: var(--info-400);--text-on-brand: var(--white);--text-on-neutral: var(--neutral-50);--text-on-success: var(--white);--text-on-warning: var(--neutral-900);--text-on-error: var(--white);--text-on-info: var(--white);--text-link: var(--brand-400);--text-link-hover: var(--brand-300);--text-link-visited: var(--brand-200);--text-link-disabled: var(--neutral-600);--text-inverse-secondary: var(--neutral-700);--text-inverse-tertiary: var(--neutral-500);--text-inverse-disabled: var(--neutral-400);--text-placeholder: var(--neutral-400);--text-code: var(--neutral-300);--text-on-code: var(--neutral-50);--border-default: var(--neutral-700);--border-subtle: var(--neutral-800);--border-intense: var(--neutral-500);--border-disabled: var(--neutral-700);--border-focus: var(--brand-400);--border-neutral: var(--neutral-600);--border-neutral-hover: var(--neutral-500);--border-neutral-secondary: var(--neutral-700);--border-brand: var(--brand-500);--border-brand-hover: var(--brand-400);--border-brand-intense: var(--brand-200);--border-success: var(--success-500);--border-success-subtle: var(--success-800);--border-warning: var(--warning-500);--border-warning-subtle: var(--warning-800);--border-error: var(--error-500);--border-error-hover: var(--error-400);--border-error-subtle: var(--error-800);--border-info: var(--info-500);--border-inverse: var(--neutral-700);--border-inverse-subtle: var(--neutral-600);--border-inverse-intense: var(--neutral-800);--icon-primary: var(--neutral-50);--icon-secondary: var(--neutral-400);--icon-tertiary: var(--neutral-500);--icon-disabled: var(--neutral-600);--icon-inverse: var(--neutral-900);--icon-on-brand: var(--white);--icon-on-neutral: var(--neutral-50);--icon-on-success: var(--white);--icon-on-warning: var(--neutral-900);--icon-on-error: var(--white);--icon-brand: var(--brand-500);--icon-brand-hover: var(--brand-400);--icon-success: var(--success-500);--icon-warning: var(--warning-500);--icon-error: var(--error-500);--icon-error-hover: var(--error-400);--icon-info: var(--info-500);--icon-inverse-secondary: var(--neutral-600);--cat-1: #D98A63;--cat-2: #6FA8DC;--cat-3: #86C46F;--cat-4: #B694EA;--cat-5: #E8C25A;--cat-6: #5FCBBD;--cat-7: #E0819F;--cat-8: #9AA7BC;--cat-1-subtle: color-mix(in srgb, var(--cat-1) 14%, var(--bg-overlay));--cat-2-subtle: color-mix(in srgb, var(--cat-2) 14%, var(--bg-overlay));--cat-3-subtle: color-mix(in srgb, var(--cat-3) 14%, var(--bg-overlay));--cat-4-subtle: color-mix(in srgb, var(--cat-4) 14%, var(--bg-overlay));--cat-5-subtle: color-mix(in srgb, var(--cat-5) 14%, var(--bg-overlay));--cat-6-subtle: color-mix(in srgb, var(--cat-6) 14%, var(--bg-overlay));--cat-7-subtle: color-mix(in srgb, var(--cat-7) 14%, var(--bg-overlay));--cat-8-subtle: color-mix(in srgb, var(--cat-8) 14%, var(--bg-overlay));color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg-page: var(--neutral-900);--bg-surface: var(--neutral-800);--bg-surface-elevated: var(--neutral-700);--bg-overlay: var(--neutral-800);--bg-neutral-default: var(--neutral-700);--bg-neutral-hover: var(--neutral-600);--bg-neutral-pressed: var(--neutral-500);--bg-neutral-disabled: var(--neutral-800);--bg-neutral-subtle: var(--neutral-950);--bg-neutral-intense: var(--neutral-200);--bg-neutral-secondary: var(--neutral-800);--bg-neutral-secondary-hover: var(--neutral-700);--bg-brand-default: var(--brand-500);--bg-brand-hover: var(--brand-400);--bg-brand-pressed: var(--brand-300);--bg-brand-subtle: var(--brand-950);--bg-brand-intense: var(--brand-200);--bg-brand-secondary: var(--brand-900);--bg-brand-secondary-hover: var(--brand-800);--bg-accent-default: var(--brand-600);--bg-accent-subtle: var(--brand-900);--bg-success-default: var(--success-500);--bg-success-hover: var(--success-400);--bg-success-subtle: var(--success-950);--bg-success-intense: var(--success-200);--bg-warning-default: var(--warning-500);--bg-warning-hover: var(--warning-400);--bg-warning-subtle: var(--warning-950);--bg-warning-intense: var(--warning-200);--bg-error-default: var(--error-500);--bg-error-hover: var(--error-400);--bg-error-pressed: var(--error-300);--bg-error-subtle: var(--error-950);--bg-error-intense: var(--error-200);--bg-info-default: var(--info-500);--bg-info-hover: var(--info-400);--bg-info-subtle: var(--info-950);--bg-info-intense: var(--info-200);--bg-inverse: var(--neutral-100);--bg-inverse-subtle: var(--neutral-200);--bg-code: var(--neutral-950);--text-primary: var(--neutral-50);--text-secondary: var(--neutral-300);--text-tertiary: var(--neutral-400);--text-disabled: var(--neutral-600);--text-inverse: var(--neutral-900);--text-brand: var(--brand-400);--text-success: var(--success-400);--text-warning: var(--warning-400);--text-error: var(--error-400);--text-info: var(--info-400);--text-on-brand: var(--white);--text-on-neutral: var(--neutral-50);--text-on-success: var(--white);--text-on-warning: var(--neutral-900);--text-on-error: var(--white);--text-on-info: var(--white);--text-link: var(--brand-400);--text-link-hover: var(--brand-300);--text-link-visited: var(--brand-200);--text-link-disabled: var(--neutral-600);--text-inverse-secondary: var(--neutral-700);--text-inverse-tertiary: var(--neutral-500);--text-inverse-disabled: var(--neutral-400);--text-placeholder: var(--neutral-400);--text-code: var(--neutral-300);--text-on-code: var(--neutral-50);--border-default: var(--neutral-700);--border-subtle: var(--neutral-800);--border-intense: var(--neutral-500);--border-disabled: var(--neutral-700);--border-focus: var(--brand-400);--border-neutral: var(--neutral-600);--border-neutral-hover: var(--neutral-500);--border-neutral-secondary: var(--neutral-700);--border-brand: var(--brand-500);--border-brand-hover: var(--brand-400);--border-brand-intense: var(--brand-200);--border-success: var(--success-500);--border-success-subtle: var(--success-800);--border-warning: var(--warning-500);--border-warning-subtle: var(--warning-800);--border-error: var(--error-500);--border-error-hover: var(--error-400);--border-error-subtle: var(--error-800);--border-info: var(--info-500);--border-inverse: var(--neutral-700);--border-inverse-subtle: var(--neutral-600);--border-inverse-intense: var(--neutral-800);--icon-primary: var(--neutral-50);--icon-secondary: var(--neutral-400);--icon-tertiary: var(--neutral-500);--icon-disabled: var(--neutral-600);--icon-inverse: var(--neutral-900);--icon-on-brand: var(--white);--icon-on-neutral: var(--neutral-50);--icon-on-success: var(--white);--icon-on-warning: var(--neutral-900);--icon-on-error: var(--white);--icon-brand: var(--brand-500);--icon-brand-hover: var(--brand-400);--icon-success: var(--success-500);--icon-warning: var(--warning-500);--icon-error: var(--error-500);--icon-error-hover: var(--error-400);--icon-info: var(--info-500);--icon-inverse-secondary: var(--neutral-600);--cat-1: #D98A63;--cat-2: #6FA8DC;--cat-3: #86C46F;--cat-4: #B694EA;--cat-5: #E8C25A;--cat-6: #5FCBBD;--cat-7: #E0819F;--cat-8: #9AA7BC;--cat-1-subtle: color-mix(in srgb, var(--cat-1) 14%, var(--bg-overlay));--cat-2-subtle: color-mix(in srgb, var(--cat-2) 14%, var(--bg-overlay));--cat-3-subtle: color-mix(in srgb, var(--cat-3) 14%, var(--bg-overlay));--cat-4-subtle: color-mix(in srgb, var(--cat-4) 14%, var(--bg-overlay));--cat-5-subtle: color-mix(in srgb, var(--cat-5) 14%, var(--bg-overlay));--cat-6-subtle: color-mix(in srgb, var(--cat-6) 14%, var(--bg-overlay));--cat-7-subtle: color-mix(in srgb, var(--cat-7) 14%, var(--bg-overlay));--cat-8-subtle: color-mix(in srgb, var(--cat-8) 14%, var(--bg-overlay));color-scheme:dark}}[data-theme=light]{--bg-page: var(--neutral-100);--bg-surface: var(--white);--bg-surface-elevated: var(--neutral-300);--bg-overlay: var(--white);--bg-neutral-default: var(--neutral-200);--bg-neutral-hover: var(--neutral-300);--bg-neutral-pressed: var(--neutral-400);--bg-neutral-disabled: var(--neutral-100);--bg-neutral-subtle: var(--neutral-50);--bg-neutral-intense: var(--neutral-700);--bg-neutral-secondary: var(--neutral-100);--bg-neutral-secondary-hover: var(--neutral-200);--bg-brand-default: var(--brand-500);--bg-brand-hover: var(--brand-600);--bg-brand-pressed: var(--brand-700);--bg-brand-subtle: var(--brand-50);--bg-brand-intense: var(--brand-800);--bg-brand-secondary: var(--brand-100);--bg-brand-secondary-hover: var(--brand-200);--bg-accent-default: var(--brand-400);--bg-accent-subtle: var(--brand-100);--bg-success-default: var(--success-500);--bg-success-hover: var(--success-600);--bg-success-subtle: var(--success-50);--bg-success-intense: var(--success-800);--bg-warning-default: var(--warning-500);--bg-warning-hover: var(--warning-600);--bg-warning-subtle: var(--warning-50);--bg-warning-intense: var(--warning-800);--bg-error-default: var(--error-500);--bg-error-hover: var(--error-600);--bg-error-pressed: var(--error-700);--bg-error-subtle: var(--error-50);--bg-error-intense: var(--error-800);--bg-info-default: var(--info-500);--bg-info-hover: var(--info-600);--bg-info-subtle: var(--info-50);--bg-info-intense: var(--info-800);--bg-inverse: var(--neutral-900);--bg-inverse-subtle: var(--neutral-800);--bg-code: var(--neutral-900);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-tertiary: var(--neutral-500);--text-disabled: var(--neutral-400);--text-inverse: var(--neutral-50);--text-brand: var(--brand-600);--text-success: var(--success-800);--text-warning: var(--warning-700);--text-error: var(--error-700);--text-info: var(--info-700);--text-on-brand: var(--white);--text-on-neutral: var(--neutral-900);--text-on-success: var(--white);--text-on-warning: var(--neutral-900);--text-on-error: var(--white);--text-on-info: var(--white);--text-link: var(--brand-600);--text-link-hover: var(--brand-700);--text-link-visited: var(--brand-800);--text-link-disabled: var(--neutral-400);--text-inverse-secondary: var(--neutral-200);--text-inverse-tertiary: var(--neutral-400);--text-inverse-disabled: var(--neutral-600);--text-placeholder: var(--neutral-500);--text-code: var(--neutral-700);--text-on-code: var(--neutral-50);--border-default: var(--neutral-200);--border-subtle: var(--neutral-100);--border-intense: var(--neutral-400);--border-disabled: var(--neutral-200);--border-focus: var(--brand-400);--border-neutral: var(--neutral-300);--border-neutral-hover: var(--neutral-400);--border-neutral-secondary: var(--neutral-200);--border-brand: var(--brand-800);--border-brand-hover: var(--brand-600);--border-brand-intense: var(--brand-800);--border-success: var(--success-500);--border-success-subtle: var(--success-200);--border-warning: var(--warning-500);--border-warning-subtle: var(--warning-200);--border-error: var(--error-500);--border-error-hover: var(--error-600);--border-error-subtle: var(--error-200);--border-info: var(--info-500);--border-inverse: var(--neutral-200);--border-inverse-subtle: var(--neutral-300);--border-inverse-intense: var(--neutral-100);--icon-primary: var(--neutral-900);--icon-secondary: var(--neutral-500);--icon-tertiary: var(--neutral-400);--icon-disabled: var(--neutral-300);--icon-inverse: var(--neutral-50);--icon-on-brand: var(--white);--icon-on-neutral: var(--neutral-900);--icon-on-success: var(--white);--icon-on-warning: var(--neutral-900);--icon-on-error: var(--white);--icon-brand: var(--brand-500);--icon-brand-hover: var(--brand-600);--icon-success: var(--success-500);--icon-warning: var(--warning-500);--icon-error: var(--error-500);--icon-error-hover: var(--error-600);--icon-info: var(--info-500);--icon-inverse-secondary: var(--neutral-300);--cat-1: #C1633E;--cat-2: #2F6FA8;--cat-3: #4B8B3B;--cat-4: #8A5CD0;--cat-5: #B98A00;--cat-6: #1F8F82;--cat-7: #B5446E;--cat-8: #5E6C84;--cat-1-subtle: color-mix(in srgb, var(--cat-1) 14%, var(--bg-overlay));--cat-2-subtle: color-mix(in srgb, var(--cat-2) 14%, var(--bg-overlay));--cat-3-subtle: color-mix(in srgb, var(--cat-3) 14%, var(--bg-overlay));--cat-4-subtle: color-mix(in srgb, var(--cat-4) 14%, var(--bg-overlay));--cat-5-subtle: color-mix(in srgb, var(--cat-5) 14%, var(--bg-overlay));--cat-6-subtle: color-mix(in srgb, var(--cat-6) 14%, var(--bg-overlay));--cat-7-subtle: color-mix(in srgb, var(--cat-7) 14%, var(--bg-overlay));--cat-8-subtle: color-mix(in srgb, var(--cat-8) 14%, var(--bg-overlay));color-scheme:light}[data-partner=ibm]{--brand-50:#EDF5FF;--brand-100:#D0E2FF;--brand-200:#A6C8FF;--brand-300:#78A9FF;--brand-400:#4589FF;--brand-500:#0F62FE;--brand-600:#0043CE;--brand-700:#002D9C;--brand-800:#001D6C;--brand-900:#001141;--brand-950:#00091E}[data-partner=none]{--brand-50:#F9F6F4;--brand-100:#F4EDEA;--brand-200:#EADBD6;--brand-300:#DABEB3;--brand-400:#CB8265;--brand-500:#C1633E;--brand-600:#9B4E30;--brand-700:#81432A;--brand-800:#6A341F;--brand-900:#4F2616;--brand-950:#34180E}.ds-tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-family);font-weight:var(--weight-regular);border:1px solid transparent;border-radius:var(--radius-interactive);cursor:pointer;white-space:nowrap;line-height:1;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.ds-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-btn:active:not(:disabled){transform:translateY(.5px)}.ds-btn:disabled{cursor:not-allowed;background:var(--bg-neutral-disabled);color:var(--text-disabled);border-color:transparent}.ds-btn--sm{height:var(--size-control-sm);padding:0 var(--space-xs);font-size:var(--typography-label)}.ds-btn--md{height:var(--size-control-md);padding:0 var(--space-md);font-size:var(--typography-body)}.ds-btn--lg{height:var(--size-control-lg);padding:0 var(--space-lg);font-size:var(--typography-body-md)}.ds-btn--primary{background:var(--bg-brand-default);color:var(--text-on-brand)}.ds-btn--primary:hover:not(:disabled){background:var(--bg-brand-hover)}.ds-btn--primary:active:not(:disabled){background:var(--bg-brand-pressed)}.ds-btn--secondary{background:var(--bg-neutral-default);color:var(--text-primary);border-color:var(--border-default)}.ds-btn--secondary:hover:not(:disabled){background:var(--bg-neutral-hover);border-color:var(--border-neutral-hover)}.ds-btn--ghost{background:transparent;color:var(--text-brand)}.ds-btn--ghost:hover:not(:disabled){background:var(--bg-brand-subtle)}.ds-btn--danger{background:var(--bg-error-default);color:var(--text-on-error)}.ds-btn--danger:hover:not(:disabled){background:var(--bg-error-hover)}.ds-btn--subtle{background:var(--bg-overlay);color:var(--text-secondary);border-color:var(--border-default)}.ds-btn--subtle:hover:not(:disabled){background:var(--bg-overlay);color:var(--text-primary);border-color:var(--border-intense)}.ds-btn--icon{padding:0}.ds-btn--icon.ds-btn--sm{width:var(--size-control-sm)}.ds-btn--icon.ds-btn--md{width:var(--size-control-md)}.ds-btn--icon.ds-btn--lg{width:var(--size-control-lg)}.ds-tag{display:inline-flex;align-items:center;gap:var(--space-2xs);height:24px;padding:0 var(--space-xs);border-radius:var(--radius-pill);font-size:var(--typography-label);background:var(--bg-neutral-secondary);color:var(--text-secondary);border:1px solid var(--border-neutral);line-height:1}.ds-tag--brand{background:var(--bg-brand-subtle);color:var(--text-brand);border-color:var(--icon-brand)}.ds-tag--success{background:var(--bg-success-subtle);color:var(--text-success);border-color:var(--border-success)}.ds-tag--warning{background:var(--bg-warning-subtle);color:var(--text-warning);border-color:var(--border-warning)}.ds-tag--error{background:var(--bg-error-subtle);color:var(--text-error);border-color:var(--border-error)}.ds-tag--info{background:var(--bg-info-subtle);color:var(--text-info);border-color:var(--border-info)}.ds-tag--subtle{background:var(--bg-neutral-subtle);color:var(--text-secondary);border-color:var(--border-subtle)}.ds-tag--inverse{background:var(--bg-inverse);color:var(--text-inverse);border-color:var(--border-inverse)}.ds-tag--squared{border-radius:var(--radius-subtle)}.ds-tag__remove{display:inline-grid;place-items:center;width:14px;height:14px;border:0;padding:0;border-radius:var(--radius-pill);cursor:pointer;opacity:.6;font-size:10px;background:transparent;color:inherit;font-family:inherit;line-height:1}.ds-tag__remove:hover{opacity:1;background:color-mix(in srgb,currentColor 18%,transparent)}.ds-tag__remove:focus-visible{opacity:1;outline:2px solid var(--border-focus);outline-offset:1px}.ds-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);font-size:var(--typography-caption);font-weight:var(--weight-medium);background:var(--bg-brand-default);color:var(--text-on-brand);line-height:1;font-variant-numeric:tabular-nums}.ds-badge--neutral{background:var(--bg-neutral-intense);color:var(--text-inverse)}.ds-badge--success{background:var(--bg-success-default);color:var(--text-on-success)}.ds-badge--warning{background:var(--bg-warning-default);color:var(--text-on-warning)}.ds-badge--error{background:var(--bg-error-default);color:var(--text-on-error)}.ds-badge--info{background:var(--bg-info-default);color:var(--text-on-info)}.ds-badge--dot{min-width:8px;width:8px;height:8px;padding:0}.ds-avatar{display:inline-grid;place-items:center;border-radius:var(--radius-pill);background:var(--bg-surface-elevated);color:var(--text-primary);font-weight:var(--weight-medium);overflow:hidden;flex:none;border:1px solid var(--border-subtle)}.ds-avatar img{width:100%;height:100%;object-fit:cover}.ds-avatar--sm{width:32px;height:32px;font-size:var(--typography-caption)}.ds-avatar--md{width:40px;height:40px;font-size:var(--typography-label)}.ds-avatar--lg{width:56px;height:56px;font-size:var(--typography-body-md)}.ds-avatar--inactive{background:var(--bg-surface-elevated);color:var(--icon-secondary);border-color:var(--border-subtle)}.ds-avatar--inactive svg{color:var(--icon-secondary)}.ds-avatar-group{display:inline-flex}.ds-avatar-group .ds-avatar{margin-left:-8px;box-shadow:0 0 0 2px var(--bg-overlay)}.ds-avatar-group .ds-avatar:first-child{margin-left:0}.ds-field{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:240px}.ds-field__label{font-size:var(--typography-label);color:var(--text-secondary);letter-spacing:.03em}.ds-input,.ds-select__trigger,.ds-search{background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-subtle);font-family:var(--font-family);font-size:var(--typography-body);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.ds-input:hover:not(:disabled),.ds-select__trigger:hover:not(:disabled),.ds-search:hover:not(:focus-within){border-color:var(--border-neutral-hover)}.ds-input{height:var(--size-control-md);padding:0 var(--space-md);width:100%}.ds-input::placeholder{color:var(--text-placeholder)}.ds-input:focus{border-color:var(--border-brand)}.ds-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-color:var(--border-brand)}.ds-input:disabled{background:var(--bg-neutral-disabled);color:var(--text-disabled);cursor:not-allowed}.ds-input[type=number]{font-variant-numeric:tabular-nums}input.ds-input--sm{height:var(--size-control-sm);padding:0 var(--space-xs);font-size:var(--typography-body-sm)}input.ds-input--lg{height:var(--size-control-lg);padding:0 var(--space-lg);font-size:var(--typography-body-md)}textarea.ds-input{height:auto;padding:var(--space-xs) var(--space-md);resize:vertical;line-height:1.5}.ds-input[aria-invalid=true]{border-color:var(--border-error)}.ds-input[aria-invalid=true]:focus-visible{outline-color:var(--border-error);border-color:var(--border-error)}.ds-field__help{font-size:var(--typography-caption);color:var(--text-tertiary)}.ds-field:has([aria-invalid=true]) .ds-field__help{color:var(--text-error)}.ds-select{position:relative;display:block}.ds-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;min-height:var(--size-control-md);padding:0 var(--space-md);cursor:pointer;text-align:left}.ds-select__trigger[aria-expanded=true],.ds-select__trigger:focus-visible{border-color:var(--border-brand);outline:2px solid var(--border-focus);outline-offset:2px}.ds-select__trigger:disabled{background:var(--bg-neutral-disabled);color:var(--text-disabled);cursor:not-allowed}.ds-select--error .ds-select__trigger{border-color:var(--border-error)}.ds-select--error .ds-select__trigger:focus-visible{outline-color:var(--border-error)}.ds-select__help{display:block;margin-top:var(--space-2xs);font-size:var(--typography-caption);color:var(--text-tertiary)}.ds-select__help--error{color:var(--text-error)}.ds-select__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-select--sm{display:inline-block}.ds-select--sm .ds-select__trigger{min-height:var(--size-control-sm);width:auto;min-width:92px;padding:0 var(--space-xs);font-size:var(--typography-body-sm)}.ds-select__placeholder{color:var(--text-placeholder)}.ds-select__caret{color:var(--icon-secondary);flex:none}.ds-select__trigger--multi{padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-xs);align-items:flex-start}.ds-select__value--multi{display:flex;flex-wrap:wrap;gap:var(--space-2xs);white-space:normal;overflow:visible;padding:2px 0;min-height:28px;align-items:center}.ds-menu.ds-select__menu{overflow-y:auto}.ds-select__option{justify-content:space-between}.ds-select__option[aria-selected=true]{color:var(--text-brand)}.ds-select__check{color:var(--text-brand);flex:none}.ds-choice{display:inline-flex;align-items:center;gap:var(--space-xs);cursor:pointer;font-size:var(--typography-body);color:var(--text-primary)}.ds-choice input{position:absolute;opacity:0;width:0;height:0}.ds-choice__box{position:relative;width:18px;height:18px;border:1.5px solid var(--border-intense);background:var(--bg-overlay);display:grid;place-items:center;transition:all var(--duration-fast) var(--ease-default);flex:none}.ds-choice__box--check{border-radius:var(--radius-subtle)}.ds-choice__box--radio{border-radius:var(--radius-pill)}.ds-choice__label{display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:0}.ds-choice input:focus-visible+.ds-choice__box{outline:2px solid var(--border-focus);outline-offset:2px}.ds-choice input:checked+.ds-choice__box{background:var(--bg-brand-default);border-color:var(--bg-brand-default)}.ds-choice__glyph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-on-brand);opacity:0}.ds-choice input:checked+.ds-choice__box .ds-choice__glyph--check{opacity:1}.ds-choice.is-indeterminate input:not(:checked)+.ds-choice__box{background:var(--bg-brand-default);border-color:var(--bg-brand-default)}.ds-choice.is-indeterminate input:not(:checked)+.ds-choice__box .ds-choice__glyph--dash{opacity:1}.ds-choice--error .ds-choice__box{border-color:var(--border-error)}.ds-choice--error input:checked+.ds-choice__box{background:var(--bg-error-default);border-color:var(--border-error)}.ds-choice:has(input:disabled){opacity:.45;cursor:not-allowed}.ds-choice__dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--text-on-brand);transform:scale(0);transition:transform var(--duration-fast) var(--ease-default)}.ds-choice input:checked+.ds-choice__box--radio .ds-choice__dot{transform:scale(1)}.ds-switch{display:inline-flex;align-items:center;gap:var(--space-xs);cursor:pointer;font-size:var(--typography-body);color:var(--text-primary)}.ds-switch input{position:absolute;opacity:0;width:0;height:0}.ds-switch__track{width:40px;height:24px;border-radius:var(--radius-pill);background:var(--bg-neutral-pressed);position:relative;transition:background var(--duration-normal) var(--ease-default);flex:none}.ds-switch__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--bg-overlay);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-default)}.ds-switch__glyph{position:absolute;top:50%;transform:translateY(-50%);transition:opacity var(--duration-fast) var(--ease-default)}.ds-switch__glyph--on{left:6px;opacity:0;color:var(--text-on-brand)}.ds-switch__glyph--off{right:6px;opacity:1;color:var(--icon-tertiary)}.ds-switch__label{display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:0}.ds-switch input:checked+.ds-switch__track{background:var(--bg-success-default)}.ds-switch input:checked+.ds-switch__track .ds-switch__thumb{transform:translate(16px)}.ds-switch input:checked+.ds-switch__track .ds-switch__glyph--on{opacity:1}.ds-switch input:checked+.ds-switch__track .ds-switch__glyph--off{opacity:0}.ds-switch:hover input:checked:not(:disabled)+.ds-switch__track{background:var(--bg-success-hover)}.ds-switch:hover input:not(:checked):not(:disabled)+.ds-switch__track{background:var(--bg-neutral-hover)}.ds-switch input:focus-visible+.ds-switch__track{outline:2px solid var(--border-focus);outline-offset:2px}.ds-switch input:disabled+.ds-switch__track{opacity:.45}.ds-switch:has(input:disabled){cursor:not-allowed;opacity:.7}.ds-switch--error .ds-switch__track{outline:1px solid var(--border-error);outline-offset:1px}.ds-alert{display:flex;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-media);border:1px solid var(--border-subtle);border-left:3px solid var(--border-intense);background:var(--bg-surface)}.ds-alert__icon{flex:none;width:20px;height:20px;display:grid;place-items:center;font-weight:var(--weight-extrabold);font-size:13px;border-radius:var(--radius-pill);color:var(--text-on-brand)}.ds-alert__content{flex:1 1 auto;min-width:0}.ds-alert__title{font-weight:var(--weight-medium);color:var(--text-primary)}.ds-alert__body{color:var(--text-secondary);font-size:var(--typography-body-sm);margin-top:2px}.ds-alert__close{flex:none;align-self:flex-start;margin-left:var(--space-sm);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1em;line-height:1;padding:var(--space-2xs);border-radius:var(--radius-subtle)}.ds-alert__close:hover{color:var(--text-primary)}.ds-alert__close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-alert--success{border-left-color:var(--border-success);background:var(--bg-success-subtle)}.ds-alert--success .ds-alert__icon{background:var(--bg-success-default)}.ds-alert--warning{border-left-color:var(--border-warning);background:var(--bg-warning-subtle)}.ds-alert--warning .ds-alert__icon{background:var(--bg-warning-default);color:var(--text-on-warning)}.ds-alert--error{border-left-color:var(--border-error);background:var(--bg-error-subtle)}.ds-alert--error .ds-alert__icon{background:var(--bg-error-default)}.ds-alert--info{border-left-color:var(--border-brand);background:var(--bg-brand-subtle)}.ds-alert--info .ds-alert__icon{background:var(--bg-brand-default)}.ds-card{display:block;background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-container);padding:var(--space-lg);color:inherit;text-decoration:none;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.ds-card--sm{padding:var(--space-md)}.ds-card--lg{padding:var(--space-2xl)}.ds-card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ds-card__title{font-size:var(--typography-h4);letter-spacing:-.02em;color:var(--text-primary)}.ds-card__body{color:var(--text-secondary);font-size:var(--typography-body-sm);margin-top:var(--space-xs)}.ds-card--brand{border-left:3px solid var(--border-brand)}.ds-card--success{border-left:3px solid var(--border-success)}.ds-card--warning{border-left:3px solid var(--border-warning)}.ds-card--error{border-left:3px solid var(--border-error)}.ds-card--info{border-left:3px solid var(--border-info)}.ds-card--interactive{cursor:pointer}.ds-card--interactive:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-card[data-selected]{border-color:var(--border-brand);box-shadow:inset 0 0 0 1px var(--border-brand)}.ds-card.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.ds-tooltip{position:relative;display:inline-flex}.ds-tooltip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--bg-inverse);color:var(--text-inverse);font-size:var(--typography-caption);padding:6px 10px;border-radius:var(--radius-subtle);max-width:320px;width:max-content;white-space:normal;text-align:center;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.ds-tooltip__bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--bg-inverse)}.ds-tooltip:hover .ds-tooltip__bubble,.ds-tooltip:focus-within .ds-tooltip__bubble{opacity:1;transform:translate(-50%) translateY(0)}.ds-tooltip:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-subtle)}.ds-tooltip--bottom .ds-tooltip__bubble{top:calc(100% + 8px);bottom:auto;transform:translate(-50%) translateY(-4px)}.ds-tooltip--bottom:hover .ds-tooltip__bubble,.ds-tooltip--bottom:focus-within .ds-tooltip__bubble{transform:translate(-50%) translateY(0)}.ds-tooltip--bottom .ds-tooltip__bubble:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--bg-inverse)}.ds-tooltip--left .ds-tooltip__bubble{top:50%;bottom:auto;left:auto;right:calc(100% + 8px);transform:translateY(-50%) translate(4px)}.ds-tooltip--left:hover .ds-tooltip__bubble,.ds-tooltip--left:focus-within .ds-tooltip__bubble{transform:translateY(-50%) translate(0)}.ds-tooltip--left .ds-tooltip__bubble:after{top:50%;left:100%;transform:translateY(-50%);border-top-color:transparent;border-left-color:var(--bg-inverse)}.ds-tooltip--right .ds-tooltip__bubble{top:50%;bottom:auto;left:calc(100% + 8px);transform:translateY(-50%) translate(-4px)}.ds-tooltip--right:hover .ds-tooltip__bubble,.ds-tooltip--right:focus-within .ds-tooltip__bubble{transform:translateY(-50%) translate(0)}.ds-tooltip--right .ds-tooltip__bubble:after{top:50%;left:auto;right:100%;transform:translateY(-50%);border-top-color:transparent;border-right-color:var(--bg-inverse)}.ds-divider{border:none;border-top:1px solid var(--border-default);margin:var(--space-md) 0}.ds-block-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer;border-radius:var(--radius-subtle);transition:color var(--duration-fast) var(--ease-default)}.ds-block-action:hover{color:var(--text-link-hover)}.ds-block-action--cover{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;display:grid;place-items:center}.ds-block-action--cover:hover{color:inherit}.ds-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;color:var(--text-link);display:inline-flex;align-items:center;gap:var(--space-2xs);text-decoration:none;border-radius:var(--radius-subtle);transition:color var(--duration-fast) var(--ease-default)}.ds-link__label{border-bottom:1px solid transparent;transition:border-color var(--duration-fast) var(--ease-default)}.ds-link svg{color:var(--icon-brand);flex:none;transition:color var(--duration-fast) var(--ease-default)}.ds-link:hover{color:var(--text-link-hover)}.ds-link:hover .ds-link__label{border-bottom-color:currentColor}.ds-link:hover svg{color:var(--icon-brand-hover)}.ds-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-link[aria-disabled=true],.ds-link:disabled{color:var(--text-link-disabled);pointer-events:none;cursor:not-allowed}.ds-link[aria-disabled=true] svg,.ds-link:disabled svg{color:var(--icon-disabled)}.ds-kbd,.ds-search__kbd{font-family:var(--font-mono);font-size:var(--typography-caption);background:var(--bg-neutral-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-subtle);padding:1px 6px;color:var(--text-secondary);line-height:1.4}.ds-segmented{display:inline-flex;background:var(--bg-neutral-default);border-radius:var(--radius-subtle);padding:2px}.ds-segmented__option{display:inline-flex;align-items:center;gap:var(--space-2xs);border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--typography-body-sm);padding:var(--space-2xs) var(--space-sm);border-radius:calc(var(--radius-subtle) - 1px);white-space:nowrap;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.ds-segmented__option:hover:not([aria-pressed=true]):not(:disabled){background:var(--bg-neutral-hover);color:var(--text-primary)}.ds-segmented__option:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-segmented__option:disabled{opacity:.45;cursor:not-allowed}.ds-segmented__option[aria-pressed=true]{background:var(--bg-overlay);color:var(--text-primary);box-shadow:var(--shadow-sm)}.ds-segmented--sm .ds-segmented__option{padding:2px var(--space-xs);font-size:var(--typography-caption)}.ds-segmented--lg .ds-segmented__option{padding:var(--space-xs) var(--space-md);font-size:var(--typography-body)}.ds-tabs-wrap{display:block;width:100%}.ds-tabs{display:flex;gap:var(--space-2xs);border-bottom:1px solid var(--border-default)}.ds-tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-family:var(--font-family);font-size:var(--typography-body);color:var(--text-secondary);padding:var(--space-xs) var(--space-md);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.ds-tabs__tab:hover:not(:disabled){color:var(--text-primary)}.ds-tabs__tab:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px;border-radius:var(--radius-subtle)}.ds-tabs__tab:disabled{opacity:.45;cursor:not-allowed}.ds-tabs__tab[aria-selected=true]{color:var(--text-brand);border-bottom-color:var(--border-brand)}.ds-tabs__panel{padding:var(--space-md) 0;color:var(--text-secondary);font-size:var(--typography-body-sm);line-height:1.5}.ds-tabs__panel:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-subtle)}.ds-crumbs{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--typography-body-sm);color:var(--text-tertiary);flex-wrap:wrap}.ds-crumbs a{color:var(--text-secondary);border-radius:var(--radius-subtle);text-decoration:none}.ds-crumbs a:hover{color:var(--text-brand)}.ds-crumbs a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-crumbs__sep{color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.ds-crumbs__current{color:var(--text-primary)}.ds-stepper{display:flex;align-items:center}.ds-stepper__item{display:flex;align-items:center;gap:var(--space-xs)}.ds-stepper__marker{width:28px;height:28px;border-radius:var(--radius-pill);display:grid;place-items:center;font-size:var(--typography-label);border:1.5px solid var(--border-intense);color:var(--text-tertiary);background:var(--bg-overlay);flex:none}.ds-stepper__item.is-done .ds-stepper__marker{background:var(--bg-brand-default);border-color:var(--bg-brand-default);color:var(--text-on-brand)}.ds-stepper__item.is-current .ds-stepper__marker{border-color:var(--border-brand);color:var(--text-brand)}.ds-stepper__label{font-size:var(--typography-body-sm);color:var(--text-secondary)}.ds-stepper__item.is-current .ds-stepper__label{color:var(--text-primary)}.ds-stepper__bar{width:40px;height:1.5px;background:var(--border-default);margin:0 var(--space-xs)}.ds-stepper__item.is-done+.ds-stepper__bar{background:var(--bg-brand-default)}.ds-progress{height:8px;border-radius:var(--radius-pill);background:var(--bg-neutral-default);overflow:hidden;width:100%}.ds-progress__fill{height:100%;border-radius:var(--radius-pill);background:var(--bg-brand-default);transition:width var(--duration-normal) var(--ease-default)}.ds-progress-row{display:flex;align-items:center;gap:var(--space-sm)}.ds-progress-row .ds-progress{flex:1}.ds-progress__value{font-size:var(--typography-body-sm);color:var(--text-secondary);min-width:40px;text-align:right}.ds-pagination{display:inline-flex;gap:var(--space-2xs)}.ds-pagination__nav,.ds-pagination__page{min-width:var(--size-control-sm);height:var(--size-control-sm);border:1px solid var(--border-default);background:var(--bg-overlay);color:var(--text-secondary);border-radius:var(--radius-subtle);cursor:pointer;font-family:var(--font-family);font-size:var(--typography-body-sm);font-variant-numeric:tabular-nums}.ds-pagination__nav:hover:not(:disabled),.ds-pagination__page:hover{border-color:var(--border-intense);color:var(--text-primary)}.ds-pagination__page[aria-current=page]{background:var(--bg-brand-default);border-color:var(--bg-brand-default);color:var(--text-on-brand)}.ds-pagination__nav:focus-visible,.ds-pagination__page:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-pagination__nav:disabled{opacity:.45;cursor:not-allowed}.ds-pagination__nav:disabled:hover{border-color:var(--border-default);color:var(--text-secondary)}.ds-pagination__dots{min-width:var(--size-control-sm);height:var(--size-control-sm);display:grid;place-items:center;border:1px solid var(--border-default);background:var(--bg-overlay);border-radius:var(--radius-subtle);color:var(--text-tertiary);font-size:var(--typography-body-sm)}.ds-pagination--sm :is(.ds-pagination__nav,.ds-pagination__page,.ds-pagination__dots){min-width:28px;height:28px;font-size:var(--typography-caption)}.ds-pagination--lg :is(.ds-pagination__nav,.ds-pagination__page,.ds-pagination__dots){min-width:var(--size-control-md);height:var(--size-control-md);font-size:var(--typography-body)}.ds-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-mid);display:grid;place-items:center;padding:var(--space-lg);z-index:var(--z-modal);animation:ds-fade var(--duration-normal) var(--ease-enter)}.ds-modal{display:flex;flex-direction:column;background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-container);box-shadow:var(--shadow-lg);max-width:520px;width:100%;max-height:calc(100vh - var(--space-2xl));padding:var(--space-lg)}.ds-modal--sm{max-width:400px}.ds-modal--lg{max-width:720px}.ds-modal--full{max-width:none;width:calc(100vw - var(--space-2xl));height:calc(100vh - var(--space-2xl));max-height:none}.ds-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.ds-modal__title{font-size:var(--typography-h4);letter-spacing:-.02em;color:var(--text-primary);min-width:0}.ds-modal__close{flex:none;display:grid;place-items:center;width:var(--size-control-sm);height:var(--size-control-sm);border:1px solid var(--border-default);border-radius:var(--radius-subtle);background:var(--bg-overlay);color:var(--icon-secondary);cursor:pointer}.ds-modal__close:hover{color:var(--icon-primary);border-color:var(--border-intense)}.ds-modal__close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-modal__desc{color:var(--text-secondary);font-size:var(--typography-body-sm);margin-top:var(--space-xs)}.ds-modal__body{flex:1 1 auto;min-height:0;overflow:auto;margin:var(--space-md) 0}.ds-modal__actions{flex:none;display:flex;gap:var(--space-xs);justify-content:flex-end}.ds-table{width:100%;border-collapse:collapse;font-size:var(--typography-body-sm);background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-container);overflow:hidden}.ds-table thead th{text-align:left;padding:var(--space-xs) var(--space-md);background:var(--bg-surface);color:var(--text-tertiary);font-weight:var(--weight-medium);font-size:var(--typography-caption);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default)}.ds-table tbody td{padding:var(--space-md);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.ds-table tbody tr:last-child td{border-bottom:none}.ds-table tbody tr:hover{background:var(--bg-neutral-subtle)}.ds-table__empty{text-align:center;color:var(--text-tertiary);padding:var(--space-2xl) var(--space-md)}.ds-table tbody tr.ds-table__empty-row:hover{background:transparent}.ds-table-scroll{overflow-x:auto;max-width:100%}.ds-table-scroll--sticky{overflow-y:auto}.ds-table--sticky{overflow:visible}.ds-table--sticky thead th{position:sticky;top:0;z-index:var(--z-sticky)}.ds-table--sticky thead th:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--border-default)}.ds-table--sm tbody td,.ds-table--sm thead th{padding:var(--space-2xs) var(--space-sm)}.ds-table--lg tbody td,.ds-table--lg thead th{padding:var(--space-md) var(--space-lg)}.ds-table__cell{vertical-align:middle}.ds-table td.ds-table__cell--center,.ds-table th.ds-table__cell--center{text-align:center}.ds-table td.ds-table__cell--end,.ds-table th.ds-table__cell--end{text-align:right}.ds-table tbody tr[data-selected],.ds-table tbody tr[data-selected]:hover{background:var(--bg-brand-subtle)}.ds-table tbody tr[data-disabled]{opacity:.55}.ds-table tbody tr[data-disabled]:hover{background:none}.ds-table tbody td[data-editing]{box-shadow:inset 0 0 0 1px var(--border-focus);border-radius:var(--radius-subtle)}.ds-table--resizable{table-layout:fixed}.ds-table--resizable th{position:relative}.ds-table__th-inner{display:inline-flex;align-items:center;gap:var(--space-2xs);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.ds-table__resize{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;z-index:calc(var(--z-sticky) + 1)}.ds-table__resize:before{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:var(--border-default);transition:background var(--duration-fast) var(--ease-default)}.ds-table__resize:hover:before,.ds-table__resize:focus-visible:before{background:var(--border-brand);top:0;bottom:0;width:2px}.ds-table__resize:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.ds-th-sort{display:inline-flex;align-items:center;gap:var(--space-2xs);border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.ds-th-sort svg{color:var(--text-tertiary)}.ds-th-sort:hover,.ds-th-sort.is-sorted{color:var(--text-primary)}.ds-th-sort.is-sorted svg{color:var(--text-primary)}.ds-th-sort:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-subtle)}.ds-avatar-cell,.ds-badge-dot-cell{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--text-primary);font-weight:var(--weight-medium)}.ds-badge-dot{width:8px;height:8px;border-radius:50%;flex:none}.ds-badge-dot--success{background:var(--bg-success-default)}.ds-badge-dot--warning{background:var(--bg-warning-default)}.ds-badge-dot--error{background:var(--bg-error-default)}.ds-badge-dot--info{background:var(--bg-info-default)}.ds-badge-dot--neutral{background:var(--text-tertiary)}.ds-cell-edit{display:inline-flex;align-items:center;gap:var(--space-xs);border:1px solid transparent;background:none;padding:2px var(--space-2xs);margin:-2px 0;border-radius:var(--radius-subtle);cursor:text;font:inherit;color:var(--text-secondary);max-width:100%}.ds-cell-edit__icon{opacity:0;color:var(--text-tertiary);flex:none}.ds-cell-edit:hover{border-color:var(--border-default)}.ds-cell-edit:hover .ds-cell-edit__icon{opacity:1}.ds-cell-edit:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.ds-cell-edit:disabled{cursor:not-allowed}.ds-actions-cell{display:inline-flex;gap:var(--space-2xs);justify-content:flex-end}.ds-accordion{border:1px solid var(--border-subtle);border-radius:var(--radius-media);overflow:hidden;background:var(--bg-overlay);width:100%}.ds-accordion__item{border-bottom:1px solid var(--border-subtle)}.ds-accordion__item:last-child{border-bottom:none}.ds-accordion__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);background:transparent;border:0;cursor:pointer;font-family:var(--font-family);font-size:var(--typography-body);color:var(--text-primary);text-align:left}.ds-accordion__head:hover:not(:disabled){background:var(--bg-neutral-subtle)}.ds-accordion__head:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.ds-accordion__head:disabled{opacity:.45;cursor:not-allowed}.ds-accordion__summary{min-width:0}.ds-accordion__caret{flex:none;transition:transform var(--duration-fast) var(--ease-default);color:var(--icon-secondary)}.ds-accordion__item[data-open] .ds-accordion__caret{transform:rotate(90deg)}.ds-accordion__body{padding:0 var(--space-md) var(--space-md);color:var(--text-secondary);font-size:var(--typography-body-sm)}.ds-disclosure{border:1px solid var(--border-subtle);border-radius:var(--radius-container);background:var(--bg-overlay);overflow:hidden}.ds-disclosure__head{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);cursor:pointer;list-style:none}.ds-disclosure__head::-webkit-details-marker{display:none}.ds-disclosure__head:hover{background:var(--bg-neutral-subtle)}.ds-disclosure__head:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.ds-disclosure__title{min-width:0}.ds-disclosure__caret{margin-left:auto;flex:none;color:var(--text-tertiary);transition:transform var(--duration-normal) var(--ease-default)}.ds-disclosure[open]>.ds-disclosure__head{border-bottom:1px solid var(--border-subtle)}.ds-disclosure[open]>.ds-disclosure__head .ds-disclosure__caret{transform:rotate(90deg)}.ds-disclosure--disabled>.ds-disclosure__head{opacity:.5;pointer-events:none;cursor:not-allowed}.ds-disclosure__body{padding:var(--space-lg)}.ds-menu-wrap{position:relative;display:inline-block}.ds-menu{min-width:200px;background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-media);box-shadow:var(--shadow-md);padding:var(--space-2xs);z-index:var(--z-dropdown);overflow-y:auto;animation:ds-fade var(--duration-fast) var(--ease-enter)}.ds-menu__item{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs);border:0;background:transparent;border-radius:var(--radius-subtle);cursor:pointer;font-family:var(--font-family);font-size:var(--typography-body-sm);color:var(--text-secondary);text-align:left;text-decoration:none}.ds-menu__item:hover,.ds-menu__item:focus{background:var(--bg-brand-subtle);color:var(--text-brand);outline:none}.ds-menu__item:disabled,.ds-menu__item[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.ds-menu__item--danger:hover,.ds-menu__item--danger:focus{background:var(--bg-error-subtle);color:var(--text-error)}.ds-menu__sep{height:1px;background:var(--border-subtle);margin:var(--space-2xs) 0}.ds-search{display:flex;align-items:center;gap:var(--space-xs);height:var(--size-control-md);padding:0 var(--space-md);min-width:280px;color:var(--text-tertiary)}.ds-search:focus-within{border-color:var(--border-brand);outline:2px solid var(--border-focus);outline-offset:2px}.ds-search__icon{color:var(--text-tertiary);flex:none}.ds-search input{border:0;background:transparent;outline:0;font-family:var(--font-family);font-size:var(--typography-body);color:var(--text-primary);flex:1;min-width:0;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ds-search input::placeholder{color:var(--text-tertiary)}.ds-search input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.ds-search__kbd{flex:none}.ds-search-wrap{display:flex;flex-direction:column;gap:var(--space-2xs)}.ds-search__help{font-size:var(--typography-caption);color:var(--text-tertiary);padding-left:var(--space-xs)}.ds-search--lg{height:var(--size-control-lg);padding:0 var(--space-lg);gap:var(--space-sm)}.ds-search--lg input{font-size:var(--typography-h3)}.ds-file{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:240px}.ds-file__zone{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding:var(--space-lg);border:1px dashed var(--border-default);border-radius:var(--radius-media);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--typography-body-sm);transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.ds-file__icon{color:var(--icon-secondary);flex:none}.ds-file__prompt{flex:1 1 auto;min-width:0}.ds-file.is-dragging .ds-file__zone{border-color:var(--border-brand);background:var(--bg-brand-subtle)}.ds-file--error .ds-file__zone{border-color:var(--border-error)}.ds-file.is-disabled .ds-file__zone{opacity:.55}.ds-file__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ds-file__input:focus-visible+*,.ds-file__zone:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}.ds-file__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.ds-file__item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-subtle);border-radius:var(--radius-subtle);background:var(--bg-overlay);font-size:var(--typography-body-sm);color:var(--text-secondary)}.ds-file__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.ds-file__size{flex:none;font-size:var(--typography-caption);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.ds-file__remove{flex:none;display:grid;place-items:center;width:20px;height:20px;border:0;background:transparent;border-radius:var(--radius-pill);color:var(--icon-secondary);cursor:pointer}.ds-file__remove:hover{background:var(--bg-neutral-hover);color:var(--text-primary)}.ds-file__remove:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.ds-toast-host{position:fixed;bottom:var(--space-lg);right:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);z-index:var(--z-toast)}.ds-toast{display:flex;align-items:center;gap:var(--space-xs);background:var(--bg-inverse);color:var(--text-inverse);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-media);box-shadow:var(--shadow-lg);font-size:var(--typography-body-sm);animation:ds-fade var(--duration-fast) var(--ease-enter)}.ds-toast__dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--bg-success-default);flex:none}.ds-toast--warning .ds-toast__dot{background:var(--bg-warning-default)}.ds-toast--error .ds-toast__dot{background:var(--bg-error-default)}.ds-toast--info .ds-toast__dot{background:var(--bg-brand-default)}.ds-toast__msg{flex:1 1 auto}.ds-toast__action{flex:none;background:none;border:0;color:inherit;font:inherit;font-weight:var(--weight-medium);text-decoration:underline;cursor:pointer;padding:0 var(--space-2xs)}.ds-toast__close{flex:none;margin-left:var(--space-xs);background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:.85em;line-height:1;padding:var(--space-2xs)}.ds-toast__close:hover,.ds-toast__action:hover{opacity:1}.ds-toast__close:focus-visible,.ds-toast__action:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-calendar{width:280px;background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-container);padding:var(--space-md)}.ds-calendar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.ds-calendar__month{font-weight:var(--weight-medium);color:var(--text-primary);text-transform:capitalize}.ds-calendar__nav{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-default);background:var(--bg-overlay);border-radius:var(--radius-subtle);cursor:pointer;color:var(--icon-secondary)}.ds-calendar__nav:hover{color:var(--icon-primary);border-color:var(--border-intense)}.ds-calendar__nav:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ds-calendar__grid{display:grid;gap:2px}.ds-calendar__row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ds-calendar__dow{text-align:center;font-size:var(--typography-caption);color:var(--text-tertiary);padding:4px 0}.ds-calendar__day{aspect-ratio:1;display:grid;place-items:center;font-size:var(--typography-body-sm);border:0;background:transparent;border-radius:var(--radius-subtle);cursor:pointer;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ds-calendar__day:hover:not(:disabled){background:var(--bg-neutral-subtle)}.ds-calendar__day:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.ds-calendar__day:disabled{color:var(--text-disabled);cursor:not-allowed}.ds-calendar__day.is-muted{color:var(--text-disabled)}.ds-calendar__day[aria-current=date]{border:1px solid var(--border-brand);color:var(--text-brand)}.ds-calendar__day.is-range{background:var(--bg-brand-subtle);color:var(--text-brand)}.ds-calendar__day[aria-selected=true]{background:var(--bg-brand-default);color:var(--text-on-brand)}.ds-stat{display:flex;flex-direction:column;gap:var(--space-2xs);background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-container);padding:var(--space-lg);min-width:180px}.ds-stat__label{font-size:var(--typography-overline);line-height:1;letter-spacing:.15em;text-transform:uppercase;font-weight:var(--weight-medium);color:var(--text-tertiary)}.ds-stat__value{font-size:var(--typography-h2);line-height:1.1;letter-spacing:-.03em;font-weight:var(--weight-medium);color:var(--text-primary)}.ds-stat__caption{font-size:var(--typography-caption);line-height:1;letter-spacing:.03em;color:var(--text-tertiary)}.ds-stat--icon-left,.ds-stat--icon-right{flex-direction:row;align-items:center;gap:var(--space-md)}.ds-stat--icon-left .ds-stat__body,.ds-stat--icon-right .ds-stat__body{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.ds-stat--icon-right{justify-content:space-between}.ds-stat__icon{flex:none;color:var(--icon-brand);display:grid;place-items:center}.ds-stat__meta{display:flex;align-items:baseline;gap:var(--space-xs)}.ds-stat__delta{display:inline-flex;align-items:center;gap:2px;font-size:var(--typography-body-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.ds-stat__delta--success{color:var(--text-success)}.ds-stat__delta--error{color:var(--text-error)}.ds-stat__delta--neutral{color:var(--text-secondary)}.ds-stat__skeleton{font-size:var(--typography-h2);width:60%}.ds-stat--sm{padding:var(--space-md);min-width:140px}.ds-stat--sm .ds-stat__value,.ds-stat--sm .ds-stat__skeleton{font-size:var(--typography-h3)}.ds-spinner{display:inline-flex;align-items:center;justify-content:center;flex:none;color:currentColor}.ds-spinner__ring{display:block;width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:ds-spin .7s linear infinite}.ds-spinner--sm{font-size:14px}.ds-spinner--md{font-size:18px}.ds-spinner--lg{font-size:24px}.ds-skeleton{display:block;background:var(--bg-neutral-default);border-radius:var(--radius-subtle);animation:ds-pulse 1.2s var(--ease-default) infinite}.ds-skeleton--text{height:1.2em}.ds-skeleton--block{height:100%}.ds-skeleton--circle{border-radius:50%;aspect-ratio:1}.ds-skeleton-lines{display:flex;flex-direction:column;gap:var(--space-2xs)}.ds-skeleton-lines .ds-skeleton:last-child{width:60%}@keyframes ds-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes ds-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes ds-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ds-btn,.ds-input,.ds-select__trigger,.ds-card,.ds-switch__track,.ds-switch__thumb,.ds-switch__glyph,.ds-choice__box,.ds-choice__dot,.ds-progress__fill,.ds-tabs__tab,.ds-tooltip__bubble,.ds-link,.ds-link__label,.ds-accordion__caret,.ds-disclosure__caret,.ds-table__resize:before,.ds-file__zone,.ds-cell-edit{transition:none}.ds-menu,.ds-modal-scrim,.ds-toast{animation:none}.ds-skeleton{animation:none;opacity:.45}.ds-spinner__ring{animation-duration:1.6s}}:root{--color-accent: var(--bg-brand-default);--color-accent-soft: var(--bg-brand-subtle);--color-text: var(--text-primary);--color-text-muted: var(--text-secondary);--color-text-faint: var(--text-tertiary);--color-border: var(--border-default);--color-bg-page: var(--bg-page);--color-bg: var(--bg-surface);--color-success: var(--text-success);--color-danger: var(--text-error);--color-code-bg: var(--bg-code);--color-code-text: var(--text-code);--font-body: var(--font-family);--font-heading: var(--font-family)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--color-bg-page);color:var(--color-text)}.app-shell{display:flex;height:100vh;background:var(--color-bg-page)}.nav-rail{width:72px;flex:none;background:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:4px;overflow:visible;transition:width .24s cubic-bezier(.22,1,.36,1)}.nav-rail.hidden{width:0;border-right:none;overflow:hidden}.rail-spacer-top{height:8px;flex:none}.rail-link{position:relative;width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-interactive);color:var(--text-secondary);text-decoration:none}.rail-trigger{flex:none}.rail-link[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);padding:6px 10px;border-radius:var(--radius-container);background:var(--bg-inverse);color:var(--text-inverse);font-family:var(--font-body);font-size:12px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--shadow-md);transition:opacity .12s ease,transform .12s ease;z-index:200}.rail-link[data-tooltip]:before{content:"";position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%) translate(-4px);border:5px solid transparent;border-right-color:var(--bg-inverse);pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease;z-index:200}.rail-link[data-tooltip]:hover:after,.rail-link[data-tooltip]:hover:before{opacity:1;transform:translateY(-50%) translate(0)}.rail-link:hover{background:var(--bg-neutral-subtle)}.rail-link.active{background:var(--bg-brand-subtle);color:var(--text-brand)}.rail-separator{width:24px;height:1px;flex:none;background:var(--color-border);margin:6px 0}.right-column{flex:1;min-width:0;display:flex;flex-direction:column}.top-bar{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--color-bg);border-bottom:1px solid var(--color-border);gap:16px}.brand-mark{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.brand-icon{width:28px;height:28px;flex:none;display:block}.brand-mark h1{margin:0;font-size:var(--typography-h4);color:var(--text-primary);white-space:nowrap}.top-bar-right{display:flex;align-items:center;gap:14px;flex:none}.avatar-wrap{position:relative}.avatar{width:34px;height:34px;border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-body)}.nav-drawer{--menu-bg: var(--bg-inverse);--menu-text: var(--text-inverse-secondary);--menu-text-strong: var(--text-inverse);--menu-text-faint: var(--text-inverse-tertiary);--menu-header: var(--text-inverse-tertiary);--menu-divider: var(--bg-inverse-subtle);--menu-hover: var(--bg-inverse-subtle);flex:none;width:0;overflow:hidden;background:var(--menu-bg);transition:width .24s cubic-bezier(.22,1,.36,1)}.nav-drawer.open{width:276px}.nav-drawer-inner{width:276px;height:100%;padding:18px 16px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-menu-header{display:flex;align-items:center;gap:10px;padding:4px 4px 6px 12px}.nav-menu-header h2{margin:0;font-family:var(--font-heading);font-weight:700;font-size:16px;color:var(--menu-text-strong)}.nav-menu-close{margin-left:auto}.nav-menu-group{display:flex;flex-direction:column;gap:2px}.nav-menu-group-title{padding:14px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--menu-header)}.nav-menu-item{display:flex;align-items:center;gap:12px;border:none;background:transparent;padding:9px 12px;border-radius:var(--radius-container);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--menu-text);text-align:left;text-decoration:none}.nav-menu-item:hover{background:var(--menu-hover)}.nav-menu-item.active{background:var(--color-accent);color:var(--menu-text-strong);font-weight:600}.nav-menu-item svg{flex:none;color:inherit}.nav-menu-footer-divider{height:1px;background:var(--menu-divider);margin:8px 4px}.nav-menu-user-row{display:flex;align-items:center;gap:10px;padding:6px 12px}.nav-menu-version{padding:4px 12px 2px;font-size:11px;color:var(--menu-text-faint);font-variant-numeric:tabular-nums}.nav-menu-user-name{font-size:13px;font-weight:600;color:var(--menu-text-strong)}.nav-menu-user-role{font-size:11.5px;color:var(--menu-text-faint);text-transform:capitalize}.nav-menu-logout{margin-left:auto}.content-area{flex:1;min-height:0;overflow-y:auto;padding:24px 32px}.login-gate{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-page)}.login-card{width:340px}.login-form{display:flex;flex-direction:column;gap:var(--space-sm)}.login-title{margin:0;font-size:var(--typography-h4);color:var(--text-primary)}.login-lede{margin:0 0 var(--space-2xs);font-size:var(--typography-caption);color:var(--text-secondary)}.projects-list-page{height:100vh;display:flex;flex-direction:column;background:var(--color-bg-page)}.projects-list-header{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 32px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.projects-header-admin-link{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-page);color:var(--color-text-muted);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.projects-header-admin-link:hover{color:var(--color-accent);border-color:var(--color-accent-soft);background:var(--color-accent-soft)}.projects-list-body{flex:1;overflow-y:auto;padding:32px;max-width:720px;width:100%;margin:0 auto}.projects-list-body h2{font-family:var(--font-heading)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.project-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-container);background:var(--color-bg);cursor:pointer;text-align:left}.project-card:hover{border-color:var(--color-accent)}.project-card h3{margin:0;font-size:15px}.projects-card-meta{font-size:12px;color:var(--color-text-muted)}.project-create-form{display:flex;gap:8px;margin-bottom:20px}.project-create-form input{flex:1;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-interactive);font-size:14px;font-family:var(--font-body)}.project-create-form button{padding:10px 16px;border:none;border-radius:var(--radius-interactive);background:var(--color-accent);color:#fff;font-weight:600;cursor:pointer}.connections-page{flex:1;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-container);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);align-items:stretch}.semantic-layer-editor,.schema-graph,.query-builder-page{flex:1;overflow-y:auto;background:var(--color-bg);border-radius:var(--radius-container);border:1px solid var(--color-border);padding:20px}.query-builder-page{display:flex;flex-direction:column}.query-builder-subtitle{color:var(--color-text-muted);font-size:13px;margin-top:-8px}.query-builder-layout{display:flex;gap:20px;align-items:flex-start;flex:1;min-height:0}.query-builder-picker{flex:0 0 280px;display:flex;flex-direction:column;gap:8px;align-self:stretch;max-height:100%;min-height:0;overflow-y:auto}.query-builder-table{border:1px solid var(--color-border);border-radius:var(--radius-container);overflow:hidden;flex-shrink:0}.query-builder-table-header{width:100%;justify-content:flex-start}.query-builder-column-list{display:flex;flex-direction:column;max-height:260px;overflow-y:auto}.query-builder-column-row{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;border-top:1px solid var(--border-subtle);cursor:pointer}.query-builder-results{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.query-builder-selection{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.query-builder-empty-hint{color:var(--color-text-faint);font-size:13px;margin:0}.query-builder-chip{position:relative;display:inline-flex;align-items:center;gap:6px;background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-pill);padding:4px 6px 4px 10px;font-size:12px;font-family:var(--font-mono)}.query-builder-chip.is-filtered{background:var(--bg-warning-subtle);color:var(--text-warning)}.query-builder-chip-filter{padding:1px 6px;border-radius:var(--radius-pill);background:rgba(0,0,0,.08);font-size:11px}.query-builder-chip button{border:none;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.query-builder-chip-filter-btn{display:inline-flex;align-items:center;opacity:.55}.query-builder-chip-filter-btn.is-active,.query-builder-chip-filter-btn:hover{opacity:1}.query-builder-filter-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:260px;padding:12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-container);box-shadow:0 8px 24px #00000026;font-family:var(--font-sans, inherit);color:var(--color-text)}.query-builder-filter-popover-label{display:block;font-size:12px;color:var(--color-text-muted)}.query-builder-filter-popover-label code{color:var(--color-text)}.query-builder-filter-popover-actions{display:flex;gap:6px;margin-top:10px}.query-builder-filter-popover-actions button:first-child{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.query-builder-run-button{align-self:flex-start}.schema-graph-canvas{height:70vh;border:1px solid var(--color-border);border-radius:var(--radius-container)}.schema-graph-legend{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-container);background:var(--color-bg);font-size:12px;box-shadow:0 1px 3px #0000001a}.schema-graph-legend-item{display:flex;align-items:center;gap:8px}.schema-graph-legend-item line{stroke:var(--text-tertiary);stroke-width:2}.schema-graph-legend-item-inferred line{stroke:var(--text-warning)}.schema-edge-inferred .react-flow__edge-path{stroke:var(--text-warning)}.schema-edge-inferred .react-flow__edge-text{fill:var(--text-warning)}.inferred-panel{margin-top:var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-container);padding:var(--space-sm);background:var(--bg-surface)}.inferred-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.inferred-panel-header>h3{margin:0}.inferred-panel-intro{font-size:var(--typography-caption);color:var(--text-secondary);margin:var(--space-xs) 0 var(--space-sm)}.inferred-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.inferred-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-container);padding:var(--space-xs) var(--space-sm)}.inferred-list-main{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;min-width:0}.inferred-list-main code{font-family:var(--font-mono);font-size:var(--typography-caption);color:var(--text-code)}.inferred-rationale{font-size:var(--typography-caption);color:var(--text-secondary)}.inferred-list-actions{display:flex;gap:var(--space-2xs);flex-shrink:0}.schema-node{background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-container);box-shadow:var(--shadow-sm);font-size:var(--typography-caption);width:240px}.schema-node-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);background:var(--bg-neutral-subtle);border-bottom:1px solid var(--border-subtle);font-size:var(--typography-body-sm)}.schema-node-header-actions{display:flex;align-items:center;gap:var(--space-2xs)}.schema-node-field-picker{max-height:180px;overflow-y:auto;padding:var(--space-xs) var(--space-sm) var(--space-sm);border-bottom:1px solid var(--border-subtle);background:var(--bg-neutral-subtle)}.schema-node-field-picker-title{font-size:var(--typography-overline);color:var(--text-tertiary);text-transform:uppercase;margin-bottom:var(--space-2xs)}.schema-node-field-picker ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.schema-node-column{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border-bottom:1px solid var(--border-subtle)}.schema-node-column:last-child{border-bottom:none}.form-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-start}.mcp-detail-error{color:var(--text-error);font-size:var(--typography-caption)}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.dsrc-form-stack{display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start}.dsrc-consent-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.connection-form-actions.is-own-row:before{content:none}.connection-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2xs);align-items:center;align-self:flex-start}.connection-form-actions:before{content:" ";display:block;flex:0 0 100%;font-size:var(--typography-label);letter-spacing:.03em;visibility:hidden}.test-result{font-size:12px;color:#444;margin-top:4px}.row-error{font-size:var(--typography-caption);color:var(--text-error);margin-top:var(--space-2xs)}.connections-hint{font-size:12px;color:var(--color-text-faint);margin-top:10px}.schema-freshness{margin-bottom:12px}.schema-freshness-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schema-freshness-label{font-size:12px;color:var(--color-text-faint)}.schema-freshness-stale{color:var(--color-text-muted)}.relationship-panel{border:1px solid var(--color-border);border-radius:var(--radius-container);padding:14px;margin-top:12px;background:var(--color-bg)}.relationship-panel-intro{font-size:12.5px;color:var(--color-text-muted);margin:0 0 12px}.relationship-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.relationship-list li{display:flex;align-items:center;gap:8px;font-size:12.5px}.relationship-list code{font-family:var(--font-mono);font-size:12px}.relationship-list button{border:none;background:none;color:var(--color-text-faint);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.relationship-list button:hover{color:var(--color-danger)}.relationship-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.relationship-form label{display:flex;flex-direction:column;gap:4px}.dsrc-metrics-section{margin-top:24px}.dsrc-metrics-section>h3{margin:0 0 8px}.metrics-panel{border:1px solid var(--color-border);border-radius:var(--radius-container);padding:14px;background:var(--color-bg)}.metrics-panel-intro{font-size:12.5px;color:var(--color-text-muted);margin:0 0 12px}.metrics-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.metrics-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-container);padding:8px 10px}.metrics-list-main{display:flex;flex-direction:column;gap:3px;min-width:0}.metrics-list-name{font-weight:600;font-size:13px}.metrics-list-def{font-family:var(--font-mono, monospace);font-size:12px;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.metrics-list-desc,.metrics-list-hints{font-size:12px;color:var(--color-text-muted)}.metrics-list-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.metrics-form{display:flex;flex-direction:column;gap:10px;max-width:520px}.metrics-form input,.metrics-form-hints>*{flex:1 1 180px}.metrics-form-hints{display:flex;gap:12px;flex-wrap:wrap}.metrics-form-actions{display:flex;gap:8px}.metrics-suggest{margin-top:14px;border-top:1px solid var(--color-border);padding-top:12px}.metrics-suggestions{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.metrics-suggestions li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px}.metrics-suggestion-main{display:flex;flex-direction:column;gap:2px;min-width:0}.source-type-toggle{display:flex;gap:18px;margin:8px 0 12px;font-size:13px}.source-type-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer}.mcp-endpoint{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, monospace);font-size:12px}.mcp-entity-picker{border:1px solid var(--color-border);border-radius:var(--radius-container);padding:12px 16px;margin:12px 0}.mcp-entity-list{list-style:none;padding:0;margin:8px 0;max-height:320px;overflow-y:auto}.mcp-entity-list li{padding:3px 0}.mcp-entity-list label{display:flex;align-items:baseline;gap:6px;cursor:pointer}.mcp-model-search{width:100%;box-sizing:border-box;margin:4px 0}.mcp-detail-row>td{background:var(--bg-neutral-subtle);padding:12px 16px}.mcp-detail{display:flex;flex-direction:column;gap:20px}.mcp-detail-section h4{margin:0 0 8px;font-size:13px}.mcp-detail .muted{color:var(--color-text-faint)}.mcp-run-log{margin:0;padding:8px 10px;background:var(--color-bg, #1e1e1e);border:1px solid var(--color-border);border-radius:var(--radius-container);font-family:var(--font-mono, monospace);font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.admin-page{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.admin-section{background:var(--color-bg);border-radius:var(--radius-container);border:1px solid var(--color-border);padding:20px}.group-permissions-picker{display:flex;flex-direction:column;gap:var(--space-md)}.group-permissions-picker-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:40vh;overflow-y:auto}.admin-section-hint{margin:calc(-1 * var(--space-xs)) 0 var(--space-md);color:var(--text-secondary);font-size:var(--typography-body-sm)}.setting-label{font-weight:var(--weight-medium);color:var(--text-primary)}.setting-help{font-size:var(--typography-caption);color:var(--text-secondary);margin-top:var(--space-2xs);max-width:46ch}.admin-form-field>span{font-size:11.5px;color:var(--color-text-faint)}.semantic-layer-actions{display:flex;gap:8px;margin-bottom:16px}@keyframes dsrc-spin{to{transform:rotate(360deg)}}.dsrc-spin{animation:dsrc-spin .8s linear infinite;vertical-align:-2px;margin-right:4px}.dsrc-busy-strip{margin:10px 0 4px;max-width:420px}.dsrc-unsaved-hint{align-self:center;font-size:12px;font-weight:600;color:var(--text-warning)}.data-source-import-summary{background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:var(--radius-container);padding:10px 12px;margin-bottom:16px;font-size:13px}.data-source-import-summary p{margin:0}.data-source-generation-failures{background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-container);padding:10px 12px;margin-bottom:16px;font-size:13px;color:#92400e}.data-source-generation-failures p{margin:0}.data-source-generation-failures ul{margin:6px 0 0;padding-left:20px}.data-source-import-unmatched{margin-top:6px!important;color:var(--color-text-faint);font-size:12px}.semantic-table-picker-controls{display:flex;align-items:center;gap:8px;margin-bottom:10px}.semantic-table-filter-input{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-interactive);font-size:13px;font-family:var(--font-body)}.semantic-table-picker-empty{font-size:13px;color:var(--color-text-faint);margin:4px 0}.semantic-table-picker{display:flex;flex-direction:column;gap:4px;border:1px solid var(--color-border);border-radius:var(--radius-container);padding:12px;margin-bottom:16px;max-height:420px;overflow-y:auto}.semantic-table-picker-row{display:flex;align-items:center;gap:8px;padding:4px 6px;font-size:13px;font-family:var(--font-body)}.dsrc-grid-controls{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.dsrc-grid-controls .data-source-search-input{flex:1;min-width:200px;margin-bottom:0}.dsrc-included-counter{margin-left:auto;font-size:12px;color:var(--color-text-faint);white-space:nowrap}.dsrc-ctrl-btn{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-interactive);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;font-size:12px;font-family:var(--font-body);white-space:nowrap}.dsrc-ctrl-btn:hover:not(:disabled){background:var(--color-bg-page);color:var(--color-text)}.dsrc-ctrl-btn:disabled{opacity:.5;cursor:default}.dsrc-explorer{display:flex;align-items:flex-start;gap:20px}.dsrc-explorer-main{flex:1;min-width:0}.dsrc-tree-grid{border:1px solid var(--color-border);border-radius:var(--radius-container);background:var(--color-bg);max-height:calc(100vh - 320px);overflow:auto}.dsrc-tree-head,.dsrc-row{display:grid;grid-template-columns:34px 44px minmax(160px,1.7fr) minmax(120px,1fr) minmax(160px,1.5fr);align-items:center;min-height:38px;border-bottom:1px solid var(--border-subtle)}.dsrc-cell-select{display:flex;align-items:center;justify-content:center;padding:5px 0}.dsrc-cell-select input[type=checkbox]{cursor:pointer}.dsrc-bulk-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px;border:1px solid var(--color-accent);border-radius:var(--radius-container);background:var(--color-accent-soft);flex-wrap:wrap}.dsrc-bulk-count{font-size:13px;font-weight:600;color:var(--color-text);margin-right:auto}.dsrc-ctrl-btn-danger{border-color:var(--color-danger);color:var(--color-danger)}.dsrc-ctrl-btn-danger:hover:not(:disabled){background:var(--bg-error-default);color:var(--text-on-error)}.dsrc-tree-head{position:sticky;top:0;z-index:2;background:var(--color-bg);border-bottom:1px solid var(--color-border);border-top-left-radius:12px;border-top-right-radius:12px;box-shadow:0 1px 0 var(--color-border);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-text-faint)}.dsrc-tree-body .dsrc-row:last-child{border-bottom:none;border-bottom-left-radius:var(--radius-container);border-bottom-right-radius:var(--radius-container)}.dsrc-tree-head .dsrc-cell{padding:9px 10px}.dsrc-row-col.is-alt{background:var(--bg-neutral-subtle)}.dsrc-row:hover{background:var(--color-accent-soft)}.dsrc-row.is-focused{background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.dsrc-row.is-imported,.dsrc-row.is-imported:hover{background:var(--bg-success-subtle);box-shadow:inset 3px 0 0 var(--color-success)}.dsrc-row.is-excluded .dsrc-cell-name,.dsrc-row.is-excluded .dsrc-cell-disp,.dsrc-row.is-excluded .dsrc-cell-desc{opacity:.45}.dsrc-cell{min-width:0;padding:5px 10px}.dsrc-cell-inc{display:flex;align-items:center;justify-content:center;padding:5px 0}.dsrc-cell-name{display:flex;align-items:center;gap:6px;overflow:hidden}.dsrc-eye{display:inline-flex;align-items:center;justify-content:center;padding:3px;border:none;border-radius:var(--radius-interactive);background:transparent;color:var(--color-accent);cursor:pointer}.dsrc-eye:hover:not(:disabled){background:var(--color-accent-soft)}.dsrc-eye:disabled{opacity:.5;cursor:default}.dsrc-chevron{flex-shrink:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-interactive);background:transparent;color:var(--color-text-muted);font-size:14px;line-height:1;cursor:pointer;padding:0}.dsrc-chevron:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent)}.dsrc-chevron:disabled{cursor:default}.dsrc-col-indent{flex-shrink:0;width:18px}.dsrc-name-mono{font-family:var(--font-mono);font-size:12px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsrc-row-table .dsrc-name-mono{font-weight:600}.dsrc-rel-chip{flex-shrink:0;font-size:10px;font-weight:600;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-pill);padding:1px 7px;white-space:nowrap}.dsrc-updated-chip{flex-shrink:0;font-size:10px;font-weight:600;color:var(--color-success);background:rgba(23,178,155,.13);border-radius:var(--radius-pill);padding:1px 7px;white-space:nowrap}.dsrc-fk-badge{border:none;cursor:pointer;font-family:var(--font-body)}.dsrc-fk-badge:hover{filter:brightness(.95)}.dsrc-inline-input{width:100%;padding:5px 7px;border:1px solid var(--border-subtle);border-radius:var(--radius-interactive);background:var(--color-bg);font-size:12px;font-family:var(--font-body);color:var(--color-text)}.dsrc-inline-input::placeholder{color:var(--color-text-faint)}.dsrc-inline-input:hover{border-color:var(--color-border)}.dsrc-inline-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.dsrc-relmap{flex:0 0 280px;align-self:stretch;border:1px solid var(--border-default);border-radius:var(--radius-container);background:var(--bg-surface);padding:var(--space-sm);position:sticky;top:var(--space-sm)}.dsrc-relmap h4{margin:0;font-size:var(--typography-body-sm);color:var(--text-primary)}.dsrc-relmap-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.dsrc-relmap-modal .dsrc-relmap-canvas{height:70vh;border:none}.dsrc-relmap-sub{margin:var(--space-2xs) 0 var(--space-sm);font-size:var(--typography-caption);color:var(--text-tertiary);line-height:1.4}.dsrc-relmap-canvas{position:relative;height:340px;border:1px solid var(--border-subtle);border-radius:var(--radius-container);background:var(--bg-neutral-subtle);overflow:hidden}.dsrc-relmap-svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.dsrc-relmap-svg:active{cursor:grabbing}.dsrc-relmap-controls{position:absolute;top:var(--space-xs);right:var(--space-xs);z-index:1;display:flex;flex-direction:column;gap:var(--space-2xs)}.dsrc-relmap-node rect{fill:var(--bg-overlay);stroke:var(--border-default);stroke-width:1;transition:fill .15s,stroke .15s}.dsrc-relmap-node text{font-family:var(--font-mono);font-size:var(--typography-caption);fill:var(--text-primary);pointer-events:none}.dsrc-relmap-node{cursor:pointer}.dsrc-relmap-node:hover rect{stroke:var(--border-brand)}.dsrc-relmap-node.is-active rect{fill:var(--bg-brand-subtle);stroke:var(--border-brand);stroke-width:2}.dsrc-relmap-node.is-active text{fill:var(--text-brand)}.dsrc-relmap-edge{stroke:var(--border-default);stroke-width:1.5}.dsrc-relmap-edge.is-active{stroke:var(--border-brand);stroke-width:2}@media (max-width: 900px){.dsrc-explorer{flex-direction:column}.dsrc-relmap{flex-basis:auto;width:100%;position:static}}.chat-layout{flex:1;min-height:0;display:flex}.conversation-sidebar{width:var(--chat-sidebar-width, 280px);flex:none;display:flex;flex-direction:column;gap:18px;background:var(--color-bg-page);border-right:1px solid var(--color-border);padding:20px;overflow-y:auto}.new-conversation-button{width:100%}.sidebar-search{width:100%;min-width:0}.sidebar-section-label{font-size:11px;font-weight:600;letter-spacing:.6px;color:var(--color-text-faint);text-transform:uppercase;margin:0}.sidebar-all-users{margin:var(--space-2xs) 0}.conversation-group-label{list-style:none;padding:var(--space-xs) var(--space-sm) var(--space-2xs);color:var(--text-tertiary);font-size:var(--typography-caption);text-transform:uppercase;letter-spacing:.04em}.conversation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1}.conversation-empty{font-size:12px;color:var(--color-text-faint);padding:8px 4px}.conversation-item{border-radius:var(--radius-container);padding:8px 10px;cursor:pointer}.conversation-item:hover{background:var(--color-bg)}.conversation-item.active{background:var(--color-accent-soft)}.conversation-item-question{font-size:13px;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item.active .conversation-item-question{color:var(--color-accent);font-weight:600}.conversation-item-meta{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--color-text-faint);margin-top:3px}.chat-window{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.message-list{flex:1;overflow-y:auto;padding:36px 32px 24px;display:flex;flex-direction:column;align-items:center;gap:28px}.message-list>*{width:100%;max-width:840px}.dsrc-answer-stack{display:flex;flex-direction:column;gap:var(--space-md)}.dsrc-divider-row{display:flex;justify-content:center}.bubble-loading{color:var(--text-tertiary);font-style:italic;font-size:var(--typography-caption)}.wait-stages{display:flex;flex-direction:column;gap:var(--space-xs);font-style:normal}.wait-stages-hint{margin:0;color:var(--text-tertiary);font-size:var(--typography-caption)}.stage-timeline{display:grid;grid-template-columns:max-content auto;gap:var(--space-2xs) var(--space-md);margin:0;font-size:var(--typography-caption)}.stage-timeline-row{display:contents}.stage-timeline dt{color:var(--text-tertiary)}.stage-timeline dd{margin:0;font-variant-numeric:tabular-nums}.action-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-interactive);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--typography-caption);text-decoration:none}.tag-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;align-self:flex-start}.save-to-dashboard-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs);width:100%}.save-to-dashboard-title{flex:1;min-width:0}.save-to-dashboard-private{flex:none;margin-inline-end:var(--space-2xs)}.save-to-dashboard-error{width:100%;font-size:var(--typography-caption);color:var(--text-error)}.chat-input-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 32px 28px;--chat-composer-max-width: 840px}.voice-error{width:100%;max-width:var(--chat-composer-max-width);margin-bottom:var(--space-xs)}.voice-status{align-self:center;flex-shrink:0;white-space:nowrap}.input-bar{width:100%;max-width:var(--chat-composer-max-width);display:flex;align-items:flex-end;gap:12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-container);padding:8px 8px 8px 20px}.input-bar:focus-within{border-color:var(--border-brand);outline:2px solid var(--border-focus);outline-offset:2px}.chat-input-form textarea:focus,.chat-input-form textarea:focus-visible{outline:none}.chat-input-form textarea{flex:1;border:none;outline:none;background:transparent;resize:none;overflow-y:auto;line-height:1.45;padding:9px 0;max-height:122px}.send-button{flex:none}.chart-display{display:flex;flex-direction:column;gap:var(--space-sm)}.chart-toolbar{display:flex;align-items:center;gap:var(--space-xs)}.chart-title{margin:0;font-size:var(--typography-h4);color:var(--text-primary)}.chart-type-toggle{display:flex;gap:var(--space-2xs);flex-wrap:wrap}.chart-title-input{flex:1;min-width:0}.chart-edit-button{margin-left:auto;flex-shrink:0}.chart-kpi-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.chart-canvas-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-container);padding:var(--space-md)}.result-table-wrapper{display:flex;flex-direction:column;gap:var(--space-2xs)}.result-table-empty{padding:var(--space-md) var(--space-sm);font-size:var(--typography-body-sm);color:var(--text-secondary);text-align:center;border:1px solid var(--border-default)}.truncated-note{margin:0;font-size:var(--typography-caption);color:var(--text-tertiary)}.result-table-pagination{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm)}.result-table-page-status{font-size:var(--typography-caption);color:var(--text-tertiary)}.sql-block{margin:0;padding:var(--space-md);background:var(--bg-code);color:var(--text-on-code);border-radius:var(--radius-container);overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-size:var(--typography-caption);font-family:var(--font-mono);line-height:1.6}.dashboard-page{flex:1;overflow-y:auto}.dashboard-empty{color:var(--color-text-muted);font-size:14px}.dashboard-tab-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-md)}.dashboard-tab{display:flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-container);padding:0 var(--space-2xs) 0 var(--space-sm);color:var(--text-secondary)}.dashboard-tab.active{background:var(--bg-brand-subtle);color:var(--text-brand)}.dashboard-tab-label{color:inherit}.dashboard-tab-actions{display:flex;align-items:center;gap:2px}.dashboard-tab-rename-input{max-width:14rem}.dashboard-suggest-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dashboard-suggestion-card{border:1px dashed var(--border-disabled)}.dashboard-suggestion-question{color:var(--color-text-muted);font-size:13px;margin:4px 0 12px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-bottom:24px}.dashboard-grid-layout{margin-bottom:24px}.dashboard-grid-layout .dashboard-item-card{height:100%;overflow:auto}.dashboard-item-card{background:var(--color-bg);border-radius:var(--radius-container);border:1px solid var(--color-border);padding:16px;display:flex;flex-direction:column}.dashboard-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dashboard-item-header h3{margin:0;font-size:15px;font-family:var(--font-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-item-title-row{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.dashboard-item-title-row .chart-edit-button{margin-left:0;flex-shrink:0}.dashboard-item-title-input{flex:1;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-interactive);padding:4px 8px;font-size:14px;font-weight:600;font-family:var(--font-heading);background:var(--color-bg);color:var(--color-text)}.dashboard-item-ask-error{margin-top:6px;font-size:12px;color:var(--color-danger)}.dashboard-item-followup-form{display:flex;gap:var(--space-xs);margin-top:var(--space-xs)}.dashboard-item-followup-input{flex:1}.danger-zone{margin-top:32px;padding:16px;border:1px solid var(--color-danger);border-radius:var(--radius-container)}.danger-zone h3{margin-top:0;color:var(--color-danger)}.danger-zone p{font-size:13px;color:var(--color-text-muted);max-width:640px}.btn-danger{background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-interactive);padding:8px 14px;cursor:pointer}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.business-context-page{max-width:760px}.business-context-page .page-intro{color:var(--color-text-muted, #6b7280);font-size:13px;line-height:1.5;margin:4px 0 16px}.dsrc-checkbox-with-help{display:flex;flex-direction:column;gap:var(--space-2xs);max-width:40ch}.dsrc-consent-check{align-items:flex-start}.dsrc-field-help{margin:0 0 0 calc(var(--space-lg) + var(--space-2xs));font-size:var(--typography-caption);color:var(--text-tertiary);line-height:1.4}.business-context-input{width:100%;min-height:220px}.business-context-input:disabled{opacity:.7;cursor:not-allowed}.business-context-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.business-context-footer .char-count{font-size:12px;color:var(--color-text-muted, #6b7280)}.business-context-page .page-note{font-size:12px;color:var(--color-text-muted, #6b7280);margin-top:8px}.query-builder-join-mode{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:8px 0;font-size:13px}.query-builder-join-mode-label{font-weight:600;color:var(--color-text-muted, #6b7280)}.query-builder-join-mode label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.query-builder-bridge-warning{margin:10px 0;padding:8px 12px;font-size:13px;color:#92400e;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-container)}.query-builder-join-path{margin:10px 0;font-size:13px}.query-builder-join-path summary{cursor:pointer;color:var(--color-text-muted, #6b7280)}.query-builder-join-path ul{margin:8px 0 0;padding-left:18px;list-style:none}.query-builder-join-path li{margin:4px 0}.query-builder-join-path code{font-size:12px}.query-builder-relationships{margin:10px 0}.query-builder-relationships>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-muted, #6b7280);padding:4px 0}.dsrc-desc-field{position:relative;display:block;width:100%;min-height:28px}.dsrc-desc-textarea{width:100%;height:28px;padding:5px 7px;border:1px solid var(--border-subtle);border-radius:var(--radius-interactive);background:var(--color-bg);color:var(--color-text);font:inherit;line-height:1.4;resize:none;overflow:hidden;white-space:nowrap;box-sizing:border-box}.dsrc-desc-textarea::placeholder{color:var(--color-text-faint)}.dsrc-desc-textarea:hover{border-color:var(--color-border)}.dsrc-desc-textarea:focus{position:absolute;top:0;left:0;right:0;height:auto;min-height:88px;overflow:auto;white-space:pre-wrap;outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft),0 6px 20px #0f172a24;resize:vertical;z-index:5}.account-popup{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-2xs)}.account-popup-identity{display:flex;flex-direction:column;padding:var(--space-2xs) var(--space-xs)}.account-popup-name{font-size:var(--typography-body-sm);color:var(--text-primary)}.account-popup-role{font-size:var(--typography-caption);color:var(--text-tertiary);text-transform:capitalize}.account-popup-section{padding:var(--space-2xs) var(--space-xs)}.account-popup-rule{margin:0}.account-popup-logout{justify-content:flex-start;width:100%}.schema-budget{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border-default);background:var(--bg-surface);margin-bottom:var(--space-md);max-width:70ch}.schema-budget-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.schema-budget-label{font-size:var(--typography-label);color:var(--text-secondary)}.schema-budget-figures,.schema-budget-truncated{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2xs) var(--space-xs);margin:0}.schema-budget-detail{font-size:var(--typography-caption);color:var(--text-tertiary)}.schema-budget-error{margin:0;font-size:var(--typography-caption);color:var(--text-error)}.usage-stat-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.usage-stat-row>*{flex:1 1 auto}.credit-usage-figure{margin:var(--space-xs) 0 var(--space-md)}.credit-limit-form{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-md)}.credit-banner{padding:var(--space-md) var(--space-lg) 0}
