@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0a0b0f;--bg-surface: #13151c;--bg-elevated: #1c1f2e;--bg-hover: #222538;--border: #2a2d3e;--border-subtle: #1e2133;--accent: #6c63ff;--accent-glow: rgba(108, 99, 255, .25);--accent-hover: #7d75ff;--success: #22c55e;--error: #ef4444;--warning: #f59e0b;--text-primary: #e8eaf6;--text-secondary: #8b8fa8;--text-muted: #555870;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0,0,0,.4);--shadow-md: 0 4px 20px rgba(0,0,0,.5);--shadow-lg: 0 8px 40px rgba(0,0,0,.6);--shadow-glow: 0 0 24px var(--accent-glow)}html,body,#root{height:100%;font-family:Inter,sans-serif;background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 0;flex-shrink:0}.sidebar-logo{padding:0 20px 24px;border-bottom:1px solid var(--border-subtle)}.sidebar-logo h1{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#6c63ff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo p{font-size:.72rem;color:var(--text-muted);margin-top:3px}.new-chat-btn{margin:18px 14px;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:background .2s,box-shadow .2s,transform .1s}.new-chat-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.new-chat-btn:active{transform:translateY(0)}.sidebar-section-title{font-size:.67rem;font-weight:600;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;padding:0 20px 8px}.history-list{flex:1;overflow-y:auto;padding:0 8px;display:flex;flex-direction:column;gap:2px}.history-item{padding:9px 12px;border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item:hover{background:var(--bg-hover);color:var(--text-primary)}.history-item.active{background:var(--bg-elevated);color:var(--text-primary)}.sidebar-footer{padding:16px 20px 0;border-top:1px solid var(--border-subtle)}.health-dot{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.dot.online{background:var(--success);box-shadow:0 0 6px var(--success)}.dot.offline{background:var(--error);box-shadow:0 0 6px var(--error)}.dot.loading{background:var(--warning);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-header h2{font-size:.95rem;font-weight:600;color:var(--text-primary)}.chat-header span{font-size:.75rem;color:var(--text-muted)}.messages-area{flex:1;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth}.messages-area::-webkit-scrollbar{width:5px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--text-muted);text-align:center;padding:40px}.empty-state .icon{font-size:3rem;filter:grayscale(.3)}.empty-state h3{font-size:1.3rem;font-weight:600;color:var(--text-secondary)}.empty-state p{font-size:.85rem;max-width:400px;line-height:1.6}.suggestions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}.suggestion-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:8px 16px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.suggestion-chip:hover{border-color:var(--accent);color:var(--text-primary);background:var(--bg-hover)}.message{display:flex;gap:14px;animation:slideIn .25s ease-out;max-width:860px;width:100%;margin:0 auto}.message.user{flex-direction:row-reverse}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;font-weight:600}.avatar.user-avatar{background:linear-gradient(135deg,#6c63ff,#a78bfa)}.avatar.ai-avatar{background:var(--bg-elevated);border:1px solid var(--border)}.message-body{flex:1;min-width:0}.user-bubble{background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;padding:12px 16px;border-radius:var(--radius-lg) var(--radius-lg) 6px var(--radius-lg);font-size:.88rem;line-height:1.55;max-width:70%;margin-left:auto;box-shadow:var(--shadow-sm)}.ai-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.sql-block{border-bottom:1px solid var(--border-subtle)}.sql-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-elevated)}.sql-label{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:#a78bfa;text-transform:uppercase}.copy-btn{background:none;border:1px solid var(--border);color:var(--text-muted);padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;cursor:pointer;transition:all .2s;font-family:inherit}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.copy-btn.copied{border-color:var(--success);color:var(--success)}.sql-code{padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7;overflow-x:auto;background:#0d0f1a}.sql-code::-webkit-scrollbar{height:3px}.sql-code::-webkit-scrollbar-thumb{background:var(--border)}.results-section{padding:16px}.results-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.results-meta span{font-size:.75rem;color:var(--text-muted)}.badge{background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3);padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:600}.badge.attempts-2{background:#f59e0b26;color:var(--warning);border-color:#f59e0b4d}.badge.attempts-3{background:#ef444426;color:var(--error);border-color:#ef44444d}.table-wrapper{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.results-table{width:100%;border-collapse:collapse;font-size:.78rem}.results-table th{background:var(--bg-elevated);padding:10px 14px;text-align:left;font-weight:600;font-size:.7rem;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.results-table td{padding:9px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.results-table tr:last-child td{border-bottom:none}.results-table tr:hover td{background:var(--bg-elevated)}.error-card{background:#ef44440f;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);padding:16px;display:flex;gap:12px}.error-icon{font-size:1.2rem;flex-shrink:0}.error-text h4{font-size:.82rem;color:var(--error);margin-bottom:4px}.error-text p{font-size:.76rem;color:var(--text-secondary);line-height:1.5}.typing-indicator{display:flex;align-items:center;gap:14px;max-width:860px;margin:0 auto;width:100%}.typing-bubble{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;gap:14px}.typing-step{font-size:.76rem;color:var(--text-muted)}.dots{display:flex;gap:4px}.dots span{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:bounce 1.2s infinite ease-in-out}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.input-area{padding:20px 28px;border-top:1px solid var(--border);background:var(--bg-surface)}.input-wrapper{display:flex;align-items:flex-end;gap:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:10px 12px 10px 18px;transition:border-color .2s,box-shadow .2s;max-width:860px;margin:0 auto}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.88rem;line-height:1.5;resize:none;max-height:140px;min-height:24px}.chat-input::placeholder{color:var(--text-muted)}.send-btn{width:38px;height:38px;background:var(--accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,box-shadow .2s,transform .1s;font-size:1rem}.send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.97)}.send-btn:disabled{background:var(--border);cursor:not-allowed;opacity:.5}.input-hint{text-align:center;font-size:.68rem;color:var(--text-muted);margin-top:10px;max-width:860px;margin-left:auto;margin-right:auto}@media(max-width:640px){.sidebar{display:none}.messages-area,.input-area{padding:16px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#6cb6ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-comment,.hljs-code,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}
