.searchable-select{width:100%;min-width:120px}.searchable-select-wrap{position:relative;display:flex;align-items:center}.searchable-select-input{width:100%;box-sizing:border-box;padding:4px 22px 4px 6px;font-family:var(--font-mono);font-size:13px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:3px;outline:none;line-height:1.4;cursor:pointer}.searchable-select-arrow{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:8px;color:var(--text-muted);pointer-events:none;line-height:1}.searchable-select-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.searchable-select-dropdown{display:none;max-height:240px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;z-index:100;box-shadow:0 8px 24px #0000004d}.searchable-select-dropdown.portal{display:block}.searchable-select-option{padding:5px 8px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);cursor:pointer;transition:background .06s}.searchable-select-option:hover,.searchable-select-option.highlighted{background:var(--bg-active)}.searchable-select-option.selected{background:#569cd626;color:var(--accent);font-weight:500}.searchable-select-empty{padding:8px;font-size:12px;color:var(--text-muted);text-align:center;font-style:italic}.table-struct-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100000}.table-struct-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);width:95%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;overflow:hidden}.table-struct-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.table-struct-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.table-struct-header .icon-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;font-size:14px}.table-struct-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.table-struct-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;padding:0 16px}.table-struct-tab{padding:10px 18px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s,border-color .12s;display:flex;align-items:center;gap:6px}.table-struct-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.table-struct-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.table-struct-body{flex:1;overflow-y:auto;padding:0}.table-struct-content{padding:16px}.table-struct-actions{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;flex-wrap:wrap}.table-struct-actions .action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-primary);color:var(--text-primary);transition:background .12s,border-color .12s}.table-struct-actions .action-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.table-struct-actions .action-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.table-struct-actions .action-btn.primary:hover{opacity:.9}.table-struct-actions .action-btn.danger{color:var(--red);border-color:var(--red)}.table-struct-actions .action-btn.danger:hover{background:#e06c751a}.table-struct-actions .action-btn:disabled{opacity:.5;cursor:not-allowed}.struct-table td .struct-editable-input{width:100%!important;min-width:40px;max-width:none;box-sizing:border-box}.struct-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px}.struct-table{border-collapse:collapse;font-size:13px;width:100%;min-width:700px}.struct-table thead th{padding:7px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-align:left;position:sticky;top:0;z-index:1}.struct-table thead th:last-child{border-right:none}.struct-table tbody tr{transition:background .06s}.struct-table tbody tr:hover{background:var(--bg-hover)}.struct-table tbody tr.struct-row-new{background:#50c8780d}.struct-table tbody tr.struct-row-deleted{background:#e06c7514;opacity:.5}.struct-table tbody tr.struct-row-modified{background:#e5c07b0f}.struct-table tbody td{padding:5px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.struct-table tbody td:last-child{border-right:none}.struct-editable{cursor:pointer;border-radius:3px;padding:2px 4px;transition:background .1s;min-height:20px}.struct-editable:hover{background:var(--bg-active)}.struct-editable-input{width:100%;box-sizing:border-box;padding:4px 6px;font-family:var(--font-mono);font-size:13px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:3px;outline:none;line-height:1.4}.struct-editable-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.struct-cell-name{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--accent)}.struct-cell-type{font-family:var(--font-mono);font-size:12px;color:var(--cyan)}.struct-cell-default{font-family:var(--font-mono);font-size:11px;color:var(--yellow)}.struct-cell-nullable{text-align:center}.struct-cell-length{font-family:var(--font-mono);font-size:12px;color:var(--yellow);text-align:center}.struct-pk-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;font-size:9px;font-weight:700;border-radius:3px;background:#e5c07b33;color:var(--yellow);letter-spacing:.3px}.struct-fk-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;font-size:9px;font-weight:700;border-radius:3px;background:#98c37933;color:var(--green);letter-spacing:.3px}.struct-unique-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;font-size:9px;font-weight:700;border-radius:3px;background:#61afef33;color:var(--blue);letter-spacing:.3px}.struct-cell-badge-wrap{display:flex;align-items:center;gap:4px}.struct-cell-constraints{display:flex;flex-direction:column;gap:4px;min-width:200px}.struct-constraint-row{display:flex;align-items:center;gap:8px}.struct-constraint-checkbox{display:inline-flex;align-items:center;gap:2px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.struct-constraint-checkbox input.struct-checkbox{width:14px;height:14px;margin:0}.struct-constraint-label{font-size:10px;font-weight:700;letter-spacing:.3px}.struct-constraint-label.pk-label{color:var(--yellow)}.struct-constraint-label.uq-label{color:var(--blue)}.struct-constraint-label.fk-label{color:var(--green)}.struct-fk-fields{margin-top:2px}.struct-fk-field{display:flex;align-items:center;gap:1px}.struct-fk-field-select{flex:1;min-width:0}.struct-fk-field-select .searchable-select{display:inline-block;width:100%}.struct-fk-field-select .searchable-select-input{font-size:10px!important;padding:1px 4px!important;height:20px!important;min-width:40px}.struct-fk-field-select .searchable-select-arrow{font-size:8px!important;right:2px!important}.struct-fk-dot{color:var(--text-muted);font-size:10px;font-weight:700;padding:0 1px;flex-shrink:0}.struct-cell-actions{display:flex;align-items:center;gap:4px}.struct-cell-actions button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:11px;transition:color .1s,background .1s}.struct-cell-actions button:hover{color:var(--text-primary);background:var(--bg-active)}.struct-cell-actions button.danger:hover{color:var(--red);background:#e06c751f}.struct-cell-comment{font-style:italic;font-size:11px;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.struct-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.struct-type-select{width:100%;box-sizing:border-box;padding:2px 4px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:3px;outline:none;cursor:pointer}.struct-type-select:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.struct-type-select option{background:var(--bg-secondary);color:var(--text-primary)}.struct-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}.struct-section-title:first-child{margin-top:0}.indexes-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.indexes-table{border-collapse:collapse;font-size:13px;width:100%;min-width:500px}.indexes-table thead th{padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;text-align:left;white-space:nowrap}.indexes-table thead th:last-child{border-right:none}.indexes-table tbody td{padding:5px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);font-size:12px}.indexes-table tbody td:last-child{border-right:none}.indexes-table tbody tr:last-child td{border-bottom:none}.indexes-table tbody tr:hover{background:var(--bg-hover)}.index-pk-badge{display:inline-flex;padding:1px 5px;font-size:9px;font-weight:700;border-radius:3px;background:#e5c07b33;color:var(--yellow)}.index-unique-badge{display:inline-flex;padding:1px 5px;font-size:9px;font-weight:700;border-radius:3px;background:#98c37926;color:var(--green)}.index-name-cell{font-weight:500}.ddl-body{padding:0}.ddl-code{margin:0;padding:16px;font-family:var(--font-mono);font-size:12px;color:var(--cyan);white-space:pre;line-height:1.6;-moz-tab-size:2;tab-size:2;background:var(--bg-primary);overflow-x:auto}.ddl-loading{padding:32px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.struct-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100001}.struct-confirm-box{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;max-width:380px;box-shadow:0 12px 40px #00000080}.struct-confirm-box h4{margin:0 0 8px;font-size:var(--font-size-base);color:var(--text-primary)}.struct-confirm-box p{margin:0 0 16px;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.struct-confirm-box code{font-family:var(--font-mono);color:var(--accent);background:var(--bg-secondary);padding:1px 5px;border-radius:3px}.struct-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.struct-confirm-actions button{padding:6px 16px;font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.struct-confirm-actions button:hover{background:var(--bg-hover)}.struct-confirm-actions button.confirm-delete{background:var(--red);color:#fff;border-color:var(--red)}.struct-confirm-actions button.confirm-delete:hover{opacity:.9}.struct-rename-body{padding:24px 20px}.struct-rename-desc{display:flex;align-items:center;gap:8px;font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:16px}.struct-rename-desc code{font-family:var(--font-mono);color:var(--accent);background:#3574f01a;padding:2px 6px;border-radius:3px}.struct-rename-input-group{display:flex;flex-direction:column;gap:6px}.struct-rename-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.struct-rename-row{display:flex;align-items:center;gap:8px}.struct-rename-input{flex:1;height:32px;padding:0 10px;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}.struct-rename-input:focus{border-color:var(--accent)}.create-schema-dialog{max-width:480px;width:90vw}.create-schema-dialog .seq-modal-body{display:flex;flex-direction:column;gap:14px;padding:18px 16px}.create-schema-dialog .form-group{display:flex;flex-direction:column;gap:4px}.create-schema-dialog .form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.create-schema-dialog .form-group input,.create-schema-dialog .form-group .readonly-field{padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);outline:none;transition:border-color .15s}.create-schema-dialog .form-group input:focus{border-color:var(--accent)}.create-schema-dialog .readonly-field{opacity:.7;font-style:italic}.create-schema-dialog .dialog-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.create-schema-dialog .dialog-footer button{padding:6px 16px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:1px solid var(--border);transition:background .12s,color .12s}.create-schema-dialog .dialog-footer .btn-cancel{background:transparent;color:var(--text-secondary)}.create-schema-dialog .dialog-footer .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.create-schema-dialog .dialog-footer .btn-ok{background:var(--accent);color:#fff;border-color:var(--accent)}.create-schema-dialog .dialog-footer .btn-ok:hover{background:var(--accent-hover)}.create-schema-dialog .dialog-footer .btn-ok:disabled{opacity:.5;cursor:not-allowed}.create-table-dialog{max-width:700px;width:90vw}.create-table-dialog .seq-modal-body{display:flex;flex-direction:column;gap:14px;padding:18px 16px;max-height:70vh;overflow-y:auto}.create-table-dialog .form-group{display:flex;flex-direction:column;gap:4px}.create-table-dialog .form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.create-table-dialog .form-group input{padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);outline:none;transition:border-color .15s}.create-table-dialog .form-group input:focus{border-color:var(--accent)}.column-definitions{display:flex;flex-direction:column;gap:6px}.column-definitions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.column-definitions-header label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.column-definitions-header .add-col-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;font-size:var(--font-size-xs);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.column-definitions-header .add-col-btn:hover{background:var(--accent-dim)}.col-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--border)}.col-row:last-child{border-bottom:none}.col-row .col-name-input{flex:0 0 130px;padding:4px 7px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-family:var(--font-mono);outline:none}.col-row .col-name-input:focus{border-color:var(--accent)}.col-row .col-type-select{flex:0 0 150px}.col-row .col-length-input{flex:0 0 60px;padding:4px 5px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);text-align:right;outline:none}.col-row .col-length-input:focus{border-color:var(--accent)}.col-row .col-length-input::placeholder{color:var(--text-muted);font-size:10px}.col-row .col-checkbox{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted);white-space:nowrap}.col-row .col-checkbox input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);cursor:pointer}.col-row .col-del-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color .12s,background .12s}.col-row .col-del-btn:hover{color:var(--red);background:#e06c751f}.col-row .col-row-id{font-size:10px;color:var(--text-muted);width:10px;text-align:right;flex-shrink:0}.create-table-dialog .dialog-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.create-table-dialog .dialog-footer button{padding:6px 16px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:1px solid var(--border);transition:background .12s,color .12s}.create-table-dialog .dialog-footer .btn-cancel{background:transparent;color:var(--text-secondary)}.create-table-dialog .dialog-footer .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.create-table-dialog .dialog-footer .btn-ok{background:var(--accent);color:#fff;border-color:var(--accent)}.create-table-dialog .dialog-footer .btn-ok:hover{background:var(--accent-hover)}.create-table-dialog .dialog-footer .btn-ok:disabled{opacity:.5;cursor:not-allowed}.create-view-dialog{max-width:560px;width:90vw}.create-view-dialog .seq-modal-body{display:flex;flex-direction:column;gap:14px;padding:18px 16px}.create-view-dialog .form-group{display:flex;flex-direction:column;gap:4px}.create-view-dialog .form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.create-view-dialog .form-group input,.create-view-dialog .form-group textarea{padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);outline:none;transition:border-color .15s;font-family:var(--font-ui)}.create-view-dialog .form-group input:focus,.create-view-dialog .form-group textarea:focus{border-color:var(--accent)}.create-view-dialog .form-group textarea{resize:vertical;min-height:120px;font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5;-moz-tab-size:2;tab-size:2}.create-view-dialog .dialog-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.create-view-dialog .dialog-footer button{padding:6px 16px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:1px solid var(--border);transition:background .12s,color .12s}.create-view-dialog .dialog-footer .btn-cancel{background:transparent;color:var(--text-secondary)}.create-view-dialog .dialog-footer .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.create-view-dialog .dialog-footer .btn-ok{background:var(--accent);color:#fff;border-color:var(--accent)}.create-view-dialog .dialog-footer .btn-ok:hover{background:var(--accent-hover)}.create-view-dialog .dialog-footer .btn-ok:disabled{opacity:.5;cursor:not-allowed}.create-view-dialog .test-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;font-size:var(--font-size-xs);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s}.create-view-dialog .test-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.create-view-dialog .test-btn:disabled{opacity:.5;cursor:not-allowed}.create-view-dialog .test-result{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-family:var(--font-mono);font-size:11px;color:var(--green);white-space:pre-wrap;line-height:1.5;max-height:120px;overflow:auto;margin:0}.create-view-dialog .test-result.error{color:var(--red)}.create-view-dialog .test-result.info{color:var(--text-muted)}.schema-explorer{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none}.explorer-header{display:flex;align-items:center;padding:8px 10px 6px;border-bottom:1px solid var(--border);flex-shrink:0;gap:4px}.explorer-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;flex:1}.explorer-header .icon-btn{padding:2px 6px;font-size:14px;color:var(--text-muted);transition:color .15s}.explorer-header .icon-btn:hover{color:var(--text-primary)}.explorer-header .icon-btn.active{color:var(--accent)}.explorer-header .icon-btn:disabled{opacity:.4;cursor:not-allowed}.explorer-header-sep{width:1px;height:14px;background:var(--border);margin:0 2px;flex-shrink:0}.explorer-tree{flex:1;overflow-y:auto;padding:4px 0}.conn-section{padding-bottom:4px}.conn-section-title{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.55px;padding:4px 10px 6px}.conn-empty{padding-top:8px;padding-bottom:8px}.depth-conn{padding-left:0}.connection-children{padding-left:14px}.conn-open-badge{color:var(--green);display:inline-flex;align-items:center;justify-content:center}.conn-loading-badge{color:var(--text-muted);display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:1px 6px}.tree-action-btn{width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s,color .12s,background .12s}.tree-item:hover .tree-action-btn{opacity:1}.tree-action-btn:hover{color:var(--red);background:var(--bg-active)}.tree-separator{height:1px;background:var(--border);margin:6px 8px}.tree-empty{padding:20px 16px;font-size:var(--font-size-sm);color:var(--text-muted);text-align:center}.loading-item{color:var(--text-muted)}.loading-item .tree-label{color:var(--text-muted);font-style:italic}.tree-item{display:flex;align-items:center;gap:4px;height:24px;cursor:pointer;border-radius:0;transition:background .08s;white-space:nowrap;overflow:hidden;padding:0 8px 0 0}.tree-item:hover{background:var(--bg-hover)}.tree-item.selected{background:var(--accent-dim)}.tree-arrow{width:14px;flex-shrink:0;font-size:14px;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.tree-icon{width:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.db-tree-icon{position:relative}.db-active-dot{position:absolute;right:-4px;top:-1px;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--bg-secondary)}.tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-sm);color:var(--text-primary)}.tree-badge{font-size:14px;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 5px;border-radius:8px;flex-shrink:0;margin-left:4px}.depth-schema{padding-left:0}.schema-children{padding-left:14px}.depth-folder{padding-left:0}.depth-folder .tree-label{color:var(--text-secondary);font-size:var(--font-size-xs)}.depth-folder .tree-badge{font-size:13px;padding:0 5px}.depth-folder-item{padding-left:0}.depth-folder-item .tree-label{color:var(--text-primary)}.depth-col{padding-left:0;height:22px}.depth-col .tree-label{color:var(--text-secondary);font-size:var(--font-size-xs)}.depth-col .col-icon{width:14px}.type-badge{font-family:var(--font-mono);font-size:9px!important;background:transparent!important;color:var(--text-muted)!important;padding:0 4px!important}.empty-label{color:var(--text-muted)!important;font-style:italic;font-size:var(--font-size-xs)!important}.folder-label{font-weight:500;text-transform:uppercase;letter-spacing:.4px}.folder-children,.cols-wrap{padding-left:14px}.spin{display:inline-block;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;z-index:10000;min-width:180px;padding:4px 0}.context-menu button{display:block;width:100%;text-align:left;padding:6px 14px;font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;cursor:pointer}.context-menu button:hover{background:var(--bg-hover)}.context-menu button.danger{color:var(--red)}.context-menu button.danger:hover{background:#e06c7526}.context-menu hr{border:none;border-top:1px solid var(--border);margin:3px 0}.ctx-section-label{padding:4px 14px 3px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.ctx-group-label{padding:4px 14px 2px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}.truncate-modal{max-width:420px}.truncate-modal .seq-modal-body{padding:16px}.import-modal{max-width:680px;width:90vw}.import-modal .seq-modal-body{padding:16px}.import-preview-wrap{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.import-preview-table{border-collapse:collapse;font-size:12px;font-family:var(--font-mono);width:max-content;min-width:100%}.import-preview-table th{padding:4px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-secondary);font-weight:600;white-space:nowrap;position:sticky;top:0}.import-preview-table td{padding:3px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.seq-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100000}.seq-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:420px;box-shadow:0 20px 60px #00000080;overflow:hidden}.seq-modal.sql-modal{max-width:600px}.seq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.seq-modal-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.seq-modal-header .icon-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;font-size:14px}.seq-modal-body{padding:16px}.seq-info-row{display:flex;gap:16px;margin-bottom:12px}.seq-info-row label{flex:0 0 110px;font-weight:500;font-size:var(--font-size-sm);color:var(--text-secondary)}.seq-info-row span{flex:1;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-primary);word-break:break-word}.seq-value{background:var(--bg-secondary);padding:2px 8px;border-radius:3px;font-weight:600;color:var(--accent)}.seq-loading{padding:20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.sql-modal-body{padding:0;max-height:300px;overflow:auto}.sql-modal-code{margin:0;padding:14px 16px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--cyan);white-space:pre;line-height:1.6;-moz-tab-size:2;tab-size:2;background:var(--bg-primary)}.snippet-manager{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden}.snippet-manager-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.snippet-manager-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.snippet-search{display:flex;align-items:center;padding:8px 16px;gap:8px;border-bottom:1px solid var(--border)}.snippet-search-icon{color:var(--text-muted);flex-shrink:0}.snippet-search input{flex:1;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font-size:13px;color:var(--text-primary);outline:none}.snippet-search input:focus{border-color:var(--accent)}.snippet-manager-body{display:flex;flex:1;min-height:300px;overflow:hidden}.snippet-folders{width:180px;border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;padding:8px 0}.snippet-folders-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 12px 8px;font-weight:600}.snippet-folder-item{display:flex;align-items:center;gap:6px;padding:5px 12px;cursor:pointer;font-size:12px;color:var(--text-secondary);border-left:2px solid transparent;transition:all .1s}.snippet-folder-item:hover{background:var(--bg-hover);color:var(--text-primary)}.snippet-folder-item.active{background:var(--bg-tertiary);color:var(--accent);border-left-color:var(--accent)}.snippet-count{margin-left:auto;font-size:10px;color:var(--text-muted);background:var(--bg-secondary);padding:1px 6px;border-radius:8px}.snippet-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.snippet-loading,.snippet-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.snippet-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:8px 10px;cursor:pointer;transition:border-color .1s}.snippet-card:hover{border-color:var(--accent)}.snippet-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.snippet-card-title{font-size:13px;font-weight:600;color:var(--text-primary)}.snippet-card-folder{font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 6px;border-radius:4px}.snippet-card-sql{font-size:11px;color:var(--text-secondary);margin:0;max-height:48px;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;font-family:JetBrains Mono,Fira Code,monospace;line-height:1.4}.snippet-card-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:4px;padding-top:4px;border-top:1px solid var(--border)}.snippet-card-actions .icon-btn{padding:3px 6px;border-radius:4px}.save-snippet-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;width:400px;max-width:90vw;padding:0;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.save-snippet-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.save-snippet-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.save-snippet-label{font-size:12px;font-weight:500;color:var(--text-secondary);padding:10px 16px 4px}.save-snippet-input{margin:0 16px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-size:13px;color:var(--text-primary);outline:none}.save-snippet-input:focus{border-color:var(--accent)}.save-snippet-input select{cursor:pointer}.save-snippet-preview{margin:10px 16px;padding:8px;background:var(--bg-tertiary);border-radius:4px;max-height:100px;overflow-y:auto}.save-snippet-preview pre{margin:0;font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace;white-space:pre-wrap;line-height:1.4}.save-snippet-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border)}.save-snippet-actions button{padding:6px 16px;border-radius:4px;font-size:13px;cursor:pointer;font-weight:500;transition:all .1s}.save-snippet-actions .btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.save-snippet-actions .btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.save-snippet-actions .btn-primary{background:var(--accent);border:none;color:#fff}.save-snippet-actions .btn-primary:hover:not(:disabled){opacity:.9}.save-snippet-actions button:disabled{opacity:.5;cursor:not-allowed}.sql-editor-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.editor-toolbar{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;height:var(--toolbar-height)}.run-btn{background:var(--green)!important;color:#fff!important;padding:5px 14px!important;border-radius:20px!important;font-weight:600;font-size:var(--font-size-sm)!important;gap:6px;display:inline-flex;align-items:center;box-shadow:0 0 12px #34d39959;border:none!important}.run-btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 20px #34d39980}.run-btn:disabled{opacity:.45;cursor:not-allowed}.run-btn-label{margin-left:1px}.run-selected-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);border:1px solid var(--border);background:var(--bg-hover);transition:background .12s,color .12s}.run-selected-btn:hover:not(:disabled){background:var(--bg-active);color:var(--text-primary)}.run-selected-btn:disabled{opacity:.4;cursor:not-allowed}.editor-toolbar .icon-btn:not(.run-btn):not(.stop-btn){display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);transition:background .12s,color .12s}.editor-toolbar .icon-btn:not(.run-btn):not(.stop-btn):hover{background:var(--bg-hover);color:var(--text-primary)}.stop-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px!important;border-radius:var(--radius-sm);border:1px solid rgba(224,108,117,.3);background:#e06c7514;font-size:var(--font-size-sm);color:var(--red);transition:all .12s}.stop-btn:hover{background:#e06c7533!important;border-color:var(--red)!important}.toolbar-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.conn-status-indicator{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:2px 10px 2px 8px;white-space:nowrap}.conn-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 5px #6aab7399}.elapsed{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--green);padding:2px 8px;background:#6aab731a;border-radius:10px}.cm-editor-wrap{flex:1;overflow:hidden;position:relative}.sql-params-panel{display:flex;align-items:flex-start;gap:10px;padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.sql-params-label{display:flex;align-items:center;gap:5px;font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;padding-top:3px;flex-shrink:0}.sql-params-icon{font-size:12px;opacity:.7}.sql-params-list{display:flex;flex-wrap:wrap;gap:6px 14px;flex:1;min-width:0}.sql-param-row{display:flex;align-items:center;gap:4px}.sql-param-name{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--purple);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0}.sql-param-colon{color:var(--text-muted);opacity:.7}.sql-param-input{height:22px;min-width:80px;max-width:200px;padding:0 7px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .12s}.sql-param-input::placeholder{color:var(--text-muted);opacity:.6;font-style:italic}.sql-param-input:focus{border-color:var(--accent);background:var(--bg-secondary)}.sql-param-input:hover:not(:focus){border-color:var(--border-light)}.schema-selector-group{display:flex;align-items:center;gap:5px;padding:2px 8px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius);margin:0 2px;transition:border-color .15s,box-shadow .15s,background .15s}.schema-selector-group:hover{border-color:var(--accent);background:var(--bg-secondary);box-shadow:0 0 0 2px var(--accent-dim)}.schema-selector-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.schema-selector-group .searchable-select{min-width:72px;max-width:150px}.schema-selector-group .searchable-select-input{height:24px!important;font-size:var(--font-size-sm)!important;font-family:var(--font-mono)!important;padding:0 6px!important;border:1px solid transparent!important;background:transparent!important;border-radius:3px!important;transition:background .12s,color .12s!important}.schema-selector-group .searchable-select-input:hover{background:var(--bg-hover)!important}.schema-selector-group .searchable-select-input:focus{background:var(--bg-input)!important;border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent-dim)!important}.schema-selector-group .searchable-select-arrow{font-size:8px!important;right:4px!important;opacity:.6;transition:opacity .12s}.schema-selector-group:hover .searchable-select-arrow,.schema-selector-group:focus-within .searchable-select-arrow{opacity:1}.schema-selector-group .searchable-select-dropdown{min-width:170px!important;max-width:260px!important;max-height:220px!important;font-size:var(--font-size-sm)!important}.schema-selector-dot{color:var(--text-muted);font-size:16px;font-weight:700;margin:0 1px;-webkit-user-select:none;user-select:none;opacity:.5}.schema-select-db{opacity:.9;min-width:75px;max-width:150px}.schema-selector-group>svg{flex-shrink:0;margin-right:2px;opacity:.7;transition:opacity .12s}.schema-selector-group:hover>svg{opacity:1}.theme-glassmorphism .run-btn{background:linear-gradient(135deg,#2ac3de,#4fd6be)!important;box-shadow:0 0 8px #2ac3de33!important}.cm-editor-wrap .cm-editor{height:100%!important}.cm-editor-wrap .cm-scroller{overflow:auto!important}.confirm-dialog{width:400px}.col-filter-dropdown{position:fixed;z-index:2000;width:280px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:0 8px 32px #0000008c;display:flex;flex-direction:column;overflow:hidden;animation:cfDropIn .12s ease;-webkit-user-select:none;user-select:none}@keyframes cfDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cf-header{display:flex;align-items:center;padding:8px 10px 7px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);gap:6px}.cf-title{flex:1;font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-title strong{color:var(--text-primary)}.cf-close{font-size:14px;color:var(--text-muted);padding:2px 5px;border-radius:3px;cursor:pointer;background:none;border:none;flex-shrink:0}.cf-close:hover{background:var(--bg-hover);color:var(--red)}.cf-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.cf-tab{flex:1;padding:6px 0;font-size:var(--font-size-xs);color:var(--text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .1s}.cf-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.cf-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-secondary);font-weight:600}.cf-body{display:flex;flex-direction:column;max-height:300px;overflow:hidden}.cf-search-row{display:flex;align-items:center;gap:5px;padding:6px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.cf-search-icon{font-size:13px;color:var(--text-muted)}.cf-search{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-sm);outline:none;padding:0}.cf-search::placeholder{color:var(--text-muted)}.cf-clear-search{font-size:14px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:1px 4px;border-radius:3px}.cf-clear-search:hover{color:var(--text-primary);background:var(--bg-hover)}.cf-loading{padding:16px;text-align:center;font-size:var(--font-size-xs);color:var(--text-muted)}.cf-value-list{flex:1;overflow-y:auto;padding:2px 0}.cf-value-item{display:flex;align-items:center;gap:7px;padding:4px 10px;cursor:pointer;font-size:var(--font-size-sm);transition:background .08s}.cf-value-item:hover{background:var(--bg-hover)}.cf-value-item input[type=checkbox]{width:13px;height:13px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.cf-select-all{border-bottom:1px solid var(--border);font-weight:600;color:var(--text-secondary)}.cf-val-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.cf-val-null{flex:1;color:var(--text-muted);font-style:italic;font-size:var(--font-size-xs)}.cf-empty{color:var(--text-muted);font-style:italic}.cf-val-count{font-size:14px;color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0;min-width:24px;text-align:right}.cf-empty-msg{padding:14px;text-align:center;font-size:var(--font-size-xs);color:var(--text-muted)}.cf-condition-body{padding:10px;gap:8px;max-height:unset;overflow:visible}.cf-field{display:flex;flex-direction:column;gap:4px}.cf-label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.cf-select,.cf-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);font-size:var(--font-size-sm);border-radius:var(--radius-sm);padding:5px 8px;outline:none;font-family:var(--font-ui)}.cf-select:focus,.cf-input:focus{border-color:var(--accent)}.cf-input{font-family:var(--font-mono)}.cf-preview{margin-top:4px;padding:7px 9px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm)}.cf-preview-label{display:block;font-size:14px;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.4px}.cf-preview-sql{display:block;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--cyan);word-break:break-all;white-space:pre-wrap}.cf-footer{display:flex;align-items:center;gap:6px;padding:7px 10px;border-top:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0}.cf-selected-count{flex:1;font-size:var(--font-size-xs);color:var(--accent);font-weight:500}.cf-btn{padding:4px 14px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;border:none;transition:all .1s}.cf-btn-primary{background:var(--accent);color:#fff}.cf-btn-primary:hover{background:var(--accent-hover)}.cf-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.cf-btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-glassmorphism .results-grid-container{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.theme-glassmorphism .results-header,.theme-glassmorphism .results-footer{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;background:#1a1b2640!important;border-color:#a9b1d60f!important}.results-grid-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);overflow:hidden}.results-header{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;height:36px;gap:8px}.results-header-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);flex:1}.results-header-actions{display:flex;align-items:center;gap:4px}.results-export-main-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;font-size:var(--font-size-xs)!important;color:var(--text-secondary)!important;background:var(--bg-primary)!important;transition:all .12s}.results-export-main-btn:hover:not(:disabled){color:var(--accent)!important;border-color:var(--accent)!important}.results-header-icon-btn{padding:4px 6px!important;color:var(--text-muted)!important;border-radius:var(--radius-sm)!important}.results-header-icon-btn:hover{color:var(--text-primary)!important;background:var(--bg-hover)!important}.results-footer{display:flex;align-items:center;gap:6px;padding:4px 10px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;height:30px}.results-fetched{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-secondary)}.results-footer-export-btn,.results-footer-more-btn{padding:3px 6px!important;color:var(--text-muted)!important;border-radius:var(--radius-sm)!important}.results-footer-export-btn:hover,.results-footer-more-btn:hover{color:var(--text-secondary)!important;background:var(--bg-hover)!important}.results-toolbar{display:flex;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;min-height:34px;flex-wrap:wrap}.active-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.filter-badge{display:flex;align-items:center;gap:3px;background:#3574f026;border:1px solid rgba(53,116,240,.4);border-radius:10px;padding:1px 6px 1px 7px;font-size:14px;color:var(--text-link);white-space:nowrap}.filter-badge-col{font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis}.filter-badge-clear{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:13px;padding:0 1px;line-height:1;border-radius:50%}.filter-badge-clear:hover{color:var(--red)}.filter-clear-all{font-size:10px!important;padding:1px 6px!important;color:var(--text-muted)!important;border:1px solid var(--border)!important;border-radius:8px!important}.results-count{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;font-family:var(--font-mono)}.truncated-badge{margin-left:6px;background:#d4a72c26;color:var(--yellow);padding:1px 6px;border-radius:8px;font-size:14px}.results-filter{display:flex;align-items:center;gap:4px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px}.results-filter span{font-size:13px;color:var(--text-muted)}.results-filter input{background:transparent;border:none;padding:0;font-size:var(--font-size-xs);color:var(--text-primary);width:160px}.results-filter input::placeholder{color:var(--text-muted)}.results-elapsed{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--green)}.row-actions{display:flex;align-items:center;gap:4px}.row-save-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);transition:all .12s;border:1px solid rgba(53,116,240,.3)}.row-save-btn:hover:not(:disabled){background:#3574f01f;border-color:var(--accent)}.row-save-btn:disabled{opacity:.3;cursor:not-allowed;border-color:var(--border)!important}.row-clone-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);transition:all .12s;border:1px solid rgba(86,182,194,.3)}.row-clone-btn:hover:not(:disabled){background:#56b6c21f;border-color:var(--cyan)}.row-clone-btn:disabled{opacity:.3;cursor:not-allowed;border-color:var(--border)!important}.row-add-btn,.row-del-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);transition:all .12s}.row-add-btn{border:1px solid rgba(106,171,115,.3)}.row-add-btn:hover{background:#6aab731f;border-color:var(--green)}.row-del-btn{border:1px solid rgba(224,108,117,.3)}.row-del-btn:hover{background:#e06c751f;border-color:var(--red)}.row-del-btn:disabled{opacity:.3;cursor:not-allowed;border-color:var(--border)!important}.row-del-btn:disabled:hover{background:transparent;border-color:var(--border)!important}.export-group{display:flex;gap:4px}.export-group .icon-btn{font-size:var(--font-size-xs);padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary)}.export-group .icon-btn:hover{color:var(--accent);border-color:var(--accent)}.results-table-wrap{flex:1;overflow:auto;position:relative;user-select:none;-webkit-user-select:none}.results-table thead{position:sticky;top:0;z-index:10;background:var(--bg-secondary)}.results-table th{padding:0;border-right:1px solid var(--border);border-bottom:2px solid var(--border);background:var(--bg-secondary);font-weight:600;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.results-table th:hover{background:var(--bg-tertiary);color:var(--text-primary)}.results-table th.sorted{color:var(--accent)}.th-inner{display:flex;align-items:center;padding:4px 8px;gap:4px;position:relative}.col-label{flex:1;display:flex;flex-direction:column;gap:1px;overflow:hidden;min-width:0}.col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-type-info{font-size:10px;font-weight:400;color:var(--text-muted);opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;font-family:var(--font-mono, monospace)}.sort-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:4px;cursor:pointer;padding:0;flex-shrink:0}.sort-icon{font-size:16px;color:var(--text-muted);flex-shrink:0}.sort-btn:hover{background:var(--bg-active)}.th-inner:hover .sort-icon,.sort-btn:hover .sort-icon{color:var(--text-primary)}.sort-index{display:inline-block;margin-left:6px;background:var(--bg-primary);color:var(--text-secondary);padding:0 4px;border-radius:3px;border:1px solid var(--border);vertical-align:middle}.col-resizer{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background:transparent}.col-resizer:hover{background:var(--accent)}.col-filter-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:13px;color:var(--text-muted);background:transparent;border:none;border-radius:3px;cursor:pointer;flex-shrink:0;margin-right:2px}.col-filter-btn:hover{background:var(--bg-active);color:var(--text-primary)}.col-filter-btn.active{color:var(--accent);opacity:1}.col-filter-btn.open{background:var(--accent-dim);color:var(--accent);opacity:1}th.filtered{background:#3574f012!important}th.filtered .col-name{color:var(--accent)}.row-num-col{width:58px!important;padding:0!important;vertical-align:middle;border-right:1px solid var(--border);background:var(--bg-secondary)!important;position:sticky;left:0;z-index:5}thead .row-num-col{z-index:15}.row-num-inner{display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 8px;height:100%;min-height:28px}.row-index{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);text-align:left;flex-shrink:0}.results-table{table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-sm);font-family:var(--font-mono);width:max-content;min-width:100%}.results-table td{padding:3px 8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);max-width:300px;min-width:60px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}td.editing{overflow:visible;position:relative;padding:3px 8px}tr.even td{background:var(--bg-primary)}tr.odd td{background:var(--bg-tertiary)}tr:hover td{background:var(--bg-hover)!important}.null-cell .cell-text{color:var(--text-muted);font-style:italic}.null-tag{color:var(--text-muted);font-size:13px}.cell-input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;box-sizing:border-box;padding:3px 7px;background:var(--bg-input);border:1px solid var(--accent);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);border-radius:0;outline:none;line-height:1.4}.cell-input-date{width:100%;min-width:0;padding:3px 6px;box-sizing:border-box;color-scheme:dark}.cell-input-date::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(3) hue-rotate(190deg);cursor:pointer;opacity:.7;padding:0;margin-left:2px}.cell-input-date::-webkit-calendar-picker-indicator:hover{opacity:1}.results-dml{display:flex;align-items:center;gap:10px;padding:16px 20px;color:var(--green);font-size:var(--font-size-sm)}.dml-icon{font-size:16px}.dml-time{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs)}.row-num-col input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--accent);flex-shrink:0}tr.selected td{background:#3574f01f!important}tr.selected:hover td{background:#3574f02e!important}tr.new-row td{position:relative;background:#22c55e14!important;border-bottom:2px solid rgba(34,197,94,.3)!important}tr.new-row td.row-num-col{background:#22c55e1f!important}tr.new-row .row-num-inner.new-row-actions{display:flex;align-items:center;gap:4px;padding:3px 4px}tr.new-row .icon-btn{padding:2px 4px;font-size:14px;cursor:pointer;color:var(--text-secondary)}tr.new-row .icon-btn:hover{color:var(--accent)}td.editing{background:var(--bg-input)!important}td.editing .cell-input{border-color:var(--accent)}.row-context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;z-index:999;min-width:160px;padding:4px 0}.row-context-menu button{display:block;width:100%;text-align:left;padding:6px 14px;font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;cursor:pointer}.row-context-menu button:hover{background:var(--bg-hover)}.row-context-menu button.danger{color:var(--red)}.row-context-menu button.danger:hover{background:#f443361a}.row-context-menu hr{border:none;border-top:1px solid var(--border);margin:3px 0}.batch-edit-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);width:380px;box-shadow:0 20px 60px #00000080;overflow:hidden}.batch-edit-header{padding:12px 16px;font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.batch-edit-body{padding:14px 16px}.batch-edit-input{width:100%;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);font-size:var(--font-size-base);border-radius:var(--radius-sm);outline:none;font-family:var(--font-mono)}.batch-edit-input:focus{border-color:var(--accent)}.batch-edit-hint{display:block;margin-top:8px;font-size:var(--font-size-xs);color:var(--text-muted)}.batch-edit-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.results-table-wrap{user-select:none;-webkit-user-select:none}.results-table td.data-cell{cursor:cell}.results-table td.range-selected{background:#3574f01a!important;outline:none}td.anchor-cell{outline:1.5px solid var(--accent);outline-offset:-1px;background:#3574f026!important}td.pending-cell,td.pending-cell.range-selected{box-shadow:inset 0 0 0 1.5px var(--yellow)!important}tr:hover td.range-selected{background:#3574f024!important}tr:hover td.data-cell:not(.anchor-cell):not(.range-selected){background:#ffffff08}.results-table-wrap:focus{outline:none}.batch-delete-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.batch-delete-loader{display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--bg-primary);padding:32px 40px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 20px 60px #0006;font-size:var(--font-size-sm);color:var(--text-primary)}.batch-delete-loader .loader{width:60px;aspect-ratio:.5;display:grid}.batch-delete-loader .loader:before{content:"";width:30%;aspect-ratio:1;border-radius:50%;margin:auto auto 0;background:#cf4647;animation:l9-0 .5s cubic-bezier(0,800,1,800) infinite}.batch-delete-loader .loader:after{content:"";width:100%;aspect-ratio:1/cos(30deg);margin:0 auto auto;clip-path:polygon(50% -50%,100% 50%,50% 150%,0 50%);background:#524656;animation:l9-1 .5s linear infinite}@keyframes l9-0{0%,2%{translate:0 0%}98%,to{translate:0 -.2%}}@keyframes l9-1{0%,5%{rotate:0deg}95%,to{rotate:-60deg}}.pend-row-del{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;color:var(--red);background:#e06c751a;border:1px solid rgba(224,108,117,.2);border-radius:3px;cursor:pointer;padding:0;flex-shrink:0;transition:all .1s}.pend-row-del:hover{background:#e06c7533;border-color:var(--red)}.binary-preview{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--accent);font-size:var(--font-size-xs);padding:1px 4px;border-radius:3px;background:#3574f00f;transition:background .12s}.binary-preview:hover{background:#3574f026}.binary-icon{width:14px;height:14px;opacity:.8}.binary-size{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.binary-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.binary-preview-box{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.binary-preview-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.binary-preview-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.binary-preview-size{font-size:var(--font-size-xs);color:var(--text-muted);margin-right:auto}.binary-preview-body{padding:16px;overflow:auto;display:flex;align-items:center;justify-content:center}.binary-preview-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:4px}.binary-preview-loading{padding:40px;color:var(--text-muted);font-size:var(--font-size-sm)}.binary-preview-nonimage{text-align:center;padding:40px;color:var(--text-muted)}.binary-preview-nonimage-hint{font-size:var(--font-size-xs);margin-top:8px;color:var(--text-muted)}.table-viewer{display:flex;gap:0;flex-direction:column;height:100%}.tv-sql{flex-shrink:0;background:var(--bg-secondary);transition:max-height .2s ease}.tv-sql.expanded{max-height:450px;overflow:visible}.tv-sql.collapsed{max-height:38px;overflow:hidden}.tv-sql-header{display:flex;gap:0;align-items:center;padding:4px 8px;gap:8px;background:var(--bg-tertiary);min-height:38px}.tv-sql-header-left{display:flex;gap:0;align-items:center;gap:8px;flex-shrink:0}.tv-table-name{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.tv-schema-name{color:var(--text-muted);font-weight:400}.tv-badge{font-size:13px;font-weight:600;padding:1px 7px;border-radius:8px;letter-spacing:.4px;text-transform:uppercase}.tv-badge-filter{background:#3574f026;color:var(--text-link);border:1px solid rgba(53,116,240,.35)}.tv-badge-sort{background:#6aab7326;color:var(--green);border:1px solid rgba(106,171,115,.35)}.tv-badge-custom{background:#c792ea26;color:var(--purple);border:1px solid rgba(199,146,234,.35)}.tv-badge-modified{background:#d4a72c26;color:var(--yellow);border:1px solid rgba(212,167,44,.35);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.tv-sql-header-actions{display:flex;gap:0;align-items:center;gap:4px;flex:1;min-width:0;justify-content:flex-end}.tv-btn{display:flex;gap:0;align-items:center;justify-content:center;width:30px;height:26px;font-size:13px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s;position:relative;flex-shrink:0}.tv-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.tv-btn:disabled{opacity:.3;cursor:not-allowed;border-color:transparent}.tv-btn:disabled:hover{background:transparent;color:var(--text-secondary);border-color:transparent}.tv-btn-warn:hover{color:var(--yellow)!important;border-color:#d4a72c66!important;background:#d4a72c1a!important}.tv-btn-danger:hover{color:var(--red)!important;border-color:#e06c7566!important;background:#e06c751a!important}.tv-btn-toggle{margin-left:2px;width:24px;height:24px;font-size:13px}.tv-btn-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.tv-pagination{display:flex;gap:0;align-items:center;gap:2px;margin-left:6px;padding-left:8px;border-left:1px solid var(--border)}.tv-btn-page{width:24px;height:22px;font-size:13px;color:var(--text-muted)}.tv-btn-page:hover:not(:disabled){color:var(--accent);border-color:var(--accent-dim);background:#3574f014}.tv-page-info{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary);padding:0 4px;white-space:nowrap;-webkit-user-select:none;user-select:none}.tv-row-count{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);margin-left:4px}.tv-sql-editor{width:100%;flex:1;min-height:60px;border:1px solid var(--border);border-bottom:none;overflow:hidden;transition:border-color .12s;background:var(--bg-secondary)}.tv-sql-editor .cm-content[contenteditable=false]{cursor:default!important;caret-color:transparent!important}.tv-sql-editor .cm-editor{height:100%;outline:none}.tv-sql-editor .cm-editor.cm-focused{outline:none}.tv-sql-editor .cm-scroller{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.6;overflow:auto}.tv-sql-editor .cm-content{font-family:var(--font-mono);padding:10px 0;min-height:100%}.tv-sql-editor .cm-gutters{background:var(--bg-primary);border-right:1px solid var(--border);color:var(--text-muted)}.tv-sql-editor .cm-activeLineGutter{background:var(--bg-tertiary)}.tv-sql-editor .cm-lineNumbers .cm-gutterElement{padding:0 8px;font-size:13px}.tv-sql-editor ::-webkit-scrollbar{width:6px;height:6px}.tv-sql-editor ::-webkit-scrollbar-track{background:transparent}.tv-sql-editor ::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.tv-sql-editor ::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}.tv-grid{flex:1;overflow:hidden;position:relative}.tv-connecting-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:6px;color:var(--text-muted);font-size:var(--font-size-sm)}.tv-connecting-sub{font-size:12px;opacity:.6}.tv-error{padding:8px 12px;background:#e06c751f;color:var(--red);border-bottom:1px solid rgba(224,108,117,.3);font-size:var(--font-size-sm)}.tv-sql-handle{height:5px;background:var(--border);cursor:row-resize;flex-shrink:0;transition:background .12s;position:relative}.tv-sql-handle:hover,.tv-sql-handle.active{background:var(--accent)}.tv-sql-handle:after{content:"";position:absolute;top:1px;left:50%;transform:translate(-50%);width:30px;height:3px;background:#80808040;border-radius:2px}.tv-sql-body{display:flex;gap:0;flex-direction:column}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .1s ease}.dialog-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:480px;box-shadow:0 24px 48px #00000080;animation:slideUp .15s ease}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{display:flex;align-items:center;gap:10px;padding:16px 20px 14px;border-bottom:1px solid var(--border)}.dialog-icon{font-size:20px}.dialog-header h2{font-size:14px;font-weight:600;flex:1}.dialog-close{font-size:14px;color:var(--text-muted)}.dialog-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.form-row{display:flex;flex-direction:column;gap:4px}.form-row label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.form-row input,.form-row select{width:100%}.form-row-2{flex-direction:row;gap:12px}.form-row-2>div{flex:1;display:flex;flex-direction:column;gap:4px}.form-row-2 label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.test-result{padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-mono);word-break:break-all}.test-result.ok{background:#6aab731f;color:var(--green);border:1px solid rgba(106,171,115,.3)}.test-result.fail{background:#e06c751f;color:var(--red);border:1px solid rgba(224,108,117,.3)}.dialog-footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.btn{padding:6px 16px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .1s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--red)!important;color:#fff!important;border:none!important}.btn-danger:hover{filter:brightness(1.15)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 48px #0000004d;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.dialog-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.dialog-close{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;transition:color .15s}.dialog-close:hover{color:var(--text-primary)}.dialog-error{margin:16px;padding:12px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:4px;color:#dc2626;font-size:13px;line-height:1.4}.dialog-success{margin:16px;padding:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:4px;color:#22c55e;font-size:13px;line-height:1.4}.dialog-form{padding:20px;display:flex;flex-direction:column;gap:16px}.dialog-form .form-group{display:flex;flex-direction:column;gap:6px}.dialog-form .form-group label{font-size:13px;font-weight:600;color:var(--text-primary)}.dialog-form .form-group input{padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;transition:all .15s}.dialog-form .form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.dialog-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.dialog-form .form-group small{font-size:14px;color:var(--text-secondary)}.btn-primary,.btn-secondary{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.user-list-dialog{width:740px!important;max-width:92vw!important;min-height:520px!important;max-height:82vh!important;display:flex;flex-direction:column;overflow:hidden}.ul-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px 0}.ul-search-wrap{position:relative;flex:1;min-width:0}.ul-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.ul-search-input{width:100%;padding:7px 10px 7px 30px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);outline:none;box-sizing:border-box;transition:border-color .15s}.ul-search-input:focus{border-color:var(--accent)}.ul-search-input::placeholder{color:var(--text-muted)}.ul-add-btn{flex-shrink:0;display:inline-flex;align-items:center;padding:7px 13px;font-size:var(--font-size-sm);white-space:nowrap}.ul-count{padding:5px 16px 6px;font-size:11px;color:var(--text-muted)}.user-table-wrapper{overflow-y:auto;flex:1;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.user-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.user-table thead{position:sticky;top:0;z-index:1}.user-table th{background:var(--bg-secondary);color:var(--text-muted);padding:7px 12px;text-align:left;font-weight:600;font-size:11px;letter-spacing:.5px;border-bottom:1px solid var(--border)}.user-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.user-table tbody tr:last-child td{border-bottom:none}.user-table tbody tr:hover{background:var(--bg-hover)}.user-table tbody tr.row-self{background:#3574f00d}.col-center{text-align:center!important}.user-cell-username{font-weight:500;color:var(--text-primary);white-space:nowrap;display:flex;align-items:center;gap:5px}.user-badge-self{display:inline-block;font-size:10px;font-weight:700;color:var(--accent);background:#3574f01f;padding:1px 5px;border-radius:3px}.user-badge-admin{display:inline-block;font-size:10px;font-weight:700;color:var(--yellow, #d4a72c);background:#d4a72c1f;padding:1px 5px;border-radius:3px}.user-cell-email{color:var(--text-secondary);font-size:12px}.user-cell-date{color:var(--text-muted);font-size:11px;white-space:nowrap;font-family:var(--font-mono)}.user-loading{text-align:center;padding:40px 10px;color:var(--text-muted);font-style:italic}.row-ghost td{height:37px;border-bottom:1px solid var(--border);padding:0}.row-ghost:last-child td{border-bottom:none}.delete-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s;padding:0}.delete-btn:hover:not(:disabled){background:#e06c751f;border-color:var(--red, #e06c75);color:var(--red, #e06c75)}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.confirm-delete{display:inline-flex;align-items:center;gap:4px}.confirm-text{font-size:11px;color:var(--red, #e06c75);font-weight:600}.confirm-yes,.confirm-no{font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;font-weight:600;transition:all .12s}.confirm-yes{background:var(--red, #e06c75);color:#fff;border-color:var(--red, #e06c75)}.confirm-yes:hover:not(:disabled){filter:brightness(.9)}.confirm-no{background:var(--bg-tertiary);color:var(--text-secondary)}.confirm-no:hover:not(:disabled){background:var(--bg-hover)}.confirm-yes:disabled,.confirm-no:disabled{opacity:.45;cursor:not-allowed}.self-label{color:var(--text-muted);font-size:12px}.user-pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;flex-shrink:0}.page-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .1s}.page-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-dots{color:var(--text-muted);font-size:var(--font-size-sm);padding:0 2px}.page-info{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-left:4px}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100000}.settings-dialog{max-width:500px;width:90%}.settings-body{padding:16px 20px;display:flex;flex-direction:column;gap:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.setting-info{flex:1}.setting-info label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:2px}.setting-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.setting-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);flex-shrink:0}.setting-input:focus{border-color:var(--accent)}.switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;transition:.2s}.switch-slider:before{content:"";position:absolute;left:2px;bottom:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:.2s}.switch input:checked+.switch-slider{background:var(--accent);border-color:var(--accent)}.switch input:checked+.switch-slider:before{transform:translate(18px);background:#fff}.settings-saving{text-align:center;padding:8px;font-size:var(--font-size-xs);color:var(--text-muted)}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.btn-ghost{padding:6px 16px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;background:transparent;color:var(--text-secondary);border:1px solid var(--border);transition:all .1s}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.backup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.backup-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;width:min(720px,94vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;animation:backupFadeIn .15s ease}@keyframes backupFadeIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.backup-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);font-size:15px;font-weight:600}.backup-header h3{margin:0;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.backup-header-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:16px;line-height:1}.backup-header-close:hover{background:var(--bg-hover);color:var(--text-primary)}.backup-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 12px}.backup-tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;padding:10px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.backup-tab-btn:hover{color:var(--text-primary)}.backup-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.backup-body{flex:1;overflow-y:auto;padding:18px}.backup-section-title{font-size:13px;font-weight:600;margin-bottom:10px;color:var(--text-secondary)}.backup-conn-list{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.backup-conn-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:5px;cursor:pointer;transition:background .12s;font-size:13px}.backup-conn-item:hover{background:var(--bg-hover)}.backup-conn-item.selected{background:var(--accent);color:var(--bg-primary)}.backup-conn-item input[type=radio]{accent-color:var(--accent)}.backup-scope-row{display:flex;align-items:center;gap:16px;margin:12px 0}.backup-scope-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.backup-scope-label input[type=radio]{accent-color:var(--accent)}.backup-schema-input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-size:13px;font-family:var(--font-mono);width:200px}.backup-schema-input:focus{outline:none;border-color:var(--accent)}.backup-run-row{display:flex;align-items:center;gap:12px;margin-top:14px}.backup-run-btn{background:var(--accent);color:var(--bg-primary);border:none;padding:8px 18px;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity .15s}.backup-run-btn:hover{opacity:.88}.backup-run-btn:disabled{opacity:.5;cursor:not-allowed}.backup-result{font-size:13px;padding:6px 0;color:var(--text-secondary)}.backup-result.success{color:var(--green)}.backup-result.error{color:var(--red)}.backup-list-section{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.backup-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.backup-list-table{width:100%;border-collapse:collapse;font-size:12px}.backup-list-table th{text-align:left;padding:6px 8px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.backup-list-table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.backup-list-table tr:hover td{background:var(--bg-hover)}.backup-type-badge{display:inline-block;padding:1px 7px;border-radius:3px;font-size:11px;font-weight:600}.backup-type-badge.full{background:var(--cyan);color:var(--bg-primary)}.backup-type-badge.schema{background:var(--yellow);color:#000}.backup-action-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:3px 8px;border-radius:4px;font-size:11px;transition:background .12s;margin-right:4px}.backup-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.backup-action-btn.danger:hover{background:var(--red);border-color:var(--red);color:#fff}.backup-empty{text-align:center;padding:20px 0;color:var(--text-muted);font-size:13px}.backup-schedule-form{display:flex;flex-direction:column;gap:14px;max-width:480px}.backup-field-row{display:flex;align-items:center;gap:10px}.backup-field-row label{min-width:120px;font-size:13px;color:var(--text-secondary)}.backup-field-row input[type=time],.backup-field-row select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-size:13px}.backup-field-row input[type=time]:focus,.backup-field-row select:focus{outline:none;border-color:var(--accent)}.backup-toggle{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.backup-toggle input{position:absolute;opacity:0;width:0;height:0}.backup-toggle-slider{width:36px;height:20px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);position:relative;transition:background .2s}.backup-toggle-slider:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--text-muted);top:2px;left:2px;transition:transform .2s,background .2s}.backup-toggle input:checked+.backup-toggle-slider{background:var(--accent);border-color:var(--accent)}.backup-toggle input:checked+.backup-toggle-slider:after{transform:translate(16px);background:var(--bg-primary)}.backup-save-btn{background:var(--accent);color:var(--bg-primary);border:none;padding:8px 20px;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;align-self:flex-start;transition:opacity .15s}.backup-save-btn:hover{opacity:.88}.backup-save-btn:disabled{opacity:.5;cursor:not-allowed}.backup-saved-msg{font-size:12px;color:var(--green);margin-left:10px}.backup-error-msg{font-size:12px;color:var(--red);margin-left:10px}.backup-spinner{display:inline-block;width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:backupSpin .6s linear infinite}@keyframes backupSpin{to{transform:rotate(360deg)}}.backup-schedule-cards{display:flex;flex-direction:column;gap:12px}.backup-schedule-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.backup-add-sched-btn{background:var(--bg-secondary);border:1px dashed var(--border);color:var(--text-primary);padding:8px 16px;border-radius:5px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:border-color .15s,background .15s}.backup-add-sched-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.backup-sched-list{display:flex;flex-direction:column;gap:14px}.backup-sched-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:7px;padding:14px;display:flex;flex-direction:column;gap:10px}.backup-sched-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.backup-sched-name-row{display:flex;align-items:center;gap:10px;flex:1}.backup-sched-name-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-size:14px;font-weight:600;flex:1;min-width:120px}.backup-sched-name-input:focus{outline:none;border-color:var(--accent)}.backup-toggle-label{font-size:11px;font-weight:600;color:var(--text-muted)}.backup-sched-card-actions{display:flex;gap:4px}.backup-sched-field{display:flex;flex-direction:column;gap:4px}.backup-sched-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.backup-sched-field select,.backup-sched-field input[type=time]{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-size:13px}.backup-sched-field select:focus,.backup-sched-field input[type=time]:focus{outline:none;border-color:var(--accent)}.backup-sched-row{display:flex;gap:10px}.backup-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000001}.backup-confirm-box{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;max-width:380px;box-shadow:0 12px 40px #00000080}.backup-confirm-box h4{margin:0 0 8px;color:var(--text-primary);font-size:15px}.backup-confirm-box p{margin:0 0 16px;color:var(--text-secondary);font-size:13px;line-height:1.5}.backup-confirm-box code{font-family:var(--font-mono);color:var(--accent);background:var(--bg-secondary);padding:1px 5px;border-radius:3px}.backup-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.backup-confirm-actions button{padding:6px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;background:var(--bg-secondary);color:var(--text-primary)}.backup-confirm-actions button.confirm-delete{background:var(--red);color:#fff;border-color:var(--red)}.backup-confirm-actions button.confirm-delete:hover{opacity:.9}.backup-restore-layout{display:flex;flex-direction:column;gap:4px;padding:4px 0}.backup-restore-source-toggle{display:flex;gap:6px;margin-bottom:8px}.backup-restore-src-btn{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-hover);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .12s}.backup-restore-src-btn:hover{background:var(--bg-active);color:var(--text-primary)}.backup-restore-src-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.backup-restore-file-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.backup-restore-file-item{padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:all .1s}.backup-restore-file-item:hover{background:var(--bg-hover)}.backup-restore-file-item.selected{background:rgba(var(--accent-rgb, 88,166,255),.12);border-color:var(--accent)}.backup-restore-file-name{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);margin-bottom:3px}.backup-restore-file-meta{display:flex;gap:12px;font-size:11px;color:var(--text-muted)}.backup-upload-zone{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary)}.backup-upload-btn{display:inline-flex;align-items:center;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-hover);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .12s}.backup-upload-btn:hover:not(:disabled){background:var(--bg-active)}.backup-upload-btn:disabled{opacity:.5;cursor:not-allowed}.backup-run-result.ok{color:var(--green);font-size:13px;padding:6px 10px;background:#6aab731a;border-radius:var(--radius-sm)}.backup-run-result.err{color:var(--red);font-size:12px;padding:6px 10px;background:#e06c7514;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;max-height:100px;overflow-y:auto}.backup-schedule-layout{display:flex;gap:0;flex:1;min-height:300px}.backup-schedule-list{width:160px;flex-shrink:0;border-right:1px solid var(--border);padding:8px;overflow-y:auto}.backup-schedule-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;color:var(--text-primary)}.backup-schedule-item:hover{background:var(--bg-hover)}.backup-schedule-item.active{background:var(--bg-active);font-weight:600}.backup-sched-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.backup-sched-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-add-sched-btn{display:flex;align-items:center;gap:4px;padding:6px 8px;margin-top:8px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--accent);cursor:pointer;font-size:12px;width:100%}.backup-add-sched-btn:hover{background:var(--bg-hover)}.backup-schedule-detail{flex:1;padding:12px 16px;overflow-y:auto}.backup-no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:13px;font-style:italic}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px;background:url(/assets/login-bg.jpg) center/cover no-repeat fixed;background-attachment:fixed}.login-container{width:100%;max-width:400px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#0a122db3;border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:36px 32px;box-shadow:0 12px 40px #00000073,0 4px 16px #0000004d,inset 0 1px #ffffff52,inset 1px 0 #ffffff1a;transition:transform .25s ease,box-shadow .25s ease}.login-container:hover{transform:translateY(-2px);box-shadow:0 20px 60px #00000080,0 6px 20px #00000059,inset 0 1px #ffffff59,inset 1px 0 #ffffff1f}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:32px;margin:0 0 8px;color:var(--accent);display:flex;align-items:center;gap:12px;justify-content:center}.login-header h1 img{width:40px;height:40px;border-radius:10px;box-shadow:0 0 20px #60a5fa26}.login-header p{font-size:14px;color:var(--text-secondary);margin:0}.login-tabs{display:none}.error-message{background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#f87171;font-size:13px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#ffffffd9;letter-spacing:.5px}.form-group input{padding:11px 14px;background:#00000059;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fffffff2;font-size:14px;font-family:inherit;transition:all .15s}.form-group input::placeholder{color:#ffffff4d}.form-group input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2e;background:#00000073}.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-group small{font-size:14px;color:var(--text-muted)}.login-btn{padding:12px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px;box-shadow:0 0 20px #22c55e59,inset 0 1px #fff3;letter-spacing:.3px}.login-btn:hover:not(:disabled){box-shadow:0 0 32px #22c55e80,inset 0 1px #ffffff40;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 0 12px #22c55e40}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-note{text-align:center;margin-top:24px;font-size:13px;color:#fff6}.login-divider{display:flex;align-items:center;gap:10px;margin:12px 0;color:#ffffff59;font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid rgba(255,255,255,.1)}.offline-btn{width:100%;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;background:#ffffff0f;color:#ffffff8c;border:1px dashed rgba(255,255,255,.15);transition:all .15s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.offline-btn:hover:not(:disabled){background:#ffffff1a;border-color:#60a5fa66;color:#93c5fd}.offline-btn:disabled{opacity:.5;cursor:not-allowed}.theme-glassmorphism .login-page{background:url(/assets/login-bg.jpg) center/cover no-repeat fixed}.theme-glassmorphism .login-container{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0a122dbf!important;border:1px solid rgba(255,255,255,.18)!important}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000000}.feedback-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.feedback-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);border-radius:var(--radius) var(--radius) 0 0}.feedback-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.feedback-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:14px;transition:color .1s,background .1s}.feedback-close:hover{color:var(--text-primary);background:var(--bg-hover)}.feedback-body{padding:16px;overflow-y:auto;flex:1}.feedback-severity-row{display:flex;gap:8px;margin-bottom:14px}.feedback-sev-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:all .1s}.feedback-sev-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.feedback-sev-btn.active.bug{border-color:var(--red);background:#e06c751a;color:var(--red)}.feedback-sev-btn.active.feature{border-color:var(--yellow);background:#e5c07b1a;color:var(--yellow)}.feedback-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;margin-top:12px}.feedback-label:first-of-type{margin-top:0}.feedback-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.feedback-input:focus{border-color:var(--accent)}.feedback-textarea{width:100%;box-sizing:border-box;padding:8px 10px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;resize:vertical;font-family:inherit;line-height:1.5}.feedback-textarea:focus{border-color:var(--accent)}.feedback-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0 0 var(--radius) var(--radius)}.feedback-note{font-size:11px;color:var(--text-muted)}.feedback-submit{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:opacity .1s}.feedback-submit:hover{opacity:.9}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:feedback-spin .6s linear infinite}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-note strong{color:var(--text-primary)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-primary)}.logout-btn{color:var(--text-muted)}.logout-btn:hover{color:var(--red)!important}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0003;z-index:100;min-width:180px}.dropdown-item{display:block;width:100%;padding:10px 12px;background:none;border:none;color:var(--text-primary);text-align:left;font-size:13px;cursor:pointer;transition:all .15s}.dropdown-item:hover{background:var(--bg-primary);color:var(--accent)}.dropdown-item:first-child{border-radius:4px 4px 0 0}.dropdown-item:last-child{border-radius:0 0 4px 4px}.conn-tabs{display:flex;align-items:center;gap:4px;-webkit-app-region:no-drag;overflow-x:auto;flex-shrink:0}.conn-tab{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;color:var(--text-secondary);border:1px solid transparent;white-space:nowrap;transition:all .1s}.conn-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.conn-tab.active{background:var(--accent-dim);color:var(--text-link);border-color:var(--accent)}.conn-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.conn-close{margin-left:4px;font-size:14px;color:var(--text-muted);border:none;background:none;cursor:pointer;padding:1px 3px;border-radius:2px;display:flex;align-items:center;justify-content:center}.conn-close:hover{background:#e06c7533;color:var(--red)}.conn-new{font-size:var(--font-size-xs);padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{flex-shrink:0;overflow:hidden;display:flex;flex-direction:column}.sidebar-resizer{width:4px;background:transparent;cursor:col-resize;flex-shrink:0;transition:background .15s}.sidebar-resizer:hover{background:var(--accent)}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.query-tabs-bar{display:flex;align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 6px;height:var(--tab-height);overflow-x:auto;flex-shrink:0;gap:2px;overflow-y:hidden}.query-tab{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;border:1px solid transparent;border-bottom:none;position:relative;top:1px;transition:all .1s;max-width:200px}.query-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.query-tab.active{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border);border-bottom:2px solid var(--accent);top:0}.tab-icon{font-size:14px;flex-shrink:0}.tab-title{overflow:hidden;text-overflow:ellipsis;flex:1}.tab-status{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;font-size:13px}.tab-status.loading{color:var(--accent)}.tab-status.error{color:var(--red)}.tab-status.ready{color:var(--green)}.tab-status.idle{color:var(--text-muted);font-size:14px}.tab-close{font-size:14px;color:var(--text-muted);border:none;background:none;cursor:pointer;padding:1px 3px;border-radius:2px;margin-left:2px;flex-shrink:0}.tab-close:hover{background:#e06c7533;color:var(--red)}.tab-add{font-size:16px;padding:4px 8px;color:var(--text-muted)}.tab-add:hover{color:var(--accent)}.tab-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.tab-ctx-menu{position:fixed;z-index:9999;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:4px 0;min-width:210px;box-shadow:0 6px 20px #0006;list-style:none;margin:0;font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.tab-ctx-menu li{display:flex;align-items:center;gap:8px;padding:7px 14px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.tab-ctx-menu li:hover{background:var(--bg-hover)}.tab-ctx-icon{width:14px;text-align:center;font-size:12px;color:var(--text-muted);flex-shrink:0}.tab-ctx-menu li.tab-ctx-disabled{color:var(--text-muted);cursor:default;opacity:.45}.tab-ctx-menu li.tab-ctx-disabled:hover{background:none}.tab-ctx-separator{height:1px!important;background:var(--border)!important;margin:3px 0!important;padding:0!important;cursor:default!important;pointer-events:none}.tab-ctx-separator:hover{background:var(--border)!important}.main-content{flex:1;overflow:hidden}.editor-pane,.results-pane{overflow:hidden;min-height:60px}.editor-splitter{height:5px;background:var(--border);cursor:row-resize;flex-shrink:0;transition:background .15s}.editor-splitter:hover{background:var(--accent)}.results-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--font-size-sm)}.error-panel{height:100%;overflow:auto;background:#e06c750d}.error-header{padding:10px 16px 6px;font-weight:600;color:var(--red);font-size:var(--font-size-sm);border-bottom:1px solid rgba(224,108,117,.2)}.error-msg{padding:12px 16px;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--red);white-space:pre-wrap;word-break:break-word}.no-tabs{flex:1;display:flex;align-items:center;justify-content:center}.welcome{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.welcome-logo{width:80px;height:auto;border-radius:12px}.welcome h1{font-size:28px;font-weight:700;color:var(--text-primary)}.welcome p{color:var(--text-muted);font-size:var(--font-size-md)}.welcome-buttons{display:flex;align-items:center;gap:12px;margin-top:4px}.welcome-btn{padding:10px 28px;font-size:var(--font-size-md);border-radius:var(--radius)}.welcome-btn.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.welcome-btn.btn-ghost:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.status-bar{display:flex;align-items:center;gap:12px;height:var(--statusbar-height);padding:0 12px;background:var(--accent);flex-shrink:0;font-size:var(--font-size-xs);color:#ffffffe6}.status-item{display:flex;align-items:center;gap:5px}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.green{background:#6aff80}.status-dot.grey{background:#fff6}.offline-badge{font-size:10px;font-weight:600;background:var(--yellow);color:#1e1f22;padding:1px 6px;border-radius:4px;margin-left:6px;letter-spacing:.3px}.theme-glassmorphism{--bg-primary: rgba(8, 14, 32, .6);--bg-secondary: rgba(255, 255, 255, .06);--bg-tertiary: rgba(255, 255, 255, .09);--bg-hover: rgba(255, 255, 255, .1);--bg-active: rgba(255, 255, 255, .14);--bg-input: rgba(0, 0, 0, .35);--border: rgba(255, 255, 255, .13);--border-light: rgba(255, 255, 255, .07);--text-primary: rgba(255, 255, 255, .95);--text-secondary:rgba(255, 255, 255, .6);--text-muted: rgba(255, 255, 255, .38);--text-link: #93c5fd;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-dim: rgba(96, 165, 250, .18);--green: #34d399;--red: #f87171;--yellow: #fbbf24;--orange: #fb923c;--purple: #a78bfa;--cyan: #22d3ee;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--glass-bg: rgba(255, 255, 255, .07);--glass-bg-strong: rgba(255, 255, 255, .11);--glass-blur: blur(12px);--glass-blur-strong: blur(18px);--glass-border: rgba(255, 255, 255, .16);--glass-specular: inset 0 1px 0 rgba(255,255,255,.32), inset 1px 0 0 rgba(255,255,255,.1);--glass-shadow: 0 4px 20px rgba(0,0,0,.35), 0 1px 4px rgba(0,0,0,.2);--glass-shadow-lg: 0 12px 40px rgba(0,0,0,.45), 0 4px 16px rgba(0,0,0,.3)}.theme-glassmorphism{background:url(/assets/login-bg.jpg) center/cover no-repeat fixed}.theme-glassmorphism .sidebar,.theme-glassmorphism .main-area,.theme-glassmorphism .sql-editor-container,.theme-glassmorphism .tv-grid{will-change:transform}.theme-glassmorphism .results-table-wrap,.theme-glassmorphism .tv-sql-body,.theme-glassmorphism .results-grid-container,.theme-glassmorphism .struct-table-wrap,.theme-glassmorphism .indexes-table-wrap{content-visibility:auto;contain-intrinsic-size:200px}.theme-glassmorphism .app-body{padding:8px;gap:8px}.theme-glassmorphism .sidebar{border-radius:var(--radius-lg)!important;overflow:hidden!important}.theme-glassmorphism .sidebar-resizer{background:transparent!important;width:8px!important}.theme-glassmorphism .main-area{border-radius:var(--radius-lg)!important;overflow:hidden!important;background:#120e22b3!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)!important}.theme-glassmorphism .query-tabs-bar,.theme-glassmorphism .editor-toolbar,.theme-glassmorphism .results-toolbar,.theme-glassmorphism .results-header,.theme-glassmorphism .results-footer,.theme-glassmorphism .tv-sql-header,.theme-glassmorphism .tv-pagination,.theme-glassmorphism .table-struct-header,.theme-glassmorphism .table-struct-tabs,.theme-glassmorphism .table-struct-actions,.theme-glassmorphism .explorer-header,.theme-glassmorphism .status-bar{background:var(--glass-bg)!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border-color:var(--glass-border)!important;box-shadow:var(--glass-shadow)!important}.theme-glassmorphism .sidebar{border-right:none!important}.theme-glassmorphism .sidebar{background:#120e22bf!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)!important}.theme-glassmorphism .schema-explorer{background:transparent!important;border-right:none!important}.theme-glassmorphism .explorer-header{border-bottom:1px solid var(--glass-border)!important;box-shadow:var(--glass-specular)!important}.theme-glassmorphism .main-content{background:transparent!important}.theme-glassmorphism .sql-editor-container{background:#02081773!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;border-color:var(--glass-border)!important}.theme-glassmorphism .results-table-wrap,.theme-glassmorphism .tv-sql-body,.theme-glassmorphism .tv-sql-editor,.theme-glassmorphism .results-grid-container,.theme-glassmorphism .struct-table-wrap,.theme-glassmorphism .indexes-table-wrap{background:#02081759!important;border-color:var(--glass-border)!important}.theme-glassmorphism .tv-grid{background:#02081780!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;border-color:var(--glass-border)!important}.theme-glassmorphism .tv-error{background:#f8717112!important;border-color:#f8717133!important}.theme-glassmorphism .tv-btn{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important}.theme-glassmorphism .tv-btn:hover{background:var(--glass-bg-strong)!important}.theme-glassmorphism .tv-badge{background:#60a5fa1f!important;border-color:#60a5fa40!important;color:var(--accent)!important}.theme-glassmorphism .tv-schema-name{color:var(--text-secondary)}.theme-glassmorphism .query-tab{border-color:transparent!important;background:transparent!important;transition:background .18s ease,box-shadow .18s ease}.theme-glassmorphism .query-tab:hover:not(.active){background:var(--glass-bg)!important}.theme-glassmorphism .query-tab.active{background:var(--glass-bg-strong)!important;border:1px solid var(--glass-border)!important;border-bottom:2px solid var(--accent)!important;box-shadow:var(--glass-specular),0 4px 16px #0000004d!important;border-radius:var(--radius-sm) var(--radius-sm) 0 0!important}.theme-glassmorphism .tree-item{background:transparent!important;transition:background .15s ease;border-left:2px solid transparent}.theme-glassmorphism .tree-item:hover{background:var(--bg-hover)!important;border-left-color:#60a5fa4d}.theme-glassmorphism .tree-item.selected{background:#60a5fa1f!important;border-left-color:var(--accent)}.theme-glassmorphism .tree-badge{background:#22c55e1f!important;color:#4ade80!important;border:1px solid rgba(34,197,94,.28)!important;font-size:10px!important;padding:1px 7px!important;border-radius:10px!important}.theme-glassmorphism .tree-label{color:var(--text-primary)}.theme-glassmorphism .tree-arrow{color:var(--text-muted)}.theme-glassmorphism .type-badge{color:var(--text-muted)!important}.theme-glassmorphism .tree-icon{--orange: #fbbf24;--purple: #a78bfa;--cyan: #22d3ee}.theme-glassmorphism .icon-btn:hover{background:var(--glass-bg-strong)!important;box-shadow:var(--glass-specular)!important}.theme-glassmorphism .icon-btn.active{color:var(--accent)!important}.theme-glassmorphism .run-btn{background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 0 20px #22c55e66,var(--glass-specular)!important;border:none!important}.theme-glassmorphism .run-btn:hover:not(:disabled){box-shadow:0 0 32px #22c55e99,var(--glass-specular)!important;transform:translateY(-1px)}.theme-glassmorphism input,.theme-glassmorphism select,.theme-glassmorphism textarea{background:#0006!important;border-color:var(--glass-border)!important;color:var(--text-primary)!important}.theme-glassmorphism input:focus,.theme-glassmorphism select:focus,.theme-glassmorphism textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #60a5fa2e!important;outline:none!important}.theme-glassmorphism .conn-tabs{backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important}.theme-glassmorphism .conn-tab{background:var(--glass-bg)!important;border-color:var(--glass-border)!important;transition:all .18s ease}.theme-glassmorphism .conn-tab:hover{background:var(--glass-bg-strong)!important;box-shadow:var(--glass-specular)!important}.theme-glassmorphism .conn-tab.active{background:var(--glass-bg-strong)!important;border-color:#60a5fa59!important;box-shadow:var(--glass-specular),0 0 16px #60a5fa1f!important}.theme-glassmorphism .conn-dot{background:var(--green)!important;box-shadow:0 0 8px #34d39980}.theme-glassmorphism .status-bar{background:var(--glass-bg)!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border-top:1px solid var(--glass-border)!important;color:var(--text-secondary)!important;box-shadow:inset 0 1px #ffffff0f!important}.theme-glassmorphism .status-dot.green{background:var(--green)!important;box-shadow:0 0 8px #34d39980}.theme-glassmorphism .dialog-overlay{background:#020817a6!important;will-change:transform}.theme-glassmorphism .dialog-box,.theme-glassmorphism .settings-dialog,.theme-glassmorphism .seq-modal,.theme-glassmorphism .table-struct-modal,.theme-glassmorphism .batch-edit-dialog{background:#0a122dbf!important;backdrop-filter:var(--glass-blur-strong)!important;-webkit-backdrop-filter:var(--glass-blur-strong)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-specular),var(--glass-shadow-lg)!important;border-radius:var(--radius-lg)!important}.theme-glassmorphism .dialog-header,.theme-glassmorphism .seq-modal-header{background:#ffffff0a!important;border-bottom:1px solid var(--glass-border)!important}.theme-glassmorphism .dialog-footer{background:#ffffff08!important;border-top:1px solid var(--glass-border)!important}.theme-glassmorphism .dropdown-menu,.theme-glassmorphism .context-menu,.theme-glassmorphism .row-context-menu,.theme-glassmorphism .tab-ctx-menu,.theme-glassmorphism .col-filter-dropdown{background:#0a122dd1!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-specular),var(--glass-shadow-lg)!important;border-radius:var(--radius)!important}.theme-glassmorphism .cm-editor{background:transparent!important}.theme-glassmorphism .cm-gutters{background:#02081799!important;border-right:1px solid var(--glass-border)!important}.theme-glassmorphism .cm-activeLineGutter,.theme-glassmorphism .cm-activeLine{background:#ffffff0a!important}.theme-glassmorphism .results-table th,.theme-glassmorphism .table-struct-body table thead th,.theme-glassmorphism .indexes-table thead th{background:#ffffff0d!important;border-bottom:1px solid var(--glass-border)!important}.theme-glassmorphism .results-table td{border-color:#ffffff0d!important}.theme-glassmorphism tr.even td{background:#ffffff05!important}.theme-glassmorphism tr.odd td{background:transparent!important}.theme-glassmorphism tr:hover td{background:#60a5fa0f!important}.theme-glassmorphism tr.selected td{background:#60a5fa1f!important}.theme-glassmorphism .row-num-col{background:#ffffff0a!important}.theme-glassmorphism td.range-selected{background:#60a5fa38!important;border-bottom:2px solid rgba(96,165,250,.4)!important}.theme-glassmorphism td.anchor-cell{outline:2px solid var(--accent)!important;outline-offset:-1px;background:#60a5fa52!important}.theme-glassmorphism td.pending-cell{box-shadow:inset 0 0 0 2px var(--yellow)!important}.theme-glassmorphism td.pending-cell.range-selected{box-shadow:inset 0 0 0 2px var(--yellow)!important;background:#60a5fa2e!important}.theme-glassmorphism tr:hover td.range-selected{background:#60a5fa4d!important}.theme-glassmorphism .searchable-select-dropdown{background:#0a122de0!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow-lg)!important;border-radius:var(--radius)!important}.theme-glassmorphism ::-webkit-scrollbar{width:6px;height:6px}.theme-glassmorphism ::-webkit-scrollbar-track{background:transparent}.theme-glassmorphism ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.theme-glassmorphism ::-webkit-scrollbar-thumb:hover{background:#ffffff47}.theme-glassmorphism ::-webkit-scrollbar-corner{background:transparent}.theme-glassmorphism.theme-perf-low{--glass-blur: none;--glass-blur-strong: none;--glass-shadow: 0 2px 8px rgba(0,0,0,.25);--glass-shadow-lg: 0 8px 24px rgba(0,0,0,.35)}:root{--bg-primary: #1e1f22;--bg-secondary: #2b2d30;--bg-tertiary: #313438;--bg-hover: #3c3f41;--bg-active: #4c5052;--bg-input: #2b2d30;--border: #393b40;--border-light: #4e5157;--text-primary: #dde1e7;--text-secondary:#8c8fa3;--text-muted: #6b6f7a;--text-link: #4eaaff;--accent: #3574f0;--accent-hover: #4b80f5;--accent-dim: #1e3a6e;--green: #6aab73;--red: #e06c75;--yellow: #d4a72c;--orange: #cd8960;--purple: #c792ea;--cyan: #56b6c2;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-size-xs: 13px;--font-size-sm: 14px;--font-size-base:15px;--font-size-md: 16px;--radius-sm: 3px;--radius: 5px;--radius-lg: 8px;--tab-height: 42px;--toolbar-height:42px;--statusbar-height: 28px;--sidebar-width: 260px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-base);line-height:1.4;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}button{border:none;outline:none;cursor:pointer;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm)}input,select,textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm);border-radius:var(--radius-sm);outline:none;padding:4px 8px}input:focus,select:focus{border-color:var(--accent)}.icon-btn{display:flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:background .1s,color .1s;gap:4px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn.active{color:var(--accent)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.danger:hover{color:var(--red);background:#e06c751a}[data-sonner-toaster]{z-index:999999!important}.react-tooltip{z-index:999999!important;font-size:13px!important;font-weight:500!important;padding:5px 10px!important;border-radius:5px!important;line-height:1.4!important;letter-spacing:.2px!important}.theme-light{--bg-primary: #ffffff;--bg-secondary: #f7f8fa;--bg-tertiary: #eef0f4;--bg-hover: #e4e6eb;--bg-active: #d0d3da;--bg-input: #ffffff;--border: #d9dce3;--border-light: #e5e7ec;--text-primary: #37475f;--text-secondary:#374151;--text-muted: #4f7ad0;--text-link: #2563eb;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-dim: #dbeafe;--green: #16a34a;--red: #dc2626;--yellow: #ca8a04;--orange: #ea580c;--purple: #9333ea;--cyan: #0891b2}.theme-glassmorphism.theme-perf-low .sidebar,.theme-glassmorphism.theme-perf-low .editor-toolbar,.theme-glassmorphism.theme-perf-low .explorer-header,.theme-glassmorphism.theme-perf-low .status-bar,.theme-glassmorphism.theme-perf-low .tv-sql-header,.theme-glassmorphism.theme-perf-low .results-toolbar,.theme-glassmorphism.theme-perf-low .explorer-tree,.theme-glassmorphism.theme-perf-low .query-tabs-bar,.theme-glassmorphism.theme-perf-low .schema-explorer,.theme-glassmorphism.theme-perf-low .main-content,.theme-glassmorphism.theme-perf-low .tv-grid,.theme-glassmorphism.theme-perf-low .sql-editor-container,.theme-glassmorphism.theme-perf-low .dialog-box,.theme-glassmorphism.theme-perf-low .settings-dialog,.theme-glassmorphism.theme-perf-low .seq-modal,.theme-glassmorphism.theme-perf-low .table-struct-modal,.theme-glassmorphism.theme-perf-low .batch-edit-dialog,.theme-glassmorphism.theme-perf-low .dropdown-menu,.theme-glassmorphism.theme-perf-low .context-menu,.theme-glassmorphism.theme-perf-low .row-context-menu,.theme-glassmorphism.theme-perf-low .tab-ctx-menu,.theme-glassmorphism.theme-perf-low .col-filter-dropdown,.theme-glassmorphism.theme-perf-low .searchable-select-dropdown,.theme-glassmorphism.theme-perf-low .conn-tabs{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-glassmorphism.theme-perf-low{background:radial-gradient(ellipse 600px 400px at 5% 5%,rgba(42,195,222,.04) 0%,transparent 50%),linear-gradient(135deg,#0f0e17,#15163a 35%,#1a1b3a,#12122a 65%,#0f0e17)!important}.theme-glassmorphism.theme-perf-low .run-btn{box-shadow:none!important}.theme-glassmorphism.theme-perf-low .dialog-box,.theme-glassmorphism.theme-perf-low .settings-dialog,.theme-glassmorphism.theme-perf-low .seq-modal,.theme-glassmorphism.theme-perf-low .table-struct-modal,.theme-glassmorphism.theme-perf-low .batch-edit-dialog{background:#1e2030e6!important}.theme-glassmorphism.theme-perf-low .tv-pagination,.theme-glassmorphism.theme-perf-low .tv-btn,.theme-glassmorphism.theme-perf-low .tv-badge,.theme-glassmorphism.theme-perf-low .tree-badge{box-shadow:none!important}.theme-light ::-webkit-scrollbar-thumb{background:#bfc3cc}.theme-light ::-webkit-scrollbar-thumb:hover{background:#9ca0ad}.theme-light .row-context-menu{box-shadow:0 8px 24px #0000001a!important}.theme-light .batch-edit-dialog{box-shadow:0 20px 60px #00000021!important}.theme-light .dropdown-menu{box-shadow:0 4px 12px #00000014!important}.theme-light .col-filter-dropdown{box-shadow:0 8px 32px #0000001a!important}.theme-light .seq-modal{box-shadow:0 20px 60px #0000001f!important}.theme-light .context-menu{box-shadow:0 8px 24px #0000001a!important}.theme-light .seq-modal-overlay{background:#00000040!important}.theme-light .dialog-backdrop,.theme-light .dialog-overlay{background:#00000038!important}.theme-light .dialog-box,.theme-light .settings-dialog{box-shadow:0 24px 48px #0000001f!important}.theme-light tr.even td{background:#fff}.theme-light tr.odd td{background:#f4f6f9}.theme-light tr:hover td{background:var(--bg-hover)!important}.theme-light tr.selected td{background:#2563eb14!important}.theme-light tr.selected:hover td{background:#2563eb21!important}.theme-light .results-table th{background:#eef0f5;color:#374151}.theme-light .results-table th:hover{background:#e4e7ee}.theme-light .results-table thead{background:#eef0f5}.theme-light .results-table td.range-selected{background:#2563eb12!important}.theme-light tr:hover td.range-selected{background:#2563eb1c!important}.theme-light tr.new-row td{background:#16a34a0f!important;border-bottom:2px solid rgba(22,163,74,.25)!important}.theme-light tr.new-row td.row-num-col{background:#16a34a1a!important}.theme-light .row-num-col{background:#eef0f5!important;border-right-color:var(--border)!important}.theme-light .row-index{color:#9ca0ad}.theme-light .col-filter-btn:hover{background:var(--bg-active)}.theme-light .col-filter-btn.open{background:#2563eb1a}.theme-light th.filtered{background:#2563eb0d!important}.theme-light .truncated-badge{background:#ca8a041f;color:#92400e}.theme-light .filter-badge{background:#2563eb14;border-color:#2563eb40}.theme-light .tv-sql-handle:after{background:#0000002e}.theme-light .tv-badge-filter{background:#2563eb1a;border-color:#2563eb4d}.theme-light .tv-badge-sort{background:#16a34a1a;border-color:#16a34a4d}.theme-light .tv-badge-custom{background:#9333ea1a;border-color:#9333ea4d}.theme-light .tv-badge-modified{background:#ca8a041a;border-color:#ca8a044d}.theme-light .tv-sql-editor{border-color:var(--border)!important}.theme-light .cf-preview{background:#f4f6f9;border-color:var(--border)}.theme-light .cf-preview-sql{color:#2563eb}.theme-light .col-filter-dropdown{background:var(--bg-secondary)!important}.theme-light .cf-value-item:hover{background:var(--bg-hover)}.theme-light .context-menu{background:var(--bg-secondary)!important}.theme-light .context-menu button.danger:hover{background:#dc262614}.theme-glassmorphism{--bg-primary: rgba(26, 27, 38, .75);--bg-secondary: rgba(36, 40, 59, .7);--bg-tertiary: rgba(46, 50, 72, .6);--bg-hover: rgba(65, 72, 104, .35);--bg-active: rgba(80, 88, 128, .3);--bg-input: rgba(20, 22, 36, .7);--border: rgba(169, 177, 214, .12);--border-light: rgba(169, 177, 214, .06);--text-primary: rgba(207, 201, 194, .95);--text-secondary:rgba(169, 177, 214, .85);--text-muted: rgba(120, 130, 170, .7);--text-link: #2ac3de;--accent: #2ac3de;--accent-hover: #4fd6be;--accent-dim: rgba(42, 195, 222, .2);--green: #6aab73;--red: #e06c75;--yellow: #e5c07b;--orange: #d19a66;--purple: #c678dd;--cyan: #56b6c2}
