:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;color:#213547}@media(prefers-color-scheme:dark){:root{color:#213547;background-color:#f8fafc}}.btn.small{padding:8px 16px;font-size:.875rem;width:auto!important;margin-top:0!important}.btn.secondary{background:#fff!important;color:#475569!important;border:1px solid #e2e8f0!important}.btn.secondary:hover{background:#f8fafc!important;border-color:#cbd5e1!important}.form-input{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.schema-builder[data-v-eafd13eb]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem}.header[data-v-eafd13eb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header h3[data-v-eafd13eb]{font-size:1.25rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:.5rem;margin:0}.empty-state[data-v-eafd13eb]{text-align:center;padding:2rem;background:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb;color:#6b7280}.tables-list[data-v-eafd13eb]{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.table-card[data-v-eafd13eb]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s}.table-card[data-v-eafd13eb]:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#cbd5e1}.table-header[data-v-eafd13eb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.header-actions[data-v-eafd13eb]{display:flex;gap:.5rem;align-items:center}.table-name-input[data-v-eafd13eb]{font-weight:600;font-size:1.1rem;border:none;background:transparent;flex:1;color:#1e293b;padding:.25rem}.table-name-input[data-v-eafd13eb]:focus{outline:none;border-bottom:2px solid #3b82f6}.input-error[data-v-eafd13eb]{border-bottom:2px solid #ef4444!important}.error-message[data-v-eafd13eb]{color:#ef4444;font-size:.8rem;margin-bottom:.75rem;padding:.5rem;background:#fee2e2;border-radius:4px}.table-header-view[data-v-eafd13eb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #3b82f6}.table-name-display[data-v-eafd13eb]{font-weight:700;font-size:1.2rem;color:#1e293b;margin:0}.columns-view[data-v-eafd13eb]{display:flex;flex-direction:column;gap:.5rem}.column-view-row[data-v-eafd13eb]{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:4px;border:1px solid #e2e8f0}.col-name[data-v-eafd13eb]{font-weight:500;color:#334155}.col-type-badge[data-v-eafd13eb]{background:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.columns-list[data-v-eafd13eb]{display:flex;flex-direction:column;gap:.5rem}.column-row[data-v-eafd13eb]{display:flex;gap:.5rem;align-items:center}.col-name-input[data-v-eafd13eb]{flex:1;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.9rem}.col-type-select[data-v-eafd13eb]{width:100px;padding:.35rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.85rem;background:#fff;color:#64748b}.btn-primary-sm[data-v-eafd13eb]{background:#2563eb;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary-sm[data-v-eafd13eb]:hover{background:#1d4ed8}.btn-save[data-v-eafd13eb]{background:#10b981;color:#fff;border:none;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background .2s}.btn-save[data-v-eafd13eb]:hover{background:#059669}.btn-edit[data-v-eafd13eb]{background:#f59e0b;color:#fff;border:none;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background .2s}.btn-edit[data-v-eafd13eb]:hover{background:#d97706}.btn-secondary-sm[data-v-eafd13eb]{background:transparent;color:#3b82f6;border:1px dashed #3b82f6;padding:.4rem;border-radius:6px;font-size:.85rem;cursor:pointer;margin-top:.5rem;width:100%}.btn-secondary-sm[data-v-eafd13eb]:hover{background:#eff6ff}.btn-danger-icon[data-v-eafd13eb]{background:#fee2e2;color:#ef4444;border:none;width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;line-height:1}.btn-danger-icon[data-v-eafd13eb]:hover{background:#fecaca}.btn-danger-icon-sm[data-v-eafd13eb]{background:transparent;color:#94a3b8;border:none;font-size:1.2rem;cursor:pointer;padding:0 4px}.btn-danger-icon-sm[data-v-eafd13eb]:hover{color:#ef4444}.relationship-builder[data-v-55841abe]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem}.header[data-v-55841abe]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header h3[data-v-55841abe]{font-size:1.25rem;font-weight:600;color:#1f2937;gap:.5rem;margin:0}.empty-state[data-v-55841abe]{text-align:center;padding:1.5rem;background:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb;color:#6b7280}.sub-text[data-v-55841abe]{font-size:.85rem;color:#9ca3af;margin-top:.25rem}.relationships-list[data-v-55841abe]{display:flex;flex-direction:column;gap:1rem}.rel-card[data-v-55841abe]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.rel-row[data-v-55841abe]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.rel-group[data-v-55841abe]{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem;border-radius:6px;border:1px solid #e2e8f0}.label[data-v-55841abe]{font-size:.75rem;text-transform:uppercase;font-weight:700;color:#94a3b8;margin-right:.25rem}.table-select[data-v-55841abe],.col-select[data-v-55841abe]{padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.9rem;min-width:120px}.col-select[data-v-55841abe]{min-width:100px;color:#475569}.arrow[data-v-55841abe]{color:#64748b;font-weight:700;font-size:1.2rem}.error-message[data-v-55841abe]{color:#ef4444;font-size:.8rem;margin-top:.5rem;padding:.5rem;background:#fee2e2;border-radius:4px}.rel-row-view[data-v-55841abe]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.rel-display[data-v-55841abe]{flex:1;background:#fff;padding:.75rem 1rem;border-radius:6px;border:1px solid #e2e8f0}.rel-text[data-v-55841abe]{font-size:.95rem;color:#334155}.rel-text strong[data-v-55841abe]{color:#1e293b;font-weight:600}.arrow-view[data-v-55841abe]{color:#3b82f6;font-weight:700;margin:0 .5rem}.action-buttons[data-v-55841abe]{display:flex;gap:.5rem;align-items:center;margin-left:auto}.btn-primary-sm[data-v-55841abe]{background:#2563eb;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer}.btn-primary-sm[data-v-55841abe]:hover{background:#1d4ed8}.btn-save[data-v-55841abe]{background:#10b981;color:#fff;border:none;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background .2s}.btn-save[data-v-55841abe]:hover{background:#059669}.btn-edit[data-v-55841abe]{background:#f59e0b;color:#fff;border:none;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background .2s}.btn-edit[data-v-55841abe]:hover{background:#d97706}.btn-danger-icon[data-v-55841abe]{background:#fee2e2;color:#ef4444;border:none;width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-danger-icon[data-v-55841abe]:hover{background:#fecaca}.schema-canvas[data-v-281234c1]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem;overflow:hidden}.header h3[data-v-281234c1]{font-size:1.25rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:.5rem;margin:0 0 1rem}.canvas-container[data-v-281234c1]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;min-height:200px;display:flex;justify-content:center;align-items:center;overflow-x:auto}.error-msg[data-v-281234c1]{color:#ef4444;font-size:.9rem}.modal-overlay[data-v-ab01ef65]{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-ab01ef65]{background:#fff;width:100%;max-width:450px;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;animation:modal-in-ab01ef65 .3s ease-out}@keyframes modal-in-ab01ef65{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-ab01ef65]{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.modal-header h3[data-v-ab01ef65]{margin:0;font-size:1.25rem;color:#1e293b}.close-btn[data-v-ab01ef65]{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:0;line-height:1}.modal-body[data-v-ab01ef65]{padding:24px}.form-group[data-v-ab01ef65]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-ab01ef65]{font-size:.875rem;font-weight:600;color:#475569}.form-input[data-v-ab01ef65]{padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.form-input[data-v-ab01ef65]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer[data-v-ab01ef65]{padding:16px 24px;background:#f8fafc;display:flex;justify-content:flex-end;gap:12px}.btn[data-v-ab01ef65]{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn.secondary[data-v-ab01ef65]{background:#e2e8f0;color:#475569}.btn.primary[data-v-ab01ef65]{background:#3b82f6;color:#fff}.btn[data-v-ab01ef65]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-ab01ef65]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-ab01ef65 .8s linear infinite;margin-right:8px}@keyframes spin-ab01ef65{to{transform:rotate(360deg)}}.modal-overlay[data-v-fdcde64b]{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-fdcde64b]{background:#fff;width:100%;max-width:500px;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;animation:modal-in-fdcde64b .3s ease-out;max-height:80vh;display:flex;flex-direction:column}@keyframes modal-in-fdcde64b{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-fdcde64b]{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-header h3[data-v-fdcde64b]{margin:0;font-size:1.25rem;color:#1e293b}.close-btn[data-v-fdcde64b]{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:0;line-height:1}.modal-body[data-v-fdcde64b]{padding:0;overflow-y:auto}.list-loading[data-v-fdcde64b],.empty-state[data-v-fdcde64b]{padding:40px;text-align:center;color:#64748b}.project-list[data-v-fdcde64b]{display:flex;flex-direction:column}.project-item[data-v-fdcde64b]{padding:16px 24px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s}.project-item[data-v-fdcde64b]:hover{background:#f8fafc}.project-info[data-v-fdcde64b]{display:flex;flex-direction:column;gap:4px}.project-name[data-v-fdcde64b]{font-weight:600;color:#1e293b}.project-date[data-v-fdcde64b]{font-size:.75rem;color:#94a3b8}.delete-btn[data-v-fdcde64b]{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:8px;border-radius:6px;opacity:0;transition:all .2s}.project-item:hover .delete-btn[data-v-fdcde64b]{opacity:1}.delete-btn[data-v-fdcde64b]:hover{background:#fee2e2}.spinner.dark[data-v-fdcde64b]{border-color:#1e293b1a;border-top-color:#1e293b}.spinner[data-v-fdcde64b]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-fdcde64b .8s linear infinite;margin-right:8px}@keyframes spin-fdcde64b{to{transform:rotate(360deg)}}.query-input-container[data-v-1ecb4aeb]{display:flex;flex-direction:column;gap:24px;max-width:1000px;margin:0 auto}.project-actions[data-v-1ecb4aeb]{display:flex;justify-content:flex-end;gap:12px}.card[data-v-1ecb4aeb]{background:linear-gradient(135deg,#fff,#f8fafc);padding:28px;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid rgba(226,232,240,.8);transition:all .3s ease}.card-header[data-v-1ecb4aeb]{display:flex;align-items:center;gap:16px;margin-bottom:16px}.icon-wrapper[data-v-1ecb4aeb]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.question-icon[data-v-1ecb4aeb]{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 12px #4facfe66}h3[data-v-1ecb4aeb]{margin:0;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hint[data-v-1ecb4aeb]{margin:4px 0 0;color:#64748b;font-size:.875rem;font-weight:500}.question-input[data-v-1ecb4aeb]{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-family:Inter,system-ui,sans-serif;font-size:1rem;resize:vertical;box-sizing:border-box;transition:all .3s ease;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.question-input[data-v-1ecb4aeb]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.db-selector[data-v-1ecb4aeb]{margin-left:auto;display:flex;align-items:center;gap:8px;background:#fff;padding:6px 12px;border-radius:8px;border:1px solid #e2e8f0}.db-selector label[data-v-1ecb4aeb]{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase}.db-select[data-v-1ecb4aeb]{border:none;background:transparent;font-size:.9rem;font-weight:600;color:#1e293b;cursor:pointer;outline:none}.btn[data-v-1ecb4aeb]{width:100%;padding:14px 24px;border:none;border-radius:10px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .3s ease;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px}.btn[data-v-1ecb4aeb]:disabled{opacity:.6;cursor:not-allowed}.accent[data-v-1ecb4aeb]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98166}.accent[data-v-1ecb4aeb]:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b98180;transform:translateY(-2px)}.accent[data-v-1ecb4aeb]:active:not(:disabled){transform:translateY(0)}.spinner[data-v-1ecb4aeb]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-1ecb4aeb .8s linear infinite}@keyframes spin-1ecb4aeb{to{transform:rotate(360deg)}}.loading-hint[data-v-1ecb4aeb]{color:#64748b;font-size:.875rem;margin-top:12px;text-align:center;font-weight:500}.result-display[data-v-8cfa149f]{margin-top:20px}.card[data-v-8cfa149f]{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.code-block[data-v-8cfa149f]{background:#1e293b;color:#e2e8f0;padding:15px;border-radius:6px;overflow-x:auto;font-family:Fira Code,monospace;margin:15px 0}.validation-badge[data-v-8cfa149f]{display:inline-block;padding:6px 12px;border-radius:4px;font-size:.85em;font-weight:700;margin-bottom:10px}.valid[data-v-8cfa149f]{background:#d1fae5;color:#065f46}.invalid[data-v-8cfa149f]{background:#fee2e2;color:#991b1b}.error-msg[data-v-8cfa149f]{color:#dc2626;margin-top:10px;padding:10px;background:#fef2f2;border-radius:4px;border-left:4px solid #dc2626}.actions[data-v-8cfa149f]{margin-top:15px}.btn[data-v-8cfa149f]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background:#fff;font-weight:500;transition:all .2s}.btn.secondary[data-v-8cfa149f]:hover{background:#f3f4f6;border-color:#9ca3af}.app-container[data-v-0ec04a61]{max-width:800px;margin:0 auto;padding:40px 20px;font-family:Inter,sans-serif;color:#333}header[data-v-0ec04a61]{text-align:center;margin-bottom:40px}h1[data-v-0ec04a61]{font-size:2.5rem;margin-bottom:10px;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
