.s-module-container{box-sizing:border-box;flex-direction:column;width:100%;padding:0 1.75rem 2.5rem;display:flex}.s-tabs-container{border-bottom:1px solid var(--border);scrollbar-width:none;flex-wrap:wrap;gap:4px;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex;overflow-x:auto}.s-tabs-container::-webkit-scrollbar{display:none}.s-tab-btn{border-radius:calc(var(--radius) - 1px);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:.45rem;padding:.45rem 1rem;font-size:.875rem;font-weight:500;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.s-tab-btn i{opacity:.8;font-size:.8rem}.s-tab-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}.s-tab-btn.s-active{background:var(--bg-secondary);color:var(--accent);border-color:var(--border);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.s-converter-grid{flex-direction:row;justify-content:center;align-items:center;gap:1.25rem;display:flex}.s-panel-input,.s-panel-output{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-subtle);flex-direction:column;width:100%;height:100%;min-height:520px;padding:1.25rem;transition:border-color .2s;display:flex}.s-panel-input{width:60%}.s-panel:focus-within{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.s-panel-header-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.s-panel-header-row h3{letter-spacing:.01em;border:none;flex-shrink:0;margin:0;padding:0;font-size:.95rem;font-weight:600}.s-header-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.s-mode-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius);background:0 0;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.s-mode-btn:hover{border-color:var(--danger);color:var(--danger);background:#ff4d4d12}.s-mode-btn i{font-size:.75rem}.s-controls-group{flex-direction:column;flex-shrink:0;gap:.65rem;margin-bottom:.75rem;display:flex}.s-label-text{color:var(--text-secondary);white-space:nowrap;font-size:.82rem;font-weight:500;line-height:1}.s-dialect-selection-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.s-explain-check{margin-left:auto}.s-ext-grid{grid-template-columns:1fr 1fr;align-items:end;gap:.75rem;display:grid}.s-control-field{flex-direction:column;gap:.3rem;display:flex}.s-combobox-input{appearance:none;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23888%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right .65rem center;background-repeat:no-repeat;background-size:.6rem;padding:.5rem 2.25rem .5rem .75rem;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.s-combobox-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2.5px #38bdf82e}.s-combobox-input option{background:var(--bg-primary);color:var(--text-primary)}.s-select-small{padding:.25rem 1.75rem .25rem .5rem;font-size:.8rem;line-height:1.4}select.s-select-small{background-position:right .4rem center}.s-full-width{width:100%}.s-flex-col{flex-direction:column;width:20rem;display:flex}.s-flex-grow{flex:auto;min-height:0}.s-btn-small{border-radius:calc(var(--radius) - 1px)!important;padding:.35rem .75rem!important;font-size:.8rem!important;line-height:1.4!important}.s-main-input-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);flex:auto;min-height:200px;transition:border-color .15s;position:relative;overflow:hidden}.s-main-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #38bdf81f}.s-main-input-wrapper .s-editor-container{position:absolute;inset:0}.s-generate-action-row{flex-shrink:0;padding-top:.85rem}.s-generate-action-row .primary-button{justify-content:center;width:100%}.s-results-container{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.s-output-scrollable{flex-direction:column;gap:.85rem;display:flex}.s-ai-summary{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);flex-shrink:0;padding:.9rem 1rem;font-size:.875rem;line-height:1.65}.s-ai-summary strong{color:var(--accent);-webkit-text-fill-color:var(--accent);background:0 0;border:none;align-items:center;gap:7px;margin-bottom:.55rem;font-size:.85rem;font-weight:600;display:flex}.s-ai-summary strong i{color:var(--accent)}.s-ai-summary.s-recommended-indexes{border-left:3px solid #2ea043}.s-ai-summary.s-explain-plan,.s-ai-summary.s-simulation-note-box{border-left:3px solid var(--accent)}.s-code-output-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);flex-shrink:0;overflow:hidden}.s-code-output-wrapper.s-has-results{margin-top:.5rem}.s-small-text{color:var(--text-secondary);margin:0 0 .6rem;font-size:.8rem;line-height:1.5}.s-alert-box{border-radius:var(--radius);border:1px solid;flex-shrink:0;padding:.85rem 1rem}.s-alert-box.s-amber{color:var(--text-primary);background:#d9770614;border-color:#d9770647}.s-alert-box.s-amber strong{color:#d97706}.s-alert-box strong{-webkit-text-fill-color:unset;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:.45rem;padding:0;font-size:.875rem;font-weight:600;display:flex}.s-alert-box ul{margin:0;padding-left:1.4rem;font-size:.82rem;line-height:1.6}.s-alert-box.s-error-box{color:var(--text-primary);background:#f8514914;border-color:#f8514947}.s-alert-box.s-error-box strong{color:#f85149}.s-alert-box.s-error-box p{margin:0;font-size:.82rem;line-height:1.5}.s-success-state{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1.5rem;display:flex}.s-diff-success-state{min-height:160px}.s-diff-success-state i.fa-circle-check{color:#2ea043;margin-bottom:.75rem;font-size:2.25rem}.s-diff-success-state p{color:var(--text-primary);margin:0}.s-diff-success-state .s-success-desc{color:var(--text-secondary);font-size:.875rem}.s-diff-viewer-wrapper{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.s-optimizer-diff{margin-top:0}.s-erd-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-subtle);margin-bottom:1.5rem;padding:1.25rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px){.s-converter-grid{grid-template-columns:1fr}.s-panel{min-height:460px}}@media (max-width:768px){.s-module-container{padding:0 1rem 2rem}.s-converter-grid{gap:1rem}.s-panel{min-height:400px;padding:1rem}.s-panel-header-row .s-header-actions{flex-wrap:wrap}.s-ext-grid{grid-template-columns:1fr}}@media (max-width:480px){.s-tabs-container{gap:2px}.s-tab-btn{padding:.4rem .75rem;font-size:.8rem}}
.s-test-runner-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);margin-top:1.25rem;animation:.2s ease-out slideUp;overflow:hidden}.s-test-runner-header{background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1.1rem;transition:background .15s;display:flex}.s-test-runner-header:hover{background:color-mix(in srgb, var(--bg-tertiary) 60%, var(--bg-secondary))}.s-test-runner-title{color:var(--text-primary);align-items:center;gap:.65rem;font-size:.9rem;font-weight:600;display:flex}.s-test-runner-title i{color:var(--accent);font-size:.9rem}.s-test-runner-header-right{align-items:center;gap:.65rem;display:flex}.s-tr-chevron{color:var(--text-secondary);font-size:.75rem;transition:transform .2s}.s-dialect-badge{letter-spacing:.02em;border:1px solid;border-radius:20px;align-items:center;gap:5px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.s-dialect-badge.native{color:#2ea043;background:#2ea0431a;border-color:#2ea04352}.s-dialect-badge.simulated{color:var(--accent);background:#38bdf81a;border-color:#38bdf847}.s-exec-time-badge{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;align-items:center;gap:5px;padding:.1rem .5rem;font-size:.73rem;font-weight:500;display:inline-flex}.s-exec-time-badge.s-running{color:var(--accent);border-color:var(--accent)}.s-test-runner-body{flex-direction:column;gap:.875rem;padding:1rem 1.1rem;animation:.15s ease-out fadeIn;display:flex}.s-test-runner-controls{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .875rem;display:flex}.s-tr-controls-left{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.s-tr-controls-right{align-items:center;gap:.4rem;display:flex}.s-test-data-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);overflow:hidden}.s-test-data-section-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.5rem .875rem;font-size:.82rem;font-weight:500;display:flex}.s-test-data-section-header span{align-items:center;gap:7px;display:flex}.s-test-data-editor-wrapper{width:100%;height:200px;position:relative}.s-test-data-editor-wrapper>div{inset:0;width:100%!important;height:100%!important;position:absolute!important}.s-tr-result-area{flex-direction:column;gap:.65rem;animation:.15s ease-out slideUp;display:flex}.s-tr-empty-state{text-align:center;color:var(--text-secondary);border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:2.5rem 1rem;display:flex}.s-tr-empty-state i{opacity:.25;margin-bottom:.2rem;font-size:1.75rem}.s-tr-empty-state p{margin:0;font-size:.875rem;line-height:1.55}.s-tr-empty-note{color:var(--text-secondary);opacity:.8}@media (max-width:768px){.s-test-runner-header{flex-wrap:wrap;gap:.4rem;padding:.6rem .875rem}.s-test-runner-header-right{flex-wrap:wrap;gap:.4rem}.s-test-runner-controls{flex-direction:column;align-items:flex-start}.s-tr-controls-right{justify-content:flex-end;width:100%}.s-dialect-badge{font-size:.7rem}}@media (max-width:480px){.s-test-runner-body{padding:.75rem}}
.s-schema-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);flex-shrink:0;transition:border-color .15s;overflow:hidden}.s-schema-wrapper:focus-within{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.s-schema-header-actions{background:var(--bg-secondary);justify-content:space-between;align-items:center;display:flex}.s-schema-toggle-btn{text-align:left;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:.6rem .9rem;font-size:.845rem;font-weight:500;transition:background .15s,color .15s;display:flex}.s-schema-toggle-btn i{font-size:.8rem}.s-schema-toggle-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.s-schema-toggle-btn.s-active{color:var(--accent);background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-weight:600}.s-schema-editor-wrapper{border-bottom:1px solid var(--border);background:var(--bg-primary);width:100%;height:240px;position:relative}.s-schema-editor-wrapper>div{inset:0;width:100%!important;height:100%!important;position:absolute!important}.s-schema-footer-actions{background:var(--bg-secondary);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .6rem;display:flex}.s-workspace-controls{flex-shrink:0;align-items:center;gap:8px;padding:0 .5rem 0 0;display:flex}.s-sub-workspace-controls{align-items:center;gap:5px;display:flex}.s-upload-btn-wrapper{align-items:center;display:inline-flex;position:relative;overflow:hidden}.s-upload-btn-wrapper input[type=file]{opacity:0;cursor:pointer;font-size:100px;position:absolute;inset:0}.s-sql-project-modal{width:100%;max-width:460px}.s-sql-project-modal .modal-header{border-bottom:1px solid var(--border);margin-bottom:.85rem;padding-bottom:.85rem}.s-sql-project-modal .modal-header h4{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.s-sql-project-modal .modal-body{flex-direction:column;gap:.5rem;margin-bottom:0;display:flex}.s-sql-project-modal .modal-desc{color:var(--text-secondary);margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.s-sql-project-modal .modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding-top:.85rem;display:flex}@media (max-width:1000px){.s-workspace-controls{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.s-schema-footer-actions{flex-wrap:wrap}}@media (max-width:480px){.s-sub-workspace-controls{flex-wrap:wrap}}
.s-sandbox-results{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);overflow:hidden}.s-sandbox-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:.45rem .875rem;font-size:.82rem;font-weight:500;display:flex}.s-sandbox-header .s-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:background .15s,color .15s;display:flex}.s-sandbox-header .s-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.s-table-responsive{max-height:400px;overflow:auto}.s-sandbox-table{border-collapse:collapse;width:100%;font-size:.82rem}.s-sandbox-table th,.s-sandbox-table td{border:1px solid var(--border);text-align:left;white-space:nowrap;color:var(--text-secondary);padding:.5rem .75rem}.s-sandbox-table th{background:var(--bg-tertiary);color:var(--text-primary);z-index:10;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 1px 0 var(--border);font-size:.78rem;font-weight:600;position:sticky;top:0}.s-sandbox-table tbody tr:hover{background:var(--bg-secondary)}.s-empty-message{color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;gap:8px;margin:0;padding:1rem;font-size:.85rem;font-style:italic;display:flex}.s-null-value{color:var(--text-secondary);opacity:.55;font-family:monospace;font-size:.78rem}.s-sandbox-error-text{white-space:pre-wrap;margin:0;font-family:monospace;font-size:.82rem;line-height:1.55}.s-result-set-block{margin-bottom:0}.s-result-set-label{background:var(--bg-tertiary);border-bottom:1px solid var(--border);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.s-result-stats-bar{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1rem;padding:.45rem .875rem;display:flex}.s-result-stat{color:var(--text-secondary);align-items:center;gap:5px;font-size:.8rem;font-weight:500;display:inline-flex}.s-result-stat i{color:var(--accent);font-size:.72rem}.s-result-stat.s-simulated-tag{color:var(--accent);background:#38bdf814;border:1px solid #38bdf838;border-radius:10px;padding:.15rem .5rem;font-size:.78rem}.s-simulation-notice{border-radius:var(--radius);color:var(--accent);background:#38bdf812;border:1px solid #38bdf838;align-items:center;gap:8px;padding:.5rem .875rem;font-size:.8rem;font-weight:500;display:flex}@media (max-width:768px){.s-sandbox-table th,.s-sandbox-table td{padding:.35rem .5rem;font-size:.75rem}.s-table-responsive{max-height:280px}.s-result-stats-bar{gap:.65rem}}
