@charset "UTF-8";.login form{border-radius:25px;border:2px solid #000000;background:linear-gradient(120deg,#ffed7c,#fef7c8);width:40vw;height:45rem;box-sizing:border-box;padding:2rem;display:grid;grid-template-columns:1fr;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;cursor:pointer;grid-row-gap:0}.login form div{display:block;text-align:center}.login form button{width:15vw;margin:auto}.login form span{padding:.5rem}.login input[type=text]{width:20vw;padding:12px 20px;margin:auto;display:inline-block;border:2px solid #000000;border-radius:4px;box-sizing:border-box}.login input[type=password]{-webkit-text-security:disc;width:20vw;padding:12px 20px;margin:auto;display:inline-block;border:2px solid #000000;border-radius:4px;box-sizing:border-box}.login button[type=submit]{width:10vw;background-color:#5d2e85;border:2px solid #000000;color:#fff;padding:14px 20px;border-radius:4px;cursor:pointer}.login .logo-title{display:flex;margin:auto}.login .logo-title img{padding:.5rem}.signup form{height:50rem}.form-error{color:red}.lds-ring{display:inline-block;position:relative;width:25px;height:25px}.lds-ring div{box-sizing:border-box;display:block;position:absolute;width:25px;height:25px;border:8px solid #fff;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#bfbfbf transparent transparent transparent}.lds-ring div:nth-child(1){animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}form{text-align:left}form select{background-color:#eee;border-radius:10px;border-style:none;padding:1rem;font-family:Lato,"sans-serif";font-size:110%;border-right:16px solid transparent}form input{background-color:#eee;border-radius:10px;border-style:none;border-width:1px;box-sizing:border-box;padding:1rem;font-size:110%;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px}form label{font-family:Lato,sans-serif;display:block;text-transform:uppercase;margin-bottom:5px;font-size:90%;font-weight:600}form .NodeCreationInput{margin:.5rem 0;display:inline-grid;width:35%;padding:0 20px}form .CubeCreationInput{margin:.5rem 0;display:inline-grid;width:75%;padding:0 20px}form .DisplayNameInput span,form .FullNameInput span,form .NamespaceInput span{color:red}form .DisplayNameInput,form .FullNameInput,form .NamespaceInput{display:inline-grid;box-sizing:border-box;flex-wrap:nowrap;margin:1rem 0}form .DisplayNameInput{width:45%}form .FullNameInput{width:100%}form .FullNameInput input{width:75%;color:#275c86}form .NamespaceInput{padding:0 20px;width:30%}form .NamespaceInput div:first-child{flex:1 0 auto}form .NamespaceInput input{width:35%;border:0;font-family:Lato,sans-serif;padding:5px 0;font-size:18px;font-weight:300;outline:none}form .SelectInput{background-color:#eee;border-radius:10px;border-style:none!important;border-color:transparent;box-sizing:border-box;padding:.5rem;font-size:110%;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px}form .SelectInput div{border:none;background:transparent}form .SelectInput div:first-child{background-color:#eee!important;border:none;color:#0c4128}form .SelectInput div:last-child div{border:none;background-color:#efefef}form .MultiSelectInput{background-color:#eee;border-radius:10px;border-style:none;border-color:transparent;box-sizing:border-box;padding:.5rem 0;font-size:110%;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px}form .MultiSelectInput div{border:none;background-color:#fff}form .MultiSelectInput div:last-child div{border:none;background-color:#efefef}form .MultiSelectInput div:last-child input{box-shadow:none}form .MultiSelectInput div div{border:none;background-color:#efefef}form .MultiSelectInput div div div,form .MultiSelectInput div div div:last-child{border:none;background-color:#fff;border-radius:.4rem;padding:.2em}form .MultiSelectInput div div div:last-child{background-color:#efefef}form .MultiSelectInput div div div div:last-child{border:none;background-color:#fff}form .SelectInput div:first-child{border:none;color:#0c4128}form .DescriptionInput{width:100%}form .DescriptionInput textarea{width:75%;background-color:#eee;border-radius:10px;border-style:none;border-width:1px;box-sizing:border-box;padding:1rem;font-family:Lato,Sans;font-size:110%;margin:.5rem 0;height:100px}form .QueryInput{width:75%;max-width:75%;overflow:hidden}form .QueryInput .cm-editor{max-width:100%!important;width:100%!important}form .QueryInput .cm-scroller{max-width:100%!important}form .QueryInput .cm-content{max-width:100%!important;white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important}form .QueryInput .cm-line{word-break:break-word!important;overflow-wrap:anywhere!important}form .query-validation-errors{margin:4px 0 12px;display:flex;flex-direction:column;gap:4px}form .query-validation-error{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;background:#fdecea;border:1px solid #f5c2c0;border-radius:4px;color:#8a1f11;font-size:.9em}form .query-validation-error-code{font-family:monospace;font-weight:600;flex-shrink:0}form .query-validation-error-message{white-space:pre-wrap;word-break:break-word}form .MetricQueryInput{height:200px}form .NodeModeInput select{background-color:#eee;border-radius:10px;padding:1rem;font-family:Lato,Sans;font-size:110%}form .FullNameField{background-color:#fff;box-shadow:none;color:#7c7c7c}form button{display:block;border-radius:10px;border-style:none;padding:1rem;margin:.5rem 20px;text-transform:uppercase;font-family:Lato,Sans;font-weight:600;font-size:110%;background-size:200% auto;background-color:#ffd559;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px}.message{padding:20px;opacity:1;margin-bottom:15px;border-radius:.5rem;line-height:1.25rem;font-size:1.2rem}.message svg{margin-right:.3rem;height:1.5rem}.success{background-color:#f5fdf2;color:#356e23}.success svg{filter:invert(34%) sepia(86%) saturate(465%) hue-rotate(60deg) brightness(82%) contrast(80%)}.alert{background-color:#fdf2f2;color:#9b1c1c}.alert svg{filter:invert(16%) sepia(68%) saturate(2827%) hue-rotate(344deg) brightness(96%) contrast(100%)}.warning{background-color:#fdf8f2;color:#be6925}.warning svg{filter:invert(16%) sepia(68%) saturate(2827%) hue-rotate(344deg) brightness(96%) contrast(100%)}.SourceCreationInput{margin:.5rem 0;display:inline-grid;width:20%;padding:0 20px}.HighlightPath{background:#f5efff;padding:5px}.dj-node-chip{border-radius:4px!important;padding:0 5px!important;margin:0 1px;border:none;font-size:.95em}.dj-node-chip--source{background:#d6f6e8!important;color:#008a55!important}.dj-node-chip--dimension{background:#fbeacc!important;color:#8f5418!important}.dj-node-chip--metric{background:#f8dde2!important;color:#8c1f33!important}.dj-node-chip--transform{background:#d4ecff!important;color:#0058a3!important}.dj-node-chip--cube{background:#ead0fb!important;color:#4f0671!important}.dj-node-chip--node{background:#ececec!important;color:#4b5563!important}.dj-node-chip--registering{animation:dj-node-chip-pulse 1.2s ease-in-out infinite}.dj-node-chip--warning{text-decoration:underline wavy #b97f00!important;text-decoration-thickness:1px!important;text-underline-offset:2px}.dj-node-chip--invalid{text-decoration:underline wavy #cc2222!important;text-decoration-thickness:1px!important;text-underline-offset:2px}@keyframes dj-node-chip-pulse{0%,to{opacity:1}50%{opacity:.5}}.dj-node-tooltip{font-family:Lato,sans-serif;font-size:12px;color:#27303d;width:340px}.dj-node-tooltip>*+*{border-top:1px solid #eef0f3}.dj-node-tooltip>*:first-child,.dj-node-tooltip>*:last-child{border:none}.dj-node-tooltip__header{display:flex;align-items:center;gap:6px;padding:8px 10px}.dj-node-tooltip__header .dj-node-chip{font-size:11px!important;text-transform:lowercase}.dj-node-tooltip__name{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:600;color:#1f2937;word-break:break-all;flex:1 1 auto;min-width:0}.dj-node-tooltip__note{padding:8px 10px;color:#6b7280;font-style:italic}.dj-node-tooltip__grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:8px 10px}.dj-node-tooltip__cell{display:flex;flex-direction:column;gap:1px;min-width:0}.dj-node-tooltip__label{color:#6b7280;text-transform:uppercase;font-size:9px;letter-spacing:.05em;line-height:1.2}.dj-node-tooltip__value{color:#1f2937;font-size:12px;font-weight:500}.dj-node-tooltip__description{padding:8px 10px;color:#4b5563;line-height:1.4;white-space:pre-wrap}.dj-node-tooltip__columns{max-height:220px;overflow-y:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.dj-node-tooltip__columns::-webkit-scrollbar{width:6px}.dj-node-tooltip__columns::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.dj-node-tooltip__col-row{display:flex;align-items:baseline;gap:6px;padding:2px 10px;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:11px}.dj-node-tooltip__col-row:hover{background:#f4f6f9}.dj-node-tooltip__col-name{color:#1f2937;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dj-node-tooltip__col-tag{font-family:Lato,sans-serif;font-size:9px;letter-spacing:.04em;text-transform:uppercase;background:#ead0fb;color:#4f0671;padding:0 4px;border-radius:3px;align-self:center;flex:0 0 auto}.dj-node-tooltip__col-type{color:#6b7280;flex:0 0 auto;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dj-node-tooltip__footer{padding:6px 10px;text-align:right}.dj-node-tooltip__footer a{color:#2563eb;font-weight:500;text-decoration:none;font-size:11px}.dj-node-tooltip__footer a:hover{text-decoration:underline}.nav-search-box{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--planner-bg, #f8fafc);border:1px solid var(--planner-border, #e2e8f0);border-radius:6px;height:32px;cursor:text;transition:border-color .15s;position:relative}.nav-search-box:focus-within{border-color:var(--accent-primary, #3b82f6)}.nav-search-box input{flex:1;min-width:160px;border:none;background:transparent;outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:12px;color:var(--planner-text, #1e293b);padding:2px 0}.nav-search-box input::placeholder{color:var(--planner-text-dim, #94a3b8)}.search-results{position:absolute;z-index:1000;width:75%;background-color:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a}.search-result-item{padding:.5rem;color:var(--planner-text, #1e293b);font-size:12px}.search-result-item:hover{background-color:var(--planner-surface-hover, #f1f5f9)}.nav-right{display:flex;align-items:center;gap:.5rem}.nav-icon-button{width:36px;height:36px;border-radius:50%;background-color:transparent;border:1px solid #e0e0e0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease-in-out,border-color .15s ease-in-out;color:#666}.nav-icon-button:hover{background-color:#f5f5f5;border-color:#ccc}.nav-icon-button svg{width:18px;height:18px;fill:currentColor}.avatar-button{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease-in-out,box-shadow .15s ease-in-out}.avatar-button:hover{transform:scale(1.05);box-shadow:0 2px 8px #667eea66}.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:100%;right:0;left:auto;min-width:200px;margin-top:.5rem;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;background:#fff;z-index:1000}.nav-dropdown-menu .dropdown-header{padding:.75rem 1rem .5rem;font-size:13px;font-weight:600;color:#333}.nav-dropdown-menu .dropdown-item{display:block;padding:.5rem 1rem;font-size:14px;color:#444;text-decoration:none;cursor:pointer}.nav-dropdown-menu .dropdown-item:hover{background-color:#f5f5f5;text-decoration:none}.nav-dropdown-menu .dropdown-divider{margin:.25rem 0;border:none;border-top:1px solid #e0e0e0}.nav-dropdown-menu .text-muted{color:#999!important;font-size:13px;cursor:default}.nav-dropdown-menu .text-muted:hover{background-color:transparent}.nav-icon-button{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;color:#fff;background-color:#ef4444;border-radius:9px;display:flex;align-items:center;justify-content:center}.notifications-menu{min-width:340px;max-width:600px;padding:0}.notifications-menu .dropdown-header{padding:.5rem .75rem;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.notifications-menu .dropdown-header .header-left{display:flex;align-items:center;gap:.35rem}.notifications-menu .dropdown-header .header-left svg{width:12px;height:12px;fill:none;stroke:#888;stroke-width:1.5}.notifications-menu .dropdown-header .header-settings{display:flex;align-items:center;padding:2px;border-radius:4px;color:#aaa;transition:color .15s,background-color .15s}.notifications-menu .dropdown-header .header-settings:hover{color:#666;background-color:#f0f0f0}.notifications-menu .dropdown-header .header-settings svg{width:14px;height:14px;fill:currentColor}.notification-group{margin-bottom:1.5rem}.card-body{margin:0 2.5rem}.notification-item{display:flex;flex-direction:column;padding:.5rem .75rem;text-decoration:none;border-bottom:1px solid #f5f5f5;gap:2px}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:#f8f9fa;text-decoration:none}.notification-node{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.25rem}.notification-title{font-size:15px;color:#333;font-weight:500;display:flex;align-items:center;gap:.4rem}.notification-entity{font-size:13px}.notification-title .badge.version{font-size:10px;padding:3px 5px 2px 4px;background-color:transparent;color:#888;border:1px solid #ccc;font-weight:500}.notification-meta{font-size:13px;color:#999;display:block;align-items:center;gap:.35rem}.notification-meta .badge.node_type{font-size:9px;padding:4px;margin-right:2px}.notifications-menu .dropdown-divider{margin:0}.notifications-menu .view-all{display:block;padding:.5rem .75rem;font-size:12px;color:#667eea;text-align:center;text-decoration:none}.notifications-menu .view-all:hover{background-color:#f8f9fa}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.preagg-container{padding:10px 0}.preagg-section{margin-bottom:30px}.preagg-two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.preagg-stack{display:flex;flex-direction:column;gap:1.5em}.preagg-section-header{display:flex;align-items:center;margin-bottom:16px;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.preagg-section-header--stale{border-bottom-color:#fcd34d;justify-content:space-between}.preagg-section-title{margin:0;font-size:16px;font-weight:600;color:#374151}.preagg-section-title--stale{color:#92400e}.preagg-section-count{margin-left:12px;font-size:13px;color:#6b7280}.preagg-section-count--stale{color:#b45309}.preagg-row{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;background-color:#fff}.preagg-row--stale{background-color:#fffbeb}.preagg-row-header{display:flex;align-items:center;padding:12px 16px;cursor:pointer;gap:12px}.preagg-row-toggle{font-size:14px;color:#666}.preagg-row-hash{background-color:#f3e8ff;padding:2px 8px;border-radius:4px;color:#7c3aed;font-size:11px;font-weight:600;font-family:monospace;letter-spacing:.05em}.preagg-row-grain-chips{display:flex;align-items:center;gap:6px;min-width:180px}.preagg-grain-chip{padding:2px 8px;background-color:#f1f5f9;border-radius:4px;color:#475569;font-size:12px;font-weight:500;font-family:monospace}.preagg-grain-chip--more{background-color:#e2e8f0;color:#64748b}.preagg-row-measures{font-size:12px;color:#563a12;background:#fff6e9;border-radius:8px;padding:2px 8px}.preagg-row-schedule{font-size:12px;color:#888}.preagg-row-version{font-size:12px;color:#b45309;font-style:italic}.preagg-details{padding:20px;border-top:1px solid #e0e0e0;background-color:#f8fafc}.preagg-details--stale{background-color:#fefce8}.preagg-stale-banner{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:13px;display:flex;align-items:center;gap:10px}.preagg-stale-banner-icon{font-size:18px}.preagg-stale-banner-text{color:#78350f}.preagg-card{background-color:#fff;border-radius:8px;padding:16px;height:fit-content;box-sizing:border-box}.preagg-card--compact{padding:12px 16px}.preagg-card-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.preagg-card-label--with-info{display:flex;align-items:center;gap:6px}.preagg-config-table{font-size:13px;border-collapse:collapse;width:100%}.preagg-config-key{padding:4px 12px 4px 0;color:#64748b;font-weight:500;white-space:nowrap;width:100px}.preagg-config-value{padding:4px 0;color:#1e293b}.preagg-config-value code{font-size:12px;background-color:#f1f5f9;padding:2px 6px;border-radius:4px}.preagg-config-schedule-cron{margin-left:6px;font-size:11px;color:#94a3b8;font-family:monospace}.preagg-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid #e2e8f0}.preagg-action-btn{display:inline-flex;align-items:center;padding:5px 10px;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:12px;font-weight:500;text-decoration:none;cursor:pointer}.preagg-action-btn:hover{background-color:#f8fafc;text-decoration:none}.preagg-action-btn--danger{border-color:#fecaca;color:#dc2626}.preagg-action-btn--danger:hover{background-color:#fef2f2}.preagg-action-btn--danger-fill{background-color:#fee2e2;border-color:#fca5a5;color:#991b1b}.preagg-action-btn:disabled{cursor:not-allowed;opacity:.7}.preagg-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;text-decoration:none;display:inline-block}.preagg-status-badge{padding:2px 8px;border-radius:12px;font-size:12px}.preagg-status-badge--active{background-color:#dcfce7;color:#166534}.preagg-status-badge--paused{background-color:#fef3c7;color:#92400e}.preagg-status-badge--pending{background-color:#f3f4f6;color:#6b7280}.preagg-metric-count-badge{font-size:12px;color:#be123c;background-color:#fff1f2;padding:2px 8px;border-radius:12px}.preagg-grain-badge,.preagg-grain-badge:hover{padding:4px 10px;background-color:#f1f5f9;border-radius:4px;color:#1e40af;font-size:12px;font-weight:500;text-decoration:none;font-family:monospace}.preagg-grain-badge:hover{background-color:#e2e8f0;text-decoration:none}.preagg-agg-badge{background-color:#dbeafe;padding:4px 10px;border-radius:4px;color:#1e40af;font-size:12px;font-weight:500}.preagg-merge-badge{background-color:#dcfce7;padding:4px 10px;border-radius:4px;color:#166534;font-size:12px;font-weight:500}.preagg-rule-badge{color:#475569;background-color:#f1f5f9;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.preagg-hash-badge{background-color:#f3e8ff;padding:4px 10px;border-radius:4px;color:#7c3aed;font-size:12px;font-weight:500;font-family:monospace;letter-spacing:.05em;-webkit-user-select:all;user-select:all;cursor:text}.preagg-metric-badge{font-size:11px;color:#be123c;background-color:#fff1f2;padding:3px 8px;border-radius:4px;text-decoration:none;border:1px solid #fecdd3;font-weight:500}.preagg-metric-badge:hover{background-color:#ffe4e6;text-decoration:none}.preagg-expand-btn{padding:4px 10px;background-color:#f1f5f9;border-radius:4px;color:#64748b;font-size:12px;font-weight:500;border:none;cursor:pointer}.preagg-expand-btn:hover{background-color:#e2e8f0}.preagg-grain-list{display:flex;flex-wrap:wrap;gap:8px}.preagg-measures-table{width:100%;font-size:13px;border-collapse:collapse}.preagg-measures-table thead{background-color:#fafafa;border-bottom:1px solid #e2e8f0}.preagg-measures-table th{padding:10px 16px;text-align:left;font-weight:500;color:#64748b;font-size:12px}.preagg-measures-table td{padding:12px 16px}.preagg-measures-table tbody tr{border-bottom:1px solid #f1f5f9}.preagg-measures-table tbody tr:last-child{border-bottom:none}.preagg-measure-name{font-weight:500;color:#1e293b;font-family:monospace;font-size:12px}.preagg-metrics-list{display:flex;flex-wrap:wrap;gap:6px}.preagg-info-icon{cursor:help;color:#94a3b8;font-weight:400;margin-left:4px}.preagg-empty{padding:16px;background-color:#f9fafb;border-radius:8px;color:#6b7280;font-size:14px}.preagg-loading{padding:20px;text-align:center;color:#666}.preagg-error{padding:20px;margin:20px 0}.preagg-no-data{padding:20px}.preagg-no-data-alert{margin-bottom:20px;padding:16px}.preagg-no-data-text{font-size:14px;color:#666}.preagg-section-header-left{display:flex;align-items:center}.preagg-card--table{padding:0;overflow:hidden}.react-flow__node-custom{font-size:1.2em;width:180px;background:#f5f5f6;color:#222;box-shadow:0 4px 6px -1px #00000026,0 2px 4px -1px #00000014;border-radius:2px}.react-flow{width:100%;height:800px;overflow:hidden;position:relative;z-index:0}.react-flow__node-custom .react-flow__handle{top:24px;right:-15px;width:6px;height:10px;border-radius:2px;background-color:#789}.react-flow__node.circle{border-radius:50%;width:60px;height:60px;display:flex;justify-content:center;align-items:center;font-weight:700}.react-flow__node.annotation{border-radius:0;text-align:left;background:#fff;border:none;line-height:1.4;width:225px;box-shadow:0 4px 6px -1px #00000026,0 2px 4px -1px #00000014}.react-flow__node.annotation .react-flow__handle{display:none}.dj-node__header,.partition__header,.table__header{font-weight:400;text-transform:uppercase;font-family:jetbrains-mono,monospace;font-size:1.5em;padding-inline-start:.5rem;padding-inline-end:.5rem;padding-left:.75em;padding-top:.35rem;padding-bottom:.35rem;border-bottom-width:1px;border-bottom-style:solid;border-color:#c4cbd1}.dj-node__body,.partition__body,.table__body{background-color:#fefefe;padding:.5em .7em .9em;font-family:nt-dapper,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1.7em;border-radius:0 0 8px 8px}.dj-node_highlight{border:10px solid #cccccc!important}.react-flow__node{z-index:-1!important}.react-flow__node-DJNode,.dj-node__full,.partition__full,.table__full{display:flex;flex-direction:column;border-width:1px;border-style:solid;border-image:initial;border-color:#b0b9c2;border-radius:8px;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px}.partition__full:hover{border:solid #195039 .025em}.partition__header,.partition__body,.partition__full,.table__body,.table__header{font-size:1em;font-family:nt-dapper,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.partition__full,.table__full{margin-bottom:1rem;border-color:#e0e0e0}.partition__header,.table__header{background-color:#ccefff50;color:#6daaa7;text-transform:none;border-bottom-style:none}.partition_value{background-color:#ccefff50;color:#6daaa7;border:1px solid #6daaa750}.table__header{background-color:#e3ffcc4f;color:#0aa400}.table__body{padding:16px}.dj-node__metadata{padding:1em;font-family:nt-dapper,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1em}.collapse-button{display:block;width:100%;font:.8em Montserrat,Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;border:none;margin-top:.2em;padding:.35em}.collapse{padding-top:10px}.collapse-content.collapsed{display:none}.collapsed-content.expanded{display:block}.collapse tr td{padding-left:5px;padding-bottom:5px}.serif{font-family:jetbrains-mono,monospace;text-transform:lowercase}.react-flow__handle-left{transform:translate(-180%,-50%)}.custom-node-subheader{--bs-badge-padding-x: .4em;--bs-badge-padding-y: .3em;--bs-badge-font-size: 18px;--bs-badge-font-weight: 400;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:flex;flex-direction:column;flex-grow:1;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);margin:.55rem;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius);position:relative;justify-content:flex-start}.custom-node-port{color:#636776;font-size:23px;text-align:center}.custom-node-emphasis{border:2px dashed #636776}.white_badge{background-color:#fff!important;display:inline-block;margin:.7rem .3rem .3rem;color:#636776}.dimension_attributes{max-width:500px;display:inline-flex;flex-wrap:wrap;justify-content:center}table{width:100%;height:min-content}.dj-ns-group-heading{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;border-top:1px solid #eef2f6;cursor:pointer;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;margin:6px 0 2px;padding:10px 2px 4px}.dj-ns-group-heading:hover{color:#64748b}.dj-ns-chevron{display:inline-flex;align-items:center;width:14px;min-width:14px;flex-shrink:0}.dj-ns-group-label{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dj-ns-group-count{margin-left:auto;padding-left:6px;color:#cbd5e1;flex-shrink:0}.dj-ns-nav-item{display:flex;align-items:center;width:100%;background:none;border:none;text-align:left;padding:8px 8px 8px 20px;font-size:15px;line-height:1.4;color:#334155;cursor:pointer;border-radius:4px}.dj-ns-nav-item:hover{background:#f1f5f9;color:#0f172a}.dj-ns-nav-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dj-ns-filter{position:relative;margin-bottom:6px}.dj-ns-filter-input{width:100%;box-sizing:border-box;padding:9px 52px 9px 11px;font-size:14px;border:1px solid #cbd5e1;border-radius:6px}.dj-ns-filter-pin,.dj-ns-filter-clear{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;padding:0 4px;line-height:1;cursor:pointer}.dj-ns-filter-clear{right:8px;font-size:13px;color:#94a3b8}.dj-ns-filter-clear:hover{color:#475569}.dj-ns-filter-pin{right:30px;font-size:15px;color:#cbd5e1}.dj-ns-filter-pin:hover{color:#94a3b8}.dj-ns-filter-pin.pinned{color:#f59e0b}.dj-ns-scope-branch-row{position:relative;display:inline-flex;align-items:center;gap:5px;max-width:100%;margin:2px 0 8px;padding:2px 4px 2px 12px;cursor:pointer}.dj-ns-branch-glyph{color:#94a3b8;flex-shrink:0}.dj-ns-branch-value{font-size:14px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dj-ns-branch-caret{color:#64748b;flex-shrink:0}.dj-ns-scope-branch-row:hover .dj-ns-branch-value,.dj-ns-scope-branch-row:hover .dj-ns-branch-glyph,.dj-ns-scope-branch-row:hover .dj-ns-branch-caret{color:#2563eb}.dj-ns-branch-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;border:none;opacity:0;cursor:pointer}.dj-ns-star{margin-left:6px;padding:0 2px;background:none;border:none;cursor:pointer;font-size:15px;line-height:1;color:#cbd5e1;opacity:0;flex-shrink:0}.dj-ns-nav-item:hover .dj-ns-star{opacity:1}.dj-ns-star.pinned{opacity:1;color:#f59e0b}.dj-ns-type-summary{margin:2px 0 4px;padding:0 4px 8px;border-bottom:1px solid #eef2f6}.dj-ns-type-summary-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;margin:2px 0 4px}.dj-ns-type-row{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 6px 24px;border-radius:4px;text-decoration:none;color:#334155;font-size:14px}.dj-ns-type-row:hover{background:#f1f5f9}.dj-ns-type-name{text-transform:capitalize}.dj-ns-type-count{font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px;font-variant-numeric:tabular-nums}.dj-ns-tree-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;margin:8px 0 4px;padding:0 4px}.dj-node-search{width:100%;box-sizing:border-box;height:32px;padding:0 10px 0 28px;font-size:12px;border:1px solid #cccccc;border-radius:4px;background-color:#fff}.dj-node-search:focus{outline:none;border-color:#2684ff;box-shadow:0 0 0 1px #2684ff}.dj-node-search::placeholder{color:#94a3b8}.dj-ns-row-actions{position:absolute;right:4px;top:0;bottom:0;display:flex;align-items:center;gap:2px}.dj-ns-pin-indicator{color:#f59e0b;font-size:13px;line-height:1}.dj-ns-kebab{padding:2px 3px;border:none;background:transparent;cursor:pointer;color:#94a3b8;display:inline-flex;align-items:center;border-radius:4px;transition:opacity .15s ease}.dj-ns-kebab:hover{background:#e2e8f0;color:#475569}.dj-ns-row-menu{position:absolute;top:100%;right:0;z-index:30;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 6px 16px #0f172a24;padding:4px;min-width:170px}.dj-ns-row-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;padding:7px 10px;font-size:13px;color:#334155;cursor:pointer;border-radius:4px;white-space:nowrap}.dj-ns-row-menu-item:hover{background:#f1f5f9}.dj-ns-mi-icon{width:16px;min-width:16px;display:inline-flex;align-items:center;justify-content:center;color:#64748b;font-size:14px;line-height:1;flex-shrink:0}.dj-ns-mi-icon svg{width:14px;height:14px;fill:currentColor}.dj-ns-mi-icon.pinned{color:#f59e0b}.sortable{background:none;border:none;cursor:pointer;font-weight:700;font-family:inherit;color:inherit;text-transform:uppercase}.sortable.ascending:after{content:" ▲"}.sortable.descending:after{content:" ▼"}.settings-page{min-height:calc(100vh - 80px);background-color:#f8f9fa;padding:1.5rem 2rem}.settings-container{max-width:1000px;margin:0 auto}.settings-title{font-family:Raleway,system-ui;font-size:1.75rem;font-weight:600;color:#333;margin-bottom:2rem}.settings-section{margin-bottom:2rem}.settings-section-title{font-family:Jost,sans-serif;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#555;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.settings-card{background:#fff;border-radius:8px;padding:.4rem 1rem;box-shadow:0 1px 3px #00000014}.profile-info{display:flex;align-items:flex-start;gap:1.5rem;margin:1.5rem 0}.profile-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.25rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-details{flex:1}.profile-field{margin-bottom:1rem}.profile-field:last-child{margin-bottom:0}.profile-field label{display:block;font-family:Jost,sans-serif;font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.profile-field span{font-size:1rem;color:#333}.subscriptions-list{display:flex;flex-direction:column}.subscription-item{padding:1rem 0;border-bottom:1px solid #eee}.subscription-item:last-child{border-bottom:none}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.subscription-entity{display:flex;align-items:center;gap:.5rem}.subscription-entity a{color:#333;font-weight:500;text-decoration:none}.subscription-entity a:hover{color:#667eea}.entity-type-badge{font-size:10px;padding:2px 6px;background:#e8e8e8;color:#666;border-radius:3px;text-transform:uppercase}.subscription-actions{display:flex;gap:.5rem}.subscription-activity-types{display:flex;align-items:flex-start;gap:.75rem}.activity-types-label{font-family:Jost,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#888;min-width:100px}.activity-types-badges{display:flex;flex-wrap:wrap;gap:.35rem}.activity-badge{font-size:11px;padding:2px 8px;background:transparent;border:1px solid #ccc;color:#666;border-radius:3px}.activity-badge-create{border-color:#28a745;color:#28a745}.activity-badge-update{border-color:#0088fe;color:#0088fe}.activity-badge-delete{border-color:#dc3545;color:#dc3545}.activity-badge-status_change{border-color:#fd7e14;color:#fd7e14}.activity-badge-refresh{border-color:#6f42c1;color:#6f42c1}.activity-badge-tag{border-color:#6c757d;color:#6c757d}.activity-types-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:#444;cursor:pointer}.checkbox-label input[type=checkbox]{cursor:pointer}.btn-icon{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;background:transparent;border:none}.btn-icon svg{width:18px;height:18px}.btn-edit{color:#aaa;transition:color .15s ease,background-color .15s ease}.btn-edit:hover{color:#28a745;background-color:#e8f5e9}.btn-save{padding:.35rem .75rem;font-size:.8rem;color:#fff;background:#28a745;border:1px solid #28a745;border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-save:hover{background:#218838;border-color:#218838}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{padding:.35rem .75rem;font-size:.8rem;color:#666;background:transparent;border:1px solid #ccc;border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-cancel:hover{background:#f5f5f5}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-unsubscribe{color:#aaa;font-size:25px;font-weight:400;line-height:1;transition:color .15s ease,background-color .15s ease}.btn-unsubscribe:hover{color:#dc3545;background-color:#ffeaea}.text-muted{color:#999;font-style:italic}.status-badge{font-size:9px;padding:2px 5px;border-radius:3px;font-weight:600;text-transform:uppercase}.status-invalid{background-color:#ffeaea;color:#dc3545}.empty-state{color:#888;font-size:.95rem;text-align:center;padding:1rem 0}.section-description{color:#666;font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.credentials-banner{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #4caf50;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.credentials-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.credentials-header strong{color:#2e7d32}.btn-dismiss{background:none;border:none;font-size:1.25rem;color:#666;cursor:pointer;padding:0 .25rem}.btn-dismiss:hover{color:#333}.credentials-warning{color:#c62828;font-size:.85rem;font-weight:500;margin-bottom:1rem}.credentials-grid{display:grid;gap:.75rem}.credential-item{display:flex;flex-direction:column;gap:.25rem}.credential-item label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.credential-item code{background:#fff;padding:.5rem;border-radius:4px;font-family:Source Code Pro,monospace;font-size:.85rem;word-break:break-all}.credential-value{display:flex;align-items:center;gap:.5rem}.credential-value code{flex:1}.btn-copy{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.9rem}.btn-copy:hover{background:#f5f5f5}.create-service-account-form{display:flex;gap:.75rem;margin-bottom:1.5rem}.create-service-account-form input{flex:1;padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:Jost,sans-serif}.create-service-account-form input:focus{outline:none;border-color:#4caf50}.btn-create{background:#4caf50;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-family:Jost,sans-serif;cursor:pointer;white-space:nowrap}.btn-create:hover:not(:disabled){background:#43a047}.btn-create:disabled{background:#ccc;cursor:not-allowed}.service-accounts-list h4{font-size:.9rem;color:#666;margin-bottom:.75rem;font-weight:500}.service-accounts-table{width:100%;border-collapse:collapse;font-size:.9rem}.service-accounts-table th{text-align:left;padding:.5rem;border-bottom:2px solid #eee;color:#666;font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.service-accounts-table td{padding:.75rem .5rem;border-bottom:1px solid #eee}.service-accounts-table .client-id{background:#f5f5f5;padding:.25rem .5rem;border-radius:3px;font-size:.8rem}.service-accounts-table .created-date{color:#888;font-size:.85rem}.service-accounts-table .actions-cell{width:40px;text-align:right}.btn-delete-account{background:none;border:1px solid transparent;color:#999;cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;border-radius:4px;line-height:1;opacity:0;transition:all .15s ease}.service-accounts-table tr:hover .btn-delete-account{opacity:1}.btn-delete-account:hover{color:#dc3545;background:#dc35451a;border-color:#dc354533}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.section-title-row .settings-section-title{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-title-row .btn-create{padding:.375rem .75rem;font-size:.85rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:480px;box-shadow:0 4px 24px #00000026;animation:slideIn .15s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;font-family:Jost,sans-serif;color:#333}.btn-close-modal{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px}.btn-close-modal:hover{background:#f5f5f5;color:#333}.modal-body{padding:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:#333;margin-bottom:.5rem}.form-group input{width:100%;padding:.625rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:Jost,sans-serif;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.form-hint{display:block;font-size:.8rem;color:#888;margin-top:.375rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #eee;background:#fafafa;border-radius:0 0 8px 8px}.btn-secondary{background:#fff;color:#666;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-family:Jost,sans-serif;cursor:pointer}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.btn-primary{background:#4caf50;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-family:Jost,sans-serif;cursor:pointer}.btn-primary:hover:not(:disabled){background:#43a047}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.credentials-success{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.credentials-success .success-icon{width:24px;height:24px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.credentials-success h4{margin:0;font-size:1rem;color:#2e7d32}.modal-body .credentials-warning{background:#fff3e0;border:1px solid #ffb74d;border-radius:4px;padding:.75rem;margin-bottom:1rem;font-size:.85rem;color:#e65100}.modal-body .credentials-grid{background:#f9f9f9;border-radius:4px;padding:1rem}.modal-body .credential-item{margin-bottom:.75rem}.modal-body .credential-item:last-child{margin-bottom:0}.modal-body .credential-item code{background:#fff;border:1px solid #eee}.workspace-layout{display:flex;gap:1.5rem;align-items:stretch}.workspace-left-column{width:calc(65% - .75rem);display:flex;flex-direction:column;gap:1.5rem}.workspace-right-column{width:calc(35% - .75rem);display:flex;flex-direction:column;gap:1.5rem}.notification-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-color, #eee);fontsize:12px}.notification-link{font-size:13px;font-weight:500;text-decoration:none;flex-shrink:0}.notification-meta{color:#888;white-space:nowrap}.notifications-list{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.needs-attention-category{padding:.5rem .75rem;min-width:0}.needs-attention-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.needs-attention-label{font-size:11px;font-weight:600;color:#555}.needs-attention-count{margin-left:4px}.needs-attention-count--has-items{color:#dc3545}.needs-attention-count--no-items{color:#666}.needs-attention-view-all{font-size:10px}.needs-attention-chips{display:flex;gap:.3rem;overflow:hidden}.needs-attention-all-good{font-size:10px;color:#28a745}.needs-attention-categories{display:flex;flex-direction:column;width:100%;gap:.5rem}.personal-namespace-prompt{padding:.75rem;background-color:var(--card-bg, #f8f9fa);border:1px dashed var(--border-color, #dee2e6);border-radius:6px;text-align:center}.personal-namespace-icon{font-size:16px;margin-bottom:.25rem}.personal-namespace-title{font-size:11px;font-weight:500;margin-bottom:.25rem}.personal-namespace-description{font-size:10px;color:#666;margin-bottom:.5rem}.personal-namespace-code{background-color:#e9ecef;padding:1px 4px;border-radius:3px;font-size:9px}.personal-namespace-button{display:inline-block;padding:3px 8px;font-size:10px;background-color:#28a745;color:#fff;border-radius:4px;text-decoration:none}.my-nodes-tabs{display:flex;gap:.5rem;margin-bottom:.5rem;padding-top:.5rem}.my-nodes-tab{padding:4px 10px;font-size:11px;border:none;border-radius:4px;cursor:pointer;background-color:#e9ecef;color:#495057}.my-nodes-tab--active{background-color:var(--primary-color, #4a90d9);color:#fff}.my-nodes-empty{padding:.75rem 0}.my-nodes-empty-text{font-size:12px;color:#666;margin-bottom:.75rem}.my-nodes-empty-grid{display:flex;gap:.75rem}.my-nodes-empty-card{flex:1;padding:.75rem;background-color:var(--card-bg, #f8f9fa);border:1px dashed var(--border-color, #dee2e6);border-radius:6px;text-align:center}.empty-card-icon{font-size:16px;margin-bottom:.25rem}.empty-card-title{font-size:11px;font-weight:500;margin-bottom:.25rem}.empty-card-description{font-size:10px;color:#666;margin-bottom:.5rem}.empty-card-button{display:inline-block;padding:3px 8px;font-size:10px;color:#fff;border-radius:4px;text-decoration:none}.empty-card-button--primary{background-color:var(--primary-color, #4a90d9)}.empty-card-button--secondary{background-color:#6c757d}.my-nodes-no-content{padding:1rem;text-align:center;color:#666;font-size:12px}.my-nodes-more{text-align:center;padding:.5rem;font-size:12px;color:#666}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.collection-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;text-decoration:none;color:inherit;transition:all .15s ease;background-color:var(--card-bg, #fff);cursor:pointer}.collection-card:hover{border-color:var(--primary-color, #007bff);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.collection-name{font-weight:600;font-size:14px;margin-bottom:.5rem;line-height:1.3}.collection-description{font-size:12px;color:#666;line-height:1.4;margin-bottom:.75rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1}.collection-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#888;margin-top:auto}.collection-meta-owner--me{color:var(--primary-color, #4a90d9)}.collections-empty{padding:1rem;text-align:center}.collections-empty-icon{font-size:48px;margin-bottom:.5rem;opacity:.3}.collections-empty-title{font-size:13px;color:#666;margin-bottom:1rem}.collections-empty-description{font-size:11px;color:#999;margin-bottom:1rem;line-height:1.4}.collections-empty-button{display:inline-block;padding:6px 12px;font-size:11px;background-color:var(--primary-color, #4a90d9);color:#fff;border-radius:6px;text-decoration:none;font-weight:500}.materializations-list{display:flex;flex-direction:column;gap:.5rem}.materialization-item{padding:.5rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;background-color:var(--card-bg, #fff)}.materialization-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.materialization-status{font-size:10px}.materialization-meta{font-size:10px;color:#666}.materialization-schedule{margin-right:8px}.materialization-table{color:#888}.materializations-empty{padding:0}.materializations-empty-text{font-size:12px;color:#666;margin-bottom:.75rem}.materializations-more{text-align:center;padding:.5rem;font-size:12px;color:#666}.git-namespaces-list{display:flex;flex-direction:column}.git-namespace-header{display:flex;align-items:center;gap:8px;padding:.75rem 0 .5rem;margin-top:0}.git-namespace-name{font-size:12px;font-weight:600;text-decoration:none}.git-namespace-repo{font-size:9px;padding:2px 6px;background-color:#f0f0f0;color:#666;border-radius:3px;font-weight:500}.git-branch-item{display:flex;align-items:center;justify-content:space-between;padding:0 1em .4em}.git-branch-name-wrapper{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.git-branch-name{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-branch-default-star{font-size:10px}.git-branch-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:#666;white-space:nowrap}.git-branch-updated{color:#888}.git-namespace-divider{border-bottom:1px solid var(--border-color, #ddd);margin:.5rem 0}.git-namespaces-empty{padding:0;text-align:center}.git-namespaces-empty-text{font-size:12px;color:#666;margin-bottom:.75rem}.git-namespaces-more{text-align:center;padding:.5rem;font-size:12px;color:#666}.type-group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.5rem 0;width:100%}.type-group-card{background-color:var(--card-bg, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;min-width:0;overflow:hidden}.type-group-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #dee2e6)}.type-group-title{font-size:12px;font-weight:600;color:#333}.type-group-nodes{display:flex;flex-direction:column;gap:0}.type-group-node{display:flex;align-items:center;gap:.5rem;min-width:0}.type-group-node-status-icon{font-size:12px;flex-shrink:0;line-height:1}.type-group-node-git-info{font-size:9px;padding:2px 6px;background-color:#fff;color:#666;border:1px solid #e0e0e0;border-radius:3px;font-weight:500;white-space:nowrap;flex-shrink:0}.type-group-node-git-info--default{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.type-group-node-time{font-size:10px;color:#888;white-space:nowrap;flex-shrink:0}.type-group-node-actions{display:inline-flex;transform:scale(.75);transform-origin:right center;flex-shrink:0}.type-group-more{display:block;text-align:center;padding:.5rem 0 0;font-size:11px;color:var(--primary-color, #4a90d9);text-decoration:none;border-top:1px solid var(--border-color, #dee2e6);margin-top:.25rem;font-weight:500}.type-group-more:hover{text-decoration:underline}.node-list{display:flex;flex-direction:column;gap:.5rem}.node-list-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color, #eee);gap:.5rem}.node-list-item-content{flex:1;min-width:0;overflow:hidden}.node-list-item-display{margin-bottom:.25rem;min-width:0;overflow:hidden}.node-list-item-name{font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-list-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;white-space:nowrap}.node-list-item-updated{font-size:11px;color:#888}.node-list-item-actions-wrapper{display:inline-flex;transform:scale(.85);transform-origin:right center}.chart-container{display:flex;flex-wrap:wrap;gap:2em;margin:2em}.chart-box{display:flex;flex-grow:1;flex-direction:column;flex:1 1 300px;min-width:300px;max-width:fit-content;border:1px solid #ddd;border-radius:12px;background-color:#fff;box-shadow:0 2px 8px #0000000d;padding:1.3rem}.chart-title{padding-bottom:10px;font-size:1.3rem;font-weight:400;margin:0;text-align:center;color:#6e6e6e;font-family:Roboto,Helvetica,Arial,sans-serif;line-height:1.235;letter-spacing:.00735em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vert-box{display:flex;padding:1em;font-size:18px;align-items:center;flex-direction:column}.vert-box span{opacity:.6;font-size:13px}.horiz-box{width:100%;display:flex;flex-wrap:wrap}.horiz-box-value{margin:0 12px;font-size:20px;text-align:left}.horiz-box-label{font-size:smaller;padding:5px 12px}.jss316{display:inline-block;padding:.2em;font-size:18px;align-items:center;flex-direction:column}.sme-page{--sme-bg: #f8fafc;--sme-surface: #ffffff;--sme-surface-hover: #f1f5f9;--sme-border: #e2e8f0;--sme-text: #1e293b;--sme-text-muted: #64748b;--sme-text-dim: #94a3b8;--sme-accent: #3b82f6;--sme-accent-soft: #dbeafe;--sme-font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--sme-font-display: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--sme-radius: 8px;display:flex;height:calc(100vh - 90px);border-top:1px solid var(--sme-border);font-family:var(--sme-font-body);color:var(--sme-text);background:var(--sme-bg);font-size:13px;line-height:1.4}.sme-rail{width:260px;min-width:260px;border-right:1px solid var(--sme-border);background:var(--sme-surface);display:flex;flex-direction:column;overflow:hidden}.sme-rail-section{display:flex;flex-direction:column;min-height:0}.sme-rail-section.grow{flex:1}.sme-rail-header{font-size:11px;font-weight:600;color:var(--sme-text-muted);letter-spacing:.05em;padding:14px 16px 8px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.sme-rail-count{font-size:11px;color:var(--sme-text-dim);font-weight:500;letter-spacing:0}.sme-rail-search{margin:0 12px 6px;padding:6px 10px;font-size:12px;font-family:inherit;border:1px solid var(--sme-border);border-radius:6px;background:var(--sme-surface);outline:none;color:var(--sme-text)}.sme-rail-search:focus{border-color:var(--sme-accent);box-shadow:0 0 0 2px #3b82f626}.sme-rail-list{overflow-y:auto;padding:2px 8px 10px}.sme-rail-group{margin-bottom:4px}.sme-rail-group-header{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sme-text-muted);padding:8px 10px 2px}.sme-rail-subgroup{margin:2px 0 4px}.sme-rail-subgroup-header{font-size:11px;font-weight:600;color:var(--sme-text-dim);letter-spacing:.02em;padding:4px 10px 1px 14px}.sme-rail-subgroup .sme-rail-item.indent{padding-left:18px}.sme-rail-item{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12px;color:var(--sme-text);cursor:pointer;border-radius:5px;word-break:break-word;outline:none;border:none;box-shadow:none}.sme-rail-item:focus,.sme-rail-item:focus-visible,.sme-rail-item.active:focus,.sme-rail-item.active:focus-visible{outline:none;border:none;box-shadow:none}.sme-rail-item.indent{padding-left:18px}.sme-rail-item:hover{background:var(--sme-surface-hover)}.sme-rail-item.active{background:var(--sme-accent-soft);color:var(--sme-accent);font-weight:500}.sme-rail-icon{color:var(--sme-text-dim);font-family:var(--sme-font-display);font-size:10px;flex-shrink:0;text-align:center}.sme-rail-item.active .sme-rail-icon{color:var(--sme-accent)}.sme-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.sme-toolbar{display:flex;flex-direction:column;gap:8px;padding:14px 24px;border-bottom:1px solid var(--sme-border);background:var(--sme-surface)}.sme-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sme-label{font-size:12px;color:var(--sme-text-muted);font-weight:500;min-width:80px;letter-spacing:.01em}.sme-select{min-width:200px;font-size:12px}.sme-select-wide{flex:1;min-width:260px;font-size:12px}.sme-filter-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sme-add-filter{background:var(--sme-accent-soft);color:var(--sme-accent);border:none;border-radius:6px;padding:5px 12px;cursor:pointer;font-size:12px;font-weight:500;font-family:inherit}.sme-add-filter:hover:not(:disabled){background:#bfdbfe}.sme-add-filter:disabled{opacity:.4;cursor:not-allowed}.sme-remove-filter{background:transparent;border:none;color:var(--sme-text-dim);cursor:pointer;font-size:16px;padding:0 6px;line-height:1}.sme-remove-filter:hover{color:var(--sme-text)}.sme-text-input{padding:6px 10px;border:1px solid var(--sme-border);border-radius:6px;font-size:12px;font-family:inherit;background:var(--sme-surface);min-width:160px;color:var(--sme-text)}.sme-text-input:focus{outline:none;border-color:var(--sme-accent);box-shadow:0 0 0 2px #3b82f626}.sme-content{flex:1;overflow-y:auto;padding:20px 24px}.sme-chart-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}.sme-view-toggle{display:inline-flex;border:1px solid var(--sme-border);border-radius:7px;overflow:hidden;background:var(--sme-surface);padding:2px}.sme-view-btn{padding:5px 12px;background:transparent;border:none;cursor:pointer;font-size:12px;font-family:inherit;color:var(--sme-text-muted);display:inline-flex;align-items:center;gap:5px;border-radius:5px}.sme-view-btn:hover:not(.active){color:var(--sme-text)}.sme-view-btn.active{color:var(--sme-accent);background:var(--sme-accent-soft);font-weight:500}.sme-options{display:inline-flex;gap:14px;align-items:center;font-size:12px;color:var(--sme-text-muted)}.sme-options label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.sme-options input[type=checkbox]{accent-color:var(--sme-accent)}.sme-chart-title{font-family:var(--sme-font-body);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0;color:var(--sme-text)}.sme-chart-title-link,.sme-chart-title-link:visited{color:inherit;text-decoration:underline dotted;text-decoration-color:var(--sme-text-dim);text-underline-offset:4px;text-decoration-thickness:1.5px;transition:color .12s ease-out,text-decoration-color .12s ease-out}.sme-chart-title-link:hover{color:var(--sme-accent);text-decoration-color:var(--sme-accent)}.sme-chart-subtitle{color:var(--sme-text-muted);margin:4px 0 0;font-size:13px}.sme-chart-description{color:var(--sme-text-muted);margin:6px 0 14px;font-size:12.5px;line-height:1.5;display:block;width:100%;max-width:100%}.sme-chart-body{width:100%;height:460px;background:var(--sme-surface);border:1px solid var(--sme-border);border-radius:var(--sme-radius);padding:12px 8px 8px}.sme-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:360px;color:var(--sme-text-dim);font-size:13px;gap:8px;background:var(--sme-surface);border:1px solid var(--sme-border);border-radius:var(--sme-radius)}.sme-empty-icon{font-size:32px;opacity:.5}.sme-table-wrap{max-height:540px;overflow:auto;border:1px solid var(--sme-border);border-radius:var(--sme-radius);background:var(--sme-surface)}.sme-table{width:100%;border-collapse:collapse;font-size:12px;font-family:inherit}.sme-table th,.sme-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--sme-border)}.sme-table th{background:var(--sme-bg);color:var(--sme-text-muted);font-weight:600;position:sticky;top:0;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.sme-table tbody tr:hover{background:var(--sme-surface-hover)}.sme-error{color:#dc2626;margin:8px 0;font-size:12px}.sme-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--sme-border);border-top-color:var(--sme-accent);border-radius:50%;animation:sme-spin .8s linear infinite;margin-right:6px;vertical-align:middle}@keyframes sme-spin{to{transform:rotate(360deg)}}.sme-page .css-1nmdiq5-menu,.sme-page .css-13cymwt-control,.sme-page .css-t3ipsp-control{font-size:12px;font-family:var(--sme-font-body);min-height:32px}.sme-page .css-1jqq78o-placeholder,.sme-page .css-1dimb5e-singleValue{font-size:12px}.ruleGroup{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-color:#8081a2;border-style:solid;border-radius:.25rem;border-width:1px;background:#004bb733}.ruleGroup .ruleGroup-body{display:flex;flex-direction:column;gap:.5rem}.ruleGroup .ruleGroup-body:empty{display:none}.ruleGroup .ruleGroup-header,.ruleGroup .rule{display:flex;gap:.5rem;align-items:center}.ruleGroup .rule .rule-value:has(.rule-value-list-item){display:flex;gap:.5rem;align-items:baseline}[data-inlinecombinators=disabled] .dndOver.rule,[data-inlinecombinators=disabled] .dndOver.ruleGroup-header{border-bottom-width:2px;border-bottom-style:dashed;border-bottom-color:#639;padding-bottom:.5rem}[data-inlinecombinators=disabled] .dndOver.rule.dndCopy,[data-inlinecombinators=disabled] .dndOver.ruleGroup-header.dndCopy{border-bottom-color:#693}[data-inlinecombinators=enabled] .dndOver.rule:last-child,[data-inlinecombinators=enabled] .dndOver.ruleGroup-header,[data-inlinecombinators=enabled] .dndOver.rule+.betweenRules,[data-inlinecombinators=enabled] .dndOver.betweenRules{border-bottom-width:2px;border-bottom-style:dashed;border-bottom-color:#639;padding-bottom:.5rem}[data-inlinecombinators=enabled] .dndOver.rule:last-child.dndCopy,[data-inlinecombinators=enabled] .dndOver.ruleGroup-header.dndCopy,[data-inlinecombinators=enabled] .dndOver.rule+.betweenRules.dndCopy,[data-inlinecombinators=enabled] .dndOver.betweenRules.dndCopy{border-bottom-color:#693}.ruleGroup.dndDragging,.rule.dndDragging{opacity:.5}.ruleGroup .queryBuilder-dragHandle,.rule .queryBuilder-dragHandle{cursor:move}.queryBuilder-branches .ruleGroup-body{margin-left:1rem}.queryBuilder-branches .rule,.queryBuilder-branches .ruleGroup .ruleGroup{position:relative}.queryBuilder-branches .rule:before,.queryBuilder-branches .rule:after,.queryBuilder-branches .ruleGroup .ruleGroup:before,.queryBuilder-branches .ruleGroup .ruleGroup:after{content:"";width:.5rem;left:calc(-.5rem - 1px);border-color:#8081a2;border-style:solid;border-radius:0;position:absolute}.queryBuilder-branches .rule:before,.queryBuilder-branches .ruleGroup .ruleGroup:before{top:-.5rem;height:calc(50% + .5rem);border-width:0 0 1px 1px}.queryBuilder-branches .rule:last-child:before,.queryBuilder-branches .ruleGroup .ruleGroup:last-child:before{border-bottom-left-radius:.25rem}.queryBuilder-branches .rule:after,.queryBuilder-branches .ruleGroup .ruleGroup:after{top:50%;height:50%;border-width:0 0 0 1px}.queryBuilder-branches .rule:last-child:after,.queryBuilder-branches .ruleGroup .ruleGroup:last-child:after{display:none}.queryBuilder-branches .ruleGroup .ruleGroup:before,.queryBuilder-branches .ruleGroup .ruleGroup:after{left:calc(-.5rem - 2px)}.queryBuilder-branches .ruleGroup .ruleGroup:before{top:calc(-.5rem - 1px);height:calc(50% + .5rem + 1px)}.queryBuilder-branches .ruleGroup .ruleGroup:after{height:calc(50% + 1px)}.queryBuilder-branches .betweenRules{position:relative}.queryBuilder-branches .betweenRules:before{content:"";width:.5rem;left:calc(-.5rem - 1px);border-color:#8081a2;border-style:solid;border-radius:0;position:absolute;top:-.5rem;height:calc(100% + .5rem);border-width:0 0 0 1px}.svg-font-color svg>path{fill:var(--ifm-font-color-base)}select{border-radius:.25rem;font-size:.875rem;padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem;max-width:20vw}.queryBuilder{min-width:420px}.queryBuilder .ruleGroup div select,.queryBuilder .ruleGroup div input{-webkit-text-security:none;border-radius:.25rem;font-size:.875rem;padding-bottom:.35rem;padding-left:.5rem;padding-top:.35rem;border:none}.queryBuilder .ruleGroup div button{background-color:#f0f8ff;color:#24518f;border:1px solid #365b8f;border-radius:.25rem;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:400;line-height:1.5;padding:.25rem .5rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.cube-search,.combobox-search,.filter-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none}:root{--planner-bg: #f8fafc;--planner-surface: #ffffff;--planner-surface-hover: #f1f5f9;--planner-border: #e2e8f0;--planner-text: #1e293b;--planner-text-muted: #64748b;--planner-text-dim: #94a3b8;--accent-primary: #3b82f6;--accent-preagg: #d97706;--accent-metric: #a2283e;--accent-dimension: #a96621;--accent-derived: #db2777;--accent-cube: #580076;--accent-success: #059669;--accent-warning: #d97706;--accent-error: #dc2626;--font-display: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15)}.planner-page{height:calc(100vh - 90px);display:flex;flex-direction:column;background:var(--planner-bg);color:var(--planner-text);font-family:var(--font-body);overflow:hidden;border-top:1px solid #eee}.planner-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--planner-surface);border-bottom:1px solid var(--planner-border);flex-shrink:0}.planner-header-content h1{margin:0;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--planner-text)}.planner-header-content p{margin:4px 0 0;font-size:13px;color:var(--planner-text-muted)}.header-error{padding:8px 16px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-md);color:var(--accent-error);font-size:13px}.planner-error-banner{flex-shrink:0;border-radius:0;border-left:none;border-right:none;border-top:none}.materialization-error{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:var(--radius-md);color:var(--accent-error);font-size:12px;line-height:1.5}.materialization-error .error-content{display:flex;align-items:flex-start;gap:8px;flex:1}.materialization-error .error-icon{font-size:14px;flex-shrink:0;margin-top:1px}.materialization-error .error-message{word-break:break-word}.materialization-error .error-dismiss{background:none;border:none;color:var(--accent-error);font-size:18px;line-height:1;cursor:pointer;padding:0;opacity:.7;transition:opacity .15s ease;flex-shrink:0}.materialization-error .error-dismiss:hover{opacity:1}.materialization-error.global-error{margin:0 0 16px}.workflow-success{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:var(--radius-md);color:var(--accent-green, #22c55e);font-size:12px;line-height:1.5}.workflow-success .success-content{display:flex;align-items:flex-start;gap:8px;flex:1}.workflow-success .success-icon{font-size:14px;flex-shrink:0;margin-top:1px;background:var(--accent-green, #22c55e);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.workflow-success .success-message{word-break:break-word}.workflow-success .success-message strong{display:block;margin-bottom:6px;color:var(--planner-text)}.workflow-success .workflow-url-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.workflow-success .workflow-url-list a{color:var(--accent-green, #22c55e);text-decoration:none;display:inline-flex;align-items:center;gap:4px}.workflow-success .workflow-url-list a:hover{text-decoration:underline}.workflow-success .success-dismiss{background:none;border:none;color:var(--accent-green, #22c55e);font-size:18px;line-height:1;cursor:pointer;padding:0;opacity:.7;transition:opacity .15s ease;flex-shrink:0}.workflow-success .success-dismiss:hover{opacity:1}.preagg-summary-card.cube-card{background:linear-gradient(135deg,rgba(88,0,118,.04),var(--planner-bg))}.preagg-summary-card.cube-card .preagg-summary-name.cube-name{color:var(--accent-cube, #580076)}.cube-workflow-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--planner-border)}.materialization-status-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(135deg,rgba(5,150,105,.06),var(--planner-bg));border:1px solid rgba(5,150,105,.25);border-radius:var(--radius-md);margin-bottom:16px}.status-bar-left{display:flex;align-items:center;gap:8px}.status-bar-indicator{color:var(--accent-success, #059669);font-size:12px;font-weight:700}.status-bar-label{font-size:12px;font-weight:600;color:var(--accent-success, #059669)}.status-bar-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px}.status-bar-badge.badge-cube{background:#5800761f;color:var(--accent-cube, #580076)}.status-bar-badge.badge-preagg{background:#6b72801f;color:var(--planner-text)}.status-bar-edit{padding:4px 10px;font-size:11px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;border:1px solid var(--planner-border);background:var(--planner-surface);color:var(--planner-text)}.status-bar-edit:hover{background:var(--planner-surface-hover);border-color:var(--accent-primary)}.selection-summary-label{font-size:11px;font-weight:600;color:var(--planner-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.status-pill{font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap}.status-pill.status-active{background:#0596691a;color:var(--accent-success, #059669)}.status-pill.status-not-set{background:#6b72801a;color:var(--planner-text-muted)}.status-pill.status-pending{background:#f59e0b1a;color:var(--accent-warning, #f59e0b)}.preagg-section-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted);padding:8px 0;margin-bottom:4px;border-bottom:1px solid var(--planner-border)}.planner-layout{display:flex;flex:1;min-height:0;overflow:hidden}.planner-selection{width:20%;min-width:200px;min-height:0;background:var(--planner-surface);overflow:hidden;display:flex;flex-direction:column}.planner-graph{flex:1;display:flex;flex-direction:column;background:var(--planner-bg);overflow:hidden}.graph-header{padding:12px 16px;background:var(--planner-surface);border-bottom:1px solid var(--planner-border);flex-shrink:0}.graph-stats{font-size:12px;color:var(--planner-text-muted);font-family:var(--font-display)}.graph-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--planner-text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--planner-border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.graph-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.graph-empty .empty-icon{font-size:48px;opacity:.3;margin-bottom:16px}.graph-empty h3{margin:0 0 8px;font-size:18px;color:var(--planner-text)}.graph-empty p{margin:0;font-size:14px;color:var(--planner-text-muted);max-width:300px}.vertical-resizer{width:1px;background:var(--planner-border);cursor:col-resize;flex-shrink:0;position:relative;z-index:1;transition:background .15s}.vertical-resizer:after{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.vertical-resizer:hover,.vertical-resizer:active{background:var(--accent-primary)}.planner-details{width:40%;min-width:280px;background:var(--planner-surface);overflow-y:auto}.selection-panel,.resizable-sections{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.cube-preset-section{padding:10px 12px;border-bottom:1px solid var(--planner-border);background:var(--planner-bg);position:relative;flex-shrink:0;z-index:10}.preset-row{display:flex;align-items:center;gap:8px;min-width:0}.preset-button{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--planner-elevated);border:1px solid var(--planner-border);border-radius:var(--radius-md);color:var(--planner-text);font-size:11px;font-weight:500;min-width:0;font-family:var(--font-display);cursor:pointer;transition:all .15s ease;flex:1}.preset-button:hover{background:var(--planner-surface);border-color:var(--accent-primary)}.preset-button.has-preset{background:#5800761a;border-color:var(--accent-cube);color:var(--accent-cube)}.preset-button.has-preset:hover{background:#58007626;border-color:var(--accent-cube)}.preset-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-icon{font-size:12px;flex-shrink:0}.dropdown-arrow{margin-left:auto;font-size:8px;opacity:.6}.clear-all-btn{padding:6px 10px;background:transparent;border:1px solid var(--planner-border);border-radius:var(--radius-md);color:var(--planner-text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.clear-all-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.cube-dropdown{position:absolute;top:calc(100% - 1px);left:0;right:0;background:#fff;border:1px solid var(--planner-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 8px 24px #00000080;z-index:1000;max-height:300px;display:flex;flex-direction:column}.cube-search{padding:8px 12px;border:none;border-bottom:1px solid var(--planner-border);background:transparent;color:var(--planner-text);font-size:12px;outline:none}.cube-search::placeholder{color:var(--planner-text-muted)}.cube-list{overflow-y:auto;max-height:250px}.cube-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 32px 8px 12px;background:transparent;border:none;text-align:left;cursor:pointer;transition:background .1s ease;position:relative}.cube-option:hover{background:var(--planner-surface)}.cube-option.selected{background:#58007614}.cube-option.selected:hover{background:#5800761f}.cube-option.selected .cube-name{color:var(--accent-cube)}.cube-selected-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--accent-cube);font-size:12px;font-weight:600}.cube-name{font-size:12px;font-weight:500;color:var(--planner-text);font-family:var(--font-display)}.cube-info{font-size:10px;color:var(--planner-text-muted)}.cube-empty{padding:16px 12px;text-align:center;font-size:11px;color:var(--planner-text-muted)}.selection-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--planner-border);flex-shrink:0}.section-header h3{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text)}.selection-count{font-size:11px;color:var(--planner-text-dim)}.search-box{position:relative;padding:8px 12px;flex-shrink:0;max-height:70px}.search-box input{width:100%;padding:8px 32px 8px 12px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-md);font-size:13px;color:var(--planner-text);outline:none;transition:border-color .15s}.search-box input:focus{border-color:var(--accent-primary)}.search-box input::placeholder{color:var(--planner-text-dim)}.clear-search{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--planner-text-dim);font-size:16px;cursor:pointer;padding:4px;line-height:1}.clear-search:hover{color:var(--planner-text)}.selection-list{flex:1;overflow-y:auto;padding:8px 0}.namespace-group{margin-bottom:4px}.namespace-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.namespace-header:hover{background:var(--planner-surface-hover)}.expand-icon{font-size:10px;color:var(--planner-text-dim);width:12px}.namespace-name{flex:1;font-size:12px;font-weight:600;color:var(--planner-text);font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.namespace-count{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--planner-text-dim)}.selected-badge{background:var(--accent-primary);color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600}.namespace-items{padding-left:20px}.namespace-actions{display:flex;gap:8px;padding:4px 12px 8px}.select-all-btn{background:none;border:none;color:var(--accent-primary);font-size:11px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s}.select-all-btn:hover{background:#3b82f61a;text-decoration:underline}.selection-item{display:flex;align-items:flex-start;gap:8px;padding:6px 12px;cursor:pointer;transition:background .15s}.selection-item:hover{background:var(--planner-surface-hover)}.selection-item input[type=checkbox]{margin-top:2px;accent-color:var(--accent-primary)}.selection-item.metric-incompatible{opacity:.35}.metric-compatible-badge{margin-left:auto;font-size:11px;color:var(--accent-success);font-weight:600;flex-shrink:0}.item-name{font-size:13px;color:var(--planner-text);word-break:break-word}.dimension-item{align-items:flex-start}.dimension-info{display:flex;flex-direction:column;gap:2px}.dimension-full-name{font-size:10px;color:var(--planner-text-muted);font-family:var(--font-display);word-break:break-all}.dimension-path{font-size:10px;color:var(--planner-text-dim);font-family:var(--font-display)}.dim-group{margin-bottom:4px}.dim-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dim-group-header:hover{background:var(--planner-surface-hover)}.dim-group-name{flex:1;font-size:12px;font-weight:600;color:var(--planner-text);font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dim-group-meta{font-size:10px;font-weight:400;color:var(--planner-text-muted);background:var(--planner-bg-subtle, rgba(0, 0, 0, .06));padding:1px 5px;border-radius:8px;white-space:nowrap;flex-shrink:0}.dim-group-count{font-size:11px;color:var(--planner-text-dim);flex-shrink:0}.dim-group-item{padding-left:28px}.dim-role-group{padding-left:20px}.dim-role-header{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dim-role-header:hover{background:var(--planner-surface-hover)}.dim-role-label{flex:1;font-size:11px;color:var(--planner-text-muted);font-family:var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dim-role-item{padding-left:22px}.dim-filter-btn{opacity:0;pointer-events:none;margin-left:auto;align-self:center;flex-shrink:0;background:none;border:none;color:var(--planner-text-dim);font-size:10px;font-family:var(--font-display);padding:0 2px;cursor:pointer;transition:opacity .1s,color .1s}.dim-role-item:hover .dim-filter-btn{opacity:1;pointer-events:auto}.dim-filter-btn:hover{color:var(--accent-dimension)}.search-result-item{padding:8px 12px}.search-result-info{display:flex;flex-direction:column;gap:2px}.item-namespace{font-size:10px;color:var(--planner-text-dim);font-family:var(--font-display)}.section-divider{height:1px;background:var(--planner-border);margin:0;flex-shrink:0}.section-divider.draggable-divider{height:5px;cursor:row-resize;background:var(--planner-border);transition:background .15s;position:relative}.section-divider.draggable-divider:hover,.section-divider.draggable-divider:active{background:var(--accent-primary)}.empty-list{padding:24px 16px;text-align:center;font-size:13px;color:var(--planner-text-dim)}.empty-list.hint{font-style:italic}.compact-flow-container{flex:1;position:relative;background:var(--planner-bg)}.compact-flow-container .react-flow__background{background:var(--planner-bg)!important}.graph-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--planner-text-dim)}.graph-empty-state .empty-icon{font-size:48px;opacity:.3;margin-bottom:16px}.compact-node{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--planner-surface);border:2px solid var(--planner-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;min-width:160px;box-shadow:var(--shadow-sm)}.compact-node:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.compact-node.selected{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633}.compact-node-icon{font-size:16px;opacity:.7}.compact-node-content{flex:1;min-width:0}.compact-node-name{font-size:12px;font-weight:600;color:var(--planner-text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-node-meta{display:flex;gap:8px;font-size:10px;color:var(--planner-text-dim)}.compact-node-badge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px;background:#db277726;color:var(--accent-derived);font-weight:600}.compact-node-preagg{border-color:#d9770666}.compact-node-preagg:hover{border-color:var(--accent-preagg)}.compact-node-preagg .compact-node-icon{color:var(--accent-preagg)}.compact-node-preagg.selected{border-color:var(--accent-preagg);box-shadow:0 0 0 3px #d9770633}.compact-node-metric{border-color:#a2283e66}.compact-node-metric:hover{border-color:var(--accent-metric)}.compact-node-metric .compact-node-icon{color:var(--accent-metric)}.compact-node-metric.selected{border-color:var(--accent-metric);box-shadow:0 0 0 3px #a2283e33}.compact-node-derived{border-color:#db277766}.compact-node-derived:hover{border-color:var(--accent-derived)}.compact-node-derived .compact-node-icon{color:var(--accent-derived)}.compact-node-component{border-color:#22c55e66}.compact-node-component:hover{border-color:#22c55e}.compact-node-component .compact-node-icon{color:#22c55e}.compact-node-component.selected{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e33}.compact-node .react-flow__handle{width:8px;height:8px;border:2px solid var(--planner-surface);background:var(--planner-text-dim)}.compact-node-preagg .react-flow__handle{background:var(--accent-preagg)}.compact-node-component .react-flow__handle{background:#22c55e}.compact-node-metric .react-flow__handle{background:var(--accent-metric)}.graph-legend{position:absolute;bottom:16px;right:16px;display:flex;gap:16px;padding:10px 16px;background:#fffffff2;border:1px solid var(--planner-border);border-radius:var(--radius-md);font-size:11px;color:var(--planner-text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.preagg{background:var(--accent-preagg)}.legend-dot.component{background:#22c55e}.legend-dot.metric{background:var(--accent-metric)}.legend-dot.derived{background:var(--accent-derived)}.details-panel{height:100%;overflow-y:auto}.details-panel-empty{display:flex;align-items:center;justify-content:center;height:100%}.empty-hint{text-align:center;padding:48px 24px}.empty-hint .empty-icon{font-size:40px;opacity:.2;margin-bottom:16px}.empty-hint h4{margin:0 0 8px;font-size:14px;color:var(--planner-text)}.empty-hint p{margin:0;font-size:12px;color:var(--planner-text-dim)}.details-header{padding:16px;background:var(--planner-bg);border-bottom:1px solid var(--planner-border)}.details-type-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;border-radius:var(--radius-sm)}.details-type-badge.preagg{background:#d9770626;color:var(--accent-preagg)}.details-type-badge.metric{background:#a2283e26;color:var(--accent-metric)}.details-type-badge.derived{background:#db277726;color:var(--accent-derived)}.details-type-badge.overview{background:#3b82f626;color:var(--accent-primary)}.details-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--planner-border);border-radius:var(--radius-sm);color:var(--planner-text-muted);font-size:16px;cursor:pointer;transition:all .15s}.details-close:hover{background:var(--planner-surface-hover);color:var(--planner-text)}.details-title{margin:0;font-size:16px;font-weight:700;color:var(--planner-text);font-family:var(--font-display)}.details-full-name{margin:0;font-size:11px;color:var(--planner-text-dim);font-family:var(--font-display);word-break:break-all}.details-info-row{margin:4px 0 0;font-size:11px;color:var(--planner-text-dim);font-family:var(--font-display)}.info-materialized{color:#7c3aed;font-weight:500}.info-base-tables{color:#d97706;font-weight:500}.sql-pane-info{font-size:11px;color:var(--planner-text-dim);flex:1}.sql-pane-info .info-materialized{color:#7c3aed;font-weight:500}.sql-info-inline{font-size:11px;color:var(--planner-text-dim);margin-left:auto;margin-right:1em}.details-section{padding:14px 16px;border-bottom:1px solid var(--planner-border)}.details-section-full{padding:14px 0}.details-section-full>.section-title,.details-section-full>.section-header-row{padding:0 16px}.details-section .section-title{display:flex;align-items:center;gap:6px;margin:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted)}.section-icon{font-size:12px;opacity:.6}.section-icon.cube-icon{color:var(--accent-cube, #580076);opacity:1}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.details-aggregability-section{text-align:center}.aggregability-badge{display:inline-block;padding:6px 12px;border-radius:var(--radius-md);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.aggregability-full{background:#0596691a;color:var(--accent-success);border:1px solid rgba(5,150,105,.2)}.aggregability-limited{background:#d977061a;color:var(--accent-warning);border:1px solid rgba(217,119,6,.2)}.aggregability-none{background:#dc26261a;color:var(--accent-error);border:1px solid rgba(220,38,38,.2)}.grain-pills{display:flex;flex-wrap:wrap;gap:6px}.grain-pill{display:inline-block;padding:5px 8px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-display);color:var(--planner-text)}.details-section .empty-text{font-size:12px;color:var(--planner-text-dim);font-style:italic}.metrics-list{display:flex;flex-direction:column;gap:6px}.related-metric{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--planner-bg);border-radius:var(--radius-sm);border:1px solid var(--planner-border)}.related-metric .metric-name{font-size:12px;font-weight:500;color:var(--accent-metric)}.related-metric .derived-badge{font-size:9px;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#db277726;color:var(--accent-derived);font-weight:600}.components-table-wrapper{overflow-x:auto}.details-table{width:100%;border-collapse:collapse;font-size:11px}.details-table th{padding:8px 12px;background:var(--planner-bg);color:var(--planner-text-muted);font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--planner-border)}.details-table td{padding:10px 12px;border-bottom:1px solid var(--planner-border);vertical-align:top}.details-table tr:hover td{background:#3b82f608}.details-table tr.component-row-highlighted{animation:highlightFade 2s ease-out}.details-table tr.component-row-highlighted td{background:#f0f63b26;border-top:1px solid rgba(59,130,246,.3);border-bottom:1px solid rgba(59,130,246,.3)}@keyframes highlightFade{0%{background:#3b82f64d}to{background:#3b82f626}}.comp-name-cell code{font-family:var(--font-display);font-size:10px;color:var(--accent-preagg);background:#d977061a;padding:2px 5px;border-radius:3px}.comp-expr-cell code{font-family:var(--font-display);font-size:10px;color:var(--planner-text-muted);word-break:break-all}.agg-func,.merge-func{font-family:var(--font-display);font-size:10px;color:var(--planner-text-dim)}.details-sql-section{border-bottom:none}.sql-view-toggle{display:flex;gap:2px;background:#e2e8f0;border-radius:var(--radius-sm);padding:2px}.sql-toggle-btn{padding:4px 10px;background:transparent;color:#64748b;border:none;border-radius:calc(var(--radius-sm) - 2px);font-size:10px;font-weight:600;cursor:pointer;transition:all .15s}.sql-toggle-btn:hover:not(.active):not(:disabled){color:#334155;background:#ffffff80}.sql-toggle-btn.active{background:#fff;color:var(--accent-primary);box-shadow:0 1px 2px #0000000d}.sql-toggle-btn:disabled{cursor:wait;opacity:.7}.copy-sql-btn{padding:5px 10px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:10px;font-weight:600;cursor:pointer;transition:all .15s}.copy-sql-btn:hover{background:#2563eb}.scan-estimate-banner{display:flex;align-items:flex-start;gap:10px;margin:0 16px 12px;padding:12px;border-radius:var(--radius-sm);font-size:12px;line-height:1.4}.scan-estimate-icon{font-size:16px;flex-shrink:0;margin-top:2px}.scan-estimate-content{flex:1}.scan-estimate-header{margin-bottom:8px}.scan-estimate-header strong{font-weight:600}.scan-estimate-sources{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1)}.scan-source-item{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-family:var(--font-display)}.scan-source-name{flex:1;color:var(--planner-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-source-size{flex-shrink:0;font-weight:600;opacity:.9}.scan-estimate-ok{background:#05966914;border:1px solid rgba(5,150,105,.2);color:var(--accent-success)}.scan-estimate-warning{background:#d9770614;border:1px solid rgba(217,119,6,.25);color:var(--accent-warning)}.scan-estimate-critical{background:#dc262614;border:1px solid rgba(220,38,38,.25);color:var(--accent-error)}.sql-code-wrapper{padding:0 16px 16px}.sql-code-wrapper pre{margin:0!important}.formula-display{padding:10px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-sm)}.formula-display code{font-family:var(--font-display);font-size:11px;color:var(--accent-primary);word-break:break-all}.component-tags{display:flex;flex-wrap:wrap;gap:6px}.component-tag{padding:5px 8px;background:#d977061a;color:var(--accent-preagg);border-radius:var(--radius-sm);font-size:10px;font-family:var(--font-display)}.preagg-sources{display:flex;flex-direction:column;gap:6px}.preagg-source-item{padding:8px 10px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-sm)}.preagg-source-name{display:block;font-size:12px;font-weight:500;color:var(--accent-preagg);margin-bottom:2px}.preagg-source-full{font-size:10px;color:var(--planner-text-dim);font-family:var(--font-display)}.preagg-summary-list{display:flex;flex-direction:column;gap:10px}.preagg-summary-card{padding:12px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-md)}.preagg-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.preagg-summary-name{font-size:13px;font-weight:600;color:var(--accent-preagg);font-family:var(--font-display)}.aggregability-pill{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:3px 6px;border-radius:var(--radius-sm)}.aggregability-pill.aggregability-full{background:#0596691a;color:var(--accent-success)}.aggregability-pill.aggregability-limited{background:#d977061a;color:var(--accent-warning)}.aggregability-pill.aggregability-none{background:#dc26261a;color:var(--accent-error)}.preagg-summary-details{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.preagg-summary-row{display:flex;gap:8px;font-size:11px}.preagg-summary-row .label{color:var(--planner-text-dim);min-width:60px}.preagg-summary-row .value{color:var(--planner-text);font-family:var(--font-display);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preagg-summary-row .value.scan-estimate{display:flex;align-items:center;gap:4px;font-weight:500}.scan-estimate-icon{font-size:12px;display:inline-block;min-width:14px;text-align:center}.scan-estimate-hint{font-size:10px;color:var(--planner-text-dim);font-style:italic;font-weight:400}.scan-estimate-low{color:#059669}.scan-estimate-medium{color:#d97706}.scan-estimate-high{color:#dc2626}.scan-estimate-critical{color:#991b1b}.scan-estimate-unavailable{color:var(--planner-text-dim);font-style:italic}.preagg-summary-status{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--planner-border);font-size:11px;color:var(--planner-text-muted)}.status-indicator{font-size:12px}.preagg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--planner-border)}.status-indicator.status-materialized{color:var(--accent-success)}.status-indicator.status-not-materialized{color:var(--planner-text-dim)}.status-indicator.status-stale{color:var(--accent-warning)}.selection-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.selection-summary-column .section-title{margin-bottom:8px}.selection-summary-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.selection-summary-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-sm);text-decoration:none;transition:all .15s ease}.selection-summary-item.clickable:hover{background:var(--planner-surface-hover);border-color:var(--accent-primary);text-decoration:none}.selection-summary-item.clickable.metric:hover{border-color:var(--accent-metric)}.selection-summary-item.clickable.dimension:hover{border-color:var(--accent-dimension)}.selection-summary-item.metric{border-left:3px solid var(--accent-metric)}.selection-summary-item.dimension{border-left:3px solid var(--accent-dimension)}.selection-summary-name{font-size:11px;font-weight:500;color:var(--planner-text);font-family:var(--font-display)}.selection-summary-item.metric .selection-summary-name{color:var(--accent-metric)}.selection-summary-item.dimension .selection-summary-name{color:var(--accent-dimension)}.react-flow__controls{background:var(--planner-surface)!important;border:1px solid var(--planner-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.react-flow__controls-button{background:transparent!important;border-bottom-color:var(--planner-border)!important;color:var(--planner-text-muted)!important}.react-flow__controls-button:hover{background:var(--planner-surface-hover)!important;color:var(--planner-text)!important}.react-flow__minimap{background:var(--planner-surface)!important;border:1px solid var(--planner-border)!important;border-radius:var(--radius-md)!important}.selection-list::-webkit-scrollbar,.details-panel::-webkit-scrollbar,.planner-details::-webkit-scrollbar{width:6px}.selection-list::-webkit-scrollbar-track,.details-panel::-webkit-scrollbar-track,.planner-details::-webkit-scrollbar-track{background:transparent}.selection-list::-webkit-scrollbar-thumb,.details-panel::-webkit-scrollbar-thumb,.planner-details::-webkit-scrollbar-thumb{background:var(--planner-border);border-radius:3px}.selection-list::-webkit-scrollbar-thumb:hover,.details-panel::-webkit-scrollbar-thumb:hover,.planner-details::-webkit-scrollbar-thumb:hover{background:var(--planner-text-dim)}.materialization-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;margin-top:8px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-sm);transition:all .15s ease}.materialization-header.clickable{cursor:pointer}.materialization-header.clickable:hover{background:var(--planner-surface-hover);border-color:var(--accent-primary)}.materialization-status{display:flex;align-items:center;gap:6px;font-size:11px}.status-indicator{font-size:10px;line-height:1}.status-text{font-weight:500;color:var(--planner-text)}.status-separator{color:var(--planner-text-dim);margin:0 2px}.schedule-summary{color:var(--planner-text-muted);font-size:10px}.status-not-planned{color:var(--planner-text-dim)}.status-materialized{color:var(--accent-success)}.status-compatible{color:var(--accent-warning)}.status-compatible-materialized{color:var(--accent-success)}.compatible-preagg-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:12px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);font-size:11px;line-height:1.5;color:var(--planner-text-muted)}.compatible-preagg-note .note-icon{flex-shrink:0}.compatible-preagg-note strong{color:var(--planner-text);font-weight:600}.status-pending{color:var(--accent-warning)}.status-running{color:var(--accent-primary)}.status-failed{color:var(--accent-error)}.expand-toggle{background:transparent;border:none;padding:2px 6px;font-size:10px;color:var(--planner-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.expand-toggle:hover{background:var(--planner-border);color:var(--planner-text)}.materialization-details{margin-top:8px;padding:10px 12px;background:var(--planner-surface);border:1px solid var(--planner-border);border-radius:var(--radius-sm);animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.materialization-config{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.config-row{display:flex;align-items:center;gap:8px;font-size:11px}.config-label{color:var(--planner-text-muted);min-width:70px}.config-value{color:var(--planner-text);font-weight:500}.config-value.config-mono{font-family:var(--font-display);font-size:10px;background:var(--planner-bg);padding:2px 6px;border-radius:var(--radius-sm)}.run-status{font-size:10px}.run-status.success{color:var(--accent-success)}.run-status.failed{color:var(--accent-error)}.workflow-links{display:flex;flex-direction:row;gap:4px}.workflow-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent-primary);font-size:11px;font-weight:500;text-decoration:none;transition:color .15s ease}.workflow-link:hover{color:var(--accent-primary);text-decoration:underline}.workflow-link .link-icon{font-size:10px;opacity:.7}.materialization-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--planner-border)}.action-btn{padding:6px 12px;font-size:11px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;border:1px solid var(--planner-border);background:var(--planner-surface);color:var(--planner-text)}.action-btn:hover{background:var(--planner-surface-hover)}.action-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.action-btn-primary:hover{background:#2563eb;border-color:#2563eb}.action-btn-primary:disabled{background:#93c5fd;border-color:#93c5fd;cursor:not-allowed;opacity:.8}.action-btn-secondary{background:transparent;border-color:var(--planner-border);color:var(--planner-text-muted)}.action-btn-danger{background:transparent;border-color:#ef4444;color:#ef4444}.action-btn-danger:hover{background:#ef44441a;border-color:#dc2626;color:#dc2626}.action-btn-danger:disabled{opacity:.5;cursor:not-allowed}.action-btn-secondary:hover{background:var(--planner-surface-hover);color:var(--planner-text)}.action-btn-small{padding:4px 10px;font-size:10px}.plan-materialization-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:12px 0;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);transition:all .2s ease}.plan-materialization-cta:hover{border-color:#3b82f666;background:linear-gradient(135deg,#3b82f61f,#8b5cf61f)}.cta-content{display:flex;align-items:center;gap:12px}.cta-icon{font-size:24px;filter:grayscale(0%)}.cta-text{display:flex;flex-direction:column;gap:2px}.cta-text strong{font-size:13px;font-weight:600;color:var(--planner-text)}.cta-text span{font-size:12px;color:var(--planner-text-muted)}.plan-materialization-cta .action-btn-primary{flex-shrink:0;padding:8px 16px;font-size:12px;font-weight:600}.materialization-config-form{margin-top:8px;background:var(--planner-surface);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);overflow:hidden;animation:slideDown .15s ease-out}.config-form-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#3b82f61a;border-bottom:1px solid var(--planner-border);font-size:11px;font-weight:600;color:var(--accent-primary)}.config-close-btn{background:transparent;border:none;font-size:16px;color:var(--planner-text-muted);cursor:pointer;padding:0;line-height:1}.config-form-note{padding:8px 12px;background:#d977061a;border-bottom:1px solid rgba(217,119,6,.2);font-size:10px;color:var(--accent-warning);line-height:1.4}.config-close-btn:hover{color:var(--planner-text)}.config-form-body{padding:12px;display:flex;flex-direction:column;gap:12px}.config-form-row{display:flex;flex-direction:column;gap:6px}.config-form-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted)}.config-form-options{display:flex;gap:12px}.radio-option{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--planner-text);cursor:pointer}.radio-option input[type=radio]{margin:0;accent-color:var(--accent-primary)}.radio-option.disabled{opacity:.5;cursor:not-allowed}.radio-option.disabled input[type=radio]{cursor:not-allowed}.option-hint{font-size:10px;color:var(--planner-text-dim);font-style:italic;margin-left:4px}.partition-badge{display:inline-block;font-size:10px;font-weight:500;color:#065f46;background:#f5fffa;border:1px solid #a7f3d0;padding:2px 6px;border-radius:4px;margin-left:6px}.config-form-input{padding:6px 10px;font-size:11px;border:1px solid var(--planner-border);border-radius:var(--radius-sm);background:var(--planner-bg);color:var(--planner-text);font-family:var(--font-display)}.config-form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.config-form-input::placeholder{color:var(--planner-text-dim)}.config-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--planner-border);background:var(--planner-bg)}.action-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-rotate .75s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.partition-setup-link{background:none;border:none;color:var(--accent-primary);font-size:11px;cursor:pointer;padding:2px 6px;margin-left:8px;border-radius:var(--radius-sm);transition:background .15s ease}.partition-setup-link:hover{background:#3b82f61a;text-decoration:underline}.partition-setup-form{margin:8px 0;padding:10px;background:#fefce8;border:1px solid #fde68a;border-radius:var(--radius-md)}.partition-setup-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#a16207;margin-bottom:8px}.partition-setup-icon{font-size:12px}.partition-setup-error{padding:6px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#dc2626;font-size:11px;margin-bottom:8px}.partition-setup-body{display:flex;flex-direction:column;gap:8px}.partition-setup-row{display:flex;flex-direction:column;gap:3px}.partition-setup-row label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#a16207}.partition-setup-row select,.partition-setup-row input[type=text]{padding:6px 8px;font-size:12px;border:1px solid #fde68a;border-radius:var(--radius-sm);background:#fff;color:var(--planner-text)}.partition-setup-row select:focus,.partition-setup-row input[type=text]:focus{outline:none;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2426}.partition-setup-row .readonly-value{font-size:12px;font-family:var(--font-display);color:var(--planner-text);padding:2px 0}.partition-setup-row-inline{flex-direction:row;gap:10px}.partition-setup-row-inline .partition-field{flex:1;display:flex;flex-direction:column;gap:3px}.partition-setup-row-inline .partition-field:first-child{flex:0 0 auto}.partition-setup-row-inline .partition-field select,.partition-setup-row-inline .partition-field input[type=text]{width:100%}.partition-setup-hint{font-size:10px;color:#ca8a04;font-style:italic}.partition-node-section{padding:8px;background:#fff;border:1px solid #fde68a;border-radius:var(--radius-sm);margin-bottom:8px}.partition-node-section:last-child{margin-bottom:0}.partition-node-header{margin-bottom:6px}.partition-node-name{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#a16207}.partition-node-icon{font-size:11px}.partition-node-done .partition-node-name{color:#166534}.partition-node-done .partition-node-icon{color:#22c55e}.partition-node-status{display:flex;align-items:center;gap:8px}.partition-node-form{display:flex;align-items:flex-end;gap:8px}.partition-node-form .partition-field{display:flex;flex-direction:column;gap:2px}.partition-node-form .partition-field:first-child{flex:1}.partition-node-form .partition-field-small{flex:0 0 auto}.partition-node-form .partition-field label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:#a16207}.partition-node-form .partition-field select,.partition-node-form .partition-field input[type=text]{padding:4px 6px;font-size:11px;border:1px solid #fde68a;border-radius:var(--radius-sm);background:#fff;color:var(--planner-text)}.partition-node-form .partition-field select:focus,.partition-node-form .partition-field input[type=text]:focus{outline:none;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2426}.partition-node-form .partition-field input[type=text]{width:80px}.partition-set-btn{padding:4px 10px;font-size:11px;font-weight:500;background:#eab308;border:1px solid #ca8a04;border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:background .15s ease;white-space:nowrap}.partition-set-btn:hover:not(:disabled){background:#ca8a04}.partition-set-btn:disabled{opacity:.6;cursor:not-allowed}.partition-setup-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:6px;padding-top:8px;border-top:1px solid #fde68a}.partition-setup-actions .button-secondary{padding:5px 10px;font-size:11px;background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-sm);color:var(--planner-text);cursor:pointer;transition:background .15s ease}.partition-setup-actions .button-secondary:hover{background:#f3f4f6}.partition-setup-actions .button-primary{padding:5px 10px;font-size:11px;background:#ffefd0;border:1px solid #cccccc;border-radius:var(--radius-sm);color:#a96621;font-weight:500;cursor:pointer;transition:background .15s ease}.partition-setup-actions .button-primary:hover:not(:disabled){background:#ffe4b3}.partition-setup-actions .button-primary:disabled{opacity:.6;cursor:not-allowed}.backfill-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.backfill-modal{background:var(--planner-surface);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000040;width:400px;max-width:90vw}.backfill-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--planner-border)}.backfill-modal-header h3{font-size:14px;font-weight:600;color:var(--planner-text);margin:0}.modal-close{background:none;border:none;font-size:20px;color:var(--planner-text-muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--planner-text)}.backfill-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.backfill-description{font-size:13px;color:var(--planner-text);margin:0}.backfill-steps{margin:0;padding-left:20px;font-size:12px;color:var(--planner-text-muted)}.backfill-steps li{margin-bottom:6px}.backfill-form-row{display:flex;flex-direction:column;gap:6px}.backfill-form-row label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted)}.backfill-form-row input[type=date]{padding:8px 12px;font-size:12px;border:1px solid var(--planner-border);border-radius:var(--radius-sm);background:var(--planner-bg);color:var(--planner-text);font-family:var(--font-base)}.backfill-form-row input[type=date]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.backfill-date-inputs{display:flex;gap:16px;margin-top:16px}.date-input-group{display:flex;flex-direction:column;gap:6px;flex:1}.date-input-group label{font-size:12px;font-weight:500;color:var(--planner-text-muted)}.date-input-group input[type=date]{padding:8px 12px;font-size:13px;border:1px solid var(--planner-border);border-radius:var(--radius-sm);background:var(--planner-surface);color:var(--planner-text)}.date-input-group input[type=date]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.backfill-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--planner-border);background:var(--planner-bg);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.toast-message{position:fixed;bottom:24px;right:24px;background:var(--planner-surface);border:1px solid var(--planner-border);border-radius:var(--radius-md);padding:12px 16px;font-size:12px;color:var(--planner-text);box-shadow:0 10px 25px -5px #0000001a;display:flex;align-items:center;gap:12px;z-index:1001;animation:slideInUp .3s ease}.toast-message a{color:var(--accent-primary);text-decoration:none;font-weight:500}.toast-message a:hover{text-decoration:underline}.toast-close{background:none;border:none;font-size:16px;color:var(--planner-text-muted);cursor:pointer;padding:0;line-height:1}.toast-close:hover{color:var(--planner-text)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}a.action-btn{display:inline-flex;align-items:center;text-decoration:none}.section-level-config{margin:12px 0;border:1px solid var(--accent-primary);border-radius:var(--radius-md);background:#3b82f608}.section-level-config .config-form-header{background:#3b82f614;border-bottom:1px solid rgba(59,130,246,.15)}.config-form-section{background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-sm);padding:12px;margin:4px 0}.config-form-section-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted);margin-bottom:10px}.backfill-range{display:flex;gap:16px}.backfill-field{flex:1;display:flex;flex-direction:column;gap:4px}.backfill-field label{font-size:10px;color:var(--planner-text-muted)}.backfill-field input[type=date],.backfill-field select{padding:6px 10px;font-size:11px;border:1px solid var(--planner-border);border-radius:var(--radius-sm);background:var(--planner-surface);color:var(--planner-text)}.backfill-field input[type=date]:focus,.backfill-field select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.checkbox-option{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--planner-text);cursor:pointer}.checkbox-option input[type=checkbox]{margin:0;accent-color:var(--accent-primary)}.config-form-select{padding:6px 10px;font-size:11px;border:1px solid var(--planner-border);border-radius:var(--radius-sm);background:var(--planner-surface);color:var(--planner-text);cursor:pointer}.config-form-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.config-form-hint{display:block;font-size:10px;color:var(--planner-text-dim);margin-top:4px;font-style:italic}.config-form-divider{display:flex;align-items:center;gap:12px;margin:16px 0 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted)}.config-form-divider:before,.config-form-divider:after{content:"";flex:1;height:1px;background:var(--planner-border)}.druid-cube-config{background:linear-gradient(135deg,#ec489908,#a855f708);border-color:#a855f733;margin-top:8px}.druid-cube-preview{background:var(--planner-surface);border:1px solid var(--planner-border);border-radius:var(--radius-sm);padding:10px 12px;margin-top:12px}.druid-cube-preview .preview-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text-muted);margin-bottom:8px}.druid-cube-preview .preview-list{display:flex;flex-direction:column;gap:4px}.druid-cube-preview .preview-item{display:flex;align-items:center;gap:6px;font-size:11px}.druid-cube-preview .preview-source{color:var(--planner-text);font-weight:500}.druid-cube-preview .preview-grain{color:var(--planner-text-muted);font-size:10px}.druid-cube-preview .preview-info{display:flex;align-items:flex-start;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--planner-border);font-size:10px;color:var(--planner-text-dim);font-style:italic}.druid-cube-preview .info-icon{flex-shrink:0}.existing-cube-name{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--planner-surface);border:1px solid var(--planner-border);border-radius:var(--radius-sm)}.existing-cube-name .cube-badge{font-size:14px}.existing-cube-name code{font-size:12px;font-weight:500;color:var(--planner-text)}.cube-name-input-group{display:flex;align-items:center;gap:2px}.cube-name-input-group .namespace-input{flex:1;min-width:100px}.cube-name-input-group .namespace-separator{color:var(--planner-text-muted);font-weight:600;font-size:14px;padding:0 2px}.cube-name-input-group .name-input{flex:1.5;min-width:120px}.selected-chips-container{padding:6px 10px;border-bottom:1px solid var(--planner-border);background:var(--planner-bg)}.selected-chips-wrapper{max-height:54px;overflow:hidden;transition:max-height .2s ease}.selected-chips-wrapper.expanded{max-height:200px;overflow-y:auto}.selected-chips{display:flex;flex-wrap:wrap;gap:4px}.chips-toggle{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px;padding:2px 6px;background:transparent;border:none;color:var(--planner-text-muted);font-size:9px;font-weight:500;cursor:pointer;width:100%;transition:color .15s ease}.chips-toggle:hover{color:var(--accent-primary)}.chips-toggle-icon{font-size:8px}.combobox-input{display:flex;flex-direction:column;gap:4px;padding:6px 10px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-md);margin:8px 12px;min-height:32px;cursor:text;transition:border-color .15s}.combobox-input:focus-within{border-color:var(--accent-primary)}.combobox-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.combobox-chips.collapsed{max-height:56px;overflow-y:auto;transition:max-height .2s ease}.combobox-chips.expanded{max-height:200px;overflow-y:auto;transition:max-height .2s ease}.combobox-input-row{display:flex;align-items:center;gap:4px}.combobox-search{flex:1;min-width:60px;border:none;background:transparent;outline:none;font-size:12px;color:var(--planner-text);padding:2px 0}.combobox-search::placeholder{color:var(--planner-text-dim)}.combobox-action{flex-shrink:0;padding:2px 8px;background:transparent;border:none;color:var(--planner-text-muted);font-size:11px;cursor:pointer;transition:color .15s}.combobox-action:hover{color:var(--accent-primary)}.chips-toggle-inline{flex-shrink:0;padding:2px 6px;background:var(--planner-bg-hover, #f1f5f9);border:1px solid var(--planner-border);border-radius:var(--radius-sm);color:var(--planner-text-muted);font-size:9px;font-weight:500;cursor:pointer;transition:all .15s ease;align-self:center}.chips-toggle-inline:hover{background:var(--planner-border);color:var(--planner-text)}.selected-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 6px;border-radius:3px;font-size:10px;font-weight:500;font-family:var(--font-display);transition:all .12s ease;white-space:nowrap;max-width:260px}.selected-chip .chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chip-label-clip{display:inline-block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}.chip-label-clip .chip-label-inner{direction:ltr;unicode-bidi:bidi-override}.selected-chip.metric-chip{background:#fad7dd;color:#a2283e;border:1px solid rgba(162,40,62,.3)}.selected-chip.metric-chip:hover{background:#f5c4cd;border-color:#a2283e80}.selected-chip.dimension-chip{background:#ffefd0;color:#a96621;border:1px solid rgba(169,102,33,.3)}.selected-chip.dimension-chip:hover{background:#ffe4b3;border-color:#a9662180}.chip-remove{display:flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;background:transparent;border:none;border-radius:2px;color:inherit;font-size:12px;font-weight:400;line-height:1;cursor:pointer;opacity:.5;transition:all .12s ease}.chip-remove:hover{opacity:1;background:#00000014}.metric-chip .chip-remove:hover{background:#ef444426}.dimension-chip .chip-remove:hover{background:#d9770626}.filters-section{min-height:0;overflow-y:auto}.draggable-dim{cursor:grab}.draggable-dim:active{cursor:grabbing}.filters-section.drop-active{outline:2px dashed var(--node_type__dimension, #a96621);outline-offset:-4px;background:#a966210f}.filter-drop-hint{padding:6px 12px;font-size:11px;font-style:italic;color:#a96621}.filter-chips-container{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-display);color:var(--accent-primary);max-width:100%}.filter-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip-edit{display:flex;min-width:0;align-items:center;padding:0;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.filter-chip-edit:hover{text-decoration:underline}.filter-chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:transparent;border:none;border-radius:2px;color:var(--accent-primary);font-size:14px;line-height:1;cursor:pointer;opacity:.6;transition:all .12s ease}.filter-chip-remove:hover{opacity:1;background:#3b82f626}.filter-input-container{display:flex;gap:8px;padding:8px 12px}.filter-input{flex:1;padding:8px 12px;background:var(--planner-bg);border:1px solid var(--planner-border);border-radius:var(--radius-md);font-size:12px;font-family:var(--font-display);color:var(--planner-text);outline:none;transition:border-color .15s}.filter-input:focus{border-color:var(--accent-primary)}.filter-input::placeholder{color:var(--planner-text-dim);font-family:var(--font-body)}.filter-add-btn{padding:8px 16px;background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.filter-add-btn:hover:not(:disabled){background:#2563eb}.filter-add-btn:disabled{opacity:.5;cursor:not-allowed}.engine-run-section{display:flex;flex-direction:column;overflow:hidden;min-height:0;flex-shrink:0}.engine-section{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--planner-border);background:var(--planner-bg);flex-shrink:0}.engine-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.engine-pills{display:flex;gap:4px}.engine-pill{padding:4px 10px;border:1px solid var(--planner-border);border-radius:12px;background:transparent;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.engine-pill:hover{border-color:#059669;color:#059669}.engine-pill.active{background:#059669;border-color:#059669;color:#fff;font-weight:500}.run-query-section{padding:16px 12px;background:var(--planner-bg);flex-shrink:0}.run-query-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0596694d}.run-query-btn:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 12px #05966966;transform:translateY(-1px)}.run-query-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.run-query-btn .run-icon{font-size:12px}.run-query-btn .spinner.small{width:14px;height:14px;border-width:2px}.run-hint{display:block;margin-top:8px;font-size:11px;color:var(--planner-text-dim);text-align:center}.results-view{flex:1;display:flex;flex-direction:column;background:var(--planner-bg);overflow:hidden}.results-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--planner-surface);border-bottom:1px solid var(--planner-border);flex-shrink:0}.back-to-plan-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid var(--planner-border);border-radius:var(--radius-md);color:var(--planner-text);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.back-to-plan-btn:hover{background:var(--planner-surface-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.back-arrow{font-size:16px}.results-summary{display:flex;align-items:center;gap:16px}.results-count{font-size:13px;font-weight:600;color:var(--planner-text)}.results-time{font-size:12px;color:var(--planner-text-muted);font-family:var(--font-display)}.results-loading-text{font-size:13px;color:var(--accent-primary);font-weight:500}.results-error-text{font-size:13px;color:var(--accent-error);font-weight:500}.results-panes{flex:1;display:flex;flex-direction:column;overflow:hidden}.sql-pane{flex:0 0 33.333%;display:flex;flex-direction:column;background:var(--planner-surface);min-height:80px;max-height:33.333%}.horizontal-resizer{height:1px;background:var(--planner-border);cursor:row-resize;flex-shrink:0;position:relative;z-index:1;transition:background .15s}.horizontal-resizer:after{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}.horizontal-resizer:hover,.horizontal-resizer:active{background:var(--accent-primary)}.sql-pane-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--planner-bg);border-bottom:1px solid var(--planner-border);flex-shrink:0}.sql-pane-title{font-size:12px;font-weight:600;color:var(--planner-text)}.sql-pane-meta{display:flex;align-items:center;gap:8px;flex:1}.sql-dialect-badge{padding:2px 8px;background:var(--accent-primary);color:#fff;font-size:10px;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;margin-left:8px;vertical-align:middle}.sql-cube-badge{padding:2px 8px;background:#5800761a;color:var(--accent-cube);font-size:10px;font-weight:500;border-radius:var(--radius-sm);border:1px solid rgba(88,0,118,.3);text-decoration:none;cursor:pointer}.sql-cube-badge:hover{background:#58007633;text-decoration:underline}.sql-freshness{padding:2px 8px;background:#f59e0b1a;color:#d97706;font-size:10px;font-weight:500;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.3);cursor:help}.sql-pane-content{flex:1;overflow:auto}.sql-pane-content pre{margin:0!important;height:100%!important}.sql-pane-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--planner-text-dim);font-size:13px}.results-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.results-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;color:var(--planner-text-muted)}.results-loading .loading-spinner.large{width:48px;height:48px;border-width:4px}.loading-hint{font-size:12px;color:var(--planner-text-dim)}.results-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;text-align:center}.results-error .error-icon{font-size:48px;color:var(--accent-error)}.results-error h3{margin:0;font-size:18px;color:var(--planner-text)}.results-error .error-message{margin:0;font-size:14px;color:var(--accent-error);max-width:400px;word-break:break-word}.copy-btn{padding:4px 12px;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.copy-btn:hover:not(:disabled){background:#2563eb}.copy-btn:disabled{opacity:.5;cursor:not-allowed}.copy-btn.copied{background:var(--accent-success)}.results-table-section{flex:1;display:flex;flex-direction:column;background:var(--planner-surface);overflow:hidden;min-height:0}.table-header{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--planner-bg);border-bottom:1px solid var(--planner-border);flex-shrink:0}.table-title{font-size:12px;font-weight:600;color:var(--planner-text)}.table-count{font-size:11px;color:var(--planner-text-muted)}.table-filters{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.filter-chip.small{padding:2px 8px;font-size:10px}.results-table-wrapper{flex:1;overflow:auto;min-height:0}.table-empty{padding:40px 20px;text-align:center;color:var(--planner-text-muted)}.table-empty p{margin:0;font-size:14px}.results-table{width:100%;border-collapse:collapse;font-size:12px}.results-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#f8fafc;color:var(--planner-text);font-weight:600;text-align:left;border-bottom:2px solid var(--planner-border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.results-table th:hover{background:#f1f5f9}.results-table th.sorted{background:#3b82f614}.results-table th .col-header-content{display:flex;align-items:center;gap:6px}.results-table th .sort-arrows{display:inline-flex;flex-direction:column;font-size:8px;line-height:1;color:var(--planner-text-dim);opacity:.4}.results-table th:hover .sort-arrows{opacity:.7}.results-table th .sort-arrow{line-height:.8}.results-table th .sort-arrow.active{color:var(--planner-primary);opacity:1}.results-table th .col-type{display:block;font-size:10px;font-weight:400;color:var(--planner-text-dim);font-family:var(--font-display)}.results-table td{padding:10px 12px;border-bottom:1px solid var(--planner-border);color:var(--planner-text);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-table tr:hover td{background:#3b82f608}.null-value{color:var(--planner-text-dim);font-style:italic;font-size:11px}.results-filters-info{margin-top:16px;padding:12px 16px;background:var(--planner-surface);border:1px solid var(--planner-border);border-radius:var(--radius-md)}.filters-label{display:block;font-size:11px;font-weight:600;color:var(--planner-text-muted);margin-bottom:8px}.filters-list{display:flex;flex-wrap:wrap;gap:6px}.filters-list .filter-chip{padding:4px 10px}.results-tabs-bar{display:flex;align-items:center;gap:12px;padding:8px 16px 0;border-bottom:1px solid var(--planner-border);background:var(--planner-surface);flex-shrink:0}.results-tabs{display:flex;gap:2px}.results-tab{padding:6px 14px;font-size:12px;font-weight:500;font-family:var(--font-body);background:none;border:none;border-bottom:2px solid transparent;color:var(--planner-text-muted);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.results-tab:hover:not(.disabled){color:var(--planner-text)}.results-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.results-tab.disabled{opacity:.4;cursor:not-allowed}.results-tabs-meta{display:flex;align-items:center;gap:8px;margin-left:auto;padding-bottom:6px}.results-chart-wrapper{flex:1;overflow:hidden;min-height:0;padding:16px 8px 8px;display:flex;align-items:stretch}.kpi-cards{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:8px}.kpi-card{background:var(--planner-surface);border:1px solid var(--planner-border);border-radius:var(--radius-lg);padding:20px 28px;min-width:160px;text-align:center}.kpi-label{font-size:11px;font-weight:600;color:var(--planner-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:700;color:var(--planner-text);font-family:var(--font-display);line-height:1.1}.kpi-type{font-size:10px;color:var(--planner-text-dim);margin-top:6px}.chart-no-data{display:flex;align-items:center;justify-content:center;width:100%;color:var(--planner-text-muted);font-size:13px}.small-multiples{display:flex;flex-direction:column;gap:0;width:100%;height:100%;overflow-y:auto}.small-multiple{flex-shrink:0;height:220px;padding:0 0 8px;border-bottom:1px solid var(--planner-border)}.small-multiple:last-child{border-bottom:none}.small-multiple-label{font-size:11px;font-weight:600;color:var(--planner-text-muted);padding:8px 0 0 8px;text-transform:uppercase;letter-spacing:.04em}.small-multiple-chart{height:188px}.cube-builder{padding:16px 24px;background:var(--planner-bg, #f8fafc);height:calc(100vh - 150px);display:flex;flex-direction:column;font-family:var( --font-body, "Inter", -apple-system, BlinkMacSystemFont, sans-serif );color:var(--planner-text, #1e293b);font-size:13px;box-sizing:border-box}.cube-builder-header{margin-bottom:16px;flex-shrink:0}.cube-builder-header h2{margin:0;font-size:18px;font-weight:600}.cube-builder-layout{display:flex;gap:16px;flex:1;min-height:0}.cube-builder-main{flex:1;min-width:0;background:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);overflow-y:auto}.cube-builder-sidebar{width:480px;flex-shrink:0;display:flex;flex-direction:column;min-height:0}.cube-builder-sidebar .cube-preview-panel{flex:1;min-height:0;display:flex;flex-direction:column}.cube-builder-sidebar .cube-preview-panel .preview-sql-container{flex:1;min-height:100px;overflow:auto}.cube-form-section{border-bottom:1px solid var(--planner-border, #e2e8f0)}.cube-form-section:last-child{border-bottom:none}.cube-form-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--planner-surface, #ffffff);border-bottom:1px solid var(--planner-border, #e2e8f0)}.cube-form-section-header h3{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text, #1e293b)}.cube-form-section-body{padding:12px 16px}.cube-field{margin-bottom:16px}.cube-field:last-child{margin-bottom:0}.cube-field-row{display:flex;gap:16px;margin-bottom:16px}.cube-field-row:last-child{margin-bottom:0}.cube-field-row .cube-field{margin-bottom:0}.cube-field-grow{flex:1;min-width:0}.cube-field-small{width:140px;flex-shrink:0}.cube-field-half{flex:1;min-width:0}.cube-field-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--planner-text-muted, #64748b);margin-bottom:6px}.cube-field-input,.cube-builder input[type=text],.cube-builder textarea,.cube-builder select{width:100%;height:36px;padding:8px 12px;font-size:13px;font-family:inherit;color:var(--planner-text, #1e293b);background:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);border-radius:var(--radius-sm, 4px);box-sizing:border-box;transition:border-color .15s ease}.cube-builder input[type=text]:focus,.cube-builder textarea:focus,.cube-builder select:focus{outline:none;border-color:var(--accent-primary, #3b82f6)}.cube-builder textarea{height:auto;min-height:36px;max-height:80px;resize:vertical}.cube-field-static{height:36px;padding:8px 12px;font-size:13px;color:var(--planner-text, #1e293b);background:var(--planner-surface-hover, #f8fafc);border:1px solid var(--planner-border, #e2e8f0);border-radius:var(--radius-sm, 4px);box-sizing:border-box}.cube-builder .NodeCreationInput,.cube-builder .CubeCreationInput,.cube-builder .NodeNameInput,.cube-builder .DisplayNameInput,.cube-builder .DescriptionInput,.cube-builder .NamespaceInput,.cube-builder .FullNameInput,.cube-builder .TagsInput,.cube-builder .cube-field-half>div,.cube-builder .cube-field-row .TagsInput,.cube-builder .cube-field-row .NodeCreationInput{display:block!important;width:100%!important;margin:0!important;padding:0!important}.cube-builder .cube-form-section-body>.NodeCreationInput,.cube-builder .cube-form-section-body>.NamespaceInput{margin-bottom:16px!important}.cube-builder div.DisplayNameInput.NodeCreationInput{padding:8px 0!important}.cube-builder .DisplayNameInput>input[type=text],.cube-builder .FullNameInput>input[type=text]{height:36px!important;padding:8px 12px!important}.cube-builder div.DescriptionInput.NodeCreationInput{padding:12px 0!important}.cube-builder .DescriptionInput textarea{min-height:80px!important;max-height:200px!important}.cube-builder .NodeCreationInput label,.cube-builder .CubeCreationInput label,.cube-builder .NamespaceInput label,.cube-builder .FullNameInput label,.cube-builder .TagsInput label,.cube-builder .cube-field-half label{display:block!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.3px!important;color:var(--planner-text-muted, #64748b)!important;margin-bottom:6px!important;padding:0!important}.cube-settings{margin-top:12px;flex-shrink:0}.save-cube-btn{width:100%;padding:10px 16px;font-size:13px;font-weight:600;font-family:inherit;background:var(--accent-primary, #3b82f6);color:#fff;border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background .15s ease}.save-cube-btn:hover{background:#2563eb}.save-cube-btn:disabled{opacity:.6;cursor:not-allowed}.save-cube-btn.save-cube-btn--saved,.save-cube-btn.save-cube-btn--saved:disabled{background:var(--accent-success, #059669);opacity:1;cursor:default}.save-cube-btn.save-cube-btn--loading,.save-cube-btn.save-cube-btn--loading:disabled{opacity:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait}.save-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:save-spinner-spin .6s linear infinite;display:inline-block}@keyframes save-spinner-spin{to{transform:rotate(360deg)}}.save-error-message{padding:8px 12px;margin-bottom:8px;background:#dc262614;color:var(--accent-error, #dc2626);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-sm, 4px);font-size:12px;line-height:1.4}.cube-preview-panel{background:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);overflow:hidden}.cube-preview-panel .scan-estimate-banner{margin:0!important;border-radius:0!important;border:none!important;border-bottom:1px solid var(--planner-border, #e2e8f0)!important;padding:10px 16px!important}.preview-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--planner-border, #e2e8f0)}.preview-section-icon{font-size:12px;color:var(--planner-text-muted, #64748b)}.preview-section-title{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--planner-text, #1e293b)}.preview-sql-container{max-height:600px;overflow:auto;background:var(--planner-surface-hover, #f8fafc);padding:16px}.preview-sql-container pre,.preview-sql-container code{border-radius:0!important;background:transparent!important;padding:0!important;margin:0!important}.preview-loading,.preview-error,.preview-empty{font-size:12px;color:var(--planner-text-muted, #64748b)}.preview-error{color:var(--accent-error, #dc2626)}.hop-section{margin-bottom:20px}.hop-section:last-child{margin-bottom:0}.hop-header{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--planner-border, #e2e8f0);margin-bottom:12px}.hop-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--planner-text, #1e293b)}.hop-count{margin-left:8px;font-size:11px;color:var(--planner-text-dim, #94a3b8)}.dimension-groups{padding-left:16px}.dimension-group{margin-bottom:12px}.dimension-group-header{font-size:13px;font-weight:400;margin:0 0 6px;color:var(--planner-text, #1e293b)}.dimension-group-header a{color:var(--accent-primary, #3b82f6);text-decoration:none}.dimension-group-header a:hover{text-decoration:underline}.dimension-group-header .via-text{color:var(--planner-text-muted, #64748b)}.cube-builder .cube-field-half>div>div{font-size:13px}.cube-builder div[class*=multiValue]{margin:2px 4px 2px 0!important;border-radius:3px!important}.cube-builder div[class*=multiValueLabel]{font-size:10px!important;font-weight:500!important}.cube-builder div[class*=multiValueRemove] svg{width:12px!important;height:12px!important}.cube-builder div[class*=-Input],.cube-builder div[class*=Input]{margin:0!important;padding:0!important}.cube-builder div[class*=Input]>div,.cube-builder div[class*=Input]>input{height:20px!important;line-height:20px!important;margin:0!important;padding:0!important;font-size:13px!important}.cube-builder div[class*=Input] [data-value]{height:20px!important}.cube-builder .NamespaceInput>div,.cube-builder .FullNameInput>div{height:auto!important;min-height:36px!important}.node-builder{padding:16px 24px;background:var(--planner-bg, #f8fafc);font-family:var( --font-body, "Inter", -apple-system, BlinkMacSystemFont, sans-serif );color:var(--planner-text, #1e293b);font-size:13px;box-sizing:border-box;text-align:left}.node-builder-header{margin:0 auto 16px;max-width:1000px}.node-builder-header h2{margin:0;font-size:18px;font-weight:600}.node-builder-main{background:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);padding:16px;max-width:1000px;margin:0 auto}.node-builder .message{max-width:1000px;margin:0 auto 12px;padding:8px 12px;border-radius:var(--radius-sm, 4px);font-size:13px;line-height:1.4;font-weight:500;display:flex;align-items:center;gap:0;border:1px solid transparent}.node-builder .message svg{height:14px!important;width:14px!important;flex-shrink:0;margin:0 8px 0 0!important}.node-builder .message.success{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.node-builder .message.alert{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.node-builder .message.warning{background:#fffbeb;border-color:#fde68a;color:#b45309}.node-builder .message a{color:inherit;text-decoration:underline;font-weight:600;margin-left:4px}.node-builder-form-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--planner-border, #e2e8f0)}.node-builder-form-header h2{margin:0;font-size:18px;font-weight:600}.node-builder-form-header .NodeModeInput{margin:0!important;width:160px!important;flex-shrink:0}.node-builder-form-header .NodeModeInput label{display:none!important}.node-builder .node-group-last,.node-builder .node-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.node-builder .MetricMetadataFields{gap:12px}.node-builder .MetricMetadataFields>*{flex:1;min-width:0;margin:0!important}.node-builder form .DisplayNameInput input,.node-builder form .FullNameInput input,.node-builder form .NodeNameInput input,.node-builder form .DescriptionInput textarea,.node-builder form .NodeModeInput select,.node-builder form .QueryInput input{width:100%;height:36px;padding:8px 12px;font-size:13px;font-family:inherit;color:var(--planner-text, #1e293b);background:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);border-radius:var(--radius-sm, 4px);box-shadow:none;box-sizing:border-box;transition:border-color .15s ease;text-transform:none}.node-builder form .DisplayNameInput input:focus,.node-builder form .FullNameInput input:focus,.node-builder form .DescriptionInput textarea:focus,.node-builder form .NodeModeInput select:focus{outline:none;border-color:var(--accent-primary, #3b82f6)}.node-builder form div[class*=-control] input{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;height:auto!important;min-height:0!important;font-size:13px!important}.node-builder form textarea{height:auto;min-height:80px;max-height:200px;resize:vertical}.node-builder form label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--planner-text-muted, #64748b);margin-bottom:6px;font-family:inherit}.node-builder .NodeCreationInput,.node-builder .CubeCreationInput,.node-builder .DisplayNameInput,.node-builder .FullNameInput,.node-builder .NamespaceInput,.node-builder .DescriptionInput,.node-builder .QueryInput,.node-builder .NodeModeInput,.node-builder .RequiredDimensionsInput{display:block;width:100%;margin:0 0 16px;padding:0;box-sizing:border-box}.node-builder .DisplayNameInput{width:100%}.node-builder .NamespaceInput input,.node-builder .FullNameInput input{width:100%;border:1px solid var(--planner-border, #e2e8f0);font-family:inherit;font-size:13px;font-weight:400;padding:8px 12px;color:var(--planner-text, #1e293b)}.node-builder .FullNameField{background:var(--planner-surface-hover, #f8fafc)!important;color:var(--planner-text-muted, #64748b)!important}.node-builder .DescriptionInput textarea{width:100%;background:var(--planner-surface, #ffffff);border:1px solid var(--planner-border, #e2e8f0);border-radius:var(--radius-sm, 4px);box-shadow:none;padding:8px 12px;font-family:inherit;font-size:13px;margin:0;min-height:80px;max-height:200px}.node-builder .QueryInput{width:100%;max-width:100%}.node-builder .MetricQueryInput{height:auto}.node-builder .NodeModeInput select{background:var(--planner-surface, #ffffff);border-radius:var(--radius-sm, 4px);padding:8px 12px;font-family:inherit;font-size:13px;border:1px solid var(--planner-border, #e2e8f0)}.node-builder form .SelectInput,.node-builder form .MultiSelectInput,.node-builder form .TagsInput{background:transparent!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important;font-size:13px}.node-builder form .SelectInput div[class*=-singleValue],.node-builder form .SelectInput div[class*=-placeholder],.node-builder form .SelectInput div[class*=-input],.node-builder form .SelectInput div[class*=-IndicatorsContainer],.node-builder form .SelectInput div[class*=-indicatorContainer],.node-builder form .SelectInput span[class*=-indicatorSeparator],.node-builder form .MultiSelectInput div[class*=-placeholder],.node-builder form .MultiSelectInput div[class*=-input],.node-builder form .MultiSelectInput div[class*=-IndicatorsContainer],.node-builder form .MultiSelectInput div[class*=-indicatorContainer],.node-builder form .MultiSelectInput span[class*=-indicatorSeparator],.node-builder form .TagsInput div[class*=-placeholder],.node-builder form .TagsInput div[class*=-input],.node-builder form .TagsInput div[class*=-IndicatorsContainer],.node-builder form .TagsInput div[class*=-indicatorContainer],.node-builder form .TagsInput span[class*=-indicatorSeparator]{background:transparent!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important}.node-builder form .SelectInput input,.node-builder form .MultiSelectInput input,.node-builder form .TagsInput input{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;height:auto!important;font-size:13px!important}.node-builder form div[class*=-control]{background:var(--planner-surface, #ffffff)!important;border:1px solid var(--planner-border, #e2e8f0)!important;border-radius:var(--radius-sm, 4px)!important;box-shadow:none!important}.node-builder form div[class*=-control]:hover{border-color:var(--planner-border, #cbd5e1)!important}.node-builder form div[class*=-control][class*=--is-focused]{border-color:var(--accent-primary, #3b82f6)!important;box-shadow:none!important}.node-builder form span[class*=-indicatorSeparator]{display:none!important}.node-builder .node-builder-main form .SelectInput>div:first-child,.node-builder .node-builder-main form .MultiSelectInput>div:first-child,.node-builder .node-builder-main form .TagsInput>div:first-child{background:var(--planner-surface, #ffffff)!important;background-color:var(--planner-surface, #ffffff)!important;border:1px solid var(--planner-border, #e2e8f0)!important;border-radius:var(--radius-sm, 4px)!important;box-shadow:none!important}.node-builder .node-builder-main form .SelectInput,.node-builder .node-builder-main form .MultiSelectInput,.node-builder .node-builder-main form .TagsInput{background:transparent!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.node-builder form div[class*=-ValueContainer],.node-builder form div[class*=valueContainer]{padding:2px 6px!important}.node-builder form .SelectInput div[class*=-menu],.node-builder form .MultiSelectInput div[class*=-menu],.node-builder form .TagsInput div[class*=-menu],.node-builder form div[class*=-menu]{background:var(--planner-surface, #ffffff)!important;background-color:var(--planner-surface, #ffffff)!important;border:1px solid var(--planner-border, #e2e8f0)!important;border-radius:var(--radius-sm, 4px)!important;box-shadow:0 4px 12px #00000014!important;z-index:10}.node-builder form .SelectInput div[class*=-MenuList],.node-builder form .MultiSelectInput div[class*=-MenuList],.node-builder form .TagsInput div[class*=-MenuList],.node-builder form div[class*=-MenuList]{background:var(--planner-surface, #ffffff)!important;background-color:var(--planner-surface, #ffffff)!important;padding:4px 0!important}.node-builder form .SelectInput div[class*=-option],.node-builder form .MultiSelectInput div[class*=-option],.node-builder form .TagsInput div[class*=-option],.node-builder form div[class*=-option]{background:transparent!important;color:var(--planner-text, #1e293b)!important;padding:6px 12px!important;cursor:pointer}.node-builder form div[class*=-option]:hover,.node-builder form div[class*=-option]:active,.node-builder form div[class*=-option][class*=--is-focused]{background:var(--planner-surface-hover, #f1f5f9)!important}.node-builder div[class*=multiValue]{background:var(--planner-surface-hover, #f1f5f9)!important;border-radius:3px!important;margin:2px 4px 2px 0!important;padding:0!important}.node-builder div[class*=multiValueLabel]{font-size:11px!important;font-weight:500!important;color:var(--planner-text, #1e293b)!important;background:transparent!important;padding:2px 4px!important}.node-builder div[class*=multiValueRemove]:hover{background:#dc26261a!important;color:var(--accent-error, #dc2626)!important}.node-builder div[class*=-indicatorContainer]{padding:4px 8px!important;color:var(--planner-text-muted, #64748b)!important}.node-builder .node-row{display:flex;gap:16px;margin:0 0 16px;align-items:flex-end}.node-builder .node-row>*{flex:1;min-width:0;margin:0!important}.node-builder .node-row-narrow{flex:0 0 160px!important}.node-builder .node-row-grow{flex:1;min-width:0}.node-builder .NodeModeInput select{width:100%}.node-builder form .save-node-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:160px;margin:16px 0 0;padding:10px 20px;font-size:13px;font-weight:600;font-family:inherit;text-transform:none;letter-spacing:0;background:var(--accent-primary, #3b82f6);color:#fff;border:none;border-radius:var(--radius-sm, 4px);box-shadow:none;cursor:pointer;transition:background .15s ease}.node-builder form .save-node-btn:hover{background:#2563eb}.node-builder form .save-node-btn:disabled{opacity:.6;cursor:not-allowed}.node-builder form .save-node-btn.save-node-btn--saved,.node-builder form .save-node-btn.save-node-btn--saved:disabled{background:var(--accent-success, #059669);opacity:1;cursor:default}.node-builder form .save-node-btn.save-node-btn--loading,.node-builder form .save-node-btn.save-node-btn--loading:disabled{opacity:1;cursor:wait}.node-builder form .DisplayNameInput span,.node-builder form .FullNameInput span,.node-builder form .NamespaceInput span{color:var(--accent-error, #dc2626);font-size:11px}.node-builder .field-help-text{font-size:11px;color:var(--planner-text-muted, #64748b);margin:2px 0 6px}
