:root{--bg-color:#04060f;--bg-gradient:radial-gradient(circle at 50% 50%, #0d122b 0%, #04060f 100%);--panel-bg:#0a0f1e99;--panel-border:1px solid #ffffff0f;--glass-shadow:0 8px 32px 0 #0006;--text-primary:#f1f3f9;--text-secondary:#8c9bb3;--text-muted:#53627a;--accent-blue:#3b82f6;--accent-blue-glow:#3b82f640;--accent-green:#10b981;--accent-green-glow:#10b98133;--accent-orange:#f59e0b;--accent-orange-glow:#f59e0b33;--accent-red:#ef4444;--accent-red-glow:#ef444433;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;width:100vw;height:100vh;line-height:1.5;overflow:hidden}.glass-panel{background:var(--panel-bg);border:var(--panel-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{border-color:#ffffff1f}.cockpit-layout{grid-template-columns:280px 1fr;width:100vw;height:100vh;display:grid;overflow:hidden}.sidebar{border-right:var(--panel-border);background:#04060fd9;flex-direction:column;height:100%;padding:24px 16px;display:flex}.sidebar-header{align-items:center;gap:12px;margin-bottom:32px;padding:0 8px;display:flex}.sidebar-logo{letter-spacing:-.5px;background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800}.nav-section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;margin-bottom:12px;padding-left:8px;font-size:.75rem;font-weight:700}.nav-button{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;margin-bottom:6px;padding:12px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.nav-button:hover{color:var(--text-primary);background:#ffffff0a}.nav-button.active{background:var(--accent-blue-glow);color:#60a5fa;border:1px solid #3b82f633}.status-indicator{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;margin-top:auto;padding:16px}.status-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.status-dot{background:var(--accent-green);width:8px;height:8px;box-shadow:0 0 8px var(--accent-green);border-radius:50%}.main-chat-container{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.chat-header{border-bottom:var(--panel-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#06081380;justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.scan-trigger-btn{color:#34d399;cursor:pointer;background:#10b98126;border:1px solid #10b9814d;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.scan-trigger-btn:hover{background:#10b98140;box-shadow:0 0 12px #10b98133}.messages-feed{scrollbar-gutter:stable;overscroll-behavior:contain;flex-direction:column;flex:1;gap:24px;padding:32px;display:flex;overflow-y:auto}.messages-feed::-webkit-scrollbar{width:8px}.messages-feed::-webkit-scrollbar-track{background:0 0}.messages-feed::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.messages-feed::-webkit-scrollbar-thumb:hover{background:#ffffff29}.message-bubble{flex-direction:column;max-width:80%;padding:16px 20px;animation:.3s cubic-bezier(.4,0,.2,1) forwards slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-bubble.user{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%);border:1px solid #3b82f633;border-bottom-right-radius:4px;align-self:flex-end}.message-bubble.agent{border-bottom-left-radius:4px;align-self:flex-start}.sender-tag{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin-bottom:6px;font-size:.75rem;font-weight:700}.message-content h2,.message-content h3{color:var(--text-primary);margin-top:16px;margin-bottom:12px;font-weight:700}.message-content h2{border-bottom:1px solid #ffffff0f;padding-bottom:6px;font-size:1.25rem}.message-content h3{font-size:1.05rem}.message-content p{color:#d1d5db;margin-bottom:12px;font-size:.95rem}.message-content ul,.message-content ol{margin-bottom:16px;padding-left:20px}.message-content li{color:#d1d5db;margin-bottom:6px}.message-content table{border-collapse:collapse;text-align:left;width:100%;margin:16px 0;font-size:.88rem}.message-content th{color:var(--text-primary);background:#ffffff08;border-bottom:2px solid #ffffff14;padding:10px 14px;font-weight:700}.message-content td{color:#cbd5e1;border-bottom:1px solid #ffffff0a;padding:10px 14px}.message-content tr:hover td{background:#ffffff05}.message-content li input[type=checkbox]{accent-color:var(--accent-blue);margin-right:8px;transform:translateY(1px)}.reasoning-drawer{background:#ffffff04;border:1px dashed #ffffff14;border-radius:8px;width:100%;margin-bottom:16px;padding:12px 16px}.reasoning-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.reasoning-header-text{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.reasoning-chevron{color:var(--text-muted);font-size:.75rem;transition:transform .2s}.reasoning-chevron.open{transform:rotate(180deg)}.reasoning-steps-list{border-top:1px solid #ffffff0a;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;display:flex}.reasoning-step-item{gap:12px;font-size:.85rem;display:flex}.step-bullet{color:#60a5fa;background:#3b82f626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex}.step-bullet.success{color:#34d399;background:#10b98126}.step-details{flex-direction:column;flex:1;gap:4px;display:flex}.step-desc{color:var(--text-primary)}.step-meta{color:var(--text-muted);font-size:.78rem}.esql-code-block{font-family:var(--font-mono);color:#93c5fd;white-space:pre-wrap;background:#020308;border:1px solid #ffffff0f;border-radius:6px;margin-top:6px;padding:10px 12px;font-size:.8rem;overflow-x:auto}.esql-output-grid{font-family:var(--font-mono);color:#a7f3d0;background:#020308;border:1px solid #ffffff0a;border-radius:6px;max-height:120px;margin-top:6px;padding:8px;font-size:.78rem;overflow-y:auto}.chat-input-area{border-top:var(--panel-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#060813cc;padding:24px 32px}.suggested-chips{gap:10px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.suggested-chips::-webkit-scrollbar{height:4px}.suggested-chips::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.chip{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;padding:6px 12px;font-size:.8rem;transition:all .2s}.chip:hover{color:var(--text-primary);background:#ffffff14;border-color:#3b82f64d}.input-row{gap:12px;display:flex;position:relative}.chat-textarea{color:var(--text-primary);font-family:var(--font-sans);resize:none;background:#04060f99;border:1px solid #ffffff14;border-radius:8px;outline:none;flex:1;height:48px;padding:12px 16px;font-size:.95rem;transition:border-color .2s}.chat-textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 12px var(--accent-blue-glow)}.send-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.send-btn:hover{background:#2563eb;box-shadow:0 0 16px #3b82f666}.send-btn:disabled{color:var(--text-muted);cursor:not-allowed;box-shadow:none;background:#ffffff0a}.pulse-loader{align-items:center;gap:4px;padding-left:8px;display:inline-flex}.pulse-dot{background:var(--accent-blue);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.pulse-dot:nth-child(2){animation-delay:.2s}.pulse-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}
