body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;color:#e0e0e0;height:100vh;width:100vw;overflow:hidden}.app-container{display:flex;height:100vh;width:100vw;box-sizing:border-box;overflow:hidden;padding:0;margin:0}.left-panel{width:280px;min-width:280px;max-width:280px;background-color:#242424;border-right:1px solid #333;display:flex;flex-direction:column;height:100vh}.left-panel-content{display:flex;flex-direction:column;height:100%}.left-panel-top{display:flex;flex-direction:column;flex:1;min-height:0}.left-panel h2{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 20px;border-bottom:2px solid #333;padding:20px 20px 12px;background-color:#242424;position:sticky;top:0;z-index:1}.import-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.left-panel-bottom{display:flex;flex-direction:column;padding:12px}.import-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background-color:#0d6efd;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease-in-out}.import-button:hover{background-color:#0b5ed7}.import-button svg{width:20px;height:20px;flex-shrink:0}.import-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease-in-out}.import-dialog.active{opacity:1;visibility:visible}.import-dialog-content{background-color:#242424;border-radius:12px;padding:24px;width:90%;max-width:500px;max-height:calc(100vh - 100px);overflow-y:auto;overflow-x:hidden;box-shadow:0 4px 20px #0000004d;transform:translateY(20px);transition:transform .3s ease-in-out;position:relative;box-sizing:border-box}.import-dialog.active .import-dialog-content{transform:translateY(0)}.import-dialog-steps{position:relative;width:100%;overflow:hidden}.import-dialog-step{width:100%;transition:transform .3s ease-in-out;position:relative;box-sizing:border-box}.import-dialog-step.slide-left{transform:translate(0)}.column-options{position:relative;width:100%;transform:translate(0);transition:transform .3s ease-in-out;box-sizing:border-box}.import-dialog-step.slide-left .column-options{transform:translate(0)}.import-dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.import-dialog-header h3{margin:0;font-size:1.5rem;color:#fff;flex:1}.import-dialog-close{position:relative;background-color:#242424;border:1px solid #333;border-radius:50%;color:#adb5bd;cursor:pointer;padding:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out}.import-dialog-close:hover{background-color:#333;color:#fff;transform:scale(1.1)}.import-dialog-close svg{width:16px;height:16px}.import-options{display:grid;gap:16px;width:100%;box-sizing:border-box}.import-option{background-color:#2a2a2a;border:2px solid #333;border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box}.import-option:hover{border-color:#0d6efd;background-color:#333}.import-option-icon{width:40px;height:40px;background-color:#1a1a1a;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#0d6efd}.import-option-content{flex:1}.import-option-title{font-size:1.1rem;font-weight:500;color:#fff;margin-bottom:4px}.import-option-description{font-size:.9rem;color:#adb5bd}.import-option input[type=file]{display:none}.import-option input[type=text]{width:100%;padding:10px 12px;background-color:#1a1a1a;border:1px solid #333;border-radius:6px;color:#e0e0e0;font-size:.95rem;margin-top:8px;box-sizing:border-box}.import-option input[type=text]:focus{outline:none;border-color:#0d6efd}.data-source-list{flex:1;overflow-y:auto;padding:0 12px 12px}.data-source-item{padding:6px 12px;cursor:pointer;border-radius:8px;margin-bottom:8px;display:flex;flex-direction:column;color:#e0e0e0;transition:all .2s ease-in-out;background-color:#2a2a2a;gap:4px;min-height:55px;justify-content:space-between}.data-source-item:hover{background-color:#333}.data-source-item.selected{background-color:#333;color:#0d6efd;border-left:3px solid #0d6efd}.data-source-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;justify-content:space-between}.data-source-header{display:flex;align-items:center;min-height:20px;padding-top:2px}.data-source-details{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:#adb5bd;min-height:20px;padding-bottom:2px}.data-source-name{font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-source-type{font-size:.8rem;color:#adb5bd;text-transform:uppercase;letter-spacing:.5px}.data-source-meta{display:flex;align-items:center;gap:8px;opacity:1;transition:opacity .2s ease-in-out}.data-source-item[data-editing=true] .data-source-meta,.data-source-item[data-deleting=true] .data-source-meta{opacity:0}.data-source-actions{display:flex;gap:4px;opacity:0;transition:all .2s ease-in-out}.data-source-item:hover .data-source-actions{opacity:1}.data-source-edit,.data-source-delete{opacity:0;padding:4px;background:none;border:none;color:#adb5bd;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out}.data-source-item:hover .data-source-edit,.data-source-item:hover .data-source-delete{opacity:1}.data-source-edit:hover{color:#0d6efd;background-color:#0d6efd1a}.data-source-delete:hover{color:#dc3545;background-color:#dc35451a}.data-source-edit-input{width:100%;padding:2px 6px;background-color:#1a1a1a;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:.95rem;margin:-2px 0}.data-source-edit-input:focus{outline:none;border-color:#0d6efd}.data-source-edit-confirmation,.data-source-delete-confirmation{display:flex;gap:8px;justify-content:flex-end;width:100%}.data-source-edit-confirmation .cancel-button,.data-source-edit-confirmation .confirm-button,.data-source-delete-confirmation .cancel-button,.data-source-delete-confirmation .delete-button{padding:4px 8px;font-size:.8rem;border-radius:4px;cursor:pointer;transition:all .2s ease-in-out;border:none}.data-source-edit-confirmation .cancel-button,.data-source-delete-confirmation .cancel-button{background-color:#2a2a2a;color:#e0e0e0}.data-source-edit-confirmation .cancel-button:hover,.data-source-delete-confirmation .cancel-button:hover{background-color:#333}.data-source-edit-confirmation .confirm-button{background-color:#0d6efd;color:#fff}.data-source-edit-confirmation .confirm-button:hover{background-color:#0b5ed7}.right-panel{flex-grow:1;padding:16px;display:flex;flex-direction:column;overflow:hidden;background-color:#1a1a1a}.right-panel h3{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 16px;border-bottom:2px solid #333;padding-bottom:12px}.filtex-section{margin-top:0;margin-bottom:15px}.filter-result-preview{margin-top:20px;background-color:#2a2a2a;padding:16px;border-radius:6px;border:1px solid #333}.filter-result-preview h4{margin:0 0 12px;font-size:1rem;font-weight:500;color:#e0e0e0}.filter-result-preview pre{font-size:.9em;background-color:#1a1a1a;padding:12px;border-radius:4px;color:#e0e0e0;white-space:pre-wrap;word-break:break-all;margin:0}.datagrid-section{flex-grow:1;overflow:hidden;background-color:#242424;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0003;display:flex;flex-direction:column}.table-wrapper{overflow-y:auto;flex-grow:1;border-radius:6px;border:1px solid #333}.modern-table{width:100%;border-collapse:collapse;font-size:.95rem;color:#e0e0e0}.modern-table th,.modern-table td{border:1px solid #333;padding:12px 16px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-table thead th{background-color:#181818;color:#fff;font-weight:600;position:sticky;top:0;z-index:1;padding:14px 16px}.modern-table tbody tr:nth-of-type(2n){background-color:#2a2a2a}.modern-table tbody tr:hover{background-color:#333}.no-data-message,.select-source-message{padding:32px;text-align:center;font-size:1.1rem;color:#adb5bd;background-color:#2a2a2a;border-radius:6px;margin:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}::-webkit-scrollbar-corner{background:#1a1a1a}.resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background-color:transparent;transition:background-color .2s ease}.resize-handle:hover,.resize-handle.active{background-color:#0d6efd}.resize-handle:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:2px;height:30px;background-color:#333;border-radius:1px}.resize-handle:hover:after,.resize-handle.active:after{background-color:#0d6efd}.panel-toggle{position:relative;right:0;width:32px;height:32px;background-color:transparent;border:1px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.panel-toggle:hover{background-color:#333;border-color:#0d6efd;transform:scale(1.1)}.panel-toggle svg{width:18px;height:18px;color:#e0e0e0;transition:transform .3s ease}.left-panel-content{width:100%;opacity:1;transition:all .3s ease}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid #333;border-top:4px solid #0d6efd;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:#adb5bd;font-size:1rem;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.datagrid-header{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;margin-bottom:16px;padding:0 8px;gap:16px}.datagrid-info{color:#adb5bd;font-size:.9rem;text-align:center}.datagrid-pages{display:flex;justify-content:left}.datagrid-actions{display:flex;justify-content:flex-end;gap:12px}.export-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#333;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease-in-out}.export-button:hover{background-color:#444}.export-button svg{width:20px;height:20px}.download-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background-color:#0d6efd;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease-in-out}.download-button:hover{background-color:#0b5ed7}.download-button svg{width:20px;height:20px;flex-shrink:0}.export-format-buttons{display:flex;gap:12px;margin-top:12px}.format-button{flex:1;padding:12px;background-color:#2a2a2a;border:2px solid #333;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease-in-out}.format-button:hover{border-color:#0d6efd;background-color:#333}.format-button.selected{border-color:#0d6efd;color:#fff}.column-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#333;color:#e0e0e0;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease-in-out}.column-button:hover{background-color:#444}.column-button svg{width:20px;height:20px}.column-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.column-option-title{font-size:14px;color:var(--text-primary)}.toggle-all-button{padding:6px 12px;background-color:#2a2a2a;border:1px solid #333;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:.9rem;transition:all .2s ease-in-out}.toggle-all-button:hover{background-color:#333;border-color:#0d6efd}.column-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;box-sizing:border-box}.import-dialog .column-list{flex-direction:row;flex-wrap:wrap}.column-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px;border-radius:4px;transition:all .2s ease-in-out;background-color:#2a2a2a;border:1px solid transparent;white-space:nowrap}.import-dialog .column-checkbox{flex:0 0 auto}.column-checkbox:hover{background-color:#333;border-color:#0d6efd}.column-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#0d6efd;margin:0}.column-checkbox span{color:#e0e0e0;font-size:.9rem;white-space:nowrap}.import-preview{margin-top:20px;border:1px solid #333;border-radius:6px;overflow:hidden}.import-preview-header{padding:12px;background-color:#2a2a2a;border-bottom:1px solid #333;color:#e0e0e0;font-size:.9rem}.import-preview-content{max-height:300px;overflow-y:auto;background-color:#242424}.import-preview-content .modern-table{margin:0;border:none}.import-preview-content .modern-table th,.import-preview-content .modern-table td{padding:8px 12px;font-size:.9rem}.import-preview-content .modern-table thead th{position:sticky;top:0;z-index:1}.import-button:disabled{background-color:#666;cursor:not-allowed}.import-button:disabled:hover{background-color:#666;transform:none}.column-option-content{width:100%;background-color:#242424;border-radius:8px;box-sizing:border-box}.pagination{display:flex;align-items:center;gap:8px;margin-right:12px}.pagination-button{padding:6px;background-color:#2a2a2a;color:#e0e0e0;border:1px solid #333;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out}.pagination-button:hover:not(:disabled){background-color:#333;border-color:#0d6efd;transform:scale(1.1)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button svg{width:16px;height:16px}.pagination-form{display:flex;align-items:center;gap:4px}.pagination-input{width:40px;padding:4px 8px;background-color:#2a2a2a;color:#e0e0e0;border:1px solid #333;border-radius:4px;font-size:.9rem;text-align:center}.pagination-input:focus{outline:none;border-color:#0d6efd}.pagination-separator{color:#adb5bd;font-size:.9rem}.pagination-total{color:#adb5bd;font-size:.9rem;min-width:20px}.delete-confirmation-content{padding:20px;text-align:center}.delete-confirmation-content p{margin:0 0 16px;color:#e0e0e0;font-size:1.1rem}.delete-warning{color:#dc3545!important;font-size:.9rem!important;margin-bottom:24px!important}.delete-actions{display:flex;gap:12px;justify-content:center}.cancel-button{padding:10px 24px;background-color:#2a2a2a;color:#e0e0e0;border:1px solid #333;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease-in-out}.cancel-button:hover{background-color:#333;border-color:#0d6efd}.delete-button{padding:10px 24px;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease-in-out}.delete-button:hover{background-color:#bb2d3b}.data-source-delete-confirmation{display:flex;gap:8px;opacity:1;transition:all .2s ease-in-out}.data-source-delete-confirmation .cancel-button,.data-source-delete-confirmation .delete-button{padding:4px 8px;font-size:.8rem;border-radius:4px;cursor:pointer;transition:all .2s ease-in-out;border:none}.data-source-delete-confirmation .cancel-button{background-color:#2a2a2a;color:#e0e0e0}.data-source-delete-confirmation .cancel-button:hover{background-color:#333}.data-source-delete-confirmation .delete-button{background-color:#dc3545;color:#fff}.data-source-delete-confirmation .delete-button:hover{background-color:#bb2d3b}.data-source-confirmation{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.data-source-confirmation .cancel-button,.data-source-confirmation .confirm-button,.data-source-confirmation .delete-button{padding:4px 8px;font-size:.8rem;border-radius:4px;cursor:pointer;transition:all .2s ease-in-out;border:none}.data-source-confirmation .cancel-button{background-color:#2a2a2a;color:#e0e0e0}.data-source-confirmation .cancel-button:hover{background-color:#333}.data-source-confirmation .confirm-button{background-color:#0d6efd;color:#fff}.data-source-confirmation .confirm-button:hover{background-color:#0b5ed7}.data-source-confirmation .delete-button{background-color:#dc3545;color:#fff}.data-source-confirmation .delete-button:hover{background-color:#bb2d3b}.import-error-message{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#323232;border-radius:4px;padding:14px 24px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:1200;animation:toastSlideDown .2s cubic-bezier(.4,0,.2,1);min-width:288px;max-width:568px}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%,-100%)}to{opacity:1;transform:translate(-50%)}}.import-error-message .error-icon{color:#ff5252;flex-shrink:0;width:48px;height:48px}.import-error-message p{margin:0;color:#fff;font-size:.875rem;line-height:1.4;font-weight:400;flex-grow:1}.error-close{background:none;border:none;padding:4px;cursor:pointer;color:#ffffffb3;display:flex;align-items:center;justify-content:center;transition:color .2s}.error-close:hover{color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background-color:#242424;border-radius:8px;margin:auto;gap:12px;height:100%;max-width:400px}.empty-state-icon{width:40px;height:40px;color:#666;opacity:.8}.empty-state-title{font-size:1rem;font-weight:500;color:#e0e0e0;margin:0;font-size:1.6rem}.empty-state-description{font-size:.9rem;color:#999;margin:0;line-height:1.5}.empty-state-action{margin-top:8px;padding:12px 24px;background-color:#0d6efd;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;gap:10px}.empty-state-action:hover{background-color:#0b5ed7;transform:translateY(-1px)}.empty-state-action svg{width:18px;height:18px}.skeleton-container{display:flex;flex-direction:column;gap:12px;padding:12px}.skeleton-item{background:#2a2a2a;border-radius:8px;height:55px}.mobile-warning{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:9999;justify-content:center;align-items:center;text-align:center;padding:20px}.mobile-warning-content{background-color:#242424;padding:30px;border-radius:12px;max-width:400px;border:1px solid #333;box-shadow:0 4px 20px #0000004d}.mobile-warning-icon{width:48px;height:48px;color:#dc3545;margin-bottom:20px}.mobile-warning h2{color:#fff;font-size:1.5rem;margin:0 0 16px}.mobile-warning p{color:#adb5bd;font-size:1rem;line-height:1.5;margin:0}@media (max-width: 768px){.app-container{display:none!important}}
