@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--brand-gradient-start: #174DFF;--brand-gradient-mid: #D01FFD;--brand-gradient-end: #F3804F;--brand-orb-base: radial-gradient(circle at 58% 60%, #F2458E 0%, #D01FFD 35%, #174DFF 85%);--brand-orb-coral: radial-gradient(circle at 78% 88%, rgba(243,128,79,.85) 0%, rgba(243,128,79,0) 38%);--brand-gradient-linear: linear-gradient(135deg, #174DFF 0%, #D01FFD 55%, #F3804F 100%);--primary-0: #CFE0E4;--primary-1: #B8D3D9;--primary-2: #8BBAC3;--primary-3: #5E9FAD;--primary-4: #3D8C9B;--primary-5: #2F7A8A;--primary-6: #24657A;--primary-7: #1B4F62;--primary-8: #153D4D;--primary-9: #0F2D39;--secondary-0: #F8DDD2;--secondary-1: #F4CCBC;--secondary-2: #EDB09A;--secondary-3: #E49278;--secondary-4: #DC7A5E;--secondary-5: #DC6A4C;--secondary-6: #C55A3E;--secondary-7: #A8482C;--secondary-8: #8C3820;--secondary-9: #722B16;--violet-0: #f4effa;--violet-1: #e5dcef;--violet-2: #c9b5e1;--violet-3: #ab8bd3;--violet-4: #9368c7;--violet-5: #8352c0;--violet-6: #7c47bd;--violet-7: #6a39a7;--violet-8: #5e3296;--violet-9: #512a84;--green-0: #eefbec;--green-1: #dff4db;--green-2: #bde8b4;--green-3: #98db8b;--green-4: #7ad068;--green-5: #66c952;--green-6: #5bc646;--green-7: #4bae37;--green-8: #409b2e;--green-9: #328623;--pink-0: #ffe9ff;--pink-1: #fed1fd;--pink-2: #faa1f6;--pink-3: #f66ef1;--pink-4: #f243eb;--pink-5: #f028e9;--pink-6: #f018e8;--pink-7: #d609ce;--pink-8: #bf00b9;--pink-9: #a700a1;--gray-0: #EDECE7;--gray-1: #E5E3DD;--gray-2: #D8D5CE;--gray-3: #CBC2AE;--gray-4: #B0AA98;--gray-5: #A5A196;--gray-6: #7A766C;--gray-7: #48453E;--gray-8: #2E2B25;--gray-9: #1F1E1A;--white: #ffffff;--black: #000000;--fg-1: #1F1E1A;--fg-2: #48453E;--fg-3: #7A766C;--fg-muted: #A5A196;--fg-inverse: var(--white);--fg-link: #2F7A8A;--fg-danger: #C55A3E;--fg-success: #1E6D5B;--bg-1: #FCFBF9;--bg-2: #F5F4F0;--bg-3: #EDECE7;--bg-sidebar: #F8F7F4;--bg-inverse: #1F1E1A;--border-default: #EAE8E2;--border-strong: #D2CFC7;--border-focus: #2F7A8A;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-h4: 20px;--fs-h3: 24px;--fs-h2: 30px;--fs-h1: 40px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-subtle: 0 1px 2px rgba(60, 50, 30, .04);--shadow-sm: 0 1px 3px 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04);--shadow-md: 0 4px 12px 0 rgba(0,0,0,.08), 0 2px 4px 0 rgba(0,0,0,.04);--shadow-lg: 0 16px 32px -8px rgba(0,0,0,.12), 0 4px 8px 0 rgba(0,0,0,.04);--ease-standard: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-med: .3s;--color-teal: var(--primary-5);--color-teal-hover: var(--primary-6);--color-teal-soft: var(--primary-0);--color-teal-text: var(--primary-7);--color-coral: var(--secondary-5);--color-coral-hover: var(--secondary-6);--color-coral-soft: var(--secondary-0);--color-jade: #1E6D5B;--color-jade-soft: #D6ECE4;--color-scrollbar: var(--gray-3);--color-scrollbar-hover: var(--gray-4);--nav-active-bg: #E3E2DD;--nav-active-icon: var(--primary-5);--bg-topbar: rgba(252, 251, 249, .9)}html[data-theme=dark]{--fg-1: #ECEAE3;--fg-2: #B8B4A8;--fg-3: #8A867A;--fg-muted: #6A675D;--fg-inverse: #1F1E1A;--bg-1: #17171A;--bg-2: #1F1F22;--bg-3: #28282C;--bg-sidebar: #131316;--bg-inverse: #ECEAE3;--white: #1F1F22;--black: #ECEAE3;--border-default: #2E2E33;--border-strong: #3F3F45;--border-focus: #5E9FAD;--nav-active-bg: #2A2A2F;--bg-topbar: rgba(23, 23, 26, .9);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px 0 rgba(0,0,0,.5), 0 1px 2px 0 rgba(0,0,0,.3);--shadow-md: 0 4px 12px 0 rgba(0,0,0,.5), 0 2px 4px 0 rgba(0,0,0,.3);--shadow-lg: 0 16px 32px -8px rgba(0,0,0,.6), 0 4px 8px 0 rgba(0,0,0,.3)}html,body{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-1);-webkit-font-smoothing:antialiased}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}.eyebrow{text-transform:uppercase;font-size:var(--fs-xs);letter-spacing:.08em;font-weight:var(--fw-semibold);color:var(--fg-3)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-1);font-size:var(--fs-md);-webkit-font-smoothing:antialiased}button{font-family:inherit;color:inherit}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--bg-1)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-default);padding:18px 12px 16px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px}.sidebar-brand .brand-logo{height:22px;width:auto;display:block}.sidebar-brand .env{font-size:10px;color:var(--fg-3);background:var(--bg-3);padding:2px 6px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;margin-left:auto}.sidebar-section{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-weight:600;padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--fg-2);font-size:13px;font-weight:500;cursor:pointer;border:none;background:transparent;text-align:left;width:100%;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.nav-item i{font-size:16px;color:var(--fg-3)}.nav-item:hover{background:var(--bg-3);color:var(--fg-1)}.nav-item:hover i{color:var(--fg-2)}.nav-item.is-active{background:var(--nav-active-bg);color:var(--fg-1)}.nav-item.is-active i{color:var(--nav-active-icon)}.nav-badge{margin-left:auto;font-size:10px;background:var(--bg-3);color:var(--fg-3);padding:1px 6px;border-radius:999px;font-weight:600}.nav-item.is-active .nav-badge{background:var(--color-teal-soft);color:var(--color-teal)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border-default);padding:12px 8px 4px;display:flex;flex-direction:column;gap:6px}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;width:100%;background:transparent}.signout-btn{background:transparent;border:none;padding:7px;cursor:pointer;line-height:1;border-radius:4px}.signout-btn:hover{background:var(--bg-3)}.avatar{width:28px;height:28px;border-radius:999px;background:url(/favicon_circle.svg) center / cover no-repeat;color:transparent;font-size:0;display:grid;place-items:center;flex-shrink:0;text-transform:uppercase}.user-meta{min-width:0;font-size:12px;flex:1;overflow:hidden}.user-meta .u-name{font-weight:600;color:var(--fg-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta .u-email{color:var(--fg-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:10;background:var(--bg-topbar);backdrop-filter:saturate(180%) blur(6px);-webkit-backdrop-filter:saturate(180%) blur(6px);border-bottom:1px solid var(--border-default);padding:12px 32px;display:flex;align-items:center;gap:16px}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-3)}.crumbs .sep{color:var(--fg-muted)}.crumbs .crumb-current{color:var(--fg-1);font-weight:600}.topbar .spacer{flex:1}.page{padding:28px 32px 80px;max-width:1360px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header .eyebrow{margin-bottom:6px}.page-header h1{font-size:28px;font-weight:700;letter-spacing:-.015em;line-height:1.2;margin:0}.page-header .lede{color:var(--fg-2);font-size:14px;margin-top:6px;margin-bottom:0}.page-header{margin-bottom:8px}.page-header+.filterbar{margin-top:0}.page-header>div:first-child{flex:1}.page-header .actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid var(--border-default);background:var(--white);color:var(--fg-1);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);box-shadow:var(--shadow-subtle)}.btn i{font-size:14px}.btn:hover{background:var(--bg-2)}.btn.btn-primary{background:var(--color-coral);color:var(--white);border-color:var(--color-coral-hover);box-shadow:var(--shadow-subtle)}.btn.btn-primary:hover{background:var(--color-coral-hover);border-color:var(--color-coral-hover)}.btn.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--fg-2)}.btn.btn-ghost:hover{background:var(--bg-3);color:var(--fg-1)}.btn.btn-sm{padding:5px 9px;font-size:12px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dash-card{background:var(--white);border:1px solid var(--border-default);border-radius:12px;padding:20px;cursor:pointer;text-align:left;box-shadow:var(--shadow-subtle);transition:border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);display:flex;flex-direction:column;min-height:180px;font-family:inherit;color:inherit}.dash-card:hover{border-color:var(--color-teal);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dash-card .icn{width:36px;height:36px;border-radius:8px;background:var(--primary-0);color:var(--primary-7);display:grid;place-items:center;font-size:18px;margin-bottom:14px}.dash-card.accent-violet .icn{background:var(--violet-0);color:var(--violet-7)}.dash-card h3{font-size:15px;font-weight:600;margin:0 0 4px}.dash-card p{font-size:13px;color:var(--fg-2);line-height:1.5;margin:0}.dash-card .cta{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--color-teal);font-weight:600}.dash-card .cta i{transition:transform var(--dur-fast)}.dash-card:hover .cta i{transform:translate(2px)}.btn-group{display:inline-flex;border:1px solid var(--border-default);border-radius:6px;background:var(--white);box-shadow:var(--shadow-subtle);overflow:hidden}.btn-group .btn{border:none;border-radius:0;box-shadow:none;padding:6px 10px;font-size:12px;color:var(--fg-2);background:var(--white)}.btn-group .btn+.btn{border-left:1px solid var(--border-default)}.btn-group .btn.is-active{background:var(--nav-active-bg);color:var(--fg-1)}.filterbar-meta{display:flex;justify-content:flex-end;margin-bottom:6px}.filterbar{background:var(--white);border:1px solid var(--border-default);border-radius:8px;padding:10px 14px;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px;margin-bottom:20px;box-shadow:var(--shadow-subtle)}.filterbar-stack{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:8px}.filterbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filterbar-label{font-size:11px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;align-self:flex-start;height:26px;padding-right:6px;display:flex;align-items:center;gap:6px}.filterbar-label i{font-size:14px}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border-default);border-radius:6px;padding:4px 4px 4px 10px;font-size:12px;color:var(--fg-1);position:relative;cursor:pointer;white-space:nowrap}.filter-chip .chip-label{color:var(--fg-3);font-weight:500}.filter-chip .chip-value{font-weight:600;color:var(--fg-1)}.filter-chip select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;color:transparent;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;font-size:0}.filter-chip .chevron{color:var(--fg-3);margin-left:2px;padding:0 4px;font-size:14px}.filter-chip:hover{border-color:var(--gray-4)}.filter-chip.month-multi{position:relative}.filter-chip.cohort-picker{padding-right:8px;cursor:default;gap:8px}.filter-chip.cohort-picker .cohort-date-input{border:1px solid var(--border-default);border-radius:4px;background:var(--bg-1);padding:2px 6px;font:inherit;color:var(--fg-1);cursor:pointer}.filter-chip.cohort-picker .cohort-day-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none}.filter-chip.cohort-picker .cohort-day-toggle input{margin:0;cursor:pointer}.filter-chip .chip-trigger{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;border:none;padding:0;cursor:pointer}.month-multi-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:50;background:var(--white);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-pop, 0 8px 24px rgba(0,0,0,.12));padding:6px;min-width:180px;max-height:320px;overflow-y:auto}.month-multi-popover .row{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;color:var(--fg-1);cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none}.month-multi-popover .row:hover{background:var(--bg-2)}.month-multi-popover .row input{accent-color:var(--color-teal);margin:0;cursor:pointer}.month-multi-popover .divider{height:1px;background:var(--border-default);margin:4px 2px}.month-multi-popover .multi-hint{display:block;padding:4px 10px 2px;font-size:11px;color:var(--fg-3);-webkit-user-select:none;user-select:none;white-space:nowrap;font-style:italic}.month-multi-popover .rdp-root{--rdp-accent-color: var(--color-teal);--rdp-accent-background-color: rgba(47, 122, 138, .18);--rdp-range_start-color: #fff;--rdp-range_start-background: var(--color-teal);--rdp-range_end-color: #fff;--rdp-range_end-background: var(--color-teal);--rdp-range_middle-color: var(--fg-1);--rdp-range_middle-background-color: rgba(47, 122, 138, .12);--rdp-selected-border: 1px solid transparent;--rdp-day-width: 32px;--rdp-day-height: 32px;--rdp-day_button-width: 32px;--rdp-day_button-height: 32px;--rdp-weekday-padding: 4px 0;font-size:12px}.month-multi-popover .rdp-root .rdp-caption_label,.month-multi-popover .rdp-root .rdp-month_caption{font-size:13px;font-weight:600}.month-multi-popover .rdp-root .rdp-weekday{font-size:11px;font-weight:500;color:var(--fg-3);text-transform:none}.month-multi-popover .rdp-root .rdp-day,.month-multi-popover .rdp-root .rdp-day_button{font-size:12px;font-weight:400}.month-multi-popover .rdp-day_selected,.month-multi-popover .rdp-day_range_middle{font-weight:500}.funnel-col{border:1px solid var(--border-default);border-radius:6px;background:var(--white);min-width:0;display:flex;flex-direction:column;overflow:hidden}.funnel-col-h{font-size:12px;font-weight:600;color:var(--fg-1);text-align:center;background:var(--bg-2);border-bottom:1px solid var(--border-default);padding:8px 6px;word-break:break-word;line-height:1.3;min-height:50px;display:flex;align-items:center;justify-content:center}.funnel-col-section{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;border-bottom:1px solid var(--border-default)}.funnel-col-list.is-dimmed{opacity:.32}.filter-segment{display:inline-flex;align-items:stretch;border:1px solid var(--border-default);border-radius:6px;overflow:hidden;background:var(--bg-2);height:26px}.filter-segment button{padding:0 10px;font-size:12px;background:transparent;color:var(--fg-2);border:none;cursor:pointer;display:inline-flex;align-items:center;line-height:1}.filter-segment button.is-active{background:var(--color-teal);color:#fff;font-weight:600}.funnel-col-counts{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;font-weight:600;border-bottom:1px solid var(--border-default);background:var(--white)}.funnel-col-counts .dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:1px}.funnel-col-list{list-style:none;padding:0;margin:0;font-size:11px;color:var(--fg-2);line-height:1.35;max-height:320px;overflow-y:auto;background:var(--white)}.funnel-col-list li{padding:6px 10px;border-bottom:1px solid var(--border-default);display:flex;align-items:flex-start;gap:6px}.funnel-col-list .funnel-col-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.funnel-col-list .funnel-col-name,.funnel-col-list .funnel-col-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.funnel-col-list .funnel-col-email{color:var(--fg-3);font-size:10px}.funnel-col-list li:last-child{border-bottom:none}.funnel-col-list .path-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto;margin-top:5px}.funnel-col-empty{color:var(--fg-3);font-style:italic;border-bottom:none!important}.funnel-col-list li.is-highlighted{background:#2f7a8a2e;font-weight:600;color:var(--fg-1)}.t tr.is-highlighted>td{background:#2f7a8a2e!important;font-weight:600}.month-multi-popover:has(.rdp-root){max-height:none;overflow:visible}.filter-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-2);background:var(--bg-2);border:1px solid var(--border-default);border-radius:6px;padding:4px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-toggle:hover{border-color:var(--gray-4)}.filter-toggle input{accent-color:var(--color-teal);margin:0;cursor:pointer}.filter-switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-2);background:var(--bg-2);border:1px solid var(--border-default);border-radius:6px;padding:4px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-switch:hover{border-color:var(--gray-4)}.filter-switch input{position:absolute;opacity:0;pointer-events:none}.filter-switch .track{position:relative;width:28px;height:16px;background:var(--gray-4);border-radius:999px;transition:background .12s ease;flex-shrink:0}.filter-switch .thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--white);border-radius:50%;box-shadow:0 1px 2px #00000026;transition:transform .12s ease}.filter-switch input:checked+.track{background:var(--color-teal)}.filter-switch input:checked+.track .thumb{transform:translate(12px)}.filter-switch .label-text{color:var(--fg-2)}.filterbar .reset-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:14px;color:var(--fg-3);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer}.filterbar .reset-icon:hover{background:var(--bg-3);color:var(--fg-1);border-color:var(--border-default)}.cohort-meta{margin-left:auto;font-size:11px;color:var(--fg-3);display:flex;align-items:center;gap:6px}.cohort-meta .status-dot{width:6px;height:6px;border-radius:999px;background:var(--green-7)}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.kpi{background:var(--white);border:1px solid var(--border-default);border-radius:8px;padding:14px 14px 10px;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;min-height:108px;position:relative;overflow:hidden}.kpi .kpi-label{font-size:11px;color:var(--fg-3);font-weight:500;display:flex;align-items:center;gap:6px}.kpi .kpi-value{font-size:24px;font-weight:700;color:var(--fg-1);letter-spacing:-.015em;margin-top:2px;line-height:1.2}.kpi .kpi-sub{font-size:12px;color:var(--fg-3);margin-top:2px;display:flex;align-items:center;gap:6px}.kpi.is-primary .kpi-value{color:var(--color-teal)}.kpi.is-danger .kpi-value{color:var(--color-coral-hover)}.kpi.is-muted .kpi-value{color:var(--fg-2)}.kpi.is-success .kpi-value{color:var(--color-jade)}.card{background:var(--white);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-subtle);margin-bottom:16px}.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-default)}.card-h.no-border{border-bottom:none}.card-h .title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}.card-h h2{font-size:15px;font-weight:600;letter-spacing:-.005em;line-height:1.25;margin:0}.card-h .sub{font-size:12px;color:var(--fg-3)}.card-h .spacer{flex:1}.card-body{padding:16px}.card-body.dense{padding:12px 16px}.collapsible-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;cursor:pointer;border:none;background:transparent;text-align:left}.collapsible-head .lead{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--fg-1)}.collapsible-head .lead .counter{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);background:var(--bg-2);padding:2px 6px;border-radius:4px}.collapsible-head .lead i.glyph{color:var(--fg-3);font-size:18px}.collapsible-head .chev{color:var(--fg-3);font-size:18px;transition:transform var(--dur-fast)}.card.is-open .collapsible-head .chev{transform:rotate(90deg)}.card.is-open .collapsible-body{border-top:1px solid var(--border-default)}.collapsible-body{padding:16px}.chart-tile{border:1px solid var(--border-default);border-radius:8px;padding:14px 16px;background:var(--white)}.chart-tile h3{font-size:13px;font-weight:600;color:var(--fg-1);margin:0 0 2px}.chart-tile .sub{font-size:11.5px;color:var(--fg-3);margin-bottom:10px}.chart-tile .legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--fg-2);margin-bottom:8px}.card-h .legend{display:flex;gap:28px;flex-wrap:wrap;font-size:12px;color:var(--fg-2)}.legend.legend-wide{gap:32px}.legend-dot{display:inline-flex;align-items:center;gap:6px}.legend-dot .sw{width:12px;height:12px;border-radius:3px;display:inline-block}.cloud-word{transition:transform .15s ease,opacity .15s ease;transform-origin:center;transform-box:fill-box}.cloud-word:hover{transform:scale(1.2);opacity:.85}.pagination-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--border-default)}.pagination-info{font-size:12.5px;color:var(--fg-3)}.table-wrap{overflow-x:auto;max-height:560px;border-top:1px solid var(--border-default)}.table-wrap.no-border-top{border-top:none}.t{width:100%;border-collapse:collapse;font-size:12.5px}.t thead th{position:sticky;top:0;background:var(--bg-2);text-align:left;padding:8px 12px;font-weight:600;color:var(--fg-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-default);white-space:nowrap;z-index:1}.t thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.t thead th.sortable:hover{color:var(--fg-1)}.t.t-resizable thead th{text-overflow:ellipsis;padding-right:18px}.t.t-resizable thead th .th-label{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;cursor:pointer}.t.t-resizable thead th .th-label.no-sort{cursor:default}.t.t-resizable .col-resizer{position:absolute;top:0;right:-1px;width:14px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none}.t.t-resizable .col-resizer:after{content:"";display:block;width:2px;height:55%;background:var(--border-default);border-radius:2px;transition:background .12s ease,width .12s ease}.t.t-resizable .col-resizer:hover:after,.t.t-resizable .col-resizer.is-dragging:after{background:var(--color-teal);width:3px}.t.t-resizable tbody td{overflow:hidden;text-overflow:ellipsis}.t tbody td{padding:9px 12px;border-bottom:1px solid var(--border-default);white-space:nowrap;color:var(--fg-1);vertical-align:middle}.t tbody tr:hover{background:var(--bg-2)}.t tbody tr:last-child td{border-bottom:none}.t .num{text-align:right;font-variant-numeric:tabular-nums}.t .muted{color:var(--fg-3)}.t .mono{font-family:var(--font-mono);font-size:11.5px}.t .name-cell{font-weight:600}.row-avatar{display:inline-flex;align-items:center;gap:8px}.row-avatar .avatar{width:22px;height:22px;font-size:9px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bg-3);color:var(--fg-2);border:1px solid transparent;white-space:nowrap}.badge i{font-size:11px}.badge.b-blue{background:var(--primary-0);color:var(--primary-7)}.badge.b-violet{background:var(--violet-0);color:var(--violet-7)}.badge.b-green{background:var(--green-0);color:var(--green-8)}.badge.b-red{background:var(--secondary-0);color:var(--secondary-7)}.badge.b-orange{background:#fff4e0;color:#a35a00}.badge.b-gray{background:var(--bg-3);color:var(--fg-2)}.badge.b-outline{background:transparent;border-color:var(--border-default);color:var(--fg-2)}.status-dot{width:6px;height:6px;border-radius:999px;display:inline-block;background:var(--fg-muted)}.status-dot.green{background:var(--green-7)}.status-dot.red{background:var(--secondary-6)}.status-dot.blue{background:var(--color-teal)}.linklist{display:inline-flex;gap:6px}.linklist a{font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border-radius:3px;background:var(--bg-3);color:var(--fg-2);font-weight:600;letter-spacing:.04em;text-decoration:none}.linklist a:hover{background:var(--color-teal-soft);color:var(--color-teal-text);text-decoration:none}.input{font-family:inherit;font-size:12.5px;padding:6px 10px 6px 30px;border-radius:6px;border:1px solid var(--border-default);background:var(--white);color:var(--fg-1);width:280px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2f7a8a24}.input-wrap{position:relative;display:inline-flex;align-items:center}.input-wrap>i{position:absolute;left:10px;color:var(--fg-3);font-size:14px;pointer-events:none}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:1100px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.empty{padding:40px;border:1px dashed var(--border-default);border-radius:8px;text-align:center;color:var(--fg-3);font-size:13px}.callout{margin-top:10px;padding:8px 12px;font-size:11.5px;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--border-default);border-radius:6px;display:flex;gap:8px;align-items:flex-start}.callout i{color:var(--fg-3);margin-top:1px;font-size:14px}.subpanel{margin-top:16px;padding:16px;background:var(--bg-2);border-radius:8px;border:1px solid var(--border-default)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:999px;border:2px solid var(--bg-1)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}@media(max-width:900px){.home-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}.mrr-region-head,.mrr-region-row{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr) 70px 56px 56px 84px;gap:12px;align-items:center}.mrr-region-head{padding:8px 0;border-bottom:1px solid var(--border-default);font-size:11px;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.mrr-region-row{padding:16px 0;border-bottom:1px solid var(--border-default)}.mrr-region-row:last-child{border-bottom:none}.mrr-region-info{display:flex;flex-direction:column;gap:4px;min-width:0}.mrr-region-meta{display:contents}.mrr-region-meta>.mrr-meta-cell{display:flex;align-items:center}.mrr-progress-cell{min-width:0}@media(max-width:1100px){.mrr-region-head{display:none}.mrr-region-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "progress" "meta";row-gap:12px}.mrr-region-row>.mrr-region-info{grid-area:info}.mrr-region-row>.mrr-progress-cell{grid-area:progress}.mrr-region-row>.mrr-region-meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center}.mrr-region-meta>.mrr-meta-cell{width:auto}}@media(max-width:640px){.mrr-region-row{padding:14px 0}.mrr-region-row>.mrr-region-meta{gap:10px 16px}}.mrr-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}@media(max-width:900px){.mrr-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.mrr-kpi-grid{grid-template-columns:minmax(0,1fr)}}.mrr-kpi-grid .kpi .kpi-value{font-size:clamp(18px,4vw,24px);word-break:break-word}.mrr-kpi-grid .kpi .kpi-sub{flex-wrap:wrap}.signin-root{min-height:100vh;background:var(--bg-1);display:flex;align-items:center;justify-content:center}.signin-wrap{width:100%;max-width:400px;padding:0 24px}.signin-brand{text-align:center;margin-bottom:28px;display:flex;flex-direction:column;align-items:center;gap:10px}.signin-brand img.wordmark{height:36px}.signin-brand p{font-size:13px;color:var(--fg-3);margin:0}.signin-card{background:var(--white);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:32px 32px 28px;box-shadow:var(--shadow-subtle)}.signin-card-title{font-size:18px;font-weight:700;color:var(--fg-1);letter-spacing:-.01em;margin:0 0 4px;text-align:center}.signin-card-sub{font-size:13px;color:var(--fg-3);margin:0 0 24px}.signin-card form{display:flex;flex-direction:column;gap:20px}.signin-field{display:flex;flex-direction:column;gap:6px}.signin-field label{font-size:12px;font-weight:600;color:var(--fg-2)}.signin-field input{width:100%;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--fg-1);background:var(--bg-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);box-sizing:border-box}.signin-field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2f7a8a24}.signin-field input.mono{font-family:var(--font-mono);font-size:18px;letter-spacing:6px;text-align:center}.signin-submit{width:100%;padding:11px 16px;font-size:14px;font-weight:600;font-family:inherit;color:var(--white);background:var(--color-teal);border:1px solid var(--color-teal-hover);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast)}.signin-submit:hover{background:var(--color-teal-hover)}.signin-submit:disabled{opacity:.7;cursor:not-allowed}.signin-cancel{background:none;border:none;color:var(--fg-3);cursor:pointer;font-size:12px;font-family:inherit;padding:0;text-align:center}.signin-cancel:hover{color:var(--fg-2)}.signin-error{font-size:12px;color:var(--color-coral-hover);margin:0}.signin-loading{font-size:13px;color:var(--fg-3);margin:0}.schema-info-btn{background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--fg-3);font-size:18px;line-height:1;border-radius:4px;display:flex;align-items:center}.schema-info-btn:hover{color:var(--color-teal);background:var(--bg-2)}.butterfly-info{position:relative;display:inline-flex;align-items:center;color:var(--fg-3);font-size:18px;line-height:1;cursor:help;padding:2px 4px;border-radius:4px}.butterfly-info:hover{color:var(--color-teal);background:var(--bg-2)}.butterfly-info-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:360px;padding:12px 14px;background:var(--bg-1);color:var(--fg-1);border:1px solid var(--border-default);border-radius:6px;box-shadow:0 6px 20px #0000001f;font-size:12px;line-height:1.45;opacity:0;visibility:hidden;transition:opacity 80ms ease-out;pointer-events:none}.butterfly-info:hover .butterfly-info-pop{opacity:1;visibility:visible}.butterfly-info-h{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);margin:6px 0 4px}.butterfly-info-h:first-child{margin-top:0}.butterfly-info-pop ul{margin:0;padding-left:16px}.butterfly-info-pop li{margin:2px 0}.schema-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.schema-modal-backdrop--fs{padding:0}.schema-modal{background:var(--bg-1);border:1px solid var(--border-default);border-radius:12px;width:100%;max-width:1300px;height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px #00000038}.schema-modal--fs{max-width:100%;height:100vh;border-radius:0;border:none}.schema-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--border-default);flex-shrink:0;gap:16px}.schema-modal-title{font-weight:600;font-size:15px;color:var(--fg-1)}.schema-modal-sub{font-size:12px;color:var(--fg-3);margin-top:2px}.schema-modal-close{background:none;border:none;cursor:pointer;color:var(--fg-3);font-size:18px;padding:4px 6px;border-radius:4px;flex-shrink:0}.schema-modal-close:hover{color:var(--fg-1);background:var(--bg-2)}.schema-tldr{border-bottom:1px solid var(--border-default);flex-shrink:0}.schema-tldr-toggle{background:none;border:none;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;font-size:12px;font-weight:600;color:var(--fg-2);gap:8px}.schema-tldr-toggle:hover{background:var(--bg-2)}.schema-tldr-body{display:flex;flex-direction:column;gap:10px;padding:10px 20px 14px;background:var(--bg-2)}.schema-tldr-item{display:flex;gap:12px;align-items:flex-start}.schema-tldr-icon{font-size:16px;color:var(--color-teal);flex-shrink:0;margin-top:1px}.schema-tldr-item-title{font-size:12px;font-weight:600;color:var(--fg-1);margin-bottom:2px}.schema-tldr-item-body{font-size:12px;color:var(--fg-3);line-height:1.5}.schema-data-section{border-top:1px solid var(--border-default);flex-shrink:0}.schema-data-body{max-height:220px;overflow:auto;padding:0 20px 8px;background:var(--bg-2)}.schema-modal-legend{display:flex;gap:20px;padding:8px 20px;border-top:1px solid var(--border-default);flex-shrink:0;flex-wrap:wrap}.schema-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fg-3)}.schema-legend-swatch{width:24px;height:3px;flex-shrink:0;border-radius:2px}.schema-legend-swatch--dashed{background:transparent;border-top:2px dashed;height:0}.recharts-wrapper:focus,.recharts-wrapper:focus-visible,.recharts-wrapper *:focus,.recharts-surface:focus,.recharts-surface:focus-visible{outline:none}@keyframes mrr-target-hit-bounce{0%{transform:scale(0) rotate(-30deg);opacity:0}55%{transform:scale(1.4) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes mrr-target-hit-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.mrr-target-hit-mark{display:inline-block;animation:mrr-target-hit-bounce .7s ease-out 1 both,mrr-target-hit-pulse 2.4s ease-in-out .7s infinite}.drag-handle{width:8px;flex-shrink:0;background:var(--border-default);cursor:col-resize;-webkit-user-select:none;user-select:none;position:relative;transition:background .1s}.drag-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;border-radius:2px;background:var(--fg-3);opacity:.5}.drag-handle:hover,.drag-handle.is-dragging{background:var(--bg-3, #ddd)}.drag-handle:hover:after,.drag-handle.is-dragging:after{opacity:1;background:var(--fg-2)}
