.querylab-container{background:linear-gradient(180deg,#f8f9fa,#e9ecef);min-height:100vh;padding:2rem}.querylab-content{max-width:1400px;margin:0 auto;padding-top:100px}.card,.querylab-card{background:#ffffff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .2s ease}.card:hover,.querylab-card:hover{box-shadow:0 4px 12px rgba(83,18,148,.1);border-color:rgba(83,18,148,.2)}.card-body,.querylab-card-body{padding:1.75rem}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;background:linear-gradient(135deg,rgba(229,222,235,.05),rgba(83,18,148,.02));border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;color:#111827;font-weight:600;font-size:1rem}.header-title{font-weight:600;color:#374151;font-size:.9rem;display:block;text-transform:uppercase;letter-spacing:.5px}.card-header .btn{padding:.5rem 1rem;font-size:.875rem;background:#f3f4f6;color:#531294;border:1px solid #e5e7eb;width:auto}.card-header .btn:hover{background:#ffffff;border-color:#531294;box-shadow:0 1px 4px rgba(83,18,148,.15)}.card-header .icon{font-size:.875rem}.form-label{font-weight:600;color:#374151;margin-bottom:.75rem;margin-top:1.5rem;font-size:.9rem;display:block;text-transform:uppercase;letter-spacing:.5px}.form-label:first-child{margin-top:0}.button-group{grid-template-columns:repeat(2,1fr);grid-gap:1rem}.button-group,.database-grid{display:grid;gap:1rem;margin-bottom:1.5rem}.database-grid{grid-template-columns:repeat(4,1fr);grid-gap:1rem}.btn{padding:1rem 1.5rem;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;white-space:nowrap;width:100%}.btn-active-db{background:#531294;color:white;box-shadow:0 2px 8px rgba(83,18,148,.3);transform:translateY(-1px)}.btn-inactive-db{background:#f3f4f6;color:#531294;border:2px solid #e5e7eb}.btn-inactive-db:hover{background:#f9fafb;border-color:#531294;color:#531294;transform:translateY(-1px);box-shadow:0 2px 8px rgba(83,18,148,.15)}.btn-inactive-db .db-symbol{color:#531294}.btn-active-db .db-symbol{color:white}.btn-active-db:hover,.btn-active-db:hover .db-symbol{color:#531294}.btn-primary{background:#531294;color:white;box-shadow:0 2px 8px rgba(83,18,148,.25)}.btn-primary:hover:not(:disabled){background:#6b1bb8;box-shadow:0 4px 12px rgba(83,18,148,.35);transform:translateY(-1px)}.btn-primary:disabled{opacity:1;cursor:not-allowed;background:#ddd6fe;color:#7c3aed;box-shadow:none}.btn-secondary{background:#f3f4f6;color:#374151;border:2px solid #e5e7eb}.btn-secondary:hover{background:#f3f4f6;border-color:#531294;box-shadow:0 2px 8px rgba(83,18,148,.15);color:#531294}.btn-link{background:none;border:none;color:#531294;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease;font-size:.875rem}.btn-link:hover{background:rgba(83,18,148,.08);color:#6b1bb8}.icon{font-size:1rem}.db-symbol{font-size:1.5rem}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.query-editor{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}.button-row{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.alert{padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem;font-weight:500;animation:slideDown .3s ease;font-size:.95rem}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.alert-danger{background:#fef2f2;border:2px solid #fecaca;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;flex-direction:column}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.error-section h4{color:#dc2626;font-weight:700;margin-bottom:.75rem;font-weight:600;font-size:.9rem;display:block;text-transform:uppercase;letter-spacing:.5px}.error-code{display:block;background:rgba(220,38,38,.08);padding:1rem;border-radius:8px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.9rem;color:#991b1b;border:1px solid rgba(220,38,38,.2);line-height:1.5;word-break:break-word}.btn-ai-help,.error-section{width:100%;margin-bottom:.25rem}.btn-ai-help{padding:.875rem 1.5rem;background:linear-gradient(135deg,#531294,#6b1bb8);color:white;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.625rem;box-shadow:0 2px 8px rgba(83,18,148,.25)}.btn-ai-help:hover:not(:disabled){background:linear-gradient(135deg,#6b1bb8,#7c3aed);transform:translateY(-2px);box-shadow:0 4px 12px rgba(83,18,148,.35);color:white}.btn-ai-help:disabled{opacity:.7;cursor:not-allowed;transform:none}.ai-response{width:100%;background:linear-gradient(135deg,#f8f4fc,#f3e8ff);border:2px solid #c084fc;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 4px 12px rgba(192,132,252,.15);animation:slideDown .3s ease-out}.ai-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#531294,#6b1bb8);border-bottom:2px solid #c084fc}.ai-header h5{font-weight:700;margin:0;gap:.5rem}.ai-header h5,.close-ai-btn{color:white;font-size:1rem;display:flex;align-items:center}.close-ai-btn{background:rgba(255,255,255,.2);border:none;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;justify-content:center;width:32px;height:32px}.close-ai-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.ai-content{background:white;padding:1.25rem;color:#374151;line-height:1.7;white-space:pre-wrap;font-size:.95rem;max-height:400px;overflow-y:auto}.ai-content::-webkit-scrollbar{width:8px}.ai-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.ai-content::-webkit-scrollbar-thumb{background:#c084fc;border-radius:4px}.ai-content::-webkit-scrollbar-thumb:hover{background:#a855f7}.schema-pre{background:#f9fafb;padding:1.25rem;border-radius:8px;overflow-x:auto;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.95rem;line-height:1.6;color:#1f2937;border:1px solid #e5e7eb}.schema-pre>div{margin-bottom:1.25rem}.schema-type{color:#531294;font-weight:800;font-size:1rem;text-transform:uppercase;letter-spacing:.5px}.schema-sql{color:#374151;margin-top:.75rem;font-size:.9rem;line-height:1.7;border-left:3px solid #531294;background:white;padding:.75rem .75rem .75rem 1rem;border-radius:4px;margin-left:.5rem}.schema-divider{border:none;border-top:2px solid #e5e7eb;margin:1.25rem 0}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.results-table{width:100%;border-collapse:collapse;font-size:.9rem}.results-table thead{background:#531294}.results-table th{padding:.875rem 1rem;text-align:left;font-weight:600;color:white;white-space:nowrap}.results-table tbody tr{transition:background-color .15s ease;border-bottom:1px solid #e5e7eb}.results-table tbody tr:hover{background-color:#f9fafb}.results-table td{padding:.75rem 1rem;color:#374151}.json-pre{background:#f9fafb;padding:1.25rem;border-radius:8px;overflow-x:auto;max-height:600px;overflow-y:auto;border:1px solid #e5e7eb}.json-pre code{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.85rem;line-height:1.6;color:#374151}.badge{padding:.375rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600}.badge-primary{background:rgba(83,18,148,.1);color:#531294}.badge-success{background:#d1fae5;color:#065f46}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:5px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::selection{background:rgba(83,18,148,.2);color:#111827}@media (max-width:1024px){.database-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.querylab-container{padding:1rem}.querylab-content{padding-top:100px}.card-body,.querylab-card-body{padding:1.25rem}.card-header{padding:1rem 1.25rem}.button-group{grid-template-columns:1fr}.database-grid{grid-template-columns:1fr 1fr}.button-row{flex-direction:column}.btn{width:100%}.editor-header{flex-direction:column;align-items:flex-start;gap:.75rem}.error-section h4{font-size:1rem}.error-code{font-size:.85rem;padding:.875rem}.btn-ai-help{font-size:.95rem;padding:.75rem 1.25rem}.ai-header{padding:.875rem 1rem}.ai-header h5{font-size:.95rem}.ai-content{padding:1rem;font-size:.9rem}}@media (max-width:480px){.querylab-container{padding:.75rem}.database-grid{grid-template-columns:1fr}.form-label{font-size:.85rem}.btn{padding:.875rem 1rem;font-size:.9rem}}.mongo-schema{background:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.collection-item{margin-bottom:1.5rem}.collection-item:last-child{margin-bottom:0}.collection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #531294}.collection-name{color:#531294;font-weight:800;font-size:1rem;text-transform:uppercase;letter-spacing:.5px}.field-count{background:rgba(83,18,148,.1);color:#531294;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.collection-fields{display:flex;flex-wrap:wrap;gap:.5rem}.field-badge{background:white;color:#374151;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;border:1px solid #e5e7eb;font-family:JetBrains Mono,Fira Code,Courier New,monospace;transition:all .2s ease}.field-badge:hover{background:#f3f4f6;border-color:#531294;transform:translateY(-1px);box-shadow:0 2px 4px rgba(83,18,148,.1)}@media (max-width:768px){.collection-header{flex-direction:column;align-items:flex-start;gap:.5rem}.field-badge{font-size:.85rem;padding:.4rem .75rem}}.ai-markdown{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3,.ai-markdown h4,.ai-markdown h5,.ai-markdown h6{color:#531294;font-weight:700;margin-top:1.5rem;margin-bottom:1rem;line-height:1.4}.ai-markdown h1{font-size:1.5rem}.ai-markdown h2{font-size:1.3rem}.ai-markdown h3{font-size:1.15rem}.ai-markdown h4{font-size:1.05rem}.ai-markdown h5{font-size:1rem}.ai-markdown h6{font-size:.95rem}.ai-markdown h1:first-child,.ai-markdown h2:first-child,.ai-markdown h3:first-child{margin-top:0}.ai-markdown p{margin-bottom:1rem;line-height:1.7;color:#374151}.ai-markdown ol,.ai-markdown ul{margin-bottom:1rem;padding-left:2rem}.ai-markdown li{margin-bottom:.5rem;line-height:1.6;color:#000000}.ai-markdown ul{list-style-type:disc}.ai-markdown ol{list-style-type:decimal}.ai-markdown pre{background:#3d0472;color:#e7e6e6;padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1rem;font-size:1rem;font-weight:500!important;line-height:1.5}.ai-markdown code,.ai-markdown pre{font-family:JetBrains Mono,Fira Code,Courier New,monospace}.ai-markdown code{background:#f3f4f6;color:#dc2626;padding:.2rem .4rem;border-radius:4px;font-size:.9em}.ai-markdown pre code{background:transparent;color:inherit;padding:0}.ai-markdown blockquote{border-left:4px solid #531294;padding-left:1rem;margin-left:0;margin-bottom:1rem;color:#6b7280;font-style:italic}.ai-markdown a{color:#531294;text-decoration:underline;transition:color .2s ease}.ai-markdown a:hover{color:#6b1bb8}.ai-markdown table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.ai-markdown td,.ai-markdown th{border:1px solid #e5e7eb;padding:.5rem .75rem;text-align:left}.ai-markdown th{font-weight:600;color:#374151}.ai-markdown th,.ai-markdown tr:nth-child(2n){background:#f9fafb}.ai-markdown hr{border:none;border-top:2px solid #e5e7eb;margin:1.5rem 0}.ai-markdown strong{font-weight:700;color:#1f2937}.ai-markdown em{font-style:italic}.ai-markdown img{max-width:100%;height:auto;border-radius:6px;margin:1rem 0}.ai-markdown li code{background:#f3f4f6;color:#dc2626;padding:.15rem .3rem;border-radius:3px;font-size:.85em}.ai-markdown input[type=checkbox]{margin-right:.5rem}.ai-markdown ol ol,.ai-markdown ol ul,.ai-markdown ul ol,.ai-markdown ul ul{margin-top:.5rem;margin-bottom:.5rem}