@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}:root{--canvas:#ebeff3;--surface:#fff;--surface-hover:#f8f9fb;--sidebar-bg:#12344d;--sidebar-hover:#ffffff14;--sidebar-active:#ffffff24;--sidebar-text:#ffffffbf;--border:#e4e7eb;--border-light:#f0f2f5;--text-primary:#12344d;--text-secondary:#647282;--text-tertiary:#92a2b1;--primary:#2c5cc5;--primary-hover:#234ba0;--primary-light:#e8f0fe;--success:#1cbf7a;--success-bg:#e6f9f0;--warning:#f59e0b;--warning-bg:#fef3c7;--danger:#e5484d;--danger-bg:#feecee;--info:#3b82f6;--info-bg:#eff6ff;--orange-banner:#fff4e5;--orange-banner-border:#ffe0b2;--chart-teal:#14b8a6;--chart-purple:#a855f7;--chart-pink:#ec4899;--chart-orange:#f97316;--sidebar-collapsed:240px;--sidebar-expanded:240px;--header-height:56px;--font-ui:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #12344d0f;--shadow-md:0 2px 8px #12344d14;--shadow-lg:0 4px 16px #12344d1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:14px}body{font-family:var(--font-ui);background:var(--canvas);color:var(--text-primary);min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.857em}.icon{flex-shrink:0;width:18px;height:18px;display:inline-flex}.icon svg{width:100%;height:100%}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-expanded);background:var(--sidebar-bg);z-index:300;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.expanded,.sidebar.pinned,.sidebar.sidebar-fixed{width:var(--sidebar-expanded)}.sidebar-brand{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;min-height:72px;padding:16px 18px 12px;display:flex}.sidebar-brand-logo{object-fit:contain;width:160px;height:auto;max-height:52px;display:block}.sidebar-toggle{display:none}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:8px 0 16px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}.nav-section-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;opacity:1;padding:14px 20px 6px;font-size:.643rem;font-weight:600}.nav-item{height:40px;color:var(--sidebar-text);white-space:nowrap;border-radius:var(--radius);border-left:3px solid #0000;align-items:center;gap:12px;margin:2px 10px;padding:0 16px;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff;border-left-color:#ffffffd9}.nav-label{opacity:1;font-size:.857rem;font-weight:500}.nav-badge{background:var(--danger);color:#fff;font-size:.643rem;font-weight:700;font-family:var(--font-mono);opacity:1;border-radius:10px;margin-left:auto;padding:1px 6px}.main-area{margin-left:var(--sidebar-expanded);flex-direction:column;flex:1;min-height:100vh;display:flex}.top-header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:16px;padding:0 20px;display:flex;position:sticky;top:0}.header-search{background:var(--canvas);border:1px solid var(--border);border-radius:20px;flex:1;align-items:center;gap:8px;max-width:480px;height:36px;margin:0 auto;padding:0 16px;display:flex}.header-search input{font-family:var(--font-ui);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.857rem}.header-search input::placeholder{color:var(--text-tertiary)}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-new{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.btn-new:hover{background:var(--primary-hover)}.icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--canvas);color:var(--text-primary)}.notif-badge{background:var(--danger);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.header-avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.714rem;font-weight:600;display:flex}.page-subheader{justify-content:space-between;align-items:center;padding:16px 24px 0;display:flex}.page-title{font-size:1.286rem;font-weight:600}.page-desc{color:var(--text-secondary);margin-top:2px;font-size:.857rem}.page-tabs{gap:8px;display:flex}.page-tab{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-size:.857rem;font-weight:500}.page-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-outline{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;font-size:.857rem;font-weight:500;font-family:var(--font-ui);align-items:center;gap:6px;padding:7px 16px;text-decoration:none;display:inline-flex}.btn-outline:hover{background:var(--surface-hover)}.btn-outline:disabled,.btn-outline.is-disabled,.btn-outline:disabled:hover,.btn-outline.is-disabled:hover{opacity:.45;cursor:not-allowed;background:var(--surface);color:var(--text-tertiary);border-color:var(--border);pointer-events:auto}.btn-primary{border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;font-size:.857rem;font-weight:600;font-family:var(--font-ui);border:none;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.btn-primary:disabled,.btn-primary:disabled:hover{opacity:.45;cursor:not-allowed;background:var(--primary)}.btn-ghost:disabled,.btn-ghost:disabled:hover{opacity:.45;cursor:not-allowed}.btn-danger-outline{border-radius:var(--radius);background:var(--surface);color:#dc2626;cursor:pointer;font-size:.857rem;font-weight:500;font-family:var(--font-ui);border:1px solid #fecaca;align-items:center;gap:6px;padding:7px 16px;display:inline-flex}.btn-danger-outline:hover{background:#fef2f2}.info-banner{background:var(--orange-banner);border:1px solid var(--orange-banner-border);border-radius:var(--radius);color:#92400e;align-items:center;gap:8px;margin:16px 24px 0;padding:10px 16px;font-size:.857rem;display:flex}.page-content{flex:1;padding:20px 24px 40px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:20px}.card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;font-size:.929rem;font-weight:600;display:flex}.kpi-grid{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px;display:grid}@media (width<=1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.kpi-card:hover{box-shadow:var(--shadow-md)}.kpi-card.alert{background:var(--danger-bg);border-color:#fecdd3}.kpi-label{color:var(--text-secondary);margin-bottom:8px;font-size:.786rem;line-height:1.3}.kpi-value{color:var(--primary);font-size:1.714rem;font-weight:700;line-height:1}.kpi-card.alert .kpi-value{color:var(--danger)}.chart-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=1100px){.chart-grid{grid-template-columns:1fr}}.chart-card{min-height:280px}.donut-wrap{width:160px;height:160px;margin:16px auto;position:relative}.donut-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center .num{font-size:1.714rem;font-weight:700}.donut-center .lbl{color:var(--text-secondary);font-size:.786rem}.chart-legend{width:100%;margin-top:8px}.legend-item{color:var(--text-secondary);align-items:center;gap:8px;padding:4px 0;font-size:.786rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-val{color:var(--text-primary);margin-left:auto;font-weight:600}.bar-chart{width:100%}.bar-row{margin-bottom:14px}.bar-label{justify-content:space-between;margin-bottom:6px;font-size:.857rem;display:flex}.bar-track{background:var(--border-light);border-radius:4px;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%}.bar-fill.gradient-purple{background:linear-gradient(90deg,#a855f7,#ec4899)}.bar-fill.teal{background:var(--chart-teal)}.bar-fill.orange{background:var(--chart-orange)}.bar-fill.pink{background:var(--chart-pink)}.bar-fill.red{background:var(--danger)}.priority-bars{width:100%}.priority-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.priority-row .label{width:60px;color:var(--text-secondary);font-size:.857rem}.priority-row .track{background:var(--border-light);border-radius:5px;flex:1;height:10px;overflow:hidden}.priority-row .fill{border-radius:5px;height:100%}.data-table{border-collapse:collapse;width:100%;font-size:.857rem}.data-table th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-hover);border-bottom:1px solid var(--border);padding:10px 16px;font-size:.714rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:12px 16px}.data-table tbody tr{cursor:pointer;transition:background .1s}.data-table tbody tr:hover{background:var(--surface-hover)}.ticket-id{font-family:var(--font-mono);color:var(--primary);font-size:.857rem;font-weight:500}.chip{white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:.714rem;font-weight:600;display:inline-flex}.chip-open{background:var(--info-bg);color:var(--info)}.chip-closed{background:var(--border-light);color:var(--text-secondary)}.chip-resolved,.chip-live-resolved{background:var(--success-bg);color:var(--success)}.chip-critical,.chip-urgent,.chip-live{background:var(--danger-bg);color:var(--danger)}.chip-high{background:var(--warning-bg);color:#b45309}.chip-medium{background:var(--info-bg);color:var(--info)}.sla-breach{color:var(--danger);font-family:var(--font-mono);font-weight:600}.sla-ok{color:var(--success);font-family:var(--font-mono)}.stepper{align-items:flex-start;padding:16px 0;display:flex;position:relative}.stepper:before{content:"";background:var(--border);height:2px;position:absolute;top:32px;left:10%;right:10%}.stepper .step{text-align:center;z-index:1;flex:1;position:relative}.stepper .step-node{border:2px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:.786rem;font-weight:600;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.stepper .step.done .step-node{border-color:var(--success);background:var(--success-bg);color:var(--success)}.stepper .step.active .step-node{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.stepper .step:not(.done):not(.active) .step-node{opacity:.72}.stepper .step-label{color:var(--text-tertiary);margin-top:8px;font-size:.714rem}.stepper .step.done .step-label{color:var(--success);font-weight:500}.stepper .step.active .step-label{color:var(--primary);font-weight:600}.stepper .step:not(.done):not(.active) .step-label{color:var(--text-tertiary)}.ticket-overview-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.drawer-layout .page-content{flex:1;min-width:0;padding-right:0}.detail-drawer,.glass-drawer{background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;width:380px;padding:24px;overflow-y:auto}.drawer-id{font-family:var(--font-mono);color:var(--primary);font-size:.857rem;font-weight:500}.drawer-title{margin:6px 0 14px;font-size:1.071rem;font-weight:600;line-height:1.4}.drawer-section{margin-top:20px}.drawer-section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:.714rem;font-weight:600}.deep-link{color:var(--primary);margin-bottom:4px;padding:4px 0;font-size:.857rem;font-weight:500;display:inline-flex}.deep-link:hover{text-decoration:underline}.related-records-intro{color:var(--text-secondary);margin:0 0 14px;font-size:.857rem;line-height:1.45}.related-records-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.related-records-item{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.related-records-item-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.related-records-item-meta .ticket-id{font-weight:600}.related-records-item-type{color:var(--text-tertiary);font-size:.786rem}.related-records-empty{color:var(--text-tertiary);margin:0 0 16px;font-size:.857rem}.related-records-form{border-top:1px solid var(--border-light);flex-direction:column;gap:12px;padding-top:4px;display:flex}.related-records-form-row{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=720px){.related-records-form-row.two-col{grid-template-columns:1.4fr 1fr}}.related-records-form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.related-records-hint{color:var(--text-tertiary);margin:0;font-size:.786rem;line-height:1.4}.related-records-pending{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.related-records-pending-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.857rem;display:flex}.related-records-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;font-size:.786rem;font-weight:600}.ticket-detail-tabs{flex-wrap:wrap;margin:0 0 16px}.rca-stack{flex-direction:column;gap:16px;display:flex}.rca-why-list{flex-direction:column;gap:14px;display:flex}.rca-audit-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=720px){.rca-audit-grid{grid-template-columns:1fr}}.ticket-tab-section-intro{color:var(--text-secondary);margin:0 0 14px;font-size:.857rem;line-height:1.45}.detail-sidebar-footer{margin-top:4px}.heat-strip{grid-template-columns:repeat(28,1fr);gap:3px;display:grid}.heat-cell{aspect-ratio:1;background:var(--border-light);border-radius:3px}.heat-cell.success{background:var(--success);opacity:.7}.heat-cell.fail{background:var(--danger);opacity:.8}.auth-page{background:linear-gradient(135deg,#ebeff3,#d6e4f0,#ebeff3);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;box-shadow:var(--shadow-lg);padding:40px}.auth-card .brand-logo{height:36px;margin-bottom:28px}.auth-card h1{font-size:1.429rem;font-weight:600}.auth-sub{color:var(--text-secondary);margin:6px 0 28px;font-size:.929rem}.form-field input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-family:var(--font-ui);padding:10px 14px;font-size:.929rem}.form-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.strength-bar{gap:4px;margin-top:8px;display:flex}.strength-seg{background:var(--border);border-radius:2px;flex:1;height:4px}.strength-seg.on{background:var(--primary)}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:.857rem}.auth-footer a{color:var(--primary);font-weight:500}.hub-page{background:var(--canvas);max-width:1200px;min-height:100vh;margin:0 auto;padding:48px}.hub-brand{height:36px;margin-bottom:24px}.hub-page h1{font-size:2rem;font-weight:700}.hub-page .subtitle{color:var(--text-secondary);max-width:560px;margin:8px 0 40px;font-size:1rem;line-height:1.6}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.hub-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;transition:box-shadow .15s,transform .15s;display:block}.hub-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.hub-card .num{font-family:var(--font-mono);color:var(--primary);margin-bottom:8px;font-size:.714rem;font-weight:600;display:block}.hub-card h3{margin-bottom:4px;font-size:.929rem;font-weight:600}.hub-card p{color:var(--text-secondary);font-size:.786rem;line-height:1.5}.hub-section{margin-bottom:40px}.hub-section h2{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;font-size:.786rem;font-weight:600}.workflow-steps{max-width:640px}.workflow-step{gap:16px;padding:16px 0;display:flex;position:relative}.workflow-step:before{content:"";background:var(--border);width:2px;position:absolute;top:44px;bottom:0;left:15px}.workflow-step:last-child:before{display:none}.workflow-step-num{background:var(--primary);color:#fff;width:32px;height:32px;font-family:var(--font-mono);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.786rem;font-weight:600;display:flex}.workflow-step-content h4{margin-bottom:4px;font-size:.929rem;font-weight:600}.workflow-step-content p{color:var(--text-secondary);font-size:.857rem;line-height:1.5}.design-hub-link{color:var(--text-tertiary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);z-index:300;padding:8px 14px;font-size:.786rem;position:fixed;bottom:16px;right:20px}.quick-create-wrap{position:relative}.quick-create-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:480px;box-shadow:var(--shadow-lg);z-index:400;padding:16px;display:none;position:absolute;top:calc(100% + 8px);right:0}.quick-create-menu.open{display:block}.qc-grid{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.qc-item{border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:10px;display:flex}.qc-item:hover{background:var(--surface-hover)}.qc-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.qc-item h4{margin-bottom:2px;font-size:.857rem;font-weight:600}.qc-item p{color:var(--text-tertiary);font-size:.714rem}.oncall-banner{background:var(--success-bg);border-radius:var(--radius);color:#065f46;border:1px solid #a7f3d0;align-items:center;gap:8px;margin-bottom:20px;padding:10px 16px;font-size:.857rem;display:flex}.oncall-dot{background:var(--success);border-radius:50%;width:8px;height:8px}.monitor-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.monitor-tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;padding:24px}.monitor-tile:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.glass-card,.bento-grid .glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.bento-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.stat-label{color:var(--text-secondary);font-size:.786rem;font-weight:500}.stat-value{font-family:var(--font-mono);color:var(--primary);margin-top:6px;font-size:1.714rem;font-weight:700}.glow-rail{justify-content:space-between;align-items:flex-start;padding:8px 0;display:flex;position:relative}.glow-rail:before{content:"";background:var(--border);height:2px;position:absolute;top:24px;left:24px;right:24px}.glow-rail .step{text-align:center;z-index:1;flex:1;position:relative}.glow-rail .step-node{border:2px solid var(--border);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto;font-size:.786rem;font-weight:600;display:inline-flex}.glow-rail .step.done .step-node{border-color:var(--success);background:var(--success-bg);color:var(--success)}.glow-rail .step.active .step-node{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.glow-rail .step-label{color:var(--text-tertiary);margin-top:8px;font-size:.714rem}.code-block{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-secondary);margin-top:12px;padding:12px;font-size:.857rem;line-height:1.6}.approver-stack{margin-top:12px;display:flex}.approver{background:var(--surface);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-left:-8px;font-size:.714rem;font-weight:600;display:flex}.approver:first-child{margin-left:0}.approver.awaiting{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.timeline-rail{border-left:2px solid var(--success);margin-left:10px;padding-left:28px}.timeline-node{margin-bottom:24px;position:relative}.timeline-node:before{content:"";background:var(--success);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-35px}.timeline-node.current:before{background:var(--primary)}.timeline-node.planned:before{border:2px solid var(--success);box-sizing:border-box;background:#86efac}.timeline-node.failed:before{background:var(--danger)}.timeline-node.upcoming:before{background:var(--border);border:2px solid var(--text-tertiary);box-sizing:border-box}.release-milestone-rail{border-left:2px solid var(--border);margin:8px 0 8px 10px;padding-left:28px}.release-milestone{margin-bottom:28px;position:relative}.release-milestone:last-child{margin-bottom:0}.release-milestone:before{content:"";background:var(--border);box-sizing:border-box;border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:-35px}.release-milestone.state-completed:before{background:var(--success)}.release-milestone.state-current:before{background:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.release-milestone.state-upcoming:before{background:var(--surface);border:2px solid var(--text-tertiary)}.release-milestone.state-failed:before{background:var(--danger)}.release-milestone-title{margin:0 0 4px;font-size:.929rem;font-weight:600}.release-milestone-desc{color:var(--text-secondary);margin:0 0 6px;font-size:.857rem;line-height:1.5}.release-milestone-meta{color:var(--text-tertiary);font-size:.714rem;font-family:var(--font-mono)}.release-project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.release-project-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.release-project-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm,0 1px 3px #00000014)}.release-project-card .card-body{flex-direction:column;gap:10px;min-height:140px;display:flex}.release-project-stats{color:var(--text-secondary);flex-wrap:wrap;gap:8px;font-size:.786rem;display:flex}.release-checklist-item{border-bottom:1px solid var(--border-light);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.release-checklist-item:last-child{border-bottom:none}.release-checklist-item.done{opacity:.85}.release-checklist-item.done .release-checklist-title{color:var(--success)}.release-checklist-item.mandatory .release-checklist-title:after{content:" *";color:var(--danger)}.release-active-banner{color:var(--text-secondary);margin-bottom:12px;font-size:.857rem}@media (width<=900px){.release-top-grid{grid-template-columns:1fr!important}}.chip-pattern{background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe}.chip-role{border:1px solid var(--primary);color:var(--primary);background:var(--primary-light)}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.radial-gauge{background:conic-gradient(var(--gauge-color,var(--success)) calc(var(--pct,80)*1%),var(--border-light) 0);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.radial-gauge:after{content:"";background:var(--surface);border-radius:50%;width:56px;height:56px;position:absolute}.radial-gauge span{z-index:1;font-family:var(--font-mono);font-size:.929rem;font-weight:600;position:relative}.radial-gauge.ok{--gauge-color:var(--success)}.radial-gauge.warn{--gauge-color:var(--warning)}.gradient-text{background:linear-gradient(135deg,var(--primary),#6366f1);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.breadcrumb{color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:4px;font-size:.857rem;display:flex}.breadcrumb a{color:var(--primary);font-weight:500}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span{color:var(--text-tertiary)}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);font-size:.857rem;font-family:var(--font-ui);padding:8px 12px}.filter-select:focus{border-color:var(--primary);outline:none}.ticket-list-filters{border-bottom:1px solid var(--border);padding:14px 20px}.ticket-list-filter-bar{margin-bottom:10px}.ticket-list-date-filters{margin-bottom:0}.ticket-list-date-field{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:.714rem;display:flex}.ticket-list-date-field .filter-select{text-transform:none;letter-spacing:normal;color:var(--text-primary)}.ticket-bulk-toolbar{border-bottom:1px solid var(--border);background:var(--primary-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.ticket-bulk-count{color:var(--primary);font-size:.857rem;font-weight:600}.ticket-bulk-actions{flex-wrap:wrap;gap:8px;display:flex}.ticket-list-feedback{border-bottom:1px solid var(--border);padding:10px 20px;font-size:.857rem}.ticket-list-feedback--success{background:var(--success-bg,#e8f7ef);color:var(--success,#1b7a45)}.ticket-list-feedback--warning{background:var(--warning-bg,#fff7e6);color:var(--warning,#b36b00)}.ticket-list-feedback--error{background:var(--danger-bg);color:var(--danger)}.ticket-list-check-col{text-align:center;width:40px}.ticket-list-table tbody tr.is-selected{background:var(--primary-light)}.ticket-sort-btn{cursor:pointer;font:inherit;color:inherit;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;padding:0;font-weight:600}.ticket-sort-btn.is-active{color:var(--primary)}.ticket-list-refetching{color:var(--text-tertiary);padding:8px 20px;font-size:.786rem}.pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.pagination-info{color:var(--text-tertiary);margin-right:auto;font-size:.786rem}.pagination-page{color:var(--text-secondary);font-size:.786rem}.page-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--text-primary);font-size:1rem;line-height:1}.page-btn:not(:disabled):hover{background:var(--surface-hover)}@media (width<=700px){.ticket-bulk-toolbar{flex-direction:column;align-items:stretch}.ticket-bulk-actions{width:100%}.ticket-bulk-actions .btn-outline,.ticket-bulk-actions .btn-ghost{flex:1}}.sla-state-chip{letter-spacing:.03em;text-transform:uppercase;font-size:.714rem;font-weight:700;font-family:var(--font-ui);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;display:inline-flex}.sla-state-chip--ok{background:var(--success-bg,#e8f7ef);color:var(--success,#1b7a45)}.sla-state-chip--warn{background:var(--warning-bg,#fff7e6);color:var(--warning,#b36b00)}.sla-state-chip--breach{background:var(--danger-bg);color:var(--danger)}.sla-countdown{font-weight:600}.sla-health-card .card-header{gap:12px}.sla-health-card__overall-label{color:var(--text-secondary);margin:0 0 16px;font-size:.857rem}.sla-health-card__body{flex-direction:column;gap:16px;display:flex}.sla-dimension-row{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface-hover);padding:14px 16px}.sla-dimension-row__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.sla-dimension-row__title{margin:0;font-size:.929rem;font-weight:600}.sla-dimension-row__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.sla-dimension-row__meta dt{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.714rem}.sla-dimension-row__meta dd{color:var(--text-primary);margin:0;font-size:.857rem;font-weight:500}.sla-list-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.sla-list-cell__remaining{color:var(--text-secondary);font-size:.786rem}.sla-list-cell__remaining-label{color:var(--text-tertiary)}.toast-viewport{z-index:1200;flex-direction:column;gap:10px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.toast--info{border-left:4px solid var(--primary)}.toast--success{border-left:4px solid var(--success,#1b7a45)}.toast--warning{border-left:4px solid var(--warning,#b36b00)}.toast--error{border-left:4px solid var(--danger)}.toast__title{font-size:.857rem;display:block}.toast__body{color:var(--text-secondary);margin:4px 0 0;font-size:.786rem}.toast__close{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}@media (width<=700px){.sla-dimension-row__meta{grid-template-columns:1fr}.toast-viewport{max-width:none;left:16px;right:16px}}.detail-layout{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}@media (width<=1000px){.detail-layout{grid-template-columns:1fr}}.detail-main,.detail-sidebar{flex-direction:column;gap:16px;display:flex}.meta-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.meta-item label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.714rem;display:block}.meta-item span{font-size:.857rem;font-weight:500}.activity-timeline{list-style:none}.activity-item{border-bottom:1px solid var(--border-light);gap:12px;padding:14px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-avatar{background:var(--primary-light);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.714rem;font-weight:600;display:flex}.activity-body{flex:1}.activity-body p{font-size:.857rem;line-height:1.5}.activity-body .time{color:var(--text-tertiary);margin-top:4px;font-size:.786rem}.form-card .card-body{padding:24px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid.full{grid-template-columns:1fr}.form-field{margin-bottom:0}.form-field label{color:var(--text-secondary);margin-bottom:6px;font-size:.786rem;font-weight:600;display:block}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-family:var(--font-ui);color:var(--text-primary);background:var(--surface);padding:10px 12px;font-size:.857rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.ticket-sla-readonly{border:1px solid var(--border-light);border-radius:var(--radius);min-height:40px;color:var(--text-secondary);background:var(--surface-hover);align-items:center;padding:10px 12px;font-size:.857rem;display:flex}.form-field textarea{resize:vertical;min-height:100px}.form-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.select-listbox{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:120px;padding:2px 0;overflow-y:auto}.select-listbox-item{width:100%;font-family:var(--font-mono);text-align:left;color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:8px 12px;font-size:.857rem;font-weight:500;display:block}.select-listbox-item:hover:not(.selected){background:var(--surface-hover)}.select-listbox-item.selected{color:#fff;background:#6b7280}.analytics-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=1100px){.analytics-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.analytics-grid{grid-template-columns:1fr}}.widget-icon{border-radius:var(--radius);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;font-size:1.1rem;display:flex}.gauge-widget{text-align:center;padding:20px}.gauge-ring{width:100px;height:100px;color:var(--primary);background:conic-gradient(var(--primary) calc(var(--pct)*1%),var(--border-light) 0);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:1.429rem;font-weight:700;display:flex;position:relative}.gauge-ring:after{content:"";background:var(--surface);border-radius:50%;width:72px;height:72px;position:absolute}.gauge-ring span{z-index:1;position:relative}.line-chart-placeholder{border-bottom:2px solid var(--primary);border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(#2c5cc51f,#0000);height:120px;margin-top:12px}.pipeline{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.pipeline-stage{border-radius:var(--radius);color:#fff;text-align:center;min-width:100px;padding:10px 16px;font-size:.786rem;font-weight:600}.pipeline-stage .count{margin-bottom:2px;font-size:1.286rem;font-weight:700;display:block}.stage-teal{background:#14b8a6}.stage-green{background:#1cbf7a}.stage-blue{background:#2c5cc5}.stage-purple{background:#a855f7}.stage-red{background:#e5484d}.stage-orange{background:#f97316}.stage-yellow{color:#12344d;background:#f59e0b}.stage-slate{background:#647282}.module-flow-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.module-flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.module-flow-card h3{align-items:center;gap:8px;margin-bottom:12px;font-size:1rem;font-weight:600;display:flex}.flow-links{flex-direction:column;gap:6px;display:flex}.flow-link{border-radius:var(--radius);background:var(--surface-hover);justify-content:space-between;align-items:center;padding:10px 12px;font-size:.857rem;transition:background .12s;display:flex}.flow-link:hover{background:var(--primary-light);color:var(--primary)}.flow-link .arrow{color:var(--text-tertiary)}.cmdb-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;padding-bottom:0;display:flex}.cmdb-tab{color:var(--text-secondary);cursor:pointer;font-size:.857rem;font-weight:500;font-family:var(--font-ui);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px}.cmdb-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.cmdb-panel{display:none}.cmdb-panel.active{display:block}.sync-banner{background:var(--primary-light);border-radius:var(--radius);border:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 16px;font-size:.857rem;display:flex}.sync-banner .sync-meta{color:var(--text-secondary)}.provider-badge{color:#fff;background:#f90;border-radius:12px;align-items:center;gap:6px;padding:3px 10px;font-size:.714rem;font-weight:600;display:inline-flex}.provider-badge.azure{background:#0078d4}.provider-badge.gcp{background:#4285f4}.sync-status{align-items:center;gap:6px;font-size:.786rem;display:inline-flex}.sync-dot{background:var(--success);border-radius:50%;width:8px;height:8px}.sync-dot.pending{background:var(--warning)}.sync-dot.error{background:var(--danger)}.resource-map-wrap{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:420px;padding:24px;position:relative;overflow:auto}.map-vpc{border:2px dashed var(--border);border-radius:var(--radius-lg);min-height:360px;padding:24px;position:relative}.map-vpc-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.714rem;font-weight:600;position:absolute;top:8px;left:12px}.map-nodes{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;padding-top:20px;display:flex}.map-node{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;min-width:140px;box-shadow:var(--shadow-sm);cursor:pointer;padding:14px 16px;transition:border-color .15s,box-shadow .15s;position:relative}.map-node:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.map-node.selected{border-color:var(--primary);background:var(--primary-light)}.map-node.critical{border-color:var(--danger);background:var(--danger-bg)}.map-node-icon{margin-bottom:6px;font-size:1.429rem}.map-node-name{margin-bottom:2px;font-size:.786rem;font-weight:600}.map-node-type{color:var(--text-tertiary);font-size:.643rem}.map-edges{pointer-events:none;position:absolute;inset:0}.map-edge{stroke:var(--border);stroke-width:2px;fill:none}.map-edge.active{stroke:var(--primary);stroke-width:2.5px}.map-legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.786rem;display:flex}.relationship-list{list-style:none}.relationship-item{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:12px 0;font-size:.857rem;display:flex}.relationship-item:last-child{border-bottom:none}.rel-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:1rem}.rel-type{color:var(--text-tertiary);background:var(--surface-hover);border-radius:10px;padding:2px 8px;font-size:.714rem}.cloud-connection-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.cloud-connection-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:16px}.cloud-connection-card h4{margin:8px 0 4px;font-size:.929rem;font-weight:600}.sync-log{color:var(--text-secondary);max-height:120px;margin-top:12px;font-size:.786rem;overflow-y:auto}.sync-log-item{border-bottom:1px solid var(--border-light);padding:4px 0}.impact-chain{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.impact-node{border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);border:1px solid #fecdd3;padding:8px 12px;font-size:.786rem;font-weight:500}.impact-arrow{color:var(--text-tertiary)}.form-step-label{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:.714rem;font-weight:600}.provider-picker{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.provider-option{border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;padding:20px;transition:border-color .15s}.provider-option:hover,.provider-option.selected{border-color:var(--primary);background:var(--primary-light)}.provider-option .logo{margin-bottom:8px;font-size:1.714rem}.provider-option span{font-size:.857rem;font-weight:600}.discover-preview{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius);max-height:200px;margin-top:12px;padding:12px;font-size:.857rem;overflow-y:auto}.discover-item{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:8px 0;display:flex}.discover-item:last-child{border-bottom:none}.page-body{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-footer{border-top:1px solid #ffffff14;flex-shrink:0;padding:14px 20px}.sidebar-footer .version{color:#ffffff59;font-size:11px}.profile-dropdown-item:hover{background:var(--surface-hover)}body.sidebar-pinned .main-area,.sidebar.sidebar-fixed~.main-area{margin-left:var(--sidebar-expanded)}.ticket-detail-page{width:100%;min-width:0}.ticket-detail-header .ticket-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ticket-header-main{flex:1;min-width:0}.ticket-header-title{word-break:break-word;margin:8px 0 12px;font-size:1.286rem;font-weight:600;line-height:1.35}.ticket-header-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ticket-header-meta{color:var(--text-secondary);flex-wrap:wrap;gap:16px 24px;font-size:.857rem;display:flex}.ticket-header-meta label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:2px;font-size:.714rem;display:block}.ticket-header-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.ticket-header-stepper{-webkit-overflow-scrolling:touch;margin-top:18px;overflow-x:auto}.ticket-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.ticket-info-grid .meta-item span{word-break:break-word}.ticket-properties-list{flex-direction:column;gap:14px;display:flex}.ticket-properties-list .meta-item span{word-break:break-word}.ticket-properties-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;display:grid}.ticket-properties-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-properties-card .meta-item label{letter-spacing:.06em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:6px;font-size:.714rem;font-weight:500}.ticket-properties-card .meta-item span{color:var(--text-primary);word-break:break-word;font-size:.929rem;font-weight:500}.ticket-properties-card .meta-item .sla-breach{color:var(--danger);font-weight:700;font-family:var(--font-ui);letter-spacing:.02em}.ticket-properties-card .meta-item .sla-ok{color:var(--success);font-weight:700;font-family:var(--font-ui)}.ticket-properties-card .meta-item .ticket-on-call{color:var(--text-tertiary);margin-left:4px;font-weight:400}.ticket-properties-edit{flex-direction:column;gap:16px;display:flex}.ticket-properties-edit .form-field label{margin-bottom:6px}.ticket-properties-edit .req-mark{color:var(--danger)}.ticket-properties-alert{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);padding:10px 12px;font-size:.857rem;line-height:1.4}.ticket-properties-edit-actions{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;padding-top:4px;display:flex}.ticket-description-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.929rem;line-height:1.7}.ticket-description-empty{color:var(--text-tertiary);margin:0;font-size:.857rem;font-style:italic}.ticket-resolution-block{border-top:1px solid var(--border-light);margin-top:16px;padding-top:16px}.ticket-attachment-list{flex-direction:column;gap:10px;list-style:none;display:flex}.ticket-attachment-item{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface-hover);align-items:flex-start;gap:12px;padding:12px;display:flex}.ticket-attachment-ext{background:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.643rem;font-weight:700;display:flex}.ticket-attachment-body{flex:1;min-width:0}.ticket-attachment-name{color:var(--primary);word-break:break-word;font-size:.857rem;font-weight:600;text-decoration:none;display:block}a.ticket-attachment-name:hover{text-decoration:underline}.ticket-attachment-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:6px;margin-top:4px;font-size:.786rem;display:flex}.ticket-attachment-thumb{border:1px solid var(--border-light);background:var(--bg);border-radius:8px;flex-shrink:0;width:56px;height:56px;display:block;overflow:hidden}.ticket-attachment-thumb img{object-fit:cover;width:100%;height:100%;display:block}.fulfillment-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fulfillment-steps li{color:var(--text-primary);align-items:center;gap:8px;font-size:.857rem;display:flex}.fulfillment-steps li.done{color:var(--text-secondary)}.fulfillment-check{text-align:center;width:18px;color:var(--primary);font-weight:700}.fulfillment-steps.edit li{border-bottom:1px solid var(--border-light);justify-content:space-between;gap:12px;padding:8px 0}.fulfillment-step-row{align-items:center;gap:8px;min-width:0;display:flex}.ticket-section-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.857rem;display:flex}.ticket-success-banner{background:var(--success-bg,#e8f7ef);color:var(--success,#1b7a45);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px;font-size:.857rem}.ticket-activity-log .activity-item{align-items:flex-start;gap:16px;padding:16px 0}.ticket-activity-log .activity-avatar{width:36px;height:36px;color:var(--primary);background:var(--primary-light);font-size:.75rem;font-weight:700}.ticket-activity-narrative{color:var(--text-primary);margin:0;font-size:.929rem;line-height:1.5}.ticket-activity-narrative strong{color:var(--text-primary);font-weight:700}.ticket-activity-narrative em{font-style:italic;font-weight:500}.ticket-activity-log .activity-body .time{color:var(--text-tertiary);margin-top:6px;font-size:.786rem}.ticket-comments-list{flex-direction:column;gap:14px;margin:0 0 8px;padding:0;list-style:none;display:flex}.ticket-comment-item{align-items:flex-start;gap:12px;display:flex}.ticket-comment-content{flex:1;min-width:0}.ticket-comment-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:.857rem;display:flex}.ticket-comment-meta .time{color:var(--text-tertiary);font-size:.786rem}.ticket-comment-text{white-space:pre-wrap;word-break:break-word;color:var(--text-primary);margin:0;font-size:.929rem;line-height:1.5}.ticket-comment-composer{border-top:1px solid var(--border-light);margin-top:18px;padding-top:16px}.ticket-comment-composer-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.ticket-comment-visibility-field{flex:0 200px;min-width:160px;margin-bottom:0}.skeleton-line{background:linear-gradient(90deg,var(--surface-hover) 25%,var(--border-light) 50%,var(--surface-hover) 75%);background-size:200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite ticket-skeleton}.skeleton-chip{background:var(--surface-hover);border-radius:999px;width:72px;height:24px}@keyframes ticket-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=700px){.ticket-info-grid,.ticket-properties-grid{grid-template-columns:1fr}.ticket-header-title{font-size:1.143rem}.ticket-header-actions{width:100%}.ticket-header-actions .btn-primary,.ticket-header-actions .btn-outline,.ticket-header-actions a.btn-outline{text-align:center;flex:1;justify-content:center}.ticket-comment-composer-actions{flex-direction:column;align-items:stretch}.ticket-comment-composer-actions .btn-primary{width:100%}}#root{width:100%;min-height:100vh}:root{--bg:var(--canvas);--white:var(--surface);--text:var(--text-primary);--text-muted:var(--text-secondary);--secondary:var(--text-primary);--accent:var(--primary);--accent-hover:var(--primary-hover);--hover-bg:var(--surface-hover);--surface-muted:var(--surface-hover);--font:var(--font-ui)}button{cursor:pointer;font-family:var(--font-ui)}input,select,textarea{font-family:var(--font-ui)}img{display:block}ul{list-style:none}.btn{border-radius:var(--radius);white-space:nowrap;font-size:.857rem;font-weight:500;font-family:var(--font-ui);border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary,.btn-outline{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover,.btn-outline:hover{background:var(--surface-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:5px 10px;font-size:.786rem}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{white-space:nowrap;border-radius:12px;align-items:center;padding:3px 10px;font-size:.714rem;font-weight:600;display:inline-flex}.badge-P1,.badge-Critical,.badge-Urgent,.badge-Active,.badge-Failed,.badge-Rejected,.badge-NonCompliant,.badge-Production{background:var(--danger-bg);color:var(--danger)}.badge-P2,.badge-High,.badge-Investigating,.badge-InProgress,.badge-Pending,.badge-Drift,.badge-Staging,.badge-Scheduled{background:var(--warning-bg);color:#b45309}.badge-P3,.badge-Medium,.badge-Open,.badge-Planned,.badge-Dev,.badge-Informational{background:var(--info-bg);color:var(--info)}.badge-P4,.badge-Low,.badge-Resolved,.badge-Closed,.badge-Approved,.badge-Implemented,.badge-Compliant,.badge-Success,.badge-Published,.badge-Completed{background:var(--success-bg);color:var(--success)}.badge-Cancelled,.badge-Draft,.badge-Archived{background:var(--border-light);color:var(--text-secondary)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-warning{background:var(--warning-bg);color:#b45309}.badge-danger{background:var(--danger-bg);color:var(--danger)}.form-control{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);background:var(--surface);outline:none;padding:10px 12px;font-size:.857rem}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:.786rem;font-weight:600;display:block}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.modal-overlay{z-index:1000;background:#12344d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.modal-lg{max-width:760px}.modal-xl{max-width:960px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h2,.modal-header h3{font-size:1rem;font-weight:600}.modal-close{color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px}.modal-close:hover{background:var(--surface-hover);color:var(--danger)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.filters-bar{border-bottom:1px solid var(--border);background:var(--surface-hover);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.filters-bar select,.filters-bar input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);padding:7px 10px;font-size:.857rem}.table-wrapper{overflow-x:auto}.pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;font-size:.857rem;display:flex}.pagination-info{color:var(--text-secondary);margin-right:auto}.page-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;display:flex}.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn:disabled{opacity:.4;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-secondary);padding:48px 24px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.7s linear infinite spin}.loading-center{justify-content:center;align-items:center;padding:48px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.text-muted{color:var(--text-secondary)}.text-sm{font-size:.786rem}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.bold{font-weight:600}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mb-4{margin-bottom:16px}.mt-4{margin-top:16px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.drawer-layout{display:flex}.drawer-layout .page-content{flex:1;min-width:0}.dark-mode .data-table tbody tr:hover{background:var(--surface-hover)}.dark-mode .kpi-card.alert{background:#3b1c1f;border-color:#5c2a2e}.kb-article-content{color:var(--text-primary);line-height:1.6}.kb-article-content h1,.kb-article-content h2,.kb-article-content h3{margin:1em 0 .5em;font-weight:600}.kb-article-content p{margin:0 0 .75em}.kb-article-content ul,.kb-article-content ol{margin:0 0 .75em;padding-left:1.5em}.kb-article-content ul{list-style:outside}.kb-article-content ol{list-style:decimal}.kb-article-content blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin:0 0 .75em;padding-left:12px}.kb-article-content pre{background:var(--surface-hover);border-radius:var(--radius);margin:0 0 .75em;padding:12px;overflow-x:auto}.form-card .ql-container{min-height:200px;font-family:var(--font-ui)}.form-card .ql-editor{min-height:200px}.form-card .ql-toolbar{border-color:var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface)}.form-card .ql-container{border-color:var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--surface)}.quill-editor-host .ql-toolbar{border-color:var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface)}.quill-editor-host .ql-container{border-color:var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);min-height:200px;font-family:var(--font-ui)}.quill-editor-host .ql-editor{min-height:200px}
