:root{--bg-base:210 40% 98%;--bg-surface:0 0% 100%;--bg-card:0 0% 100%;--primary:199 89% 48%;--primary-hover:201 98% 39%;--primary-glow:#0ea5e90f;--secondary:262 83% 58%;--secondary-hover:263 70% 50%;--accent:199 89% 48%;--status-success:142 72% 45%;--status-warning:45 93% 47%;--status-error:0 84% 60%;--text-primary:222 47% 11%;--text-secondary:215 25% 27%;--text-muted:215 16% 47%;--border-translucent:#e2e8f0;--border-glow:#cbd5e1;--border-active:#0ea5e9;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-fast:.1s ease;--transition-normal:.2s ease}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:hsl(var(--bg-base));color:hsl(var(--text-primary));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:14px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:hsl(var(--text-primary));font-weight:700}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{flex-direction:column;min-height:100vh;display:flex}.header{border-bottom:1px solid var(--border-translucent);background:hsl(var(--bg-surface));z-index:50;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{font-size:16px;font-weight:800;font-family:var(--font-display);color:hsl(var(--text-primary));letter-spacing:-.02em;align-items:center;gap:10px;display:flex}.brand-icon{width:24px;height:24px;color:hsl(var(--primary))}.main-content{flex:1;display:flex;overflow:hidden}.glass-card{background:hsl(var(--bg-surface));border:1px solid var(--border-translucent);transition:all var(--transition-normal);border-radius:6px;padding:16px}.glass-card:hover{border-color:var(--border-glow)}.glass-card-interactive{cursor:pointer}.glass-card-interactive:active{transform:translateY(1px)}.input-field{background:hsl(var(--bg-base));border:1px solid var(--border-translucent);width:100%;color:hsl(var(--text-primary));font-family:var(--font-sans);transition:all var(--transition-fast);border-radius:4px;padding:8px 12px;font-size:13px}.input-field:focus{border-color:hsl(var(--primary));outline:none}.input-field-code{font-family:var(--font-mono);font-size:12px}.btn{font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--secondary)) 100%);color:#fff;box-shadow:0 4px 12px #0ea5e933}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 16px #0ea5e94d}.btn-primary:active{transform:translateY(1px)}.btn-secondary{color:hsl(var(--text-secondary));border:1px solid var(--border-translucent);background:#fff}.btn-secondary:hover{color:hsl(var(--text-primary));border-color:var(--border-glow);background:#0f172a08}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.nav-tabs{gap:4px;display:flex}.nav-tab{color:hsl(var(--text-muted));font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.nav-tab:hover{color:hsl(var(--text-primary))}.nav-tab.active{color:hsl(var(--primary));background:var(--primary-glow);border-color:var(--border-translucent)}.pulse-dot{border-radius:50%;width:6px;height:6px;display:inline-block;position:relative}.pulse-dot.success{background-color:hsl(var(--status-success))}.pulse-dot.success:after{content:"";background-color:hsl(var(--status-success));opacity:.6;border-radius:50%;width:100%;height:100%;animation:1.5s ease-in-out infinite pulse-ring;position:absolute}.pulse-dot.warning{background-color:hsl(var(--status-warning))}.pulse-dot.error{background-color:hsl(var(--status-error))}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.code-preview{font-family:var(--font-mono);background:hsl(var(--bg-base));border:1px solid var(--border-translucent);color:hsl(var(--text-primary));border-radius:4px;padding:10px;font-size:12px;overflow-x:auto}.grid-container{gap:16px;display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.dashboard-grid{grid-template-columns:280px 1fr;gap:20px;width:100%;height:calc(100vh - 64px);padding:20px;display:grid;overflow:hidden}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr;height:auto;overflow:auto}}.sidebar{flex-direction:column;gap:16px;height:100%;display:flex;overflow-y:auto}.content-pane{flex-direction:column;gap:20px;height:100%;padding-right:4px;display:flex;overflow-y:auto}.sidebar-list{flex-direction:column;gap:4px;list-style:none;display:flex}.sidebar-item{color:hsl(var(--text-secondary));cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.sidebar-item:hover{color:hsl(var(--text-primary));background:#0f172a0a}.sidebar-item.active{color:hsl(var(--secondary));background:#8b5cf614;border-color:#8b5cf633;font-weight:500}.sidebar-section-title{text-transform:uppercase;color:hsl(var(--text-muted));letter-spacing:1px;align-items:center;gap:6px;margin-top:12px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.connection-config-bar{border:1px solid var(--border-translucent);background:#0f172a05;border-radius:20px;align-items:center;gap:12px;padding:6px 12px;font-size:13px;display:flex}.worksheet-container{flex-direction:column;gap:16px;height:100%;display:flex}.sql-editor-container{border:1px solid var(--border-translucent);background:#fff;border-radius:8px;flex-direction:column;display:flex;position:relative;overflow:hidden}.sql-editor{width:100%;min-height:180px;color:hsl(var(--text-primary));font-family:var(--font-mono);resize:vertical;background:0 0;border:none;padding:16px;font-size:14px;line-height:1.6}.sql-editor:focus{outline:none}.editor-header{border-bottom:1px solid var(--border-translucent);height:36px;color:hsl(var(--text-muted));background:#0f172a05;justify-content:space-between;align-items:center;padding:0 16px;font-size:12px;display:flex}.editor-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.meta-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.meta-table th{color:hsl(var(--text-secondary));border-bottom:1px solid var(--border-translucent);background:#0f172a05;padding:10px 12px;font-weight:600}.meta-table td{color:hsl(var(--text-primary));border-bottom:1px solid var(--border-translucent);padding:10px 12px}.meta-table tr:hover td{background:#0f172a03}.results-pane{border:1px solid var(--border-translucent);background:#fff;border-radius:8px;flex-direction:column;flex:1;min-height:200px;display:flex;overflow:hidden}.results-header{border-bottom:1px solid var(--border-translucent);background:#0f172a05;justify-content:space-between;align-items:center;height:40px;padding:0 16px;font-size:13px;font-weight:500;display:flex}.results-table-container{flex:1;overflow:auto}.heatmap-grid{grid-template-columns:repeat(32,1fr);gap:3px;margin-top:12px;display:grid}@media (width<=768px){.heatmap-grid{grid-template-columns:repeat(16,1fr)}}.heatmap-cell{aspect-ratio:1;cursor:pointer;transition:all var(--transition-fast);color:#fffc;border-radius:2px;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.heatmap-cell:hover{z-index:10;transform:scale(1.3);box-shadow:0 0 6px #0f172a33}.topology-container{border:1px solid var(--border-translucent);background:#fff;border-radius:8px;width:100%;height:500px;position:relative;overflow:hidden}.node-group{cursor:pointer}.node-rect{fill:hsl(var(--bg-card));stroke:var(--border-translucent);stroke-width:1.5px;rx:8;ry:8;transition:all var(--transition-normal)}.node-group:hover .node-rect{stroke:hsl(var(--primary));filter:drop-shadow(0 0 4px #8b5cf633)}.node-group.selected .node-rect{stroke:hsl(var(--primary));stroke-width:2px;filter:drop-shadow(0 0 8px #8b5cf64d)}.link-line{fill:none;stroke:#0f172a14;stroke-width:2px;transition:stroke .2s}.link-line.active{stroke:#8b5cf659;stroke-dasharray:6 4;animation:15s linear infinite flow-dash}@keyframes flow-dash{to{stroke-dashoffset:-100px}}.badge{border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-purple{color:hsl(var(--primary));background:#8b5cf626;border:1px solid #8b5cf64d}.badge-blue{color:#1d4ed8;background:#3b82f61a;border:1px solid #3b82f633}.badge-emerald{color:#047857;background:#10b9811a;border:1px solid #10b98133}.badge-amber{color:#b45309;background:#f59e0b1a;border:1px solid #f59e0b33}
