:root{--bg-primary:#212121;--bg-secondary:#2f2f2f;--bg-tertiary:#1a1a1a;--bg-elevated:#242424;--bg-spreadsheet:#0a0a0a;--text-primary:#ececec;--text-secondary:#999;--text-tertiary:#888;--text-muted:#666;--text-inverse:#000;--accent-primary:#19c37d;--accent-primary-hover:#17b374;--accent-secondary:#646cff;--accent-secondary-hover:#535bf2;--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:#646cff;--accent-secondary-hover:#535bf2;--border-primary:#e0e0e0;--border-secondary:#f0f0f0;--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}.clarification-section{background-color:var(--warning-bg);border-radius:4px;margin:12px;padding:16px}.clarification-section h3{color:var(--warning);margin:0 0 12px;font-size:16px}.clarification-prompt{color:var(--text-muted);margin:0 0 12px;font-size:14px;font-style:italic}.clarification-questions{background-color:var(--bg-elevated);border:1px solid var(--warning);border-radius:4px;margin:0 0 16px;padding:12px}.question-item{color:var(--text-primary);margin:6px 0;font-size:14px}.clarification-section .textarea-wrapper{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex;position:relative}.clarification-section .textarea-wrapper textarea{resize:none;border:1px solid #ffb74d;border-radius:4px;flex:1;min-height:60px;max-height:200px;padding:10px 12px;font-family:inherit;font-size:14px;overflow-y:auto}.clarification-section .textarea-wrapper textarea:focus{border-color:var(--warning);outline:none}.clarification-section .send-button{background-color:var(--warning);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.clarification-section .send-button:hover:not(:disabled){background-color:#e65100}.clarification-section .send-button:disabled{cursor:not-allowed;background-color:#ccc}.cancel-button{border:1px solid var(--border-primary);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;border-radius:4px;padding:10px;font-size:14px;transition:all .2s}.cancel-button:hover{background-color:var(--hover-bg);border-color:var(--border-secondary)}.history-section{flex-direction:column;flex:1;min-height:0;display:flex}.history-header-bar{border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.history-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.commit-button{background-color:var(--info);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.commit-button:hover{background-color:#2e7db8;transform:translateY(-1px);box-shadow:0 2px 8px #3498db4d}.commit-button img{filter:brightness(0)saturate()invert();width:14px;height:14px}.history-list{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.empty-history{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}.history-item{background-color:var(--bg-secondary);border-radius:0;margin-bottom:0;padding:.1rem .3rem .1rem .2rem}.history-item:hover{background-color:#3a3a3a}:root[data-theme=light] .history-item:hover{background-color:#e8e8e8}.history-header{justify-content:space-between;align-items:center;gap:5px;min-width:0;display:flex}.history-command{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-left:.2rem;font-size:12px;overflow:hidden}.history-actions{flex-shrink:0;align-items:center;gap:0;display:flex}.view-plot-btn{color:var(--accent-secondary);cursor:pointer;background:0 0;border:none;padding:0 .5rem;font-size:1.2rem;transition:transform .2s}.view-plot-btn:hover{background-color:var(--hover-bg);border-color:var(--info)}.delete-command-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;transition:color .2s;display:flex}.delete-command-btn img{filter:brightness(0)saturate()invert(85%);width:14px;height:14px;transition:filter .2s}.delete-command-btn:hover:not(:disabled){border-color:var(--error);background-color:#0000}.delete-command-btn: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] .delete-command-btn img{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .delete-command-btn:hover:not(:disabled) img{filter:brightness(0)saturate()invert(37%)sepia(93%)saturate(7471%)hue-rotate(353deg)brightness(91%)contrast(135%)}.delete-command-btn.disabled,.delete-command-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--border-primary);color:var(--text-tertiary)}.edit-command-btn{cursor:pointer;background-color:#0000;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .2s;display:flex}.edit-command-btn img{object-fit:contain;filter:brightness(0)saturate()invert(85%);width:14px;height:14px;transition:filter .2s}.edit-command-btn:hover img{filter:brightness(0)saturate()invert()}:root[data-theme=light] .edit-command-btn img{filter:brightness(0)saturate()invert(25%)}:root[data-theme=light] .edit-command-btn:hover img{filter:brightness(0)saturate()invert(20%)}.history-edit-wrapper{flex:1;align-items:center;gap:8px;width:100%;display:flex}.history-edit-input{border:2px solid var(--info);border-radius:4px;outline:none;flex:1;min-width:0;padding:6px 8px;font-size:14px}.history-edit-input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.7}.history-edit-saving{color:var(--info);white-space:nowrap;flex-shrink:0;font-size:12px;font-style:italic}.history-time{color:var(--text-primary);opacity:.7;margin-left:.1rem;font-size:.75rem}:root[data-theme=light] .history-time{color:var(--text-primary);opacity:.6}.generated-code-container{border:1px solid var(--border-primary);border-radius:4px;margin-top:8px;overflow:hidden}.generated-code-container .monaco-loading{text-align:center;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:16px;font-size:12px}:root[data-theme=light] .generated-code-container{border-color:var(--border-secondary)}.instruction-panel-container{flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.instruction-panel{background-color:var(--bg-primary);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.panel-close-btn{z-index:10;width:20px;height:20px;color:var(--text-muted);cursor:pointer;background-color:#0000;border:none;outline:none;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;transition:color .2s;display:flex;position:absolute;top:0;right:0}.panel-close-btn:hover{color:#fff}.panel-close-btn:focus{outline:none}.delete-command-btn:hover{color:var(--error-light)}.delete-command-btn:focus{outline:none}.instruction-panel::-webkit-scrollbar{width:8px;height:8px}.history-list::-webkit-scrollbar{width:8px;height:8px}.tabs-scroll::-webkit-scrollbar{width:8px;height:8px}.spreadsheet-scroll::-webkit-scrollbar{width:8px;height:8px}.instruction-panel::-webkit-scrollbar-track{background:0 0}.history-list::-webkit-scrollbar-track{background:0 0}.tabs-scroll::-webkit-scrollbar-track{background:0 0}.spreadsheet-scroll::-webkit-scrollbar-track{background:0 0}.instruction-panel::-webkit-scrollbar-thumb{background:#646cff4d;border-radius:4px;transition:background .2s}.history-list::-webkit-scrollbar-thumb{background:#646cff4d;border-radius:4px;transition:background .2s}.tabs-scroll::-webkit-scrollbar-thumb{background:#646cff4d;border-radius:4px;transition:background .2s}.spreadsheet-scroll::-webkit-scrollbar-thumb{background:#646cff4d;border-radius:4px;transition:background .2s}.instruction-panel:hover::-webkit-scrollbar-thumb{background:#646cff99}.history-list:hover::-webkit-scrollbar-thumb{background:#646cff99}.tabs-scroll:hover::-webkit-scrollbar-thumb{background:#646cff99}.spreadsheet-scroll:hover::-webkit-scrollbar-thumb{background:#646cff99}.instruction-panel::-webkit-scrollbar-thumb:hover{background:#646cffcc}.history-list::-webkit-scrollbar-thumb:hover{background:#646cffcc}.tabs-scroll::-webkit-scrollbar-thumb:hover{background:#646cffcc}.spreadsheet-scroll::-webkit-scrollbar-thumb:hover{background:#646cffcc}.command-section{border-bottom:none;padding:0 .35rem .5rem .5rem}.empty-history{color:var(--text-tertiary);text-align:center;margin:0;padding:2rem 0;font-size:.9rem}.history-command:hover{opacity:.8}.history-button{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1rem;transition:color .2s}.history-button:hover{color:var(--accent-secondary)}.history-button.delete:hover{color:var(--error)}.command-edit-input{background-color:var(--bg-tertiary);border:1px solid var(--accent-secondary);color:var(--text-primary);border-radius:4px;outline:none;flex:1;min-width:0;max-width:100%;padding:.4rem;font-family:inherit;font-size:.9rem}.code-edit-container{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.code-edit-textarea{background-color:var(--bg-tertiary);border:1px solid var(--accent-secondary);width:100%;color:var(--text-primary);resize:vertical;border-radius:4px;outline:none;padding:.8rem;font-family:Courier New,monospace;font-size:.85rem}.code-edit-buttons{gap:.5rem;display:flex}.code-edit-buttons button{background-color:var(--accent-secondary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .2s}.code-edit-buttons button:hover{background-color:var(--accent-secondary-hover)}.code-edit-buttons button:last-child{background-color:var(--border-secondary)}.code-edit-buttons button:last-child:hover{background-color:var(--border-primary)}.generated-code{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary);cursor:pointer;scrollbar-width:thin;scrollbar-color:var(--accent-secondary)transparent;border-radius:4px;margin:.1rem 0;padding:0 0 0 .2rem;font-size:.75rem;transition:border-color .2s;overflow-x:auto}.generated-code::-webkit-scrollbar{background:0 0;height:6px}.generated-code::-webkit-scrollbar-thumb{background-color:var(--accent-secondary);border-radius:3px}.generated-code::-webkit-scrollbar-thumb:hover{background-color:var(--accent-secondary-hover)}.generated-code::-webkit-scrollbar-button{width:0;height:0;display:none}.generated-code:hover{border-color:var(--accent-secondary)}.textarea-container{background-color:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:4px;padding:.1rem .1rem calc(1.2rem + 16px) .5rem;transition:border-color .2s;position:relative}.textarea-container:focus-within{border-color:var(--accent-secondary)}.textarea-container textarea{width:100%;color:inherit;resize:none;background:0 0;border:none;border-radius:4px;outline:none;min-height:24px;max-height:200px;padding:0;font-family:inherit;font-size:.95rem;line-height:1.5;overflow-y:auto}.textarea-container textarea::-webkit-scrollbar{width:6px}.textarea-container textarea::-webkit-scrollbar-track{background:var(--bg-elevated)}.textarea-container textarea::-webkit-scrollbar-thumb{background:#646cff4d;border-radius:3px;transition:background .2s}.textarea-container textarea:hover::-webkit-scrollbar-thumb{background:#646cff80}.textarea-container textarea::-webkit-scrollbar-thumb:hover{background:#646cffb3}.textarea-container textarea::-webkit-scrollbar-button{display:none}.textarea-container textarea::placeholder{color:var(--text-muted)}.textarea-container textarea:disabled{opacity:.5;cursor:not-allowed}.textarea-container .send-button{background-color:var(--accent-secondary);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:10px;height:32px;font-size:1rem;transition:all .2s;display:flex;position:absolute;bottom:.2rem;right:.2rem}.textarea-container .send-button:hover:not(:disabled){background-color:var(--accent-secondary-hover);transform:scale(1.05)}.textarea-container .send-button:disabled{opacity:.3;cursor:not-allowed;background-color:var(--border-secondary)}.clarification-section{border-bottom:1px solid var(--border-secondary);padding:1rem}.clarification-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:600}.clarification-prompt{color:var(--text-tertiary);margin-bottom:1rem;font-size:.9rem;font-style:italic}.clarification-questions{background-color:var(--bg-elevated);border-radius:4px;margin-bottom:1rem;padding:1rem}.question-item{color:var(--text-primary);padding:.3rem 0;font-size:.9rem}.clarification-section .textarea-container{margin-bottom:1rem}.cancel-button{background-color:var(--border-secondary);width:100%;color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:.75rem;font-size:.95rem;font-weight:500;transition:background-color .2s}.cancel-button:hover{background-color:var(--border-primary)}.script-header-left{align-items:center;gap:1rem;display:flex}.dataset-selector{background-color:var(--bg-secondary);border:1px solid var(--accent-secondary);color:var(--text-primary);cursor:pointer;border-radius:4px;outline:none;padding:.4rem .6rem;font-size:.85rem}.dataset-selector:hover{border-color:var(--accent-secondary-hover)}.dataset-selector:focus{border-color:var(--accent-secondary-hover);box-shadow:0 0 0 2px var(--highlight-bg)}.script-download-btn:hover,.script-fullscreen-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.script-code{background-color:#0000;margin:0;padding:0;font-size:.9rem;line-height:1.6}.loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#282c34d9;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.loading-content{flex-direction:column;align-items:center;gap:16px;display:flex}.spinner{border:4px solid #abb2bf33;border-top-color:var(--info,#61afef);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.loading-content span{color:var(--text-primary,#abb2bf);font-size:14px;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.frontend-exec-badge{color:#ffd43b;opacity:.9;cursor:help;margin-left:.5rem;font-size:.85rem}.dataset-viewer{background-color:var(--bg-tertiary);flex-direction:column;height:100%;display:flex}.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)}.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{background-color:var(--bg-tertiary);color:var(--accent-secondary);cursor:pointer;min-width:32px;padding:0 8px}.tab.add-tab:hover{background-color:var(--hover-bg);color:var(--accent-secondary-hover)}.add-tab-icon{filter:brightness(0)saturate()invert();justify-content:center;align-items:center;width:14px;height:14px;display:flex}.tab.add-tab:hover .add-tab-icon{filter:brightness(0)saturate()invert(76%)sepia(52%)saturate(456%)hue-rotate(73deg)brightness(101%)contrast(87%)}.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{filter:brightness(0)saturate()}:root[data-theme=light] .tab.add-tab:hover .add-tab-icon{filter:brightness(0)saturate()invert(39%)sepia(85%)saturate(432%)hue-rotate(73deg)brightness(95%)contrast(91%)}: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{flex:1;min-height:0;padding:6px;overflow-y:auto}.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)}}.chat-panel{background-color:var(--bg-primary);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.chat-messages{flex-direction:column;flex:1;margin-right:3px;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{margin:4px 0;font-size:14px;font-weight:500}.empty-chat-hint{color:var(--text-muted);margin-top:8px;font-size:12px}.chat-message{width:100%;padding:6px 0;animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.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{max-width:768px;margin:0 auto;padding: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;font-size:12px;line-height:1.5}.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 img{width:100%;display:block}.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-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 2px var(--border-focus)}.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{background-color:var(--button-disabled);cursor:not-allowed;transform: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%)}.chat-panel .enhance-button .spinning{animation:1s linear infinite spin}.streaming-cursor{color:var(--text-primary);margin-left:2px;font-weight:300;animation:1s infinite blink;display:inline-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%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.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-bar{background:var(--bg-tertiary,#2a2a2a);border-radius:4px;height:8px;overflow:hidden}.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:12px 0;display:flex}.sidebar-buttons{flex-direction:column;flex:1;align-items:center;gap:8px;width:100%;display:flex}.sidebar-bottom{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;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;transition:filter .2s}.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{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:12px 16px}.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;transition:filter .2s}.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)}.connection-editor-overlay{z-index:10000;background:#000000b3;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-radius:8px;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 var(--border-color);justify-content:space-between;align-items:center;padding:20px;display:flex}.connection-editor-header h3{color:var(--text-primary);margin:0;font-size:18px}.connection-editor-header .close-btn{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:24px;transition:background .2s;display:flex}.connection-editor-header .close-btn:hover{background:var(--bg-secondary)}.connection-editor-body{flex:1;padding:20px;overflow-y:auto}.form-input{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:4px;padding:8px 12px;font-size:14px;transition:border-color .2s}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.test-result{border-radius:4px;margin-top:16px;padding:0;font-size:14px}.test-result.success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d}.test-result.error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.connection-editor-footer{border-top:1px solid var(--border-color);gap:12px;padding:20px;display:flex}.connection-editor-footer button{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-test{color:#fff;background:#3b82f6}.btn-test:hover:not(:disabled){background:#2563eb}.btn-test: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}.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 #ffffff1a;border-radius:4px;padding:4px 6px;transition:all .2s}.connection-card:hover{border-color:var(--info,#61afef)}.connection-card-header{justify-content:space-between;align-items:center;display:flex}.connection-info{align-items:center;gap:8px;min-width:0;display:flex}.connection-info h4{color:var(--text-primary,#abb2bf);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:500;overflow:hidden}.connection-type-badge{color:var(--info,#61afef);text-transform:uppercase;background-color:#61afef26;border-radius:4px;flex-shrink:0;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}.test-result{border-radius:4px;margin-top:8px;padding:8px 10px;font-size:11px;animation:3s ease-in-out forwards fadeInOut}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}70%{opacity:1}to{opacity:0}}.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-details{border-top:1px solid var(--border,#3e4451);margin-top:8px;padding-top:8px}.connection-meta{color:var(--text-tertiary,#5c6370);gap:16px;font-size:10px;display:flex}.confirm-modal-overlay{z-index:10002;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-btn:focus-visible{box-shadow:none;outline:none}.confirm-btn.cancel{color:#abb2bf;background-color:#0000;border:1px solid #ffffff26}.confirm-btn.cancel:hover:not(:disabled){background-color:#ffffff0d}.confirm-btn.danger:hover:not(:disabled){background-color:#c85a5a}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.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:32px 16px;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);margin:0;font-size:13px;font-weight:500}.drop-formats{color:var(--text-tertiary);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:6px 16px;font-size:12px;font-weight:500;transition:all .15s;display:inline-block}.browse-btn:hover{opacity:.9}.file-card{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;align-items:center;gap:12px;padding:12px;display:flex}.file-type-icon{object-fit:contain;flex-shrink:0;width:32px;height:32px}.file-type-icon-placeholder{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;display:flex}.file-info{flex:1;min-width:0}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.file-size{color:var(--text-tertiary);margin-top:2px;font-size:11px}.remove-file-btn{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background-color:#0000;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex}.remove-file-btn:hover{background-color:var(--error);color:#fff}.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}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-label{color:var(--text-secondary);font-size:12px;font-weight:500}.toggle-switch{background-color:var(--border-primary);cursor:pointer;border:none;border-radius:4px;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);margin:0;font-size:11px;font-style:italic}.import-error{border-left:3px solid var(--error);color:var(--error);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:12px;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:20px}.connection-selection-step h3{color:var(--text-primary);margin:0 0 8px;font-size:18px}.loading-connections{text-align:center;color:var(--text-secondary);padding:40px}.no-connections{text-align:center;padding:40px}.no-connections p{color:var(--text-secondary);margin-bottom:12px}.connections-grid{gap:12px;margin-bottom:24px;display:grid}.connection-option{border:2px solid var(--border-color);cursor:pointer;background:var(--bg-secondary);border-radius:4px;padding:16px;transition:all .2s}.connection-option:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.connection-option.selected{border-color:var(--primary-color);background:#3b82f61a}.connection-option-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.connection-option-header input[type=radio]{cursor:pointer}.connection-option-header h4{color:var(--text-primary);margin:0;font-size:16px}.connection-option-details{flex-direction:column;gap:4px;margin-left:28px;display:flex}.detail-item{color:var(--text-secondary);font-size:13px}.btn-secondary:hover{background:var(--bg-tertiary)}.redcap-config-step{padding:20px}.redcap-config-step h3{color:var(--text-primary);margin:0 0 8px;font-size:18px}.config-form{margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input,.form-textarea{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:4px;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-color:var(--primary-color);outline:none}.form-textarea{resize:vertical;min-height:60px}.checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer}.checkbox-label span{color:var(--text-primary);font-weight:400}.field-hint{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.import-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;align-items:center;gap:8px;margin-top:16px;padding:12px;font-size:14px;display:flex}.step-actions{border-top:1px solid var(--border-color);justify-content:space-between;gap:12px;padding-top:16px;display:flex}.step-actions button{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.import-wizard{background-color:var(--bg-primary,#282c34);flex-direction:column;height:100%;min-height:0;display:flex}.import-wizard-header,.close-wizard-btn{display:none}.import-wizard-body{flex:1;min-height:0;padding:8px;overflow:auto}.import-wizard-body h3{color:var(--text-primary,#abb2bf);text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px;font-size:13px;font-weight:600}.step-description{color:var(--text-secondary,#5c6370);margin:0 0 12px;font-size:12px}.placeholder-text{color:var(--text-tertiary,#5c6370);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,#abb2bf);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:600;overflow:hidden}.source-description{color:var(--text-tertiary,#5c6370);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,#5c6370);border:1px solid var(--border-primary);background-color:#0000}.wizard-btn.secondary:hover{background-color:var(--hover-bg);color:var(--text-primary,#abb2bf)}.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}.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}.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{border:2px dashed var(--info,#61afef);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,:root[data-theme=light] .tree-icon.folder-icon,: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{color:var(--text-primary)}.dataset-tree-view>.tree-node-container>.tree-node.dataset{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(--info,#61afef);border-radius:4px;outline:none;flex:1;min-width:100px;padding:2px 6px;font-size:13px;font-weight:500}.tree-label-input:focus{border-color:var(--info,#61afef);box-shadow:0 0 0 1px #61afef4d}.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%)}.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:4px 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 16px;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)}.dataset-tree-view .empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}.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)}.confirm-modal-overlay{background-color:var(--overlay);z-index:10002;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-modal{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:4px;min-width:280px;max-width:360px;padding:20px;box-shadow:0 4px 20px #0000004d}.confirm-modal-text{color:var(--text-primary);word-break:break-word;margin:0 0 16px;font-size:14px;line-height:1.4}.confirm-modal-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-btn{cursor:pointer;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.confirm-btn:focus{box-shadow:none;outline:none}.confirm-btn:focus-visible{box-shadow:none;outline:none}.confirm-btn.cancel{border:1px solid var(--border-primary);color:var(--text-secondary);background-color:#0000}.confirm-btn.cancel:hover{background-color:var(--hover-bg)}.confirm-btn.secondary{border:1px solid var(--info,#61afef);color:var(--info,#61afef);background-color:#61afef26}.confirm-btn.secondary:hover{background-color:#61afef40}.confirm-btn.danger{background-color:var(--error,#e06c75);border:1px solid var(--error,#e06c75);color:#fff}.confirm-btn.danger:hover{background-color:#c85a5a}.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}.plot-editor{background-color:var(--bg-primary);height:100%;color:var(--text-primary);flex-direction:column;display:flex}.plot-editor-create{width:100%}.plot-editor-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.plot-editor-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.plot-editor-actions{align-items:center;gap:8px;display:flex}.accept-btn,.reject-btn,.apply-btn,.apply-code-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s}.accept-btn{background-color:var(--accent-primary);color:#fff}.accept-btn:hover{background-color:var(--accent-primary-hover)}.reject-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.reject-btn:hover{background-color:var(--hover-bg)}.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;justify-content:center;align-items:center;padding:4px 8px;display:flex}.apply-code-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.apply-code-btn:disabled{color:var(--text-muted);cursor:not-allowed}.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 .run-icon{opacity:1}.version-selector{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}.version-selector:focus{border-color:var(--accent-primary);outline:none}.plot-editor-natural-language{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);gap:8px;padding:12px;display:flex}.nl-input{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:8px;flex:1;padding:10px 14px;font-size:14px}.nl-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--border-focus);outline:none}.nl-input::placeholder{color:var(--text-tertiary)}.plot-editor-error{background-color:var(--error-bg);border-left:3px solid var(--error);color:var(--error);margin:0;padding:12px 16px;font-size:13px}.plot-editor-error strong{font-weight:600}.plot-editor-content{background-color:var(--border-primary);flex:1;gap:1px;min-height:0;display:flex}.plot-editor-code,.plot-editor-preview{background-color:var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex}.code-header,.preview-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.code-header span,.preview-header span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.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:20px;display:flex;overflow:auto}.preview-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 2px 8px #00000026}:root[data-theme=light] .preview-image{box-shadow:0 2px 8px #0000001a}.no-preview{color:var(--text-tertiary);text-align:center;font-size:14px}.generating-badge{background-color:var(--warning);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600}.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}@media (max-width:1200px){.plot-editor-content{flex-direction:column}.plot-editor-code,.plot-editor-preview{min-height:300px}}.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:visible;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:6px 10px;display:flex}.plot-window.fullscreen .plot-window-header{border-radius:0}.plot-window-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:400px;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 6px;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-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-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-edit-btn:hover img{filter:brightness(0)saturate()invert(65%)sepia(50%)saturate(500%)hue-rotate(180deg)brightness()contrast(90%)}:root[data-theme=light] .plot-edit-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 img{filter:brightness(0)saturate()invert(65%)sepia(50%)saturate(500%)hue-rotate(180deg)brightness()contrast(90%)}:root[data-theme=light] .plot-edit-btn.active img{filter:brightness(0)saturate()invert(20%)sepia(0%)saturate(0%)hue-rotate()brightness()contrast()}.plot-nav-separator{background-color:var(--border-primary);width:1px;height:20px}.plot-window-content{background-color:var(--bg-tertiary);border-radius:0 0 4px 4px;flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.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:4px;max-width:100%;max-height:100%}.empty-plot-message{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:14px}.discard-modal-overlay{background-color:var(--overlay);z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.discard-modal{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:420px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.discard-modal-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:16px 20px}.discard-modal-header h4{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.discard-modal-body{padding:20px}.discard-modal-body p{color:var(--text-primary);margin:0 0 12px;font-size:14px;line-height:1.6}.discard-modal-body p:last-child{color:var(--text-secondary);margin-bottom:0}.discard-modal-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-primary);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.cancel-discard-btn,.confirm-discard-btn{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.cancel-discard-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.cancel-discard-btn:hover{background-color:var(--hover-bg)}.confirm-discard-btn{background-color:var(--error);color:#fff}.confirm-discard-btn:hover{background-color:var(--error-light)}.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)}.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 #00000040}.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);border-radius:4px 4px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;min-width:0;padding:6px 10px;display:flex}.script-window.fullscreen .script-window-header{border-radius:0}.script-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.script-window-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:80px;font-size:13px;font-weight:500;overflow:hidden}.dataset-selector,.language-selector{border:1px solid var(--border-primary);background-color:var(--bg-primary);cursor:pointer;color:var(--text-primary);border-radius:4px;flex-shrink:1;min-width:80px;padding:4px 8px;font-size:13px}.dataset-selector:focus,.language-selector:focus{border-color:var(--accent-primary);outline:none}.language-selector:disabled{opacity:.5;cursor:not-allowed}.script-default-lang-btn{border:1px solid var(--border-primary);background-color:var(--bg-primary);cursor:pointer;color:var(--warning);border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:14px;line-height:1;transition:all .2s}.script-default-lang-btn:hover{color:var(--text-primary)}.script-window-buttons{flex-shrink:0;align-items:center;gap:6px;display:flex}.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-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 0 4px 4px;flex:1;overflow:hidden}.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}.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}.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}}.confirm-dialog-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}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;width:90%;max-width:500px;animation:.2s ease-in-out slideUp;box-shadow:0 4px 20px #0000004d}.confirm-dialog-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:20px 24px;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-body{padding:24px}.confirm-dialog-body p{color:var(--text-secondary);margin:0 0 20px;line-height:1.6}.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:16px 24px;display:flex}.confirm-dialog-cancel,.confirm-dialog-confirm{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.confirm-dialog-cancel{color:var(--text-secondary);border:1px solid var(--border-primary);background-color:#0000}.confirm-dialog-cancel:hover{background-color:var(--hover-bg);color:var(--text-primary)}.confirm-dialog-confirm{background-color:var(--accent-secondary);color:#fff}.confirm-dialog-confirm:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #a855f74d}.confirm-dialog-confirm:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-confirm.destructive{background-color:#dc2626}.confirm-dialog-confirm.destructive:hover:not(:disabled){background-color:#b91c1c;box-shadow:0 4px 12px #dc26264d}.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}.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}}.presence-indicator{z-index:100;opacity:.4;position:absolute;top:55px;right:10px}.presence-indicator:hover,.presence-indicator.expanded{opacity:1}.presence-avatars{cursor:pointer;border-radius:4px;align-items:center;padding:2px;transition:background-color .2s;display:flex}.presence-avatars:hover{background-color:#0000000d}.presence-avatar{color:#fff;-webkit-user-select:none;user-select:none;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex;box-shadow:0 1px 3px #00000026}.presence-overflow{background-color:#666;font-size:10px}.presence-dropdown{background:#fff;border-radius:4px;min-width:200px;max-width:280px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.presence-dropdown-header{color:#666;border-bottom:1px solid #eee;padding:10px 12px;font-size:12px;font-weight:600}.presence-dropdown-list{max-height:240px;overflow-y:auto}.presence-dropdown-item{align-items:center;gap:10px;padding:8px 12px;transition:background-color .15s;display:flex}.presence-dropdown-item:hover{background-color:#f5f5f5}.presence-dropdown-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}.presence-dropdown-email{color:#333;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}[data-theme=dark] .presence-avatars:hover{background-color:#ffffff1a}[data-theme=dark] .presence-avatar{border-color:#1e1e1e}[data-theme=dark] .presence-dropdown{background:#2d2d2d;box-shadow:0 4px 12px #0000004d}[data-theme=dark] .presence-dropdown-header{color:#aaa;border-bottom-color:#444}[data-theme=dark] .presence-dropdown-item:hover{background-color:#3a3a3a}[data-theme=dark] .presence-dropdown-email{color:#eee}.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:4px 8px;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;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.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;gap:6px;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:4px;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-search-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:2px 6px;font-size:12px;transition:color .15s;display:flex}.panel-header-search-close:hover{color:var(--error,#e06c75)}.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:768px){.dataset-manipulator-layout{flex-direction:column}.panels-container{border-left:none;border-right:none;border-bottom:1px solid var(--border-primary);max-width:100%;height:50vh;width:100%!important}.panels-container.right-panels{border-left:none}.main-content{flex:1}}: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:10px 20px;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}.danger-zone{border-top:1px solid var(--border-primary);margin-top:24px;padding-top:24px}.danger-zone h3{color:#ef4444;margin:0 0 16px;font-size:14px;font-weight:600}.delete-project-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:10px 20px;font-size:14px;transition:all .15s}.delete-project-btn:hover{background:#ef44441a}.delete-confirm{background:#ef44440d;border:1px solid #ef444433;border-radius:4px;padding:16px}.delete-confirm p{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.delete-confirm p strong{color:var(--text-primary)}.delete-confirm input{background:var(--bg-secondary);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:4px;margin-bottom:12px;padding:10px 12px;font-size:14px}.delete-confirm-actions{justify-content:flex-end;gap:12px;display:flex}.cancel-delete-btn{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}.cancel-delete-btn:hover{background:var(--bg-tertiary)}.confirm-delete-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .15s}.confirm-delete-btn:hover:not(:disabled){background:#dc2626}.confirm-delete-btn:disabled{opacity:.5;cursor:not-allowed}.members-section{flex-direction:column;gap:20px;display:flex}.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{gap:12px;display:flex}.invite-input-row input{flex:1}.invite-btn{background:var(--accent-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:10px 20px;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{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:column;gap:2px;display:flex}.member-email{color:var(--text-primary);font-size:14px}.member-role{color:var(--text-tertiary);font-size:12px}.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}.invite-input-row{flex-direction:column}}.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-y:auto}.sidebar-logo{align-items:center;gap:10px;padding:8px 16px 24px;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:1;padding:0 12px}.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: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:32px;display:flex}.projects-header-left h1{margin:0 0 4px;font-size:28px;font-weight:600}.projects-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.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-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)}.upgrade-prompt{background:linear-gradient(135deg,var(--accent-primary)0%,#8b5cf6 100%);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.upgrade-content h3{margin:0 0 4px;font-size:16px;font-weight:600}.upgrade-content p{opacity:.9;margin:0;font-size:14px}.upgrade-btn{color:var(--accent-primary);cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}@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-grid{grid-template-columns:1fr}.upgrade-prompt{text-align:center;flex-direction:column;gap:16px}.upgrade-btn{width:100%}}.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 #0000004d}.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:4px;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:var(--accent-primary)}.nav-btn.primary:hover{background:var(--accent-primary-hover)}@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-tertiary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;box-shadow:0 20px 40px #0006}.demo-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-secondary);align-items:center;gap:10px;padding:8px 12px;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:12px;height:280px;padding:16px;display:flex}.demo-input-area{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:4px;align-items:center;gap:10px;padding:10px 12px;display:flex}.demo-input{color:var(--text-primary);flex:1;min-height:20px;font-size:14px}.input-text{white-space:pre-wrap}.cursor{color:var(--accent-primary);opacity:0;font-weight:300}.cursor.blinking{animation:1s step-end infinite blink}.demo-send-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;max-width:28px;min-height:28px;max-height:28px;padding:0;transition:opacity .2s;display:flex}.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:var(--accent-primary);background:#19c37d26;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.result-content{background:var(--bg-secondary);border-radius:4px;height:180px;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:20px;width:100%;max-width:300px;height:100%;display:flex}.bar{background:linear-gradient(180deg,var(--accent-primary)0%,var(--accent-secondary)100%);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-secondary);white-space:nowrap;font-size:11px;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.demo-indicators{justify-content:center;gap:8px;margin-top:16px;display:flex}.indicator{background:var(--border-primary);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .2s}.indicator.active{background:var(--accent-primary);border-radius:4px;width:24px}.indicator:hover:not(.active){background:var(--text-tertiary)}@media (max-width:640px){.demo-body{height:300px;padding:16px}.demo-input-area{padding:10px 12px}.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{text-align:center;flex-direction:column;align-items:center;gap:30px;max-width:1200px;margin:0 auto;padding:30px 24px 35px;display:flex}.hero-content{max-width:700px}.hero-headline{color:var(--text-primary);margin:0 0 24px;font-size:30px;font-weight:700;line-height:1.15}.hero-headline .highlight{color:var(--accent-primary)}.hero-subheadline{color:var(--text-secondary);margin:0 0 20px;font-size:15px;line-height:1.6}.hero-cta{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.cta-btn{border-radius:4px;padding:10px 18px;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s}.cta-btn.primary{color:#fff;background:var(--accent-primary)}.cta-btn.primary:hover{background:var(--accent-primary-hover);transform:translateY(-2px)}.cta-btn.secondary{color:var(--text-primary);border:1px solid var(--border-primary);background:0 0}.cta-btn.secondary:hover{border-color:var(--text-secondary);background:var(--hover-bg)}.hero-demo{width:100%;max-width:580px}.features-section{background:var(--bg-secondary);padding:30px 24px}.features-container{max-width:1200px;margin:0 auto}.features-header{text-align:center;margin-bottom:32px}.features-title{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:700}.features-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:15px}.features-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.feature-card{background:var(--bg-primary);border:1px solid var(--border-secondary);opacity:0;border-radius:8px;padding:20px;transition:opacity .5s;position:relative}.feature-card.visible{opacity:1}.feature-badge{background:var(--accent-secondary);color:#fff;text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;position:absolute;top:16px;right:16px}.feature-icon{width:36px;height:36px;color:var(--accent-primary);background:#19c37d1a;border-radius:6px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.feature-icon svg{width:18px;height:18px}.feature-title{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.feature-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}@media (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.features-section{padding:80px 16px}.features-header{margin-bottom:48px}.features-title{font-size:28px}.features-subtitle{font-size:16px}.features-grid{grid-template-columns:1fr;gap:16px}.feature-card{padding:24px}}@media (prefers-reduced-motion:reduce){.feature-card{opacity:1;transition:none}}.pricing-section{background:var(--bg-primary);padding:48px 24px}.pricing-container{max-width:800px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:24px}.pricing-title{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:700}.pricing-subtitle{color:var(--text-secondary);margin:0 0 20px;font-size:15px}.billing-toggle{background:var(--bg-secondary);border-radius:4px;gap:4px;padding:4px;display:inline-flex}.toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.toggle-btn.active{background:var(--bg-primary);color:var(--text-primary)}.savings-badge{background:var(--accent-primary);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.pricing-cards{grid-template-columns:repeat(2,1fr);gap:16px;padding-top:12px;display:grid}.pricing-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);box-sizing:border-box;border-radius:8px;flex-direction:column;padding:20px;display:flex;position:relative}.pricing-card.featured{border-color:var(--accent-primary);background:var(--bg-tertiary);margin-top:12px}.featured-badge{background:var(--accent-primary);color:#fff;z-index:1;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:-12px;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 8px;font-size:18px;font-weight:600}.plan-price{justify-content:center;align-items:baseline;gap:4px;margin-bottom:4px;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 16px;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:var(--accent-primary);flex-shrink:0}.x-icon{color:var(--text-tertiary);flex-shrink:0}.plan-cta{text-align:center;box-sizing:border-box;border-radius:4px;margin-top:auto;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:block}.plan-cta.primary{background:var(--accent-primary);color:#fff}.plan-cta.primary:hover{background:var(--accent-primary-hover)}.plan-cta.secondary{color:var(--text-primary);border:1px solid var(--border-primary);background:0 0}.plan-cta.secondary:hover{border-color:var(--text-secondary);background:var(--hover-bg)}@media (max-width:768px){.pricing-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}.pricing-card.featured{order:-1}}@media (max-width:640px){.pricing-section{padding:80px 16px}.pricing-title{font-size:28px}.pricing-subtitle{font-size:16px}.pricing-card{padding:24px}.price{font-size:40px}}.get-started-section{background:linear-gradient(135deg,var(--accent-primary)0%,var(--accent-secondary)100%);padding:14px}.get-started-container{justify-content:space-between;align-items:center;gap:24px;max-width:800px;margin:0 auto;display:flex}.get-started-title{color:#fff;margin:0;font-size:18px;font-weight:600}.get-started-actions{flex-shrink:0;gap:12px;display:flex}.gs-btn{border-radius:4px;padding:10px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.gs-btn.primary{color:var(--accent-primary);background:#fff}.gs-btn.primary:hover{background:#ffffffe6;transform:translateY(-2px)}.gs-btn.secondary{color:#fff;background:0 0;border:2px solid #ffffff80}.gs-btn.secondary:hover{background:#ffffff1a;border-color:#fff}@media (max-width:640px){.get-started-container{text-align:center;flex-direction:column}.get-started-actions{justify-content:center;width:100%}}.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:#19c37d;--accent-primary-hover:#15a366;--highlight-bg:#19c37d1a;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)}.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}}.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:12px 16px;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}}
