.context-menu{z-index:var(--z-popover,1001);background:var(--color-white);border:1px solid var(--color-border);min-width:160px;max-width:240px;box-shadow:var(--shadow-elevated,0 10px 25px #00000026);border-radius:8px;padding:4px;animation:.12s ease-out contextMenuFadeIn;position:fixed}.context-menu--scrollable{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--df-scrollbar-thumb) transparent;max-height:calc(100vh - 24px);overflow-y:auto}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu__item{width:100%;color:var(--color-text-primary);font-size:13px;font-weight:500;line-height:16px;font-family:var(--font-ui);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;transition:background-color .15s,color .15s;display:flex}.context-menu__item:hover,.context-menu__item:focus-visible{background-color:var(--color-primary-subtle,#ecfdf5);color:var(--color-primary,#10b981);outline:none}.context-menu__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.context-menu__item--danger{color:#b91c1c}.context-menu__item--danger:hover,.context-menu__item--danger:focus-visible{color:#b91c1c;background-color:#fef2f2}.context-menu__item--help{color:var(--color-text-secondary,#6b7280);font-weight:450}.context-menu__icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.context-menu__app-icon{-o-object-fit:contain;object-fit:contain;border-radius:3px;width:16px;height:16px}.context-menu__spinner{animation:.9s linear infinite contextMenuSpin}@keyframes contextMenuSpin{to{transform:rotate(360deg)}}.context-menu__check{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.context-menu__label{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.context-menu__copy{flex:1;min-width:0}.context-menu__description{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;font-weight:400;line-height:14px;display:block;overflow:hidden}.context-menu__item:hover .context-menu__description,.context-menu__item:focus-visible .context-menu__description{color:currentColor;opacity:.72}.context-menu__separator{background-color:var(--color-border-subtle,#e5e7eb);height:1px;margin:4px 8px}.context-menu__item-wrapper{position:relative}.context-menu__item--has-submenu{padding-right:28px}.context-menu__item--submenu-open{background-color:var(--color-primary-subtle,#ecfdf5);color:var(--color-primary,#10b981)}.context-menu__submenu-arrow{opacity:.5;transition:opacity .15s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.context-menu__item--has-submenu:hover .context-menu__submenu-arrow,.context-menu__item--submenu-open .context-menu__submenu-arrow{opacity:1}.context-menu__submenu{background:var(--color-white);border:1px solid var(--color-border);min-width:160px;max-width:200px;box-shadow:var(--shadow-elevated,0 10px 25px #00000026);z-index:calc(var(--z-popover,1001) + 1);border-radius:8px;padding:4px;animation:.12s ease-out contextMenuFadeIn;position:absolute;top:-4px}.context-menu__submenu--scrollable{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--df-scrollbar-thumb) transparent;overflow-y:auto}.context-menu__submenu--scrollable::-webkit-scrollbar{width:8px;height:8px}.context-menu__submenu--scrollable::-webkit-scrollbar-track{background:0 0}.context-menu__submenu--scrollable::-webkit-scrollbar-thumb{background:var(--df-scrollbar-thumb);border-radius:999px}.context-menu__submenu--scrollable::-webkit-scrollbar-thumb:hover{background:var(--df-scrollbar-thumb-hover)}.context-menu__submenu--right{left:calc(100% - 4px)}.context-menu__submenu--left{right:calc(100% - 4px)}.branch-selector{display:inline-block;position:relative}.branch-selector__trigger{background-color:var(--color-bg-panel);border:1px solid var(--color-border);cursor:pointer;font-size:12px;font-family:var(--font-ui);color:var(--color-text-primary);border-radius:6px;align-items:center;gap:6px;min-width:110px;max-width:200px;padding:6px 10px;transition:all .15s;display:flex}.branch-selector__trigger:hover:not(:disabled){background-color:var(--color-bg-elevated);border-color:var(--color-primary)}.branch-selector__trigger:disabled{opacity:.5;cursor:not-allowed}.branch-selector__trigger--open{background-color:var(--color-bg-elevated);border-color:var(--color-primary)}.branch-selector__trigger--branch{border-color:var(--color-primary);background-color:var(--color-primary-subtle)}.branch-selector__icon{color:var(--color-text-secondary);flex-shrink:0}.branch-selector__label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.branch-selector__chevron{color:var(--color-text-secondary);flex-shrink:0;transition:transform .2s}.branch-selector__chevron--open{transform:rotate(180deg)}.branch-selector__dropdown{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);min-width:240px;max-width:320px;box-shadow:var(--shadow-elevated);z-index:1000;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.branch-selector__list{scrollbar-width:thin;scrollbar-color:var(--df-scrollbar-thumb) transparent;max-height:240px;overflow-y:auto}.branch-selector__list::-webkit-scrollbar{width:8px;height:8px}.branch-selector__list::-webkit-scrollbar-track{background:0 0}.branch-selector__list::-webkit-scrollbar-thumb{background:var(--df-scrollbar-thumb);border-radius:999px}.branch-selector__list::-webkit-scrollbar-thumb:hover{background:var(--df-scrollbar-thumb-hover)}.branch-selector__item-row{align-items:center;display:flex}.branch-selector__item-row:hover{background-color:var(--color-primary-subtle)}.branch-selector__item{cursor:pointer;width:100%;font-size:12px;font-family:var(--font-ui);color:var(--color-text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;transition:background-color .1s;display:flex}.branch-selector__item:hover{background-color:var(--color-primary-subtle)}.branch-selector__item-check{width:14px;height:14px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.branch-selector__item-icon{color:var(--color-text-muted);flex-shrink:0}.branch-selector__item--current .branch-selector__item-icon{color:var(--color-primary)}.branch-selector__item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.branch-selector__item-time{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.branch-selector__archive{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px 10px;transition:color .1s;display:flex}.branch-selector__archive:hover{color:var(--color-error,#e5484d)}.branch-selector__section-header{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);padding:8px 12px 4px;font-size:10px;font-weight:600}.branch-selector__separator{background-color:var(--color-border);height:1px;margin:4px 0}.branch-selector__action{cursor:pointer;width:100%;font-size:12px;font-family:var(--font-ui);color:var(--color-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;transition:background-color .1s;display:flex}.branch-selector__action:hover{background-color:var(--color-primary-subtle)}.branch-selector__action--promote{color:var(--color-success,#30a46c)}.branch-selector__create{align-items:center;gap:6px;padding:6px 12px;display:flex}.branch-selector__create-input{font-size:12px;font-family:var(--font-ui);color:var(--color-text-primary);background-color:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:6px;flex:1;min-width:0;padding:6px 8px}.branch-selector__create-input:focus{border-color:var(--color-primary);outline:none}.branch-selector__create-confirm{font-size:12px;font-family:var(--font-ui);color:var(--color-on-primary,#fff);background-color:var(--color-primary);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:6px 10px}.branch-selector__create-confirm:disabled{opacity:.5;cursor:not-allowed}.data-source-panel{background:var(--color-bg-panel);border-right:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);flex-direction:column;height:100%;transition:width .2s;display:flex;position:relative;overflow:hidden}.data-source-panel--collapsed{width:48px}.data-source-panel--expanded{width:240px}.data-source-panel--fill-parent{width:100%!important;min-width:0!important}.data-source-panel--workspace{background:0 0;border-right:none}.data-source-panel--workspace .data-source-panel__content{background:0 0}.data-source-panel__header{border-bottom:1px solid color-mix(in srgb, var(--color-border) 68%, transparent);background:linear-gradient(to bottom, color-mix(in srgb, var(--color-bg-panel) 93%, #fff), color-mix(in srgb, var(--color-bg-panel) 98%, #f5f7fa));flex-direction:column;align-items:stretch;gap:9px;min-height:78px;padding:10px 12px 11px;display:flex}.data-source-panel__header--tabs-only{gap:0;min-height:0}.data-source-panel__header-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.data-source-panel__header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.data-source-panel__title{letter-spacing:.1px;color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.data-source-panel--collapsed .data-source-panel__title{display:none}.data-source-panel__title-row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.data-source-panel__title-stack{flex-direction:column;gap:2px;min-width:0;display:flex}.data-source-panel__subtitle{color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.data-source-panel__back-btn{cursor:pointer;background:color-mix(in srgb, var(--color-bg-panel) 72%, #eef2f7);border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background-color .15s,border-color .15s;display:flex}.data-source-panel__back-btn:hover{background-color:color-mix(in srgb, var(--color-primary-subtle) 88%, #eef6ff);border-color:color-mix(in srgb, var(--color-primary) 36%, var(--color-border))}.data-source-panel__back-btn svg{color:var(--color-text-main);stroke-width:2.3px;width:16px;height:16px}.data-source-panel__back-btn:hover svg{color:var(--color-primary)}.data-source-panel__mode-row{border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);background:color-mix(in srgb, var(--color-bg-main) 84%, #f5f7fa);border-radius:9px;align-items:center;gap:6px;padding:3px;display:flex}.data-source-panel__mode-btn{cursor:pointer;min-width:0;height:30px;color:var(--color-text-secondary);letter-spacing:.25px;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:10px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:flex}.data-source-panel__mode-btn span{line-height:1}.data-source-panel__mode-btn svg{stroke-width:2.2px;flex-shrink:0;width:18px;height:18px}.data-source-panel__mode-btn:hover{background-color:color-mix(in srgb, var(--color-bg-panel) 90%, #fff);border-color:color-mix(in srgb, var(--color-border) 84%, transparent);color:var(--color-text-main)}.data-source-panel__mode-btn.active{background-color:color-mix(in srgb, var(--color-bg-panel) 94%, #fff);border-color:color-mix(in srgb, var(--color-border) 88%, transparent);color:var(--color-text-main);box-shadow:0 1px 2px #0f172a14}.data-source-panel__collapse-btn{border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 72%, #eef2f7);width:30px;height:30px;color:var(--color-text-main);border-radius:7px;justify-content:center;align-items:center;display:flex}.data-source-panel__collapse-btn svg{color:var(--color-text-main);stroke:var(--color-text-main);opacity:1;width:16px;height:16px}.data-source-panel__collapse-btn:hover svg{color:var(--color-primary);stroke:var(--color-primary)}.close-x{flex:0 0 14px;width:14px;min-width:14px;max-width:14px;height:14px;display:inline-block;position:relative}.close-x:before,.close-x:after{content:"";transform-origin:50%;background-color:currentColor;border-radius:999px;width:14px;height:2px;position:absolute;top:50%;left:50%}.close-x:before{transform:translate(-50%,-50%)rotate(45deg)}.close-x:after{transform:translate(-50%,-50%)rotate(-45deg)}.data-source-panel__content{background:color-mix(in srgb, var(--color-bg-panel) 94%, #f8fafc);flex:1;overflow:hidden auto}.data-source-panel__content--views{overflow-y:hidden}:is(.data-source-panel__content,.data-browser-panel__content,.details-content,.views-panel){scrollbar-width:thin;scrollbar-color:var(--df-scrollbar-thumb) transparent}:is(.data-source-panel__content,.data-browser-panel__content,.details-content,.views-panel)::-webkit-scrollbar{width:8px;height:8px}:is(.data-source-panel__content,.data-browser-panel__content,.details-content,.views-panel)::-webkit-scrollbar-track{background:0 0}:is(.data-source-panel__content,.data-browser-panel__content,.details-content,.views-panel)::-webkit-scrollbar-thumb{background:var(--df-scrollbar-thumb);border-radius:999px}:is(.data-source-panel__content,.data-browser-panel__content,.details-content,.views-panel)::-webkit-scrollbar-thumb:hover{background:var(--df-scrollbar-thumb-hover)}.data-source-panel__location-row{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 90%, #fff);border-radius:8px;align-items:center;gap:.32rem;min-height:30px;padding:0 9px;display:flex}.data-source-panel__crumb{color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1;overflow:hidden}.data-source-panel__crumb--active{color:var(--color-text-main);font-weight:600}.data-source-panel__crumb-sep{color:var(--color-text-muted);font-size:10px;line-height:1}.data-source-panel__content-header{z-index:1;border-bottom:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);letter-spacing:.3px;text-transform:uppercase;color:var(--color-text-light);background:linear-gradient(to bottom, color-mix(in srgb, var(--color-bg-main) 88%, #fff), color-mix(in srgb, var(--color-bg-main) 96%, #f8fafc));justify-content:space-between;align-items:center;padding:6px 10px;font-size:10px;font-weight:700;display:flex;position:sticky;top:0}.data-source-panel__statusbar{border-top:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 90%, #f8fafc);min-height:28px;color:var(--color-text-light);justify-content:space-between;align-items:center;gap:8px;padding:4px 10px;font-size:10px;display:flex}.data-source-panel__status-left,.data-source-panel__status-right{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.data-source-panel__status-right{text-align:right}@media (width<=720px){.data-source-panel__status-right,.data-source-panel__mode-btn span{display:none}}.data-source-panel__resizer{cursor:col-resize;z-index:2;background:0 0;width:8px;height:100%;position:absolute;top:0;right:-3px}.data-source-panel__resizer:hover{background:var(--color-primary-subtle)}.data-source-panel--collapsed .data-source-panel__content{display:none}.data-source-panel__empty{text-align:center;color:var(--color-text-muted);padding:20px 12px;font-size:12px}.data-tree-compact{container:data-tree-container/inline-size}.data-tree-compact .tree-item{padding:4px 6px}.data-source-panel--explorer .data-tree-compact{padding:4px 0}.data-source-panel--explorer .data-tree-compact .tree-item{border-radius:6px;margin:1px 6px;padding:2px 6px}.data-source-panel--explorer .data-tree-compact .tree-content{border-radius:5px}.data-source-panel--explorer .data-tree-compact .tree-section-header{z-index:1;background:color-mix(in srgb, var(--color-bg-main) 90%, #f1f5f9);border-radius:6px;margin:2px 6px;padding:6px 8px 4px;position:sticky;top:0}.data-source-panel--explorer .data-tree-compact .tree-section-empty{background:color-mix(in srgb, var(--color-bg-main) 75%, #f8fafc);border-radius:6px;margin:2px 6px;padding:6px 10px;font-style:normal}.data-source-panel--explorer .data-tree-compact .tree-item-selected{box-shadow:inset 0 0 0 1px #2563eb99;background-color:#3b82f62b!important}.data-tree-compact .tree-content{gap:6px}.data-tree-compact .tree-icon{flex-shrink:0;width:14px;height:14px}.data-tree-compact .tree-name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:11px;overflow:hidden}.data-tree-compact .tree-badges{flex-wrap:wrap;gap:2px}.data-tree-compact .tree-badge{min-height:16px;padding:0 4px;font-size:9px}@container data-tree-container (width<=200px){.data-tree-compact .tree-badges{display:none}.data-tree-compact .tree-name{max-width:100px}}.data-tree-compact .tree-item--draggable{cursor:grab;transition:background-color .15s,transform .1s}.data-tree-compact .tree-item--draggable:hover{background-color:var(--color-input-node-subtle)}.data-tree-compact .tree-item--draggable:active{cursor:grabbing;transform:scale(.98)}.views-list-compact{padding:1.25rem .75rem}.views-list-compact__section{margin-bottom:1rem}.views-list-compact__section:last-child{margin-bottom:0}.views-list-compact__section-title{letter-spacing:.025em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.4rem;padding:0 .4rem;font-size:.8rem;font-weight:500}.views-list-compact__item{cursor:pointer;text-align:left;width:100%;font-size:.9rem;font-weight:500;font-family:var(--font-ui);color:var(--color-text-main);background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.45rem .5rem;transition:background-color .15s,color .15s;display:flex}.views-list-compact__item:hover{background-color:var(--color-bg-main)}.views-list-compact__item svg{color:var(--color-text-main);opacity:.7;flex-shrink:0;width:18px;height:18px}.views-list-compact__item[draggable=true]{cursor:grab}.views-list-compact__item[draggable=true]:active{cursor:grabbing;transform:scale(.98)}.views-list-compact__item--child{padding-left:1.35rem}.pipeline-tab__left-panels{height:100%;display:flex}.pipeline-list-panel{background:var(--color-bg-panel);flex-direction:column;height:100%;display:flex;position:relative}.pipeline-list-panel__header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pipeline-list-panel__title{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:600}.pipeline-list-panel__list{flex:1;padding:8px;overflow:hidden auto}.pipeline-list-panel__item{border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;display:flex}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:0;display:flex}.topbar-spacer{flex:auto;align-items:center;min-width:0;display:flex}.topbar-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.topbar--search-only{justify-content:flex-end}.topbar--search-only .topbar-actions{flex:0 320px;justify-content:flex-end;width:100%}.topbar--search-only .search-container{flex:auto;width:100%;min-width:220px;max-width:none}.search-container{flex:220px;width:auto;min-width:160px;max-width:240px;position:relative}.search-input{background-color:var(--color-white);border:1px solid #e5e7eb;border-radius:99px;outline:none;width:100%;padding:.45rem .75rem .45rem 2rem;font-size:.85rem;transition:border-color .2s}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #34d39933}.search-icon{color:#9ca3af;width:14px;height:14px;position:absolute;top:50%;left:.6rem;transform:translateY(-50%)}.toggle-btn{color:#6b7280;border-radius:.25rem;padding:.3rem;display:flex}.toggle-btn:hover{background-color:#f3f4f6}.toggle-btn.active{background-color:var(--color-bg-main);color:var(--color-primary)}@media (width<=640px){.topbar{gap:.45rem}.topbar-spacer{display:none}.topbar-actions{justify-content:flex-start;gap:.4rem .45rem}.topbar-actions .search-container{flex:100%;order:-1;width:100%;min-width:0;max-width:none}.data-mode-toggle{gap:.2rem;margin-right:0}.data-mode-btn{min-height:32px;padding:.3rem .48rem;font-size:.72rem}.toggle-btn{justify-content:center;align-items:center;width:32px;height:32px}.tree-item{min-height:34px;padding-top:.25rem;padding-bottom:.25rem}.tree-content{min-height:30px}.tree-badges{gap:.18rem}}.create-folder-btn{background:var(--color-white);border:1px solid #e5e7eb;border-radius:.5rem;margin-left:.5rem}.create-folder-btn:hover{background-color:var(--color-primary-subtle,#ecfdf5);color:var(--color-primary);border-color:var(--color-primary)}.details-btn{background-color:var(--color-white);color:var(--color-text-light);border:1px solid #e5e7eb;border-radius:.5rem;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.85rem;font-weight:500;display:flex}.tree-folder-name-input{border:1.5px solid var(--color-primary,#10b981);min-width:60px;max-width:200px;color:var(--color-text-main,#0f172a);caret-color:var(--color-text-main,#0f172a);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 14%, transparent);background:color-mix(in srgb, var(--color-bg-panel,#fff) 92%, var(--color-bg-main,#fafbfc));border-radius:3px;outline:none;flex:1;padding:1px 4px;font-size:.875rem;font-weight:500}.tree-folder-name-input:focus{border-color:var(--color-primary,#10b981);background:var(--color-bg-panel,#fff)}.tree-folder-name-input::placeholder{color:var(--color-text-muted,#94a3b8)}.tree-folder--editing{background:#10b9810d}.views-panel{background-color:var(--color-white);border-right:1px solid #0000000d;flex-direction:column;flex:1;width:240px;min-width:0;min-height:0;padding:1.25rem .75rem;display:flex;overflow:hidden auto}.data-source-panel .views-panel{width:100%;height:100%}.views-panel--embedded{background:0 0;border-right:none;width:100%;height:100%;padding:.85rem 1rem}.explorer-pipelines-panel--embedded{flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex}.explorer-pipelines-panel--embedded .explorer-pipelines-panel__content{width:100%;min-width:0;height:100%;min-height:0}.views-section{min-width:0;margin-bottom:1rem}.views-panel .views-section:last-child{margin-bottom:0}.views-section-title{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.4rem;padding:0 .4rem;font-size:.8rem;font-weight:500}.views-list{flex-direction:column;gap:.1rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.view-item{width:100%;color:var(--color-text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;min-width:0;padding:.45rem .5rem;font-size:.9rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.view-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.view-item .view-item-label-stack,.views-list-compact__item .view-item-label-stack{white-space:normal;flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;min-width:0;display:flex;overflow:hidden}.view-item .view-item-title,.view-item .view-item-meta,.views-list-compact__item .view-item-title,.views-list-compact__item .view-item-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.view-item .view-item-meta,.views-list-compact__item .view-item-meta{color:var(--color-text-light);font-size:.72rem;font-weight:400;line-height:1.2}.view-item:hover{background-color:var(--color-bg-main)}.view-item.active{background-color:var(--color-bg-main);color:var(--color-primary);font-weight:600}.view-item--with-actions{cursor:default}.view-item-content-button{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;padding:0;display:flex}.view-item-content-button svg,.view-item svg{opacity:.7;flex-shrink:0}.view-item.active svg{opacity:1}.report-list-item{align-items:flex-start;gap:.65rem}.report-list-item__body{flex-direction:column;flex:1;gap:.28rem;min-width:0;display:flex}.report-list-item__title{min-width:0;color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;line-height:1.25;overflow:hidden}.report-list-item__meta{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.report-list-item__meta-text{min-width:0;max-width:100%;color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;line-height:1.2;overflow:hidden}.report-list-item__meta-chip,.report-list-item__status{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;font-size:.68rem;line-height:1;display:inline-flex}.report-list-item__meta-chip{background:color-mix(in srgb, var(--color-bg-main) 82%, transparent);color:var(--color-text-secondary);border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);padding:.2rem .4rem}.report-list-item__status{border:1px solid #0000;margin-top:.05rem;margin-left:auto;padding:.22rem .44rem;font-weight:600}.report-list-item__status--ready{color:#10b981;background:#10b98124;border-color:#10b98142}.report-list-item__status--active{color:#3b82f6;background:#3b82f624;border-color:#3b82f642}.report-list-item__status--failed{color:#ef4444;background:#ef444424;border-color:#ef444442}.report-list-item__status--neutral{color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-bg-main) 82%, transparent);border-color:color-mix(in srgb, var(--color-border) 76%, transparent)}.view-item--child{padding-left:1.35rem}.view-item-status{letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;flex-shrink:0;margin-left:auto;padding:.18rem .38rem;font-size:.68rem;line-height:1}.view-item-status--online{color:var(--color-primary-dark,#047857);background:color-mix(in srgb, var(--color-primary,#10b981) 14%, transparent);border-color:color-mix(in srgb, var(--color-primary,#10b981) 32%, transparent)}.view-item-status--offline{color:var(--color-text-light,#6b7280);background:#9ca3af26;border-color:#9ca3af59}.view-item-actions{opacity:0;pointer-events:none;align-items:center;gap:.2rem;margin-left:auto;transition:opacity .15s;display:flex}.view-item-actions--inline{margin-left:0}.view-item:hover .view-item-actions,.view-item.active .view-item-actions,.view-item--editing .view-item-actions,.view-item:focus-within .view-item-actions{opacity:1;pointer-events:auto}.view-item-action-btn{color:var(--color-text-light);border-radius:.25rem;width:20px!important;height:20px!important;min-height:20px!important}.view-item-action-btn:hover{color:var(--color-primary)}.view-item-action-btn--danger:hover{color:var(--color-error,#dc2626)}.view-item--editing{border:1px solid var(--color-primary);background:var(--color-white);box-shadow:0 0 0 2px #10b9811f}.view-item-edit-input{min-width:0;color:var(--color-text-main);background:0 0;border:none;outline:none;flex:1;font-size:.86rem;font-weight:500}.views-loading{color:var(--color-text-light);padding:.45rem .5rem;font-size:.8rem}.views-section-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .5rem;display:flex}.views-section-header .views-section-title{margin-bottom:0;padding:0}.views-section-filter-btn{width:24px;height:24px;color:var(--color-text-light);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.views-section-filter-btn:hover{color:var(--color-text-main);background:color-mix(in srgb, var(--color-bg-main) 82%, transparent);border-color:color-mix(in srgb, var(--color-border) 72%, transparent)}.views-section-filter-btn--active{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary-subtle) 82%, transparent);border-color:color-mix(in srgb, var(--color-primary) 28%, transparent)}.views-add-btn{background:color-mix(in srgb, var(--color-primary) 7%, var(--color-bg-main));border:1px solid color-mix(in srgb, var(--color-primary) 20%, var(--color-border));width:26px;min-width:26px;height:26px;min-height:26px;color:var(--color-primary-dark);cursor:pointer;opacity:1;border-radius:.25rem;justify-content:center;align-items:center;line-height:1;transition:all .15s;display:flex}.views-add-btn__icon{stroke:currentColor;opacity:1;flex-shrink:0;width:15px;height:15px;display:block}.views-add-btn:hover{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-bg-elevated));border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));color:var(--color-primary);box-shadow:0 1px 3px #10b9812e}.views-add-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);outline-offset:1px}.views-add-btn:active{transform:scale(.92)}.views-add-btn:disabled{opacity:.3;cursor:not-allowed}.view-create-form{margin-bottom:.5rem;padding:0 .25rem;animation:.2s ease-out viewFormSlideIn}@keyframes viewFormSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.view-input-wrapper{background:var(--color-white);border:1.5px solid var(--color-primary);border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .5rem;transition:all .15s;display:flex;box-shadow:0 0 0 3px #10b9811a}.view-input-icon{color:var(--color-primary);opacity:.8;flex-shrink:0}.view-input{min-width:0;color:var(--color-text-main);background:0 0;border:none;outline:none;flex:1;font-size:.875rem;font-weight:500}.view-input::placeholder{color:var(--color-text-light);font-weight:400}.view-input--error{color:#dc2626}.view-input-cancel{width:18px;height:18px;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.view-input-cancel:hover{color:var(--color-text-main);background:#00000014}.view-input-spinner{color:var(--color-primary);flex-shrink:0;animation:1s linear infinite spin}.view-input-error{color:#dc2626;margin-top:.375rem;padding-left:.5rem;font-size:.75rem;animation:.15s ease-out viewErrorFadeIn}@keyframes viewErrorFadeIn{0%{opacity:0}to{opacity:1}}.views-empty-hint{color:var(--color-text-light);opacity:.7;padding:.5rem .625rem;font-size:.75rem}.view-item--droppable{transition:all .15s;position:relative}.view-item--drop-hover{outline:2px dashed var(--color-primary,#10b981);outline-offset:-2px;background-color:#10b98114!important}.view-item--drop-hover:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#0000 0%,#10b9810d 50%,#0000 100%);animation:1s ease-in-out infinite dropTargetPulse;position:absolute;inset:0}@keyframes dropTargetPulse{0%,to{opacity:0}50%{opacity:1}}.data-tab__floating-toggle{z-index:20;background-color:var(--color-bg-panel,#fff);border:1px solid var(--color-border,#e5e7eb);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000014}.data-tab__floating-toggle:hover{background-color:var(--color-primary-subtle,#ecfdf5);border-color:var(--color-primary,#10b981)}.data-tab__floating-toggle svg{color:var(--color-text-secondary,#6b7280);width:16px;height:16px}.data-tab__floating-toggle:hover svg{color:var(--color-primary,#10b981)}.data-browser-panel{background:var(--color-bg-panel,#fff);border-left:1px solid var(--color-border-subtle,#e5e7eb);flex-direction:column;flex-shrink:0;height:100%;transition:width .2s;display:flex;position:relative}.data-browser-panel__header{border-bottom:1px solid var(--color-border-subtle,#e5e7eb);justify-content:space-between;align-items:center;min-height:44px;padding:.75rem;display:flex}.data-browser-panel__title{color:var(--color-text-main,#111827);font-size:.8125rem;font-weight:600}.data-browser-panel__close-btn{cursor:pointer;width:24px;height:24px;color:var(--color-text-light,#9ca3af);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.data-browser-panel__close-btn:hover{background:var(--color-bg-main,#f3f4f6);color:var(--color-text-main,#111827)}.data-browser-panel__content{flex:1;padding:.5rem;overflow-y:auto}.data-browser-panel__loading,.data-browser-panel__empty,.data-browser-panel__error{color:var(--color-text-light,#9ca3af);text-align:center;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 1rem;font-size:.8125rem;display:flex}.data-browser-panel__error{color:#b91c1c}.data-browser-panel__spinner{animation:1s linear infinite spin}.data-browser-panel__list{flex-direction:column;gap:.125rem;display:flex}.data-browser-panel__item{cursor:grab;color:var(--color-text-main,#111827);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;transition:all .15s;display:flex}.data-browser-panel__item:hover{background:var(--color-bg-main,#f3f4f6)}.data-browser-panel__item:active{cursor:grabbing;background:var(--color-primary-subtle,#ecfdf5)}.data-browser-panel__item-icon{flex-shrink:0;font-size:.875rem}.data-browser-panel__item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.data-browser-panel__resizer{cursor:col-resize;z-index:2;background:0 0;width:8px;height:100%;position:absolute;top:0;left:-3px}.data-browser-panel__resizer:hover{background:var(--color-primary,#10b981);opacity:.3}.data-browser-panel__folder{flex-direction:column;display:flex}.data-browser-panel__folder-header{cursor:pointer;color:var(--color-text-main,#111827);border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:.8125rem;display:flex}.data-browser-panel__folder-header:hover{background:var(--color-bg-main,#f3f4f6)}.data-browser-panel__folder-header:active{cursor:grabbing;background:var(--color-primary-subtle,#ecfdf5)}.data-browser-panel__chevron{color:var(--color-text-light,#6b7280);flex-shrink:0;transition:transform .15s}.data-browser-panel__chevron--expanded{transform:rotate(90deg)}.data-browser-panel__folder-icon{color:var(--color-text-light,#6b7280);flex-shrink:0}.data-browser-panel__folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.data-browser-panel__folder-children{flex-direction:column;display:flex}.data-browser-panel__loading-inline{color:var(--color-text-light,#6b7280);align-items:center;gap:6px;padding:4px 8px;font-size:.75rem;display:flex}.data-browser-panel__views-list{flex-direction:column;gap:12px;padding:8px;display:flex}.data-browser-panel__views-section{flex-direction:column;gap:2px;display:flex}.data-browser-panel__views-section-title{color:var(--color-text-light,#6b7280);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;font-size:.6875rem;font-weight:600}.data-browser-panel__view-item{cursor:pointer;color:var(--color-text-main,#111827);text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:.8125rem;display:flex}.data-browser-panel__view-item:hover{background:var(--color-bg-main,#f3f4f6)}.data-browser-panel__title-row{align-items:center;gap:4px;display:flex}.data-browser-panel__back-btn{cursor:pointer;width:20px;height:20px;color:var(--color-text-light,#6b7280);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.data-browser-panel__back-btn:hover{background:var(--color-bg-main,#f3f4f6);color:var(--color-text-main,#111827)}.file-tree{min-height:100%;padding:.5rem 0}.file-tree-empty{text-align:center;color:var(--color-text-light);padding:2rem;font-size:.9rem}.tree-node{-webkit-user-select:none;user-select:none}.tree-item{border-radius:.375rem;align-items:center;padding:.375rem .5rem;transition:background-color .15s;display:flex}.tree-item:hover{background-color:#0000000a}.tree-item--input-highlight{background-color:color-mix(in srgb, var(--color-accent-primary,#2563eb) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent-primary,#2563eb) 28%, transparent)}.tree-item--input-highlight:hover{background-color:color-mix(in srgb, var(--color-accent-primary,#2563eb) 14%, transparent)}.tree-folder--drop-hover{box-shadow:inset 0 0 0 1px var(--color-primary,#10b981);background-color:#10b98114}.tree-folder--drop-hover:hover{background-color:#10b9811f}.tree-folder--materialization-output{background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary-subtle,#ecfdf5) 58%, transparent), transparent 72%)}.tree-folder--materialization-output:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary-subtle,#ecfdf5) 74%, transparent), color-mix(in srgb, var(--color-bg-panel,#fff) 86%, transparent))}.tree-folder--materialization-output .tree-icon-folder{color:color-mix(in srgb, var(--color-primary,#10b981) 72%, var(--color-text-main))}.tree-series-item{box-shadow:none;background:0 0;border:none;margin:0}.tree-series-item:hover{background-color:#0000000a}.tree-item--disabled-selection{opacity:.52;cursor:default;pointer-events:none}.tree-item--disabled-selection:hover{background:0 0}.tree-item--disabled-selection.tree-folder--materialization-output:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary-subtle,#ecfdf5) 58%, transparent), transparent 72%)}.tree-item--disabled-selection .tree-name,.tree-item--disabled-selection .tree-series-meta{color:var(--color-text-muted,#94a3b8)}.tree-folder--watched-root-inactive{pointer-events:auto}.tree-result{opacity:.9}.tree-separator{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin:.5rem 0 .25rem;font-size:.65rem;font-weight:600}.tree-toggle{width:20px;height:20px;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.tree-toggle:hover:not(:disabled){color:var(--color-text-main);background-color:#00000014}.tree-toggle:disabled{cursor:default}.tree-toggle-spacer{width:20px;display:inline-block}.tree-loader{color:var(--color-primary);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tree-empty{color:var(--color-text-secondary);padding:4px 0;font-size:12px}.tree-load-more{color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:6px;width:100%;height:28px;padding-top:0;padding-bottom:0;padding-right:8px;font-size:12px;line-height:1;display:flex}.tree-load-more:hover{background-color:#0000000a}.tree-load-more:disabled{color:var(--color-text-secondary);cursor:default}.tree-load-more__icon{flex-shrink:0}.tree-content{color:var(--color-text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.25rem;flex:1;align-items:center;gap:.5rem;min-width:0;padding:.25rem .375rem;font-size:.875rem;font-weight:500;display:flex}.tree-content:hover{background-color:#0000000a}.tree-series-content{gap:.5rem;padding:.22rem .375rem}.tree-series-content:hover{background-color:#0000}.tree-series-icon{border:none;border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:inline-flex}.tree-series-icon--run{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:color-mix(in srgb, var(--color-primary) 72%, #0f172a)}.tree-series-icon--materialization{color:#1e49a9;background:#2563eb17}.tree-series-copy{flex:0 auto;align-items:center;gap:.35rem;min-width:0;display:flex}.tree-series-title{text-overflow:ellipsis;white-space:nowrap;max-width:clamp(120px,24vw,280px);font-weight:600;display:inline-block;overflow:hidden}.tree-series-meta{color:var(--color-text-light);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:500;overflow:hidden}.tree-series-badges{margin-left:.35rem}.tree-series-badges .tree-badge{min-height:18px;padding:0 .38rem}.tree-series-action{height:1.35rem;color:var(--color-text-light);cursor:pointer;opacity:.9;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;align-items:center;gap:.28rem;margin-left:auto;padding:0 .36rem;font-size:.66rem;font-weight:600;display:inline-flex}.tree-series-action:hover{color:var(--color-text-main);background:#0000000f}.tree-series-action svg,.tree-icon{flex-shrink:0}.tree-icon-folder{color:#1f2937}.tree-icon-apr{color:#7c3aed}.tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-badges{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.25rem;display:flex}.tree-badge-hover-anchor{align-items:center;display:inline-flex;position:relative;overflow:visible}.tree-badge{border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);background:color-mix(in srgb, var(--color-bg-main) 90%, var(--color-bg-panel));min-height:18px;color:var(--color-text-secondary);letter-spacing:.01em;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 24%, transparent);white-space:nowrap;appearance:none;border-radius:5px;align-items:center;gap:.22rem;padding:0 .44rem;font-family:inherit;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex}.tree-badge--interactive{cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.tree-badge--interactive:hover,.tree-badge--interactive:focus-visible{background:color-mix(in srgb, currentColor 6%, var(--color-bg-main));border-color:color-mix(in srgb, currentColor 24%, var(--color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 16%, transparent), 0 0 0 2px color-mix(in srgb, currentColor 10%, transparent);outline:none}.tree-badge-hover-card{z-index:19;border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 96%, #fff);pointer-events:none;border-radius:8px;min-width:160px;max-width:220px;padding:.45rem .55rem .5rem;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 26px #0f172a24}.tree-badge-hover-card__eyebrow{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb, var(--color-primary,#10b981) 74%, #0f172a 26%);font-size:.54rem;font-weight:800}.tree-badge-hover-card__title{color:var(--color-text-main);margin-top:.14rem;font-size:.75rem;font-weight:700;line-height:1.2}.tree-badge-hover-card__rows{flex-direction:column;gap:.18rem;margin-top:.38rem;display:flex}.tree-badge-hover-card__row{color:var(--color-text-secondary);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.67rem;display:flex}.tree-badge-hover-card__row span:first-child{color:var(--color-text-light);flex-shrink:0}.tree-badge-hover-card__row span:last-child{text-align:right;color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-badge-with-icon{align-items:center;gap:.2rem;display:inline-flex}.tree-badge-with-icon svg{flex-shrink:0}.tree-badge-dataset{background:color-mix(in srgb, var(--color-bg-main) 88%, #ecfdf5);color:color-mix(in srgb, var(--color-text-main) 72%, #047857 28%);border-color:color-mix(in srgb, var(--color-border) 74%, #86efac 26%)}.tree-badge-channel{background:color-mix(in srgb, var(--color-bg-main) 88%, #eff6ff);color:color-mix(in srgb, var(--color-text-main) 72%, #2563eb 28%);border-color:color-mix(in srgb, var(--color-border) 74%, #93c5fd 26%)}.tree-badge-time{background:color-mix(in srgb, var(--color-bg-main) 88%, #f5f3ff);color:color-mix(in srgb, var(--color-text-main) 72%, #7c3aed 28%);border-color:color-mix(in srgb, var(--color-border) 74%, #c4b5fd 26%)}.tree-badge-meta{background:color-mix(in srgb, var(--color-bg-main) 92%, var(--color-bg-panel));color:var(--color-text-secondary);border-color:color-mix(in srgb, var(--color-border) 76%, transparent)}.tree-badge-cluster,.tree-badge-zone{align-items:center;gap:.22rem;min-width:0;display:inline-flex}.tree-badge-cluster--meta{gap:.18rem;min-width:0}.tree-axis-index{color:var(--color-primary-dark,#059669);font-family:var(--font-mono);margin-right:.32rem;font-size:.72em;font-weight:600;display:inline-block}.tree-badge-meta-tag{background:color-mix(in srgb, var(--color-bg-main) 92%, var(--color-bg-panel));max-width:220px;min-height:18px;color:var(--color-text-secondary);border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 24%, transparent);letter-spacing:.01em;border-radius:5px;align-items:center;gap:.28rem;padding:0 .44rem;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex}.tree-badge-meta-tag--type{color:var(--color-text-secondary);font-weight:700}.tree-badge-meta-tag__label{color:var(--color-text-muted,#94a3b8);letter-spacing:.04em;text-transform:uppercase;font-size:.5rem;font-weight:800}.tree-badge-meta-tag__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-badge-meta-tag--port{background:color-mix(in srgb, var(--color-bg-main) 86%, #eff6ff);color:color-mix(in srgb, var(--color-text-main) 70%, #2563eb 30%);border-color:color-mix(in srgb, var(--color-border) 70%, #93c5fd 30%);box-shadow:inset 0 0 0 1px #bfdbfe33}.tree-badge-pipeline{background:color-mix(in srgb, var(--color-bg-main) 86%, #eef2ff);color:color-mix(in srgb, var(--color-text-main) 70%, #4f46e5 30%);border-color:color-mix(in srgb, var(--color-border) 70%, #a5b4fc 30%)}.tree-badge-run{background:color-mix(in srgb, var(--color-bg-main) 88%, #ecfeff);color:color-mix(in srgb, var(--color-text-main) 70%, #0891b2 30%);border-color:color-mix(in srgb, var(--color-border) 70%, #67e8f9 30%)}.tree-badge-script{background:color-mix(in srgb, var(--color-bg-main) 88%, #fef2f2);color:color-mix(in srgb, var(--color-text-main) 72%, #dc2626 28%);border-color:color-mix(in srgb, var(--color-border) 74%, #fca5a5 26%)}.tree-badge-count{background:color-mix(in srgb, var(--color-bg-main) 92%, var(--color-bg-panel));color:var(--color-text-secondary);border-color:color-mix(in srgb, var(--color-border) 76%, transparent)}.tree-badge-count--revisions,.tree-badge-revision{background:color-mix(in srgb, var(--color-bg-main) 88%, #fffbeb);color:color-mix(in srgb, var(--color-text-main) 70%, #b45309 30%);border-color:color-mix(in srgb, var(--color-border) 70%, #fcd34d 30%)}.tree-badge-revision--current{background:color-mix(in srgb, var(--color-bg-main) 84%, #fff7ed);color:color-mix(in srgb, var(--color-text-main) 68%, #c2410c 32%);border-color:color-mix(in srgb, var(--color-border) 68%, #fdba74 32%)}.tree-badge-revision--latest{background:color-mix(in srgb, var(--color-bg-main) 90%, #fefce8);color:color-mix(in srgb, var(--color-text-main) 72%, #a16207 28%);border-color:color-mix(in srgb, var(--color-border) 72%, #fde68a 28%)}.tree-badge-count--runs{background:color-mix(in srgb, var(--color-bg-main) 88%, #ecfeff);color:color-mix(in srgb, var(--color-text-main) 70%, #0f766e 30%);border-color:color-mix(in srgb, var(--color-border) 70%, #99f6e4 30%)}.tree-badge-local{background:color-mix(in srgb, var(--color-bg-main) 88%, #f3f4f6);color:color-mix(in srgb, var(--color-text-main) 76%, #475569 24%);border-color:color-mix(in srgb, var(--color-border) 76%, #cbd5e1 24%)}.tree-badge-watched-root--available{background:color-mix(in srgb, var(--color-bg-main) 86%, #ecfdf5);color:color-mix(in srgb, var(--color-text-main) 66%, #047857 34%);border-color:color-mix(in srgb, var(--color-border) 68%, #86efac 32%)}.tree-badge-watched-root--missing{background:color-mix(in srgb, var(--color-bg-main) 84%, #fffbeb);color:color-mix(in srgb, var(--color-text-main) 64%, #b45309 36%);border-color:color-mix(in srgb, var(--color-border) 66%, #fcd34d 34%)}.tree-badge-watched-root--error{background:color-mix(in srgb, var(--color-bg-main) 84%, #fef2f2);color:color-mix(in srgb, var(--color-text-main) 64%, #b91c1c 36%);border-color:color-mix(in srgb, var(--color-border) 66%, #fca5a5 34%)}.tree-badge-watched-root--unknown,.tree-badge-watched-root--disabled{background:color-mix(in srgb, var(--color-bg-main) 88%, #f3f4f6);color:color-mix(in srgb, var(--color-text-main) 74%, #64748b 26%);border-color:color-mix(in srgb, var(--color-border) 74%, #cbd5e1 26%)}.tree-inline-badge{border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);background:color-mix(in srgb, var(--color-bg-main) 92%, var(--color-bg-panel));min-height:18px;color:var(--color-text-secondary);letter-spacing:.01em;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 24%, transparent);white-space:nowrap;border-radius:5px;align-items:center;padding:0 .44rem;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex}.tree-inline-action{width:16px;height:16px;color:var(--color-text-light);cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background-color .15s,color .15s;display:inline-flex}.tree-inline-action:hover{opacity:1;color:var(--color-text-main);background:#0000000f}.tree-inline-action svg{display:block}.tree-dataset-run-link{box-sizing:border-box;--tree-run-summary-bg:color-mix(in srgb, var(--color-bg-main) 90%, var(--color-bg-panel));--tree-run-summary-border:color-mix(in srgb, var(--color-border) 78%, transparent);--tree-run-summary-text:var(--color-text-secondary);align-items:center;gap:.22rem;height:18px;display:inline-flex;position:relative;overflow:visible}.tree-dataset-run-link--active{--tree-run-summary-text:color-mix(in srgb, var(--color-text-main) 72%, #475569);--tree-run-summary-border:color-mix(in srgb, var(--color-border) 76%, #cbd5e1 24%)}.tree-dataset-run-link--complete{--tree-run-summary-text:color-mix(in srgb, var(--color-text-main) 72%, #15803d 28%);--tree-run-summary-border:color-mix(in srgb, var(--color-border) 74%, #86efac 26%)}.tree-dataset-run-link--failed{--tree-run-summary-text:color-mix(in srgb, var(--color-text-main) 70%, #d97706 30%);--tree-run-summary-border:color-mix(in srgb, var(--color-border) 72%, #fcd34d 28%)}.tree-run-summary-chip,.tree-run-summary-chip__menu{color:inherit;cursor:pointer;appearance:none;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex}.tree-run-summary-chip{border:1px solid var(--tree-run-summary-border);background:var(--tree-run-summary-bg);height:18px;color:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tree-run-summary-border) 32%, transparent);letter-spacing:.01em;border-radius:5px;gap:.28rem;padding:0 .38rem 0 .34rem;font-size:.58rem;font-weight:700;line-height:1}.tree-run-summary-chip__icon{justify-content:center;align-items:center;display:inline-flex}.tree-run-summary-chip__count{white-space:nowrap}.tree-run-summary-chip:hover{background:color-mix(in srgb, var(--tree-run-summary-bg) 70%, #fff 30%);color:var(--color-text-main)}.tree-run-summary-hover-card{z-index:19;border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 96%, #fff);pointer-events:none;border-radius:8px;min-width:170px;max-width:220px;padding:.45rem .55rem .5rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 26px #0f172a24}.tree-run-summary-hover-card__eyebrow{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb, var(--color-primary,#10b981) 74%, #0f172a 26%);font-size:.54rem;font-weight:800}.tree-run-summary-hover-card__title{color:var(--color-text-main);margin-top:.15rem;font-size:.75rem;font-weight:700;line-height:1.2}.tree-run-summary-hover-card__rows{flex-direction:column;gap:.18rem;margin-top:.38rem;display:flex}.tree-run-summary-hover-card__row{color:var(--color-text-secondary);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.67rem;display:flex}.tree-run-summary-hover-card__row span:first-child{color:var(--color-text-light);flex-shrink:0}.tree-run-summary-hover-card__row span:last-child{text-align:right;color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-inline-metrics{color:var(--color-text-light);opacity:.9;align-items:center;gap:.22rem;font-size:.62rem;font-weight:600;display:inline-flex}.tree-inline-metric{align-items:center;gap:.12rem;display:inline-flex}.tree-inline-metric-channel{color:#2563eb}.tree-inline-metric-time{color:#7c3aed}.tree-inline-metrics-sep{opacity:.45;color:var(--color-text-muted);margin:0 .04rem}.tree-status-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tree-status-icon svg{width:14px;height:14px}.tree-status-pending{color:#f59e0b}.tree-status-queued{color:#d97706}.tree-status-running{color:#3b82f6}.tree-status-spinner svg{animation:1s linear infinite spin}.tree-status-succeeded{color:#10b981}.tree-status-failed{color:#ef4444}.tree-status-aborted{color:#f97316}.tree-status-unknown{color:#d97706}.tree-status-unlinked{color:#0ea5e9}.tree-source-icon{flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.tree-source-icon svg{width:14px;height:14px}.tree-source-external{color:#0ea5e9}.tree-storage-icon{flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.tree-storage-icon svg{width:14px;height:14px}.tree-storage-icon-no-cloud{color:color-mix(in srgb, var(--color-text-muted,#94a3b8) 78%, #64748b 22%)}.tree-history-expansion{border-left:2px solid var(--color-primary);margin-top:4px;margin-bottom:8px;margin-left:28px;padding-left:12px}.tree-history-header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);align-items:center;gap:6px;padding:6px 8px;font-size:.7rem;font-weight:600;display:flex}.tree-history-header-icon{color:var(--color-primary)}.tree-history-item{background-color:#34d39908}.tree-history-item:hover{background-color:#34d39914}.tree-history-count{color:var(--color-text-light);background-color:#f3f4f6;border-radius:8px;margin-left:4px;padding:1px 6px;font-size:.65rem}.tree-history-empty{color:var(--color-text-light);padding:8px 12px;font-size:.75rem;font-style:italic}.grid-separator{border-bottom:1px solid #e5e7eb;justify-content:flex-start;width:100%;margin:2rem 0 1rem;display:flex}.grid-separator span{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;background-color:#0000;padding-right:1rem;font-size:.75rem;font-weight:600}.file-meta-badges{flex-wrap:wrap;justify-content:center;gap:.25rem;margin-top:.25rem;display:flex}.meta-badge{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:3px;max-width:100%;padding:.1rem .3rem;font-size:.6rem;overflow:hidden}.pipeline-tree{padding:.5rem 0}.pipeline-tree-item{border-radius:.375rem;align-items:center;padding:.375rem .5rem;transition:background-color .15s;display:flex}.pipeline-tree-item:hover{background-color:#0000000a}.pipeline-tree-content{color:var(--color-text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.25rem;flex:1;align-items:center;gap:.5rem;min-width:0;padding:.25rem .375rem;font-size:.875rem;font-weight:500;display:flex}.tree-icon-image{color:#7c3aed}.tree-icon-channel{color:#2563eb}.tree-icon-timestep{color:#059669}.tree-icon-pipeline{color:var(--color-primary)}.tree-icon-script{color:#f59e0b}.tree-icon-result{color:#10b981;margin-right:-.25rem}.tree-icon-file-type{color:#7c3aed;flex-shrink:0}.hierarchy-label{color:var(--color-text-light);font-size:.8rem;font-weight:400}.pipeline-label{align-items:center;gap:.5rem;display:flex}.run-tag{background-color:var(--color-primary);color:var(--color-primary-contrast);border-radius:4px;align-items:center;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.tree-result-file{opacity:.95}.tree-result-file .tree-content{gap:.375rem}.tree-image:hover,.tree-channel:hover,.tree-timestep:hover,.tree-pipeline:hover,.tree-script:hover,.tree-result-file:hover{background-color:#0000000a}.pipeline-first-tree{padding:.5rem 0}.tree-pipeline-first:hover,.tree-run-first:hover,.tree-script-first:hover,.tree-result-first:hover,.tree-channel-first:hover,.tree-timestep-first:hover,.tree-input-first:hover{background-color:#0000000a}.tree-icon-run{color:#6366f1}.tree-icon-input{color:#0f172a}.tree-content-static{cursor:default}.pipeline-first-count{color:var(--color-text-light);background-color:#0000000d;border-radius:10px;margin-left:auto;padding:.125rem .5rem;font-size:.7rem}.data-mode-toggle{background:var(--color-white);border:1px solid #e5e7eb;border-radius:.4rem;align-items:center;gap:.4rem;margin-right:.5rem;padding:.2rem;display:flex}.data-mode-btn{color:var(--color-text-light);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.3rem;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:all .15s;display:flex}.data-mode-btn:hover{background-color:var(--color-bg-main);color:var(--color-text-main)}.data-mode-btn.active{background-color:var(--color-primary);color:var(--color-primary-contrast)}.data-mode-btn svg{flex-shrink:0}.details-btn:hover{background-color:var(--color-bg-main);color:var(--color-primary);border-color:var(--color-primary)}.details-btn.active{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.tree-item-selected{box-shadow:inset 0 0 0 2px var(--color-primary);background-color:#34d39933!important}.tree-item-draggable{cursor:grab}.tree-item-draggable:active{cursor:grabbing}.tree-item-draggable:hover{background-color:#3b82f614}.details-panel{background-color:var(--color-white);border-left:1px solid #00000014;flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden}.details-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.details-title{color:var(--color-text-main);margin:0;font-size:1rem;font-weight:600}.details-close{width:32px;height:32px;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.details-close:hover{background-color:var(--color-bg-main);color:var(--color-text-main)}.details-content{flex:1;padding:1rem 1.25rem;overflow-y:auto}.details-item-header{border-bottom:1px solid #0000000f;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.details-type-icon{flex-shrink:0;margin-top:.125rem}.details-icon-pipeline{color:var(--color-primary)}.details-icon-run{color:#6366f1}.details-icon-script{color:#f59e0b}.details-icon-channel{color:#2563eb}.details-icon-time{color:#10b981}.details-icon-result{color:#7c3aed}.details-item-info{flex-direction:column;gap:.375rem;min-width:0;display:flex}.details-item-name{color:var(--color-text-main);word-break:break-word;font-size:.95rem;font-weight:600}.details-item-type{background-color:var(--color-bg-main);width:fit-content;color:var(--color-text-light);border-radius:4px;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.details-badge-pipeline{color:#059669;background-color:#34d39926}.details-badge-run{color:#4f46e5;background-color:#6366f126}.details-badge-script{color:#b45309;background-color:#f59e0b26}.details-badge-channel{color:#1d4ed8;background-color:#2563eb26}.details-badge-time{color:#047857;background-color:#10b98126}.details-badge-result{color:#6d28d9;background-color:#7c3aed26}.details-body{flex-direction:column;gap:.75rem;display:flex}.details-row{flex-direction:column;gap:.25rem;display:flex}.details-label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.details-label svg{opacity:.6}.details-value{color:var(--color-text-main);word-break:break-word;font-size:.875rem}.details-value-badge{background-color:var(--color-bg-main);border-radius:4px;width:fit-content;padding:.125rem .5rem;font-weight:500;display:inline-flex}.details-value-mono{background-color:var(--color-bg-main);border-radius:4px;padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.details-section{border-top:1px solid #0000000f;margin-top:.5rem;padding-top:.75rem}.details-section-title{color:var(--color-text-main);text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.75rem;font-weight:600;display:flex}.details-section-title svg{opacity:.6}.details-list{flex-direction:column;gap:.25rem;display:flex}.details-list-item{color:var(--color-text-light);background-color:var(--color-bg-main);word-break:break-all;border-radius:4px;padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.details-metadata{flex-direction:column;gap:.5rem;display:flex}.details-metadata-row{background-color:var(--color-bg-main);border-radius:.375rem;flex-direction:column;gap:.125rem;padding:.5rem;display:flex}.details-metadata-key{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.025em;font-size:.7rem;font-weight:500}.details-metadata-value{color:var(--color-text-main);word-break:break-word;font-size:.8rem}.details-empty{color:var(--color-text-light);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.details-empty-icon{opacity:.3}.details-empty p{margin:0;font-size:.875rem}.pipeline-flat-list{padding:.5rem 0}.pipeline-flat-item{cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:background-color .15s;display:flex}.pipeline-flat-item:hover{background-color:#0000000a}.pipeline-flat-input{background-color:#0f172a05;border-left:2px dashed #cbd5e1}.pipeline-flat-input:hover{background-color:#0f172a0f}.flat-input-marker{color:#64748b;margin-right:-.25rem}.flat-badges{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;margin-left:auto}.under-construction{text-align:center;height:100%;min-height:320px;color:var(--color-text-light);flex-direction:column;justify-content:center;align-items:center;display:flex}.under-construction-icon{color:var(--color-primary);opacity:.4;margin-bottom:1rem}.under-construction-title{color:var(--color-text-main);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.under-construction-text{max-width:300px;margin:0;font-size:.85rem}.tree-section-header{align-items:center;gap:.5rem;margin-top:.25rem;margin-bottom:.125rem;padding:.5rem .5rem .25rem;display:flex}.tree-section-header:first-child{margin-top:0}.tree-section-header__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted,#94a3b8);font-size:.65rem;font-weight:700}.tree-section-header__count{color:var(--color-text-light,#9ca3af);background-color:#0000000d;border-radius:8px;padding:.125rem .375rem;font-size:.6rem;font-weight:600}.tree-section-header+*+.tree-section-header{border-top:1px solid var(--color-border,#e2e8f0);margin-top:.5rem;padding-top:.625rem}.tree-section-empty{color:var(--color-text-light,#9ca3af);opacity:.7;padding:.5rem .75rem;font-size:.75rem;font-style:italic}.report-drop-zone{width:100%;height:100%;min-height:200px;position:relative}.report-drop-zone--empty{border:2px dashed var(--color-border,#e5e7eb);background-color:var(--color-bg-main,#f9fafb);border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.report-drop-zone--drag-over{border-color:var(--color-primary);background-color:var(--color-primary-subtle,#ecfdf5)}.report-drop-zone__content{color:var(--color-text-light);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:2rem;display:flex}.report-drop-zone__content svg{opacity:.4}.report-drop-zone__content p{margin:0;font-size:.9rem}.report-drop-zone__hint{opacity:.7;font-size:.8rem}.report-drop-zone__content--error svg{color:#dc2626;opacity:.6}.report-drop-zone__error{color:#dc2626;font-size:.8rem}.report-drop-zone__overlay{z-index:10;color:var(--color-text-main);background-color:#ffffffe6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.report-drop-zone__spinner{color:var(--color-primary);animation:1s linear infinite spin}.report-drop-zone__drag-overlay{border:2px dashed var(--color-primary);z-index:15;color:var(--color-primary);pointer-events:auto;background-color:#ecfdf5f2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.report-drop-zone__drag-overlay svg{opacity:.6}.report-drop-zone__drag-overlay p{margin:0;font-size:1rem;font-weight:500}.report-viewer{background-color:var(--color-bg-main);border-radius:8px;width:100%;height:100%;min-height:400px;position:relative;overflow:hidden}.report-viewer__iframe{background-color:#fff;border:none;width:100%;height:100%}.app-viewer{background-color:#0000;flex-direction:column;min-height:0;display:flex}html.app-viewer-host--transparent,html.app-viewer-host--transparent body,html.app-viewer-host--transparent body.app-viewer-host--transparent,html.app-viewer-host--transparent #root,.app-viewer--app-chrome,.app-viewer--app-chrome .app-viewer__iframe{background:0 0!important}.app-viewer--with-update-banner{box-sizing:border-box;gap:12px;padding:12px}.app-viewer__update-banner{z-index:2;border:1px solid color-mix(in srgb, var(--color-warning) 26%, var(--color-border));background:linear-gradient(135deg, color-mix(in srgb, var(--color-warning) 16%, var(--color-bg-panel)), color-mix(in srgb, var(--color-bg-panel) 94%, #fff));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex;position:relative;box-shadow:0 12px 28px #0f172a14}.app-viewer__update-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.app-viewer__update-title{color:var(--color-text-main);letter-spacing:.02em;text-transform:uppercase;font-size:.82rem;font-weight:700}.app-viewer__update-text{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.app-viewer__update-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.app-viewer__update-action,.app-viewer__update-dismiss{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.app-viewer__update-action{border:1px solid color-mix(in srgb, var(--color-primary) 28%, var(--color-border));background:color-mix(in srgb, var(--color-primary-subtle) 86%, var(--color-bg-panel));color:var(--color-text-main);padding:7px 12px;font-size:.84rem;font-weight:600}.app-viewer__update-action:hover{border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));background:color-mix(in srgb, var(--color-primary-subtle) 96%, var(--color-bg-panel))}.app-viewer__update-dismiss{border:1px solid color-mix(in srgb, var(--color-border) 84%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 92%, transparent);width:32px;height:32px;color:var(--color-text-secondary)}.app-viewer__update-dismiss:hover{border-color:color-mix(in srgb, var(--color-warning) 28%, var(--color-border));color:color-mix(in srgb, var(--color-text-main) 74%, var(--color-warning));background:color-mix(in srgb, var(--color-warning) 10%, var(--color-bg-panel))}.app-viewer__iframe{background-color:#0000;flex:auto;min-height:0;display:block}@media (width<=720px){.app-viewer__update-banner{flex-direction:column;align-items:flex-start}.app-viewer__update-copy,.app-viewer__update-text{white-space:normal}.app-viewer__update-actions{justify-content:space-between;width:100%}}.report-viewer__iframe--loading{opacity:0}.report-viewer__loading,.report-viewer__error{color:var(--color-text-light);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.report-viewer__spinner{color:var(--color-primary);animation:1s linear infinite spin}.report-viewer__error{color:#dc2626}.report-viewer__close-btn{background-color:var(--color-bg-main);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-main);border-radius:6px;margin-top:8px;padding:6px 16px;font-size:.8rem}.report-viewer__close-btn:hover{background-color:var(--color-primary-subtle);border-color:var(--color-primary)}.reports-workspace{flex-direction:column;padding:16px;display:flex;position:relative}.reports-workspace__panel{transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1)}.reports-workspace__panel .resizable-panel__content{transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1)}.reports-workspace__panel.resizable-panel--closed .resizable-panel__content{transform:translate(-10px)}.reports-workspace__panel-handle{z-index:20;border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 88%, transparent);width:16px;height:32px;color:var(--color-text-light);box-shadow:var(--shadow-node);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:none;border-radius:0 9px 9px 0;justify-content:center;align-items:center;padding:0;transition:background-color .22s,border-color .22s,color .22s,transform .24s;display:inline-flex;position:absolute;top:20px;left:0;transform:translate(-4px)}.reports-workspace__panel-handle:hover{background:color-mix(in srgb, var(--color-primary-subtle) 82%, var(--color-bg-panel));border-color:color-mix(in srgb, var(--color-primary) 32%, var(--color-border));color:var(--color-primary);transform:translate(0)}.resizable-panel{background:var(--color-bg-panel);flex-direction:column;flex-shrink:0;height:100%;transition:width .12s ease-out,min-width .12s ease-out;display:flex;position:relative;overflow:hidden}.resizable-panel--resizing{transition:none}.resizable-panel--right{border-left:1px solid var(--color-border)}.resizable-panel--left{border-right:1px solid var(--color-border)}.resizable-panel--closed{border-width:0;width:0!important;min-width:0!important}.resizable-panel__content{opacity:1;flex-direction:column;width:100%;height:100%;transition:opacity .2s;display:flex;overflow:hidden}.resizable-panel--closed .resizable-panel__content{opacity:0;pointer-events:none}.resizable-panel__resizer{cursor:col-resize;z-index:10;background:0 0;width:8px;height:100%;transition:background .15s;position:absolute;top:0}.resizable-panel--right .resizable-panel__resizer{left:-4px}.resizable-panel--left .resizable-panel__resizer{right:-4px}.resizable-panel__resizer:hover{background:var(--color-primary);opacity:.4}.resizable-panel__resizer:active{background:var(--color-primary);opacity:.6}.side-panel{background:var(--color-surface);flex-direction:column;flex-shrink:0;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.side-panel--right{border-left:1px solid var(--color-border)}.side-panel--left{border-right:1px solid var(--color-border)}.side-panel--closed{border-width:0;width:0!important;min-width:0!important}.side-panel__content{opacity:1;flex-direction:column;width:100%;height:100%;transition:opacity .2s;display:flex;overflow:hidden}.side-panel--closed .side-panel__content{opacity:0;pointer-events:none}.side-panel__resizer{cursor:col-resize;z-index:10;background:0 0;width:8px;height:100%;transition:background .15s;position:absolute;top:0}.side-panel--right .side-panel__resizer{left:-4px}.side-panel--left .side-panel__resizer{right:-4px}.side-panel__resizer:hover{background:var(--color-primary);opacity:.4}.side-panel__resizer:active{background:var(--color-primary);opacity:.6}.promote-branch-dialog__overlay{z-index:2000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.promote-branch-dialog{background-color:var(--color-bg-panel);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);border-radius:12px;width:100%;max-width:420px;margin:16px}.promote-branch-dialog__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.promote-branch-dialog__title{color:var(--color-text-primary);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.promote-branch-dialog__title-icon{color:var(--color-success,#30a46c)}.promote-branch-dialog__close{cursor:pointer;width:28px;height:28px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.promote-branch-dialog__close:hover:not(:disabled){background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.promote-branch-dialog__close:disabled{opacity:.5;cursor:not-allowed}.promote-branch-dialog__content{padding:20px}.promote-branch-dialog__summary{color:var(--color-text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.promote-branch-dialog__summary strong{color:var(--color-text-primary)}.promote-branch-dialog__label{color:var(--color-text-primary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.promote-branch-dialog__optional{color:var(--color-text-muted);font-weight:400}.promote-branch-dialog__input{width:100%;font-size:14px;font-family:var(--font-ui);color:var(--color-text-primary);background-color:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:6px;outline:none;padding:10px 12px;transition:border-color .15s}.promote-branch-dialog__input:focus{border-color:var(--color-primary)}.promote-branch-dialog__input:disabled{opacity:.5}.promote-branch-dialog__input::placeholder{color:var(--color-text-muted)}.promote-branch-dialog__error{color:var(--color-error,#dc3545);background-color:var(--color-error-bg,#dc35451a);border-radius:6px;margin:12px 0 0;padding:8px 12px;font-size:12px}.promote-branch-dialog__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.promote-branch-dialog__btn{font-size:13px;font-weight:500;font-family:var(--font-ui);cursor:pointer;border-radius:6px;padding:8px 16px;transition:all .15s}.promote-branch-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.promote-branch-dialog__btn--secondary{border:1px solid var(--color-border);color:var(--color-text-primary);background-color:#0000}.promote-branch-dialog__btn--secondary:hover:not(:disabled){background-color:var(--color-bg-elevated)}.promote-branch-dialog__btn--primary{background-color:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-primary-contrast)}.promote-branch-dialog__btn--primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.save-version-dialog__overlay{z-index:2000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-version-dialog{background-color:var(--color-bg-panel);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);border-radius:12px;width:100%;max-width:400px;margin:16px}.save-version-dialog__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.save-version-dialog__title{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600}.save-version-dialog__close{cursor:pointer;width:28px;height:28px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.save-version-dialog__close:hover:not(:disabled){background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.save-version-dialog__close:disabled{opacity:.5;cursor:not-allowed}.save-version-dialog__content{padding:20px}.save-version-dialog__label{color:var(--color-text-primary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.save-version-dialog__optional{color:var(--color-text-muted);font-weight:400}.save-version-dialog__input{width:100%;font-size:14px;font-family:var(--font-ui);color:var(--color-text-primary);background-color:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:6px;outline:none;padding:10px 12px;transition:border-color .15s}.save-version-dialog__input:focus{border-color:var(--color-primary)}.save-version-dialog__input:disabled{opacity:.5}.save-version-dialog__input::placeholder{color:var(--color-text-muted)}.save-version-dialog__hint{color:var(--color-text-muted);margin:8px 0 0;font-size:12px;line-height:1.4}.save-version-dialog__error{color:var(--color-error,#dc3545);background-color:var(--color-error-bg,#dc35451a);border-radius:6px;margin:12px 0 0;padding:8px 12px;font-size:12px}.save-version-dialog__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.save-version-dialog__btn{font-size:13px;font-weight:500;font-family:var(--font-ui);cursor:pointer;border-radius:6px;padding:8px 16px;transition:all .15s}.save-version-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.save-version-dialog__btn--secondary{border:1px solid var(--color-border);color:var(--color-text-primary);background-color:#0000}.save-version-dialog__btn--secondary:hover:not(:disabled){background-color:var(--color-bg-elevated)}.save-version-dialog__btn--primary{background-color:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-primary-contrast)}.save-version-dialog__btn--primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.save-version-dialog__btn--warning{border:1px solid var(--color-warning,#f59e0b);color:var(--color-warning,#f59e0b);background-color:#0000}.save-version-dialog__btn--warning:hover:not(:disabled){background-color:var(--color-warning-bg,#f59e0b1a)}.save-version-dialog__warning{background-color:var(--color-warning-bg,#f59e0b1a);border:1px solid var(--color-warning,#f59e0b);border-radius:8px;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.save-version-dialog__warning-icon{color:var(--color-warning,#f59e0b);flex-shrink:0;margin-top:2px}.save-version-dialog__warning-text{color:var(--color-text-primary);font-size:13px;line-height:1.4}.save-version-dialog__warning-text strong{color:var(--color-warning,#f59e0b);margin-bottom:4px;display:block}.save-version-dialog__warning-text p{color:var(--color-text-secondary);margin:0}.version-selector{display:inline-block;position:relative}.version-selector__trigger{background-color:var(--color-bg-panel);border:1px solid var(--color-border);cursor:pointer;font-size:12px;font-family:var(--font-ui);color:var(--color-text-primary);border-radius:6px;align-items:center;gap:6px;min-width:120px;max-width:200px;padding:6px 10px;transition:all .15s;display:flex}.version-selector__trigger:hover:not(:disabled){background-color:var(--color-bg-elevated);border-color:var(--color-primary)}.version-selector__trigger:disabled{opacity:.5;cursor:not-allowed}.version-selector__trigger--open{background-color:var(--color-bg-elevated);border-color:var(--color-primary)}.version-selector__trigger--viewing{border-color:var(--color-primary);background-color:var(--color-primary-subtle)}.version-selector__icon{color:var(--color-text-secondary);flex-shrink:0}.version-selector__label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.version-selector__chevron{color:var(--color-text-secondary);flex-shrink:0;transition:transform .2s}.version-selector__chevron--open{transform:rotate(180deg)}.version-selector__dropdown{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);min-width:220px;max-width:300px;box-shadow:var(--shadow-elevated);z-index:1000;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.version-selector__list{scrollbar-width:thin;scrollbar-color:var(--df-scrollbar-thumb) transparent;max-height:240px;overflow-y:auto}.version-selector__list::-webkit-scrollbar{width:8px;height:8px}.version-selector__list::-webkit-scrollbar-track{background:0 0}.version-selector__list::-webkit-scrollbar-thumb{background:var(--df-scrollbar-thumb);border-radius:999px}.version-selector__list::-webkit-scrollbar-thumb:hover{background:var(--df-scrollbar-thumb-hover)}.version-selector__item{cursor:pointer;width:100%;font-size:12px;font-family:var(--font-ui);color:var(--color-text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;transition:background-color .1s;display:flex}.version-selector__item:hover,.version-selector__item--selected{background-color:var(--color-primary-subtle)}.version-selector__item-check{width:14px;height:14px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.version-selector__item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.version-selector__item-time{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.version-selector__item-icon{color:var(--color-text-muted);flex-shrink:0}.version-selector__item--current .version-selector__item-icon{color:var(--color-primary)}.version-selector__section-header{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);padding:8px 12px 4px;font-size:10px;font-weight:600}.version-selector__separator{background-color:var(--color-border);height:1px;margin:4px 0}.version-selector__empty{text-align:center;color:var(--color-text-muted);padding:12px;font-size:12px}.version-selector__action{cursor:pointer;width:100%;font-size:12px;font-family:var(--font-ui);color:var(--color-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;transition:background-color .1s;display:flex}.version-selector__action:hover{background-color:var(--color-primary-subtle)}
