:root{--bg-primary:#212121;--bg-secondary:#2f2f2f;--bg-tertiary:#1a1a1a;--bg-elevated:#242424;--bg-spreadsheet:#000;--text-primary:#ececec;--text-secondary:#999;--text-tertiary:#888;--text-muted:#666;--text-inverse:#000;--accent-primary:#19c37d;--accent-primary-hover:#17b374;--accent-secondary:#007bff;--accent-secondary-hover:#007bffc0;--border-primary:#444;--border-secondary:#333;--border-focus:#10a37f4d;--error:#f44336;--error-light:#f44;--error-bg:#ffebee;--warning:#f57c00;--warning-bg:#fff8e1;--info:#007bff;--button-disabled:#d0d0d0;--accept-btn:#10b981;--accept-btn-hover:#059669;--reject-btn:#6b7280;--reject-btn-hover:#4b5563;--overlay:#000000b3;--scrollbar-thumb:#fff3;--scrollbar-thumb-hover:#ffffff4d;--highlight-bg:#646cff0d;--hover-bg:#2a2a2a;--active-bg:#3c3c3c;--selected-bg:#4a4a4a}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#fafafa;--bg-elevated:#fff;--bg-spreadsheet:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--text-tertiary:#888;--text-muted:#999;--text-inverse:#fff;--accent-primary:#19c37d;--accent-primary-hover:#17b374;--accent-secondary:#007bff;--accent-secondary-hover:#007bffc0;--border-primary:#d0d0d0;--border-secondary:#e8e8e8;--border-focus:#10a37f4d;--error:#f44336;--error-light:#f44;--error-bg:#ffebee;--warning:#f57c00;--warning-bg:#fff8e1;--info:#007bff;--button-disabled:#d0d0d0;--overlay:#00000080;--scrollbar-thumb:#0003;--scrollbar-thumb-hover:#0000004d;--highlight-bg:#646cff14;--hover-bg:#f5f5f5;--active-bg:#eee;--selected-bg:#e8e8e8}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;background-color:var(--bg-elevated);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:var(--accent-secondary);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--accent-secondary-hover)}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;min-width:320px}*{touch-action:manipulation}h1{font-size:3.2em;line-height:1.1}button{background-color:var(--bg-tertiary);cursor:pointer;border:1px solid #0000;border-radius:4px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:var(--accent-secondary)}button:focus{outline:4px auto -webkit-focus-ring-color}button:focus-visible{outline:4px auto -webkit-focus-ring-color}.monaco-aria-container{display:none!important}.monaco-editor .suggest-widget{z-index:10000!important;min-width:150px!important;max-width:350px!important}.monaco-editor .parameter-hints-widget{z-index:10000!important}.monaco-editor .suggest-widget .suggest-details-container,.monaco-editor .suggest-widget .details{display:none!important}.monaco-editor .suggest-widget .tree,.monaco-editor .suggest-widget .monaco-list{width:auto!important}.spreadsheet-toolbar{background:var(--bg-primary);flex-shrink:0;align-items:center;gap:0;min-height:28px;padding:2px 0;display:flex;position:relative}.toolbar-scroll-container{scrollbar-width:none;-ms-overflow-style:none;flex:1;align-items:center;gap:2px;min-width:0;padding:0 6px;display:flex;overflow:auto clip}.toolbar-scroll-container::-webkit-scrollbar{display:none}.toolbar-nav-arrow{background:var(--bg-secondary);height:100%;min-height:24px;color:var(--text-secondary);cursor:pointer;z-index:1;border:none;border-radius:0;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;display:flex}.toolbar-nav-arrow:focus{outline:none}.toolbar-nav-arrow:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--accent-primary)}.toolbar-nav-arrow:active{background:var(--active-bg)}.toolbar-nav-left{border-right:1px solid var(--border-primary)}.toolbar-nav-right{border-left:1px solid var(--border-primary)}.spreadsheet-toolbar.disabled{opacity:.5;pointer-events:none}.toolbar-button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;gap:2px;min-width:24px;height:24px;padding:2px 4px;font-size:13px;transition:background-color .15s;display:flex}.toolbar-button:focus{outline:none}.toolbar-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.toolbar-button:hover:not(:disabled){background:var(--hover-bg)}.toolbar-button:active:not(:disabled){background:var(--active-bg)}.toolbar-button.active{background:var(--active-bg);color:var(--accent-primary)}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-icon{justify-content:center;align-items:center;font-family:inherit;font-size:13px;line-height:1;display:flex}.toolbar-icon.bold{font-weight:700}.toolbar-icon.italic{font-family:Georgia,serif;font-style:italic}.toolbar-icon.underline{text-decoration:underline}.toolbar-icon.strikethrough{text-decoration:line-through}.toolbar-icon svg{width:14px;height:14px}.dropdown-icon{flex-shrink:0;width:16px;height:16px}.toolbar-divider{background:var(--border-primary);flex-shrink:0;width:1px;height:18px;margin:0 4px}.toolbar-dropdown-container{position:relative}.color-button{flex-direction:column;align-items:center;gap:2px;padding:2px 4px}.color-button .toolbar-icon{height:14px;line-height:14px}.color-indicator{border-radius:1px;width:14px;height:3px}.color-indicator-default{background:var(--text-secondary)}.font-size-button{justify-content:center;min-width:28px}.font-size-adjust{min-width:20px;padding:2px}.font-size-adjust .toolbar-icon{font-size:14px;font-weight:700}.font-size-value{font-size:12px}.dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #00000026}.dropdown-item{color:var(--text-primary);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:5px 8px;font-size:13px;transition:background-color .15s;display:flex}.dropdown-item:focus{outline:none}.dropdown-item.active{background:var(--active-bg);color:var(--accent-primary)}.font-size-dropdown .dropdown-item{justify-content:center;padding:3px 8px}.border-icon{text-align:center;width:16px;font-size:13px}.border-icon-img{object-fit:contain;flex-shrink:0;width:16px;height:16px}[data-theme=dark] .border-icon-img{filter:invert()}.toolbar-border-icon{width:14px;height:14px}.color-picker-dropdown{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;min-width:180px;padding:6px;box-shadow:0 2px 8px #00000026}.color-picker-option{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;transition:background-color .15s;display:flex}.color-picker-option:hover{background:var(--hover-bg)}.color-picker-option:focus{outline:none}.color-picker-auto-swatch{border:1px solid var(--border-primary);background:linear-gradient(135deg,#000 50%,#0000 50%);border-radius:2px;width:14px;height:14px}.color-picker-no-color{border:1px solid var(--border-primary);background:#fff;border-radius:2px;width:14px;height:14px;position:relative}.color-picker-no-color:after{content:"";background:red;height:2px;position:absolute;top:50%;left:-1px;right:-1px;transform:rotate(-45deg)}.color-picker-divider{background:var(--border-primary);height:1px;margin:4px 0}.color-picker-section-label{color:var(--text-secondary);padding:2px 4px 4px;font-size:11px;font-weight:500}.color-palette{gap:1px;display:grid}.color-palette.theme-palette{grid-template-columns:repeat(10,1fr)}.color-palette.standard-palette{grid-template-columns:repeat(8,1fr);margin-bottom:2px;margin-left:1px}.color-picker-more-icon{flex-shrink:0;width:14px;height:14px}.color-picker-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.color-swatch:hover{z-index:1;transform:scale(1.2);box-shadow:0 2px 4px #0000004d}.align-icon svg{width:14px;height:14px}@media (max-width:768px){.spreadsheet-toolbar{padding:2px 0}.toolbar-scroll-container{gap:1px;padding:0 4px}.toolbar-button{min-width:22px;height:22px;padding:2px 3px}.toolbar-divider{margin:0 2px}.font-size-button{min-width:24px}.font-size-adjust{min-width:18px}}.confirm-dialog-overlay{z-index:10000;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:500px;box-shadow:0 4px 20px #0000004d}.confirm-dialog-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:8px;display:flex}.confirm-dialog-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.confirm-dialog-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:28px;transition:all .2s;display:flex}.confirm-dialog-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.confirm-dialog-close:focus{box-shadow:none;outline:none}.confirm-dialog-close:focus-visible{box-shadow:none;outline:none}.confirm-dialog-body{padding:8px}.confirm-dialog-body p{color:var(--text-secondary);margin:0 0 8px;line-height:1.6}.confirm-dialog-body p:last-of-type{margin-bottom:0}.confirm-dialog-subtitle{color:var(--text-tertiary);font-size:13px}.confirm-dialog-body .form-group{margin-bottom:16px}.confirm-dialog-body .form-group:last-child{margin-bottom:0}.confirm-dialog-body .form-group label{color:var(--text-primary);margin-bottom:8px;font-weight:500;display:block}.confirm-dialog-body .form-group input{border:1px solid var(--border-primary);background-color:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:4px;padding:10px 12px;font-size:14px;transition:border-color .2s}.confirm-dialog-body .form-group input:focus{border-color:var(--accent-secondary);outline:none;box-shadow:0 0 0 3px #a855f71a}.confirm-dialog-body .auth-error{margin-top:12px;margin-bottom:0}.confirm-dialog-footer{border-top:1px solid var(--border-primary);background-color:var(--bg-tertiary);justify-content:flex-end;gap:12px;padding:8px;display:flex}.confirm-dialog-cancel,.confirm-dialog-secondary,.confirm-dialog-confirm{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:14px;font-weight:500;transition:all .2s}.confirm-dialog-cancel:disabled,.confirm-dialog-secondary:disabled,.confirm-dialog-confirm:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-cancel:focus,.confirm-dialog-secondary:focus,.confirm-dialog-confirm:focus{box-shadow:none;outline:none}.confirm-dialog-cancel:focus-visible{box-shadow:none;outline:none}.confirm-dialog-secondary:focus-visible{box-shadow:none;outline:none}.confirm-dialog-confirm:focus-visible{box-shadow:none;outline:none}.confirm-dialog-cancel{color:var(--text-secondary);border:1px solid var(--border-primary);background-color:#0000}.confirm-dialog-cancel:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.confirm-dialog-secondary{background-color:var(--accent-secondary);color:#fff}.confirm-dialog-secondary:hover:not(:disabled){background-color:var(--accent-hover)}.confirm-dialog-secondary.destructive{background-color:#dc2626}.confirm-dialog-secondary.destructive:hover:not(:disabled){background-color:#b91c1c}.confirm-dialog-confirm{background-color:var(--accent-secondary);color:#fff}.confirm-dialog-confirm:hover:not(:disabled){background-color:var(--accent-hover)}.confirm-dialog-confirm.destructive{background-color:#dc2626}.confirm-dialog-confirm.destructive:hover:not(:disabled){background-color:#b91c1c}.dataset-viewer{background-color:var(--bg-tertiary);flex-direction:column;height:100%;display:flex;position:relative}.empty-state{color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-state h2{margin:0 0 .5rem;font-size:1.5rem}.empty-state p{margin:0;font-size:1rem}.viewer-content{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-content.dragging-over{border:2px dashed var(--accent-secondary);background-color:var(--highlight-bg)}.tree-drop-overlay{border:2px dashed var(--accent-primary);color:var(--accent-primary);z-index:1000;cursor:move;background-color:#61afef26;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.drag-overlay{background-color:var(--overlay);z-index:100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.drag-message{background-color:var(--accent-secondary);color:#fff;border-radius:4px;padding:2rem 3rem;font-size:1.2rem;font-weight:600;box-shadow:0 4px 12px #0000004d}.tabs-container-bottom{background-color:var(--bg-primary);border-top:1px solid var(--border-primary);box-sizing:border-box;flex-shrink:0;align-items:center;height:32px;min-height:32px;display:flex}.tabs-scroll{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0;height:100%;display:flex;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.tab-nav-arrows{flex-shrink:0;align-items:center;height:100%;margin-left:auto;display:flex}.tab-nav-arrow{color:#aaa;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:24px;height:100%;padding:0;font-size:1.2rem;transition:color .15s;display:flex}.tab-nav-arrow:hover:not(.disabled){color:#fff}.tab-nav-arrow:focus{box-shadow:none;outline:none}.tab-nav-arrow:focus-visible{box-shadow:none;outline:none}.tab-nav-arrow.disabled{color:var(--text-tertiary);cursor:default;opacity:.4}.tab{background-color:var(--bg-elevated);cursor:grab;color:var(--text-tertiary);white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:auto;border-right:1px solid var(--border-primary);box-sizing:border-box;justify-content:center;align-items:center;min-width:80px;height:100%;padding:0 12px;font-size:.8rem;transition:all .2s ease-out;display:flex;position:relative}.tab:hover{background-color:var(--hover-bg);color:#fff}.tab.active{background-color:var(--bg-tertiary);color:var(--accent-primary)}.tab.dragging{cursor:grabbing;color:#fff;z-index:1000;opacity:1;box-shadow:0 4px 12px #00000080}.tab.add-tab{cursor:pointer;background-color:#0000;min-width:32px;padding:0 8px}.tab.add-tab:hover{background-color:var(--hover-bg);color:var(--accent-primary)}.add-tab-icon{color:#fff;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.tab.add-tab:hover .add-tab-icon{color:var(--accent-primary)}.tab-name{text-overflow:ellipsis;overflow:hidden}.tab-rename-input{border:1px solid var(--accent-secondary);color:inherit;font:inherit;background:0 0;border-radius:2px;outline:none;width:150px;padding:.2rem .4rem}.tab-context-menu{z-index:1000;color:#ffffffde;background-color:#424242;border:1px solid #616161;border-radius:2px;min-width:120px;padding:4px 0;font-family:Roboto,Segoe UI,sans-serif;font-size:14px;position:fixed;box-shadow:0 5px 10px #0006}.tab-context-menu div{cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 16px;transition:background-color .15s ease-in-out}.tab-context-menu div:not(.divider):hover{background-color:#ffffff14}.tab-context-menu div:not(.divider):active{background-color:#ffffff1f}.tab-context-menu .divider{cursor:default;background-color:#ffffff1f;height:1px;margin:4px 0;padding:0}.tab-context-menu .delete-option{color:#f44336}.tab-context-menu .delete-option:hover{background-color:#f4433614}.add-dataset-menu{background-color:var(--bg-elevated);border:1px solid var(--border-secondary);z-index:1000;border-radius:4px;min-width:150px;position:fixed;box-shadow:0 4px 12px #0000004d}.add-dataset-menu div{cursor:pointer;padding:.75rem 1rem;font-size:.9rem;transition:background-color .2s}.add-dataset-menu div:hover{background-color:var(--hover-bg)}:root[data-theme=light] .dataset-viewer{background-color:#fff}:root[data-theme=light] .tabs-container-bottom{background-color:#e0e0e0;border-top-color:#ddd}:root[data-theme=light] .tab{color:#333;background-color:#f5f5f5}:root[data-theme=light] .tab:hover{color:#000;background-color:#d8d8d8}:root[data-theme=light] .tab.active{color:var(--accent-primary);background-color:#fff}:root[data-theme=light] .tab-context-menu{color:#333;background-color:#fff;border-color:#ddd}:root[data-theme=light] .tab-context-menu div:not(.divider):hover{background-color:#f5f5f5}:root[data-theme=light] .tab-context-menu .divider{background-color:#ddd}:root[data-theme=light] .add-dataset-menu{background-color:#fff;border-color:#ddd}:root[data-theme=light] .add-dataset-menu div:hover{background-color:#f5f5f5}:root[data-theme=light] .add-tab-icon{color:#000}:root[data-theme=light] .tab.add-tab:hover .add-tab-icon{color:var(--accent-primary)}:root[data-theme=light] .tab-nav-arrow{color:#555}:root[data-theme=light] .tab-nav-arrow:hover:not(.disabled){color:#000}.chat-history{background-color:var(--bg-primary);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.chat-history-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;min-height:0;padding:6px;overflow-y:auto}.chat-history-list::-webkit-scrollbar{width:6px}.chat-history-list::-webkit-scrollbar-track{background:0 0}.chat-history-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.chat-history-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.chat-history-item{background-color:#0000;border-radius:4px;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding:8px;transition:all .2s;display:flex}.chat-history-item:hover{background-color:var(--hover-bg)}.chat-history-item.active{background-color:#0000}.thread-info{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;min-width:0;overflow:hidden}.thread-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:600;overflow:hidden}.thread-meta{color:var(--text-muted);gap:12px;font-size:12px;display:flex}.thread-date{color:var(--text-secondary)}.thread-messages{color:var(--text-muted)}.thread-actions{align-items:center;gap:8px;margin-left:12px;display:flex}.rename-btn,.delete-btn{cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex;background-color:#0000!important;padding:0!important}.rename-btn:hover,.delete-btn:hover{background-color:#0000!important}.rename-btn:focus,.delete-btn:focus,.rename-btn:active,.delete-btn:active{box-shadow:none!important;border:none!important;outline:none!important}.rename-btn:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.delete-btn:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.action-icon{width:100%;height:100%;transition:all .2s}.rename-btn .action-icon{opacity:1;filter:brightness(0)saturate()invert(85%)}.rename-btn:hover .action-icon{filter:brightness(0)saturate()invert(80%)}:root[data-theme=light] .rename-btn .action-icon{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .rename-btn:hover .action-icon{filter:brightness(0)saturate()invert(20%)}.delete-btn .delete-icon{filter:brightness(0)saturate()invert(85%);transition:filter .2s}.delete-btn:hover .delete-icon{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}:root[data-theme=light] .delete-btn .delete-icon{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .delete-btn:hover .delete-icon{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.edit-input{width:100%;font-family:inherit;font-size:14px;font-weight:600;line-height:inherit;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border:none;outline:none;margin-bottom:4px;padding:0}.edit-input-error{color:#e74c3c}.chat-history-loading-overlay{background-color:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.chat-history-loading-content{flex-direction:column;align-items:center;gap:16px;display:flex}.chat-history-spinner{border:4px solid #abb2bf33;border-top-color:var(--info,#61afef);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite chat-history-spin}.chat-history-loading-content span{color:var(--text-primary,#abb2bf);font-size:14px;font-weight:500}@keyframes chat-history-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collapsible-code{background:#1e1e1e;border:1px solid #333;border-radius:2px;margin:8px 0;overflow:hidden}.collapsible-code-header{cursor:pointer;color:#ccc;text-align:left;background:#252526;border:none;border-radius:2px 2px 0 0;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12px;transition:background-color .15s;display:flex}.collapsible-code-header:hover{background:#2d2d2d}.collapsible-code-header:focus{outline:none}.collapsible-code-chevron{flex-shrink:0;transition:transform .15s}.collapsible-code-chevron.expanded{transform:rotate(90deg)}.collapsible-code-label{color:#9cdcfe;font-family:Consolas,Monaco,Courier New,monospace}.collapsible-code-content{border-top:1px solid #333;padding-bottom:8px}.code-loading{color:#888;text-align:center;padding:16px;font-size:12px}.collapsible-code-content .monaco-editor{padding-top:4px}.collapsible-code-content .monaco-editor .margin{background:#1e1e1e!important}:root[data-theme=light] .collapsible-code{background:#f8f8f8;border-color:#e0e0e0}:root[data-theme=light] .collapsible-code-header{color:#555;background:#eaeaea}:root[data-theme=light] .collapsible-code-header:hover{background:#e0e0e0}:root[data-theme=light] .collapsible-code-label{color:#06c}:root[data-theme=light] .collapsible-code-content{border-top-color:#e0e0e0}:root[data-theme=light] .collapsible-code-content .monaco-editor .margin{background:#f8f8f8!important}:root[data-theme=light] .code-loading{color:#666}.collapsible-section{border:1px solid var(--border-secondary,#e0e0e0);background:var(--bg-secondary,#f5f5f5);border-radius:4px;margin:8px 0;overflow:hidden}.collapsible-section-header{background:var(--bg-tertiary,#eaeaea);cursor:pointer;width:100%;color:var(--text-secondary,#666);text-align:left;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background-color .15s;display:flex}.collapsible-section-header:hover{background:var(--bg-hover,#e0e0e0)}.collapsible-section-header:focus{outline:none}.collapsible-section-chevron{flex-shrink:0;transition:transform .15s}.collapsible-section-chevron.expanded{transform:rotate(90deg)}.collapsible-section-title{color:var(--text-primary,#333);font-weight:500}.collapsible-section-content{color:var(--text-primary,#333);border-top:1px solid var(--border-secondary,#e0e0e0);padding:12px;font-size:12px;line-height:1.6}.collapsible-section-content p{margin:0 0 8px}.collapsible-section-content p:last-child{margin-bottom:0}.collapsible-section-content ul,.collapsible-section-content ol{margin:4px 0;padding-left:20px}.collapsible-section-content li{margin:2px 0}.collapsible-section-content strong{font-weight:600}:root[data-theme=dark] .collapsible-section,.dark .collapsible-section{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .collapsible-section-header,.dark .collapsible-section-header{color:#aaa;background:#333}:root[data-theme=dark] .collapsible-section-header:hover,.dark .collapsible-section-header:hover{background:#3a3a3a}:root[data-theme=dark] .collapsible-section-title,.dark .collapsible-section-title{color:#e0e0e0}:root[data-theme=dark] .collapsible-section-content,.dark .collapsible-section-content{color:#d0d0d0;border-top-color:#3a3a3a}.mini-spreadsheet{background:var(--bg-secondary);border:1px solid var(--border-primary);z-index:0;isolation:isolate;border-radius:4px;margin:8px 0;position:relative;overflow:hidden}.mini-spreadsheet-header{background:var(--bg-tertiary,#252526);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;gap:8px;padding:6px;display:flex}.mini-spreadsheet-title{color:var(--text-primary);flex:1 1 0;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:500;display:flex;overflow:hidden}.mini-spreadsheet-title svg{color:var(--text-secondary);flex-shrink:0}.mini-spreadsheet-title>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mini-spreadsheet-dims{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-weight:400}.mini-spreadsheet-actions{flex-shrink:0;gap:4px;display:flex}.mini-spreadsheet-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;outline:none;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:all .15s;display:flex}.mini-spreadsheet-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.mini-spreadsheet-btn:focus{box-shadow:none;outline:none}.mini-spreadsheet-btn.create-btn{background:var(--accent-primary);color:#fff}.mini-spreadsheet-btn.create-btn:hover{background:var(--accent-primary-hover)}.mini-spreadsheet-btn .btn-text{display:none}.mini-spreadsheet-btn{padding:4px 6px}.mini-spreadsheet-btn svg.rotated{transform:rotate(180deg)}.mini-spreadsheet-truncation-notice{color:var(--warning-text,#f0ad4e);background:var(--warning-bg,#f0ad4e1a);border-bottom:1px solid var(--border-primary);text-align:center;padding:4px 8px;font-size:11px}.mini-spreadsheet-table-wrapper{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;max-height:200px;overflow:auto}.mini-spreadsheet-table-wrapper.expanded{max-height:400px}.mini-spreadsheet-table{border-collapse:collapse;width:100%;font-size:11px}.mini-spreadsheet-table th,.mini-spreadsheet-table td{text-align:left;border-bottom:1px solid var(--border-primary);white-space:nowrap;text-overflow:ellipsis;max-width:150px;padding:4px 8px;overflow:hidden}.mini-spreadsheet-table th{background:var(--bg-tertiary,#2d2d2d);color:var(--text-secondary);z-index:1;font-weight:500;position:sticky;top:0}.mini-spreadsheet-table td{color:var(--text-primary)}.mini-spreadsheet-table tr:hover td{background:var(--hover-bg)}.mini-spreadsheet-table .more-indicator{color:var(--text-muted);text-align:center;font-style:italic}.mini-spreadsheet-table .more-row td{text-align:center;color:var(--text-muted);background:var(--bg-tertiary,#252526);font-style:italic}.mini-spreadsheet-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.mini-spreadsheet-table-wrapper::-webkit-scrollbar-track{background:0 0}.mini-spreadsheet-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mini-spreadsheet-table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.mini-spreadsheet-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.mini-spreadsheet-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;width:320px;animation:.15s modalFadeIn;box-shadow:0 8px 32px #0000004d}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mini-spreadsheet-modal .modal-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.mini-spreadsheet-modal .modal-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.mini-spreadsheet-modal .modal-close{cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.mini-spreadsheet-modal .modal-close:hover{background:0 0}.mini-spreadsheet-modal .modal-close:focus{box-shadow:none;outline:none}.mini-spreadsheet-modal .modal-close img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}:root[data-theme=light] .mini-spreadsheet-modal .modal-close img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.mini-spreadsheet-modal .modal-close:hover img,:root[data-theme=light] .mini-spreadsheet-modal .modal-close:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.mini-spreadsheet-modal .modal-body{padding:12px}.mini-spreadsheet-modal .modal-body label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.mini-spreadsheet-modal .modal-body input{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);border-radius:4px;outline:none;padding:8px 10px;font-size:13px}.mini-spreadsheet-modal .modal-body input:focus{border-color:var(--accent-primary)}.mini-spreadsheet-modal .modal-info{color:var(--text-muted);margin:12px 0 0;font-size:11px}.mini-spreadsheet-modal .modal-footer{border-top:1px solid var(--border-primary);justify-content:flex-end;gap:8px;padding:8px 12px;display:flex}.mini-spreadsheet-modal .modal-btn{cursor:pointer;border:none;border-radius:4px;outline:none;padding:6px 14px;font-size:12px;transition:all .15s}.mini-spreadsheet-modal .modal-btn:focus{box-shadow:none;outline:none}.mini-spreadsheet-modal .modal-btn.cancel{color:var(--text-secondary);background:0 0}.mini-spreadsheet-modal .modal-btn.cancel:hover{background:var(--hover-bg);color:var(--text-primary)}.mini-spreadsheet-modal .modal-btn.create{background:var(--accent-primary);color:#fff}.mini-spreadsheet-modal .modal-btn.create:hover:not(:disabled){background:var(--accent-primary-hover)}.mini-spreadsheet-modal .modal-btn.create:disabled{opacity:.5;cursor:not-allowed}.plotly-chart-container{width:100%;height:100%;min-height:200px;position:relative}.plotly-chart-loading{z-index:1;background:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.plotly-chart-spinner{border:2px solid #e0e0e0;border-top-color:#3b82f6;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite plotly-spin}@keyframes plotly-spin{to{transform:rotate(360deg)}}.plotly-chart-download-buttons{z-index:2;gap:4px;display:flex;position:absolute;top:8px;right:8px}.plotly-download-btn{cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:11px;transition:background-color .15s}.plotly-download-btn:hover{background:#e5e7eb}.plotly-chart-container .modebar{opacity:.7}.plotly-chart-container .modebar:hover{opacity:1}.plotly-chart-container .js-plotly-plot,.plotly-chart-container .plot-container,.plotly-chart-container .plotly{width:100%!important;height:100%!important}.plot-or-image-container{justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.plot-or-image-container.image{cursor:pointer;height:auto}.plot-or-image-container.plotly{height:100%;min-height:300px}.plot-or-image-img{width:100%;height:auto;transition:transform .15s;display:block}.plot-or-image-container.image:hover .plot-or-image-img{transform:scale(1.01)}.plot-or-image-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.plot-or-image-spinner{border:2px solid #e0e0e0;border-top-color:#3b82f6;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite plot-or-image-spin}@keyframes plot-or-image-spin{to{transform:rotate(360deg)}}.plot-or-image-badge{pointer-events:none;opacity:.8;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500;position:absolute;bottom:8px;right:8px}.plot-or-image-badge.matplotlib{color:#fff;background:#6b7280}.plot-or-image-badge.plotly{color:#fff;background:#3b82f6}.plot-or-image-badge.interactive-available{color:#fff;background:#3b82f6d9;padding:3px 8px;font-size:11px}.plot-or-image-empty{color:#9ca3af;font-size:14px}.message-plot .plot-or-image-container{max-width:100%;height:100%}.message-plot .plot-or-image-container.plotly{height:100%}.message-plot .plot-or-image-container.image{height:auto}.chat-panel{background-color:var(--bg-primary);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;flex:1;margin-right:3px;padding-bottom:100px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.empty-chat{text-align:center;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:20px 16px;display:flex}.empty-chat p{color:var(--text-primary);margin:4px 0;font-size:18px;font-weight:500}:root[data-theme=dark] .empty-chat p{color:#fff}:root[data-theme=light] .empty-chat p{color:#1a1a1a}.empty-chat-hint{color:var(--text-muted);margin-top:8px;font-size:12px}.example-prompts{flex-direction:column;gap:8px;margin-top:16px;display:flex}.example-prompt-chip{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:center;white-space:nowrap;border-radius:4px;outline:none;padding:8px 16px;font-size:12px;transition:all .15s}.example-prompt-chip:hover:not(:disabled){background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.example-prompt-chip:focus,.example-prompt-chip:active{box-shadow:none;border-color:var(--border-primary);outline:none}.example-prompt-chip:disabled{opacity:.5;cursor:not-allowed}.chat-message{width:100%;padding:6px 0}.chat-message.user{background-color:var(--bg-primary);padding-top:.3rem;padding-bottom:0}.chat-message.assistant{background-color:var(--bg-primary);padding-bottom:1rem}.message-wrapper{justify-content:flex-start;max-width:768px;margin:0 auto;padding:0 4px 0 12px;display:flex}.chat-message.user .message-wrapper{justify-content:flex-end;padding-right:.3rem}.chat-message.assistant .message-wrapper{justify-content:flex-start}.message-content{word-wrap:break-word;white-space:pre-wrap;max-width:100%;font-size:12px;line-height:1.5;overflow-x:auto}.chat-hr{background-color:var(--border-primary);opacity:.6;border:none;height:1px;margin:12px 0}.chat-section-header{color:var(--text-primary);margin-top:12px;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.message-content .chat-section-header:first-child{margin-top:0}.chat-heading{color:var(--text-primary);font-weight:600;display:block}.chat-heading-1{margin-top:16px;margin-bottom:8px;font-size:1.4em}.chat-heading-2{margin-top:14px;margin-bottom:6px;font-size:1.2em}.chat-heading-3{margin-top:12px;margin-bottom:4px;font-size:1.1em}.chat-heading-4{margin-top:10px;margin-bottom:4px;font-size:1em}.message-content .chat-heading:first-child{margin-top:0}.chat-message.user .message-content{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:12px;max-width:70%;margin-left:auto;padding:4px 6px}.chat-message.assistant .message-content{color:var(--text-primary);flex:1;padding:0}.message-plot{border:1px solid var(--border-primary);border-radius:4px;max-width:400px;margin-top:10px;overflow:hidden}.message-plot:has(.plotly){height:300px}.message-plot img{width:100%;display:block}.message-plot.inline-plot{margin-top:12px;margin-bottom:12px}.chat-input-container{background:linear-gradient(to bottom,transparent 0%,var(--bg-primary)30%);padding:24px 8px 8px;position:absolute;bottom:0;left:0;right:0}.mention-menu{background-color:var(--bg-secondary);border:1px solid var(--border-primary);z-index:100;border-radius:4px;max-width:768px;max-height:150px;position:absolute;bottom:100%;left:12px;right:12px;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.mention-menu-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;transition:background-color .15s;display:flex}.mention-menu-item:hover{background-color:var(--hover-bg)}.mention-menu-item.selected{background-color:var(--active-bg)}.mention-dataset-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.mention-document-icon{object-fit:contain;flex-shrink:0;width:16px;height:16px}.mention-document-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.mention-menu::-webkit-scrollbar{width:6px}.mention-menu::-webkit-scrollbar-track{background:0 0}.mention-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mention-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.chat-input-wrapper{background-color:var(--bg-secondary);max-width:768px;box-shadow:0 0 0 1px var(--border-primary);border-radius:10px;flex-direction:column;gap:6px;margin:0 auto;padding:8px 2px 1px 8px;transition:box-shadow .2s,background-color .3s;display:flex;position:relative}.chat-input-wrapper.enhancing{animation:1.5s ease-in-out infinite enhancePulse;box-shadow:0 0 0 2px #8b5cf64d}@keyframes enhancePulse{0%,to{box-shadow:0 0 0 2px #8b5cf64d,0 0 20px #8b5cf61a}50%{box-shadow:0 0 0 2px #8b5cf680,0 0 25px #8b5cf633}}.chat-input-wrapper textarea.enhancing{opacity:.7}.mention-preview{color:var(--text-primary);opacity:.4;pointer-events:none;white-space:pre;text-overflow:ellipsis;z-index:1;font-family:inherit;font-size:13px;line-height:1.5;position:absolute;top:9px;left:10px;right:40px;overflow:hidden}.chat-input-wrapper:focus-within{box-shadow:0 0 0 1px var(--accent-primary)}.chat-input-wrapper textarea{resize:none;width:100%;min-height:32px;max-height:144px;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border:none;border-radius:4px;outline:none;padding-right:4px;font-family:inherit;font-size:13px;overflow-y:auto}.chat-input-wrapper textarea::placeholder{color:var(--text-tertiary)}.chat-input-wrapper textarea:disabled{cursor:not-allowed;opacity:.5}.chat-input-wrapper.locked{background-color:#ef444414;animation:2s ease-in-out infinite lockedPulse;box-shadow:0 0 0 2px #ef44444d}@keyframes lockedPulse{0%,to{background-color:#ef444414;box-shadow:0 0 0 2px #ef44444d,0 0 15px #ef44441a}50%{background-color:#ef44441f;box-shadow:0 0 0 2px #ef444480,0 0 20px #ef444433}}.chat-input-wrapper.locked textarea{cursor:not-allowed;color:var(--error-color,#ef4444);opacity:.8;background-color:#0000}.chat-input-wrapper textarea::-webkit-scrollbar{width:6px}.chat-input-wrapper textarea::-webkit-scrollbar-track{background:0 0}.chat-input-wrapper textarea::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.chat-input-wrapper textarea::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.chat-panel .chat-input-wrapper .send-button{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin:0 2px 2px 0;transition:all .2s;background-color:var(--accent-primary)!important;color:#fff!important;border:none!important;border-radius:50%!important;width:28px!important;height:28px!important;padding:0!important;font-size:14px!important;line-height:1!important;display:flex!important}.chat-panel .chat-input-wrapper .send-button:hover:not(:disabled){background-color:var(--accent-primary-hover);transform:scale(1.05)}.chat-panel .chat-input-wrapper .send-button:disabled{cursor:not-allowed;opacity:.4;transform:none;background-color:var(--accent-primary)!important}.chat-panel .chat-input-wrapper .send-button:focus,.chat-panel .chat-input-wrapper .send-button:active{box-shadow:none;border:none;outline:none}.chat-panel .chat-input-wrapper .send-button:focus-visible{box-shadow:none;border:none;outline:none}.send-icon{filter:brightness(0)saturate()invert();width:14px;height:14px}.loading-dots{color:#fff;font-size:16px}.chat-panel .chat-input-wrapper .send-button.stop-button{background-color:var(--error-color,#ef4444)!important}.chat-panel .chat-input-wrapper .send-button.stop-button:hover{transform:scale(1.05);background-color:var(--error-hover,#dc2626)!important}.chat-panel .chat-input-wrapper .send-button.stop-button svg{width:14px;height:14px}.chat-panel .model-selector-wrapper{position:relative}.chat-panel .model-selector-button{height:28px;color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;align-items:center;gap:4px;padding:0 8px;font-family:inherit;font-size:11px;transition:all .15s;display:flex}.chat-panel .model-selector-button:hover:not(:disabled),.chat-panel .model-selector-button.open{color:var(--text-primary);background-color:#ffffff1a}.chat-panel .model-selector-button:disabled{cursor:not-allowed;opacity:.5}.chat-panel .model-label{font-weight:500}.chat-panel .model-chevron{opacity:.6;transition:transform .2s}.chat-panel .model-selector-button.open .model-chevron{transform:rotate(180deg)}.chat-panel .model-menu{background-color:var(--bg-secondary);border:1px solid var(--border-primary);z-index:1000;border-radius:4px;min-width:100px;animation:.1s modelMenuFadeIn;position:absolute;bottom:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #0003}@keyframes modelMenuFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.chat-panel .model-menu-item{cursor:pointer;text-align:left;background-color:#0000;border:none;align-items:center;gap:6px;width:100%;padding:6px 10px;transition:background-color .1s;display:flex}.chat-panel .model-menu-item:hover{background-color:var(--hover-bg)}.chat-panel .model-menu-item.selected{background-color:var(--active-bg)}.chat-panel .model-menu-item:first-child{border-radius:5px 5px 0 0}.chat-panel .model-menu-item:last-child{border-radius:0 0 5px 5px}.chat-panel .model-item-label{color:var(--text-primary);font-size:11px;font-weight:500}.chat-panel .model-item-description{display:none}.chat-panel .model-menu-item.selected .model-item-label{color:var(--accent-primary)}:root[data-theme=light] .chat-panel .model-selector-button:hover:not(:disabled),:root[data-theme=light] .chat-panel .model-selector-button.open{background-color:#0000000d}.chat-panel .mention-button{color:#fff;cursor:pointer;opacity:.85;background-color:#0000;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .2s;display:flex}.chat-panel .mention-button:hover:not(:disabled){opacity:1;transform:scale(1.1)}.chat-panel .mention-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.chat-panel .mention-button:focus,.chat-panel .mention-button:active{box-shadow:none;border:none;outline:none}.chat-panel .mention-button:focus-visible{box-shadow:none;border:none;outline:none}.mention-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .mention-icon{filter:brightness(0)saturate()invert(20%)}.chat-panel .enhance-button{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;opacity:.85;background-color:#0000;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:all .2s;display:flex}.chat-panel .enhance-button:hover:not(:disabled){opacity:1;transform:scale(1.1)}.chat-panel .enhance-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.chat-panel .enhance-button:focus,.chat-panel .enhance-button:active{box-shadow:none;border:none;outline:none}.chat-panel .enhance-button:focus-visible{box-shadow:none;border:none;outline:none}.chat-panel .enhance-button svg{width:16px;height:16px}.enhance-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .enhance-icon{filter:brightness(0)saturate()invert(20%)}@keyframes spin{to{transform:rotate(360deg)}}.chat-panel .enhance-button .spinning,.chat-panel .attach-button .spinning{animation:1s linear infinite spin}.streaming-code-block{background:var(--bg-tertiary,#1e1e1e);color:var(--text-secondary);white-space:pre-wrap;border-left:3px solid var(--accent-primary);border-radius:4px;margin:8px 0;padding:8px 12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;display:block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-indicator{align-items:center;gap:4px;padding:4px 0;display:flex}.typing-dot{background-color:var(--text-secondary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite bounce}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:900px){.chat-panel{overflow:hidden}.message-wrapper{max-width:100%;padding:0 8px}.chat-input-wrapper{max-width:100%}.chat-message.user .message-content{max-width:85%}.empty-chat p{font-size:13px}.empty-chat-hint{font-size:11px}}@media (max-width:768px){.message-wrapper{padding:0 6px}.chat-input-container{padding:20px 6px 6px}.chat-input-wrapper{padding:6px 2px 1px 6px}.chat-input-wrapper textarea{font-size:12px}.message-content{font-size:11px}.chat-message.user .message-content{padding:3px 5px}}.chat-panel .attach-button{color:#fff;cursor:pointer;opacity:.85;background-color:#0000;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .2s;display:flex}.chat-panel .attach-button:hover:not(:disabled){opacity:1;transform:scale(1.1)}.chat-panel .attach-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.chat-panel .attach-button:focus,.chat-panel .attach-button:active{box-shadow:none;border:none;outline:none}.chat-panel .attach-button:focus-visible{box-shadow:none;border:none;outline:none}.chat-panel .attach-button svg{width:16px;height:16px}.attach-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .attach-icon{filter:brightness(0)saturate()invert(20%)}.attached-documents-bar{flex-direction:row;align-items:center;gap:6px;max-width:100%;margin-bottom:4px;padding:0 0 6px;display:flex}.attached-documents-chips{scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.attached-documents-chips::-webkit-scrollbar{display:none}.attached-documents-chips.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.attached-documents-chips.dragging .attached-document-chip{cursor:grabbing}.attached-document-chip{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;max-width:160px;padding:4px 6px;font-size:11px;transition:all .15s;display:inline-flex}.attached-document-chip:hover{border-color:var(--accent-primary)}.attached-document-type-icon{object-fit:contain;flex-shrink:0;width:14px;height:14px}.attached-document-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.attached-document-remove{width:14px;height:14px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:0;padding:0;transition:all .15s;display:flex}.attached-document-remove:focus{outline:none}.attached-document-remove:hover{background:var(--error-color,#ef4444);color:#fff}.attached-document-remove svg{width:8px;height:8px}.attached-documents-clear-all{color:var(--text-tertiary);border:1px solid var(--border-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:500;transition:all .15s}.attached-documents-clear-all:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-secondary)}:root[data-theme=light] .attached-document-chip{background:#f3f4f6;border-color:#e5e7eb}:root[data-theme=light] .attached-document-remove{color:#9ca3af}:root[data-theme=light] .attached-document-remove:hover{color:#fff;background:#ef4444}.attached-datasets-bar{border-top-color:#22c55e4d}.attached-dataset-chip{background:#22c55e1a!important;border-color:#22c55e66!important}.attached-dataset-chip:hover{background:#22c55e26!important;border-color:#22c55e99!important}.attached-dataset-icon{color:#22c55e;flex-shrink:0}:root[data-theme=light] .attached-dataset-chip{background:#22c55e14!important;border-color:#22c55e80!important}.agent-progress-indicator{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:20px;align-items:center;gap:8px;max-width:100%;padding:6px 12px 6px 10px;font-size:13px;animation:.2s ease-out fadeInProgress;display:inline-flex}@keyframes fadeInProgress{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.agent-progress-icon{width:18px;height:18px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.agent-progress-icon svg{width:16px;height:16px;animation:2s ease-in-out infinite gentlePulse}@keyframes gentlePulse{0%,to{opacity:.7}50%{opacity:1}}.agent-progress-content{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.agent-progress-label{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:500}.agent-progress-separator{color:var(--text-tertiary);font-size:13px}.agent-progress-detail{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;overflow:hidden}.agent-progress-dots{align-items:center;gap:3px;margin-left:4px;display:flex}.agent-progress-dots span{background-color:var(--text-tertiary);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite dotPulse}.agent-progress-dots span:first-child{animation-delay:0s}.agent-progress-dots span:nth-child(2){animation-delay:.2s}.agent-progress-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}:root[data-theme=light] .agent-progress-indicator{background:#f7f7f8;border-color:#e5e5e5}:root[data-theme=light] .agent-progress-icon{color:#6b6b6b}:root[data-theme=light] .agent-progress-label{color:#2d2d2d}:root[data-theme=light] .agent-progress-detail{color:#6b6b6b}:root[data-theme=light] .agent-progress-dots span{background-color:#9b9b9b}.usage-dashboard{background:var(--bg-secondary,#1e1e1e);border:1px solid var(--border-color,#333);border-radius:4px;margin:8px 0;padding:16px}.usage-dashboard.at-limit{background:#e74c3c1a;border-color:#e74c3c}.usage-dashboard.warning{border-color:#f39c12}.usage-dashboard.pro{background:#9b59b61a;border-color:#9b59b6}.usage-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.usage-header h3{color:var(--text-primary,#fff);margin:0;font-size:14px;font-weight:600}.pro-badge{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#9b59b6,#8e44ad);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.usage-content{flex-direction:column;gap:12px;display:flex}.usage-unlimited{color:#9b59b6;align-items:center;gap:8px;font-size:14px;display:flex}.unlimited-icon{font-size:20px;font-weight:700}.usage-stats{text-align:center}.usage-number{color:var(--text-primary,#fff);font-size:24px;font-weight:600}.usage-number .current{color:var(--text-primary,#fff)}.usage-number .separator{color:var(--text-secondary,#888);margin:0 4px}.usage-number .limit{color:var(--text-secondary,#888)}.usage-label{color:var(--text-secondary,#888);margin-top:4px;font-size:12px}.usage-progress{flex-direction:column;gap:4px;display:flex}.progress-fill{background:#3498db;border-radius:4px;height:100%;transition:width .3s}.at-limit .progress-fill{background:#e74c3c}.warning .progress-fill{background:#f39c12}.progress-label{color:var(--text-secondary,#888);text-align:right;font-size:11px}.progress-label .limit-reached{color:#e74c3c;font-weight:500}.limit-message{text-align:center;background:#e74c3c1a;border-radius:4px;padding:12px}.limit-message p{color:var(--text-primary,#fff);margin:0 0 12px;font-size:13px}.upgrade-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}.upgrade-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #9b59b666}.warning-message{text-align:center;padding:8px}.warning-message p{color:#f39c12;margin:0 0 8px;font-size:12px}.upgrade-link{color:#9b59b6;cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.upgrade-link:hover{color:#8e44ad}.usage-compact{background:var(--bg-secondary,#1e1e1e);border:1px solid var(--border-color,#333);border-radius:4px;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.usage-compact.at-limit{border-color:#e74c3c}.usage-compact.warning{border-color:#f39c12}.usage-compact.pro{border-color:#9b59b6}.usage-compact-label{align-items:center;gap:4px;font-size:12px;display:flex}.usage-compact-label .usage-count{color:var(--text-primary,#fff);font-weight:600}.usage-compact-label .usage-text{color:var(--text-secondary,#888)}.usage-compact-bar{background:var(--bg-tertiary,#2a2a2a);border-radius:2px;height:4px;overflow:hidden}.usage-compact-fill{background:#3498db;border-radius:2px;height:100%;transition:width .3s}.usage-compact.at-limit .usage-compact-fill{background:#e74c3c}.usage-compact.warning .usage-compact-fill{background:#f39c12}.usage-dashboard.loading{min-height:80px;color:var(--text-secondary,#888);justify-content:center;align-items:center;font-size:13px;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--active-bg);flex-direction:column;flex-shrink:0;align-items:center;width:50px;padding:8px 0;display:flex}.sidebar-top{flex-direction:column;align-items:center;width:100%;padding-bottom:8px;display:flex}.sidebar-section{flex-direction:column;align-items:center;gap:4px;width:100%;padding:4px 0;display:flex}.sidebar-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;text-align:center;-webkit-user-select:none;user-select:none;width:100%;padding:4px 0 2px;font-size:8px;font-weight:600}.sidebar-modes{flex-shrink:0}.sidebar-panels{flex:1;min-height:0}.sidebar-bottom{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:8px;display:flex}.sidebar-btn{cursor:pointer;width:33px;height:33px;color:var(--text-secondary);background-color:#0000;border:none;border-radius:4px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;transition:all .2s;display:flex}.sidebar-btn:hover{background-color:var(--active-bg);color:var(--text-inverse)}.sidebar-btn:focus,.sidebar-btn:active{box-shadow:none!important;border:none!important;outline:none!important}.sidebar-btn:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.sidebar-btn.active{background-color:var(--selected-bg);color:var(--text-inverse)}:root[data-theme=light] .sidebar-btn:hover,:root[data-theme=light] .sidebar-btn.active{color:var(--text-primary)}.sidebar-icon{filter:brightness(0)saturate()invert(85%);width:20px;height:20px}.sidebar-btn:hover .sidebar-icon,.sidebar-btn.active .sidebar-icon{filter:brightness(0)saturate()invert()}:root[data-theme=light] .sidebar-icon{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .sidebar-btn:hover .sidebar-icon,:root[data-theme=light] .sidebar-btn.active .sidebar-icon{filter:brightness(0)saturate()invert(0%)}.profile-button-container{z-index:10;justify-content:center;width:100%;display:flex;position:relative}.profile-btn.authenticated{background-color:#0000}.profile-btn.authenticated .sidebar-icon{filter:brightness(0)saturate()invert()}.profile-btn.authenticated{border-radius:50%;padding:0;overflow:hidden}.profile-btn.authenticated:hover{background-color:#0000}.profile-avatar{color:#333;text-transform:uppercase;-webkit-user-select:none;user-select:none;background-color:#c5c5c5;border-radius:50%;justify-content:center;align-items:center;width:33px;height:33px;font-size:15px;font-weight:600;display:flex}.profile-btn:hover .profile-avatar{background-color:#d5d5d5}.profile-menu{background-color:var(--bg-secondary);border:1px solid var(--active-bg);z-index:1000;border-radius:4px;min-width:200px;margin-bottom:8px;position:absolute;bottom:100%;left:13px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.profile-menu-header{border-bottom:1px solid var(--active-bg);background-color:var(--bg-primary);padding:6px 10px}.profile-email{color:var(--text-primary);word-break:break-all;font-size:13px;font-weight:500}.profile-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;align-items:center;gap:8px;padding:8px 6px;font-size:14px;transition:background-color .2s;display:flex}.profile-menu-item .menu-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}.profile-menu-item .menu-icon-text{width:16px;height:16px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:16px;transition:color .2s;display:flex}.profile-menu-item:hover{background-color:var(--active-bg)}.profile-menu-item:hover .menu-icon{filter:brightness(0)saturate()invert()}.profile-menu-item:hover .menu-icon-text{color:var(--text-primary)}.profile-menu-item:active{background-color:var(--selected-bg)}.profile-menu-item:focus{box-shadow:none!important;border:none!important;outline:none!important}.profile-menu-item:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}:root[data-theme=light] .profile-menu-item .menu-icon{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .profile-menu-item:hover .menu-icon{filter:brightness(0)saturate()invert(0%)}.profile-menu-item.upgrade-item{color:#9b59b6}.profile-menu-item.upgrade-item .menu-icon{filter:invert(42%)sepia(79%)saturate(1060%)hue-rotate(244deg)brightness(91%)contrast(92%)}.profile-menu-item.upgrade-item:hover{background:linear-gradient(135deg,#9b59b61a,#8e44ad1a)}.profile-pro-badge{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#9b59b6,#8e44ad);border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.sidebar-usage-wrapper{cursor:pointer;width:48px;margin-bottom:4px}.sidebar-usage-wrapper .usage-compact{border-radius:4px;padding:6px 4px;font-size:10px}.sidebar-usage-wrapper .usage-compact-label{justify-content:center}.sidebar-usage-wrapper .usage-count{font-size:10px}.sidebar-usage-wrapper .usage-text{display:none}.sidebar-usage-wrapper .usage-compact-bar{height:3px;margin-top:4px}.sidebar-divider{background:var(--border-primary);width:32px;height:1px;margin:4px 0}.back-btn{border:none!important}.back-btn:focus,.back-btn:active{box-shadow:none;outline:none;border:none!important}.back-btn:focus-visible{box-shadow:none;outline:none;border:none!important}.back-btn svg{stroke:var(--text-primary);opacity:.85;transition:stroke .2s,opacity .2s}.back-btn:hover svg{stroke:var(--accent-secondary);opacity:1}:root[data-theme=light] .back-btn:hover{background-color:var(--active-bg)}:root[data-theme=light] .back-btn:hover svg{stroke:var(--accent-secondary)}.sidebar-presence-stack{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.sidebar-presence-stack:hover .sidebar-presence-avatar{opacity:1;margin-bottom:4px}.sidebar-presence-stack:hover .sidebar-presence-avatar:last-child{margin-bottom:0}.sidebar-presence-stack:hover .profile-button-container{margin-top:4px}.sidebar-presence-container{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.sidebar-presence-avatars{cursor:pointer;flex-direction:column;align-items:center;display:flex}.sidebar-presence-avatar{color:#fff;border:2px solid var(--bg-secondary);-webkit-user-select:none;user-select:none;opacity:.5;border-radius:50%;justify-content:center;align-items:center;width:33px;height:33px;margin-bottom:-8px;font-size:15px;font-weight:600;transition:margin-bottom .2s,opacity .2s;display:flex;box-shadow:0 1px 3px #00000026}.sidebar-presence-avatar:last-child{margin-bottom:-8px}.sidebar-presence-overflow{background-color:#666;font-size:10px}.sidebar-presence-stack .profile-button-container{margin-top:-8px;transition:margin-top .2s}.sidebar-presence-stack .profile-button-container:first-child{margin-top:0}.sidebar-presence-menu{background:var(--bg-secondary);border:1px solid var(--border-primary);z-index:1000;border-radius:4px;min-width:200px;max-width:280px;margin-left:8px;position:absolute;bottom:0;left:100%;overflow:hidden;box-shadow:0 4px 12px #00000026}.sidebar-presence-menu-header{color:var(--text-secondary);border-bottom:1px solid var(--border-primary);padding:10px 12px;font-size:12px;font-weight:600}.sidebar-presence-menu-list{max-height:240px;overflow-y:auto}.sidebar-presence-menu-item{align-items:center;gap:10px;padding:8px 12px;transition:background-color .15s;display:flex}.sidebar-presence-menu-item:hover{background-color:var(--active-bg)}.sidebar-presence-menu-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:flex}.sidebar-presence-menu-email{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}[data-theme=dark] .sidebar-presence-avatar{border-color:var(--bg-secondary)}[data-theme=dark] .sidebar-presence-menu{box-shadow:0 4px 12px #0000004d}.connection-editor-overlay{z-index:10000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.connection-editor-modal{background:var(--bg-primary);border:1px solid #ffffff1f;border-radius:4px;flex-direction:column;width:90%;max-width:600px;max-height:90vh;display:flex;box-shadow:0 4px 20px #0000004d}.connection-editor-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.connection-editor-header h3{color:#d7dae0;margin:0;font-size:16px;font-weight:600}:root[data-theme=light] .connection-editor-header h3{color:#333}.connection-editor-header .close-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.connection-editor-header .close-btn:hover{background:0 0}.connection-editor-header .close-btn:focus{outline:none}.close-icon-svg{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}.connection-editor-header .close-btn:hover .close-icon-svg{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}:root[data-theme=light] .connection-editor-header .close-btn:hover .close-icon-svg{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.connection-editor-body{flex:1;padding:8px;overflow-y:auto}.form-input{border:1px solid var(--border-primary);background:var(--bg-secondary);width:100%;color:var(--text-primary,#d7dae0);box-sizing:border-box;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:13px;transition:all .15s}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input{padding-right:35px}.password-toggle-btn{cursor:pointer;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:16px;line-height:1;transition:opacity .15s;display:flex;position:absolute;right:8px}.password-toggle-btn:hover{opacity:1}.password-toggle-btn:focus{outline:none}.password-toggle-icon{filter:invert(85%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(90%)contrast(85%);width:16px;height:16px}:root[data-theme=light] .password-toggle-icon{filter:invert(15%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(50%)contrast(85%)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-label{cursor:pointer;color:var(--text-secondary,#abb2bf);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.checkbox-label span{color:var(--text-secondary,#abb2bf);font-weight:500}.field-hint{color:var(--text-tertiary,#5c6370);margin:4px 0 0;font-size:11px;font-style:italic}.test-result{border-radius:4px;align-items:center;gap:6px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.test-result.success{border-left:3px solid var(--success,#98c379);color:var(--success,#98c379);background-color:#98c3791a}.test-result.error{border-left:3px solid var(--error,#e06c75);color:var(--error,#e06c75);background-color:#e06c751a}.connection-editor-footer{border-top:1px solid #ffffff14;gap:8px;padding:8px;display:flex}.connection-editor-footer button{cursor:pointer;border:none;border-radius:4px;width:70px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s}.btn-secondary{color:#abb2bf;background-color:#0000;border:1px solid #ffffff26}.btn-secondary:hover:not(:disabled){background-color:#ffffff0d}.btn-delete{border:1px solid var(--error,#e06c75);color:var(--error,#e06c75);background-color:#0000}.btn-delete:hover:not(:disabled){background-color:#e06c7526}.btn-test{background-color:var(--info,#61afef);color:#fff;border:1px solid var(--info,#61afef)}.btn-test:hover:not(:disabled){background-color:#4fa3e8}.btn-test:disabled{opacity:.5;cursor:not-allowed}.connection-editor-footer .btn-primary{background-color:var(--accent-primary,#19c37d);color:#fff;border:1px solid var(--accent-primary,#19c37d)}.connection-editor-footer .btn-primary:hover:not(:disabled){background-color:#17b071}.connection-editor-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.connection-editor-footer button:focus,.close-btn:focus{box-shadow:none;outline:none}.connection-editor-footer button:focus-visible{box-shadow:none;outline:none}.close-btn:focus-visible{box-shadow:none;outline:none}.form-input:focus-visible{box-shadow:none;outline:none}.connection-manager{height:100%;padding:8px;overflow:auto}.connection-manager-loading{height:100%;color:var(--text-secondary,#5c6370);justify-content:center;align-items:center;font-size:16px;display:flex}.empty-connections{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:300px;display:flex}.empty-connections p{color:var(--text-secondary,#5c6370);margin:8px 0;font-size:16px}.connections-list{flex-direction:column;gap:8px;display:flex}.connection-card{background-color:var(--bg-secondary,#21252b);border:1px solid var(--bg-secondary,#21252b);cursor:pointer;border-radius:3px;padding:4px 6px;transition:all .2s}.connection-card:hover{background-color:#3a3a3a}:root[data-theme=light] .connection-card:hover{background-color:#e8e8e8}.connection-card.test-success{border-color:var(--success,#98c379);background-color:#98c37926}.connection-card.test-error{border-color:var(--error,#e06c75);background-color:#e06c7526}.connection-card-header{justify-content:space-between;align-items:center;display:flex}.connection-info{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.connection-info h4{color:var(--text-primary,#abb2bf);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;margin:0;font-size:13px;font-weight:500;overflow:hidden}.connection-created{color:var(--text-tertiary,#5c6370);white-space:nowrap;flex-shrink:0;font-size:11px}.connection-type-badge{color:var(--info,#61afef);text-transform:uppercase;background-color:#61afef26;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.connection-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.test-btn{cursor:pointer;background-color:var(--success,#98c379);color:#fff;border:none;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500;transition:all .15s}.test-btn:hover:not(:disabled){background-color:#82b366}.test-btn:disabled{opacity:.6;cursor:not-allowed}.edit-btn,.delete-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .15s;display:flex}.edit-btn:hover{background-color:#ffffff14}.delete-btn:hover{background-color:#e06c7533}.action-icon{opacity:.7;filter:invert(85%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(90%)contrast(85%);width:14px;height:14px}.edit-btn:hover .action-icon{opacity:1;filter:invert(65%)sepia(50%)saturate(500%)hue-rotate(180deg)brightness()contrast(90%)}.delete-btn:hover .action-icon{opacity:1;filter:invert(60%)sepia(50%)saturate(1000%)hue-rotate(314deg)brightness(95%)contrast(90%)}.test-btn:focus,.edit-btn:focus,.delete-btn:focus{box-shadow:none;outline:none}.test-btn:focus-visible{box-shadow:none;outline:none}.edit-btn:focus-visible{box-shadow:none;outline:none}.delete-btn:focus-visible{box-shadow:none;outline:none}.context-menu{z-index:10003;background-color:#282c34;border:1px solid #ffffff1f;border-radius:6px;min-width:180px;padding:4px;animation:.1s ease-out contextMenuFadeIn;box-shadow:0 4px 20px #0006}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{color:#abb2bf;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:8px 12px;font-size:13px;font-weight:400;transition:all .1s;display:block}.context-menu-item:hover:not(:disabled){background-color:#ffffff14}:root[data-theme=light] .context-menu-item:hover:not(:disabled){background-color:#0000000d}.context-menu-item:disabled{opacity:.5;cursor:not-allowed}.context-menu-item.danger{color:var(--error,#e06c75)}.context-menu-item.danger:hover:not(:disabled){color:var(--error,#e06c75);background-color:#e06c7526}.context-menu-item:focus{box-shadow:none;outline:none}.context-menu-item:focus-visible{box-shadow:none;outline:none}.context-menu-divider{background-color:#ffffff14;height:1px;margin:4px 0}:root[data-theme=light] .context-menu-divider{background-color:#00000014}.import-progress-container{background-color:var(--bg-secondary,#ffffff0d);border:1px solid var(--border-primary,#444);border-radius:4px;flex-direction:column;gap:12px;padding:16px;display:flex}.import-progress-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-progress-message{color:var(--text-primary,#333);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;overflow:hidden}.import-progress-percentage{color:var(--info,#61afef);text-align:right;flex-shrink:0;min-width:45px;font-size:13px;font-weight:600;transition:color .3s}.import-progress-percentage.complete{color:var(--success,#98c379)}.import-progress-bar-track{background-color:var(--bg-tertiary,#ffffff08);border:1px solid var(--border-primary,#444);border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.import-progress-bar-fill{background:linear-gradient(90deg,var(--info,#61afef)0%,var(--info,#61afef)80%,var(--success,#98c379)100%);border-radius:4px;min-width:2px;height:100%;transition:width .3s;position:relative}.import-progress-bar-fill.complete{background:var(--success,#98c379)}.import-progress-bar-shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:1.5s infinite shimmer;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.import-progress-cancel{border:1px solid var(--error,#e06c75);color:var(--error,#e06c75);cursor:pointer;background-color:#0000;border-radius:4px;align-self:flex-start;padding:6px 12px;font-size:11px;font-weight:500;transition:all .15s}.import-progress-cancel:hover{background-color:var(--error,#e06c75);color:#fff}.import-progress-cancel:active{transform:scale(.98)}.import-progress-cancel:focus{outline:none;box-shadow:0 0 0 2px #e06c754d}@media (max-width:400px){.import-progress-container{padding:12px}.import-progress-message{font-size:12px}.import-progress-percentage{min-width:40px;font-size:12px}.import-progress-bar-track{height:6px}.import-progress-cancel{padding:5px 10px;font-size:10px}}.file-import-step{flex-direction:column;gap:16px;padding:4px;display:flex}.file-drop-zone{border:1px dashed var(--border-primary);background-color:var(--bg-secondary);cursor:pointer;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:6px 0;transition:all .15s;display:flex}.file-drop-zone:hover{border-color:var(--accent-primary);background-color:var(--hover-bg)}.drop-text{color:var(--text-primary,#333);margin:0;font-size:13px;font-weight:500}.drop-formats{color:var(--text-tertiary,#888);margin:0;font-size:11px}.file-input-hidden{display:none}.browse-btn{background-color:var(--accent-primary);color:#fff;cursor:pointer;border-radius:4px;margin-top:4px;padding:4px 16px;font-size:12px;font-weight:500;transition:all .15s;display:inline-block}.browse-btn:hover{opacity:.9}.file-list{flex-direction:column;gap:4px;max-height:200px;padding-right:4px;display:flex;overflow:hidden auto}.file-list::-webkit-scrollbar{width:6px}.file-list::-webkit-scrollbar-track{background:0 0}.file-list::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.file-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.file-card{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:1px;align-items:center;gap:8px;padding:2px;display:flex;position:relative}.file-type-icon{object-fit:contain;flex-shrink:0;width:24px;height:24px}.file-type-icon-placeholder{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;display:flex}.file-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.file-name{color:var(--text-primary,#333);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.file-size{color:var(--text-tertiary,#888);white-space:nowrap;flex-shrink:0;font-size:11px}.remove-file-btn{width:12px;height:12px;color:var(--text-tertiary,#888);cursor:pointer;background-color:#0000;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:color .15s;display:flex}.remove-file-btn:hover{color:var(--error,#e06c75)}.remove-file-btn:focus{outline:none}.form-input{background-color:var(--bg-secondary);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);border-radius:4px;padding:10px 12px;font-size:13px;transition:all .15s}.form-input:focus{border-color:var(--accent-primary);outline:none}.form-input::placeholder{color:var(--text-tertiary)}.toggle-group{flex-direction:column;gap:4px;display:flex}.import-error{border-left:3px solid var(--error,#e06c75);color:var(--error,#e06c75);background-color:#ef44441a;border-radius:4px;padding:10px 12px;font-size:12px}.import-btn{background-color:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:6px;font-size:13px;font-weight:500;transition:all .15s}.import-btn:hover:not(:disabled){opacity:.9}.import-btn:disabled{opacity:.5;cursor:not-allowed}.import-btn:focus{outline:none}.connection-selection-step{padding:4px}.connection-selection-step h3{color:var(--text-primary,#333);text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px;font-size:13px;font-weight:600}.loading-connections{text-align:center;color:var(--text-tertiary,#888);padding:24px;font-size:12px}.no-connections{text-align:center;padding:24px}.no-connections p{color:var(--text-secondary,#555);margin-bottom:8px;font-size:12px}.connections-grid{gap:8px;margin-bottom:16px;display:grid}.connection-option{border:1px solid var(--border-primary);cursor:pointer;background:var(--bg-secondary);border-radius:4px;padding:4px;transition:all .15s;overflow:hidden}.connection-option:hover:not(.selected){background:var(--hover-bg)}.connection-option.selected{background:#61afef1a;border-color:var(--info,#61afef)!important}.connection-option-header{align-items:center;gap:8px;display:flex}.connection-option-header input[type=radio]{cursor:pointer;flex-shrink:0}.connection-info{flex-direction:row;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.connection-option-header h4{color:var(--text-primary,#333);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;max-width:120px;margin:0;font-size:13px;font-weight:600;overflow:hidden}.connection-option-details{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:6px;display:flex}.detail-item{color:var(--text-tertiary,#888);text-overflow:ellipsis;white-space:nowrap;max-width:150px;padding-right:6px;font-size:11px;overflow:hidden}.redcap-config-step{padding:4px}.redcap-config-step h3{color:var(--text-primary,#333);text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px;font-size:13px;font-weight:600}.config-form{margin-bottom:16px}.form-input,.form-textarea{border:1px solid var(--border-primary);background:var(--bg-secondary);width:100%;color:var(--text-primary,#333);border-radius:4px;padding:6px 10px;font-family:inherit;font-size:13px;transition:all .15s}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary,#888)}.form-textarea{resize:vertical;min-height:60px}.toggle-group{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-label{color:var(--text-secondary,#555);font-size:12px;font-weight:500}.toggle-switch{background-color:var(--border-primary);cursor:pointer;border:none;border-radius:10px;width:36px;height:20px;padding:0;transition:background-color .2s;position:relative}.toggle-switch:focus{outline:none}.toggle-switch.active{background-color:var(--accent-primary)}.toggle-slider{pointer-events:none;background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-switch.active .toggle-slider{transform:translate(16px)}.toggle-hint{color:var(--text-tertiary,#888);margin:0;font-size:11px;font-style:italic}.field-hint{color:var(--text-tertiary,#888);margin:4px 0 0;font-size:11px}.import-error{border-left:3px solid var(--error,#e06c75);color:var(--error,#e06c75);background-color:#ef44441a;border-radius:4px;align-items:center;gap:6px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.error-icon{flex-shrink:0}.btn-primary{background-color:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:6px;font-size:13px;font-weight:500;transition:all .15s}.btn-primary:hover:not(:disabled){background-color:var(--accent-primary);opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:focus{outline:none}.import-wizard{background-color:var(--bg-primary,#282c34);flex-direction:column;height:100%;min-height:0;display:flex}.import-wizard-header,.import-wizard-header h2,.close-wizard-btn{display:none}.import-wizard-body{flex:1;min-height:0;padding:6px;overflow:auto}.import-wizard-body h3{color:var(--text-primary,#333);text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px;font-size:13px;font-weight:600}.step-description{color:var(--text-secondary,#555);margin:0 0 12px;font-size:12px}.placeholder-text{color:var(--text-tertiary,#888);text-align:center;margin-top:24px;font-size:12px;font-style:italic}.source-selection{max-width:100%}.source-options{flex-direction:column;gap:5px;display:flex}.source-option{background-color:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;text-align:left;border-radius:4px;flex-direction:row;align-items:center;gap:12px;padding:4px 10px;transition:all .15s;display:flex;position:relative}.source-option:hover:not(:disabled){border-color:var(--info,#61afef);background-color:var(--hover-bg)}.source-option:disabled,.source-option.disabled{opacity:.5;cursor:not-allowed}.source-icon-img{object-fit:contain;flex-shrink:0;width:24px;height:24px}.source-icon-img.api-icon{object-fit:cover;border-radius:4px}.source-icon-img.redcap-icon{border-radius:4px}.source-icon-img.sql-icon{mix-blend-mode:multiply;border-radius:4px}.source-text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex;overflow:hidden}.source-name{color:var(--text-primary,#333);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:600;overflow:hidden}.source-description{color:var(--text-tertiary,#888);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;line-height:1.3;overflow:hidden}.auth-badge{background-color:var(--warning,#e5c07b);color:var(--bg-primary,#282c34);text-transform:uppercase;border-radius:4px;padding:2px 4px;font-size:8px;font-weight:600;position:absolute;top:4px;right:4px}.import-wizard-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px 12px;display:flex}.error-icon{font-size:32px}.import-wizard-error p{color:var(--error,#e06c75);max-width:100%;margin:0;font-size:12px}.dismiss-error-btn{background-color:var(--error,#e06c75);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.dismiss-error-btn:hover{background-color:#d05c6c}.import-wizard-footer{border-top:1px solid var(--border-primary);background-color:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.footer-spacer{flex:1}.wizard-btn{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.wizard-btn.primary{background-color:var(--info,#61afef);color:#fff}.wizard-btn.primary:hover:not(:disabled){background-color:#71bfff}.wizard-btn.primary:disabled{opacity:.5;cursor:not-allowed}.wizard-btn.secondary{color:var(--text-secondary,#555);border:1px solid var(--border-primary);background-color:#0000}.wizard-btn.secondary:hover{background-color:var(--hover-bg);color:var(--text-primary,#333)}.connection-selection,.import-configuration,.import-preview{max-width:100%}.import-wizard-body::-webkit-scrollbar{width:10px;height:10px}.import-wizard-body::-webkit-scrollbar-track{background:0 0}.import-wizard-body::-webkit-scrollbar-thumb{background-color:#8080804d;background-clip:padding-box;border:2px solid #0000;border-radius:4px}.import-wizard-body::-webkit-scrollbar-thumb:hover{background-color:#80808080}.source-option:focus{box-shadow:none;outline:none}.source-option:focus-visible{box-shadow:none;outline:none}.dataset-description-overlay{z-index:10000;background-color:#000000b3;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dataset-description-modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:600px;animation:.2s ease-in-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dataset-description-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.dataset-description-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.dataset-description-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:28px;transition:all .2s;display:flex}.dataset-description-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dataset-description-body{flex-direction:column;gap:16px;padding:12px;display:flex}.dataset-name-display{color:var(--text-secondary);font-size:14px}.dataset-name-display strong{color:var(--text-primary)}.dataset-description-textarea{border:1px solid var(--border-primary);background-color:var(--bg-primary);width:100%;min-height:60px;max-height:120px;color:var(--text-primary);resize:none;box-sizing:border-box;border-radius:4px;padding:10px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s;overflow:auto}.dataset-description-textarea:focus{border-color:var(--accent-secondary);outline:none}.dataset-description-textarea::placeholder{color:var(--text-tertiary)}.dataset-description-footer-info{justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.char-counter{font-weight:500}.description-tip{color:var(--text-tertiary);font-style:italic}.dataset-description-footer{border-top:1px solid var(--border-primary);background-color:var(--bg-tertiary);justify-content:flex-end;gap:12px;padding:8px 12px;display:flex}.dataset-description-cancel,.dataset-description-save{cursor:pointer;border:none;border-radius:4px;padding:2px 6px;font-size:13px;font-weight:500;transition:all .2s}.dataset-description-cancel{color:var(--text-secondary);border:1px solid var(--border-primary);background-color:#0000}.dataset-description-cancel:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dataset-description-save{background-color:var(--accent-secondary);color:#fff}.dataset-description-save:hover{background-color:var(--accent-secondary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #646cff4d}.export-modal-overlay{z-index:10000;background-color:#000000b3;justify-content:center;align-items:center;animation:.2s ease-in-out exportFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes exportFadeIn{0%{opacity:0}to{opacity:1}}.export-modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:480px;animation:.2s ease-in-out exportSlideUp}@keyframes exportSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.export-modal-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.export-modal-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.export-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:28px;transition:all .2s;display:flex}.export-modal-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.export-modal-body{flex-direction:column;gap:16px;padding:12px;display:flex}.export-info{color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:4px;padding:8px 12px;font-size:14px}.export-info strong{color:var(--text-primary)}.format-selection{flex-direction:column;gap:8px;display:flex}.format-label{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:500}.format-option{border:1px solid var(--border-primary);cursor:pointer;background-color:var(--bg-primary);border-radius:4px;align-items:flex-start;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.format-option:hover{border-color:var(--accent-secondary);background-color:var(--hover-bg)}.format-option.selected{border-color:var(--accent-secondary);background-color:#646cff1a}.format-option input[type=radio]{accent-color:var(--accent-secondary);margin-top:2px}.format-option-content{flex-direction:column;gap:2px;display:flex}.format-name{color:var(--text-primary);font-size:14px;font-weight:600}.format-description{color:var(--text-secondary);font-size:12px}.json-options{background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;flex-direction:column;gap:8px;padding:12px;display:flex}.json-format-select{border:1px solid var(--border-primary);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:8px 10px;font-size:14px}.json-format-select:focus{border-color:var(--accent-secondary);outline:none}.json-format-preview{background-color:var(--bg-primary);border-radius:4px;padding:8px;font-size:12px}.json-format-preview code{color:var(--accent-secondary);font-family:SF Mono,Monaco,Cascadia Code,monospace}.export-error{border:1px solid var(--error,#e06c75);color:var(--error,#e06c75);background-color:#e06c751a;border-radius:4px;padding:10px 12px;font-size:13px}.export-modal-footer{border-top:1px solid var(--border-primary);background-color:var(--bg-tertiary);justify-content:flex-end;gap:12px;padding:8px 12px;display:flex}.export-modal-cancel,.export-modal-submit{cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .2s}.export-modal-cancel{color:var(--text-secondary);border:1px solid var(--border-primary);background-color:#0000}.export-modal-cancel:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.export-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.export-modal-submit{background-color:var(--accent-secondary);color:#fff}.export-modal-submit:hover:not(:disabled){background-color:var(--accent-secondary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #646cff4d}.export-modal-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.dataset-tree-view-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.dataset-tree-view{-webkit-user-select:none;user-select:none;background-color:#0000;flex:1;padding:8px 0;overflow:auto}.tree-node-container{position:relative}.tree-node{cursor:pointer;align-items:center;gap:0;min-height:28px;margin-left:-100px;padding-left:104px;padding-right:8px;transition:background-color .15s;display:flex;position:relative}.tree-node:hover{background-color:var(--hover-bg)}.tree-node.selected{background-color:var(--active-bg)}.tree-node.drag-over{background-color:#61afef26}.tree-arrow{filter:invert(85%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(90%)contrast(85%);flex-shrink:0;width:16px;height:16px;margin-left:0;transition:transform .15s;transform:rotate(-90deg)}.tree-arrow.expanded{transform:rotate(0)}.tree-icon{flex-shrink:0;font-size:16px}.tree-icon.folder-icon{filter:invert(85%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(90%)contrast(85%);width:18px;height:18px}.tree-icon.file-type-icon{flex-shrink:0;width:14px;height:14px;margin-left:5px}.tree-icon.file-type-icon.user-generated{filter:invert(58%)sepia(58%)saturate(1324%)hue-rotate(178deg)brightness(99%)contrast(91%)}:root[data-theme=light] .tree-arrow{filter:invert(25%)sepia(0%)saturate(0%)brightness(60%)contrast(90%)}:root[data-theme=light] .tree-icon.folder-icon{filter:invert(25%)sepia(0%)saturate(0%)brightness(60%)contrast(45%)}:root[data-theme=light] .visibility-icon{filter:invert(25%)sepia(0%)saturate(0%)brightness(60%)contrast(90%)}:root[data-theme=light] .tree-node:hover .visibility-icon{filter:invert(30%)sepia(50%)saturate(500%)hue-rotate(180deg)brightness()contrast(90%)}.tree-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin-left:6px;font-size:13px;overflow:hidden}.tree-node.folder .tree-label{color:var(--text-primary);font-weight:500}.tree-node.dataset .tree-label,.tree-node.document .tree-label{color:var(--text-primary)}.tree-icon.document-type-icon{flex-shrink:0;width:16px;height:16px;margin-left:5px}.document-page-count{color:var(--text-secondary);background:var(--bg-tertiary,#ffffff1a);border-radius:3px;flex-shrink:0;margin-left:auto;padding:1px 4px;font-size:10px}.dataset-tree-view>.tree-node-container>.tree-node.dataset,.dataset-tree-view>.tree-node-container>.tree-node.document{padding-left:117px}.tree-children .tree-node{padding-left:100px}.tree-children .tree-node.dataset:has(.file-type-icon){padding-left:101px}.tree-label-input{color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:1px;outline:none;flex:1;min-width:100px;margin-left:3px;margin-right:3px;padding:2px;font-size:13px;font-weight:500}.tree-checkbox{display:none}.tree-badges{flex-shrink:0;align-items:center;gap:4px;width:16px;display:flex}.visibility-icon{filter:invert(85%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(90%)contrast(85%);width:16px;height:16px;transition:filter .2s}.tree-node:hover .visibility-icon{filter:invert(65%)sepia(50%)saturate(500%)hue-rotate(180deg)brightness()contrast(90%)}.processing-badge{color:var(--accent-color,#61afef);justify-content:center;align-items:center;margin-right:4px;display:flex}.processing-spinner{animation:1s linear infinite spin}.tree-node.processing{opacity:.7}.tree-node.processing .tree-label{font-style:italic}.tree-actions{display:none}.tree-children{border-left:1px solid var(--border-primary);margin-left:12px;padding-left:8px;position:relative}.tree-children .tree-children{margin-left:8px}.context-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:10001;border-radius:4px;min-width:180px;padding:0;position:fixed;box-shadow:0 8px 24px #0000004d}.context-menu button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;transition:background-color .15s;display:block}.context-menu button:hover{background-color:var(--hover-bg)}.context-menu button:active{background-color:var(--active-bg)}.context-menu button:focus{outline:none}.context-menu button:focus-visible{outline:none}.dataset-tree-view .empty-state{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px 20px;font-size:14px;display:flex}.dataset-tree-view .empty-state-text{color:var(--text-secondary)}.dataset-tree-view .empty-state-import-btn{border:2px solid var(--accent-primary);height:24px;color:var(--accent-primary);opacity:.85;cursor:pointer;background:0 0;border-radius:4px;outline:none;padding:2px 4px;font-size:11px;font-weight:500;transition:all .2s}.dataset-tree-view .empty-state-import-btn:focus{outline:none}.dataset-tree-view .empty-state-import-btn:hover{opacity:1;background-color:var(--accent-primary);color:#fff}:root[data-theme=light] .dataset-tree-view .empty-state-import-btn{opacity:1;font-weight:600}:root[data-theme=light] .dataset-tree-view .empty-state-import-btn:hover{background-color:var(--accent-primary);color:#fff}.dataset-tree-view::-webkit-scrollbar{width:8px;height:8px}.dataset-tree-view::-webkit-scrollbar-track{background:0 0}.dataset-tree-view::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.dataset-tree-view::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.dataset-manager-panel,.file-manager-panel{background-color:var(--bg-primary,#282c34);flex-direction:column;height:100%;display:flex;overflow:hidden}.dataset-manager-content-wrapper,.file-manager-content-wrapper{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.dataset-manager-tabs,.file-manager-tabs{background-color:#ffffff05;border-bottom:1px solid #ffffff0f;display:flex}.tab{color:#abb2bf;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:500;transition:all .2s;position:relative}.tab:hover:not(.disabled){color:#d7dae0;background-color:#ffffff0d}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.tab.disabled{opacity:.5;cursor:not-allowed}.tab:focus{box-shadow:none;outline:none}.tab:focus-visible{box-shadow:none;outline:none}.demo-badge{background-color:var(--warning,#e5c07b);color:#282c34;text-transform:uppercase;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.dataset-manager-content{background-color:var(--bg-primary,#282c34);flex:1;min-height:0;overflow:hidden}.view-header{background-color:#ffffff05;border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;padding:5px;display:flex}.back-btn{cursor:pointer;color:#abb2bf;background:0 0;border:1px solid #ffffff26;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.back-btn:hover{border-color:var(--info,#61afef);color:var(--info,#61afef);background-color:#ffffff14}.back-btn:focus{box-shadow:none;outline:none}.back-btn:focus-visible{box-shadow:none;outline:none}.view-title{color:#abb2bf;letter-spacing:.3px;font-size:12px;font-weight:600}.view-header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.view-header-icon-btn{cursor:pointer;width:22px;height:22px;color:var(--text-secondary,#abb2bf);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:500;line-height:1;transition:all .15s;display:flex}.view-header-icon-btn:hover{color:var(--info,#61afef);background-color:#ffffff14}.view-header-icon-btn .view-header-icon{opacity:.7;filter:invert(85%)sepia(5%)saturate(500%)hue-rotate(182deg)brightness(90%)contrast(85%);width:14px;height:14px}.view-header-icon-btn:hover .view-header-icon{opacity:1;filter:invert(65%)sepia(50%)saturate(500%)hue-rotate(180deg)brightness()contrast(90%)}.view-header-icon-btn:focus{box-shadow:none;outline:none}.view-header-icon-btn:focus-visible{box-shadow:none;outline:none}.import-tab,.connections-tab{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.datasets-tab{flex-direction:column;height:100%;display:flex}.datasets-toolbar{background-color:#ffffff05;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.search-input{color:#abb2bf;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;flex:1;max-width:400px;padding:6px 12px;font-size:13px}.search-input:focus{border-color:var(--info,#61afef);background-color:#ffffff14;outline:none}.toolbar-left{align-items:center;gap:8px;display:flex}.toolbar-actions{align-items:center;gap:12px;display:flex}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.icon-btn:hover{background-color:#ffffff14}.icon-btn .icon{opacity:.7;width:18px;height:18px}.icon-btn:hover .icon{opacity:1}.selection-count{color:#abb2bf;font-size:13px}.bulk-action-btn{cursor:pointer;color:#abb2bf;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s}.bulk-action-btn:hover{background-color:#ffffff14;border-color:#ffffff26}.bulk-action-btn.delete-btn{background-color:var(--error,#e06c75);border-color:var(--error,#e06c75);color:#fff}.bulk-action-btn.delete-btn:hover{background-color:#c0564f;border-color:#c0564f}.datasets-list{flex:1;padding:16px;overflow:auto}.datasets-table{border-collapse:collapse;background-color:#ffffff08;border:1px solid #ffffff14;border-radius:4px;width:100%;overflow:hidden}.datasets-table thead{background-color:#ffffff05}.datasets-table th{text-align:left;color:#abb2bf;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #ffffff0f;padding:10px 12px;font-size:11px;font-weight:600}.datasets-table td{color:#abb2bf;border-top:1px solid #ffffff0a;padding:12px;font-size:13px}.datasets-table tbody tr:hover{background-color:#ffffff0d}.checkbox-col{text-align:center;width:40px}.dataset-name strong{color:#abb2bf;font-weight:500}.source-badge,.visibility-badge{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.source-badge{color:var(--info,#61afef);background-color:#61afef26;border:1px solid #61afef4d}.visibility-badge.visible{color:var(--success,#98c379);background-color:#98c37926;border:1px solid #98c3794d}.visibility-badge.background{color:#abb2bf;background-color:#ffffff0d;border:1px solid #ffffff1a}.actions-col{width:120px}.action-btn{cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 6px;font-size:16px;transition:background-color .2s}.action-btn:hover{background-color:#ffffff14}.action-btn.delete:hover{background-color:#e06c7533}.empty-state{text-align:center;color:#abb2bf;padding:40px 20px;font-size:14px}.import-placeholder,.connections-placeholder,.demo-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.import-placeholder h3,.connections-placeholder h3,.demo-message h3{color:#d7dae0;margin:0 0 12px;font-size:18px;font-weight:500}.import-placeholder p,.connections-placeholder p,.demo-message p{color:#abb2bf;margin:6px 0;font-size:14px}.demo-message{background-color:#e5c07b1a;border:1px solid #e5c07b4d;border-radius:4px;margin:24px}.demo-message h3{color:var(--warning,#e5c07b)}@media (max-width:768px){.datasets-toolbar{flex-direction:column;align-items:stretch;gap:12px}.search-input{max-width:none}.datasets-table{font-size:12px}.datasets-table th,.datasets-table td{padding:8px}}.datasets-list::-webkit-scrollbar{width:8px;height:8px}.datasets-list::-webkit-scrollbar-track{background:0 0}.datasets-list::-webkit-scrollbar-track:vertical{margin:0 0 20px}.datasets-list::-webkit-scrollbar-track:horizontal{margin:0 20px 0 0}.datasets-list::-webkit-scrollbar-thumb{background-color:#8080804d;border-radius:4px}.datasets-list::-webkit-scrollbar-thumb:hover{background-color:#80808080}.datasets-list::-webkit-scrollbar-corner{background:0 0}.source-selection-step{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden}.step-header-row{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;display:flex}.mode-toggle{background:#ffffff0d;border-radius:6px;flex-shrink:0;gap:4px;padding:3px;display:flex}.mode-toggle-btn{color:var(--text-secondary,#888);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.mode-toggle-btn:hover:not(.active){color:var(--text-primary,#fff);background:#ffffff0d}.mode-toggle-btn.active{background:var(--bg-primary,#1e1e1e);color:var(--text-primary,#fff);box-shadow:0 1px 3px #0003}.mode-toggle-btn:focus{outline:none}.mode-toggle-btn:focus-visible{outline:none}:root[data-theme=light] .mode-toggle{background:#0000000f}:root[data-theme=light] .mode-toggle-btn{color:var(--text-secondary,#666)}:root[data-theme=light] .mode-toggle-btn:hover:not(.active){color:var(--text-primary,#333);background:#0000000a}:root[data-theme=light] .mode-toggle-btn.active{color:var(--text-primary,#333);background:#fff;box-shadow:0 1px 3px #0000001a}.cluster-toggle-btn{border:1px solid var(--border-color,#3a3a3a);background:var(--bg-secondary,#1a1a1a);color:var(--text-secondary,#888);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s}.cluster-toggle-btn:hover:not(:disabled){background:var(--hover-bg,#2a2a2a);color:var(--text-primary,#fff)}.cluster-toggle-btn.active{background:var(--accent-color,#007acc);color:#fff;border-color:var(--accent-color,#007acc)}.cluster-toggle-btn:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=light] .cluster-toggle-btn{background:var(--bg-secondary,#f5f5f5);color:var(--text-secondary,#666)}:root[data-theme=light] .cluster-toggle-btn:hover:not(:disabled){background:var(--hover-bg,#e5e5e5);color:var(--text-primary,#333)}.cluster-detecting-indicator{color:var(--text-tertiary,#888);padding:6px 12px;font-size:11px;font-style:italic;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.source-cluster-group{border-radius:2px;flex-direction:column;display:flex}.source-cluster-group:not(:first-child){margin-top:8px}.source-cluster-group.drag-over{background:#22c55e14;border-radius:2px}.source-cluster-group.ungrouped.drag-over{background:#22c55e14;border-color:#22c55e}.available-files-separator{align-items:center;gap:8px;margin:12px 0 8px;padding:0 4px;display:flex}.available-files-separator .separator-line{background:var(--border-color,#3a3a3a);flex:1;height:1px}.available-files-separator .separator-label{color:var(--text-tertiary,#666);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:10px;font-weight:500}:root[data-theme=light] .available-files-separator .separator-line{background:var(--border-color,#e0e0e0)}.cluster-group-header{border-bottom:1px solid var(--border-color,#2a2a2a);align-items:center;gap:6px;margin-bottom:2px;padding:2px;display:flex}.cluster-group-name{color:var(--text-secondary,#888);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:500}.cluster-group-name.ungrouped-name{color:var(--text-tertiary,#666)}.cluster-group-name.editable{cursor:pointer;transition:color .15s}.cluster-group-name.editable:hover{color:var(--text-primary,#fff)}:root[data-theme=light] .cluster-group-name.editable:hover{color:var(--text-primary,#333)}.cluster-name-input{background:var(--bg-primary,#121212);border:1px solid var(--accent-color,#007acc);color:var(--text-primary,#fff);text-transform:uppercase;letter-spacing:.3px;border-radius:3px;outline:none;width:120px;padding:2px 6px;font-size:11px;font-weight:500}:root[data-theme=light] .cluster-name-input{background:var(--bg-primary,#fff);color:var(--text-primary,#333)}.cluster-group-header .auto-badge{color:var(--text-tertiary,#666);text-transform:uppercase;letter-spacing:.3px;background:#ffffff14;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:500}:root[data-theme=light] .cluster-group-header{border-bottom-color:var(--border-color,#e0e0e0)}:root[data-theme=light] .cluster-group-header .auto-badge{background:#0000000f}.section-hint{color:var(--text-tertiary,#888);text-align:center;margin:0;padding:0 4px;font-size:11px;font-style:italic}.inline-name-input{background:var(--bg-secondary);border:1px solid var(--border-color,#3a3a3a);min-width:200px;color:var(--text-primary);border-radius:6px;flex:1;padding:6px 10px;font-size:13px;transition:border-color .2s,box-shadow .2s}.inline-name-input:focus{border-color:var(--accent-color,#007acc);box-shadow:0 0 0 2px var(--accent-color-faint,#007acc26);outline:none}.inline-name-input::placeholder{color:var(--text-tertiary)}.source-sections{flex:1;grid-template-rows:1fr;grid-template-columns:1fr 1fr;gap:12px;min-width:0;min-height:0;display:grid}.schema-generator-sections{grid-template-columns:1fr}.target-source-sections{grid-template-columns:1fr 1fr}.source-sections>*{min-width:0;overflow:hidden}.source-section{background:var(--bg-primary);border-radius:2px;flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;padding-top:4px;display:flex;overflow:hidden}.source-section.drag-over-target{background:#a855f70f;border-color:#a855f7}.source-section.drag-over-schema{background:#3b82f60f;border-color:#3b82f6}.source-section h3{color:var(--text-secondary);justify-content:center;align-items:center;gap:6px;margin:0;padding:0 4px;font-size:12px;font-weight:500;display:flex}.source-section .selection-count{color:var(--text-tertiary);font-size:11px;font-weight:400}.section-label{font-weight:500}.target-label{color:#a855f7}.source-label{color:#22c55e}.schema-label{color:#3b82f6}.source-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.source-list::-webkit-scrollbar{width:5px}.source-list::-webkit-scrollbar-track{background:0 0}.source-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.source-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.source-item{background:var(--bg-primary);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:4px;transition:all .15s;display:flex}.source-item:hover{background:var(--hover-bg,#2a2a2a)}.source-item[draggable=true]{cursor:grab}.source-item[draggable=true]:active{cursor:grabbing}.source-item.dragging{opacity:.4}.source-item.drag-target{background:#22c55e1a}.target-section .source-item.drag-target{background:#a855f71a}.schema-section .source-item.drag-target{background:#3b82f61a}:root[data-theme=light] .source-item:hover{background:var(--hover-bg,#f5f5f5)}.source-item.target-item.target-selected{background:#a855f71a}.sources-section .source-item.source-selected,.source-item.source-item-clickable.source-selected{background:#22c55e1a}.source-list.dragging-active .source-item.source-selected,.source-list.dragging-active .source-item.target-selected,.source-list.dragging-active .source-item.schema-selected{background:0 0}.schema-section .source-item.schema-selected,.source-item.schema-item.schema-selected{background:#3b82f61a}.source-item .item-icon{opacity:.8;flex-shrink:0;width:16px;height:16px}.source-item .item-icon.user-generated{filter:invert(58%)sepia(58%)saturate(1324%)hue-rotate(178deg)brightness(99%)contrast(91%)}.source-item .source-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.source-item .source-meta{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:11px}.threshold-selector{background:var(--bg-secondary,#1a1a1a);border-radius:6px;flex-shrink:0;align-items:center;gap:8px;margin:0 4px;padding:8px 12px;display:flex}.threshold-selector label{color:var(--text-secondary,#aaa);white-space:nowrap;font-size:12px}.threshold-select{background:var(--bg-primary,#0d0d0d);border:1px solid var(--border-color,#3a3a3a);color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;min-width:100px;padding:4px 8px;font-size:12px}.threshold-select:focus{border-color:var(--accent-color,#3b82f6);outline:none}:root[data-theme=light] .threshold-selector{background:var(--bg-secondary,#f5f5f5)}:root[data-theme=light] .threshold-select{background:var(--bg-primary,#fff);color:var(--text-primary,#333)}.empty-message{text-align:center;color:var(--text-tertiary);justify-content:center;align-items:center;padding:24px 16px;font-size:12px;font-style:italic;display:flex}.multi-study-warning{color:#fbbf24;text-align:center;background:#fbbf241f;border:1px solid #fbbf2459;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;font-size:.78rem;line-height:1.4;display:flex}.multi-study-warning .warning-icon{opacity:.9;flex-shrink:0;font-size:1rem}.multi-study-warning .warning-text{flex:1}:root[data-theme=light] .multi-study-warning{color:#b45309;background:#f59e0b1a;border-color:#f59e0b59}.previous-harmonizations-section{margin-bottom:8px}.subsection-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary,#666);margin-bottom:6px;padding-left:4px;font-size:10px;font-weight:600}.subsection-divider{background:var(--border-color,#333);opacity:.5;height:1px;margin:8px 0}.previous-target-item{background:0 0}.previous-target-item:hover{background:#ffffff0d}.previous-target-item .item-icon{opacity:.8;width:16px;height:16px}.previous-target-item .source-meta{opacity:.7;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:80px;max-width:200px;font-size:10px;overflow:hidden}.previous-target-item.selected.target-selected{background:#a855f71a}.previous-target-item.selected.target-selected:hover{background:#a855f726}:root[data-theme=light] .previous-target-item{background:0 0}:root[data-theme=light] .previous-target-item:hover{background:#00000008}:root[data-theme=light] .previous-target-item.selected.target-selected{background:#a855f714}:root[data-theme=light] .previous-target-item.selected.target-selected:hover{background:#a855f71f}@media (max-width:768px){.source-sections,.target-source-sections{grid-template-columns:1fr}.step-header-row{flex-direction:column;align-items:stretch}.inline-name-input{min-width:0}}@media (max-width:500px){.source-selection-step{gap:8px;padding:8px}.source-section{padding:8px}.source-item .source-meta{display:none}}.mapping-review-step{flex-direction:column;gap:24px;display:flex}.review-summary h3{color:var(--text-primary,#fff);margin:0 0 12px;font-size:14px;font-weight:600}.summary-stats{flex-wrap:wrap;gap:16px;display:flex}.stat-item{background:var(--bg-secondary,#2d2d2d);border-radius:4px;flex-direction:column;align-items:center;min-width:100px;padding:12px 20px;display:flex}.stat-item .stat-value{color:var(--text-primary,#fff);font-size:24px;font-weight:700}.stat-item .stat-label{color:var(--text-secondary,#888);text-transform:uppercase;font-size:11px}.stat-item.high .stat-value{color:#4caf50}.stat-item.medium .stat-value{color:#ffc107}.stat-item.low .stat-value{color:#ff9800}.stat-item.unmapped .stat-value{color:#888}.mappings-list h3{color:var(--text-primary,#fff);margin:0 0 12px;font-size:14px;font-weight:600}.empty-mappings{text-align:center;color:var(--text-secondary,#888);background:var(--bg-secondary,#2d2d2d);border-radius:4px;padding:20px}.mappings-table{border-collapse:collapse;width:100%;font-size:13px}.mappings-table th,.mappings-table td{text-align:left;border-bottom:1px solid var(--border-color,#444);padding:10px 12px}.mappings-table th{background:var(--bg-secondary,#2d2d2d);color:var(--text-primary,#fff);font-weight:600}.mappings-table tbody tr:hover{background:var(--bg-hover,#3a3a3a)}.column-info{flex-direction:column;gap:2px;display:flex}.column-info .column-name{color:var(--text-primary,#fff);font-weight:500}.column-info .variable-label{color:var(--text-secondary,#aaa);font-size:12px;font-style:italic}.column-info .dataset-name{color:var(--text-secondary,#888);font-size:11px}.match-type{text-transform:uppercase;border-radius:3px;padding:2px 8px;font-size:11px;display:inline-block}.match-type.exact{color:#4caf50;background:#4caf5033}.match-type.semantic{color:#2196f3;background:#2196f333}.match-type.manual{color:#9c27b0;background:#9c27b033}.confidence-badge{color:#fff;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.unmapped-section h3{color:var(--text-primary,#fff);align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.unmapped-section h3 .count{color:var(--text-secondary,#888);font-weight:400}.unmapped-item{background:var(--bg-secondary,#2d2d2d);border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.unmapped-item .column-name{color:var(--text-primary,#fff)}.unmapped-item .dataset-name{color:var(--text-secondary,#888)}.unmapped-item .data-type{color:var(--text-secondary,#888);background:#ffffff1a;border-radius:3px;padding:2px 6px;font-size:10px}.sources-list{flex-direction:column;gap:8px;display:flex}.multi-source .sources-list .column-info{background:#2196f31a;border-left:2px solid #2196f3;border-radius:4px;padding:4px 8px}.arrow-cell{color:var(--text-secondary,#888);text-align:center;width:30px;font-size:16px}.schema-review-step :focus{outline:none!important}.schema-review-step :focus-visible{outline:none!important}.schema-review-step{flex-direction:column;flex:1;gap:8px;min-height:0;padding:6px;display:flex;overflow:hidden;container:schema-review/inline-size}.schema-review-step .filter-bar{background:0 0;align-items:center;gap:6px;min-height:28px;padding:4px 0;display:flex}.schema-review-step .search-results-wrapper{flex-shrink:0;align-items:center;gap:8px;display:flex}.schema-review-step .search-input-wrapper{background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:1px;align-items:center;gap:6px;padding:2px 4px;transition:border-color .15s,background-color .15s;display:flex}.schema-review-step .search-input-wrapper:focus-within{border-color:var(--info,#61afef);background-color:#ffffff14}:root[data-theme=light] .schema-review-step .search-input-wrapper{background-color:#00000008;border-color:#0000001a}.schema-review-step .search-input-wrapper svg{color:var(--text-tertiary);flex-shrink:0}.schema-review-step .schema-search-input{width:120px;min-width:80px;color:var(--text-primary,#fff);background-color:#0000;border:none;outline:none;padding:0;font-size:12px}.schema-review-step .schema-search-input::placeholder{color:var(--text-tertiary,#666)}.schema-review-step .clear-search{color:var(--text-tertiary);cursor:pointer;opacity:.7;background:0 0;border:none;padding:2px 4px;font-size:14px;line-height:1}.schema-review-step .clear-search:hover{opacity:1;color:var(--text-primary)}.schema-review-step .results-info{align-items:center;gap:4px;display:flex}.schema-review-step .clear-filters{color:#f87171;cursor:pointer;background:#ef44441a;border:none;border-radius:3px;padding:2px 6px;font-size:12px;line-height:1}.schema-review-step .clear-filters:hover{background:#ef444433}.schema-review-step .results-count{color:var(--text-tertiary);font-size:11px;font-weight:500}.schema-review-step .filter-scroll-container{scrollbar-width:none;-ms-overflow-style:none;cursor:grab;flex:1;align-items:center;gap:4px;min-width:0;padding:2px 0;display:flex;overflow:auto hidden}.schema-review-step .filter-scroll-container::-webkit-scrollbar{display:none}.schema-review-step .filter-scroll-container.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.schema-review-step .filter-group{flex-wrap:nowrap;flex-shrink:0;gap:4px;display:flex}.schema-review-step .filter-divider{background:var(--border-color,#444);opacity:.3;flex-shrink:0;width:1px;height:18px;margin:0 2px}.schema-review-step .filter-pill{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-size:10px;transition:background .15s;display:flex}.schema-review-step .filter-pill:hover{background:#ffffff0d}.schema-review-step .filter-pill.active{background:#ffffff14}:root[data-theme=light] .schema-review-step .filter-pill:hover{background:#0000000a}:root[data-theme=light] .schema-review-step .filter-pill.active{background:#0000000f}.schema-review-step .pill-count{text-align:center;min-width:12px;font-size:10px;font-weight:700}.schema-review-step .pill-label{color:var(--text-secondary,#999);font-size:9px;font-weight:500}.schema-review-step .filter-pill.active .pill-label{color:currentColor}.schema-review-step .filter-pill.study-count-pill.multi{color:#4ade80}.schema-review-step .filter-pill.study-count-pill.multi.active{background:#4ade801f}.schema-review-step .filter-pill.study-count-pill.single{color:#fbbf24}.schema-review-step .filter-pill.study-count-pill.single.active{background:#fbbf241f}.schema-review-step .inline-stat{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:500}.schema-review-step .inline-stat.targets{color:#22c55e;background:#22c55e1f}.schema-review-step .inline-stat.sources{color:#818cf8;background:#6366f11f}.schema-review-step .sort-dropdown-wrapper{flex-shrink:0;position:relative}.schema-review-step .sort-dropdown-trigger{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 4px;font-size:11px;font-weight:500;transition:background .15s,transform .15s;display:flex}.schema-review-step .sort-dropdown-trigger:hover{color:var(--text-primary);background:#ffffff0d}:root[data-theme=light] .schema-review-step .sort-dropdown-trigger:hover{background:#0000000a}.schema-review-step .sort-dropdown-trigger:focus{outline:none}.schema-review-step .sort-dropdown-trigger svg{opacity:.7;flex-shrink:0}.schema-review-step .sort-dropdown-trigger:hover svg{opacity:1}.schema-review-step .sort-dropdown-backdrop{z-index:99;position:fixed;top:0;bottom:0;left:0;right:0}.schema-review-step .sort-dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-primary);z-index:100;border-radius:4px;min-width:120px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.schema-review-step .sort-dropdown-menu .dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-size:11px;transition:background .15s;display:flex}.schema-review-step .sort-dropdown-menu .dropdown-item:hover{background:var(--bg-tertiary)}.schema-review-step .sort-dropdown-menu .dropdown-item.active{color:var(--accent-primary);background:#6366f11a}.schema-review-step .mappings-container{flex:1;min-height:0;overflow:hidden auto;container:mappings-container/inline-size}.schema-review-step .mappings-list{flex-direction:column;gap:6px;display:flex}.schema-review-step .empty-message{text-align:center;color:var(--text-tertiary);padding:24px;font-size:13px}.schema-review-step .schema-card{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);cursor:pointer;border-left:3px solid #0000;border-radius:4px;transition:background .15s}.schema-review-step .schema-card:hover{background:var(--bg-hover,#333)}.schema-review-step .schema-card:focus{outline:none}.schema-review-step .schema-card.high{border-left-color:#4ade80}.schema-review-step .schema-card.medium{border-left-color:#fbbf24}.schema-review-step .schema-card.low{border-left-color:#f87171}:root[data-theme=light] .schema-review-step .schema-card{background:var(--bg-secondary,#fff);border-color:var(--border-color,#e0e0e0)}:root[data-theme=light] .schema-review-step .schema-card:hover{background:var(--bg-hover,#f5f5f5)}.schema-review-step .schema-card.edited{background:#9333ea0d}.schema-review-step .schema-card.edited:hover{background:#9333ea1a}:root[data-theme=light] .schema-review-step .schema-card.edited{background:#9333ea0d}:root[data-theme=light] .schema-review-step .schema-card.edited:hover{background:#9333ea14}.schema-review-step .mapping-flow{align-items:center;gap:8px;min-width:0;padding:4px;display:flex}.schema-review-step .sources-column,.schema-review-step .target-column{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex;overflow:hidden}.schema-review-step .variable-chip{border-radius:4px;align-items:center;gap:6px;min-width:0;padding:2px 4px;display:flex;overflow:hidden}.schema-review-step .source-chip{background:#22c55e1a;border:none}.schema-review-step .target-chip{background:#9333ea1a;border:none}.schema-review-step .variable-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.schema-review-step .variable-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-style:italic;overflow:hidden}.schema-review-step .confidence-circle{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.schema-review-step .confidence-ring{width:100%;height:100%;position:absolute;top:0;left:0}.schema-review-step .confidence-value{color:var(--text-primary);z-index:1;font-size:11px;font-weight:700}@container mappings-container (width<=450px){.schema-review-step .mapping-flow{flex-direction:column;align-items:flex-start}.schema-review-step .sources-column,.schema-review-step .target-column{align-items:flex-start;width:100%}.schema-review-step .confidence-circle{align-self:flex-start;margin:4px 0}}@container mappings-container (width<=350px){.schema-review-step .variable-label{display:none}}@container mappings-container (width<=280px){.schema-review-step .confidence-circle{display:none}}.schema-review-step .detail-view-container{flex-direction:column;flex:1;gap:0;max-width:100%;min-height:0;padding:6px 0 0 6px;display:flex;overflow:hidden;container:detail-container/inline-size}.schema-review-step .mapping-detail-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;flex:1;gap:10px;min-height:0;padding-bottom:12px;padding-right:4px;display:flex;overflow:hidden auto}.schema-review-step .mapping-detail-content::-webkit-scrollbar{width:6px}.schema-review-step .mapping-detail-content::-webkit-scrollbar-track{background:0 0}.schema-review-step .mapping-detail-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.schema-review-step .mapping-detail-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.schema-review-step .detail-section{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-primary,#444);border-radius:4px;flex-shrink:0;padding:6px;overflow:hidden}.schema-review-step .detail-section .section-title{color:var(--text-primary,#fff);align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:600;display:flex}.schema-review-step .detail-section .section-title svg{opacity:.8}.schema-review-step .detail-section .section-title.source-title,.schema-review-step .detail-section .section-title.source-title svg{color:#22c55e}.schema-review-step .detail-section .section-title.target-title,.schema-review-step .detail-section .section-title.target-title svg{color:#a855f7}.schema-review-step .detail-section .variable-detail-card{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:4px;margin-bottom:6px;padding:8px 10px;transition:background .15s,transform .15s}.schema-review-step .detail-section .variable-detail-card:last-child{margin-bottom:0}.schema-review-step .detail-section .variable-detail-card.source-detail{border-left:3px solid #22c55e}.schema-review-step .detail-section .variable-detail-card.target-detail{border-left:3px solid #a855f7}.schema-review-step .detail-section .variable-detail-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:4px;display:flex}.schema-review-step .detail-section .variable-detail-name{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.schema-review-step .detail-section .variable-detail-dataset{color:var(--text-secondary,#888);background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex-shrink:0;max-width:40%;padding:2px 8px;font-size:10px;overflow:hidden}.schema-review-step .detail-section .variable-detail-label{color:var(--text-secondary,#888);font-size:11px;line-height:1.4}.schema-review-step .variable-metadata{flex-direction:column;gap:4px;display:flex}.schema-review-step .metadata-row{align-items:baseline;gap:8px;font-size:11px;display:flex}.schema-review-step .metadata-row .metadata-label{color:var(--text-tertiary,#666);flex-shrink:0;font-weight:500}.schema-review-step .metadata-row .metadata-value{color:var(--text-secondary,#888)}.schema-review-step .detail-confidence-circle{flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:64px;height:64px;margin:8px 0;display:flex;position:relative}.schema-review-step .detail-confidence-circle .confidence-ring{width:100%;height:100%}.schema-review-step .detail-confidence-circle .confidence-value{color:var(--text-primary,#fff);min-width:unset;text-align:center;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.schema-review-step .edit-form{flex-direction:column;gap:12px;display:flex}.schema-review-step .edit-form-row{gap:12px;display:flex}.schema-review-step .edit-form-row.two-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.schema-review-step .edit-field{flex-direction:column;gap:4px;display:flex}.schema-review-step .edit-field.full-width{width:100%}.schema-review-step .edit-field-label{color:var(--text-secondary,#999);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.schema-review-step .edit-input{background:var(--bg-tertiary,#252525);border:1px solid var(--border-color,#444);color:var(--text-primary);border-radius:4px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,background-color .15s}.schema-review-step .edit-input:hover{background:var(--bg-secondary,#2d2d2d)}.schema-review-step .edit-input:focus{background:var(--bg-secondary,#2d2d2d);border-color:#a855f7;outline:none}.schema-review-step .edit-textarea{background:var(--bg-tertiary,#252525);border:1px solid var(--border-color,#444);color:var(--text-primary);resize:vertical;border-radius:4px;width:100%;min-height:60px;padding:8px 10px;font-family:inherit;font-size:12px;transition:border-color .15s,background-color .15s}.schema-review-step .edit-textarea:hover{background:var(--bg-secondary,#2d2d2d)}.schema-review-step .edit-textarea:focus{background:var(--bg-secondary,#2d2d2d);border-color:#a855f7;outline:none}.schema-review-step .edit-textarea::placeholder{color:var(--text-tertiary,#666);font-style:italic}@container detail-container (width<=350px){.schema-review-step .edit-form-row.two-columns{grid-template-columns:1fr}}.schema-review-step .transformation-section{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-primary,#444);border-radius:4px;flex-shrink:0;padding:10px}.schema-review-step .transformation-section .section-title{color:var(--text-primary,#fff);align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.schema-review-step .ai-reasoning-text{color:var(--text-primary,#e0e0e0);margin:0;font-size:13px;font-style:italic;line-height:1.6}:root[data-theme=light] .schema-review-step .detail-section{background:#f8f9fa}:root[data-theme=light] .schema-review-step .detail-section .variable-detail-card{background:#fff;border-color:#e0e0e0}:root[data-theme=light] .schema-review-step .transformation-section{background:#f8f9fa}:root[data-theme=light] .schema-review-step .edit-input,:root[data-theme=light] .schema-review-step .edit-textarea{background:#f8f9fa;border-color:#e0e0e0}:root[data-theme=light] .schema-review-step .edit-input:hover,:root[data-theme=light] .schema-review-step .edit-textarea:hover{background:#fff}:root[data-theme=light] .schema-review-step .edit-input:focus,:root[data-theme=light] .schema-review-step .edit-textarea:focus{background:#fff;border-color:#a855f7}:root[data-theme=light] .schema-review-step .edit-field-label{color:#666}.schema-review-step .add-source-btn{background:var(--bg-primary,#1e1e1e);border:1px dashed var(--border-color,#444);width:100%;color:var(--text-secondary,#888);cursor:pointer;border-radius:4px;outline:none;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:6px;font-size:12px;font-weight:500;transition:background .15s,transform .15s;display:flex}.schema-review-step .add-source-btn:hover{background:var(--bg-hover,#333);color:#22c55e;border-color:#22c55e}.schema-review-step .add-source-btn:focus{outline:none}:root[data-theme=light] .schema-review-step .add-source-btn{background:#f8f9fa;border-color:#e0e0e0}:root[data-theme=light] .schema-review-step .add-source-btn:hover{color:#22c55e;background:#fff;border-color:#22c55e}.schema-review-step .add-source-picker{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:6px;margin-top:8px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0003}:root[data-theme=light] .schema-review-step .add-source-picker{background:#fff;border-color:#e0e0e0;box-shadow:0 4px 16px #0000001a}.schema-review-step .add-source-search{border-bottom:1px solid var(--border-color,#444);background:var(--bg-secondary,#2d2d2d);align-items:center;gap:8px;padding:8px 10px;display:flex}:root[data-theme=light] .schema-review-step .add-source-search{background:#f8f9fa;border-bottom-color:#e0e0e0}.schema-review-step .add-source-search svg{color:var(--text-tertiary,#666);flex-shrink:0;width:14px;height:14px}.schema-review-step .add-source-search input{color:var(--text-primary,#fff);background:0 0;border:none;outline:none;flex:1;font-size:12px}.schema-review-step .add-source-search input::placeholder{color:var(--text-tertiary,#666)}.schema-review-step .add-source-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;max-height:200px;overflow-y:auto}.schema-review-step .add-source-list::-webkit-scrollbar{width:6px}.schema-review-step .add-source-list::-webkit-scrollbar-track{background:0 0}.schema-review-step .add-source-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.schema-review-step .add-source-item{cursor:pointer;border-bottom:1px solid var(--border-color,#333);flex-direction:column;gap:2px;padding:8px 10px;transition:background .15s;display:flex}.schema-review-step .add-source-item:last-child{border-bottom:none}.schema-review-step .add-source-item:hover{background:#22c55e1a}.schema-review-step .add-source-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.schema-review-step .add-source-item-name{color:var(--text-primary,#fff);font-size:12px;font-weight:600}.schema-review-step .add-source-item-dataset{color:var(--text-tertiary,#666);background:var(--bg-secondary,#2d2d2d);border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px}:root[data-theme=light] .schema-review-step .add-source-item-dataset{background:#f0f0f0}.schema-review-step .add-source-item-label{color:var(--text-secondary,#888);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.schema-review-step .add-source-empty{text-align:center;color:var(--text-tertiary,#666);padding:16px;font-size:12px;font-style:italic}.schema-review-step .add-source-more{text-align:center;color:var(--text-tertiary,#666);background:var(--bg-secondary,#2d2d2d);border-top:1px solid var(--border-color,#444);padding:8px;font-size:11px}:root[data-theme=light] .schema-review-step .add-source-more{background:#f8f9fa}.schema-review-step .remove-source-btn{color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:background .15s,transform .15s;display:flex}.schema-review-step .remove-source-btn:hover{color:#ef4444;background:#ef444426}.schema-review-step .close-picker-btn{width:20px;height:20px;color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.schema-review-step .close-picker-btn:hover{color:var(--text-primary,#fff);background:#ffffff1a}:root[data-theme=light] .schema-review-step .close-picker-btn:hover{color:var(--text-primary,#333);background:#0000000d}.schema-review-step .clear-search-btn{width:16px;height:16px;color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.schema-review-step .clear-search-btn:hover{color:var(--text-primary,#fff)}.schema-review-step .variable-detail-card.pending{background:#fbbf240d;border-left-color:#fbbf24;position:relative}.schema-review-step .variable-detail-card.pending:hover{background:#fbbf241a}:root[data-theme=light] .schema-review-step .variable-detail-card.pending{background:#fbbf2414}:root[data-theme=light] .schema-review-step .variable-detail-card.pending:hover{background:#fbbf241f}.schema-review-step .pending-badge{color:#fbbf24;text-transform:uppercase;letter-spacing:.5px;background:#fbbf2433;border-radius:3px;align-items:center;margin-top:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}:root[data-theme=light] .schema-review-step .pending-badge{color:#d97706;background:#d9770626}.schema-review-step .editable-source-card{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-left:3px solid #22c55e;border-radius:4px;margin-bottom:8px;padding:6px}.schema-review-step .editable-source-card:last-child{margin-bottom:0}.schema-review-step .editable-source-header{justify-content:flex-end;align-items:center;display:flex}.schema-review-step .editable-source-fields{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.schema-review-step .edit-field label{color:var(--text-tertiary,#666);letter-spacing:.3px;font-size:10px;font-weight:600}.schema-review-step .edit-field label .optional{text-transform:none;color:var(--text-tertiary,#555);font-weight:400}.schema-review-step .custom-dropdown-wrapper,.schema-review-step .custom-combobox-wrapper{min-width:0;position:relative}.schema-review-step .combobox-input{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;outline:none;padding:6px 28px 6px 10px;font-size:12px;transition:border-color .15s;overflow:hidden}.schema-review-step .combobox-input:hover:not(:disabled){border-color:var(--border-primary,#555)}.schema-review-step .combobox-input:focus,.schema-review-step .combobox-input.open{border-color:var(--info,#61afef)}.schema-review-step .combobox-input:disabled{opacity:.5;cursor:not-allowed}.schema-review-step .combobox-input::placeholder{color:var(--text-tertiary,#666)}.schema-review-step .combobox-chevron{opacity:.6;pointer-events:none;color:var(--text-secondary,#888);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.schema-review-step .custom-dropdown-trigger{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);cursor:pointer;text-align:left;border-radius:4px;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12px;transition:background .15s,transform .15s;display:flex}.schema-review-step .custom-dropdown-trigger:hover:not(:disabled){border-color:var(--border-primary,#555);background:var(--bg-tertiary,#333)}.schema-review-step .custom-dropdown-trigger:focus{outline:none}.schema-review-step .custom-dropdown-trigger.open{border-color:var(--info,#61afef)}.schema-review-step .custom-dropdown-trigger:disabled,.schema-review-step .custom-dropdown-trigger.disabled{opacity:.5;cursor:not-allowed}.schema-review-step .custom-dropdown-trigger span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.schema-review-step .custom-dropdown-trigger span.placeholder{color:var(--text-tertiary,#666)}.schema-review-step .custom-dropdown-trigger svg{opacity:.6;flex-shrink:0;transition:transform .15s}.schema-review-step .custom-dropdown-trigger.open svg{transform:rotate(180deg)}.schema-review-step .custom-dropdown-backdrop{z-index:99;position:fixed;top:0;bottom:0;left:0;right:0}.schema-review-step .custom-dropdown-menu{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);z-index:100;border-radius:4px;min-width:200px;max-height:250px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000040}.schema-review-step .custom-dropdown-menu.fixed-dropdown{z-index:10000;position:fixed;top:auto;left:auto;right:auto}.schema-review-step .custom-dropdown-menu.with-search{flex-direction:column;max-height:300px;display:flex;overflow:hidden}.schema-review-step .dropdown-search-wrapper{border-bottom:1px solid var(--border-color,#444);flex-shrink:0;padding:8px}.schema-review-step .dropdown-search-input{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);box-sizing:border-box;border-radius:4px;outline:none;padding:6px 10px;font-size:12px}.schema-review-step .dropdown-search-input:focus{border-color:var(--info,#61afef)}.schema-review-step .dropdown-search-input::placeholder{color:var(--text-tertiary,#555)}.schema-review-step .dropdown-items-list{flex:1;max-height:220px;overflow-y:auto}.schema-review-step .custom-dropdown-item{width:100%;color:var(--text-secondary,#aaa);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:8px 12px;font-size:12px;transition:background .1s,transform .1s;display:block;overflow:hidden}.schema-review-step .custom-dropdown-item:hover,.schema-review-step .custom-dropdown-item.active{background:var(--bg-tertiary,#333);color:var(--text-primary,#fff)}.schema-review-step .custom-dropdown-empty{text-align:center;color:var(--text-tertiary,#555);padding:12px;font-size:12px;font-style:italic}.schema-review-step .custom-dropdown-more{text-align:center;color:var(--text-tertiary,#555);border-top:1px solid var(--border-color,#333);padding:8px 12px;font-size:11px}.schema-review-step .custom-dropdown-menu::-webkit-scrollbar{width:4px}.schema-review-step .dropdown-items-list::-webkit-scrollbar{width:4px}.schema-review-step .custom-dropdown-menu::-webkit-scrollbar-track{background:0 0}.schema-review-step .dropdown-items-list::-webkit-scrollbar-track{background:0 0}.schema-review-step .custom-dropdown-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#ffffff26);border-radius:3px}.schema-review-step .dropdown-items-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#ffffff26);border-radius:3px}.schema-review-step .custom-dropdown-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff40)}.schema-review-step .dropdown-items-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff40)}:root[data-theme=light] .schema-review-step .editable-source-card{background:#fff;border-color:#e0e0e0}:root[data-theme=light] .schema-review-step .combobox-input,:root[data-theme=light] .schema-review-step .custom-dropdown-trigger{background:#f8f9fa;border-color:#e0e0e0}:root[data-theme=light] .schema-review-step .custom-dropdown-trigger:hover:not(:disabled){background:#fff}:root[data-theme=light] .schema-review-step .custom-dropdown-menu{background:#fff;border-color:#e0e0e0;box-shadow:0 4px 12px #0000001a}:root[data-theme=light] .schema-review-step .custom-dropdown-item:hover,:root[data-theme=light] .schema-review-step .custom-dropdown-item.active{background:#f0f0f0}.mapping-review-step-v2{flex-direction:column;flex:1;gap:8px;min-height:0;padding:6px;display:flex;overflow:hidden;container:review-step/inline-size}.wizard-content.no-scroll .mapping-review-step-v2{padding:12px}.wizard-content.no-scroll .mapping-review-step-v2:has(.detail-view-container){padding:0}.filter-bar{background:0 0;align-items:center;gap:6px;min-height:28px;padding:4px 0;display:flex}@container review-step (width<=310px){.filter-bar .filter-scroll-container,.filter-bar .sort-dropdown-wrapper{display:none}}@container review-step (width<=250px){.filter-bar .results-info{display:none}}.filter-bar .search-results-wrapper{flex-shrink:0}.filter-bar .filter-scroll-container{flex:1;min-width:0}.filter-scroll-container{scrollbar-width:none;-ms-overflow-style:none;cursor:grab;align-items:center;gap:4px;padding:2px 0;display:flex;overflow:auto hidden}.filter-scroll-container::-webkit-scrollbar{display:none}.filter-scroll-container.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.filter-scroll-container.dragging .filter-pill{cursor:grabbing}.filter-spacer{flex:1;min-width:20px}.filter-bar-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.collapse-toggle{color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:background .2s,transform .2s;display:flex}.collapse-toggle:hover{background:var(--bg-hover,#ffffff0d);color:var(--text-primary,#fff)}.collapse-toggle svg{transition:transform .2s}.collapsed-summary{flex:1;align-items:center;gap:12px;display:flex}.summary-text{color:var(--text-primary,#fff);font-size:13px;font-weight:500}.inline-stat{border-radius:4px;padding:3px 10px;font-size:11px;font-weight:500}.inline-stat.high{color:#22c55e;background:#22c55e1f}.inline-stat.unmapped{color:#ef4444;background:#ef44441f}.filter-section{align-items:center;gap:8px;display:flex}.filter-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary,#666);white-space:nowrap;font-size:10px;font-weight:600}.filter-group{flex-wrap:nowrap;flex-shrink:0;gap:4px;display:flex}.filter-divider{background:var(--border-color,#444);opacity:.3;flex-shrink:0;width:1px;height:18px;margin:0 2px}.filter-pill{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-size:10px;transition:background .15s,transform .15s;display:flex}.filter-pill:hover{background:#ffffff0d}.filter-pill.active{background:#ffffff14}:root[data-theme=light] .filter-pill:hover{background:#0000000a}:root[data-theme=light] .filter-pill.active{background:#0000000f}.pill-count{text-align:center;min-width:12px;font-size:10px;font-weight:700}.pill-label{color:var(--text-secondary,#999);font-size:9px;font-weight:500}.filter-pill.active .pill-label{color:currentColor}.filter-pill.type-direct{color:#60a5fa}.filter-pill.type-direct.active{background:#60a5fa1f}.filter-pill.type-derived{color:#c084fc}.filter-pill.type-derived.active{background:#c084fc1f}.filter-pill.type-aggregated{color:#fb923c}.filter-pill.type-aggregated.active{background:#fb923c1f}.filter-pill.type-composite{color:#facc15}.filter-pill.type-composite.active{background:#facc151f}.filter-pill.confidence-high{color:#4ade80}.filter-pill.confidence-high.active{background:#4ade801f}.filter-pill.confidence-medium{color:#fbbf24}.filter-pill.confidence-medium.active{background:#fbbf241f}.filter-pill.confidence-low{color:#f87171}.filter-pill.confidence-low.active{background:#f871711f}.filter-pill.unmapped-targets{color:var(--text-secondary,#888);border-color:#0000}.filter-pill.unmapped-targets .pill-count{color:#f87171}.filter-pill.unmapped-targets:hover{background:#f8717114}.filter-pill.unmapped-targets.active{color:#f87171;background:#f871711f}.filter-pill.unused-sources{color:var(--text-secondary,#888);border-color:#0000}.filter-pill.unused-sources .pill-count{color:#60a5fa}.filter-pill.unused-sources:hover{background:#60a5fa14}.filter-pill.unused-sources.active{color:#60a5fa;background:#60a5fa1f}.filter-pill:focus,.clear-search:focus,.clear-filters:focus,.sort-dropdown-trigger:focus,.dropdown-item:focus{outline:none}.filter-pill:focus-visible{outline:none}.clear-search:focus-visible{outline:none}.clear-filters:focus-visible{outline:none}.sort-dropdown-trigger:focus-visible{outline:none}.dropdown-item:focus-visible{outline:none}.filter-bar-secondary{border-top:1px solid var(--border-color,#ffffff14);align-items:center;gap:12px;padding-top:8px;display:flex}.mapping-review-step-v2 .search-results-wrapper{flex-shrink:0;align-items:center;gap:8px;display:flex}.mapping-review-step-v2 .search-input-wrapper{background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:1px;align-items:center;gap:6px;padding:4px 8px;transition:border-color .15s,background-color .15s;display:flex}.mapping-review-step-v2 .search-input-wrapper:focus-within{border-color:var(--info,#61afef);background-color:#ffffff14}:root[data-theme=light] .mapping-review-step-v2 .search-input-wrapper{background-color:#00000008;border-color:#0000001a}:root[data-theme=light] .mapping-review-step-v2 .search-input-wrapper:focus-within{background-color:#0000000d}.mapping-review-step-v2 .search-input-wrapper svg{color:var(--text-tertiary);flex-shrink:0}.mapping-review-step-v2 .mapping-search-input{width:120px;min-width:80px;color:var(--text-primary,#fff);background-color:#0000;border:none;outline:none;padding:0;font-size:12px}.mapping-review-step-v2 .mapping-search-input::placeholder{color:var(--text-tertiary,#666)}.clear-search{color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;padding:0;font-size:10px;transition:color .15s;display:flex}.clear-search:hover{color:var(--text-primary,#fff)}.results-info{flex-shrink:0;align-items:center;gap:4px;display:flex}.clear-filters{color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;font-weight:500;line-height:1;transition:background .15s,transform .15s}.clear-filters:hover{color:#f87171;background:#f8717126}.results-count{color:var(--text-tertiary,#666);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.mapping-review-step-v2 .sort-dropdown-wrapper{flex-shrink:0;position:relative}.mapping-review-step-v2 .sort-dropdown-trigger{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 4px;font-size:11px;font-weight:500;transition:background .15s,transform .15s;display:flex}.mapping-review-step-v2 .sort-dropdown-trigger:hover{color:var(--text-primary);background:#ffffff0d}:root[data-theme=light] .mapping-review-step-v2 .sort-dropdown-trigger:hover{background:#0000000a}.mapping-review-step-v2 .sort-dropdown-trigger svg{opacity:.7;flex-shrink:0}.mapping-review-step-v2 .sort-dropdown-trigger:hover svg{opacity:1}.mapping-review-step-v2 .sort-dropdown-backdrop{z-index:99;position:fixed;top:0;bottom:0;left:0;right:0}.mapping-review-step-v2 .sort-dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-primary);z-index:100;border-radius:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.mapping-review-step-v2 .sort-dropdown-menu .dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-size:11px;transition:background .15s;display:flex}.mapping-review-step-v2 .sort-dropdown-menu .dropdown-item:hover{background:var(--bg-tertiary)}.mapping-review-step-v2 .sort-dropdown-menu .dropdown-item.active{color:var(--accent-primary);background:#6366f11a}.unmapped-panel{background:var(--bg-secondary,#2d2d2d);border-radius:2px;padding:6px}.unmapped-panel-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.unmapped-panel-header h4{color:var(--text-primary,#fff);margin:0;font-size:13px;font-weight:600}.close-panel{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;outline:none;padding:0;font-size:18px;line-height:1}.close-panel:focus{box-shadow:none;outline:none}.close-panel:focus-visible{box-shadow:none;outline:none}.close-panel:hover{color:#e53935}.unmapped-note{color:var(--text-tertiary,#666);margin:0 0 10px;font-size:11px}.unmapped-list{flex-wrap:wrap;gap:6px;max-height:120px;display:flex;overflow-y:auto}.unmapped-chip{border:none;border-radius:2px;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:flex}.unmapped-chip.target{background:#9333ea1a}.unmapped-chip.source{background:#22c55e1a}.unmapped-chip.clickable{cursor:pointer;transition:all .15s}.unmapped-chip.clickable:hover:not(:disabled){background:#9333ea33}.unmapped-chip.clickable:active:not(:disabled){transform:translateY(0)}.unmapped-chip.clickable:disabled{opacity:.6;cursor:not-allowed}.unmapped-chip.clickable.loading{opacity:.8;background:var(--bg-secondary,#252525)}.chip-spinner{border:2px solid #a855f74d;border-top-color:#a855f7;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite chip-spin}@keyframes chip-spin{to{transform:rotate(360deg)}}.chip-name{color:var(--text-primary,#fff);font-weight:500}.chip-label{color:var(--text-secondary,#999);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:10px;overflow:hidden}.chip-dataset{color:var(--text-tertiary,#666)}.unmapped-help{color:var(--text-tertiary,#888);margin:0 0 8px;font-size:11px;font-style:italic}.mappings-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;min-height:0;overflow:hidden auto;container:mappings-container/inline-size}.mappings-list::-webkit-scrollbar{width:6px}.mappings-list::-webkit-scrollbar-track{background:0 0}.mappings-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mappings-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.mappings-list::-webkit-scrollbar-corner{background:0 0}.empty-mappings{text-align:center;color:var(--text-secondary,#888);background:var(--bg-secondary,#2d2d2d);border-radius:4px;padding:32px;font-size:13px}.mappings-cards{flex-direction:column;gap:6px;display:flex}.mapping-card{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-left:3px solid #0000;border-radius:4px;padding:4px;transition:background .15s;position:relative}@container mappings-container (width<=350px){.mapping-card .variable-label{display:none}}@container mappings-container (width<=280px){.mapping-card .confidence-circle{display:none}}@container mappings-container (width<=450px){.mapping-flow{flex-direction:column;align-items:center}.mapping-flow .sources-column,.mapping-flow .target-column{align-items:center;width:100%}.mapping-flow .variable-chip{justify-content:center;width:100%}.mapping-flow .mapping-arrow{transform:rotate(90deg)}.mapping-flow .mapping-meta{align-self:center}}.mapping-card:hover{background:var(--bg-hover,#333)}.add-mapping-btn{background:var(--accent-color,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:6px 10px;transition:background .15s,transform .15s;display:flex}.add-mapping-btn:hover{background:var(--accent-hover,#0098ff)}.mapping-card.mapping-type-direct{border-left-color:#3b82f6}.mapping-card.mapping-type-derived{border-left-color:#a855f7}.mapping-card.mapping-type-aggregated{border-left-color:#f97316}.mapping-card.mapping-type-composite{border-left-color:#eab308}.mapping-flow{align-items:center;gap:8px;min-width:0;display:flex}.sources-column{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.target-column{flex:1;min-width:0}.variable-chip{border-radius:4px;align-items:center;gap:6px;min-width:0;padding:4px 8px;display:flex;overflow:hidden}.source-chip{background:#22c55e1a}.target-chip{background:#9333ea1a}.confidence-circle{flex-shrink:0;width:29px;height:29px;position:relative}.confidence-circle .confidence-ring{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.confidence-circle .confidence-value{color:var(--text-primary,#fff);min-width:unset;text-align:center;justify-content:center;align-items:center;font-size:11px;font-weight:600;line-height:1;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.variable-name{color:var(--text-primary,#fff);white-space:nowrap;font-size:12px;font-weight:600}.variable-label{color:var(--text-secondary,#888);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:10px;font-style:italic;overflow:hidden}.variable-chip .dataset-name{color:var(--text-tertiary,#666);white-space:nowrap;flex-shrink:0;font-size:9px}.mapping-footer{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.mapping-meta{align-items:center;gap:5px;display:flex}.mapping-type-badge{text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600}.mapping-type-badge.direct{color:#3b82f6;background:#3b82f626}.mapping-type-badge.derived{color:#a855f7;background:#a855f726}.mapping-type-badge.aggregated{color:#f97316;background:#f9731626}.mapping-type-badge.composite{color:#eab308;background:#eab30826}.confidence-badge{color:#fff;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600}.source-tags{flex-shrink:0;gap:4px;display:flex}.mapping-formula{background:var(--bg-primary,#1e1e1e);border-left:2px solid var(--border-color,#444);border-radius:3px;margin-top:6px;padding:4px 6px}.formula,.aggregation{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.formula-label,.aggregation-label{color:var(--text-secondary,#888);text-transform:uppercase;font-size:8px;font-weight:600}.mapping-formula code{color:var(--text-primary,#fff);background:var(--bg-hover,#333);border-radius:2px;padding:1px 4px;font-family:Fira Code,Consolas,monospace;font-size:10px}.ai-reasoning{font-size:10px}.ai-reasoning summary{cursor:pointer;color:var(--text-secondary,#888);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:2px 0;font-weight:500;display:flex}.ai-reasoning summary:hover{color:var(--text-primary,#fff)}.ai-reasoning summary svg{flex-shrink:0;width:12px;height:12px}.ai-reasoning p{background:var(--bg-primary,#1e1e1e);color:var(--text-secondary,#888);border-radius:2px;margin:4px 0 0;padding:6px 8px;font-size:10px;line-height:1.4}.ai-reasoning-inline{color:var(--text-tertiary,#666);cursor:pointer;flex:1;min-width:0;font-size:10px;font-style:italic}.ai-reasoning-inline:hover{color:var(--text-secondary,#888)}.ai-reasoning-inline .ai-reasoning-text{-webkit-line-clamp:2;text-overflow:ellipsis;background:0 0;border-radius:0;-webkit-box-orient:vertical;margin:0;padding:0;line-height:1.4;display:-webkit-box;overflow:hidden}.ai-reasoning-inline.expanded .ai-reasoning-text{-webkit-line-clamp:unset;display:block;overflow:visible}.unmapped-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent}.unmapped-list::-webkit-scrollbar{width:6px}.unmapped-list::-webkit-scrollbar-track{background:0 0}.unmapped-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.unmapped-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.mapping-card{cursor:pointer}.mapping-card:focus{outline:none}.mapping-card:focus-visible{outline:none}.mapping-modal-overlay{background:var(--overlay,#000000b3);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.mapping-modal{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:4px;flex-direction:column;width:100%;max-width:600px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 50px #0006}.mapping-modal-header{border-bottom:1px solid var(--border-color,#444);background:var(--bg-tertiary,#1a1a1a);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.mapping-modal-header h3{color:var(--text-primary,#fff);margin:0;font-size:16px;font-weight:600}.modal-close{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background .15s,transform .15s;display:flex}.modal-close:hover{background:var(--bg-hover,#333);color:var(--text-primary,#fff)}.mapping-modal-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;padding:20px;overflow-y:auto}.mapping-modal-content::-webkit-scrollbar{width:6px}.mapping-modal-content::-webkit-scrollbar-track{background:0 0}.mapping-modal-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mapping-modal-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.modal-badges{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.modal-badges .mapping-type-badge,.modal-badges .confidence-badge{padding:4px 10px;font-size:10px}.modal-section{margin-bottom:16px}.modal-section:last-child{margin-bottom:0}.section-title svg{color:var(--text-secondary,#888)}.section-title.source-title svg{color:#22c55e}.section-title.target-title svg{color:#a855f7}.variable-detail-card{background:var(--bg-primary,#1e1e1e);border-radius:4px;margin-bottom:8px;padding:12px 14px}.variable-detail-card:last-child{margin-bottom:0}.variable-detail-card.source-detail{border-left:3px solid #22c55e}.variable-detail-card.target-detail{border-left:3px solid #a855f7}.variable-detail-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.variable-detail-name{color:var(--text-primary,#fff);font-size:14px;font-weight:600}.variable-detail-dataset{color:var(--text-tertiary,#666);background:var(--bg-hover,#333);border-radius:4px;padding:2px 8px;font-size:11px}.variable-detail-label-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.variable-detail-label{color:var(--text-secondary,#888);font-size:12px;font-style:italic}.variable-detail-tags{gap:6px;margin-bottom:8px;display:flex}.variable-metadata{border-top:1px solid var(--border-color,#444);margin-top:10px;padding-top:10px}.metadata-row{gap:8px;margin-bottom:6px;font-size:11px;display:flex}.metadata-row:last-child{margin-bottom:0}.metadata-label{color:var(--text-tertiary,#666);flex-shrink:0;min-width:55px}.metadata-value{color:var(--text-primary,#fff);word-break:break-word}.metadata-value.sample-values{color:var(--text-secondary,#888);font-family:Fira Code,Consolas,monospace;font-size:10px}.modal-arrow{color:var(--text-tertiary,#666);justify-content:center;padding:8px 0;display:flex}.modal-arrow svg{opacity:.6}.transformation-detail{background:var(--bg-primary,#1e1e1e);border-radius:4px;padding:12px 14px}.formula-detail{align-items:center;gap:8px;margin-bottom:6px;display:flex}.formula-detail:last-child{margin-bottom:0}.transformation-detail .formula-label{color:var(--text-secondary,#888);min-width:80px;font-size:10px}.transformation-detail code{color:var(--text-primary,#fff);background:var(--bg-hover,#333);border-radius:4px;padding:4px 8px;font-family:Fira Code,Consolas,monospace;font-size:12px}.ai-reasoning-text{color:var(--text-primary,#e0e0e0);margin:0;font-size:13px;font-style:italic;line-height:1.6}.data-quality-warnings{background:#f59e0b1a;border:1px solid #f59e0b4d;border-left:3px solid #f59e0b;border-radius:4px;margin:12px 0;padding:12px 14px}.data-quality-warnings .warnings-label{color:#f59e0b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.data-quality-warnings .warnings-list{margin:0;padding-left:18px;list-style:outside}.data-quality-warnings .warning-item{color:var(--text-primary,#e0e0e0);margin-bottom:4px;font-size:12px;line-height:1.5}.data-quality-warnings .warning-item:last-child{margin-bottom:0}:root[data-theme=light] .data-quality-warnings{background:#f59e0b14}:root[data-theme=light] .data-quality-warnings .warning-item{color:var(--text-primary)}.notes-text{color:var(--text-secondary,#888);background:var(--bg-primary,#1e1e1e);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;border-radius:4px;margin:0;padding:12px 14px;font-size:12px;line-height:1.5}.modal-back{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:8px;padding:4px;transition:background .15s,transform .15s;display:flex}.modal-back:hover{background:var(--bg-hover,#333);color:var(--text-primary,#fff)}.mapping-modal-header h3.with-back{flex:1}.variable-detail-card.clickable{cursor:pointer;transition:background .15s,transform .15s}.variable-detail-card.clickable:hover{background:var(--bg-hover,#333)}.variable-detail-card.clickable:focus{outline:none}.variable-detail-card.clickable:focus-visible{outline:none}.variable-detail-right{align-items:center;gap:8px;display:flex}.drill-arrow{color:var(--text-tertiary,#666);opacity:0;transition:opacity .15s}.variable-detail-card.clickable:hover .drill-arrow{opacity:1}.variable-detail-hero{border-radius:4px;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.variable-detail-hero.source-hero{background:#22c55e1a;border-left:4px solid #22c55e}.variable-detail-hero.target-hero{background:#9333ea1a;border-left:4px solid #a855f7}.variable-hero-label{color:var(--text-secondary,#888);font-size:13px;font-style:italic}.variable-hero-dataset{color:var(--text-tertiary,#666);background:var(--bg-hover,#333);white-space:nowrap;border-radius:4px;padding:4px 10px;font-size:11px}.variable-metadata-full{flex-direction:column;gap:14px;display:flex}.metadata-block-value{color:var(--text-primary,#fff);background:var(--bg-primary,#1e1e1e);border-radius:4px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.metadata-block-code{color:var(--text-primary,#fff);background:var(--bg-primary,#1e1e1e);white-space:pre-wrap;word-break:break-word;border-radius:4px;margin:0;padding:10px 12px;font-family:Fira Code,Consolas,monospace;font-size:11px;line-height:1.5}.metadata-grid-item{background:var(--bg-primary,#1e1e1e);border-radius:4px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.metadata-grid-label{color:var(--text-tertiary,#666);text-transform:uppercase;font-size:10px;font-weight:600}.metadata-grid-value{color:var(--text-primary,#fff);font-size:12px}.sample-values-list{flex-wrap:wrap;gap:6px;display:flex}.sample-value-chip{background:var(--bg-primary,#1e1e1e);color:var(--text-secondary,#888);border-radius:4px;padding:4px 8px;font-family:Fira Code,Consolas,monospace;font-size:11px}.sample-value-more{color:var(--text-tertiary,#666);padding:4px 8px;font-size:11px}.no-metadata-message{text-align:center;color:var(--text-tertiary,#666);background:var(--bg-primary,#1e1e1e);border-radius:4px;padding:24px;font-size:13px}.variable-context{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:4px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.context-label{color:var(--text-tertiary,#666)}.context-value{color:var(--text-primary,#fff)}.detail-view-container{flex-direction:column;flex:1;gap:0;max-width:100%;min-height:0;padding:6px 0 0 6px;display:flex;overflow:hidden;container:detail-container/inline-size}.mapping-detail-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;flex:1;gap:10px;min-height:0;padding-bottom:12px;padding-right:4px;display:flex;overflow:hidden auto}.mapping-detail-content::-webkit-scrollbar{width:6px}.mapping-detail-content::-webkit-scrollbar-track{background:0 0}.mapping-detail-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mapping-detail-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.detail-badges{flex-wrap:wrap;gap:10px;display:flex}.detail-badges .mapping-type-badge{border-radius:4px;padding:6px 14px;font-size:11px;font-weight:600}.detail-badges .confidence-badge{color:#fff;border-radius:4px;padding:6px 14px;font-size:11px;font-weight:600}.detail-section{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-primary,#444);border-radius:4px;flex-shrink:0;padding:6px;overflow:hidden}.detail-section .section-title{color:var(--text-primary,#fff);align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:600;display:flex}.detail-section .section-title svg{opacity:.8}.detail-section .section-title.source-title,.detail-section .section-title.source-title svg{color:#22c55e}.detail-section .section-title.target-title,.detail-section .section-title.target-title svg{color:#a855f7}.detail-section .variable-detail-card{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:4px;margin-bottom:6px;padding:8px 10px;transition:background .15s,transform .15s}.detail-section .variable-detail-card:last-child{margin-bottom:0}.detail-section .variable-detail-card.source-detail{border-left:3px solid #22c55e}.detail-section .variable-detail-card.target-detail{border-left:3px solid #a855f7}.detail-section .variable-detail-card.clickable:hover{background:var(--bg-hover,#333);border-color:var(--text-tertiary,#555)}.detail-section .variable-detail-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:4px;display:flex}.detail-section .variable-detail-name{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.detail-section .variable-detail-dataset{color:var(--text-secondary,#888);background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex-shrink:0;max-width:40%;padding:2px 8px;font-size:10px;overflow:hidden}.detail-section .variable-detail-label-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.detail-section .variable-detail-label{color:var(--text-secondary,#888);font-size:11px;line-height:1.4}.detail-section .variable-detail-right{align-items:center;gap:8px;display:flex}.detail-section .drill-arrow{color:var(--text-tertiary,#666);opacity:0;transition:background .15s,transform .15s}.detail-section .variable-detail-card.clickable:hover .drill-arrow{opacity:1;transform:translate(2px)}.detail-confidence-circle{flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:64px;height:64px;margin:8px 0;display:flex;position:relative}.detail-confidence-circle .confidence-ring{width:100%;height:100%}.detail-confidence-circle .confidence-value{color:var(--text-primary,#fff);min-width:unset;text-align:center;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.detail-section .transformation-detail{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:4px;padding:14px 16px}.detail-section .formula-detail{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.detail-section .formula-detail:last-child{margin-bottom:0}.detail-section .formula-label{color:var(--text-tertiary,#666);text-transform:uppercase;min-width:90px;padding-top:2px;font-size:11px;font-weight:600}.detail-section .transformation-detail code{color:var(--text-primary,#fff);background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);word-break:break-all;border-radius:4px;flex:1;padding:6px 12px;font-family:Fira Code,Consolas,monospace;font-size:12px}.detail-section .ai-reasoning-text{color:var(--text-primary,#e0e0e0);margin:0;font-size:13px;font-style:italic;line-height:1.6}.info-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.info-row:last-child{margin-bottom:0}.info-label{color:var(--text-tertiary,#666);flex-shrink:0;font-size:12px}.info-code{color:var(--text-primary,#fff);background:var(--bg-primary,#1e1e1e);word-break:break-all;border-radius:4px;flex:1;padding:4px 10px;font-family:Fira Code,Consolas,monospace;font-size:12px}.transformation-section .ai-reasoning-text{color:var(--text-primary,#e0e0e0);margin:0 0 12px;font-size:13px;font-style:italic;line-height:1.6}@container detail-container (width<=350px){.editable-source-fields{grid-template-columns:1fr;gap:6px}.variable-metadata,.detail-section .variable-detail-dataset{display:none}}.variable-detail-view{flex-direction:column;gap:20px;display:flex}.variable-detail-hero{border:1px solid var(--border-color,#444);border-radius:4px;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.variable-detail-hero.source-hero{background:linear-gradient(135deg,#22c55e14 0%,#22c55e05 100%);border-color:#22c55e4d #22c55e4d #22c55e4d #22c55e;border-left-style:solid;border-left-width:4px}.variable-detail-hero.target-hero{background:linear-gradient(135deg,#a855f714 0%,#a855f705 100%);border-color:#a855f74d #a855f74d #a855f74d #a855f7;border-left-style:solid;border-left-width:4px}.variable-hero-main{flex-direction:column;gap:6px;display:flex}.variable-hero-name{color:var(--text-primary,#fff);font-size:20px;font-weight:700}.variable-hero-label{color:var(--text-secondary,#888);font-size:14px;line-height:1.4}.variable-hero-dataset{color:var(--text-secondary,#888);background:var(--bg-secondary,#2d2d2d);white-space:nowrap;border:1px solid var(--border-color,#444);border-radius:4px;align-self:flex-start;padding:6px 14px;font-size:12px}.variable-detail-tags-large{flex-wrap:wrap;gap:10px;display:flex}.variable-metadata-full{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:4px;flex-direction:column;gap:16px;padding:18px;display:flex}.metadata-block{flex-direction:column;gap:8px;display:flex}.metadata-block-label{color:var(--text-tertiary,#666);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.metadata-block-value{color:var(--text-primary,#fff);background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:4px;margin:0;padding:12px 14px;font-size:14px;line-height:1.6}.metadata-block-code{color:var(--text-primary,#fff);background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);white-space:pre-wrap;word-break:break-word;border-radius:4px;margin:0;padding:12px 14px;font-family:Fira Code,Consolas,monospace;font-size:12px;line-height:1.6}.metadata-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.metadata-grid-item{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:4px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.metadata-grid-label{color:var(--text-tertiary,#666);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.metadata-grid-value{color:var(--text-primary,#fff);font-size:13px;font-weight:500}.sample-values-list{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:4px;flex-wrap:wrap;gap:8px;padding:12px 14px;display:flex}.sample-value-chip{background:var(--bg-secondary,#2d2d2d);color:var(--text-secondary,#888);border:1px solid var(--border-color,#444);border-radius:4px;padding:5px 10px;font-family:Fira Code,Consolas,monospace;font-size:11px}.sample-value-more{color:var(--text-tertiary,#666);padding:5px 10px;font-size:11px;font-style:italic}.no-metadata-message{text-align:center;color:var(--text-tertiary,#666);background:var(--bg-secondary,#2d2d2d);border:1px dashed var(--border-color,#444);border-radius:4px;padding:32px;font-size:13px}@media (max-width:900px){.mapping-review-step-v2 .pill-label{display:none}.mapping-review-step-v2 .filter-pill{padding:3px 5px}.mapping-review-step-v2 .search-input-wrapper{width:160px;min-width:80px}}@keyframes btn-spin{to{transform:rotate(360deg)}}.editable-source-card{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-left:3px solid #22c55e;border-radius:4px;margin-bottom:8px;padding:6px}.editable-source-card:last-child{margin-bottom:0}.editable-source-header{justify-content:flex-end;align-items:center;display:flex}.remove-source-btn{color:var(--text-tertiary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background .15s,transform .15s;display:flex}.remove-source-btn:hover{color:#ef4444;background:#ef444426}.editable-source-fields{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.edit-field{flex-direction:column;gap:4px;min-width:0;display:flex;overflow:hidden}.edit-field label{color:var(--text-tertiary,#666);letter-spacing:.3px;font-size:10px;font-weight:600}.edit-field label .optional{text-transform:none;color:var(--text-tertiary,#555);font-weight:400}.locked-field{background:var(--bg-tertiary,#252525);border:1px solid var(--border-color,#444);color:var(--text-secondary,#aaa);cursor:not-allowed;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.locked-field .locked-value{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.locked-field .lock-icon{opacity:.5;flex-shrink:0;margin-left:8px}.edit-field select,.edit-field input[type=text]{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;outline:none;width:100%;min-width:0;padding:6px 10px;font-size:12px;transition:border-color .15s;overflow:hidden}.edit-field select:focus,.edit-field input[type=text]:focus{border-color:var(--info,#61afef)}.edit-field select:disabled{opacity:.5;cursor:not-allowed}.edit-field select option{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.edit-field input[type=text]::placeholder{color:var(--text-tertiary,#555)}.edit-field .readonly-value{background:var(--bg-tertiary,#252525);border:1px solid var(--border-color,#444);color:var(--text-secondary,#aaa);border-radius:4px;min-height:18px;padding:6px 10px;font-size:12px}.add-source-btn{background:var(--bg-primary,#1e1e1e);border:1px dashed var(--border-color,#444);width:100%;color:var(--text-secondary,#888);cursor:pointer;border-radius:4px;outline:none;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:6px;font-size:12px;font-weight:500;transition:background .15s,transform .15s;display:flex}.add-source-btn:hover{background:var(--bg-hover,#333);color:#22c55e;border-color:#22c55e}.add-source-btn:focus{outline:none}.edit-config-fields{flex-direction:column;gap:12px;display:flex}.edit-config-fields .edit-field{max-width:300px}.mapping-notes-textarea{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);width:100%;min-height:38px;max-height:200px;color:var(--text-primary,#fff);box-sizing:border-box;border-radius:4px;outline:none;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1;transition:border-color .15s;overflow-y:auto;resize:none!important}.mapping-notes-textarea:focus{border-color:var(--info,#61afef)}.mapping-notes-textarea::placeholder{color:var(--text-tertiary,#555)}.mapping-notes-textarea::-webkit-scrollbar{width:6px}.mapping-notes-textarea::-webkit-scrollbar-track{background:0 0}.mapping-notes-textarea::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#555);border-radius:3px}.mapping-notes-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#777)}.notes-empty{color:var(--text-tertiary,#555);margin:0;font-size:12px;font-style:italic}.generated-code-container{border:1px solid var(--border-color,#333);background:var(--bg-primary,#1e1e1e);border-radius:6px;overflow:hidden}.generated-code-container .code-loading,.generated-code-container .code-empty{color:var(--text-secondary,#888);text-align:center;margin:0;padding:16px;font-size:12px;font-style:italic}.mapping-chat-container{background-color:var(--bg-tertiary);border-top:1px solid var(--border-primary);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:calc(100% + 12px);height:200px;min-height:100px;max-height:60vh;margin-left:-12px;margin-right:0;display:flex;position:relative;overflow:hidden}.mapping-chat-resize-handle{cursor:ns-resize;z-index:10;background-color:#0000;height:4px;transition:background-color .2s;position:absolute;top:-2px;left:0;right:0}.mapping-chat-resize-handle:hover{background-color:#06c}.mapping-chat-resize-handle:active{background-color:#05a}:root:not([data-theme=light]) .mapping-chat-container{background-color:#0d0d0d}.mapping-chat-messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.mapping-chat-empty{height:100%;color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.mapping-chat-empty p{margin:0;font-size:12px}.mapping-chat-empty .mapping-chat-hint{opacity:.7;margin-top:4px;font-size:11px}.mapping-chat-message{width:100%;display:flex}.mapping-chat-message.user{justify-content:flex-end}.mapping-chat-message.assistant{justify-content:flex-start}.mapping-chat-message-content{word-wrap:break-word;white-space:pre-wrap;border-radius:12px;max-width:100%;padding:6px 10px;font-size:12px;line-height:1.4}.mapping-chat-message.user .mapping-chat-message-content{background-color:var(--bg-secondary);color:var(--text-primary)}.mapping-chat-message.assistant .mapping-chat-message-content{color:var(--text-primary);background-color:#0000;padding:6px 4px}.mapping-chat-message.assistant .mapping-chat-message-content.error{color:var(--error)}.mapping-chat-typing{gap:3px;padding:4px 0;display:flex}.mapping-chat-typing-dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite mappingChatBounce}.mapping-chat-typing-dot:first-child{animation-delay:0s}.mapping-chat-typing-dot:nth-child(2){animation-delay:.16s}.mapping-chat-typing-dot:nth-child(3){animation-delay:.32s}@keyframes mappingChatBounce{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.mapping-chat-message.streaming .mapping-chat-message-content{display:inline}.mapping-chat-message .streaming-cursor{color:var(--text-primary);margin-left:1px;font-weight:400;animation:1s step-end infinite blink;display:inline-block}.mapping-chat-input-container{background-color:var(--bg-primary);flex-shrink:0;padding:8px 12px 12px;position:relative;overflow:visible}:root:not([data-theme=light]) .mapping-chat-input-container{background-color:#0d0d0d}.mapping-chat-input-wrapper{background-color:var(--bg-secondary);border:1px solid var(--border-primary);cursor:text;border-radius:10px;flex-direction:column;padding:8px 2px 1px 8px;transition:box-shadow .2s;display:flex;position:relative}.mapping-chat-input-wrapper:focus-within{box-shadow:0 0 0 1px var(--accent-primary)}.mapping-chat-input-wrapper textarea{resize:none;width:100%;min-height:32px;max-height:80px;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border:none;border-radius:4px;outline:none;padding-right:4px;font-family:inherit;font-size:12px;line-height:1.4;overflow-y:auto}.mapping-chat-input-wrapper textarea::placeholder{color:var(--text-tertiary)}.mapping-chat-input-wrapper textarea:disabled{cursor:not-allowed;opacity:.5}.mapping-chat-input-wrapper textarea::-webkit-scrollbar{width:6px}.mapping-chat-input-wrapper textarea::-webkit-scrollbar-track{background:0 0}.mapping-chat-input-wrapper textarea::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mapping-chat-input-wrapper textarea::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.mapping-chat-controls{justify-content:flex-end;align-items:center;margin-top:4px;display:flex}.mapping-chat-send-button{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin:0 2px 2px 0;transition:background .2s,transform .2s;background-color:var(--accent-primary)!important;color:#fff!important;border:none!important;border-radius:50%!important;width:28px!important;height:28px!important;padding:0!important;font-size:14px!important;line-height:1!important;display:flex!important}.mapping-chat-send-button:hover:not(:disabled){transform:scale(1.05);background-color:var(--accent-primary-hover)!important}.mapping-chat-send-button:disabled{cursor:not-allowed;opacity:.4;transform:none;background-color:var(--accent-primary)!important}.mapping-chat-send-button svg{filter:brightness(0)saturate()invert();width:14px;height:14px}.mapping-chat-messages::-webkit-scrollbar{width:6px}.mapping-chat-messages::-webkit-scrollbar-track{background:0 0}.mapping-chat-messages::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mapping-chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.custom-dropdown-wrapper{position:relative}.custom-combobox-wrapper{min-width:0;position:relative}.custom-dropdown-wrapper{min-width:0}.combobox-input{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;outline:none;padding:6px 28px 6px 10px;font-size:12px;transition:border-color .15s;overflow:hidden}.combobox-input:hover:not(:disabled){border-color:var(--border-primary,#555)}.combobox-input:focus,.combobox-input.open{border-color:var(--info,#61afef)}.combobox-input:disabled{opacity:.5;cursor:not-allowed}.combobox-input::placeholder{color:var(--text-tertiary,#666)}.combobox-chevron{opacity:.6;pointer-events:none;color:var(--text-secondary,#888);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.custom-dropdown-trigger{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);cursor:pointer;text-align:left;border-radius:4px;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12px;transition:background .15s,transform .15s;display:flex}.custom-dropdown-trigger:hover:not(:disabled){border-color:var(--border-primary,#555);background:var(--bg-tertiary,#333)}.custom-dropdown-trigger:focus{outline:none}.custom-dropdown-trigger.open{border-color:var(--info,#61afef)}.custom-dropdown-trigger:disabled,.custom-dropdown-trigger.disabled{opacity:.5;cursor:not-allowed}.custom-dropdown-trigger span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.custom-dropdown-trigger span.placeholder{color:var(--text-tertiary,#666)}.custom-dropdown-trigger svg{opacity:.6;flex-shrink:0;transition:transform .15s}.custom-dropdown-trigger.open svg{transform:rotate(180deg)}.custom-dropdown-backdrop{z-index:99;position:fixed;top:0;bottom:0;left:0;right:0}.custom-dropdown-menu{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);z-index:100;border-radius:4px;min-width:200px;max-height:250px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000040}.custom-dropdown-menu.fixed-dropdown{z-index:10000;position:fixed;top:auto;left:auto;right:auto}.custom-dropdown-menu.with-search{flex-direction:column;max-height:300px;display:flex;overflow:hidden}.dropdown-search-wrapper{border-bottom:1px solid var(--border-color,#444);flex-shrink:0;padding:8px}.dropdown-search-input{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);box-sizing:border-box;border-radius:4px;outline:none;padding:6px 10px;font-size:12px}.dropdown-search-input:focus{border-color:var(--info,#61afef)}.dropdown-search-input::placeholder{color:var(--text-tertiary,#555)}.dropdown-items-list{flex:1;max-height:220px;overflow-y:auto}.custom-dropdown-item{width:100%;color:var(--text-secondary,#aaa);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:8px 12px;font-size:12px;transition:background .1s,transform .1s;display:block;overflow:hidden}.custom-dropdown-item:hover,.custom-dropdown-item.active{background:var(--bg-tertiary,#333);color:var(--text-primary,#fff)}.dropdown-no-results{text-align:center;color:var(--text-tertiary,#555);padding:12px;font-size:12px;font-style:italic}.custom-dropdown-menu::-webkit-scrollbar{width:4px}.dropdown-items-list::-webkit-scrollbar{width:4px}.custom-dropdown-menu::-webkit-scrollbar-track{background:0 0}.dropdown-items-list::-webkit-scrollbar-track{background:0 0}.custom-dropdown-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#ffffff26);border-radius:3px}.dropdown-items-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#ffffff26);border-radius:3px}.custom-dropdown-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff40)}.dropdown-items-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff40)}.value-mappings-section{border-top:1px dashed var(--border-color,#444);margin-top:10px;padding-top:10px}.value-mappings-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.value-mappings-title{color:var(--text-secondary,#aaa);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.value-mappings-count{color:var(--text-tertiary,#666);font-size:10px;font-weight:400}.value-mappings-table{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:4px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.value-mapping-row{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;line-height:1.4;display:flex}.vm-source-value{color:#22c55e;background:#22c55e1a;border-radius:3px;padding:2px 6px;font-family:Fira Code,Consolas,monospace;font-weight:600}.vm-source-label{color:var(--text-tertiary,#666);font-size:11px;font-style:italic}.vm-arrow{color:var(--text-tertiary,#666);margin:0 2px;font-size:12px}.vm-target-value{color:#a855f7;background:#a855f71a;border-radius:3px;padding:2px 6px;font-family:Fira Code,Consolas,monospace;font-weight:600}.vm-target-label{color:var(--text-tertiary,#666);font-size:11px;font-style:italic}.value-mappings-empty{background:var(--bg-secondary,#2d2d2d);border:1px dashed var(--border-color,#444);border-radius:4px;padding:12px 14px}.vm-empty-message{color:var(--text-secondary,#aaa);margin:0 0 4px;font-size:12px}.vm-hint{color:var(--warning,#f59e0b);margin:0 0 10px;font-size:11px;font-style:italic}.vm-coding-preview{border-top:1px solid var(--border-color,#444);flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.vm-coding-row{flex-direction:column;gap:4px;display:flex}.vm-coding-label{color:var(--text-tertiary,#666);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.vm-coding-value{color:var(--text-secondary,#aaa);background:var(--bg-primary,#1e1e1e);word-break:break-word;border-radius:4px;padding:6px 10px;font-family:Fira Code,Consolas,monospace;font-size:11px;line-height:1.4}.vm-coding-value.source{border-left:2px solid #22c55e}.vm-coding-value.target{border-left:2px solid #a855f7}.value-mappings-hint{background:var(--bg-secondary,#2d2d2d);border:1px dashed var(--warning,#f59e0b);border-radius:4px;padding:10px 12px}.value-mappings-hint .value-mappings-header{flex-wrap:wrap}.value-mappings-hint-text{color:var(--text-tertiary,#666);font-size:11px;font-style:italic}.coding-info-row{flex-direction:column;gap:4px;margin-top:8px;display:flex}.coding-info-row .coding-label{color:var(--text-tertiary,#666);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.coding-info-row .coding-value{color:var(--text-secondary,#aaa);background:var(--bg-primary,#1e1e1e);word-break:break-word;border-radius:4px;max-height:60px;padding:6px 10px;font-family:Fira Code,Consolas,monospace;font-size:11px;line-height:1.4;overflow-y:auto}.value-mappings-suggestion{color:var(--warning,#f59e0b);margin:10px 0 0;font-size:11px;font-style:italic}.value-mappings-editor{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:6px;padding:10px}.value-mappings-editor .value-mappings-header{justify-content:space-between;margin-bottom:8px}.add-value-mapping-btn{color:var(--primary,#3b82f6);border:1px solid var(--primary,#3b82f6);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:background .15s,transform .15s;display:inline-flex}.add-value-mapping-btn:hover{background:#3b82f61a}.add-value-mapping-btn svg{width:12px;height:12px}.value-mappings-table.editable{grid-template-columns:repeat(2,1fr);gap:4px;max-height:400px;display:grid;overflow-y:auto}.value-mapping-header-row{display:none}.value-mapping-row.editable{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#333);border-radius:4px;align-items:center;gap:6px;padding:6px 8px;transition:border-color .15s;display:flex}.value-mapping-row.editable:hover{border-color:var(--border-color-hover,#555)}.vm-input{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);min-width:0;color:var(--text-primary,#eee);border-radius:3px;flex:1;padding:4px 6px;font-family:Fira Code,Consolas,monospace;font-size:11px;transition:border-color .15s}.vm-input:focus{border-color:var(--primary,#3b82f6);outline:none}.vm-input.vm-source-value{text-align:center;border-left:2px solid #22c55e;flex:0 0 50px;max-width:50px}.vm-input.vm-source-label{flex:1;min-width:60px}.vm-input.vm-target-value{text-align:center;border-left:2px solid #a855f7;flex:0 0 50px;max-width:50px}.vm-input.vm-target-label{flex:1;min-width:60px}.vm-input::placeholder{color:var(--text-tertiary,#555);font-size:10px;font-style:italic}.value-mapping-row.editable .vm-arrow{color:var(--text-tertiary,#666);flex:none;padding:0 2px;font-size:12px}.remove-value-mapping-btn{width:20px;height:20px;color:var(--text-tertiary,#555);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:3px;flex:0 0 20px;justify-content:center;align-items:center;padding:0;transition:background .15s,transform .15s;display:flex}.value-mapping-row.editable:hover .remove-value-mapping-btn{opacity:1}.remove-value-mapping-btn:hover{color:#ef4444;background:#ef444426}.remove-value-mapping-btn svg{width:12px;height:12px}.value-mappings-empty{text-align:center;color:var(--text-tertiary,#666);grid-column:1/-1;padding:12px;font-size:11px;font-style:italic}.coding-info-reference{border-top:1px dashed var(--border-color,#444);margin-top:8px;padding-top:8px;font-size:10px}.coding-info-reference .coding-info-row{margin-top:4px}.coding-info-reference .coding-info-row:first-child{margin-top:0}.coding-info-reference .coding-label{color:var(--text-tertiary,#666);font-size:10px}.coding-info-reference .coding-value{font-size:10px}.generated-code-section{background:var(--bg-secondary,#1e1e1e);border:1px solid var(--border-color,#333);border-radius:6px;margin-top:16px;margin-bottom:8px;overflow:hidden}.generated-code-section.expanded{border-color:var(--primary,#3b82f6)}.generated-code-header{background:var(--bg-tertiary,#252525);cursor:pointer;text-align:left;width:100%;min-height:40px;color:var(--text-primary,#eee);box-sizing:border-box;border:none;border-radius:5px 5px 0 0;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:13px;transition:background .15s;display:flex!important}.generated-code-header:hover{background:var(--bg-hover,#2a2a2a)}.generated-code-header .collapse-icon{color:var(--text-tertiary,#666);flex-shrink:0;transition:transform .2s}.generated-code-section.expanded .collapse-icon{color:var(--primary,#3b82f6)}.generated-code-header svg:not(.collapse-icon){color:var(--primary,#3b82f6);flex-shrink:0}.generated-code-title{color:var(--text-primary,#eee);font-size:13px;font-weight:600}.code-loading-badge{color:var(--text-tertiary,#666);margin-left:auto;font-size:10px;font-style:italic}.code-lines-badge{color:var(--text-tertiary,#666);background:var(--bg-primary,#1a1a1a);border-radius:3px;margin-left:auto;padding:2px 6px;font-size:10px}.code-modified-badge{color:var(--warning,#f59e0b);background:#f59e0b1a;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:500}.generated-code-content{border-top:1px solid var(--border-color,#333);position:relative}.generated-code-content .reset-code-btn{z-index:10;position:absolute;top:8px;right:8px}.generated-code-container{padding:0}.generated-code-container .code-loading{text-align:center;color:var(--text-tertiary,#666);padding:20px;font-size:12px}.generated-code-container .code-empty{text-align:center;color:var(--text-tertiary,#666);margin:0;padding:20px;font-size:12px;font-style:italic}.generated-code-section .monaco-editor{border-radius:0 0 5px 5px}.reset-code-btn{color:var(--warning,#f59e0b);background:var(--bg-secondary,#2d2d2d);border:1px solid var(--warning,#f59e0b);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;transition:background .15s,transform .15s;display:inline-flex}.reset-code-btn:hover{background:#f59e0b26}.reset-code-btn svg{width:12px;height:12px}.info-section-title{align-items:center;gap:6px;display:flex}.transformation-section{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-primary,#444);border-radius:4px;flex-direction:column;gap:16px;margin-top:40px;padding:6px;display:flex}.transformation-section-title{color:var(--text-primary,#fff);border-bottom:1px solid var(--border-primary,#444);align-items:center;gap:8px;margin:0;padding-bottom:12px;font-size:15px;font-weight:700;display:flex}.transformation-section-title svg{color:var(--primary,#3b82f6);opacity:.9}.transform-subsection-label{color:var(--text-primary,#fff);border-bottom:1px solid var(--border-primary,#444);margin-top:16px;padding-bottom:10px;font-size:14px;font-weight:700;display:block}.transform-subsection-label+.notes-content,.notes-content{margin-top:8px}.transform-info-row{align-items:baseline;gap:6px;padding:4px 0;display:flex}.transform-label{color:var(--text-secondary,#aaa);flex-shrink:0;font-size:12px;font-weight:600}.transform-label:after{content:":"}.transform-code{color:var(--text-primary,#fff);word-break:break-all;flex:1;font-family:Fira Code,Consolas,monospace;font-size:13px;font-weight:500}.transform-info-row.editable{align-items:center;gap:12px}.transform-select,.transform-input{border:1px solid var(--border-color,#444);background:var(--bg-secondary,#1e1e1e);color:var(--text-primary,#fff);border-radius:4px;flex:1;min-width:0;padding:6px 10px;font-family:inherit;font-size:12px}.transform-select:focus,.transform-input:focus{border-color:var(--accent-color,#06c);outline:none}.transform-input::placeholder{color:var(--text-tertiary,#666)}.formula-input{border:1px solid var(--border-color,#444);background:var(--bg-secondary,#1e1e1e);color:var(--text-primary,#fff);border-radius:4px;flex:1;min-width:0;padding:6px 10px;font-family:Fira Code,Consolas,monospace;font-size:13px}.formula-input:focus{border-color:var(--accent-color,#06c);outline:none}.formula-input::placeholder{color:var(--text-tertiary,#666);font-family:inherit}:root[data-theme=light] .formula-input{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-primary)}:root[data-theme=light] .formula-input:focus{border-color:var(--accent-secondary)}.transform-subsection{flex-direction:column;gap:8px;display:flex}.transform-subsection-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.transform-subsection-header svg{color:var(--text-tertiary,#666);flex-shrink:0}.transform-subsection-title{color:var(--text-secondary,#aaa);text-transform:none;font-size:12px;font-weight:600}.vm-compact-grid{scrollbar-width:thin;scrollbar-color:var(--border-primary,#ffffff26)transparent;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;max-height:180px;padding:2px;display:grid;overflow-y:auto}.vm-compact-grid.editable{flex-direction:column;gap:6px;max-height:250px;display:flex}.vm-compact-row{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#333);border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.vm-compact-row.editable{flex-wrap:nowrap;gap:8px;padding:6px}.vm-compact-row.editable:hover{border-color:var(--border-color-hover,#555)}.vm-compact-row.editable .vm-compact-input{min-width:40px}.vm-compact-row.editable .vm-compact-input:first-child{color:#22c55e;flex:0 0 50px;width:50px}.vm-compact-row.editable .vm-compact-input:nth-of-type(2){text-align:left;flex:80px;min-width:60px}.vm-compact-row.editable .vm-compact-input:nth-of-type(3){color:#a855f7;flex:0 0 50px;width:50px}.vm-compact-row.editable .vm-compact-input:nth-of-type(4){text-align:left;flex:80px;min-width:60px}.vm-compact-input{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:40px;min-width:36px;color:var(--text-primary,#eee);text-align:center;border-radius:2px;padding:3px 5px;font-family:Fira Code,Consolas,monospace;font-size:11px}.vm-compact-input:focus{border-color:var(--primary,#3b82f6);outline:none}.vm-compact-input.label{text-align:left;flex:1;width:auto;min-width:50px}.vm-compact-input::placeholder{color:var(--text-tertiary,#555);font-size:10px}.vm-compact-arrow{color:var(--text-tertiary,#555);flex-shrink:0;padding:0 4px;font-size:11px}.vm-compact-row.editable .vm-compact-arrow{color:var(--text-secondary,#888);padding:0 6px;font-size:14px}.vm-compact-value{background:var(--bg-tertiary,#ffffff0d);border-radius:3px;padding:2px 6px;font-family:Fira Code,Consolas,monospace;font-size:11px;font-weight:500}.vm-compact-value:first-child{color:#22c55e}.vm-compact-value:last-child{color:#a855f7}.vm-value{font-family:Fira Code,Consolas,monospace;font-weight:600}.vm-value.source{color:#22c55e}.vm-value.target{color:#a855f7}.vm-label{color:var(--text-tertiary,#666);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:120px;font-size:10px;font-style:italic;display:inline-block;overflow:hidden}.vm-count{color:var(--text-tertiary,#666);font-size:10px;font-weight:400}.vm-empty-hint{color:var(--text-tertiary,#666);text-align:center;margin:0;padding:8px;font-size:11px;font-style:italic}.add-vm-btn{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:background .15s,opacity .15s;display:inline-flex}.add-vm-btn:hover{opacity:1;background:#ffffff1a}.add-vm-btn:focus{outline:none}.add-vm-btn.icon-only img{filter:invert();opacity:.8}.add-vm-btn.icon-only:hover img{opacity:1}.vm-remove-btn{width:18px;height:18px;color:var(--text-tertiary,#555);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:3px;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,transform .15s;display:flex}.vm-remove-btn:focus{outline:none}.vm-compact-row.editable:hover .vm-remove-btn{opacity:1}.vm-remove-btn:hover{color:#ef4444;background:#ef444426}.code-badge{border-radius:3px;margin-left:auto;padding:2px 6px;font-size:10px}.code-badge.loading{color:var(--text-tertiary,#666);font-style:italic}.code-badge.modified{color:var(--warning,#f59e0b);background:#f59e0b1a;margin-left:6px;font-weight:500}.code-reset-btn{color:var(--warning,#f59e0b);border:1px solid var(--warning,#f59e0b);cursor:pointer;background:0 0;border-radius:3px;outline:none;align-items:center;gap:4px;margin-left:6px;padding:3px 8px;font-size:10px;font-weight:500;transition:background .15s,transform .15s;display:inline-flex}.code-reset-btn:hover{background:#f59e0b26}.code-reset-btn:focus{outline:none}.code-regenerate-btn{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;margin-left:6px;padding:4px;transition:background .15s,opacity .15s;display:inline-flex}.code-regenerate-btn:hover:not(:disabled){opacity:1;background:#ffffff1a}.code-regenerate-btn:focus{outline:none}.code-regenerate-btn:disabled{opacity:.3;cursor:not-allowed}.code-regenerate-btn img{filter:invert()}.code-badge.ai-generated{color:#a855f7;background:#a855f726;margin-left:6px;font-weight:500}.code-editor-container{border:1px solid var(--border-color,#333);background:#0a0a0a;border-radius:4px;overflow:hidden}:root:not([data-theme=light]) .code-editor-container .monaco-editor,:root:not([data-theme=light]) .code-editor-container .monaco-editor .monaco-editor-background,:root:not([data-theme=light]) .code-editor-container .monaco-editor .inputarea.ime-input,:root:not([data-theme=light]) .code-editor-container .monaco-editor .margin{background-color:#0a0a0a!important}@keyframes monaco-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}:root:not([data-theme=light]) .code-editor-container .monaco-editor .cursor,:root:not([data-theme=light]) .code-editor-container .monaco-editor .cursor-layer .cursor{color:#fff!important;visibility:visible!important;background-color:#fff!important;border-color:#fff!important;width:2px!important;animation:1s step-end infinite monaco-cursor-blink!important}:root[data-theme=light] .code-editor-container .monaco-editor .cursor,:root[data-theme=light] .code-editor-container .monaco-editor .cursor-layer .cursor{color:#000!important;visibility:visible!important;background-color:#000!important;border-color:#000!important;width:2px!important;animation:1s step-end infinite monaco-cursor-blink!important}.code-editor-container .code-loading{text-align:center;color:var(--text-tertiary,#666);padding:20px;font-size:12px}.code-editor-container .code-empty{text-align:center;color:var(--text-tertiary,#666);padding:20px;font-size:12px;font-style:italic}.vm-compact-grid::-webkit-scrollbar{width:4px}.vm-compact-grid::-webkit-scrollbar-track{background:0 0}.vm-compact-grid::-webkit-scrollbar-thumb{background-color:var(--border-primary,#ffffff26);border-radius:2px}.vm-compact-grid::-webkit-scrollbar-thumb:hover{background-color:var(--text-tertiary,#ffffff40)}:root[data-theme=light] .ai-reasoning-text,:root[data-theme=light] .transformation-section-title{color:var(--text-primary)}:root[data-theme=light] .transformation-section-title svg{color:var(--accent-secondary)}:root[data-theme=light] .transform-label{color:var(--text-secondary)}:root[data-theme=light] .transform-code,:root[data-theme=light] .transform-subsection-label{color:var(--text-primary)}:root[data-theme=light] .transform-subsection-header svg,:root[data-theme=light] .transform-subsection-title{color:var(--text-secondary)}:root[data-theme=light] .vm-compact-row{background:var(--bg-primary);border-color:var(--border-primary)}:root[data-theme=light] .vm-compact-row.editable:hover{border-color:var(--text-tertiary)}:root[data-theme=light] .vm-compact-input{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-primary)}:root[data-theme=light] .vm-compact-input:focus{border-color:var(--accent-secondary)}:root[data-theme=light] .vm-compact-input::placeholder{color:var(--text-tertiary)}:root[data-theme=light] .vm-compact-arrow{color:var(--text-secondary)}:root[data-theme=light] .vm-compact-value{background:var(--bg-secondary)}:root[data-theme=light] .vm-value.source{color:#16a34a;font-weight:700}:root[data-theme=light] .vm-value.target{color:#9333ea;font-weight:700}:root[data-theme=light] .vm-label,:root[data-theme=light] .vm-count,:root[data-theme=light] .vm-empty-hint{color:var(--text-secondary)}:root[data-theme=light] .add-vm-btn:hover{background:#0000000d}:root[data-theme=light] .add-vm-btn.icon-only img{filter:none}:root[data-theme=light] .vm-remove-btn{color:var(--text-secondary)}:root[data-theme=light] .vm-remove-btn:hover{color:var(--error);background:#dc35451a}:root[data-theme=light] .code-badge.modified{color:var(--warning);background:var(--warning-bg)}:root[data-theme=light] .code-reset-btn{color:var(--warning);border-color:var(--warning)}:root[data-theme=light] .code-reset-btn:hover{background:var(--warning-bg)}:root[data-theme=light] .code-regenerate-btn:hover:not(:disabled){background:#0000000d}:root[data-theme=light] .code-regenerate-btn img{filter:none}:root[data-theme=light] .code-badge.ai-generated{color:#9333ea;background:#9333ea1a}:root[data-theme=light] .code-editor-container{border-color:var(--border-primary);background:var(--bg-primary)}:root[data-theme=light] .code-editor-container .code-loading,:root[data-theme=light] .code-editor-container .code-empty{color:var(--text-secondary)}:root[data-theme=light] .vm-compact-grid::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}:root[data-theme=light] .vm-compact-grid::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}:root[data-theme=light] .mapping-card{border-color:var(--border-secondary)}:root[data-theme=light] .mapping-card:hover{background:var(--active-bg)}.confidence-slider-row{align-items:center;gap:16px;display:flex}.confidence-slider{-webkit-appearance:none;appearance:none;background:var(--bg-secondary,#2d2d2d);border-radius:3px;outline:none;flex:1;height:6px}.confidence-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;border:2px solid var(--bg-primary,#252526);border-radius:50%;width:16px;height:16px}.confidence-slider.confidence-high::-webkit-slider-thumb{background:#22c55e}.confidence-slider.confidence-medium::-webkit-slider-thumb{background:#eab308}.confidence-slider.confidence-low::-webkit-slider-thumb{background:#ef4444}.confidence-slider-row .confidence-value{text-align:right;min-width:40px;font-size:14px;font-weight:600}.confidence-slider-row .confidence-value.confidence-high{color:#22c55e}.confidence-slider-row .confidence-value.confidence-medium{color:#eab308}.confidence-slider-row .confidence-value.confidence-low{color:#ef4444}.column-select{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;outline:none;padding:6px 10px;font-size:12px;transition:border-color .15s}.column-select:hover:not(:disabled){border-color:var(--border-primary,#555)}.column-select:focus{border-color:var(--info,#61afef)}.edit-field label .required{color:#ef4444;font-weight:600}.edit-field label .optional{color:var(--text-tertiary,#666);text-transform:none;font-size:9px;font-weight:400}.mapping-context-menu{background-color:var(--bg-elevated,#1a1a1a);border:1px solid var(--border-primary,#333);z-index:10001;border-radius:4px;min-width:140px;padding:0;animation:.1s contextMenuFadeIn;position:fixed;box-shadow:0 8px 24px #0000004d}.mapping-context-menu .context-menu-item{width:100%;color:var(--text-primary,#e0e0e0);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background-color .15s;display:flex}.mapping-context-menu .context-menu-item:hover:not(:disabled){background-color:var(--hover-bg,#252525)}.mapping-context-menu .context-menu-item:active{background-color:var(--active-bg,#333)}.mapping-context-menu .context-menu-item:focus{outline:none}.mapping-context-menu .context-menu-item:focus-visible{outline:none}.mapping-context-menu .context-menu-item:disabled{opacity:.5;cursor:not-allowed}.mapping-context-menu .context-menu-item svg,.mapping-context-menu .context-menu-item img{flex-shrink:0}.mapping-context-menu .context-menu-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.mapping-card.mapping-locked{opacity:.85;position:relative;border-color:var(--warning-color,#f59e0b)!important}.mapping-card.mapping-locked:before{content:"";background:var(--warning-color,#f59e0b);opacity:.05;pointer-events:none;border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.mapping-lock-indicator{background:var(--warning-color,#f59e0b);color:#000;z-index:1;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:9px;font-weight:500;display:flex;position:absolute;top:4px;right:4px}.mapping-lock-indicator svg{flex-shrink:0}.mapping-lock-indicator .lock-user{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}:root[data-theme=light] .mapping-card.mapping-locked{background:#f59e0b0d}:root[data-theme=light] .mapping-lock-indicator{background:var(--warning-color,#f59e0b);color:#fff}.source-mappings-section{border:1px solid var(--border-color,#333);background:var(--bg-primary,#1e1e1e);border-radius:4px;margin-top:8px}.source-mappings-header{color:var(--text-secondary,#999);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:500;display:flex}.source-mappings-header:hover{color:var(--text-primary,#fff)}.source-mappings-header .mappings-count{color:var(--text-tertiary,#666);font-size:9px}.source-mappings-content{border-top:1px solid var(--border-color,#333);padding:8px}.source-mappings-content .add-vm-btn.small{margin-bottom:6px;padding:2px 6px;font-size:10px}.source-mappings-content .add-vm-btn.small img{width:10px;height:10px}.vm-compact-grid.per-source{max-height:120px}.vm-compact-grid.per-source .vm-compact-row{padding:4px 6px;font-size:10px}.vm-compact-grid.per-source .vm-compact-input{min-width:30px;padding:2px 4px;font-size:10px}.vm-compact-grid.per-source .vm-remove-btn{padding:2px}.vm-empty-hint.small{padding:4px 0;font-size:10px}.aggregation-strategy-section{margin-top:8px}.aggregation-strategy-editor{flex-direction:column;gap:8px;display:flex}.aggregation-strategy-select{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);width:100%;color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;outline:none;padding:6px 10px;font-size:12px}.aggregation-strategy-select:hover{border-color:var(--border-primary,#555)}.aggregation-strategy-select:focus{border-color:var(--info,#61afef)}.primary-source-selector{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#333);border-radius:4px;flex-direction:column;gap:4px;padding:8px;display:flex}.primary-source-selector label{color:var(--text-secondary,#999);text-transform:uppercase;font-size:10px;font-weight:600}.primary-source-select{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;outline:none;padding:6px 10px;font-size:11px}.primary-source-select:hover{border-color:var(--border-primary,#555)}.aggregation-strategy-display{color:var(--text-primary,#fff);padding:4px 0;font-size:12px}.aggregation-strategy-display .strategy-value{color:var(--info,#61afef)}.aggregation-strategy-display .primary-source-info{color:var(--text-secondary,#999);font-size:11px}:root[data-theme=light] .source-mappings-section{background:var(--bg-secondary);border-color:var(--border-secondary)}:root[data-theme=light] .source-mappings-header{color:var(--text-secondary)}:root[data-theme=light] .source-mappings-header:hover{color:var(--text-primary)}:root[data-theme=light] .aggregation-strategy-select,:root[data-theme=light] .primary-source-select{background:var(--bg-primary);border-color:var(--border-secondary);color:var(--text-primary)}:root[data-theme=light] .primary-source-selector{background:var(--bg-secondary);border-color:var(--border-secondary)}.transformation-panel{flex-direction:column;gap:12px;height:100%;padding:16px;display:flex;overflow:hidden}.transformation-section{background:var(--bg-primary);border-radius:2px;flex-direction:column;flex-shrink:0;gap:8px;padding-top:4px;transition:all .15s;display:flex}.transformation-section h4{color:var(--text-secondary);margin:0;padding:0 4px;font-size:12px;font-weight:500}.transformation-panel .source-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.transformation-panel .source-list::-webkit-scrollbar{width:6px}.transformation-panel .source-list::-webkit-scrollbar-track{background:0 0}.transformation-panel .source-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#444);border-radius:3px}.transformation-panel .source-item{background:var(--bg-primary);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:4px;transition:all .15s;display:flex}.transformation-panel .source-item:hover{background:var(--hover-bg,#2a2a2a)}.transformation-panel .source-item.source-item-clickable{cursor:pointer}.transformation-panel .source-item.selected,.transformation-panel .source-item.source-selected{background:#3b82f61a;border-color:#3b82f64d}.transformation-panel .source-item .item-icon{flex-shrink:0;width:16px;height:16px}.transformation-panel .source-item .item-icon.user-generated{filter:invert(58%)sepia(58%)saturate(1324%)hue-rotate(178deg)brightness(99%)contrast(91%)}.transformation-panel .source-item .source-name{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.transformation-panel .source-item .source-meta{color:var(--text-tertiary,#888);white-space:nowrap;font-size:10px}:root[data-theme=light] .transformation-panel .source-item:hover{background:var(--hover-bg,#f5f5f5)}.loading-datasets{color:var(--text-secondary,#aaa);align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.loading-datasets .loading-spinner{border:2px solid var(--border-color,#444);border-top-color:var(--accent-primary,#3b82f6);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.output-name{flex-direction:column;flex-shrink:0;gap:6px;width:100%;max-width:100%;display:flex}.output-name label{color:var(--text-secondary,#aaa);font-size:12px;font-weight:500}.output-name input{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);width:100%;max-width:100%;color:var(--text-primary,#fff);box-sizing:border-box;border-radius:4px;outline:none;padding:8px 12px;font-size:13px;transition:all .2s}.output-name input:hover{border-color:var(--accent-primary,#3b82f6)}.output-name input:focus{border-color:var(--accent-primary,#3b82f6);background:var(--bg-secondary,#2d2d2d);outline:none}.output-name input::placeholder{color:var(--text-tertiary,#666);font-style:italic}.transformation-summary{background:0 0;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:4px;display:grid}.summary-item{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:3px;flex-direction:column;gap:2px;padding:6px 8px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.summary-item:before{content:"";opacity:.4;background:currentColor;width:100%;height:2px;position:absolute;top:0;left:0}.summary-item:hover{border-color:var(--border-primary,#555)}.summary-item .label{color:var(--text-secondary,#999);text-transform:uppercase;letter-spacing:.2px;font-size:8px;font-weight:500}.summary-item .value{color:var(--text-primary,#fff);font-size:14px;font-weight:700;line-height:1}.summary-item .value.direct{color:#22c55e}.summary-item .value.derived{color:#3b82f6}.summary-item .value.aggregated{color:#f97316}.summary-item .value.composite{color:#a855f7}.summary-item .value.unmapped{color:#ef4444}.script-preview{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.script-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.script-header h4{color:var(--text-secondary,#aaa);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:12px;font-weight:600}.preview-btn{background:var(--accent-primary,#3b82f6);border:1px solid var(--accent-primary,#3b82f6);color:#fff;cursor:pointer;border-radius:6px;outline:none;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.preview-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.preview-btn:active:not(:disabled){transform:translateY(0)}.preview-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.script-container{border:1px solid var(--border-color,#444);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;background:#0d1117;border-radius:4px;max-height:250px;position:relative;overflow:auto}.script-container::-webkit-scrollbar{width:6px;height:6px}.script-container::-webkit-scrollbar-track{background:0 0}.script-container::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.script-container pre{color:#e6edf3;white-space:pre-wrap;word-break:break-all;margin:0;padding:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.6}.copy-btn{border:1px solid var(--border-color,#444);color:var(--text-secondary,#888);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161b22f2;border-radius:5px;padding:6px 10px;font-size:11px;font-weight:500;transition:all .2s;position:absolute;top:10px;right:10px}.copy-btn:hover{color:var(--text-primary,#fff);border-color:var(--accent-primary,#3b82f6);background:#2d3748f2}.copy-btn.copied{color:#22c55e;background:#22c55e26;border-color:#22c55e}.transformation-actions{border-top:1px solid var(--border-color,#444);gap:12px;margin-top:8px;padding:20px 16px 16px;display:flex}.apply-btn{background:linear-gradient(135deg,var(--accent-primary,#3b82f6)0%,#2563eb 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;outline:none;flex:1;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #3b82f640}.apply-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.apply-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.apply-btn:hover:not(:disabled):before{left:100%}.apply-btn:active:not(:disabled){transform:translateY(0)}.apply-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.apply-btn.loading{pointer-events:none;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%)}.apply-btn .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.transformation-progress{background:var(--bg-secondary,#2d2d2d);border-radius:4px;flex-direction:column;gap:8px;padding:16px;display:flex}.progress-message{color:var(--text-secondary,#ccc);font-size:13px}.progress-bar{background:var(--border-color,#444);border-radius:2px;height:4px;overflow:hidden}.progress-bar-fill{background:var(--accent-color,#007acc);border-radius:2px;height:100%;transition:width .3s}.transformation-result{background:linear-gradient(135deg,#22c55e1f 0%,#10b98114 100%);border:1px solid #22c55e4d;border-radius:8px;flex-direction:column;gap:16px;padding:20px;animation:.4s ease-out successSlideIn;display:flex;box-shadow:0 4px 12px #22c55e26}@keyframes successSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-header{border-bottom:1px solid #22c55e33;align-items:center;gap:10px;padding-bottom:12px;display:flex}.result-header .success-icon{color:#22c55e;width:24px;height:24px;animation:.6s ease-out successPulse}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.result-header h4{color:#22c55e;letter-spacing:.2px;margin:0;font-size:16px;font-weight:700}.result-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.result-stat{background:#00000026;border:1px solid #22c55e26;border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.result-stat .label{color:var(--text-secondary,#999);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500}.result-stat .value{color:var(--text-primary,#fff);font-size:18px;font-weight:700;line-height:1}.result-actions{gap:8px;padding-top:8px;display:flex}.result-btn{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .2s}.result-btn:hover{background:var(--bg-hover,#3a3a3a);border-color:var(--accent-color,#007acc)}.transformation-error{background:linear-gradient(135deg,#ef44441f 0%,#dc262614 100%);border:1px solid #ef444459;border-radius:6px;align-items:flex-start;gap:12px;padding:14px 16px;animation:.4s ease-out errorShake;display:flex}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.transformation-error .error-icon{color:#ef4444;flex-shrink:0;width:18px;height:18px;margin-top:1px}.transformation-error .error-message{color:#fca5a5;font-size:13px;font-weight:500;line-height:1.5}.no-source-warning{color:#fbbf24;text-align:center;background:linear-gradient(135deg,#f59e0b1f 0%,#d9770614 100%);border:1px solid #f59e0b59;border-radius:6px;padding:18px;font-size:13px;font-weight:500;line-height:1.6}.missing-values-info{background:#3b82f60f;border-left:3px solid #3b82f6;border-radius:6px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.missing-values-info h5{color:#60a5fa;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:11px;font-weight:700}.missing-values-info p{color:var(--text-secondary,#ccc);margin:0;font-size:13px;line-height:1.5}.missing-codes-list{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.missing-code-tag{color:#2196f3;background:#2196f333;border-radius:3px;padding:2px 8px;font-family:monospace;font-size:11px}.result-download{border-top:1px solid #22c55e33;align-items:center;gap:12px;margin-top:4px;padding-top:16px;display:flex}.download-label{color:var(--text-secondary,#ccc);font-size:12px;font-weight:500}.download-buttons{flex-wrap:wrap;gap:8px;display:flex}.download-btn{color:#22c55e;cursor:pointer;background:#0003;border:1px solid #22c55e4d;border-radius:6px;outline:none;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s}.download-btn:hover:not(:disabled){background:#22c55e26;border-color:#22c55e;transform:translateY(-1px);box-shadow:0 4px 8px #22c55e33}.download-btn:active:not(:disabled){transform:translateY(0)}.download-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.result-errors{background:#ef44441f;border:1px solid #ef44444d;border-radius:6px;flex-direction:column;gap:10px;padding:14px;display:flex}.result-errors .label{color:#ef4444;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.result-errors ul{margin:0;padding-left:20px}.result-errors li{color:#fca5a5;margin-bottom:4px;font-size:12px;font-weight:500;line-height:1.6}.result-errors li:last-child{margin-bottom:0}.transformation-history-section{flex-shrink:0;margin-bottom:8px;padding:0}.transformation-history-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;gap:8px;max-height:200px;padding:2px;display:flex;overflow-y:auto}.transformation-history-list::-webkit-scrollbar{width:6px}.transformation-history-list::-webkit-scrollbar-track{background:0 0}.transformation-history-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.history-entry{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);cursor:pointer;border-left:3px solid #0000;border-radius:6px;padding:14px;transition:all .25s;position:relative}.history-entry:before{content:"";background:var(--accent-primary,#3b82f6);opacity:0;width:3px;transition:opacity .25s;position:absolute;top:0;bottom:0;left:-3px}.history-entry:hover{background:var(--bg-secondary,#2d2d2d);border-color:var(--accent-primary,#3b82f6);transform:translate(2px)}.history-entry:hover:before{opacity:1}.history-entry.selected{border-color:var(--accent-primary,#3b82f6);background:#3b82f61f;box-shadow:0 4px 12px #3b82f626}.history-entry.selected:before{opacity:1}.history-entry-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.history-entry-name{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.history-entry-date{color:var(--text-tertiary,#777);white-space:nowrap;font-size:10px;font-weight:500}.history-entry-details{flex-wrap:wrap;gap:10px;display:flex}.history-detail{background:#ffffff08;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.history-detail .detail-label{color:var(--text-tertiary,#888);font-weight:500}.history-detail .detail-value{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-weight:600;overflow:hidden}.history-detail.errors{background:#ef44441f}.history-detail.errors .detail-value{color:#ef4444}.history-detail.fixed{background:#f59e0b1f}.history-detail.fixed .detail-value{color:#f59e0b}.history-detail-section{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:8px;padding:18px;box-shadow:0 4px 12px #0003}.history-detail-header{border-bottom:1px solid var(--border-color,#444);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.history-detail-header h4{color:var(--text-primary,#fff);text-transform:uppercase;letter-spacing:.3px;margin:0;font-size:13px;font-weight:600}.close-detail-btn{border:1px solid var(--border-color,#444);width:28px;height:28px;color:var(--text-secondary,#888);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:all .2s;display:flex}.close-detail-btn:hover{background:var(--bg-secondary,#2d2d2d);color:var(--text-primary,#fff);border-color:var(--accent-primary,#3b82f6);transform:rotate(90deg)}.history-detail-content{flex-direction:column;gap:14px;display:flex}.detail-row{align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.detail-row .detail-label{color:var(--text-secondary,#999);min-width:110px;font-weight:500}.detail-row .detail-value{color:var(--text-primary,#fff);font-weight:600}.detail-stats{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;padding:16px;display:grid}.stat-item{background:#3b82f60d;border-radius:6px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex}.stat-item .stat-value{color:var(--text-primary,#fff);font-size:22px;font-weight:700;line-height:1}.stat-item .stat-label{color:var(--text-secondary,#999);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500}.history-errors,.history-fixed{border-radius:4px;flex-direction:column;gap:6px;padding:10px;display:flex}.history-errors{background:#f443361a;border:1px solid #f443364d}.history-fixed{background:#ff98001a;border:1px solid #ff98004d}.history-errors .errors-label{color:#f44336;font-size:12px;font-weight:600}.history-fixed .fixed-label{color:#ff9800;font-size:12px;font-weight:600}.history-errors ul,.history-fixed ul{margin:0;padding-left:20px}.history-errors li,.history-fixed li{color:var(--text-secondary,#ccc);font-size:12px;line-height:1.5}:root[data-theme=light] .transformation-section{background:var(--bg-secondary,#f5f5f5);border-color:var(--border-color,#ddd)}:root[data-theme=light] .transformation-section:hover{border-color:var(--border-primary,#ccc)}:root[data-theme=light] .source-item{background:var(--bg-primary,#fff);color:var(--text-primary,#333);border-color:#0000}:root[data-theme=light] .source-item.selected,:root[data-theme=light] .source-item.source-selected{background:#3b82f614;border-color:#3b82f633}:root[data-theme=light] .output-name input{background:var(--bg-primary,#fff);border-color:var(--border-color,#ddd);color:var(--text-primary,#333)}:root[data-theme=light] .output-name input:hover{background:var(--bg-secondary,#f5f5f5)}:root[data-theme=light] .summary-item{background:var(--bg-primary,#fff);border-color:var(--border-color,#ddd)}:root[data-theme=light] .script-container{border-color:var(--border-color,#ddd);background:#f6f8fa}:root[data-theme=light] .script-container pre{color:#24292f}:root[data-theme=light] .copy-btn{border-color:var(--border-color,#ddd);color:var(--text-secondary,#666);background:#fffffff2}:root[data-theme=light] .copy-btn:hover{background:var(--bg-secondary,#f5f5f5)}:root[data-theme=light] .history-entry{background:var(--bg-primary,#fff);border-color:var(--border-color,#ddd)}:root[data-theme=light] .history-entry:hover{background:var(--bg-secondary,#f5f5f5)}:root[data-theme=light] .history-entry.selected{border-color:var(--accent-primary,#3b82f6);background:#3b82f614}:root[data-theme=light] .history-detail-section{background:var(--bg-primary,#fff);border-color:var(--border-color,#ddd);box-shadow:0 4px 12px #0000001a}:root[data-theme=light] .detail-stats{background:var(--bg-secondary,#f5f5f5);border-color:var(--border-color,#ddd)}.transformation-step{flex-direction:column;gap:20px;height:100%;display:flex;overflow:hidden}.step-description{border-bottom:1px solid var(--border-color,#444);flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.step-description h3{color:var(--text-primary,#fff);margin:0;font-size:16px;font-weight:600}.step-description p{color:var(--text-secondary,#ccc);margin:0;font-size:13px;line-height:1.5}.report-step{flex-direction:column;gap:20px;display:flex}.report-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-header h3{color:var(--text-primary,#fff);margin:0;font-size:16px;font-weight:600}.export-buttons{gap:8px;display:flex}.export-btn{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .2s}.export-btn:hover:not(:disabled){background:var(--bg-hover,#3a3a3a);border-color:var(--accent-color,#007acc)}.report-stats{background:var(--bg-secondary,#2d2d2d);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:16px;display:grid}.stat-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.stat-row .stat-label{color:var(--text-secondary,#888);font-size:12px}.stat-row .stat-value{color:var(--text-primary,#fff);font-size:14px;font-weight:600}.stat-row .stat-value.high{color:#4caf50}.stat-row .stat-value.medium{color:#ffc107}.stat-row .stat-value.low{color:#ff9800}.stat-row .stat-value.unmapped{color:#888}.stat-row.highlight{border-top:1px solid var(--border-color,#444);padding-top:12px}.stat-row.highlight .stat-value{color:var(--accent-color,#007acc);font-size:18px}.report-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;gap:20px;max-height:300px;padding-right:8px;display:flex;overflow-y:auto}.report-content::-webkit-scrollbar{width:6px}.report-content::-webkit-scrollbar-track{background:0 0}.report-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.report-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.report-section h4{color:var(--text-primary,#fff);margin:0 0 8px;font-size:14px;font-weight:600}.report-section p{color:var(--text-secondary,#ccc);margin:0;font-size:13px;line-height:1.5}.findings-list,.recommendations-list{margin:0;padding-left:20px}.findings-list li,.recommendations-list li{color:var(--text-secondary,#ccc);margin-bottom:4px;font-size:13px;line-height:1.6}.report-footer{border-top:1px solid var(--border-color,#444);padding-top:12px}.generated-at{color:var(--text-secondary,#888);font-size:11px}.comparison-progress{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-width:300px;padding:40px 24px;display:flex}.spinner-container{justify-content:center;align-items:center;display:flex}.spinner{border:3px solid var(--bg-secondary,#2d2d2d);border-top-color:var(--accent-color,#007acc);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.progress-status{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.status-label{color:var(--text-primary,#fff);font-size:15px;font-weight:600}.status-message{color:var(--text-secondary,#888);max-width:350px;font-size:13px;line-height:1.4}.harmonization-wizard-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.harmonization-wizard{background:var(--bg-primary,#252526);border:1px solid var(--border-color,#444);border-radius:8px;flex-direction:column;width:90%;max-width:1000px;max-height:85vh;display:flex;box-shadow:0 8px 32px #0006;container:wizard/inline-size}.harmonization-wizard.inline{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border:none;border-radius:0}.wizard-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-secondary,#ffffff14);flex-shrink:0;align-items:center;min-width:0;padding:4px 6px;display:flex}.wizard-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:visible}.wizard-header h2{color:var(--text-primary);flex-shrink:0;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.wizard-title-text{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.wizard-comparison-name{color:var(--text-secondary);border-left:1px solid var(--border-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding-left:12px;font-size:13px;font-weight:500;overflow:hidden}.wizard-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}@container wizard (width<=450px){.wizard-comparison-name{display:none}}@container wizard (width<=350px){.wizard-header-badge,.wizard-header-actions{display:none}}.header-action-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 4px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.header-action-btn:hover:not(:disabled){color:var(--text-primary)}.header-action-btn:disabled{opacity:.4;cursor:not-allowed}.header-action-btn:focus{box-shadow:none!important;outline:none!important}.header-action-btn:focus-visible{box-shadow:none!important;outline:none!important}.header-action-btn.primary-btn{border:2px solid var(--accent-primary);color:var(--accent-primary);opacity:.85;background:0 0}.header-action-btn.primary-btn:hover:not(:disabled){opacity:1;background-color:var(--accent-primary);color:#fff}.header-action-btn.primary-btn:disabled{background:var(--bg-secondary,#2d2d2d);border-color:var(--border-color,#444);color:var(--text-tertiary,#666);opacity:.6}:root[data-theme=light] .header-action-btn.primary-btn{opacity:1;font-weight:600}:root[data-theme=light] .header-action-btn.primary-btn:disabled{background:var(--bg-tertiary,#e5e5e5);border-color:var(--border-color,#ccc);color:var(--text-tertiary,#999)}:root[data-theme=light] .header-action-btn.primary-btn:hover:not(:disabled){background-color:var(--accent-primary);color:#fff}.header-action-btn.stop-btn{background:var(--error-color,#dc3545);border:2px solid var(--error-color,#dc3545);color:#fff;align-items:center;gap:6px;animation:1.5s ease-in-out infinite pulse-stop;display:flex}.header-action-btn.stop-btn:hover{background:#c82333;border-color:#c82333}.header-action-btn.stop-btn svg{flex-shrink:0}@keyframes pulse-stop{0%,to{opacity:1}50%{opacity:.8}}:root[data-theme=light] .header-action-btn.stop-btn{background:var(--error-color,#dc3545);border-color:var(--error-color,#dc3545);color:#fff}:root[data-theme=light] .header-action-btn.stop-btn:hover{background:#c82333;border-color:#c82333}.header-icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:color .2s;display:flex;outline:none!important}.header-icon-btn img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}:root[data-theme=light] .header-icon-btn img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.header-icon-btn:hover img{filter:brightness(0)saturate()invert()sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .header-icon-btn:hover img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.header-icon-btn:hover{color:var(--text-primary)}.header-icon-btn.active{background-color:var(--selected-bg)}.header-icon-btn.active img{filter:brightness(0)saturate()invert()sepia(0%)saturate(0%)hue-rotate()brightness(120%)contrast()}:root[data-theme=light] .header-icon-btn.active img{filter:brightness(0)saturate()invert(0%)sepia(0%)saturate(0%)hue-rotate()brightness(0%)contrast()}.header-icon-btn:focus{box-shadow:none!important;outline:none!important}.header-icon-btn:focus-visible{box-shadow:none!important;outline:none!important}.header-icon-btn:disabled{opacity:.3;cursor:not-allowed}.header-icon-btn.locked{color:var(--warning-color,#f59e0b);opacity:.8}.header-icon-btn.locked svg{stroke:var(--warning-color,#f59e0b)}.header-icon-btn.has-changes img{filter:brightness(0)saturate()invert(65%)sepia(52%)saturate(5765%)hue-rotate(106deg)brightness(92%)contrast(82%)}.header-icon-btn.has-changes:hover img{filter:brightness(0)saturate()invert(75%)sepia(52%)saturate(5765%)hue-rotate(106deg)brightness()contrast(82%)}.header-icon-btn.spinning img{animation:1s linear infinite icon-spin}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-icon-btn.delete-btn:hover img,:root[data-theme=light] .header-icon-btn.delete-btn:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.header-icon-btn.update-mappings-btn{color:var(--accent-primary,#3b82f6)}.header-icon-btn.update-mappings-btn svg{stroke:var(--accent-primary,#3b82f6)}.header-icon-btn.update-mappings-btn:hover{background:var(--bg-tertiary,#ffffff1a)}.header-icon-btn.update-mappings-btn.loading{opacity:.7;pointer-events:none}.header-icon-btn.update-mappings-btn .btn-spinner{border:2px solid #0000;border-top-color:var(--accent-primary,#3b82f6);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.changes-button-container{position:relative}.changes-context-menu{z-index:1000;background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:6px;min-width:150px;padding:4px;position:fixed;box-shadow:0 4px 12px #0000004d}.changes-context-menu button{width:100%;color:var(--text-primary,#fff);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 12px;font-size:13px;display:block}.changes-context-menu button:hover{background:var(--bg-secondary,#2d2d2d)}:root[data-theme=light] .changes-context-menu{background:var(--bg-primary,#fff);box-shadow:0 4px 12px #00000026}:root[data-theme=light] .changes-context-menu button:hover{background:var(--bg-secondary,#f5f5f5)}.update-feedback-toast{z-index:100;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;animation:.3s ease-out slideDown;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.update-feedback-toast.success{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.update-feedback-toast.info{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.update-feedback-toast.warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.update-feedback-toast .feedback-message{flex:1}.update-feedback-toast .feedback-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 4px;font-size:16px}.update-feedback-toast .feedback-close:hover{opacity:1}:root[data-theme=light] .update-feedback-toast.success{color:#16a34a;background:#22c55e1a}:root[data-theme=light] .update-feedback-toast.info{color:#2563eb;background:#3b82f61a}:root[data-theme=light] .update-feedback-toast.warning{color:#d97706;background:#f59e0b1a}.header-action-btn.save-btn{color:#22c55e;background:#22c55e26;border-color:#22c55e4d}.header-action-btn.save-btn:hover:not(:disabled){background:#22c55e40}.header-action-btn.save-btn:disabled{background:var(--bg-secondary,#2d2d2d);color:var(--text-tertiary,#555);border-color:var(--border-color,#444)}.header-action-btn.regenerate-btn{color:var(--text-secondary);background:0 0}.header-action-btn.regenerate-btn:hover:not(:disabled){color:var(--text-primary)}.header-action-btn .btn-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.wizard-back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;transition:color .15s;display:flex}.wizard-back-btn:hover{color:var(--text-primary)}.wizard-back-btn:focus{outline:none}.wizard-back-btn:focus-visible{outline:none}.wizard-back-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.wizard-step-indicator{color:var(--accent-primary);background-color:var(--highlight-bg);white-space:nowrap;border-radius:4px;padding:2px 4px;font-size:12px;font-weight:500}.wizard-header-badge{border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:600}.wizard-header-badge.source-badge{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.wizard-header-badge.target-badge{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.wizard-header-badge.mapping-type-badge.direct{color:#3b82f6;background:#3b82f626}.wizard-header-badge.mapping-type-badge.derived{color:#a855f7;background:#a855f726}.wizard-header-badge.mapping-type-badge.aggregated{color:#f97316;background:#f9731626}.wizard-header-badge.mapping-type-badge.composite{color:#eab308;background:#eab30826}.wizard-content{background-color:var(--bg-primary);flex:1;min-height:0;position:relative;overflow:hidden auto}.wizard-content::-webkit-scrollbar{width:7px;height:7px}.wizard-content::-webkit-scrollbar-track{background:var(--bg-primary);border:none}.wizard-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.wizard-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.wizard-content.no-scroll{flex-direction:column;padding:0;display:flex;overflow:hidden}.wizard-error{border:1px solid var(--error-color,#ff6b6b);color:var(--error-color,#ff6b6b);background:#ff6b6b1a;border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:14px}.wizard-loading-overlay{z-index:10;background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.wizard-loading-overlay .loading-spinner{border:3px solid var(--border-color,#444);border-top-color:var(--accent-color,#007acc);border-radius:50%;width:40px;height:40px;animation:1s linear infinite wizard-spin}.wizard-loading-overlay span{color:var(--text-primary,#fff);font-size:14px}@keyframes wizard-spin{to{transform:rotate(360deg)}}.history-step{flex-direction:column;height:100%;padding:0;display:flex}.history-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-secondary,#ffffff14);justify-content:space-between;align-items:center;padding:4px 6px;display:flex}.history-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.new-comparison-btn{border:2px solid var(--accent-primary);color:var(--accent-primary);cursor:pointer;background:0 0;border-radius:4px;outline:none;align-items:center;gap:6px;padding:2px 4px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.new-comparison-btn:hover{opacity:1;background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.new-comparison-btn:focus{box-shadow:none!important;outline:none!important}.new-comparison-btn:focus-visible{box-shadow:none!important;outline:none!important}.new-comparison-btn svg{width:12px;height:12px}.history-loading{color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.history-loading .loading-spinner{border:3px solid var(--border-color,#444);border-top-color:var(--accent-color,#007acc);border-radius:50%;width:32px;height:32px;animation:1s linear infinite wizard-spin}.history-empty{color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.history-empty p{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.history-empty-hint{font-size:12px;color:var(--text-secondary)!important;margin-top:4px!important;font-weight:400!important}.history-empty .new-comparison-btn{margin-top:16px}.history-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-direction:column;flex:1;gap:8px;padding:6px;display:flex;overflow-y:auto}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:0 0}.history-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.history-card{background:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;border-radius:4px;padding:6px;transition:all .15s}.history-card:hover{background:var(--bg-hover,#333)}:root[data-theme=light] .history-card:hover{background:var(--active-bg)}.history-card-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.history-card-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;cursor:default;flex:1;margin:0;font-size:13px;font-weight:500;overflow:hidden}.history-card-v2 .history-card-title{cursor:text}.history-card-rename-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;margin:0;font-size:13px;font-weight:500}.history-card-rename-input:focus{border-color:var(--text-secondary)}.history-badge-v2{color:#a855f7;background:#a855f726;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.history-badge-schema{color:#3b82f6;background:#3b82f626;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.history-card-schema{border-left:2px solid #3b82f6}.history-card-v2{border-left:2px solid #a855f7}.history-card-variables svg{color:#3b82f6;opacity:.7}.history-status{background:var(--bg-tertiary,#383838);color:var(--text-secondary,#888);border-radius:4px;padding:2px 6px;font-size:11px}.history-status.draft{color:#eab308;background:#eab30826}.history-status.finalized{color:#22c55e;background:#22c55e26}.history-card-meta{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:4px;font-size:11px;display:flex}.history-card-meta span{align-items:center;gap:4px;display:flex}.history-card-meta svg{opacity:.5;width:12px;height:12px}.history-card-target svg{color:var(--text-secondary);opacity:.7}.history-card-footer{justify-content:space-between;align-items:center;display:flex}.history-card-date{color:var(--text-tertiary);font-size:10px}.history-card-actions{opacity:0;align-items:center;gap:4px;transition:opacity .2s;display:flex}.history-card:hover .history-card-actions{opacity:1}.history-card-action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:background .2s;display:flex}.history-card-action-btn img{filter:brightness(0)saturate()invert(60%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}.history-card-action-btn:hover img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.history-card-action-btn.delete-btn:hover{background:#ef44441a}.history-card-action-btn.delete-btn:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}:root[data-theme=light] .history-card-action-btn img{filter:brightness(0)saturate()invert(40%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .history-card-action-btn:hover img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .history-card-action-btn.delete-btn:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.history-export-container{position:relative}.history-export-dropdown{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);z-index:100;border-radius:6px;min-width:140px;margin-bottom:4px;position:absolute;bottom:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000004d}.history-export-dropdown button{width:100%;color:var(--text-primary,#e0e0e0);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:12px;transition:background .15s;display:block}.history-export-dropdown button:hover{background:var(--bg-tertiary)}.history-export-dropdown button:not(:last-child){border-bottom:1px solid var(--border-color,#444)}.history-export-dropdown.dropdown-down{margin-top:4px;margin-bottom:0;top:100%;bottom:auto}.export-button-container{position:relative}.export-dropdown{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);z-index:100;border-radius:6px;min-width:150px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000004d}.export-dropdown button{width:100%;color:var(--text-primary,#e0e0e0);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;transition:background .15s;display:block}.export-dropdown button:hover{background:var(--selected-bg,#ffffff1a)}.export-dropdown button:focus{box-shadow:none!important;outline:none!important}.export-dropdown button:focus-visible{box-shadow:none!important;outline:none!important}.export-dropdown button:not(:last-child){border-bottom:1px solid var(--border-secondary,#ffffff14)}:root[data-theme=light] .export-dropdown{background:var(--bg-secondary,#f5f5f5);border-color:var(--border-color,#ddd);box-shadow:0 4px 16px #00000026}:root[data-theme=light] .export-dropdown button{color:var(--text-primary,#333)}:root[data-theme=light] .export-dropdown button:hover{background:var(--selected-bg,#0000000d)}.harmonization-panel{background:var(--bg-primary);border-right:1px solid var(--border-color);flex-direction:column;height:100%;display:flex}.harmonization-panel-header{border-bottom:1px solid var(--border-secondary,#ffffff14);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.harmonization-panel-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.harmonization-panel-title svg{color:var(--accent-color)}.harmonization-panel-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.harmonization-panel-close:hover{background:var(--hover-bg);color:var(--text-primary)}.harmonization-panel-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;padding:16px;overflow-y:auto}.harmonization-panel-content::-webkit-scrollbar{width:6px}.harmonization-panel-content::-webkit-scrollbar-track{background:0 0}.harmonization-panel-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.harmonization-panel-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.harmonization-new-btn{border:2px dashed var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.harmonization-new-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:var(--accent-color-faint)}.harmonization-error{background:var(--error-bg);color:var(--error-color);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;font-size:13px;display:flex}.harmonization-error button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:16px}.harmonization-error button:hover{background:#ffffff1a}.harmonization-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 16px;font-size:14px;display:flex}.harmonization-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 16px;display:flex}.harmonization-empty svg{color:var(--text-tertiary);margin-bottom:16px}.harmonization-empty p{color:var(--text-secondary);margin:0;font-size:14px}.harmonization-empty-cta{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:12px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s}.harmonization-empty-cta:hover{background:var(--accent-color-hover,#2563eb);transform:translateY(-1px)}.harmonization-list{flex-direction:column;gap:12px;display:flex}.harmonization-card{border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;border-radius:8px;padding:14px;transition:all .15s}.harmonization-card:hover{border-color:var(--accent-color);box-shadow:0 2px 8px #00000014}.harmonization-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.harmonization-card-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:600;line-height:1.3}.harmonization-status{text-transform:capitalize;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.harmonization-status.draft{background:var(--warning-bg);color:var(--warning-color)}.harmonization-status.finalized{background:var(--success-bg);color:var(--success-color)}.harmonization-card-meta{flex-wrap:wrap;gap:12px;margin-bottom:10px;display:flex}.harmonization-card-datasets,.harmonization-card-documents,.harmonization-card-mappings{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.harmonization-card-datasets svg,.harmonization-card-documents svg,.harmonization-card-mappings svg{color:var(--text-tertiary)}.harmonization-card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.harmonization-card-date{color:var(--text-tertiary);font-size:12px}.harmonization-card-delete{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.harmonization-card-delete:hover{background:var(--error-bg);color:var(--error-color)}.harmonization-card-v2{border-left:3px solid var(--accent-color)}.harmonization-badge-v2{background:var(--accent-color-faint,#3b82f61a);color:var(--accent-color);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.harmonization-card-target,.harmonization-card-sources{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.harmonization-card-target svg,.harmonization-card-sources svg{color:var(--text-tertiary)}.harmonization-card-target{color:var(--accent-color);font-weight:500}.harmonization-report-viewer{background:var(--bg-primary,#252526);border:1px solid var(--border-color,#444);border-radius:8px;flex-direction:column;max-height:80vh;display:flex;overflow:hidden}.report-viewer-header{border-bottom:1px solid var(--border-color,#444);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.report-viewer-header h2{color:var(--text-primary,#fff);margin:0;font-size:18px;font-weight:600}.header-actions{gap:8px;display:flex}.header-actions button{cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .2s}.export-btn{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);color:var(--text-primary,#fff)}.export-btn:hover:not(:disabled){border-color:var(--accent-color,#007acc)}.export-btn:disabled{opacity:.5;cursor:not-allowed}.copy-btn{background:var(--accent-color,#007acc);color:#fff;border:none}.copy-btn:hover{background:var(--accent-hover,#0098ff)}.close-btn{color:var(--text-secondary,#888);background:0 0;border:none;padding:0 8px;font-size:20px}.close-btn:hover{color:var(--text-primary,#fff)}.report-viewer-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;grid-template-columns:280px 1fr;gap:24px;padding:20px;display:grid;overflow:auto}.report-viewer-content::-webkit-scrollbar{width:6px;height:6px}.report-viewer-content::-webkit-scrollbar-track{background:0 0}.report-viewer-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.report-viewer-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}@media (max-width:768px){.report-viewer-content{grid-template-columns:1fr}}.statistics-panel{background:var(--bg-secondary,#2d2d2d);border-radius:4px;height:-moz-fit-content;height:fit-content;padding:16px}.statistics-panel h3{color:var(--text-primary,#fff);margin:0 0 16px;font-size:14px;font-weight:600}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.stat-box{background:var(--bg-tertiary,#1e1e1e);border-radius:4px;flex-direction:column;align-items:center;padding:12px 8px;display:flex}.stat-box .stat-number{color:var(--text-primary,#fff);font-size:20px;font-weight:700}.stat-box .stat-label{color:var(--text-secondary,#888);text-transform:uppercase;font-size:10px}.stat-box.highlight .stat-number{color:var(--accent-color,#007acc)}.confidence-breakdown{flex-direction:column;gap:8px;display:flex}.confidence-row{align-items:center;gap:8px;display:flex}.confidence-row .confidence-label{width:50px;color:var(--text-secondary,#888);font-size:11px}.confidence-bar{background:var(--bg-tertiary,#1e1e1e);border-radius:4px;flex:1;height:8px;overflow:hidden}.confidence-fill{border-radius:4px;height:100%;transition:width .3s}.confidence-row.high .confidence-fill{background:#4caf50}.confidence-row.medium .confidence-fill{background:#ffc107}.confidence-row.low .confidence-fill{background:#ff9800}.confidence-row .confidence-count{text-align:right;width:30px;color:var(--text-primary,#fff);font-size:12px;font-weight:600}.report-body{flex-direction:column;gap:20px;display:flex}.report-body section h3{color:var(--text-primary,#fff);margin:0 0 8px;font-size:14px;font-weight:600}.report-body section p{color:var(--text-secondary,#ccc);margin:0;font-size:13px;line-height:1.6}.report-body section ul{margin:0;padding-left:20px}.report-body section li{color:var(--text-secondary,#ccc);margin-bottom:4px;font-size:13px;line-height:1.6}.report-viewer-footer{border-top:1px solid var(--border-color,#444);color:var(--text-secondary,#888);padding:12px 20px;font-size:11px}.plot-creator-widget{background-color:var(--bg-primary);flex-direction:column;flex:1;gap:16px;min-height:0;padding:8px;display:flex;overflow-y:auto}.plot-creator-widget::-webkit-scrollbar{width:12px}.plot-creator-widget::-webkit-scrollbar-track{background:0 0}.plot-creator-widget::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:6px}.plot-creator-widget::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.widget-row{gap:12px;display:flex}.widget-field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.widget-field.full-width{flex:1}.widget-label{color:var(--text-secondary);font-size:12px;font-weight:500}.optional-hint{color:var(--text-tertiary);font-style:italic;font-weight:400}.widget-select{background-color:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;box-sizing:border-box;border-radius:4px;outline:none;width:100%;padding:6px 8px;font-size:13px;transition:border-color .15s}.widget-select:hover{border-color:var(--text-secondary)}.widget-select:focus{border-color:var(--accent-primary)}.widget-select option{background-color:var(--bg-elevated);color:var(--text-primary)}.widget-input{background-color:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);box-sizing:border-box;border-radius:4px;outline:none;width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s}.widget-input:hover{border-color:var(--text-secondary)}.widget-input:focus{border-color:var(--accent-primary)}.widget-input::placeholder{color:var(--text-tertiary)}.widget-actions{margin-top:auto;padding-top:8px}.generate-btn{background-color:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;outline:none;width:100%;padding:10px 16px;font-size:13px;font-weight:500;transition:background-color .15s}.generate-btn:hover:not(:disabled){background-color:var(--accent-hover)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generate-btn:focus{box-shadow:none;outline:none}.custom-dropdown{width:100%;min-width:0;position:relative}.dropdown-trigger{text-align:left;justify-content:space-between;align-items:center;display:flex}.dropdown-trigger:focus{box-shadow:none;outline:none}.dropdown-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dropdown-arrow{color:var(--text-tertiary);flex-shrink:0;margin-left:8px;font-size:14px;transition:transform .15s;display:inline-block;transform:rotate(90deg)}.dropdown-arrow.open{transform:rotate(-90deg)}.dropdown-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);max-height:200px;overflow-y:auto;overflow-y:overlay;z-index:100;border-radius:4px;margin-top:4px;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #00000026}.dropdown-menu::-webkit-scrollbar{background:0 0;width:8px}.dropdown-menu::-webkit-scrollbar-track{background:0 0}.dropdown-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.dropdown-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.dropdown-option{cursor:pointer;color:var(--text-primary);align-items:center;padding:8px 10px;font-size:13px;transition:background-color .1s;display:flex}.dropdown-option:hover{background-color:var(--bg-secondary)}.dropdown-option.selected,.dropdown-option.selected:hover{background-color:var(--selected-bg)}.dropdown-option span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.color-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:1px;outline:none;width:19px;height:19px;padding:0;transition:all .15s}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary)}.color-swatch:focus{outline:none}.color-input-custom{cursor:pointer;background:0 0;border:none;border-radius:4px;width:24px;height:24px;padding:0}.color-input-custom::-webkit-color-swatch-wrapper{padding:0}.color-input-custom::-webkit-color-swatch{border:1px dashed var(--border-primary);border-radius:4px}.advanced-toggle{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 0;font-size:12px;transition:color .15s;display:flex}.advanced-toggle:hover{color:var(--text-primary)}.advanced-arrow{font-size:12px;transition:transform .15s;transform:rotate(0)}.advanced-arrow.open{transform:rotate(90deg)}.advanced-label{font-weight:500}.advanced-options{background-color:var(--bg-secondary);border-radius:6px;flex-direction:column;gap:12px;margin-bottom:8px;padding:12px;display:flex}.checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;font-size:13px;display:flex}.widget-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-primary)}.filter-row{gap:8px;display:flex}.filter-row .widget-field:first-child{flex:2}.filter-operator{flex:0 0 60px!important;min-width:60px!important}.filter-operator .widget-label{display:none}.filter-value{flex:1}.filter-value .widget-label{display:none}.resize-divider{z-index:10;background-color:#0000;flex-shrink:0;transition:background-color .2s;position:relative}.resize-divider.horizontal{cursor:col-resize;background-color:var(--border-primary);width:2px;height:100%}.resize-divider.horizontal:before{content:"";cursor:col-resize;width:9px;height:100%;position:absolute;top:0;left:-4px}.resize-divider.vertical{cursor:row-resize;background-color:var(--border-primary);width:100%;height:2px}.resize-divider.vertical:before{content:"";cursor:row-resize;width:100%;height:9px;position:absolute;top:-4px;left:0}.resize-divider:hover,.resize-divider.dragging{opacity:.5;background-color:#2196f3}.resize-divider.horizontal:hover,.resize-divider.horizontal.dragging{cursor:col-resize}.resize-divider.vertical:hover,.resize-divider.vertical.dragging{cursor:row-resize}body:has(.resize-divider.dragging){-webkit-user-select:none;user-select:none;cursor:inherit}body:has(.resize-divider.horizontal.dragging){cursor:col-resize!important}body:has(.resize-divider.vertical.dragging){cursor:row-resize!important}.plot-editor{background-color:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);flex-direction:column;display:flex}.plot-editor-create{width:100%}.plot-editor-tabs{border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);gap:0;padding:0 12px;display:flex}.plot-editor-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;outline:none;flex-shrink:0;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;position:relative}.plot-editor-tab:hover{color:var(--text-primary);background-color:var(--hover-bg)}.plot-editor-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.plot-editor-tab:focus{box-shadow:none;outline:none}.mode-selector-wrapper{align-items:center;display:flex;position:relative}.mode-dropdown{position:relative}.mode-dropdown-trigger{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:500;display:flex}.mode-dropdown-trigger:hover,.mode-dropdown-trigger:hover .mode-dropdown-arrow{color:var(--accent-primary)}.mode-dropdown-trigger:focus{box-shadow:none;outline:none}.mode-dropdown-text{flex:1}.mode-dropdown-arrow{color:var(--text-tertiary);flex-shrink:0;margin-left:6px;font-size:12px;transition:transform .15s;transform:rotate(90deg)translate(1px)}.mode-dropdown-arrow.open{transform:rotate(-90deg)translate(-1px)}.mode-dropdown-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:100;border-radius:4px;min-width:120px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.mode-dropdown-option{cursor:pointer;color:var(--text-primary);align-items:center;padding:5px 10px;font-size:12px;transition:background-color .1s;display:flex}.mode-dropdown-option:hover{background-color:var(--bg-secondary)}.mode-dropdown-option.selected,.mode-dropdown-option.selected:hover{background-color:var(--selected-bg)}.mode-dropdown-option span{flex:1}.quick-create-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.accept-btn,.reject-btn,.apply-btn,.apply-code-btn{cursor:pointer;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:4px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.accept-btn:focus,.reject-btn:focus{box-shadow:none;outline:none}.accept-btn:focus-visible{box-shadow:none;outline:none}.reject-btn:focus-visible{box-shadow:none;outline:none}.accept-btn{color:#fff;background-color:#0000}.accept-btn:hover{background-color:var(--hover-bg)}.reject-btn{color:var(--text-primary);background-color:#0000}.reject-btn:hover{background-color:var(--hover-bg)}.accept-icon{color:#22c55e;width:20px;height:20px}.accept-btn:hover .accept-icon{color:#16a34a}.reject-icon{color:#ef4444;width:20px;height:20px}.reject-btn:hover .reject-icon{color:#dc2626}.apply-btn{background-color:var(--accent-primary);color:#fff;font-weight:500}.apply-btn:hover{background-color:var(--accent-primary-hover)}.apply-btn:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;border:1px solid var(--border-secondary)}.apply-code-btn{color:var(--text-secondary);background-color:#0000;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.apply-code-btn:focus{box-shadow:none;outline:none}.apply-code-btn:focus-visible{box-shadow:none;outline:none}.apply-code-btn:hover{color:var(--text-primary)}.apply-code-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.4}.apply-code-btn .run-icon{opacity:.8;width:18px;height:18px;transform:rotate(90deg)}:root[data-theme=light] .apply-code-btn .run-icon{filter:none}:root:not([data-theme=light]) .apply-code-btn .run-icon{filter:brightness(0)invert()}.apply-code-btn:hover:not(:disabled) .run-icon{opacity:1}.apply-code-btn:disabled .run-icon{opacity:.3}.version-selector-wrapper{display:inline-block;position:relative}.version-icon-button{cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.version-icon-button:focus{box-shadow:none;outline:none}.version-icon-button:disabled{opacity:.3;cursor:not-allowed}.version-icon{filter:brightness(0)saturate()invert(85%);width:18px;height:18px}.version-icon-button:hover:not(:disabled) .version-icon{filter:brightness(0)saturate()invert()}:root[data-theme=light] .version-icon{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .version-icon-button:hover:not(:disabled) .version-icon{filter:brightness(0)saturate()invert(10%)}.version-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:10000;border-radius:4px;min-width:200px;max-width:300px;max-height:300px;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 4px 12px #0003}.version-menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;outline:none;padding:4px 8px;font-size:12px;transition:background-color .15s;overflow:hidden}.version-menu-item:hover{background-color:var(--hover-bg)}.version-menu-item:focus{box-shadow:none;outline:none}.version-menu-item.selected{background-color:var(--accent-primary);color:#fff}.version-menu-item.selected:hover{background-color:var(--accent-primary);opacity:.9}.preview-header-actions{z-index:100;flex-wrap:nowrap;flex-shrink:1;align-items:center;gap:2px;min-width:0;display:flex;position:relative;overflow:visible}.code-header button,.code-header .mode-selector-wrapper,.preview-header button,.preview-header-actions button{flex-shrink:0}.plot-editor-mini-chat{background-color:var(--bg-primary);border-top:1px solid var(--border-primary);flex-direction:column;flex-shrink:0;display:flex}.mini-chat-messages{flex-direction:column;gap:8px;min-height:70px;max-height:110px;padding:8px 10px;display:flex;overflow-y:auto}.mini-chat-messages::-webkit-scrollbar{width:5px}.mini-chat-messages::-webkit-scrollbar-track{background:0 0}.mini-chat-messages::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mini-chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.mini-chat-empty{height:100%;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 16px;font-size:11px;display:flex}.mini-chat-empty p{margin:2px 0}.mini-chat-hint{color:var(--text-muted);font-size:10px}.mini-chat-message{width:100%;animation:.2s ease-in fadeIn;display:flex}.mini-chat-message.user{justify-content:flex-end}.mini-chat-message.assistant{justify-content:flex-start}.mini-chat-message-content{word-wrap:break-word;white-space:pre-wrap;border-radius:12px;max-width:75%;padding:6px 10px;font-size:12px;line-height:1.4}.mini-chat-message.user .mini-chat-message-content{background-color:var(--bg-secondary);color:var(--text-primary)}.mini-chat-message.assistant .mini-chat-message-content{color:var(--text-primary);background-color:#0000;padding:6px 4px}.mini-chat-message.assistant .mini-chat-message-content.error{color:var(--error)}.mini-chat-typing{gap:3px;padding:4px 0;display:flex}.mini-chat-typing-dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite bounce}.mini-chat-typing-dot:first-child{animation-delay:0s}.mini-chat-typing-dot:nth-child(2){animation-delay:.16s}.mini-chat-typing-dot:nth-child(3){animation-delay:.32s}.mini-chat-input-container{background-color:var(--bg-primary);padding:8px;position:relative}.mini-chat-input-wrapper{background-color:var(--bg-secondary);border:1px solid var(--border-primary);cursor:text;border-radius:10px;flex-direction:column;padding:8px 2px 1px 8px;transition:box-shadow .2s;display:flex;position:relative}.mini-chat-input-wrapper:focus-within{box-shadow:0 0 0 1px var(--accent-primary)}.mini-chat-input-wrapper textarea{resize:none;width:100%;min-height:32px;max-height:100px;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border:none;border-radius:4px;outline:none;padding-right:4px;font-family:inherit;font-size:12px;line-height:1.4;overflow-y:auto}.mini-chat-input-wrapper textarea::placeholder{color:var(--text-tertiary)}.mini-chat-input-wrapper textarea:disabled{cursor:not-allowed;opacity:.5}.mini-chat-input-wrapper textarea::-webkit-scrollbar{width:6px}.mini-chat-input-wrapper textarea::-webkit-scrollbar-track{background:0 0}.mini-chat-input-wrapper textarea::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mini-chat-input-wrapper textarea::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.mini-chat-send-button{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin:0 2px 2px 0;transition:all .2s;background-color:var(--accent-primary)!important;color:#fff!important;border:none!important;border-radius:50%!important;width:28px!important;height:28px!important;padding:0!important;font-size:14px!important;line-height:1!important;display:flex!important}.mini-chat-send-button:hover:not(:disabled){transform:scale(1.05);background-color:var(--accent-primary-hover)!important}.mini-chat-send-button:disabled{cursor:not-allowed;opacity:.4;transform:none;background-color:var(--accent-primary)!important}.mini-chat-send-icon{filter:brightness(0)saturate()invert();width:14px;height:14px}.mini-chat-mention-button{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;opacity:.85;background-color:#0000;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.mini-chat-mention-button:hover:not(:disabled){opacity:1;transform:scale(1.1)}.mini-chat-mention-button:disabled{cursor:not-allowed;opacity:.4}.mini-chat-mention-button:focus,.mini-chat-mention-button:active{box-shadow:none;border:none;outline:none}.mini-chat-mention-button:focus-visible{box-shadow:none;border:none;outline:none}.mini-chat-mention-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .mini-chat-mention-icon{filter:brightness(0)saturate()invert(20%)}.mini-chat-enhance-button{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;opacity:.85;background-color:#0000;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:all .2s;display:flex}.mini-chat-enhance-button:hover:not(:disabled){opacity:1;transform:scale(1.1)}.mini-chat-enhance-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.mini-chat-enhance-button:focus,.mini-chat-enhance-button:active{box-shadow:none;border:none;outline:none}.mini-chat-enhance-button:focus-visible{box-shadow:none;border:none;outline:none}.mini-chat-enhance-button svg{width:16px;height:16px}.mini-chat-enhance-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .mini-chat-enhance-icon{filter:brightness(0)saturate()invert(20%)}.mini-chat-enhance-button .spinning,.apply-code-btn .spinning{animation:1s linear infinite spin}.mini-chat-model-selector-wrapper{position:relative}.mini-chat-model-selector-button{height:28px;color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;align-items:center;gap:4px;padding:0 8px;font-family:inherit;font-size:11px;transition:all .15s;display:flex}.mini-chat-model-selector-button:hover:not(:disabled),.mini-chat-model-selector-button.open{color:var(--text-primary);background-color:#ffffff1a}.mini-chat-model-selector-button:disabled{cursor:not-allowed;opacity:.5}.mini-chat-model-label{font-weight:500}.mini-chat-model-chevron{opacity:.6;transition:transform .2s}.mini-chat-model-selector-button.open .mini-chat-model-chevron{transform:rotate(180deg)}.mini-chat-model-menu{background-color:var(--bg-secondary);border:1px solid var(--border-primary);z-index:1000;border-radius:4px;min-width:100px;animation:.1s modelMenuFadeIn;position:absolute;bottom:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #0003}.mini-chat-model-menu-item{cursor:pointer;text-align:left;background-color:#0000;border:none;align-items:center;gap:6px;width:100%;padding:6px 10px;transition:background-color .1s;display:flex}.mini-chat-model-menu-item:hover{background-color:var(--hover-bg)}.mini-chat-model-menu-item.selected{background-color:var(--active-bg)}.mini-chat-model-menu-item:first-child{border-radius:5px 5px 0 0}.mini-chat-model-menu-item:last-child{border-radius:0 0 5px 5px}.mini-chat-model-item-label{color:var(--text-primary);font-size:11px;font-weight:500}.mini-chat-model-item-description{display:none}.mini-chat-model-menu-item.selected .mini-chat-model-item-label{color:var(--accent-primary)}:root[data-theme=light] .mini-chat-model-selector-button:hover:not(:disabled),:root[data-theme=light] .mini-chat-model-selector-button.open{background-color:#0000000d}.plot-editor-content{background-color:var(--bg-primary);flex:1;gap:0;min-height:0;display:flex}.plot-editor-code,.plot-editor-preview{background-color:var(--bg-primary);min-width:0;min-height:0}.plot-editor-preview{flex-direction:column;flex:1;min-width:50%;display:flex;position:relative;overflow:visible}.plot-editor-code{z-index:1;flex-direction:column;min-width:35%;min-height:0;display:flex;position:relative;overflow:visible}.monaco-editor-wrapper{flex:1;min-height:0;position:relative;overflow:visible}.monaco-editor-wrapper>section{height:100%;overflow:hidden}.monaco-editor-wrapper .monaco-editor .suggest-widget,.monaco-editor-wrapper .monaco-editor .parameter-hints-widget{z-index:100!important}.monaco-hover,.monaco-aria-container,.monaco-hover-content,div[class*=monaco-hover],div[class*=hover-row],div[role=tooltip],.monaco-editor div[class*=hover],.monaco-editor .diffViewport .monaco-hover,.monaco-diff-editor .monaco-hover{visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;display:none!important}:root:not([data-theme=light]) .monaco-editor-wrapper .monaco-editor,:root:not([data-theme=light]) .monaco-editor-wrapper .monaco-editor .monaco-editor-background,:root:not([data-theme=light]) .monaco-editor-wrapper .monaco-editor .inputarea.ime-input,:root:not([data-theme=light]) .monaco-editor-wrapper .monaco-editor .margin{background-color:#0a0a0a!important}:root:not([data-theme=light]) .monaco-editor-wrapper .monaco-editor .cursor,:root:not([data-theme=light]) .monaco-editor-wrapper .monaco-editor .cursor-layer .cursor{color:#fff!important;visibility:visible!important;background-color:#fff!important;border-color:#fff!important;width:2px!important;animation:1s step-end infinite monaco-cursor-blink!important}:root[data-theme=light] .monaco-editor-wrapper .monaco-editor .cursor,:root[data-theme=light] .monaco-editor-wrapper .monaco-editor .cursor-layer .cursor{color:#000!important;visibility:visible!important;background-color:#000!important;border-color:#000!important;width:2px!important;animation:1s step-end infinite monaco-cursor-blink!important}.code-header,.preview-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);box-sizing:border-box;z-index:10;justify-content:space-between;align-items:center;gap:8px;height:33px;padding:6px 10px;font-size:12px;font-weight:600;display:flex;position:relative;overflow:visible}.code-header>span:first-child,.preview-header>span:first-child{color:var(--text-primary);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.code-header>div,.preview-header>div{flex-shrink:0}.preview-header .preview-header-actions{flex-shrink:0;overflow:visible}.monaco-loading{text-align:center;color:var(--text-tertiary);padding:40px}.preview-content{background-color:var(--bg-tertiary);flex:1;justify-content:center;align-items:center;padding:1px;display:flex;overflow:hidden}.preview-image{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 2px 8px #00000026}:root[data-theme=light] .preview-image{box-shadow:0 2px 8px #0000001a}.preview-plotly-chart{width:100%;height:100%;overflow:hidden}.preview-content .plot-or-image-container,.preview-content .plotly-chart-container{width:100%;height:100%}.no-preview{color:var(--text-tertiary);text-align:center;font-size:14px}.plot-editor-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:10px 16px}.keyboard-hints{color:var(--text-secondary);gap:20px;font-size:12px;display:flex}.keyboard-hints kbd{background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;margin-right:4px;padding:2px 6px;font-family:monospace;font-size:11px}.diff-toggle-btn{color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.diff-toggle-btn:focus{box-shadow:none;outline:none}.diff-toggle-btn:focus-visible{box-shadow:none;outline:none}.diff-toggle-btn:hover{color:var(--text-primary);background-color:var(--hover-bg)}.diff-toggle-btn.active{color:var(--text-primary);background-color:var(--active-bg)}.diff-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.diff-icon{opacity:.8;width:18px;height:18px}:root[data-theme=light] .diff-icon{filter:none}:root:not([data-theme=light]) .diff-icon{filter:brightness(0)invert()}.diff-toggle-btn:hover .diff-icon,.diff-toggle-btn.active .diff-icon{opacity:1}.diff-no-changes{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.diff-no-changes p{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.templates-selector-wrapper{display:inline-block;position:relative}.templates-button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.templates-button:hover:not(:disabled){color:var(--text-primary)}.templates-button:disabled{opacity:.3;cursor:not-allowed}.templates-button:focus{box-shadow:none;outline:none}.templates-icon{opacity:.8;width:18px;height:18px}:root[data-theme=light] .templates-icon{filter:none}:root:not([data-theme=light]) .templates-icon{filter:brightness(0)invert()}.templates-button:hover:not(:disabled) .templates-icon{opacity:1}.templates-button:disabled .templates-icon{opacity:.3}.templates-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:10000;border-radius:4px;min-width:20px;max-width:280px;max-height:min(400px,100vh - 100px);animation:.15s templateMenuFadeIn;overflow-y:auto;box-shadow:0 4px 12px #0003}@keyframes templateMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.template-menu-item{text-align:left;cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;gap:2px;width:100%;padding:8px 12px;transition:background-color .15s;display:flex}.template-menu-item:hover{background-color:var(--hover-bg)}.template-menu-item:focus{box-shadow:none;outline:none}.template-name{color:var(--text-primary);font-size:13px;font-weight:500}.template-description{color:var(--text-secondary);font-size:11px}.mini-chat-mention-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:100;border-radius:4px;max-height:150px;margin-bottom:8px;position:absolute;bottom:100%;left:8px;right:8px;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.mini-chat-mention-item{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background-color .15s;display:flex}.mini-chat-mention-item:hover,.mini-chat-mention-item.selected{background-color:var(--active-bg)}.mention-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.mention-item-info{color:var(--text-tertiary);flex-shrink:0;margin-left:8px;font-size:11px}.mini-chat-mention-empty{color:var(--text-tertiary);text-align:center;padding:8px 12px;font-size:12px}.layout-toggle-btn{color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.layout-toggle-btn:focus{box-shadow:none;outline:none}.layout-toggle-btn:focus-visible{box-shadow:none;outline:none}.layout-toggle-btn:hover{color:var(--text-primary);background-color:var(--hover-bg)}.layout-toggle-btn.active{color:var(--accent-primary);background-color:var(--active-bg)}.layout-icon{width:16px;height:16px}.plot-editor-content.vertical-stack{flex-direction:column;overflow:hidden}.plot-editor-content.vertical-stack .plot-editor-code{min-height:80px;overflow:hidden}.plot-editor-content.vertical-stack .plot-editor-preview{flex:auto;min-height:150px;overflow:hidden}.plot-editor-content.vertical-stack .preview-content{flex:1;min-height:0;overflow:hidden}.plot-editor-content.vertical-stack .preview-content .plot-or-image-container,.plot-editor-content.vertical-stack .preview-content .plotly-chart-container{width:100%!important;height:100%!important}.plot-window{background-color:var(--bg-primary);border:1px solid var(--border-primary);z-index:1100;border-radius:4px;flex-direction:column;width:800px;max-width:90vw;height:600px;max-height:90vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000040}.plot-window.fullscreen{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;top:0;left:0;transform:none}.plot-window-header{border-bottom:1px solid var(--border-primary);cursor:move;-webkit-user-select:none;user-select:none;background-color:var(--bg-secondary);border-radius:4px 4px 0 0;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.plot-window.fullscreen .plot-window-header{border-radius:0}.plot-window-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.plot-window-buttons{align-items:center;gap:6px;display:flex}.plot-nav-btn,.plot-create-btn,.plot-edit-btn,.plot-download-btn,.plot-delete-btn,.plot-fullscreen-btn,.plot-zoom-btn,.plot-window-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1rem;transition:color .2s;display:flex;outline:none!important}.plot-zoom-btn{width:auto;min-width:24px;padding:0;font-size:12px;font-weight:500}.plot-create-btn:focus,.plot-edit-btn:focus,.plot-download-btn:focus,.plot-delete-btn:focus,.plot-fullscreen-btn:focus,.plot-zoom-btn:focus,.plot-window-close:focus,.plot-nav-btn:focus{box-shadow:none!important;outline:none!important}.plot-create-btn img,.plot-edit-btn img,.plot-download-btn img,.plot-delete-btn img,.plot-fullscreen-btn img,.plot-window-close img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}:root[data-theme=light] .plot-create-btn img,:root[data-theme=light] .plot-edit-btn img,:root[data-theme=light] .plot-download-btn img,:root[data-theme=light] .plot-delete-btn img,:root[data-theme=light] .plot-fullscreen-btn img,:root[data-theme=light] .plot-window-close img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.plot-zoom-btn:hover,.plot-nav-btn:hover{color:var(--text-primary)}.plot-create-btn:hover img,.plot-edit-btn:hover img,.plot-download-btn:hover img,.plot-fullscreen-btn:hover img{filter:brightness(0)saturate()invert()sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .plot-create-btn:hover img,:root[data-theme=light] .plot-edit-btn:hover img,:root[data-theme=light] .plot-download-btn:hover img,:root[data-theme=light] .plot-fullscreen-btn:hover img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.plot-window-close:hover img,:root[data-theme=light] .plot-window-close:hover img,.plot-delete-btn:hover img,:root[data-theme=light] .plot-delete-btn:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.plot-nav-btn:disabled,.plot-create-btn:disabled,.plot-edit-btn:disabled,.plot-delete-btn:disabled,.plot-zoom-btn:disabled{opacity:.3;cursor:not-allowed}.plot-edit-btn.active{background-color:var(--selected-bg)}.plot-edit-btn.active img{filter:brightness(0)saturate()invert()sepia(0%)saturate(0%)hue-rotate()brightness(120%)contrast()}:root[data-theme=light] .plot-edit-btn.active img{filter:brightness(0)saturate()invert(0%)sepia(0%)saturate(0%)hue-rotate()brightness(0%)contrast()}.plot-edit-btn.locked{color:var(--warning-color,#f59e0b);opacity:.8;cursor:not-allowed}.plot-edit-btn.locked svg{stroke:var(--warning-color,#f59e0b)}.plot-nav-separator{background-color:var(--border-primary);width:1px;height:20px}.plot-window-content{background-color:var(--bg-tertiary);border-radius:0;flex:1;justify-content:center;align-items:center;min-height:0;padding:1px;display:flex;overflow:hidden}.plot-window-content:has(.plot-editor){background-color:var(--bg-primary);justify-content:stretch;align-items:stretch;padding:0}.plot-window-content img{object-fit:contain;border-radius:0;max-width:100%;max-height:100%}.empty-plot-message{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:14px}.plot-window .resize-handle-bottom-right{cursor:nwse-resize;z-index:1000;opacity:.5;background-image:url(/icons/resize-handle-svgrepo-com.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;width:16px;height:16px;transition:opacity .2s;position:absolute;bottom:0;right:0;background-color:#0000!important;outline:none!important}:root:not([data-theme=light]) .plot-window .resize-handle-bottom-right{filter:brightness(0)invert()}.plot-window .resize-handle-bottom-right:hover{opacity:.8;background-color:#0000!important}.plot-window .resize-handle-bottom-right:active{opacity:1;background-color:#0000!important;outline:none!important}.delete-context-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:4px;min-width:160px;padding:4px 0;box-shadow:0 4px 12px #0003}.context-menu-item{width:100%;color:var(--error);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;transition:background-color .15s}.context-menu-item:hover{background-color:var(--hover-bg)}.plot-bottom-panel{border-top:1px solid var(--border-primary);background-color:var(--bg-tertiary);flex-direction:column;flex-shrink:0;min-height:32px;display:flex;position:relative;overflow:hidden}.plot-bottom-panel.collapsed{min-height:auto;max-height:none;height:auto!important}.plot-bottom-panel .bottom-panel-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;align-items:center;padding:0 10px 0 0;display:flex}.plot-bottom-panel.collapsed .bottom-panel-header{border-bottom:none}.plot-bottom-panel .panel-toggle{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:0;outline:none;align-items:center;gap:6px;min-width:70px;padding:4px 8px;font-size:11px;font-weight:500;transition:color .15s,background-color .15s;display:flex}.plot-bottom-panel .panel-toggle:focus{outline:none}.plot-bottom-panel .panel-toggle:hover{color:var(--text-secondary);background-color:var(--hover-bg)}.plot-bottom-panel .panel-toggle.active{color:var(--text-primary);background-color:#ffffff14}:root[data-theme=light] .plot-bottom-panel .panel-toggle.active{background-color:#0000000f}.plot-bottom-panel .panel-chevron{flex-shrink:0;transition:transform .15s}.plot-bottom-panel .panel-chevron.expanded{transform:rotate(90deg)}.plot-bottom-panel .bottom-panel-spacer{flex:1}.plot-bottom-panel .bottom-panel-content{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.plot-bottom-panel .panel-resizer{background-color:var(--bg-tertiary);cursor:ew-resize;flex-shrink:0;width:5px;position:relative}:root:not([data-theme=light]) .plot-bottom-panel .panel-resizer{background-color:#0d0d0d}.plot-bottom-panel .panel-resizer:after{content:"";background-color:var(--border-primary);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.plot-bottom-panel .panel-resizer:hover:after{background-color:#06c;width:2px}.plot-bottom-panel .panel-resizer:active:after{background-color:#05a;width:2px}.plot-bottom-panel .console-resize-handle{cursor:ns-resize;z-index:10;background-color:#0000;height:4px;transition:background-color .2s;position:absolute;top:-2px;left:0;right:0}.plot-bottom-panel .console-resize-handle:hover{background-color:#06c}.plot-bottom-panel .console-resize-handle:active{background-color:#05a}.plot-bottom-panel .console-count{background-color:var(--text-tertiary);color:var(--bg-primary);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.plot-bottom-panel .console-count.error{color:#fff;background-color:#dc3545}.plot-bottom-panel .console-count.success{color:#fff;background-color:#28a745}.plot-bottom-panel .console-count.warning{color:#000;background-color:#ffc107}.plot-bottom-panel .console-clear-btn{border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:3px;margin-left:6px;padding:2px 8px;font-size:10px;transition:all .15s}.plot-bottom-panel .console-clear-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.plot-bottom-panel .console-fix-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:3px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;transition:all .15s;display:flex}.plot-bottom-panel .console-fix-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)}.plot-bottom-panel .console-fix-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.plot-bottom-panel .console-fix-btn .fix-btn-icon{filter:brightness(0)invert();width:12px;height:12px}.plot-bottom-panel .console-fix-btn .spinning{animation:1s linear infinite spin}.plot-console-content{flex:1;min-width:0;padding:6px 10px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;overflow-y:auto;container:plot-console-content/inline-size}.plot-console-content .console-empty{color:var(--text-tertiary);padding:8px 0;font-style:italic}.plot-console-content .console-message{border-bottom:1px solid var(--border-secondary,#8080801a);gap:8px;padding:2px 0;display:flex}.plot-console-content .console-message:last-of-type{border-bottom:none}.plot-console-content .console-time{color:var(--text-tertiary);flex-shrink:0;font-size:10px}.plot-console-content .console-text{word-break:break-word;flex:1}.plot-console-content .console-info .console-text{color:var(--text-secondary)}.plot-console-content .console-success .console-text{color:var(--success,#28a745)}.plot-console-content .console-warning .console-text{color:var(--warning,#f0ad4e)}.plot-console-content .console-error .console-text{color:var(--error,#dc3545)}:root:not([data-theme=light]) .plot-console-content{background-color:#0d0d0d}.plot-console-content::-webkit-scrollbar{width:6px}.plot-console-content::-webkit-scrollbar-track{background:0 0}.plot-console-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.plot-console-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}@container plot-console-content (width<=150px){.console-time{display:none}}.plot-chat-container{background-color:var(--bg-tertiary);flex-direction:column;flex:1;min-width:50%;display:flex;overflow:hidden}:root:not([data-theme=light]) .plot-chat-container{background-color:#0d0d0d}.plot-chat-messages{flex-direction:column;flex:1;gap:8px;padding:8px 10px;display:flex;overflow-y:auto}.plot-chat-empty{height:100%;color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.plot-chat-empty p{margin:0;font-size:12px}.plot-chat-empty .plot-chat-hint{opacity:.7;margin-top:4px;font-size:11px}.plot-chat-message{width:100%;display:flex}.plot-chat-message.user{justify-content:flex-end}.plot-chat-message.assistant{justify-content:flex-start}.plot-chat-message-content{word-wrap:break-word;white-space:pre-wrap;border-radius:12px;max-width:100%;padding:6px 10px;font-size:12px;line-height:1.4}.plot-chat-message.user .plot-chat-message-content{background-color:var(--bg-secondary);color:var(--text-primary)}.plot-chat-message.assistant .plot-chat-message-content{color:var(--text-primary);background-color:#0000;padding:6px 4px}.plot-chat-message.assistant .plot-chat-message-content.error{color:var(--error)}.plot-chat-typing{gap:3px;padding:4px 0;display:flex}.plot-chat-typing-dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite plotChatBounce}.plot-chat-typing-dot:first-child{animation-delay:0s}.plot-chat-typing-dot:nth-child(2){animation-delay:.16s}.plot-chat-typing-dot:nth-child(3){animation-delay:.32s}@keyframes plotChatBounce{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.plot-chat-message.streaming .plot-chat-message-content{display:inline}.plot-chat-message .streaming-cursor{color:var(--text-primary);margin-left:1px;font-weight:400;animation:1s step-end infinite blink;display:inline-block}.plot-chat-input-container{background-color:var(--bg-primary);flex-shrink:0;min-height:-moz-fit-content;min-height:fit-content;padding:6px;position:relative;overflow:visible}:root:not([data-theme=light]) .plot-chat-input-container{background-color:#0d0d0d}.plot-chat-container{overflow:hidden}.plot-chat-input-wrapper{background-color:var(--bg-secondary);border:1px solid var(--border-primary);cursor:text;border-radius:8px;flex-direction:column;padding:6px 2px 1px 6px;transition:box-shadow .2s;display:flex;position:relative}.plot-chat-input-wrapper:focus-within{box-shadow:0 0 0 1px var(--accent-primary)}.plot-chat-input-wrapper textarea{resize:none;width:100%;min-height:28px;max-height:80px;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border:none;border-radius:4px;outline:none;padding-right:4px;font-family:inherit;font-size:12px;line-height:1.3;overflow-y:auto}.plot-chat-input-wrapper textarea::placeholder{color:var(--text-tertiary)}.plot-chat-input-wrapper textarea:disabled{cursor:not-allowed;opacity:.5}.plot-chat-input-wrapper textarea::-webkit-scrollbar{width:6px}.plot-chat-input-wrapper textarea::-webkit-scrollbar-track{background:0 0}.plot-chat-input-wrapper textarea::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.plot-chat-input-wrapper textarea::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.plot-chat-controls{justify-content:flex-end;align-items:center;margin-top:4px;display:flex}.plot-chat-controls-right{align-items:center;gap:6px;display:flex}.plot-chat-send-button{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin:0 2px 2px 0;transition:all .2s;background-color:var(--accent-primary)!important;color:#fff!important;border:none!important;border-radius:50%!important;width:26px!important;height:26px!important;padding:0!important;font-size:13px!important;line-height:1!important;display:flex!important}.plot-chat-send-button:hover:not(:disabled){transform:scale(1.05);background-color:var(--accent-primary-hover)!important}.plot-chat-send-button:disabled{cursor:not-allowed;opacity:.4;transform:none;background-color:var(--accent-primary)!important}.plot-chat-send-button svg{filter:brightness(0)saturate()invert();width:14px;height:14px}.plot-chat-messages::-webkit-scrollbar{width:6px}.plot-chat-messages::-webkit-scrollbar-track{background:0 0}.plot-chat-messages::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.plot-chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.plot-chat-controls{justify-content:space-between}.plot-chat-controls-left{align-items:center;gap:2px;display:flex}.plot-chat-enhance-button{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.plot-chat-enhance-button:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.plot-chat-enhance-button:disabled{cursor:not-allowed;opacity:.4}.plot-chat-enhance-icon{filter:brightness(0)saturate()invert(60%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:16px;height:16px}.plot-chat-enhance-button:hover:not(:disabled) .plot-chat-enhance-icon{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .plot-chat-enhance-icon{filter:brightness(0)saturate()invert(40%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .plot-chat-enhance-button:hover:not(:disabled) .plot-chat-enhance-icon{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.plot-chat-enhance-button svg.spinning{animation:1s linear infinite spin}.plot-chat-mention-button{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.plot-chat-mention-button:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.plot-chat-mention-button:disabled{cursor:not-allowed;opacity:.4}.plot-chat-mention-icon{filter:brightness(0)saturate()invert(60%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:16px;height:16px}.plot-chat-mention-button:hover:not(:disabled) .plot-chat-mention-icon{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .plot-chat-mention-icon{filter:brightness(0)saturate()invert(40%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .plot-chat-mention-button:hover:not(:disabled) .plot-chat-mention-icon{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.plot-chat-mention-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:100;border-radius:6px;max-height:180px;margin-bottom:4px;position:absolute;bottom:100%;left:8px;right:8px;overflow-y:auto;box-shadow:0 4px 12px #00000026}.plot-chat-mention-item{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background-color .1s;display:flex}.plot-chat-mention-item:hover,.plot-chat-mention-item.selected{background-color:var(--hover-bg)}.plot-chat-mention-item .mention-item-name{color:var(--text-primary);font-size:12px;font-weight:500}.plot-chat-mention-item .mention-item-info{color:var(--text-tertiary);font-size:10px}.plot-chat-input-wrapper.enhancing{opacity:.7;pointer-events:none}.plot-chat-input-wrapper textarea.enhancing{animation:1.5s ease-in-out infinite pulse}.plot-chat-mention-menu::-webkit-scrollbar{width:6px}.plot-chat-mention-menu::-webkit-scrollbar-track{background:0 0}.plot-chat-mention-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.plot-chat-mention-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.plot-window.inline{width:100%;min-width:0;max-width:none;height:100%;min-height:0;max-height:none;box-shadow:none;z-index:auto;border:none;border-radius:0;position:relative;top:auto;left:auto;transform:none}.plot-window.inline .plot-window-header{cursor:default;border-radius:0}.plot-window{container:plot-panel/inline-size}.plot-chat-container{container:plot-chat-container/inline-size}@container plot-chat-container (width<=220px){.plot-chat-mention-button{display:none}}@container plot-panel (width<=350px){.plot-chat-input-container{padding:4px}.plot-chat-input-wrapper{padding:4px 2px 1px 4px}}@container plot-panel (width<=280px){.plot-chat-input-wrapper textarea{min-height:24px}.plot-bottom-panel .bottom-panel-content{flex-direction:column}.plot-bottom-panel .panel-resizer{display:none}.plot-chat-container,.plot-console-content{flex:none;width:100%;max-height:50%}}.script-window{background-color:var(--bg-primary);border:1px solid var(--border-primary);z-index:1100;resize:none;border-radius:4px;flex-direction:column;width:70vw;min-width:500px;max-width:90vw;height:80vh;min-height:300px;max-height:90vh;display:flex;position:fixed;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0003}.script-window.fullscreen{resize:none;border-radius:0;max-width:100vw;max-height:100vh;top:0;left:0;transform:none;width:100vw!important;height:100vh!important}.script-window-header{border-bottom:1px solid var(--border-primary);cursor:move;-webkit-user-select:none;user-select:none;background-color:var(--bg-secondary);z-index:10;border-radius:4px 4px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;min-width:0;padding:4px 8px;display:flex;position:relative;overflow:visible}.script-window.fullscreen .script-window-header{border-radius:0}.script-header-left{flex:1;align-items:center;gap:6px;min-width:0;margin-right:8px;display:flex;overflow:visible}.script-title-wrapper{flex-shrink:0;align-items:center;display:flex;position:relative}.script-title-wrapper:after{content:"";background-color:var(--border-primary);vertical-align:middle;width:1px;height:14px;margin-left:6px;display:inline-block}.script-window-title{color:var(--text-primary);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:13px;font-weight:500}.script-window-title:hover{color:var(--text-secondary)}.script-language-indicator{color:var(--text-secondary);margin-left:4px;font-size:12px;font-weight:400}.script-language-menu{position:absolute;top:calc(100% + 4px);left:0}.script-dropdown-wrapper{flex:1;align-items:center;min-width:0;display:flex;position:relative}.script-dropdown-trigger{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;min-width:0;max-width:100%;padding:0;font-size:12px;font-weight:500;display:flex}.script-dropdown-trigger:hover .script-dropdown-arrow{color:var(--accent-primary)}.script-dropdown-trigger:focus{box-shadow:none;outline:none}.script-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.script-dropdown-trigger:disabled:hover{color:var(--text-primary)}.script-dropdown-trigger:disabled:hover .script-dropdown-arrow{color:var(--text-tertiary)}.script-dropdown-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.script-dropdown-arrow{color:var(--text-tertiary);flex-shrink:0;margin-left:4px;font-size:12px;transition:transform .15s;transform:rotate(90deg)translate(1px)}.script-dropdown-arrow.open{transform:rotate(-90deg)translate(-1px)}.script-dropdown-menu{background-color:var(--bg-elevated);border:1px solid var(--border-primary);z-index:1000;border-radius:4px;min-width:140px;max-width:250px;max-height:300px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.script-dropdown-option{cursor:pointer;color:var(--text-primary);justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;transition:background-color .1s;display:flex}.script-dropdown-option:hover{background-color:var(--bg-secondary)}.script-dropdown-option.selected,.script-dropdown-option.selected:hover{background-color:var(--selected-bg)}.script-dropdown-option span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.script-dropdown-option-info{color:var(--text-tertiary);flex-shrink:0;margin-left:8px;font-size:10px}.script-dropdown-menu::-webkit-scrollbar{width:6px}.script-dropdown-menu::-webkit-scrollbar-track{background:0 0}.script-dropdown-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.script-dropdown-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.script-window-buttons{flex-shrink:0;align-items:center;gap:4px;display:flex}.script-window-buttons .reject-btn{margin-right:-2px}.script-window-buttons .apply-code-btn .spinning{color:var(--text-secondary);animation:1s linear infinite spin}.script-download-btn,.script-fullscreen-btn,.script-window-close{color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1rem;transition:color .2s;display:flex;background:0 0!important;border:none!important;outline:none!important}.script-download-btn:hover,.script-fullscreen-btn:hover,.script-window-close:hover{background:0 0!important;border-color:#0000!important}.script-download-btn:focus,.script-fullscreen-btn:focus,.script-window-close:focus{box-shadow:none!important;outline:none!important}.script-download-btn img,.script-fullscreen-btn img,.script-window-close img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}:root[data-theme=light] .script-download-btn img,:root[data-theme=light] .script-fullscreen-btn img,:root[data-theme=light] .script-window-close img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.script-download-btn:hover img,.script-fullscreen-btn:hover img{filter:brightness(0)saturate()invert()sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .script-download-btn:hover img,:root[data-theme=light] .script-fullscreen-btn:hover img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.script-add-cmd-btn{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .15s;display:flex}.script-add-cmd-btn:hover{opacity:1;background:var(--hover-bg)}.script-add-cmd-btn:active{transform:scale(.95)}.script-add-cmd-btn:focus{box-shadow:none;outline:none}.script-add-cmd-btn:focus-visible{box-shadow:none;outline:none}.script-add-cmd-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .script-add-cmd-icon{filter:brightness(0)saturate()invert(20%)}.script-window-close:hover img,:root[data-theme=light] .script-window-close:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.script-window-content{background-color:var(--bg-tertiary);border-radius:0;flex:1;min-height:0;position:relative;overflow:visible}.script-window-content>section{height:100%;overflow:hidden}.script-window-content .monaco-editor .suggest-widget,.script-window-content .monaco-editor .parameter-hints-widget{z-index:100!important}:root:not([data-theme=light]) .script-window-content .monaco-editor,:root:not([data-theme=light]) .script-window-content .monaco-editor .monaco-editor-background,:root:not([data-theme=light]) .script-window-content .monaco-editor .inputarea.ime-input,:root:not([data-theme=light]) .script-window-content .monaco-editor .margin{background-color:#0a0a0a!important}@keyframes monaco-cursor-blink-script{0%,49%{opacity:1}50%,to{opacity:0}}:root:not([data-theme=light]) .script-window-content .monaco-editor.focused .cursor,:root:not([data-theme=light]) .script-window-content .monaco-editor.focused .cursor-layer .cursor{color:#fff!important;visibility:visible!important;background-color:#fff!important;border-color:#fff!important;width:2px!important;animation:1s step-end infinite monaco-cursor-blink-script!important}:root[data-theme=light] .script-window-content .monaco-editor.focused .cursor,:root[data-theme=light] .script-window-content .monaco-editor.focused .cursor-layer .cursor{color:#000!important;visibility:visible!important;background-color:#000!important;border-color:#000!important;width:2px!important;animation:1s step-end infinite monaco-cursor-blink-script!important}.script-window-content .monaco-editor:not(.focused) .cursor,.script-window-content .monaco-editor:not(.focused) .cursor-layer .cursor{visibility:hidden!important;opacity:0!important;display:none!important}.monaco-loading,.translation-loading{height:100%;color:var(--text-tertiary);background-color:var(--bg-tertiary);justify-content:center;align-items:center;font-size:14px;display:flex}.script-window-content::-webkit-scrollbar{width:8px;height:8px}.script-window-content::-webkit-scrollbar-track{background:0 0}.script-window-content::-webkit-scrollbar-track:vertical{margin:0 0 20px}.script-window-content::-webkit-scrollbar-track:horizontal{margin:0 20px 0 0}.script-window-content::-webkit-scrollbar-thumb{background-color:#8080804d;border-radius:4px}.script-window-content::-webkit-scrollbar-thumb:hover{background-color:#80808080}.script-window-content::-webkit-scrollbar-corner{background:0 0}.script-window .resize-handle-bottom-right{cursor:nwse-resize;z-index:1000;opacity:.5;background-image:url(/icons/resize-handle-svgrepo-com.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;width:16px;height:16px;transition:opacity .2s;position:absolute;bottom:0;right:0;background-color:#0000!important;outline:none!important}:root:not([data-theme=light]) .script-window .resize-handle-bottom-right{filter:brightness(0)invert()}.script-window .resize-handle-bottom-right:hover{opacity:.8;background-color:#0000!important}.script-window .resize-handle-bottom-right:active{opacity:1;background-color:#0000!important;outline:none!important}.unsaved-indicator{color:var(--warning,#f0ad4e);margin-left:4px;font-weight:700}.script-edit-btn{border:1px solid var(--border-primary);background-color:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.script-edit-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.script-edit-btn.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.script-edit-btn:disabled{opacity:.5;cursor:not-allowed}.script-bottom-panel{border-top:1px solid var(--border-primary);background-color:var(--bg-tertiary);flex-direction:column;flex-shrink:0;min-height:32px;display:flex;position:relative}.script-bottom-panel:not(.collapsed){min-height:120px}.script-bottom-panel.collapsed{min-height:auto;max-height:none}.bottom-panel-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;align-items:center;padding:0 10px 0 0;display:flex}.script-bottom-panel.collapsed .bottom-panel-header{border-bottom:none}.panel-toggle{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:0;outline:none;align-items:center;gap:4px;min-width:60px;padding:4px 8px;font-size:11px;font-weight:500;transition:color .15s,background-color .15s;display:flex}.panel-toggle:focus{outline:none}.panel-toggle:hover{color:var(--text-secondary);background-color:var(--hover-bg)}.panel-toggle.active{color:var(--text-primary);background-color:#ffffff14}:root[data-theme=light] .panel-toggle.active{background-color:#0000000f}.panel-chevron{flex-shrink:0;transition:transform .15s}.panel-chevron.expanded{transform:rotate(90deg)}.bottom-panel-spacer{flex:1}.bottom-panel-content{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.panel-resizer{background-color:var(--bg-tertiary);cursor:ew-resize;flex-shrink:0;width:5px;position:relative}:root:not([data-theme=light]) .panel-resizer{background-color:#0d0d0d}.panel-resizer:after{content:"";background-color:var(--border-primary);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.panel-resizer:hover:after{background-color:#06c;width:2px}.panel-resizer:active:after{background-color:#05a;width:2px}.console-resize-handle{cursor:ns-resize;z-index:10;background-color:#0000;height:2px;transition:background-color .2s;position:absolute;top:-2px;left:0;right:0}.console-resize-handle:hover{background-color:#06c}.console-resize-handle:active{background-color:#05a}.console-count{background-color:var(--text-tertiary);color:var(--bg-primary);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.console-count.error{color:#fff;background-color:#dc3545}.console-count.success{color:#fff;background-color:#28a745}.console-count.warning{color:#000;background-color:#ffc107}.console-header-buttons{align-items:center;gap:8px;display:flex}.console-clear-btn{border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:3px;margin-left:6px;padding:2px 8px;font-size:10px;transition:all .15s}.console-clear-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.console-fix-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:3px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;transition:all .15s;display:flex}.console-fix-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)}.console-fix-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.console-fix-btn .fix-btn-icon{filter:brightness(0)invert();width:12px;height:12px}.console-fix-btn .spinning{animation:1s linear infinite spin}.script-console-content{flex:1;min-width:90px;padding:6px 10px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;overflow-y:auto;container:console-content/inline-size}.console-empty{color:var(--text-tertiary);padding:8px 0;font-style:italic}.console-message{border-bottom:1px solid var(--border-secondary,#8080801a);gap:8px;padding:2px 0;display:flex}.console-message:last-of-type{border-bottom:none}.console-time{color:var(--text-tertiary);flex-shrink:0;font-size:10px}.console-text{word-break:break-word;flex:1}.console-info .console-text{color:var(--text-secondary)}.console-success .console-text{color:var(--success,#28a745)}.console-warning .console-text{color:var(--warning,#f0ad4e)}.console-error .console-text{color:var(--error,#dc3545)}:root:not([data-theme=light]) .script-console{background-color:#0d0d0d}:root:not([data-theme=light]) .script-console-header{background-color:#1a1a1a}:root:not([data-theme=light]) .script-console-content{background-color:#0d0d0d}.script-console-content::-webkit-scrollbar{width:6px}.script-console-content::-webkit-scrollbar-track{background:0 0}.script-console-content::-webkit-scrollbar-thumb{background-color:#8080804d;border-radius:3px}.script-console-content::-webkit-scrollbar-thumb:hover{background-color:#80808080}@container console-content (width<=150px){.console-time{display:none}}.script-chat-container{background-color:var(--bg-primary);flex-direction:column;flex:1;min-width:50%;min-height:0;display:flex;overflow:hidden;container:chat-container/inline-size}.script-chat-messages{flex-direction:column;flex:1;gap:8px;padding:8px 10px;display:flex;overflow-y:auto}.script-chat-messages::-webkit-scrollbar{width:5px}.script-chat-messages::-webkit-scrollbar-track{background:0 0}.script-chat-messages::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.script-chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.script-chat-empty{height:100%;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 16px;font-size:11px;display:flex}.script-chat-empty p{margin:2px 0}.script-chat-hint{color:var(--text-muted);font-size:10px}.script-chat-message{width:100%;display:flex}.script-chat-message.user{justify-content:flex-end}.script-chat-message.assistant{justify-content:flex-start}.script-chat-message-content{word-wrap:break-word;white-space:pre-wrap;border-radius:12px;max-width:100%;padding:6px 10px;font-size:12px;line-height:1.4}.script-chat-message.user .script-chat-message-content{background-color:var(--bg-secondary);color:var(--text-primary)}.script-chat-message.assistant .script-chat-message-content{color:var(--text-primary);background-color:#0000;padding:6px 4px}.script-chat-message.assistant .script-chat-message-content.error{color:var(--error)}.script-chat-typing{gap:3px;padding:4px 0;display:flex}.script-chat-typing-dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite bounce}.script-chat-typing-dot:first-child{animation-delay:0s}.script-chat-typing-dot:nth-child(2){animation-delay:.16s}.script-chat-typing-dot:nth-child(3){animation-delay:.32s}.script-chat-input-container{background-color:var(--bg-primary);flex-shrink:0;min-height:-moz-fit-content;min-height:fit-content;padding:6px;position:relative;overflow:visible}.script-chat-input-wrapper.locked{background-color:#ef444414;animation:2s ease-in-out infinite lockedPulse;box-shadow:0 0 0 2px #ef44444d}.script-lock-indicator{color:var(--warning-color,#f59e0b);justify-content:center;align-items:center;margin-left:8px;display:flex}.script-lock-indicator svg{flex-shrink:0}.script-chat-container{overflow:hidden}.script-chat-input-wrapper{background-color:var(--bg-secondary);border:1px solid var(--border-primary);cursor:text;border-radius:8px;flex-direction:column;padding:6px 2px 1px 6px;transition:box-shadow .2s;display:flex;position:relative}.script-chat-input-wrapper:focus-within{box-shadow:0 0 0 1px var(--accent-primary)}.script-chat-input-wrapper textarea{resize:none;width:100%;min-height:28px;max-height:80px;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border:none;border-radius:4px;outline:none;padding-right:4px;font-family:inherit;font-size:12px;line-height:1.3;overflow-y:auto}.script-chat-input-wrapper textarea::placeholder{color:var(--text-tertiary)}.script-chat-input-wrapper textarea:disabled{cursor:not-allowed;opacity:.5}.script-chat-input-wrapper textarea::-webkit-scrollbar{width:6px}.script-chat-input-wrapper textarea::-webkit-scrollbar-track{background:0 0}.script-chat-input-wrapper textarea::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.script-chat-input-wrapper textarea::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.script-chat-controls{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.script-chat-controls-left{align-items:center;gap:4px;display:flex}.script-chat-controls-right{align-items:center;gap:6px;display:flex}.script-chat-send-button{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin:0 2px 2px 0;transition:all .2s;background-color:var(--accent-primary)!important;color:#fff!important;border:none!important;border-radius:50%!important;width:26px!important;height:26px!important;padding:0!important;font-size:13px!important;line-height:1!important;display:flex!important}.script-chat-send-button:hover:not(:disabled){transform:scale(1.05);background-color:var(--accent-primary-hover)!important}.script-chat-send-button:disabled{cursor:not-allowed;opacity:.4;transform:none;background-color:var(--accent-primary)!important}.script-chat-send-button svg{filter:brightness(0)saturate()invert();width:14px;height:14px}:root:not([data-theme=light]) .script-chat-container,:root:not([data-theme=light]) .script-chat-input-container{background-color:#0d0d0d}.script-chat-message.streaming .script-chat-message-content{display:inline}.streaming-cursor{color:var(--text-primary);margin-left:1px;font-weight:400;animation:1s step-end infinite blink;display:inline-block}.script-chat-message-content .collapsible-code{max-width:100%;margin:8px 0}.script-chat-message-content .collapsible-code-header{padding:6px 10px;font-size:11px}.script-chat-message-content .collapsible-code-content{padding-bottom:8px}.script-window-content .protected-line{cursor:not-allowed;background-color:#64646426!important}:root[data-theme=light] .script-window-content .protected-line{background-color:#0000000f!important}.script-window-content .new-command-line{background-color:#28a74526!important}:root[data-theme=light] .script-window-content .new-command-line{background-color:#28a7451f!important}.script-mention-menu{background-color:var(--bg-secondary);border:1px solid var(--border-primary);z-index:9999;border-radius:4px;max-height:150px;position:fixed;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.script-mention-menu-item{cursor:pointer;align-items:center;gap:4px;padding:8px 12px;transition:background-color .15s;display:flex}.script-mention-menu-item:hover{background-color:var(--hover-bg)}.script-mention-menu-item.selected{background-color:var(--active-bg)}.script-mention-index{color:var(--accent-primary);flex-shrink:0;min-width:20px;font-size:11px;font-weight:600}.script-mention-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.script-mention-menu::-webkit-scrollbar{width:6px}.script-mention-menu::-webkit-scrollbar-track{background:0 0}.script-mention-menu::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.script-mention-menu::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.script-chat-mention-button{cursor:pointer;opacity:.85;background-color:#0000;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .2s;display:flex}.script-chat-mention-button:hover:not(:disabled){opacity:1;transform:scale(1.1)}.script-chat-mention-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.script-chat-mention-button:focus,.script-chat-mention-button:active{box-shadow:none;border:none;outline:none}.script-chat-mention-button:focus-visible{box-shadow:none;border:none;outline:none}.script-chat-mention-icon{filter:brightness(0)saturate()invert(85%);width:16px;height:16px}:root[data-theme=light] .script-chat-mention-icon{filter:brightness(0)saturate()invert(20%)}.script-window-content .highlighted-command-section{transition:background-color 1s ease-out,opacity 1s ease-out;animation:.5s ease-out highlight-pulse;background-color:#ffc10740!important}:root[data-theme=light] .script-window-content .highlighted-command-section{background-color:#ffc1074d!important}.script-window-content .highlighted-command-section.fading-out{opacity:0;background-color:#0000!important}@keyframes highlight-pulse{0%{background-color:#ffc10780}to{background-color:#ffc10740}}.script-window.inline{width:100%;min-width:0;max-width:none;height:100%;min-height:0;max-height:none;box-shadow:none;z-index:auto;border:none;border-radius:0;position:relative;top:auto;left:auto;transform:none}.script-window.inline .script-window-header{cursor:default;border-radius:0}.view-mode-toggle{cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:all .15s;display:flex}.view-mode-toggle:hover,.view-mode-toggle.active,:root[data-theme=light] .view-mode-toggle:hover,:root[data-theme=light] .view-mode-toggle.active{background-color:#0000}.view-mode-icon{width:16px;height:16px;stroke:var(--text-secondary);outline:none;transition:stroke .15s}.view-mode-toggle:focus{box-shadow:none;outline:none}.view-mode-toggle:focus-visible{box-shadow:none;outline:none}.view-mode-toggle:hover .view-mode-icon{stroke:var(--text-primary)}.view-mode-toggle.active .view-mode-icon{stroke:var(--info)}.script-simple-view{background-color:var(--bg-tertiary);flex-direction:column;flex:1;padding:4px;display:flex;overflow-y:auto}.script-simple-empty{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:13px}.script-simple-list{flex-direction:column;gap:4px;display:flex}.script-simple-item{background-color:var(--bg-secondary);border:1px solid #0000;border-radius:2px;align-items:center;gap:10px;padding:2px 4px;transition:background-color .15s;display:flex}:root[data-theme=light] .script-simple-item{border-color:var(--border-primary)}.script-simple-item:hover{background-color:var(--hover-bg)}.script-simple-index{color:var(--text-tertiary);flex-shrink:0;min-width:24px;font-size:11px;font-weight:500}.script-simple-command{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.script-simple-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.script-simple-delete{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:flex}.script-simple-item:hover .script-simple-delete{opacity:1}.script-simple-delete:hover:not(:disabled){background-color:#ff3b301a}.script-simple-delete:disabled{opacity:.3;cursor:not-allowed}.script-simple-delete:focus{box-shadow:none;outline:none}.script-simple-delete:focus-visible{box-shadow:none;outline:none}.script-simple-delete img{filter:brightness(0)saturate()invert(85%);width:14px;height:14px;transition:filter .15s}.script-simple-delete:hover:not(:disabled) img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}:root[data-theme=light] .script-simple-delete img{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .script-simple-delete:hover:not(:disabled) img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.script-simple-time{color:var(--text-tertiary);opacity:.8;text-align:right;min-width:45px;font-size:11px}.script-simple-item-wrapper{border-radius:2px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.script-simple-item-wrapper.expanded{background-color:var(--bg-secondary)}.script-simple-item-wrapper.expanded .script-simple-item{border-bottom-color:var(--border-primary);border-radius:2px 2px 0 0}.script-simple-item-wrapper.new .script-simple-item{border-left:3px solid var(--success);padding-left:7px}.script-simple-plot{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:flex}.script-simple-item:hover .script-simple-plot{opacity:1}.script-simple-plot:hover{background-color:#3498db26}.script-simple-plot img{filter:brightness(0)saturate()invert(85%);width:14px;height:14px;transition:filter .15s}.script-simple-plot:hover img{filter:brightness(0)saturate()invert(65%)sepia(50%)saturate(500%)hue-rotate(175deg)brightness(95%)contrast(90%)}:root[data-theme=light] .script-simple-plot img{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .script-simple-plot:hover img{filter:brightness(0)saturate()invert(45%)sepia(90%)saturate(400%)hue-rotate(175deg)brightness(95%)contrast(90%)}.script-simple-code{background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-top:none;border-radius:0 0 2px 2px;margin:0;padding:0;overflow:hidden}.script-simple-code .monaco-loading{text-align:center;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:12px;font-size:12px}.script-simple-command{cursor:pointer}.script-simple-command:hover{text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.script-window{container:script-panel/inline-size}@container script-panel (width<=350px){.script-title-wrapper{display:none}.script-header-left{gap:4px}.script-chat-input-container{padding:4px}.script-chat-input-wrapper{padding:4px 2px 1px 4px}}@container chat-container (width<=220px){.script-chat-mention-button{display:none}}@container script-panel (width<=280px){.script-mode-toggle{min-width:auto;padding:2px 4px;font-size:9px}.script-mode-toggle .mode-icon{width:10px;height:10px}.script-chat-input-wrapper textarea{min-height:24px}.bottom-panel-content{flex-direction:column}.panel-resizer{display:none}.script-chat-container,.script-console-content{flex:none;width:100%;max-height:50%}}.remote-cursor-selection{position:relative}.remote-cursor-marker{width:2px;animation:1s infinite cursor-blink}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:.5}}.collaborative-indicator{color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:4px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;display:flex}.collaborative-indicator .status-dot{background-color:#28a745;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.collaborative-indicator .status-dot.connecting{background-color:#ffc107}.remote-users-avatars{align-items:center;margin-left:8px;display:flex}.remote-user-avatar{color:#fff;border:2px solid var(--bg-primary);cursor:default;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-left:-6px;font-size:10px;font-weight:600;display:flex}.remote-user-avatar:first-child{margin-left:0}.panel-group{flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-group.horizontal{flex-direction:row}.panel-group.vertical{flex-direction:column}.panel-group .panel-wrapper{flex-direction:column;min-width:300px;min-height:200px;display:flex}.panel-group .panel-wrapper[data-panel-id=datasetManager]{min-width:225px}.panel-group.horizontal .panel-wrapper{flex:none;min-width:300px;height:100%}.panel-group.horizontal .panel-wrapper[data-panel-id=datasetManager]{min-width:225px}.panel-group.vertical .panel-wrapper{min-height:150px;max-height:100%;overflow:hidden}.panel-group.vertical>.panel-group.horizontal{flex:1 1 0;height:100%}.panel-group.horizontal>.panel-group.vertical{flex:none;min-width:300px;height:100%}.upgrade-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.upgrade-modal{background:var(--bg-primary,#1a1a1a);border:1px solid var(--border-color,#333);border-radius:4px;width:90%;max-width:560px;max-height:90vh;animation:.3s modalSlideIn;position:relative;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.close-button{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.close-button:hover{background:var(--bg-secondary,#252525);color:var(--text-primary,#fff)}.modal-header{text-align:center;padding:24px 24px 16px}.modal-header h2{color:var(--text-primary,#fff);margin:0 0 8px;font-size:24px}.reason-message{color:var(--text-secondary,#888);margin:0;font-size:14px}.pricing-section{padding:0 24px}.pricing-cards{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.pricing-card{background:var(--bg-secondary,#252525);border:1px solid var(--border-color,#333);text-align:center;border-radius:4px;padding:20px;transition:border-color .2s;position:relative}.pricing-card.featured{border-color:#9b59b6}.savings-badge{color:#fff;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:-10px;right:12px}.pricing-card h3{color:var(--text-primary,#fff);margin:0 0 12px;font-size:16px}.price{margin-bottom:4px}.price .amount{color:var(--text-primary,#fff);font-size:32px;font-weight:700}.price .period{color:var(--text-secondary,#888);font-size:14px}.monthly-equivalent{color:var(--text-secondary,#888);margin-bottom:16px;font-size:12px}.checkout-button{cursor:pointer;border-radius:4px;width:100%;margin-top:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}.checkout-button.primary{color:#fff;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none}.checkout-button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #9b59b666}.checkout-button.secondary{border:1px solid var(--border-color,#444);color:var(--text-primary,#fff);background:0 0}.checkout-button.secondary:hover:not(:disabled){background:var(--bg-tertiary,#2a2a2a)}.checkout-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#e74c3c;text-align:center;background:#e74c3c1a;border:1px solid #e74c3c;border-radius:4px;margin-bottom:16px;padding:12px;font-size:13px}.features-list{background:var(--bg-secondary,#252525);border-radius:4px;margin-bottom:16px;padding:16px}.features-list h4{color:var(--text-primary,#fff);margin:0 0 12px;font-size:14px}.features-list ul{margin:0;padding:0;list-style:none}.features-list li{color:var(--text-secondary,#aaa);align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.features-list .check{color:#27ae60;font-weight:700}.modal-footer{text-align:center;padding:16px 24px 24px}.cancel-link{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;font-size:13px}.cancel-link:hover{color:var(--text-primary,#fff);text-decoration:underline}.pro-content{text-align:center;padding:40px 24px}.pro-icon{color:#fff;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:32px;display:flex}.pro-content h2{color:var(--text-primary,#fff);margin:0 0 8px}.pro-content p{color:var(--text-secondary,#888);margin:0 0 24px}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:4px;padding:12px 32px;font-size:14px;font-weight:600}@media (max-width:500px){.pricing-cards{grid-template-columns:1fr}.pricing-card.featured{order:-1}}.settings-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.settings-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:700px;height:600px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.settings-modal-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:12px;left:12px}.settings-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-modal-close:focus{box-shadow:none!important;border:none!important;outline:none!important}.settings-modal-close:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.settings-modal-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-primary);flex-direction:column;width:180px;min-width:180px;padding:56px 8px 16px;display:flex}.settings-modal-nav{flex-direction:column;gap:2px;display:flex}.settings-modal-nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:all .15s;display:flex}.settings-modal-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-modal-nav-item.active{background:var(--accent-primary);color:#fff}.settings-modal-nav-item:focus{box-shadow:none!important;outline:none!important}.settings-modal-nav-item:focus-visible{box-shadow:none!important;outline:none!important}.settings-modal-nav-icon{opacity:1;filter:brightness(0)invert(.85);width:18px;height:18px}.settings-modal-nav-item:hover .settings-modal-nav-icon{filter:brightness(0)invert(.95)}.settings-modal-nav-item.active .settings-modal-nav-icon{filter:brightness(0)invert();opacity:1}:root[data-theme=light] .settings-modal-nav-icon{filter:brightness(0)invert(.25)}:root[data-theme=light] .settings-modal-nav-item:hover .settings-modal-nav-icon{filter:brightness(0)invert(.15)}:root[data-theme=light] .settings-modal-nav-item.active .settings-modal-nav-icon{filter:brightness(0)invert(0)}.settings-modal-content{scrollbar-width:thin;scrollbar-color:var(--border-primary)transparent;flex:1;padding:24px;overflow-y:auto}.settings-modal-content::-webkit-scrollbar{width:8px}.settings-modal-content::-webkit-scrollbar-track{background:0 0}.settings-modal-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.settings-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.settings-modal-content::-webkit-scrollbar-button{display:none}.settings-modal-title{color:var(--text-primary);margin:0 0 24px;font-size:20px;font-weight:600}.settings-section{margin-bottom:24px}.settings-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px;font-weight:500}.settings-divider{background:var(--border-primary);height:1px;margin:24px 0}.settings-profile{align-items:center;gap:16px;display:flex}.settings-avatar{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:600;display:flex}.settings-profile-info{flex:1}.settings-profile-email{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:500}.settings-profile-date{color:var(--text-secondary);font-size:13px}.theme-selector{gap:8px;display:flex}.theme-option{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .15s;display:flex}.theme-option:hover{background:var(--bg-tertiary);color:var(--text-primary)}.theme-option.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.theme-option:focus{box-shadow:none!important;outline:none!important}.theme-option:focus-visible{box-shadow:none!important;outline:none!important}.theme-option img{opacity:.7;width:16px;height:16px}.theme-option.active img{filter:brightness(0)invert();opacity:1}.appearance-subsection{margin-bottom:16px}.appearance-subsection:last-child{margin-bottom:0}.appearance-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;display:block}.accent-color-selector{flex-wrap:wrap;gap:8px;display:flex}.accent-color-option{cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.accent-color-option:hover{transform:scale(1.1)}.accent-color-option.active{box-shadow:0 0 0 2px var(--bg-primary);border-color:#fff}.accent-color-option:focus{outline:none!important}.accent-color-option:focus-visible{outline:none!important}.accent-color-option svg{color:#fff;width:14px;height:14px}.language-selector{flex-wrap:wrap;gap:8px;display:flex}.language-option{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .15s;display:flex}.language-option:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.language-option.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.language-option:disabled{opacity:.6;cursor:not-allowed}.language-option:focus{box-shadow:none!important;outline:none!important}.language-option:focus-visible{box-shadow:none!important;outline:none!important}.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-primary);text-align:center;border-radius:4px;padding:4px}.stat-value{color:var(--text-primary);margin-bottom:4px;font-size:24px;font-weight:600}.stat-label{color:var(--text-secondary);font-size:12px}.settings-form{flex-direction:column;gap:16px;max-width:400px;display:flex}.form-group label{color:var(--text-secondary);font-size:13px}.form-group input{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:4px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-group input:focus{border-color:var(--accent-primary)}.auth-submit-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:opacity .15s}.auth-submit-btn:hover:not(:disabled){opacity:.9}.auth-submit-btn:focus{box-shadow:none!important;outline:none!important}.auth-submit-btn:focus-visible{box-shadow:none!important;outline:none!important}.auth-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;padding:10px 12px;font-size:13px}.auth-success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:4px;padding:10px 12px;font-size:13px}.billing-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;justify-content:space-between;align-items:center;padding:16px;display:flex}.billing-card-content{align-items:center;gap:12px;display:flex}.billing-plan-icon{background:var(--accent-primary);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.billing-plan-details{flex-direction:column;gap:2px;display:flex}.billing-plan-name{color:var(--text-primary);font-size:15px;font-weight:500}.billing-plan-description{color:var(--text-secondary);font-size:13px}.billing-plan-renewal{color:var(--text-tertiary);font-size:12px}.billing-card-action{border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .15s}.billing-card-action:hover{background:var(--bg-tertiary)}.billing-card-action:focus{box-shadow:none!important;outline:none!important}.billing-card-action:focus-visible{box-shadow:none!important;outline:none!important}.payment-card-icon{width:40px;height:auto}.payment-card-details{flex-direction:column;gap:2px;display:flex}.payment-card-number{color:var(--text-primary);font-size:14px}.invoices-table-wrapper{overflow-x:auto}.invoices-table{border-collapse:collapse;width:100%;font-size:13px}.invoices-table th,.invoices-table td{text-align:left;border-bottom:1px solid var(--border-primary);padding:10px 12px}.invoices-table th{color:var(--text-secondary);font-weight:500}.invoices-table td{color:var(--text-primary)}.invoice-status{border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-block}.invoice-status.status-paid{color:#22c55e;background:#22c55e1a}.invoice-status.status-open{color:#eab308;background:#eab3081a}.invoice-view-link{color:var(--accent-primary);text-decoration:none}.invoice-view-link:hover{text-decoration:underline}.upgrade-cards{gap:12px;margin-bottom:16px;display:flex}.upgrade-card{background:var(--bg-secondary);border:1px solid var(--border-primary);text-align:center;cursor:pointer;border-radius:4px;flex:1;padding:20px;transition:all .15s;position:relative}.upgrade-card:hover{border-color:var(--accent-primary)}.upgrade-card.recommended{border-color:var(--accent-primary);background:#6366f10d}.upgrade-card:focus{box-shadow:none!important;outline:none!important}.upgrade-card:focus-visible{box-shadow:none!important;outline:none!important}.upgrade-card-badge{background:var(--accent-primary);color:#fff;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:500;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.upgrade-card-price{color:var(--text-primary);font-size:28px;font-weight:600}.upgrade-card-period{color:var(--text-secondary);font-size:13px}.upgrade-card-label{color:var(--text-tertiary);margin-top:4px;font-size:12px}.upgrade-features{margin:0;padding:0;list-style:none}.upgrade-features li{color:var(--text-secondary);padding:6px 0;font-size:13px}.upgrade-features li:before{content:"\\2713";color:#22c55e;margin-right:8px}.settings-actions{flex-direction:column;gap:16px;display:flex}.settings-action-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-action-item h4{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:500}.settings-action-item p{color:var(--text-secondary);margin:0;font-size:13px}.settings-action-btn{border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .15s}.settings-action-btn:hover:not(:disabled){background:var(--bg-tertiary)}.settings-action-btn:disabled{opacity:.5;cursor:not-allowed}.settings-action-btn.danger-btn{color:#ef4444;border-color:#ef4444}.settings-action-btn.danger-btn:hover:not(:disabled){background:#ef44441a}.settings-action-btn:focus{box-shadow:none!important;outline:none!important}.settings-action-btn:focus-visible{box-shadow:none!important;outline:none!important}.danger-zone{background:#ef44440d;border:1px solid #ef444433;border-radius:4px;padding:16px}.danger-zone .settings-section-title{color:#ef4444}.usage-section-content{padding:0}.settings-loading{color:var(--text-secondary);font-size:13px}@media (max-width:640px){.settings-modal{flex-direction:column;height:90vh}.settings-modal-sidebar{border-right:none;border-bottom:1px solid var(--border-primary);width:100%;min-width:100%;padding:56px 16px 12px}.settings-modal-nav{flex-direction:row;gap:4px;overflow-x:auto}.settings-modal-nav-item{padding:8px 12px}.stats-grid{grid-template-columns:1fr}.upgrade-cards{flex-direction:column}}.settings-toggle-group{flex-direction:column;gap:16px;display:flex}.settings-toggle-item{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settings-toggle-info{flex-direction:column;gap:4px;display:flex}.settings-toggle-label{color:var(--text-primary);font-size:14px;font-weight:500}.settings-toggle-description{color:var(--text-secondary);font-size:12px}.settings-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{cursor:pointer;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:24px;transition:all .2s;position:absolute;top:0;bottom:0;left:0;right:0}.settings-toggle-slider:before{content:"";background-color:var(--text-secondary);border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:2px;left:2px}.settings-toggle input:checked+.settings-toggle-slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.settings-toggle input:checked+.settings-toggle-slider:before{background-color:#fff;transform:translate(20px)}.settings-toggle input:focus+.settings-toggle-slider{box-shadow:0 0 0 2px var(--border-focus)}.import-modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.import-modal{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;flex-direction:column;width:60%;max-width:400px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 30px #0003}.import-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:0 8px;display:flex}.import-modal-header-left{align-items:center;gap:0;display:flex}.import-modal-back-btn{cursor:pointer;color:var(--text-secondary,#555);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:18px;transition:color .2s;display:flex}.import-modal-back-btn:hover{color:var(--text-primary,#333)}.import-modal-back-btn:focus{outline:none}.import-modal-header h2{color:var(--text-color-primary,var(--text-primary,#333));margin:3px;font-size:15px;font-weight:500}.import-modal-close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.import-modal-close:focus{outline:none}.close-icon-svg{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px;transition:filter .2s}.import-modal-close:hover .close-icon-svg{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}:root[data-theme=light] .close-icon-svg{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .import-modal-close:hover .close-icon-svg{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.import-modal-content{padding:0;overflow-y:auto}.viewer-toolbar{background-color:var(--bg-primary);border-bottom:1px solid var(--border-primary);flex-shrink:0;align-items:center;gap:12px;min-height:32px;padding:4px 6px;display:flex}.viewer-toolbar-title{flex:1;align-items:center;min-width:0;display:flex;overflow:hidden}.viewer-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.viewer-toolbar-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.viewer-control-group{align-items:center;gap:2px;display:flex}.toolbar-separator{background-color:var(--border-primary);width:1px;height:16px;margin:0 4px}.viewer-nav-btn{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.viewer-nav-btn:focus{box-shadow:none;outline:none}.viewer-nav-btn:focus-visible{box-shadow:none;outline:none}.viewer-nav-btn:hover:not(:disabled){color:var(--text-primary)}.viewer-nav-btn:disabled{opacity:.4;cursor:not-allowed}.viewer-nav-btn svg{width:16px;height:16px}.page-indicator{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.page-input{border:1px solid var(--border-primary);background-color:var(--bg-secondary);width:36px;color:var(--text-primary);text-align:center;-moz-appearance:textfield;border-radius:4px;outline:none;padding:2px 4px;font-size:12px}.page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-input:focus{border-color:var(--accent-primary)}.page-total{color:var(--text-muted);font-size:12px}.zoom-input-wrapper{align-items:center;gap:1px;display:flex}.zoom-input{border:1px solid var(--border-primary);background-color:var(--bg-secondary);width:40px;color:var(--text-primary);text-align:center;border-radius:4px;outline:none;padding:2px 4px;font-size:12px}.zoom-input:focus{border-color:var(--accent-primary)}.zoom-percent{color:var(--text-muted);margin-left:2px;font-size:12px}.viewer-toolbar-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.viewer-action-btn{border:1px solid var(--border-primary);height:24px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background-color:#0000;border-radius:4px;outline:none;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;transition:all .2s;display:flex}.viewer-action-btn:focus{box-shadow:none;outline:none}.viewer-action-btn:focus-visible{box-shadow:none;outline:none}.viewer-action-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.viewer-action-btn svg{flex-shrink:0;width:14px;height:14px}.viewer-action-btn-primary{border:2px solid var(--accent-primary);color:var(--accent-primary);opacity:.85;font-weight:500}.viewer-action-btn-primary:hover{opacity:1;background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}:root[data-theme=light] .viewer-action-btn-primary{opacity:1;font-weight:600}.viewer-action-btn-success{color:#22c55e;opacity:.85;border:2px solid #22c55e;font-weight:500}.viewer-action-btn-success:hover{opacity:1;color:#fff;background-color:#22c55e;border-color:#22c55e}:root[data-theme=light] .viewer-action-btn-success{opacity:1;font-weight:600}.viewer-icon-btn{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.viewer-icon-btn:focus{box-shadow:none;outline:none}.viewer-icon-btn:focus-visible{box-shadow:none;outline:none}.viewer-icon-btn:hover{color:var(--text-primary)}.viewer-icon-btn svg{width:16px;height:16px}.viewer-close-btn:hover{color:#e74c3c}@media (max-width:600px){.viewer-toolbar{gap:4px;padding:4px}.viewer-action-btn span{display:none}.viewer-action-btn{padding:2px 6px}.toolbar-separator{display:none}}.pdf-viewer{background:var(--bg-secondary,#1e1e1e);flex-direction:column;height:100%;display:flex}.pdf-viewer-body{flex:1;min-height:0;display:flex;overflow:hidden}.pdf-sidebar{background:var(--bg-secondary,#1e1e1e);border-right:1px solid var(--border-primary,#333);flex-direction:column;width:180px;min-width:180px;transition:width .2s,min-width .2s;display:flex}.pdf-sidebar.collapsed{width:32px;min-width:32px}.pdf-sidebar-toggle{border:none;border-bottom:1px solid var(--border-primary,#333);width:100%;height:32px;color:var(--text-secondary,#888);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:color .2s;display:flex}.pdf-sidebar-toggle:hover{color:var(--text-primary,#fff)}.pdf-sidebar-toggle:focus{outline:none}.pdf-thumbnails{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow:hidden auto}.pdf-thumbnails-loading{justify-content:center;padding:20px;display:flex}.pdf-thumbnail{cursor:pointer;background:var(--bg-tertiary,#2d2d2d);border:2px solid #0000;border-radius:4px;flex-shrink:0;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.pdf-thumbnail:hover{border-color:var(--accent-primary,#007acc)}.pdf-thumbnail.active{border-color:var(--accent-primary,#007acc);box-shadow:0 0 0 1px var(--accent-primary,#007acc)}.pdf-thumbnail img{object-fit:contain;width:100%;height:auto;display:block}.pdf-thumbnail-number{color:var(--text-primary,#fff);background:#000000b3;border-radius:10px;padding:2px 8px;font-size:10px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.pdf-viewer-content{background:var(--bg-tertiary,#2d2d2d);flex:1;padding:20px;overflow:auto}.pdf-pages-container{flex-direction:column;align-items:center;gap:16px;padding-bottom:20px;display:flex}.pdf-page-wrapper{flex-direction:column;align-items:center;display:flex}.pdf-page-container{background:#fff;border-radius:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0000004d}.pdf-page-image{max-width:100%;height:auto;display:block}.pdf-viewer-loading{color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.pdf-viewer-error{color:var(--error-color,#ff6b6b);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.pdf-viewer-error button{background:var(--accent-primary,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.pdf-viewer-error button:hover{background:var(--accent-primary-hover,#0098ff)}.pdf-viewer-content::-webkit-scrollbar{width:8px}.pdf-thumbnails::-webkit-scrollbar{width:8px}.pdf-viewer-content::-webkit-scrollbar-track{background:0 0}.pdf-thumbnails::-webkit-scrollbar-track{background:0 0}.pdf-viewer-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#fff3);border-radius:4px}.pdf-thumbnails::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#fff3);border-radius:4px}.pdf-viewer-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff4d)}.pdf-thumbnails::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff4d)}:root[data-theme=light] .pdf-sidebar{background:var(--bg-secondary,#f5f5f5)}:root[data-theme=light] .pdf-thumbnail{background:#fff}:root[data-theme=light] .pdf-thumbnail-number{background:#0009}.pdf-page-placeholder{background:var(--bg-tertiary,#2d2d2d);color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}:root[data-theme=light] .pdf-page-placeholder{background:#f0f0f0}.pdf-loading-more{background:var(--bg-secondary,#252526);z-index:100;border-radius:8px;padding:12px;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 8px #0000004d}@media (max-width:768px){.pdf-sidebar{display:none}}.office-viewer{background:var(--bg-secondary,#1e1e1e);flex-direction:column;height:100%;display:flex;position:relative}.office-viewer-body{flex:1;min-height:0;display:flex;overflow:hidden}.office-sidebar{background:var(--bg-secondary,#1e1e1e);border-right:1px solid var(--border-primary,#333);flex-direction:column;width:180px;min-width:180px;transition:width .2s,min-width .2s;display:flex}.office-sidebar.collapsed{width:32px;min-width:32px}.office-sidebar-toggle{border:none;border-bottom:1px solid var(--border-primary,#333);width:100%;height:32px;color:var(--text-secondary,#888);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:color .2s;display:flex}.office-sidebar-toggle:hover{color:var(--text-primary,#fff)}.office-sidebar-toggle:focus{outline:none}.office-thumbnails{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow:hidden auto}.office-thumbnails-loading{justify-content:center;padding:20px;display:flex}.office-thumbnail{cursor:pointer;background:var(--bg-tertiary,#2d2d2d);border:2px solid #0000;border-radius:4px;flex-shrink:0;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.office-thumbnail:hover{border-color:var(--accent-primary,#007acc)}.office-thumbnail.active{border-color:var(--accent-primary,#007acc);box-shadow:0 0 0 1px var(--accent-primary,#007acc)}.office-thumbnail img{object-fit:contain;width:100%;height:auto;display:block}.office-thumbnail-number{color:var(--text-primary,#fff);background:#000000b3;border-radius:10px;padding:2px 8px;font-size:10px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.office-viewer-content{background:var(--bg-tertiary,#2d2d2d);flex:1;padding:20px;overflow:auto}.office-pages-container{flex-direction:column;align-items:center;gap:16px;padding-bottom:20px;display:flex}.office-page-wrapper{flex-direction:column;align-items:center;display:flex}.office-page-container{background:#fff;border-radius:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0000004d}.office-viewer-pptx .office-page-container{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%)}.office-page-image{max-width:100%;height:auto;display:block}.office-viewer-loading{color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.loading-spinner.small{border-width:2px;width:20px;height:20px}.office-viewer-error{color:var(--error-color,#ff6b6b);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.office-viewer-error button{background:var(--accent-primary,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.office-viewer-error button:hover{background:var(--accent-primary-hover,#0098ff)}.office-viewer-empty{color:var(--text-secondary,#888);justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.office-viewer-docx:before{content:"";z-index:1;background:#2b579a;width:4px;height:100%;position:absolute;top:0;left:0}.office-viewer-pptx:before{content:"";z-index:1;background:#d24726;width:4px;height:100%;position:absolute;top:0;left:0}.office-viewer-content::-webkit-scrollbar{width:8px}.office-thumbnails::-webkit-scrollbar{width:8px}.office-viewer-content::-webkit-scrollbar-track{background:0 0}.office-thumbnails::-webkit-scrollbar-track{background:0 0}.office-viewer-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#fff3);border-radius:4px}.office-thumbnails::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#fff3);border-radius:4px}.office-viewer-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff4d)}.office-thumbnails::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff4d)}:root[data-theme=light] .office-sidebar{background:var(--bg-secondary,#f5f5f5)}:root[data-theme=light] .office-thumbnail{background:#fff}:root[data-theme=light] .office-thumbnail-number{background:#0009}.office-page-placeholder{background:var(--bg-tertiary,#2d2d2d);color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}:root[data-theme=light] .office-page-placeholder{background:#f0f0f0}.office-loading-more{background:var(--bg-secondary,#252526);z-index:100;border-radius:8px;padding:12px;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 8px #0000004d}@media (max-width:768px){.office-sidebar{display:none}}.excel-viewer{background:var(--bg-secondary,#1e1e1e);flex-direction:column;height:100%;display:flex;position:relative}.excel-viewer-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.excel-sheet-tabs{background:var(--bg-tertiary,#2d2d2d);border-bottom:1px solid var(--border-primary,#333);gap:2px;padding:8px 12px;display:flex;overflow-x:auto}.excel-sheet-tab{color:var(--text-secondary,#888);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:4px 4px 0 0;padding:6px 16px;font-size:12px;transition:all .2s}.excel-sheet-tab:hover{color:var(--text-primary,#fff);background:var(--bg-secondary,#252526)}.excel-sheet-tab.active{color:var(--text-primary,#fff);background:var(--bg-secondary,#252526);border-color:var(--border-primary,#333)}.excel-info-bar{background:var(--bg-tertiary,#2d2d2d);border-bottom:1px solid var(--border-primary,#333);color:var(--text-secondary,#888);align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.excel-info-stat{font-weight:500}.excel-info-separator{color:var(--border-primary,#444)}.excel-info-preview{color:var(--text-muted,#666);font-style:italic}.excel-viewer-content{background:var(--bg-primary,#1e1e1e);flex:1;padding:0;overflow:auto}.excel-table-wrapper{max-height:100%;overflow:auto}.excel-data-table{border-collapse:collapse;width:100%;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.excel-data-table th,.excel-data-table td{text-align:left;border:1px solid var(--border-primary,#333);white-space:nowrap;text-overflow:ellipsis;max-width:300px;padding:6px 12px;overflow:hidden}.excel-data-table th{background:var(--bg-tertiary,#2d2d2d);color:var(--text-primary,#fff);z-index:10;font-weight:600;position:sticky;top:0}.excel-data-table td{color:var(--text-secondary,#ccc);background:var(--bg-primary,#1e1e1e)}.excel-data-table tr:hover td{background:var(--bg-secondary,#252526)}.excel-row-num{z-index:5;min-width:40px;font-size:10px;position:sticky;left:0;color:var(--text-muted,#666)!important;background:var(--bg-tertiary,#2d2d2d)!important;text-align:center!important;max-width:60px!important}.excel-data-table th.excel-row-num{z-index:15}.excel-viewer-loading{color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.excel-viewer-error{color:var(--error-color,#ff6b6b);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.excel-viewer-error button{background:var(--accent-primary,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.excel-viewer-error button:hover{background:var(--accent-primary-hover,#0098ff)}.excel-viewer:before{content:"";z-index:1;background:#217346;width:4px;height:100%;position:absolute;top:0;left:0}.excel-viewer-content::-webkit-scrollbar{width:8px;height:8px}.excel-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.excel-viewer-content::-webkit-scrollbar-track{background:0 0}.excel-table-wrapper::-webkit-scrollbar-track{background:0 0}.excel-viewer-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#fff3);border-radius:4px}.excel-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb,#fff3);border-radius:4px}.excel-viewer-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff4d)}.excel-table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,#ffffff4d)}:root[data-theme=light] .excel-data-table td{color:var(--text-primary,#333);background:#fff}:root[data-theme=light] .excel-data-table tr:hover td{background:#f5f5f5}:root[data-theme=light] .excel-row-num{background:#f0f0f0!important}.table-selection-list{margin-bottom:20px}.selection-controls{gap:8px;margin-bottom:12px;display:flex}.selection-controls button{color:var(--accent-color,#007acc);border:1px solid var(--accent-color,#007acc);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:12px}.selection-controls button:hover{background:var(--accent-color,#007acc);color:#fff}.table-items{flex-direction:column;gap:8px;display:flex}.table-item{background:var(--bg-secondary,#2d2d2d);border:1px solid var(--border-color,#444);border-radius:4px;align-items:center;gap:12px;padding:12px;transition:border-color .2s,background .2s;display:flex}.table-item:hover{background:var(--bg-hover,#333)}.table-item.selected{border-color:var(--accent-color,#007acc)}.table-item.previewing{background:var(--bg-hover,#333)}.table-checkbox{cursor:pointer;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative}.table-checkbox input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute}.table-checkbox .checkmark{border:2px solid var(--border-color,#666);border-radius:3px;width:18px;height:18px;transition:all .2s}.table-checkbox input:checked+.checkmark{background:var(--accent-color,#007acc);border-color:var(--accent-color,#007acc)}.table-checkbox input:checked+.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.table-info{flex-direction:column;flex:1;gap:4px;display:flex}.table-name-input{background:var(--bg-tertiary,#1e1e1e);border:1px solid var(--border-color,#444);color:var(--text-primary,#fff);border-radius:4px;padding:6px 10px;font-size:14px;font-weight:500}.table-name-input:focus{border-color:var(--accent-color,#007acc);outline:none}.table-stats{color:var(--text-secondary,#888);align-items:center;gap:6px;font-size:12px;display:flex}.table-stats .separator{opacity:.5}.preview-btn{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px;transition:color .2s}.preview-btn:hover,.preview-btn.active{color:var(--accent-color,#007acc)}.extracted-table-preview{border:1px solid var(--border-color,#444);border-radius:4px;margin-top:16px;overflow:hidden}.preview-header{background:var(--bg-secondary,#2d2d2d);border-bottom:1px solid var(--border-color,#444);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.preview-title{color:var(--text-primary,#fff);font-size:12px;font-weight:600}.preview-truncated{color:var(--text-secondary,#888);font-size:11px}.preview-table-container{max-height:300px;overflow:auto}.preview-table{border-collapse:collapse;width:100%;font-size:12px}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid var(--border-color,#444);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:8px 12px;overflow:hidden}.preview-table th{background:var(--bg-tertiary,#1e1e1e);color:var(--text-primary,#fff);z-index:1;font-weight:600;position:sticky;top:0}.preview-table td{color:var(--text-secondary,#ccc)}.preview-table tbody tr:hover td{background:var(--bg-hover,#333)}.preview-table .more-indicator{color:var(--text-secondary,#666);text-align:center;font-style:italic}.preview-table .more-row td{text-align:center;color:var(--text-secondary,#666);background:var(--bg-secondary,#2d2d2d);font-style:italic}.table-extraction-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.table-extraction-modal{background:var(--bg-primary,#252526);border:1px solid var(--border-color,#444);border-radius:8px;flex-direction:column;width:90%;max-width:900px;max-height:80vh;display:flex;box-shadow:0 8px 32px #0006}.table-extraction-header{border-bottom:1px solid var(--border-color,#444);align-items:center;gap:12px;padding:16px 20px;display:flex}.table-extraction-header h2{color:var(--text-primary,#fff);margin:0;font-size:18px;font-weight:600}.table-extraction-header .document-name{color:var(--text-secondary,#888);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.table-extraction-header .close-button{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.table-extraction-header .close-button:hover{color:var(--text-primary,#fff)}.table-extraction-content{flex:1;padding:20px;overflow:auto}.extraction-loading{color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.extraction-loading .loading-spinner{border:3px solid var(--border-color,#444);border-top-color:var(--accent-color,#007acc);border-radius:50%;width:32px;height:32px;animation:1s linear infinite extraction-spin}@keyframes extraction-spin{to{transform:rotate(360deg)}}.extraction-error{color:var(--error-color,#ff6b6b);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.extraction-error button{background:var(--accent-color,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px}.extraction-empty{color:var(--text-secondary,#888);justify-content:center;align-items:center;padding:40px;display:flex}.table-extraction-footer{border-top:1px solid var(--border-color,#444);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.table-extraction-footer .selection-count{color:var(--text-secondary,#888);font-size:14px}.table-extraction-footer .footer-actions{gap:12px;display:flex}.table-extraction-footer .cancel-button{color:var(--text-primary,#fff);border:1px solid var(--border-color,#444);cursor:pointer;background:0 0;border-radius:4px;padding:8px 16px;font-size:14px}.table-extraction-footer .cancel-button:hover{background:var(--bg-hover,#3a3a3a)}.table-extraction-footer .import-button{background:var(--accent-color,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.table-extraction-footer .import-button:hover:not(:disabled){background:var(--accent-hover,#0098ff)}.table-extraction-footer .import-button:disabled{opacity:.5;cursor:not-allowed}.document-viewer-modal-overlay{z-index:900;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.document-viewer-modal{background:var(--bg-primary,#252526);border:1px solid var(--border-color,#444);border-radius:4px;flex-direction:column;width:90%;max-width:1400px;height:90%;max-height:900px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0006}.unsupported-document{height:100%;color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.unsupported-document button{background:var(--accent-color,#007acc);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px}.unsupported-document button:hover{background:var(--accent-hover,#0098ff)}@media (max-width:768px){.document-viewer-modal{border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dataset-manipulator-layout{background-color:var(--bg-primary);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.panels-container{flex-shrink:0;height:100%;display:flex;overflow:hidden}.panels-container.horizontal{flex-direction:row}.panels-container.vertical{flex-direction:column}.panels-container.right-panels{border-right:none;border-left:1px solid var(--border-primary)}.panel-wrapper{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.horizontal .panel-wrapper{border-bottom:none;flex:none;min-width:300px}.horizontal .panel-wrapper[data-panel-id=datasetManager]{min-width:225px}.horizontal .panel-wrapper:last-child{border-right:none}.vertical .panel-wrapper{border-right:none;flex:none;min-height:200px}.vertical .panel-wrapper:last-child{border-bottom:none}.panel-wrapper.drag-over{position:relative}.panel-wrapper.drag-over:before{content:"";border:2px solid var(--info);pointer-events:none;z-index:10;background-color:#007bff26;position:absolute;top:0;bottom:0}.panel-wrapper.drag-over-left:before{width:30%;left:0}.panel-wrapper.drag-over-right:before{width:30%;right:0}.panel-wrapper.drag-over-center:before{width:40%;left:30%;right:30%}.panel-content{border:none;flex-direction:column;height:100%;display:flex;overflow:hidden}.dataset-manipulator-layout.is-dragging .panel-content{pointer-events:none}.dataset-manipulator-layout.is-dragging .drag-handle{pointer-events:auto}.panel-header{background-color:var(--bg-primary);flex-shrink:0;align-items:center;min-width:0;padding:4px 6px;display:flex}.panel-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.panel-header h3{color:var(--text-primary);white-space:nowrap;flex-shrink:0;margin:0;font-size:14px;font-weight:600}.panel-dataset-info{color:var(--accent-primary);background-color:var(--highlight-bg);white-space:nowrap;text-overflow:ellipsis;cursor:default;border-radius:4px;max-width:200px;padding:3px 6px;font-size:12px;font-weight:500;overflow:hidden}.panel-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.panel-action-btn{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:700;line-height:24px;transition:all .2s;display:flex}.panel-action-btn:focus{box-shadow:none;outline:none}.panel-action-btn:focus-visible{box-shadow:none;outline:none}.panel-action-btn:hover:not(:disabled):not(.import-btn){color:var(--text-primary)}.panel-action-btn:disabled{opacity:.4;cursor:not-allowed}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;outline:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.drag-handle:focus{outline:none}.drag-handle img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:17px;height:17px}.drag-handle:hover img{filter:brightness(0)saturate()invert(93%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.drag-handle:active{cursor:grabbing}.panel-action-btn.history-btn img,.panel-action-btn.add-btn img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:18px;height:18px}.panel-action-btn.history-btn:hover img,.panel-action-btn.add-btn:hover img{filter:brightness(0)saturate()invert(93%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.panel-header-actions .panel-close-btn{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:24px;transition:all .2s;display:flex;position:static}.panel-header-actions .panel-close-btn:focus{box-shadow:none;outline:none}.panel-header-actions .panel-close-btn:focus-visible{box-shadow:none;outline:none}.panel-header-actions .panel-close-btn img{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:14px;height:14px}.panel-header-actions .panel-close-btn:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.panel-header-search{flex:1;align-items:center;min-width:0;display:flex}.panel-header-search-input{min-width:0;color:var(--text-primary);background-color:#ffffff0d;border:1px solid #ffffff26;border-radius:1px;outline:none;flex:1;padding:4px 8px;font-size:12px}.panel-header-search-input:focus{border-color:var(--info,#61afef);background-color:#ffffff14}.panel-header-search-input::placeholder{color:var(--text-secondary)}.panel-header-nav{align-items:center;gap:8px;display:flex}.panel-header-back-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:2px 6px;font-size:14px;transition:color .15s;display:flex}.panel-header-back-btn:hover{color:var(--text-primary)}.panel-header-back-btn:focus,.panel-header-back-btn:active{box-shadow:none!important;border:none!important;outline:none!important}.panel-header-back-btn:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.panel-action-icon{filter:brightness(0)saturate()invert(85%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast();width:16px;height:16px}.panel-action-btn:hover .panel-action-icon{filter:brightness(0)saturate()invert(95%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .panel-action-icon{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .panel-action-btn:hover .panel-action-icon{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.panel-action-btn.import-btn{border:2px solid var(--accent-primary);width:auto;height:24px;color:var(--accent-primary);opacity:.85;border-radius:4px;padding:2px 4px;font-size:11px;font-weight:500;transition:all .2s}.panel-action-btn.import-btn:hover{opacity:1;background-color:var(--accent-primary);color:#fff}:root[data-theme=light] .panel-action-btn.import-btn{opacity:1;font-weight:600}:root[data-theme=light] .panel-action-btn.import-btn:hover{background-color:var(--accent-primary);color:#fff}.panel-action-plus{color:var(--text-secondary);font-size:18px;font-weight:400;line-height:1}.panel-action-btn:hover .panel-action-plus{color:var(--text-primary)}.panels-container.empty-drop-zone{pointer-events:all;z-index:1000;background-color:#0000;border:none;width:150px;min-width:150px;max-width:150px;transition:all .2s;position:absolute;top:0;bottom:0}.panels-container.empty-drop-zone.left-panels{left:60px}.panels-container.empty-drop-zone.right-panels{right:0}.panels-container.empty-drop-zone.drag-over{border:2px solid var(--info);background-color:#007bff26;width:400px;min-width:400px;max-width:400px}.panels-container.drag-over:not(.empty-drop-zone){background-color:#007bff0d;border-color:var(--info)!important}.resize-handle{cursor:col-resize;z-index:10;background-color:#0000;flex-shrink:0;width:0;transition:background-color .2s,opacity .2s;position:relative}.resize-handle:before{content:"";cursor:col-resize;position:absolute;top:0;bottom:0;left:-4px;right:-4px}.resize-handle:hover{background-color:var(--accent-secondary);opacity:.6}.resize-handle:active{background-color:var(--accent-secondary-hover);opacity:.8}.inter-panel-resize-handle{cursor:col-resize;z-index:10;background-color:#0000;flex-shrink:0;width:1px;transition:background-color .2s,opacity .2s;position:relative}.inter-panel-resize-handle:before{content:"";cursor:col-resize;position:absolute;top:0;bottom:0;left:-4px;right:-4px}.inter-panel-resize-handle.vertical{cursor:row-resize;width:auto;height:1px}.inter-panel-resize-handle.vertical:before{cursor:row-resize;top:-4px;bottom:-4px;left:0;right:0}.inter-panel-resize-handle:hover{background-color:var(--accent-secondary);opacity:.6}.inter-panel-resize-handle:active{background-color:var(--accent-secondary-hover);opacity:.8}.main-content{background-color:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}@media (max-width:900px){.panels-container:not(.empty-drop-zone),.resize-handle{display:none!important}.main-content{flex:1!important;min-width:0!important}}:root[data-theme=light] .drag-handle img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .drag-handle:hover img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .panel-action-btn.history-btn img,:root[data-theme=light] .panel-action-btn.add-btn img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .panel-action-btn.history-btn:hover img,:root[data-theme=light] .panel-action-btn.add-btn:hover img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .panel-header-actions .panel-close-btn img{filter:brightness(0)saturate()invert(25%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}:root[data-theme=light] .panel-header-actions .panel-close-btn:hover img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.project-card{background:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;border-radius:4px;flex-direction:column;transition:all .15s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--accent-primary)}.project-card-preview{background:var(--bg-spreadsheet);border-bottom:1px solid var(--border-primary);height:120px;padding:0;position:relative;overflow:hidden}.spreadsheet-canvas{width:100%;height:100%;display:block}.project-card-preview .project-menu-container{z-index:10;position:absolute;top:8px;right:8px}.project-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.project-icon{background:var(--accent-primary);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.project-menu-container{background:0 0;position:relative}.project-menu-btn{cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .15s;display:flex}.project-menu-icon{width:24px;height:24px;transform:rotate(90deg)}.project-menu-btn:hover,.project-menu-btn:active{opacity:1}.project-menu-btn:focus{opacity:1;outline:none}.project-menu-backdrop{z-index:100;position:fixed;top:0;bottom:0;left:0;right:0}.project-menu{background:var(--bg-primary);border:1px solid var(--border-primary);z-index:101;border-radius:4px;min-width:160px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #0003}.project-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background .15s;display:flex}.project-menu-item:hover{background:var(--bg-secondary)}.project-menu-item.delete{color:#ef4444}.project-menu-item.delete:hover{background:#ef44441a}.project-card-content{flex:1;margin-top:8px;padding-left:8px}.project-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:15px;font-weight:600;overflow:hidden}.project-description{color:var(--text-secondary);text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.project-card-footer{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 8px;display:flex}.project-stats{gap:12px;display:flex}.stat{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.project-updated{color:var(--text-tertiary);font-size:12px}.project-owner{color:var(--text-tertiary);border-top:1px dashed var(--border-primary);margin:0 16px 12px;padding-top:8px;font-size:11px}.create-project-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.create-project-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:480px;animation:.2s ease-out slideIn;box-shadow:0 20px 60px #0000004d}@keyframes slideIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.create-project-modal-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.create-project-modal-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.create-project-modal form{padding:24px}.create-project-modal .form-group{margin-bottom:20px}.create-project-modal .form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.create-project-modal .form-group input,.create-project-modal .form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:4px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.create-project-modal .form-group input:focus,.create-project-modal .form-group textarea:focus{border-color:var(--accent-primary)}.create-project-modal .form-group input::placeholder,.create-project-modal .form-group textarea::placeholder{color:var(--text-tertiary)}.create-project-modal .form-group textarea{resize:vertical;min-height:80px}.create-project-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:20px;padding:12px;font-size:13px}.create-project-modal-actions{justify-content:flex-end;gap:12px;display:flex}.cancel-btn{border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;padding:10px 20px;font-size:14px;transition:all .15s}.cancel-btn:hover:not(:disabled){background:var(--bg-tertiary)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.create-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 6px;font-size:14px;font-weight:500;transition:all .15s}.create-btn:hover:not(:disabled){opacity:.9}.create-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.create-project-modal{width:95%;margin:16px}.create-project-modal-header{padding:16px 20px}.create-project-modal form{padding:20px}}.project-settings-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.project-settings-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;flex-direction:column;width:90%;max-width:540px;max-height:80vh;animation:.2s ease-out slideIn;display:flex;box-shadow:0 20px 60px #0000004d}.project-settings-modal-header{border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.project-settings-modal-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.close-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.project-settings-tabs{border-bottom:1px solid var(--border-primary);flex-shrink:0;gap:4px;padding:12px 24px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .15s}.tab-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-btn.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:500}.project-settings-content{flex:1;padding:24px;overflow-y:auto}.project-settings-content .form-group{margin-bottom:20px}.project-settings-content .form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.project-settings-content .form-group input,.project-settings-content .form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:4px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.project-settings-content .form-group input:focus,.project-settings-content .form-group textarea:focus{border-color:var(--accent-primary)}.project-settings-content .form-group input:disabled,.project-settings-content .form-group textarea:disabled{opacity:.6;cursor:not-allowed}.project-settings-content .form-group input::placeholder,.project-settings-content .form-group textarea::placeholder{color:var(--text-tertiary)}.project-settings-content .form-group textarea{resize:vertical;min-height:80px}.settings-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:16px;padding:12px;font-size:13px}.settings-success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:4px;margin-bottom:16px;padding:12px;font-size:13px}.form-actions{justify-content:flex-end;margin-bottom:24px;display:flex}.save-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.save-btn:hover:not(:disabled){opacity:.9}.save-btn:disabled{opacity:.5;cursor:not-allowed}.members-section{flex-direction:column;gap:20px;display:flex;overflow-x:hidden}.pro-badge-notice{color:var(--text-secondary);background:#a855f71a;border:1px solid #a855f733;border-radius:4px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.pro-badge{letter-spacing:.5px;color:#fff;background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%);border-radius:4px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.invite-form{border-bottom:1px solid var(--border-primary);padding-bottom:20px}.invite-input-row{align-items:center;gap:8px;display:flex}.invite-input-row input{box-sizing:border-box;flex:1;min-width:120px;height:36px;padding:0 12px}.invite-btn{background:var(--accent-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;height:36px;padding:0 16px;font-size:14px;font-weight:500;transition:all .15s}.invite-btn:hover:not(:disabled){opacity:.9}.invite-btn:disabled{opacity:.5;cursor:not-allowed}.members-list{flex-direction:column;gap:12px;display:flex}.members-list h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:13px;font-weight:600}.member-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.member-item.owner{border-color:var(--accent-primary);background:#6366f10d}.member-info{flex:1;align-items:center;gap:12px;display:flex}.member-avatar{background:var(--bg-tertiary);width:36px;height:36px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.member-details{flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:8px;display:flex}.member-email{color:var(--text-primary);font-size:14px}.member-role{color:var(--text-tertiary);font-size:12px}.member-role.editable{cursor:pointer;border-radius:4px;padding:2px 6px;transition:all .15s}.member-role.editable:hover{background:var(--bg-secondary);color:var(--accent-primary)}.role-dropdown-container{position:relative}.role-dropdown-trigger{border:1px solid var(--border-primary);height:36px;color:var(--text-primary);cursor:pointer;white-space:nowrap;box-sizing:border-box;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.role-dropdown-trigger:hover{background:var(--hover-bg)}.role-dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.role-dropdown-trigger svg{color:var(--text-tertiary)}.role-dropdown-menu{background:var(--bg-elevated);border:1px solid var(--border-primary);z-index:10001;border-radius:4px;min-width:100%;padding:0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000004d}.role-dropdown-menu button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;transition:background-color .15s;display:block}.role-dropdown-menu button:hover{background:var(--hover-bg)}.role-dropdown-menu button.active{background:var(--active-bg)}.role-dropdown-menu button:focus{outline:none}.role-select-inline{background:var(--bg-tertiary);border:1px solid var(--accent-primary);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border-radius:4px;padding:4px 24px 4px 8px;font-family:inherit;font-size:12px;transition:border-color .15s}.role-select-inline:focus{outline:none}.remove-member-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.remove-member-btn:hover{color:#ef4444;background:#ef44441a}.loading-members,.no-members{text-align:center;color:var(--text-tertiary);padding:20px;font-size:13px}@media (max-width:480px){.project-settings-modal{width:95%;max-height:90vh;margin:16px}.project-settings-modal-header{padding:16px 20px}.project-settings-tabs{padding:12px 16px}.project-settings-content{padding:20px}}@media (max-width:380px){.invite-input-row{flex-wrap:wrap}.invite-input-row input{flex:100%}}.loading-screen{z-index:9999;opacity:1;visibility:visible;background-color:#fff;justify-content:center;align-items:center;transition:opacity 75ms ease-out,visibility 75ms ease-out;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loading-screen--hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-screen__content{flex-direction:column;align-items:center;gap:24px;display:flex}.loading-screen__logo{width:150px;height:auto;animation:2.5s ease-in-out infinite breathe}@keyframes breathe{0%{opacity:0;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(.98)}}.projects-page{background:var(--bg-primary);height:100vh;color:var(--text-primary);display:flex;overflow:hidden}.projects-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-primary);flex-direction:column;flex-shrink:0;width:240px;height:100%;padding-top:16px;display:flex;overflow:hidden auto}.sidebar-logo{align-items:center;gap:10px;padding:0 12px 12px;text-decoration:none;display:flex}.sidebar-logo-img{width:28px;height:28px}.sidebar-logo-text{color:var(--text-primary);font-size:14px;font-weight:600}.sidebar-content{flex-direction:column;flex:1;gap:16px;min-width:0;padding:6px 8px;display:flex;overflow:hidden auto}.projects-sidebar-section{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.projects-sidebar-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin:0 0 4px;padding:0 4px;font-size:11px;font-weight:600}.sidebar-action-btn{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:all .15s;display:flex}.sidebar-action-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}.sidebar-action-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-action-btn svg{opacity:.7;flex-shrink:0}.sidebar-action-btn:hover:not(:disabled) svg{opacity:1}.sidebar-action-btn-wrapper{position:relative}.project-picker-dropdown{background:var(--bg-secondary);border:1px solid var(--border-primary);z-index:100;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;border-radius:6px;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.project-picker-dropdown::-webkit-scrollbar{width:6px}.project-picker-dropdown::-webkit-scrollbar-track{background:0 0}.project-picker-dropdown::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.project-picker-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.dropdown-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:8px 12px;font-size:11px;font-weight:600}.dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background .15s;display:flex}.dropdown-item:hover{background:var(--bg-tertiary)}.dropdown-item.create-new{color:var(--accent-primary)}.dropdown-item.create-new:hover{background:#6366f11a}.dropdown-item svg{opacity:.7;flex-shrink:0}.dropdown-item:hover svg{opacity:1}.dropdown-divider{background:var(--border-primary);height:1px;margin:4px 0}.sidebar-tips{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;min-width:0;max-width:100%;padding:12px;overflow:hidden}.tip-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.tip-header svg{color:var(--accent-primary)}.tip-content{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;min-height:36px;margin:0 0 12px;font-size:12px;line-height:1.5}.tip-nav{justify-content:center;align-items:center;gap:8px;display:flex}.tip-nav-btn{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.tip-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.tip-dots{align-items:center;gap:6px;display:flex}.tip-dot{background:var(--border-primary);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .15s}.tip-dot:hover{background:var(--text-tertiary)}.tip-dot.active{background:var(--accent-primary);border-radius:3px;width:16px}.sidebar-links{border-top:1px solid var(--border-primary);margin-top:auto;padding-top:8px}.sidebar-link{color:var(--text-secondary);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.sidebar-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-link svg{opacity:.7;flex-shrink:0}.sidebar-link:hover svg{opacity:1}.sidebar-upgrade{background:linear-gradient(135deg,#6366f126 0%,#8b5cf626 100%);border:1px solid #6366f14d;border-radius:4px;padding:12px}.sidebar-upgrade-text{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.upgrade-label{color:var(--text-primary);font-size:13px;font-weight:600}.upgrade-desc{color:var(--text-secondary);font-size:11px}.sidebar-upgrade-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.sidebar-upgrade-btn:hover{opacity:.9}.sidebar-footer{border-top:1px solid var(--border-primary);flex-shrink:0;margin-top:auto;margin-bottom:8px;padding-bottom:6px}.sidebar-user-container{position:relative}.sidebar-user-backdrop{z-index:99;position:fixed;top:0;bottom:0;left:0;right:0}.sidebar-user-btn{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;outline:none;align-items:center;gap:10px;padding:8px;font-size:13px;transition:all .15s;display:flex}.sidebar-user-btn:focus{box-shadow:none;outline:none}.sidebar-user-btn:hover{background:0 0}.sidebar-user-btn:hover .sidebar-user-email{color:var(--text-bright,#fff)}.sidebar-user-avatar{background:var(--accent-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.sidebar-user-email{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.sidebar-user-menu{background:var(--bg-secondary);border:1px solid var(--border-primary);z-index:100;border-radius:4px;margin-bottom:4px;padding:6px 0;position:absolute;bottom:100%;left:0;right:0;box-shadow:0 4px 20px #0000004d}.sidebar-user-menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:background .15s;display:flex}.sidebar-user-menu-item:hover{background:var(--active-bg)}.sidebar-user-menu-item.signout{color:var(--text-secondary)}.sidebar-user-menu-item.signout:hover{color:var(--text-primary);background:var(--active-bg)}.sidebar-user-menu-icon{filter:brightness(0)saturate()invert(85%);width:18px;height:18px;transition:filter .2s}.sidebar-user-menu-item:hover .sidebar-user-menu-icon{filter:brightness(0)saturate()invert()}:root[data-theme=light] .sidebar-user-menu-icon{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .sidebar-user-menu-item:hover .sidebar-user-menu-icon{filter:brightness(0)saturate()invert(0%)}.sidebar-user-menu-divider{background:var(--border-primary);height:1px;margin:6px 0}.projects-main{flex:1;height:100%;overflow-y:auto}.projects-container{max-width:1200px;margin:0 auto;padding:40px 24px}.projects-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.projects-header-left h1{margin:0 0 4px;font-size:28px;font-weight:600}.create-project-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.create-project-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.create-project-btn:disabled{opacity:.5;cursor:not-allowed}.projects-controls{align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-container{flex:1;align-items:center;max-width:320px;display:flex;position:relative}.search-container svg{color:var(--text-tertiary);pointer-events:none;position:absolute;left:12px}.search-input{background:var(--bg-secondary);border:1px solid var(--border-primary);width:100%;height:36px;color:var(--text-primary);border-radius:4px;outline:none;padding:0 36px;font-family:inherit;font-size:14px;transition:border-color .15s}.search-input:focus{border-color:var(--accent-primary)}.search-input::placeholder{color:var(--text-tertiary)}.search-clear{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:8px}.search-clear:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sort-container{align-items:center;gap:4px;display:flex}.sort-select{background:var(--bg-secondary);border:1px solid var(--border-primary);height:36px;color:var(--text-primary);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:4px;padding:0 32px 0 12px;font-family:inherit;font-size:14px}.sort-select:focus{border-color:var(--accent-primary);outline:none}.sort-order-btn{background:var(--bg-secondary);border:1px solid var(--border-primary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.sort-order-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sort-order-btn svg{transition:transform .2s}.projects-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.projects-loading p{color:var(--text-secondary);font-size:14px}.projects-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:24px;padding:16px;font-size:14px}.projects-section{margin-bottom:40px}.section-title{color:var(--text-secondary);align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:500;display:flex}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.projects-empty{background:var(--bg-secondary);border:1px dashed var(--border-primary);text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:30px 12px;display:flex}.projects-empty h3{margin:0 0 8px;font-size:18px;font-weight:600}.projects-empty p{color:var(--text-secondary);max-width:360px;margin:0 0 24px;font-size:14px}.create-first-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .15s}.create-first-btn:hover{opacity:.9;transform:translateY(-1px)}@media (max-width:768px){.projects-sidebar{display:none}}@media (max-width:640px){.projects-container{padding:24px 16px}.projects-header{flex-direction:column;gap:16px}.projects-header-right{width:100%}.create-project-btn{justify-content:center;width:100%}.projects-controls{flex-direction:column;align-items:stretch}.search-container{max-width:none}.sort-container{justify-content:flex-end}.projects-grid{grid-template-columns:1fr}}.delete-confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10002;background:#0009;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.delete-confirm-modal{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:400px;padding:20px;animation:.15s ease-out slideIn;box-shadow:0 4px 20px #0000004d}.delete-confirm-text{color:var(--text-primary);margin:0 0 20px;font-size:14px;line-height:1.5}.delete-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.delete-confirm-btn{cursor:pointer;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.delete-confirm-btn.cancel{border:1px solid var(--border-primary);color:var(--text-primary);background:0 0}.delete-confirm-btn.cancel:hover:not(:disabled){background:var(--bg-tertiary)}.delete-confirm-btn.danger{color:#fff;background:#ef4444;border:1px solid #ef4444}.delete-confirm-btn.danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.landing-nav{z-index:1000;background:var(--bg-tertiary);border-bottom:1px solid var(--border-secondary);height:48px;transition:box-shadow .3s;position:fixed;top:0;left:0;right:0}.landing-nav.scrolled{box-shadow:0 2px 10px #00000026}.nav-content{justify-content:space-between;align-items:center;max-width:1200px;height:100%;margin:0 auto;padding:0 24px;display:flex;position:relative}.nav-logo{color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.nav-logo:hover{color:var(--text-primary);text-decoration:none}.nav-logo img{object-fit:contain;width:32px;height:32px}.nav-links{align-items:center;gap:32px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-links a{color:var(--text-secondary);font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.nav-actions{align-items:center;gap:12px;display:flex}.nav-btn{border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.nav-btn.secondary{color:var(--text-secondary);background:0 0}.nav-btn.secondary:hover{color:var(--text-primary)}.nav-btn.primary{color:#fff;background:#10b981}.nav-btn.primary:hover{background:#0d9668}@media (max-width:768px){.nav-links{display:none}.nav-content{padding:0 16px}}.command-demo{transition:opacity .4s}.command-demo.fading-out{opacity:.5}.demo-window{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.demo-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-secondary);align-items:center;gap:10px;padding:12px 16px;display:flex}.demo-logo{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.demo-logo img{object-fit:contain;width:100%;height:100%}.demo-title{color:var(--text-secondary);font-size:13px;font-weight:500}.demo-body{flex-direction:column;gap:16px;height:280px;padding:20px;display:flex}.demo-input-area{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.demo-input{color:var(--text-primary);flex:1;min-height:20px;font-size:14px}.input-text{white-space:pre-wrap}.cursor{color:#10b981;opacity:0;font-weight:300}.cursor.blinking{animation:1s step-end infinite blink}.demo-send-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;max-width:32px;min-height:32px;max-height:32px;padding:0;transition:all .2s;display:flex}.demo-send-btn:hover{background:#0d9668;transform:scale(1.05)}.demo-send-btn img{filter:brightness(0)saturate()invert();width:14px;height:14px}.demo-send-btn:disabled{opacity:.5}.demo-result{opacity:0;flex:1;transition:opacity .4s,transform .4s;transform:translateY(10px)}.demo-result.visible{opacity:1;transform:translateY(0)}.result-header{margin-bottom:12px}.command-badge{color:#10b981;background:#10b9811a;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-block}.result-content{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:10px;height:160px;overflow:hidden}.result-table{font-size:13px}.table-row{grid-template-columns:repeat(var(--col-count,4),1fr);border-bottom:1px solid var(--border-secondary);display:grid}.table-row:last-child{border-bottom:none}.table-row.header-row{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.table-cell{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;overflow:hidden}.header-row .table-cell{color:var(--text-primary)}.plot-preview{box-sizing:border-box;justify-content:center;align-items:flex-end;height:100%;padding:20px;display:flex}.plot-bars{align-items:flex-end;gap:16px;width:100%;max-width:280px;height:100%;display:flex}.bar{background:#10b981;border-radius:4px 4px 0 0;flex:1;animation:.6s ease-out growBar;position:relative}@keyframes growBar{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}.bar-label{color:var(--text-tertiary);white-space:nowrap;font-size:11px;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.demo-indicators{justify-content:center;gap:8px;margin-top:16px;display:flex}.indicator{background:var(--border-secondary);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .2s}.indicator.active{background:#10b981;border-radius:4px;width:20px}.indicator:hover:not(.active){background:var(--text-tertiary)}@media (max-width:640px){.demo-body{height:300px;padding:16px}.demo-input-area{padding:12px 14px}.demo-input{font-size:13px}.table-cell{padding:8px 10px;font-size:12px}}@media (prefers-reduced-motion:reduce){.cursor.blinking{opacity:1;animation:none}.demo-result.visible{transition:none}.bar{animation:none}.command-demo{transition:none}}.hero-section{justify-content:center;align-items:center;gap:60px;max-width:1200px;margin:0 auto;padding:80px 24px;display:flex}.hero-content{flex:1;max-width:520px}.hero-headline{color:var(--text-primary);margin:0 0 20px;font-size:48px;font-weight:700;line-height:1.1}.hero-subheadline{color:var(--text-secondary);margin:0 0 32px;font-size:18px;line-height:1.6}.hero-cta{gap:12px;display:flex}.cta-btn{border-radius:8px;padding:14px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s}.cta-btn.primary{color:#fff;background:#10b981}.cta-btn.primary:hover{background:#0d9668;transform:translateY(-1px)}.cta-btn.secondary{color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-secondary)}.cta-btn.secondary:hover{border-color:var(--border-primary);background:var(--bg-tertiary)}.hero-demo{flex:1;max-width:480px}@media (max-width:1024px){.hero-section{flex-direction:column;gap:40px;padding:60px 24px}.hero-content{text-align:center;max-width:100%}.hero-cta{justify-content:center}.hero-demo{width:100%;max-width:100%}}@media (max-width:640px){.hero-headline{font-size:36px}.hero-subheadline{font-size:16px}.hero-cta{flex-direction:column}.cta-btn{text-align:center}}.how-it-works-section{background:var(--bg-secondary);padding:80px 24px}.how-it-works-container{max-width:1000px;margin:0 auto}.how-it-works-header{text-align:center;opacity:0;margin-bottom:48px;transition:opacity .5s,transform .5s;transform:translateY(20px)}.how-it-works-header.visible{opacity:1;transform:translateY(0)}.how-it-works-title{color:var(--text-primary);margin:0 0 12px;font-size:36px;font-weight:700}.how-it-works-subtitle{color:var(--text-secondary);margin:0;font-size:16px}.how-steps-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.how-step{background:var(--bg-primary);border:1px solid var(--border-secondary);text-align:center;opacity:0;border-radius:12px;padding:32px 24px;transition:opacity .5s,transform .5s,border-color .2s;position:relative;transform:translateY(20px)}.how-step.visible{opacity:1;transform:translateY(0)}.how-step:hover{border-color:#10b981}.step-number{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:flex;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.step-icon{color:#10b981;background:#10b9811a;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;margin:12px auto 20px;display:flex}.step-title{color:var(--text-primary);margin:0 0 10px;font-size:18px;font-weight:600}.step-description{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}@media (max-width:768px){.how-it-works-section{padding:60px 20px}.how-it-works-title{font-size:28px}.how-steps-grid{grid-template-columns:1fr;gap:32px;max-width:360px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.how-it-works-header,.how-step{opacity:1;transition:none;transform:none}}.features-section{background:var(--bg-primary);padding:80px 24px}.features-container{max-width:1100px;margin:0 auto}.features-header{text-align:center;margin-bottom:48px}.features-title{color:var(--text-primary);margin:0 0 12px;font-size:36px;font-weight:700}.features-subtitle{color:var(--text-secondary);max-width:500px;margin:0 auto;font-size:16px}.features-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);opacity:0;border-radius:12px;padding:24px;transition:opacity .5s,transform .2s,border-color .2s;position:relative}.feature-card.visible{opacity:1}.feature-card:hover{border-color:#10b981;transform:translateY(-2px)}.feature-badge{color:#fff;text-transform:uppercase;background:#10b981;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:600;position:absolute;top:16px;right:16px}.feature-icon{color:#10b981;background:#10b9811a;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;display:flex}.feature-icon svg{width:22px;height:22px}.feature-title{color:var(--text-primary);margin:0 0 8px;font-size:16px;font-weight:600}.feature-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}@media (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.features-section{padding:60px 20px}.features-header{margin-bottom:32px}.features-title{font-size:28px}.features-grid{grid-template-columns:1fr;gap:16px}.feature-card{padding:20px}}@media (prefers-reduced-motion:reduce){.feature-card{opacity:1;transition:none}}.harmonization-showcase{background:var(--bg-primary);padding:80px 24px}.harmonization-container{opacity:0;grid-template-columns:1fr 1.2fr;align-items:center;gap:48px;max-width:1100px;margin:0 auto;transition:opacity .5s,transform .5s;display:grid;transform:translateY(20px)}.harmonization-container.visible{opacity:1;transform:translateY(0)}.harmonization-content{color:var(--text-primary)}.harmonization-title{color:var(--text-primary);margin:0 0 16px;font-size:36px;font-weight:700;line-height:1.2}.harmonization-subtitle{color:var(--text-secondary);margin:0 0 28px;font-size:16px;line-height:1.6}.harmonization-features{flex-direction:column;gap:14px;display:flex}.harmonization-feature{color:var(--text-primary);align-items:center;gap:12px;font-size:14px;display:flex}.feature-icon-circle{color:#10b981;background:#10b9811a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.harmonization-visual{position:relative}.visual-container{flex-direction:column;justify-content:center;min-height:340px;display:flex;position:relative}.dataset-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);opacity:0;border-radius:10px;width:160px;padding:14px;transition:all .5s;position:absolute;transform:translate(-15px)}.dataset-card.active{opacity:1;transform:translate(0)}.dataset-card.source-1{transition-delay:.1s;top:30px;left:0}.dataset-card.source-2{transition-delay:.2s;bottom:30px;left:0}.dataset-header{border-bottom:1px solid var(--border-secondary);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.dataset-icon{color:#6366f1}.dataset-name{color:var(--text-primary);font-size:12px;font-weight:600}.dataset-columns{flex-wrap:wrap;gap:5px;display:flex}.column-tag{color:#6366f1;background:#6366f11a;border-radius:4px;padding:3px 6px;font-family:Monaco,Menlo,monospace;font-size:10px}.ai-processor{opacity:0;flex-direction:column;align-items:center;gap:6px;transition:all .5s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.ai-processor.active{opacity:1;transform:translate(-50%,-50%)scale(1)}.ai-icon{color:#fff;background:#10b981;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ai-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.processing-dots{gap:4px;display:flex}.processing-dots span{background:#10b981;border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both bounce}.processing-dots span:first-child{animation-delay:-.32s}.processing-dots span:nth-child(2){animation-delay:-.16s}.processing-dots span:nth-child(3){animation-delay:0s}.connection-lines{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.connection-line{fill:none;stroke:url(#line-gradient);stroke-width:1.5px;stroke-dasharray:200;stroke-dashoffset:200px;opacity:0;transition:opacity .3s}.connection-lines.active .connection-line{opacity:.5;animation:1.2s forwards drawLine}.connection-lines.active .line-1{animation-delay:.1s}.connection-lines.active .line-2{animation-delay:.3s}.connection-lines.active .line-3{animation-delay:.5s}@keyframes drawLine{to{stroke-dashoffset:0}}.unified-schema{opacity:0;background:#10b9810d;border:1px solid #10b98133;border-radius:10px;width:190px;padding:16px;transition:all .5s;position:absolute;top:50%;right:0;transform:translateY(-50%)translate(15px)}.unified-schema.active{opacity:1;transform:translateY(-50%)translate(0)}.schema-header{border-bottom:1px solid #10b98126;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.schema-icon{color:#10b981}.schema-title{color:var(--text-primary);font-size:13px;font-weight:600}.schema-mappings{flex-direction:column;gap:8px;display:flex}.mapping-row{background:var(--bg-secondary);border-radius:5px;flex-direction:column;gap:3px;padding:6px;display:flex}.mapping-target{color:#10b981;font-family:Monaco,Menlo,monospace;font-size:11px;font-weight:600}.mapping-arrow{color:var(--text-tertiary);font-size:9px}.mapping-sources{color:var(--text-secondary);font-family:Monaco,Menlo,monospace;font-size:10px}@media (max-width:1024px){.harmonization-container{grid-template-columns:1fr;gap:32px}.harmonization-content{text-align:center}.harmonization-title{font-size:28px}.harmonization-features{align-items:center}.harmonization-visual{display:none}}@media (max-width:768px){.harmonization-showcase{padding:60px 20px}.harmonization-subtitle{font-size:15px}}@media (prefers-reduced-motion:reduce){.harmonization-container,.dataset-card,.ai-processor,.unified-schema{opacity:1;transition:none;transform:none}.processing-dots span{animation:none}.connection-line{stroke-dashoffset:0;opacity:.5;animation:none}}.use-cases-section{background:var(--bg-secondary);padding:80px 24px}.use-cases-container{max-width:1100px;margin:0 auto}.use-cases-header{text-align:center;opacity:0;margin-bottom:48px;transition:opacity .5s,transform .5s;transform:translateY(20px)}.use-cases-header.visible{opacity:1;transform:translateY(0)}.use-cases-title{color:var(--text-primary);margin:0 0 12px;font-size:36px;font-weight:700}.use-cases-subtitle{color:var(--text-secondary);margin:0;font-size:16px}.use-cases-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.use-case-card{background:var(--bg-primary);border:1px solid var(--border-secondary);text-align:center;opacity:0;border-radius:12px;padding:28px 20px;transition:opacity .5s,transform .5s,border-color .2s;transform:translateY(20px)}.use-case-card.visible{opacity:1;transform:translateY(0)}.use-case-card:hover{border-color:#10b981}.use-case-icon{color:#10b981;background:#10b9811a;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex}.use-case-title{color:var(--text-primary);margin:0 0 10px;font-size:16px;font-weight:600}.use-case-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}@media (max-width:900px){.use-cases-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.use-cases-section{padding:60px 20px}.use-cases-title{font-size:28px}.use-cases-grid{grid-template-columns:1fr;gap:16px}.use-case-card{max-width:360px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.use-cases-header,.use-case-card{opacity:1;transition:none;transform:none}}.faq-section{background:var(--bg-primary);padding:80px 24px}.faq-container{max-width:700px;margin:0 auto}.faq-header{text-align:center;opacity:0;margin-bottom:40px;transition:opacity .5s,transform .5s;transform:translateY(20px)}.faq-header.visible{opacity:1;transform:translateY(0)}.faq-title{color:var(--text-primary);margin:0 0 12px;font-size:36px;font-weight:700}.faq-subtitle{color:var(--text-secondary);margin:0;font-size:16px}.faq-list{flex-direction:column;gap:10px;display:flex}.faq-item{background:var(--bg-secondary);border:1px solid var(--border-secondary);opacity:0;border-radius:10px;transition:opacity .5s,transform .5s,border-color .2s;overflow:hidden;transform:translateY(15px)}.faq-item.visible{opacity:1;transform:translateY(0)}.faq-item:hover{border-color:#10b981}.faq-question{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;justify-content:space-between;align-items:center;padding:18px 20px;font-size:15px;font-weight:600;transition:color .2s;display:flex}.faq-question:hover{color:#10b981}.faq-question:focus,.faq-question:active{box-shadow:none;border:none;outline:none}.faq-question:focus-visible{box-shadow:none;border:none;outline:none}.faq-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .3s,color .2s}.faq-question:hover .faq-chevron{color:#10b981}.faq-item.open .faq-chevron{color:#10b981;transform:rotate(180deg)}.faq-answer-wrapper{max-height:0;transition:max-height .3s;overflow:hidden}.faq-answer{color:var(--text-secondary);padding:0 20px 18px;font-size:14px;line-height:1.6}@media (max-width:600px){.faq-section{padding:60px 20px}.faq-title{font-size:28px}.faq-question{padding:16px;font-size:14px}.faq-answer{padding:0 16px 16px;font-size:13px}}@media (prefers-reduced-motion:reduce){.faq-header,.faq-item{opacity:1;transition:none;transform:none}.faq-chevron,.faq-answer-wrapper{transition:none}}.get-started-section{background:var(--bg-secondary);padding:60px 24px}.get-started-container{text-align:center;flex-direction:column;align-items:center;gap:24px;max-width:700px;margin:0 auto;display:flex}.get-started-title{color:var(--text-primary);margin:0;font-size:32px;font-weight:700}.get-started-subtitle{color:var(--text-secondary);margin:-8px 0 0;font-size:16px}.get-started-actions{gap:12px;display:flex}.gs-btn{border-radius:8px;padding:14px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s}.gs-btn.primary{color:#fff;background:#10b981}.gs-btn.primary:hover{background:#0d9668;transform:translateY(-1px)}.gs-btn.secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-secondary)}.gs-btn.secondary:hover{border-color:var(--border-primary)}.get-started-note{color:var(--text-tertiary);margin:0;font-size:13px}@media (max-width:640px){.get-started-section{padding:48px 20px}.get-started-title{font-size:26px}.get-started-actions{flex-direction:column;width:100%}.gs-btn{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){.gs-btn{transition:none}}.landing-footer{background:var(--bg-tertiary);border-top:1px solid var(--border-secondary);z-index:1000;align-items:center;height:44px;padding:0 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-content{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;display:flex}.footer-copyright{color:var(--text-tertiary);font-size:13px}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--text-secondary);font-size:13px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text-primary)}.footer-divider{color:var(--border-secondary)}@media (max-width:480px){.footer-content{flex-direction:column;gap:8px}}.landing-page{background-color:var(--bg-primary);box-sizing:border-box;--accent-primary:#10b981;--accent-primary-hover:#0d9668;--highlight-bg:#10b9811a;flex-direction:column;height:100vh;padding-top:48px;padding-bottom:44px;display:flex;overflow:hidden}.landing-main{scroll-behavior:smooth;flex:1;overflow:hidden auto}.landing-main::-webkit-scrollbar{width:6px}.landing-main::-webkit-scrollbar-track{background:0 0}.landing-main::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.landing-main::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.pricing-section{background:var(--bg-secondary);padding:80px 24px}.pricing-container{max-width:800px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:40px}.pricing-title{color:var(--text-primary);margin:0 0 12px;font-size:36px;font-weight:700}.pricing-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:16px}.billing-toggle{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:6px;gap:4px;padding:4px;display:inline-flex}.toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.toggle-btn:focus{outline:none}.toggle-btn.active{background:var(--bg-secondary);color:var(--text-primary)}.savings-badge{color:#fff;background:#10b981;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.pricing-cards{grid-template-columns:repeat(2,1fr);gap:20px;padding-top:12px;display:grid}.pricing-card{background:var(--bg-primary);border:1px solid var(--border-secondary);box-sizing:border-box;border-radius:12px;flex-direction:column;padding:24px;transition:border-color .2s;display:flex;position:relative}.pricing-card:hover,.pricing-card.featured{border-color:#10b981}.featured-badge{color:#fff;z-index:1;background:#10b981;border-radius:12px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.card-header{text-align:center;border-bottom:1px solid var(--border-secondary);margin-bottom:16px;padding-bottom:16px}.plan-name{color:var(--text-primary);margin:0 0 10px;font-size:18px;font-weight:600}.plan-price{justify-content:center;align-items:baseline;gap:4px;margin-bottom:6px;display:flex}.price{color:var(--text-primary);font-size:36px;font-weight:700}.period{color:var(--text-secondary);font-size:14px}.plan-description{color:var(--text-tertiary);margin:0;font-size:13px}.plan-features{flex:1;margin:0 0 20px;padding:0;list-style:none}.plan-features li{color:var(--text-secondary);align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.plan-features li.disabled{opacity:.5}.check-icon{color:#10b981;flex-shrink:0}.x-icon{color:var(--text-tertiary);flex-shrink:0}.plan-cta{text-align:center;box-sizing:border-box;border-radius:6px;margin-top:auto;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:block}.plan-cta.primary{color:#fff;background:#10b981}.plan-cta.primary:hover{background:#0d9668}.plan-cta.secondary{color:var(--text-primary);border:1px solid var(--border-secondary);background:0 0}.plan-cta.secondary:hover{border-color:var(--border-primary)}@media (max-width:768px){.pricing-cards{grid-template-columns:1fr;max-width:360px;margin:0 auto}.pricing-card.featured{order:-1}}@media (max-width:640px){.pricing-section{padding:60px 20px}.pricing-title{font-size:28px}.pricing-card{padding:20px}.price{font-size:32px}}.pricing-page{background:var(--bg-primary);--accent-primary:#19c37d;--accent-primary-hover:#15a366;--highlight-bg:#19c37d1a;flex-direction:column;min-height:100vh;display:flex}.pricing-main{flex:1;justify-content:center;align-items:center;padding:2rem 0;display:flex}.legal-page{background-color:var(--bg-primary);box-sizing:border-box;flex-direction:column;height:100vh;padding-top:48px;padding-bottom:44px;display:flex;overflow:hidden}.legal-main{scroll-behavior:smooth;flex:1;overflow:hidden auto}.legal-content{max-width:800px;margin:0 auto;padding:40px 24px 60px}.legal-header{border-bottom:1px solid var(--border-secondary);margin-bottom:32px;padding-bottom:24px}.legal-title{color:var(--text-primary);margin:0 0 8px;font-size:32px;font-weight:700}.legal-updated{color:var(--text-tertiary);font-size:14px}.legal-section{margin-bottom:32px}.legal-section h2{color:var(--text-primary);margin:0 0 16px;font-size:20px;font-weight:600}.legal-section h3{color:var(--text-primary);margin:24px 0 12px;font-size:16px;font-weight:600}.legal-section p{color:var(--text-secondary);margin:0 0 16px;font-size:15px;line-height:1.7}.legal-section ul{margin:0 0 16px;padding-left:24px}.legal-section li{color:var(--text-secondary);margin-bottom:8px;font-size:15px;line-height:1.7}.legal-section a{color:var(--accent-primary);text-decoration:none}.legal-section a:hover{text-decoration:underline}.legal-main::-webkit-scrollbar{width:6px}.legal-main::-webkit-scrollbar-track{background:0 0}.legal-main::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.legal-main::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width:640px){.legal-content{padding:24px 16px 40px}.legal-title{font-size:26px}.legal-section h2{font-size:18px}}.docs-page{background:var(--bg-primary);height:100vh;color:var(--text-primary);box-sizing:border-box;flex-direction:column;padding-bottom:44px;display:flex;overflow:hidden}.docs-layout{flex:1;width:100%;max-width:1400px;margin:0 auto;padding-top:48px;display:flex;overflow:hidden}.docs-sidebar{border-right:1px solid var(--border-primary);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex-shrink:0;width:260px;height:calc(100vh - 60px);padding:32px 24px;position:sticky;top:60px;overflow-y:auto}.docs-sidebar::-webkit-scrollbar{width:6px}.docs-sidebar::-webkit-scrollbar-track{background:0 0}.docs-sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.docs-sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.docs-nav-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin:0 0 16px;padding:0 8px;font-size:11px;font-weight:600}.docs-nav-list{margin:0;padding:0;list-style:none}.docs-nav-list li{margin-bottom:4px}.docs-nav-link{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 12px;font-size:14px;transition:all .15s;display:block}.docs-nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.docs-nav-link.active{background:var(--accent-primary);color:#fff}.docs-main{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;min-width:0;padding:32px 48px 60px;overflow-y:auto}.docs-main::-webkit-scrollbar{width:6px}.docs-main::-webkit-scrollbar-track{background:0 0}.docs-main::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.docs-main::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.docs-content{max-width:800px}.docs-section{border-bottom:1px solid var(--border-primary);margin-bottom:48px;padding-bottom:48px}.docs-section:last-child{border-bottom:none;margin-bottom:0}.docs-section h1{color:var(--text-primary);margin:0 0 16px;font-size:28px;font-weight:700}.docs-section h2{color:var(--text-primary);margin:32px 0 16px;font-size:20px;font-weight:600}.docs-intro{color:var(--text-secondary);margin:0 0 24px;font-size:18px;line-height:1.6}.docs-section p{color:var(--text-secondary);margin:0 0 16px;font-size:15px;line-height:1.7}.docs-list,.docs-steps{margin:0 0 24px;padding-left:24px}.docs-list li,.docs-steps li{color:var(--text-secondary);margin-bottom:12px;font-size:15px;line-height:1.7}.docs-list li strong,.docs-steps li strong{color:var(--text-primary)}.docs-examples{flex-direction:column;gap:12px;margin:0 0 24px;display:flex}.docs-example{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;flex-direction:column;gap:6px;padding:16px;display:flex}.docs-example code{color:var(--accent-primary);font-family:SF Mono,Monaco,Consolas,monospace;font-size:14px}.docs-example span{color:var(--text-tertiary);font-size:13px}.docs-shortcuts-table{border-collapse:collapse;width:100%;margin:16px 0 24px}.docs-shortcuts-table th,.docs-shortcuts-table td{text-align:left;border-bottom:1px solid var(--border-primary);padding:12px 16px}.docs-shortcuts-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);background:var(--bg-secondary);font-size:12px;font-weight:600}.docs-shortcuts-table td{color:var(--text-secondary);font-size:14px}.docs-shortcuts-table kbd{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:4px;padding:4px 8px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;display:inline-block}@media (max-width:1024px){.docs-sidebar{width:220px}.docs-main{padding:24px 32px 48px}}@media (max-width:768px){.docs-sidebar{border-right:none;border-bottom:1px solid var(--border-primary);width:100%;height:auto;padding:16px;position:static}.docs-nav-list{flex-wrap:wrap;gap:8px;display:flex}.docs-nav-list li{margin-bottom:0}.docs-nav-link{padding:6px 12px;font-size:13px}.docs-main{padding:24px 16px 40px}.docs-section h1{font-size:24px}.docs-section h2{font-size:18px}.docs-shortcuts-table{font-size:13px}.docs-shortcuts-table th,.docs-shortcuts-table td{padding:10px 12px}}.changelog-page{background:var(--bg-primary);height:100vh;color:var(--text-primary);box-sizing:border-box;flex-direction:column;padding-top:48px;padding-bottom:44px;display:flex;overflow:hidden}.changelog-main{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;padding:32px 24px 60px;overflow-y:auto}.changelog-main::-webkit-scrollbar{width:6px}.changelog-main::-webkit-scrollbar-track{background:0 0}.changelog-main::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.changelog-main::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.changelog-container{max-width:800px;margin:0 auto}.changelog-header{text-align:center;margin-bottom:48px}.changelog-header h1{margin:0 0 12px;font-size:32px;font-weight:700}.changelog-header p{color:var(--text-secondary);margin:0;font-size:16px}.changelog-entries{flex-direction:column;gap:32px;display:flex}.changelog-entry{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.changelog-entry-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.changelog-version{align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;display:flex}.changelog-latest{text-transform:uppercase;letter-spacing:.5px;background:var(--accent-primary);color:#fff;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.changelog-date{color:var(--text-tertiary);font-size:14px}.changelog-entry-content{padding:24px}.changelog-category{margin-bottom:20px}.changelog-category:last-child{margin-bottom:0}.changelog-category h3{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.changelog-icon{color:#22c55e;background:#22c55e26;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;font-weight:700;display:inline-flex}.changelog-icon.fix{color:#ef4444;background:#ef444426}.changelog-icon.improvement{color:#3b82f6;background:#3b82f626}.changelog-category ul{margin:0;padding:0;list-style:none}.changelog-category li{color:var(--text-secondary);margin-bottom:8px;padding-left:20px;font-size:14px;line-height:1.6;position:relative}.changelog-category li:last-child{margin-bottom:0}.changelog-category li:before{content:"";background:var(--border-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:0}@media (max-width:640px){.changelog-main{padding:24px 16px 40px}.changelog-header h1{font-size:24px}.changelog-entry-header{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}.changelog-version{font-size:18px}.changelog-entry-content{padding:20px}}.feedback-page{background:var(--bg-primary);height:100vh;color:var(--text-primary);box-sizing:border-box;flex-direction:column;padding-bottom:44px;display:flex;overflow:hidden}.feedback-main{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent;flex:1;justify-content:center;padding:80px 24px 60px;display:flex;overflow-y:auto}.feedback-main::-webkit-scrollbar{width:6px}.feedback-main::-webkit-scrollbar-track{background:0 0}.feedback-main::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.feedback-main::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.feedback-container{width:100%;max-width:560px}.feedback-header{text-align:center;margin-bottom:40px}.feedback-header h1{margin:0 0 12px;font-size:32px;font-weight:700}.feedback-header p{color:var(--text-secondary);margin:0;font-size:16px}.feedback-form{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:32px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group .required{color:var(--accent-primary)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-tertiary);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);border-radius:4px;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-group select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-group textarea{resize:vertical;min-height:120px}.feedback-btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:12px 24px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.feedback-btn.primary{background:var(--accent-primary);color:#fff;width:100%}.feedback-btn.primary:hover:not(:disabled){opacity:.9}.feedback-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:20px;padding:12px 16px;font-size:14px}.feedback-success{background:var(--bg-secondary);border:1px solid var(--border-primary);text-align:center;border-radius:8px;padding:48px 32px}.feedback-success svg{margin-bottom:20px}.feedback-success h2{margin:0 0 12px;font-size:24px;font-weight:600}.feedback-success p{color:var(--text-secondary);margin:0 0 24px;font-size:14px}.feedback-success .feedback-btn{width:auto}.feedback-contact{text-align:center;border-top:1px solid var(--border-primary);margin-top:24px;padding-top:24px}.feedback-contact p{color:var(--text-secondary);margin:0;font-size:14px}.feedback-contact a{color:var(--accent-primary);text-decoration:none}.feedback-contact a:hover{text-decoration:underline}@media (max-width:640px){.feedback-main{padding:60px 16px 40px}.feedback-header h1{font-size:24px}.feedback-form{padding:24px 20px}}.auth-container{background-color:var(--bg-primary);box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex;overflow-y:auto}.auth-card{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:4px;width:100%;max-width:420px;padding:20px 24px;box-shadow:0 4px 6px #0000001a}.auth-header{text-align:center;margin-bottom:20px}.auth-header h1{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:600}.auth-header p{color:var(--text-secondary);margin:0;font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-error{background-color:var(--error-bg);border:1px solid var(--error);color:var(--error);border-radius:4px;padding:12px 16px;font-size:14px;line-height:1.5}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-primary);font-size:14px;font-weight:500}.form-group input{border:1px solid var(--border-primary);background-color:var(--bg-secondary);color:var(--text-primary);border-radius:4px;padding:6px 8px;font-size:15px;transition:all .2s}.form-group input:focus{border-color:#19c37d;outline:none;box-shadow:0 0 0 3px #19c37d26}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:var(--text-tertiary)}.auth-submit-btn{color:#fff;cursor:pointer;background-color:#19c37d;border:none;border-radius:4px;margin-top:8px;padding:12px 24px;font-size:15px;font-weight:500;transition:background-color .2s}.auth-submit-btn:hover:not(:disabled){background-color:#17b374}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-links{justify-content:center;margin-top:-8px;display:flex}.auth-link{color:#19c37d;font-size:14px;text-decoration:none;transition:color .2s}.auth-link:hover{color:#17b374;text-decoration:underline}.auth-footer{border-top:1px solid var(--border-primary);text-align:center;margin-top:20px;padding-top:16px}.auth-footer p{color:var(--text-secondary);margin:0 0 12px;font-size:14px}.auth-link-primary{color:#19c37d;font-weight:500;text-decoration:none;transition:color .2s}.auth-link-primary:hover{color:#17b374;text-decoration:underline}.auth-divider{color:var(--text-tertiary);font-size:13px;margin:10px 0!important}.auth-demo-btn{color:var(--text-secondary);background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.auth-demo-btn:hover{background-color:var(--hover-bg);color:var(--text-primary);border-color:#19c37d}@media (max-width:480px){.auth-card{padding:16px 20px}.auth-header h1{font-size:24px}}.form-group-checkbox{align-items:flex-start;gap:12px;margin:8px 0;display:flex}.form-group-checkbox input[type=checkbox]{cursor:pointer;accent-color:#19c37d;width:18px;height:18px;margin-top:2px}.form-group-checkbox input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.form-group-checkbox label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;line-height:1.5}.form-group-checkbox label a{color:#19c37d;text-decoration:none;transition:color .2s}.form-group-checkbox label a:hover{color:#17b374;text-decoration:underline}.auth-success{background-color:var(--success-bg,#22c55e1a);border:1px solid var(--success,#22c55e);color:var(--success,#22c55e);border-radius:4px;padding:16px 20px;font-size:14px;line-height:1.6}.auth-success strong{color:var(--success,#22c55e);font-weight:600}.billing-page{background-color:var(--bg-primary);justify-content:center;min-height:100vh;padding:40px 20px;display:flex}.billing-container{width:100%;max-width:480px}.billing-back-btn{border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:14px;transition:all .15s;display:inline-flex}.billing-back-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.billing-header{margin-bottom:32px}.billing-header h1{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:600}.billing-subtitle{color:var(--text-secondary);margin:0;font-size:15px}.section-title{color:var(--text-primary);margin:0 0 12px;font-size:16px;font-weight:600}.plan-section{margin-bottom:28px}.plan-toggle{gap:12px;display:flex}.plan-option{border:2px solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;text-align:left;border-radius:4px;flex-direction:column;flex:1;gap:4px;padding:16px;transition:all .15s;display:flex}.plan-option:hover{border-color:var(--border-hover,#4a4a4a)}.plan-option.active{background:#6366f11a;border-color:#6366f1}.plan-option-header{align-items:center;gap:8px;display:flex}.plan-name{color:var(--text-primary);font-size:14px;font-weight:500}.plan-price{color:var(--text-secondary);font-size:13px}.plan-badge{color:#fff;text-transform:uppercase;background:#22c55e;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.contact-section{margin-bottom:28px}.email-display{flex-direction:column;gap:8px;display:flex}.email-display label{color:var(--text-secondary);font-size:14px}.email-input{background:var(--bg-tertiary,#2a2a2a);border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:4px;padding:12px 14px;font-size:14px}.email-input:disabled{cursor:not-allowed;opacity:.7}.checkout-form{flex-direction:column;gap:24px;display:flex}.form-section{flex-direction:column;display:flex}.form-section-title{color:var(--text-primary);margin:0 0 12px;font-size:16px;font-weight:600}.checkout-submit-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:14px 24px;font-size:15px;font-weight:500;transition:background .15s;display:flex}.checkout-submit-btn:hover:not(:disabled){background:#5558e3}.checkout-submit-btn:disabled{opacity:.6;cursor:not-allowed}.checkout-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;padding:12px 16px;font-size:14px}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.billing-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 0;display:flex}.billing-loading .loading-spinner{border-color:var(--border-primary);border-top-color:#6366f1;width:32px;height:32px}.billing-error-state{text-align:center;padding:48px 24px}.billing-error-state h2{color:var(--text-primary);margin:0 0 12px}.billing-error-state p{color:var(--text-secondary);margin:0 0 24px}.retry-btn{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:10px 24px;font-size:14px;transition:all .15s}.retry-btn:hover{background:var(--hover-bg)}.billing-success-state{text-align:center;padding:64px 24px}.success-icon{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:32px;font-weight:700;display:flex}.billing-success-state h2{color:var(--text-primary);margin:0 0 12px;font-size:24px}.billing-success-state p{color:var(--text-secondary);margin:0}.redirect-message{color:var(--text-tertiary,#888);font-size:13px;margin-top:16px!important}.billing-total{border-top:1px solid var(--border-primary);justify-content:space-between;align-items:center;margin-top:24px;padding:16px 0;display:flex}.billing-total span{color:var(--text-secondary);font-size:14px}.total-amount{font-weight:600;color:var(--text-primary)!important;font-size:18px!important}.billing-terms{color:var(--text-tertiary,#888);text-align:center;margin:24px 0 0;font-size:12px;line-height:1.5}@media (max-width:520px){.plan-toggle{flex-direction:column}.billing-container{padding:0 16px}.billing-header h1{font-size:24px}}
