:root{--lens-primary:#0078d4;--lens-primary-hover:#106ebe;--lens-dark:#1e293b;--lens-text:#111827;--lens-border:#e5e7eb;--lens-secondary:#0ea5e9;--lens-light:#ecfeff;--lens-accent:#eef3fb;--lens-primary-rgb:0,120,212;--lens-secondary-rgb:61,171,255;--lens-accent-rgb:157,213,255;--lens-dark-rgb:0,64,112}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;background:#f8fafc;color:#334155;min-height:100vh}a{color:var(--lens-primary)}main{max-width:1200px;margin:0 auto;padding:1.25rem 1.5rem}main.main-about{max-width:100%;margin:0;padding:0}main.main-lab{max-width:100%;height:calc(100vh - 56px);overflow:hidden;display:flex;flex-direction:column;.feature-card{background:#ffffff;border-radius:14px;padding:1.25rem 1.1rem;display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(226,232,240,.9);cursor:pointer;transition:box-shadow .16s ease,transform .12s ease,border-color .16s ease,background-color .16s ease}.feature-card-selected{border-color:var(--lens-primary);box-shadow:0 10px 22px rgba(37,99,235,.18);background:#f9fafb}.feature-card-title{font-size:.9rem;font-weight:600;color:#111827;margin-bottom:.2rem}.feature-card-body{font-size:.8rem;color:#6b7280}.chart-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:.9rem;gap:.9rem}.chart-picker-grid{display:flex;flex-direction:column;gap:1.25rem}.chart-picker-section-title{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:.75rem;display:flex;align-items:center}main.main-wide{max-width:100%;margin:0;padding:1.5rem 2rem;min-height:calc(100vh - 64px)}.chart-picker-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:.9rem;gap:.9rem}.chart-picker-tile{border:1px solid rgba(226,232,240,.9);border-radius:12px;background:#ffffff;padding:.8rem .9rem;text-align:left;display:flex;flex-direction:column;gap:.55rem;cursor:pointer;transition:box-shadow .16s ease,transform .12s ease,border-color .16s ease,background-color .16s ease;min-height:150px}.chart-picker-tile:hover{border-color:var(--lens-primary);box-shadow:0 10px 22px color-mix(in srgb,var(--lens-primary) 18%,transparent);transform:translateY(-2px);background:#f9fafb}.chart-picker-preview{height:72px;border-radius:8px;background:linear-gradient(135deg,#eff6ff,#dbeafe);position:relative;overflow:hidden}.chart-picker-preview:after,.chart-picker-preview:before{content:"";position:absolute;inset:14px 10px 16px 10px;border-radius:6px}.chart-picker-preview:before{border:1px dashed rgba(148,163,184,.8)}.chart-picker-preview:after{border-top:2px solid var(--lens-primary);border-right:2px solid rgba(37,99,235,.6);border-left:2px solid rgba(129,140,248,.7)}.chart-preview-line:after{border-top-width:2px;border-right-width:1px;border-left-width:0}.chart-preview-area{background:linear-gradient(135deg,#e0f2fe,#bfdbfe)}.chart-preview-bar{background-image:linear-gradient(0deg,transparent 0,transparent 40%,rgba(129,140,248,.7) 0,rgba(129,140,248,.7))}.chart-preview-stacked-bar{background-image:repeating-linear-gradient(90deg,rgba(129,140,248,.9) 0,rgba(129,140,248,.9) 12%,rgba(248,250,252,.1) 0,rgba(248,250,252,.1) 14%)}.chart-preview-grouped-bar{background-image:repeating-linear-gradient(90deg,rgba(129,140,248,.9) 0,rgba(129,140,248,.9) 6%,rgba(248,250,252,.1) 0,rgba(37,99,235,.85) 12%,rgba(37,99,235,.85) 18%,rgba(248,250,252,.1) 0,rgba(248,250,252,.1) 20%)}.chart-preview-scatter{background-image:radial-gradient(circle at 25% 70%,var(--lens-primary) 3px,transparent 3px),radial-gradient(circle at 55% 35%,#4f46e5 3px,transparent 3px),radial-gradient(circle at 75% 60%,#22c55e 3px,transparent 3px),linear-gradient(135deg,#eff6ff,#dbeafe)}.chart-preview-bubble{background-image:radial-gradient(circle at 30% 65%,rgba(37,99,235,.6) 10px,transparent 0),radial-gradient(circle at 65% 40%,rgba(129,140,248,.7) 14px,transparent 0),linear-gradient(135deg,#eff6ff,#dbeafe)}.chart-preview-heatmap{background-image:linear-gradient(#eff6ff 0 0),repeating-linear-gradient(90deg,rgba(148,163,184,.2) 0,rgba(148,163,184,.2) 8px,transparent 0,transparent 10px),repeating-linear-gradient(180deg,rgba(59,130,246,.4) 0,rgba(59,130,246,.4) 8px,rgba(251,191,36,.7) 0,rgba(251,191,36,.7) 16px)}.chart-preview-radar{background-image:radial-gradient(circle,rgba(96,165,250,.1) 40%,transparent 41%),radial-gradient(circle at 50% 50%,rgba(37,99,235,.6) 2px,transparent 0),linear-gradient(135deg,#eff6ff,#dbeafe)}.chart-preview-funnel{background-image:linear-gradient(180deg,rgba(37,99,235,.9),rgba(59,130,246,.3));-webkit-clip-path:polygon(20% 18%,80% 18%,70% 45%,30% 45%,25% 80%,75% 80%);clip-path:polygon(20% 18%,80% 18%,70% 45%,30% 45%,25% 80%,75% 80%)}.chart-preview-gauge{background-image:conic-gradient(from 180deg,rgba(34,197,94,.7),rgba(250,204,21,.7),rgba(239,68,68,.7),transparent 220deg);-webkit-clip-path:inset(45% 0 0 0);clip-path:inset(45% 0 0 0)}.chart-preview-boxplot{background-image:linear-gradient(#eff6ff 0 0),linear-gradient(90deg,transparent 10%,rgba(37,99,235,.9) 0,rgba(37,99,235,.9) 12%,transparent 0)}.chart-preview-candlestick{background-image:linear-gradient(#eff6ff 0 0),repeating-linear-gradient(90deg,rgba(37,99,235,.85) 0,rgba(37,99,235,.85) 4px,transparent 0,transparent 8px)}.chart-preview-treemap{background-image:linear-gradient(#eff6ff 0 0),linear-gradient(120deg,rgba(96,165,250,.9) 0 40%,transparent 40%),linear-gradient(-120deg,rgba(129,140,248,.9) 0 40%,transparent 40%)}.chart-preview-sunburst{background-image:conic-gradient(from 0deg,rgba(59,130,246,.8),rgba(129,140,248,.8),rgba(56,189,248,.8),rgba(14,165,233,.8))}.chart-preview-pictorial{background-image:linear-gradient(#eff6ff 0 0),repeating-linear-gradient(90deg,rgba(15,23,42,.05) 0,rgba(15,23,42,.05) 6px,transparent 0,transparent 10px)}.chart-preview-theme-river{background-image:linear-gradient(135deg,#eff6ff,#dbeafe),radial-gradient(circle at 0 80%,rgba(96,165,250,.7) 40%,transparent 41%),radial-gradient(circle at 50% 50%,rgba(56,189,248,.6) 40%,transparent 41%),radial-gradient(circle at 100% 20%,rgba(14,165,233,.7) 40%,transparent 41%)}.chart-preview-kpi,.chart-preview-kpi-trend{background-image:linear-gradient(135deg,#eff6ff,#dbeafe)}.chart-preview-table{background-image:linear-gradient(#eff6ff 0 0),repeating-linear-gradient(180deg,rgba(148,163,184,.5) 0,rgba(148,163,184,.5) 1px,transparent 0,transparent 6px)}.chart-picker-meta{display:flex;flex-direction:column;gap:.18rem}.chart-picker-name{font-size:.9rem;font-weight:600;color:#111827}.chart-picker-description{font-size:.8rem;color:#6b7280}font-size:1rem;font-weight:600;color:#111827;margin:0 0 .35rem}.page-empty-body{font-size:.9rem;color:#6b7280}.page-list-grid{margin-top:1.25rem;display:grid;grid-gap:1rem;gap:1rem}.button{background:linear-gradient(120deg,#38bdf8,#6366f1);border:none;border-radius:12px;color:#0b1021;cursor:pointer;font-weight:700;padding:12px 18px;transition:transform .15s ease,box-shadow .2s ease}.button:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(99,102,241,.35)}.muted{color:#64748b}.sql-preview-runtime{margin-left:.75rem;padding:0;border-radius:0;background:transparent;color:var(--lens-primary-hover);font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:.3rem;transition:background-color .2s ease,color .2s ease,transform .15s ease}.sql-preview-runtime:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--lens-primary);box-shadow:0 0 0 0 color-mix(in srgb,var(--lens-primary) 50%,transparent);animation:sql-runtime-pulse 1.4s ease-out infinite}.sql-preview-runtime.is-idle:before{content:none;width:0;height:0;box-shadow:none;animation:none}.sql-runtime-chip{display:inline-flex;align-items:center;padding:.05rem .45rem;border-radius:6px;background:rgba(255,255,255,.85);border:1px solid rgba(148,163,184,.4);font-size:.78rem}.sql-runtime-dot{width:6px;height:6px;border-radius:999px;margin-right:.25rem}.sql-runtime-dot-total{background:var(--lens-primary)}.sql-runtime-dot-fabric{background:#16a34a}.sql-runtime-fabric-text{color:#16a34a}@keyframes sql-runtime-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,.5)}70%{transform:scale(1.2);box-shadow:0 0 0 6px rgba(37,99,235,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}}.sql-preview{display:flex;flex-direction:column;flex:1 1;min-height:0;margin-top:1.25rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-surface);box-shadow:0 10px 24px rgba(15,23,42,.06);padding:.6rem .9rem .75rem;max-width:100%;overflow-x:hidden}.sql-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem;padding:.15rem 0 .3rem;border-bottom:1px solid var(--border)}.sql-preview-tabs{display:inline-flex;gap:.25rem}.sql-tab{border-radius:8px;border:1px solid rgba(148,163,184,.5);padding:.16rem .75rem;font-size:.78rem;font-weight:500;cursor:pointer;background:var(--bg-elevated)}.sql-tab-muted{color:var(--text-muted);border-color:rgba(148,163,184,.4)}.sql-tab-active{color:var(--lens-primary-hover);background:color-mix(in srgb,var(--lens-primary) 14%,transparent);border-color:var(--lens-primary)}.sql-preview-body{flex:1 1;min-height:0;font-size:13px;height:100%;overflow-y:auto;overflow-x:auto;padding-bottom:.75rem}.overview-sections{margin-top:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.overview-section{padding-top:1rem;border-top:1px solid rgba(226,232,240,.9)}.overview-section-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:.9rem}.overview-section-title{font-size:1.1rem;font-weight:600;letter-spacing:-.02em;color:#111827}.overview-section-meta{font-size:.82rem;color:#9ca3af;margin-top:.2rem}.overview-section-actions{display:flex;align-items:center;gap:.5rem}.overview-section-link{background:none;border:none;padding:.35rem .9rem;font-size:.82rem;font-weight:500;color:var(--lens-primary);cursor:pointer;text-decoration:none;text-transform:uppercase;border-radius:10px;display:inline-flex;align-items:center;gap:.15rem}.overview-section-link:hover{background:color-mix(in srgb,var(--lens-primary) 6%,transparent)}.overview-primary-btn{border-radius:10px;border:none;background:linear-gradient(135deg,var(--lens-primary) 0,var(--lens-dark) 100%);color:#ffffff;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.4rem .7rem;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.1);display:inline-flex;align-items:center;gap:.35rem;transition:all .2s}.overview-primary-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.page-header-actions-row{margin-top:12px;display:flex;justify-content:flex-start}.page-header{margin-bottom:16px}.page-header-with-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface)}.page-header-main{display:flex;flex-direction:column;gap:4px}.page-header-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.page-header-subtitle{font-size:.9rem;color:var(--text-muted)}.page-header-actions{display:flex;align-items:center;gap:12px}.page-header-error{font-size:.85rem;color:#b91c1c}.overview-items-row{display:flex;flex-wrap:wrap;gap:1rem}.overview-item-card{flex:1 1 260px;max-width:320px;display:flex;flex-direction:column;justify-content:space-between;border-radius:14px}.chart-builder-primary-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,var(--lens-primary) 0,var(--lens-dark) 100%);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s}.chart-builder-primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.chart-builder-primary-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}.chart-builder-primary-btn:disabled{background:var(--bg-hover);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.overview-item-card-clickable{cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .12s ease}.overview-item-card-clickable:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 16px 40px rgba(148,163,184,.4)}.overview-item-title{font-size:.98rem;font-weight:600;color:#111827;margin-bottom:.25rem}.overview-item-meta{font-size:.8rem;color:#6b7280}.overview-item-meta strong{font-weight:600}.icon-button{border:none;background:transparent;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:rgba(148,163,184,.15);color:#111827}.home-main-grid{margin-top:1.5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:1fr;grid-gap:1rem;gap:1rem;align-items:stretch}.home-column{display:flex;flex-direction:column;gap:1rem}.home-column>.home-panel:last-child{flex:1 1}.home-panel{background:#ffffff;border-radius:10px;padding:1.25rem;border:1px solid rgba(226,232,240,.9);box-shadow:0 6px 18px rgba(15,23,42,.06)}.home-section-title{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.75rem}.home-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.home-list-item{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:.55rem .4rem;border-radius:10px}.home-list-item:hover{background:color-mix(in srgb,var(--lens-primary) 8%,white)}.home-list-item-title{font-weight:500;color:#111827}.home-list-header,.home-list-item-meta{font-size:.8rem;color:#6b7280}.home-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}@media (max-width:768px){.home-main-grid{grid-template-columns:minmax(0,1fr)}.dashboard-section,.welcome-section{padding:1rem}}.dataset-list-header-row{cursor:default;background:#f9fafb;box-shadow:none;border-radius:14px;padding:10px 18px;font-size:.75rem;font-weight:600;color:#9ca3af}.dataset-list-header-grid,.dataset-list-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,1.5fr) auto;grid-column-gap:1rem;column-gap:1rem;align-items:center}.dataset-list-header-grid span{text-transform:uppercase;letter-spacing:.05em}.saved-queries-toggle{display:inline-flex;align-items:center;margin-left:.75rem;font-size:.75rem;gap:.25rem}.saved-queries-toggle button{background:transparent;border:none;padding:.15rem .5rem;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .2s ease;font-size:.75rem}.saved-queries-toggle button:hover{background:rgba(0,0,0,.05);color:#4b5563}.saved-queries-toggle button.active{color:var(--lens-primary)!important;font-weight:600}.saved-queries-toggle button.active,.saved-queries-toggle button.active:hover{background:var(--lens-light)!important}.chart-step-stack{display:flex;flex-direction:column;gap:.7rem}.chart-step-card{padding:1.25rem 1.4rem}.chart-step-stack .chart-step-card:first-of-type{padding-bottom:.6rem}.chart-step-card-charts{min-height:360px;max-height:520px;display:flex;flex-direction:column}.chart-step-header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.chart-dataset-row{display:flex;align-items:center;gap:.6rem}.chart-dataset-main{flex:1 1;max-width:360px}.chart-dataset-create-btn{white-space:nowrap;margin-top:1.4rem;font-size:.82rem}.chart-dataset-combobox{position:relative;border-radius:8px;border:2px solid #e1e5e9;background:#ffffff;display:flex;align-items:center;padding:.1rem .4rem .1rem .5rem;transition:border-color .18s ease,box-shadow .18s ease}.chart-dataset-combobox-open{border-color:var(--lens-primary);box-shadow:0 0 0 1px rgba(37,99,235,.18)}.chart-dataset-input{flex:1 1;border:none;outline:none;font-size:.86rem;padding:.4rem .2rem}.chart-dataset-input-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:color-mix(in srgb,var(--lens-primary) 12%,white);color:var(--lens-primary);font-size:.78rem;transition:transform .18s ease,background .18s ease}.chart-dataset-combobox-open .chart-dataset-input-icon{transform:scale(1.05);background:#dbeafe}.chart-dataset-menu{position:absolute;left:0;right:0;top:100%;margin-top:4px;border-radius:0 0 10px 10px;border:1px solid #e5e7eb;background:#ffffff;box-shadow:0 12px 30px rgba(15,23,42,.16);max-height:220px;overflow-y:auto}.chart-dataset-item{padding:.55rem .8rem;display:flex;flex-direction:column;align-items:flex-start;background:#ffffff}.chart-dataset-item:hover{background:#f3f4f6}.chart-dataset-item.active{background:color-mix(in srgb,var(--lens-primary) 15%,white)}.chart-dataset-item span{font-size:.85rem;font-weight:500}.chart-dataset-item small{font-size:.75rem;color:#6b7280}.chart-dataset-empty{padding:.6rem .8rem;font-size:.8rem;color:#9ca3af}.chart-chooser-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;margin-top:.3rem;height:100%;flex:1 1;min-height:0}.page-shell{width:100%;padding:28px 32px;box-sizing:border-box}.page-shell-wide{overflow-x:auto}.chart-chooser-sidebar{border-right:1px solid #e5e7eb;padding-right:.75rem;display:flex;flex-direction:column;gap:1.2rem}.chart-chooser-sidebar-group{display:flex;flex-direction:column;gap:.25rem}.chart-chooser-sidebar-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:.2rem}.chart-sidebar-item{border:none;background:transparent;text-align:left;padding:.35rem .4rem;border-radius:8px;display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:#4b5563;cursor:pointer}.chart-sidebar-item:hover{background:#f3f4f6}.chart-sidebar-item-active{background:color-mix(in srgb,var(--lens-primary) 15%,white);color:var(--lens-dark)}.chart-sidebar-icon-wrap{width:22px;height:22px;border-radius:999px;background:#e5edff;display:inline-flex;align-items:center;justify-content:center;color:var(--lens-primary);font-size:.7rem}.chart-chooser-main{display:flex;flex-direction:column;gap:.9rem;margin-top:.5rem;height:100%;min-height:0}.chart-chooser-main-full{flex:1 1}.chart-chooser-main-header{display:flex;align-items:center;justify-content:space-between}.chart-search-input{width:100%;border-radius:999px;border:1px solid #d1d5db;padding:.45rem .9rem;font-size:.82rem;outline:none}.chart-search-input:focus{border-color:var(--lens-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--lens-primary) 20%,transparent)}.chart-picker-row-scroll{flex:1 1;overflow-y:auto;padding:.5rem .5rem .9rem 0;min-height:0}@media (max-width:960px){.chart-step-card-charts{max-height:none}.chart-chooser-layout{grid-template-columns:minmax(0,1fr)}.chart-chooser-sidebar{border-right:none;border-bottom:1px solid #e5e7eb;padding-right:0;padding-bottom:.75rem;margin-bottom:.75rem}}.app-header{background:linear-gradient(135deg,#1e293b,#0f172a);height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem 0 .85rem;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 1px 8px rgba(0,0,0,.28);gap:.75rem}.app-header a{text-decoration:none}.header-logo-area{padding-right:.5rem;cursor:pointer;flex-shrink:0}.header-left,.header-logo-area{display:flex;align-items:center;height:100%}.header-left{gap:0;flex:1 1;min-width:0}.header-divider{width:1px;height:20px;background:rgba(255,255,255,.12);margin:0 .75rem;flex-shrink:0}.top-nav{display:flex;align-items:center;gap:.125rem;height:100%}.header-btn{background:transparent;border:none;padding:0 .85rem;height:34px;border-radius:7px;cursor:pointer;color:rgba(255,255,255,.6);font-size:.845rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;letter-spacing:.01em;position:relative;transition:background .14s,color .14s;text-decoration:none;font-family:inherit}.header-btn:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.95)}.header-btn-active{color:#ffffff!important;font-weight:600;background:rgba(255,255,255,.11)!important}.header-btn-active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:18px;height:2.5px;border-radius:2px;background:var(--lens-primary,#0078D4)}.header-btn-active:hover{background:rgba(255,255,255,.15)!important}.header-right{gap:.125rem;flex-shrink:0}.header-icon-btn,.header-right{display:flex;align-items:center}.header-icon-btn{width:34px;height:34px;border-radius:7px;border:none;background:transparent;color:rgba(255,255,255,.6);justify-content:center;cursor:pointer;font-size:.875rem;transition:background .14s,color .14s}.header-icon-btn:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.95)}.header-dropdown{position:relative}.lab-dropdown-caret{font-size:.65rem;opacity:.7}.header-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:#ffffff;border-radius:10px;box-shadow:0 8px 32px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.08);border:1px solid #e2e8f0;padding:.3rem;display:none;z-index:100}.header-dropdown-right .header-dropdown-menu{left:auto;right:0}.header-dropdown:focus-within .header-dropdown-menu,.header-dropdown:hover .header-dropdown-menu{display:block}.header-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:7px;white-space:nowrap;font-size:.845rem;font-weight:500;color:#374151;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;width:100%;text-align:left;transition:background .12s,color .12s}.header-dropdown-item:hover{background:color-mix(in srgb,var(--lens-primary) 9%,#f1f5f9);color:#0f172a}.header-dropdown-divider{height:1px;background:#f1f5f9;margin:.3rem 0}.user-dropdown-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:#ffffff;border-radius:12px;box-shadow:0 8px 32px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.08);border:1px solid #e2e8f0;z-index:100;padding:.3rem}.user-dropdown-header{padding:.65rem .75rem .5rem;border-bottom:1px solid #f1f5f9;margin-bottom:.3rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1e293b,#0f172a);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center;color:#ffffff}.save-query-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);display:flex;align-items:center;justify-content:center;z-index:2000}.save-query-modal{background:var(--bg-surface);border-radius:8px;border:1px solid var(--border);width:520px;max-width:90%;box-shadow:0 20px 60px rgba(15,23,42,.25);display:flex;flex-direction:column}.save-query-modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.save-query-modal-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.save-query-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:4px}.save-query-modal-close:hover{color:var(--text-secondary)}.save-query-modal-body{padding:16px 20px 12px;display:flex;flex-direction:column;gap:12px}.save-query-field-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.save-query-input,.save-query-textarea{width:100%;border-radius:4px;border:1px solid var(--border);padding:8px 10px;font-size:.875rem;color:var(--text-primary);background:var(--bg-surface)}.save-query-textarea{min-height:96px;resize:vertical}.save-query-input:focus,.save-query-textarea:focus{outline:none;border-color:var(--lens-primary);box-shadow:0 0 0 1px rgba(37,99,235,.4)}.save-query-modal-footer{padding:16px 20px 18px;display:flex;justify-content:flex-end;gap:12px;background:var(--bg-elevated);border-top:1px solid var(--border)}.save-query-btn-cancel,.save-query-btn-primary{min-width:96px;padding:8px 18px;font-size:.8rem;border-radius:4px;border:1px solid transparent;cursor:pointer;font-weight:600}.save-query-btn-cancel{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);transition:all .2s}.save-query-btn-cancel:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border)}.save-query-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.save-query-btn-primary{background:linear-gradient(135deg,var(--lens-primary) 0,var(--lens-dark) 100%);color:#ffffff;border:none;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s}.save-query-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.save-query-btn-primary:disabled{background:var(--bg-hover);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.save-query-modal-error{margin-top:4px;font-size:.78rem;color:#b91c1c}.logo-container{font-size:3rem;margin-bottom:1.5rem;color:#ffffff;display:flex;justify-content:center;align-items:center}.logo-container img{height:4rem;width:auto;max-width:100px;object-fit:contain}.progress-container{width:300px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:1.5rem auto 0;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#4ade80,#22d3ee,#a78bfa);background-size:200% 100%;border-radius:2px;transition:width .1s ease;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#1e293b,#0f172a)}.auth-container{width:100%;max-width:480px}.auth-header{text-align:center;color:white;margin-bottom:1.25rem}.auth-header h1{font-size:2.8rem;font-weight:300;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.1);line-height:1.2}.auth-card{background:white;border-radius:14px;padding:1.75rem 1.75rem 1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.2);max-width:360px;width:100%;text-align:center;margin:0 auto}.auth-tagline{font-size:1.125rem;color:#4b5563;margin:0 0 1.25rem;font-weight:400;letter-spacing:.3px;line-height:1.5;text-align:center;animation:fadeIn .6s ease-out .2s both}.auth-tagline strong{font-weight:700;color:#111827}.auth-card h2{color:#2b2d42;margin-bottom:.65rem;font-weight:600;font-size:1.2rem;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-card h2 i{color:var(--lens-primary,#0078d4);font-size:1.15rem}.auth-card p{color:#6c757d;margin-bottom:1.25rem;line-height:1.45;font-size:.88rem;padding:0}.auth-form{margin:0}.connect-btn{background:linear-gradient(135deg,var(--lens-primary,#0078d4),var(--lens-dark,#106ebe));color:white;border:none;padding:.85rem 2.25rem;border-radius:10px;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:0;box-shadow:0 4px 12px color-mix(in srgb,var(--lens-primary,#0078d4) 30%,transparent);letter-spacing:.3px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.connect-btn i{font-size:1.2rem}.auth-error{margin-top:.75rem;color:#fecaca;font-size:.9rem}.auth-error i{font-size:.95rem}.auth-info{border-top:1px solid #e9ecef;padding-top:1rem;margin-top:1rem;text-align:left}.auth-info h3{color:#2b2d42;margin-bottom:.65rem;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.45rem}.auth-info h3 i{color:var(--lens-primary,#0078d4);font-size:.85rem}.auth-info ul{list-style:none;padding:0;margin:0}.auth-info li{padding:.3rem 0;color:#6c757d;font-size:.82rem;display:flex;align-items:center;gap:.6rem;border-bottom:1px solid #f8f9fa}.auth-info li:last-child{border-bottom:none;padding-bottom:0}.auth-info li i{color:var(--lens-primary,#0078d4);width:14px;font-size:.82rem;text-align:center}.auth-content{background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:2.5rem 2.5rem 3rem;box-shadow:0 25px 80px rgba(0,0,0,.3);text-align:center;border:1px solid rgba(255,255,255,.2);animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-logo{text-align:center;margin-bottom:2rem;animation:fadeInDown .6s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-brand{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#000000,#374151);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem;letter-spacing:3px;animation:fadeInDown .6s ease-out .1s both}.auth-subtitle{font-size:.9375rem;color:#6b7280;margin:0 0 1.75rem;font-weight:500;line-height:1.5;animation:fadeIn .6s ease-out .3s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem;margin:0 0 1.75rem;animation:fadeIn .6s ease-out .4s both}.feature-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.125rem .75rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:10px;border:1px solid #e5e7eb;transition:all .3s ease}.feature-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.1);border-color:var(--lens-primary,#0078d4)}.feature-item i{font-size:1.5rem;color:var(--lens-primary,#0078d4)}.feature-item span{font-size:.8125rem;font-weight:600;color:#374151;text-align:center;line-height:1.4}.auth-button{background:linear-gradient(135deg,var(--lens-primary,#0078d4),var(--lens-dark,#106ebe));color:white;border:none;padding:1rem 2.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px rgba(0,120,212,.3);letter-spacing:.5px;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;animation:fadeIn .6s ease-out .5s both}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,120,212,.4)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-button i:first-child{font-size:1.1rem}.auth-button i.fa-spinner{font-size:1rem}.auth-footer{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #e5e7eb;animation:fadeIn .6s ease-out .6s both}.auth-footer p{font-size:.8125rem;color:#9ca3af;margin:0;line-height:1.5}.auth-error{margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.5rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.auth-input-group{display:flex;flex-direction:column;gap:.375rem;text-align:left}.auth-input-label{font-size:.8125rem;font-weight:600;color:#374151;letter-spacing:.02em}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:13px;color:#9ca3af;font-size:.9rem;pointer-events:none;transition:color .2s}.auth-input{width:100%;padding:.72rem .9rem .72rem 2.6rem;border-radius:10px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#111827;font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}.auth-input::placeholder{color:#c4c9d4}.auth-input:focus{border-color:var(--lens-primary,#0078d4);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--lens-primary,#0078d4) 12%,transparent)}.auth-input-wrapper:focus-within .auth-input-icon,.auth-input:focus+.auth-input-icon{color:var(--lens-primary,#0078d4)}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-form-fields{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:1.25rem}.auth-welcome-heading{font-size:1.375rem;font-weight:800;color:#0f172a;margin:0 0 .25rem;letter-spacing:-.4px;animation:fadeIn .5s ease-out .15s both}.auth-welcome-sub{font-size:.875rem;color:#64748b;margin:0 0 1.5rem;animation:fadeIn .5s ease-out .2s both}.auth-default-hint{display:flex;align-items:center;gap:6px;margin-top:.75rem;font-size:.8rem;color:#6b7280;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .75rem;animation:fadeIn .5s ease-out .6s both}.auth-default-hint i{color:var(--lens-primary,#0078d4);font-size:.8rem}@media (max-width:640px){.auth-content{padding:2rem 1.5rem 2.5rem}.auth-logo{margin-bottom:1.5rem}.auth-brand{font-size:2.5rem}.auth-features{grid-template-columns:1fr;gap:.75rem}.feature-item{flex-direction:row;justify-content:flex-start;padding:.75rem 1rem}}.homepage-container{width:100%;min-height:calc(100vh - 56px);background:radial-gradient(circle at top left,#f9fafb 0,rgba(var(--lens-primary-rgb),.05) 45%,#f8fafc 100%);padding:0;margin:0;overflow-y:auto;display:block}.welcome-section{color:#0f172a;padding:1.25rem 2rem;text-align:center;position:relative;overflow:hidden}.welcome-content{max-width:960px;margin:0 auto;position:relative;z-index:1;padding:1.2rem 2.2rem 1.3rem;border-radius:10px;background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 45px rgba(15,23,42,.08);overflow:hidden}.welcome-content:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lens-primary),var(--lens-secondary),var(--lens-accent));opacity:.95;border-radius:10px 10px 0 0}.welcome-section h1{font-size:1.5rem;font-weight:650;margin-bottom:.8rem;letter-spacing:-.025em;line-height:1.15;color:#1e293b}.welcome-section p{font-size:.98rem;opacity:.9;margin-bottom:1.1rem;font-weight:300;color:#4b5563}.homepage-search{margin-top:.85rem;width:100%;display:flex;justify-content:center}.homepage-search-input{width:100%;max-width:720px;border-radius:10px;border:1px solid rgba(209,213,219,.9);padding:.6rem 1.2rem;font-size:.9rem;outline:none;background:#ffffff;box-shadow:0 3px 9px rgba(15,23,42,.05)}.homepage-search-input::placeholder{color:#9ca3af}.homepage-search-input:focus{border-color:var(--lens-primary);box-shadow:0 0 0 1px rgba(37,99,235,.18),0 6px 16px rgba(37,99,235,.22)}.welcome-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.welcome-btn{background:white;border:1px solid rgba(226,232,240,.9);color:#0f172a;padding:1.1rem 1.2rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.02em;text-transform:none;transition:background-color .16s ease,box-shadow .16s ease,transform .12s ease,border-color .16s ease;box-shadow:0 6px 14px rgba(15,23,42,.08);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;text-align:center;white-space:nowrap;cursor:pointer}.welcome-btn:hover{background:color-mix(in srgb,var(--lens-primary) 8%,white);border-color:var(--lens-primary);color:#111827;transform:translateY(-2px);box-shadow:0 10px 22px color-mix(in srgb,var(--lens-primary) 20%,transparent)}.welcome-btn i{margin:0 0 .1rem;color:var(--lens-primary);font-size:1.05rem}.welcome-btn-label{padding:.2rem .6rem 0;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.01em}.welcome-btn-primary{border:none;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s}.welcome-btn-primary,.welcome-btn-primary:hover{background:linear-gradient(135deg,var(--lens-primary) 0,var(--lens-dark) 100%);color:#ffffff}.welcome-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.welcome-btn-primary i{color:#ffffff}.dashboard-section{padding:2rem;max-width:1400px;margin:0 auto;box-sizing:border-box}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,200px));grid-gap:1rem;gap:1rem;margin:0 auto 1.75rem;justify-content:center}.stat-card{background:white;border-radius:10px;padding:1.25rem;box-shadow:0 3px 5px rgba(15,23,42,.06);border:1px solid rgba(226,232,240,.8);transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lens-primary),var(--lens-secondary))}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(15,23,42,.12)}.stat-number{font-size:2.1rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;letter-spacing:-.025em}.stat-label{font-size:.8rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-label .saved-queries-toggle{display:flex;margin-top:.5rem;margin-left:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:2rem;gap:2rem}.feature-card{background:radial-gradient(circle at top left,#ffffff,#f8fafc);border-radius:18px;padding:2.25rem 2rem;display:flex}.chart-picker-grid{display:flex;flex-direction:column;gap:1.5rem}.chart-picker-section-title{font-size:.95rem;font-weight:600;color:#0f172a;margin-bottom:.75rem}.chart-picker-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem}.chart-picker-tile{border:1px solid rgba(226,232,240,.9);border-radius:10px;background:#ffffff;padding:.6rem .7rem;text-align:left;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:box-shadow .16s ease,transform .12s ease,border-color .16s ease,background-color .16s ease;min-height:150px}.chart-picker-tile:hover{border-color:var(--lens-primary);box-shadow:0 10px 22px rgba(37,99,235,.18);transform:translateY(-2px);background:#f9fafb}.chart-picker-preview{height:90px;border-radius:8px;background:linear-gradient(135deg,#eff6ff,#dbeafe);position:relative;overflow:hidden}.chart-picker-thumb{width:100%;height:100%;object-fit:cover;display:block}.chart-picker-preview:before{content:"";position:absolute;inset:8px 10px 10px 10px;border-radius:6px;background-image:linear-gradient(90deg,rgba(148,163,184,.18) 1px,transparent 0),linear-gradient(0deg,rgba(148,163,184,.18) 1px,transparent 0);background-size:16px 100%,100% 16px}.chart-picker-meta{display:flex;flex-direction:column;gap:.15rem}.chart-picker-name{font-size:.9rem;font-weight:600;color:#111827}.chart-picker-description{font-size:.8rem;color:#6b7280}.chart-builder-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,2.15fr);grid-gap:1.25rem;gap:1.25rem;align-items:stretch;height:calc(100vh - 150px);min-width:1100px;padding-bottom:20px}.chart-builder-layout-source-collapsed{grid-template-columns:1px minmax(0,360px) minmax(0,1fr);column-gap:1.25rem}.chart-builder-center,.chart-builder-left,.chart-builder-right{display:flex;flex-direction:column;min-height:0}.chart-builder-left-header{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.chart-builder-left-scroll{flex:1 1;min-height:0;padding-right:.2rem;display:flex;flex-direction:column;gap:.6rem}.chart-builder-left-collapsed{align-items:stretch}.chart-builder-panel-title-vertical{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;margin-bottom:0}.chart-builder-left-header-collapsed{flex-direction:column;align-items:center;gap:.35rem;margin-left:6px}.chart-builder-panel-title-text-collapsed{font-size:.72rem}.chart-builder-collapse-btn{border:none;background:transparent;border-radius:999px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transform:translateY(-2px)}.chart-builder-collapse-arrow{padding-bottom:1.5rem;font-size:.8rem}.chart-builder-right{border-left:1px solid var(--border);padding-left:1.5rem}.chart-builder-right-split{display:flex;flex-direction:column;gap:.75rem;flex:1 1;min-height:0}.chart-builder-right-preview{flex:0.65 1;min-height:0;display:flex}.chart-builder-right-sql{flex:0.35 1;min-height:0;display:flex}.chart-builder-center{display:flex;flex-direction:column;min-height:0;position:relative;z-index:20}.chart-builder-center-scroll{flex:1 1;min-height:0;overflow-y:auto;padding-right:.1rem;display:flex;flex-direction:column}.chart-builder-center-scroll::-webkit-scrollbar{width:0;height:0}.chart-builder-center-scroll{scrollbar-width:none}.chart-builder-center-actions{margin-top:.75rem;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.chart-builder-center-actions-row{display:flex;gap:.5rem}.chart-builder-error{font-size:.8rem;color:#b91c1c}.chart-builder-panel-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.chart-builder-panel-title-text{display:inline-flex;align-items:center;gap:.4rem}.chart-builder-tabs{margin-top:.25rem;display:flex;flex-direction:column;flex:1 1}.chart-builder-tabs-header{display:inline-flex;border-bottom:1px solid var(--border);margin-bottom:.4rem}.chart-builder-tab{background:transparent;padding:.3rem .75rem .4rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;border:none;border-bottom:2px solid transparent}.chart-builder-tab-active{color:var(--text-primary);border-bottom-color:var(--lens-primary)}.chart-builder-tabs-body{display:flex;flex-direction:column;gap:.85rem;flex:1 1}.chart-builder-panel-title-text-label{white-space:nowrap}.chart-builder-left:not(.chart-builder-left-collapsed) .chart-builder-panel-title-text-label{display:inline-block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.3rem 0 .4rem;border-bottom:2px solid #0078d4;color:var(--text-primary)}.chart-builder-panel-icon{font-size:.95rem}.chart-builder-field-group{margin-bottom:.75rem}.chart-builder-label{display:flex;align-items:center;gap:.3rem;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:5px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.chart-builder-label-icon-wrap{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e0edff;color:var(--lens-primary);font-size:.75rem}.chart-builder-input,.chart-builder-select{width:100%;border-radius:7px;border:1.5px solid var(--border);padding:6px 10px;font-size:12.5px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background-color:var(--bg-surface);transition:border-color .15s ease,box-shadow .15s ease;line-height:1.5}.chart-builder-input-clickable{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background-color:var(--bg-surface);-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-builder-input-clickable:hover{border-color:var(--border)}.chart-builder-input-clickable-icon{width:18px;height:18px;border-radius:4px;border:1px solid var(--border);background:var(--bg-elevated);position:relative;flex:0 0 auto}.chart-builder-input-clickable-icon:before{content:"";position:absolute;left:3px;right:3px;top:4px;bottom:3px;border-radius:3px;border-top-width:1px;border:1px solid var(--border);border-top:0 solid var(--border);background:var(--bg-surface)}.chart-builder-input-clickable-icon:after{content:"";position:absolute;left:3px;right:3px;top:3px;height:3px;border-radius:3px 3px 0 0;background:var(--bg-hover)}.chart-timerange-field{position:relative}.chart-timerange-popover{position:absolute;top:100%;left:0;margin-top:.5rem;min-width:260px;background:var(--bg-surface);border-radius:12px;border:1px solid var(--border);box-shadow:0 18px 40px rgba(15,23,42,.18);padding:.75rem .85rem .7rem;z-index:80}.chart-timerange-popover-header{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.chart-timerange-popover-actions{margin-top:.4rem;display:flex;justify-content:flex-end;gap:.4rem}.chart-builder-input-with-button{display:flex;align-items:center;gap:.35rem}.chart-builder-input-inline-btn{flex:0 0 auto;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);padding:.4rem .6rem;font-size:.8rem;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chart-builder-input-inline-btn:hover{background:#e5e7ff;color:var(--text-primary);border-color:var(--border)}.chart-builder-select{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% - 1px),calc(100% - 8px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.chart-builder-input:focus,.chart-builder-select:focus{outline:none;border-color:var(--lens-primary);box-shadow:0 0 0 3px rgba(0,120,212,.12)}.chart-builder-input:hover,.chart-builder-select:hover{border-color:var(--border)}.chart-builder-textarea{width:100%;border-radius:7px;border:1.5px solid var(--border);padding:6px 10px;font-size:12.5px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background:var(--bg-surface);min-height:72px;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.chart-builder-textarea:focus{outline:none;border-color:var(--lens-primary);box-shadow:0 0 0 3px rgba(0,120,212,.12)}.chart-builder-textarea:hover{border-color:var(--border)}.chart-builder-preview-card{background:var(--bg-surface);padding:0;color:var(--text-primary);display:flex;flex-direction:column;gap:0;min-height:0;flex:1 1;border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.chart-builder-preview-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted);position:relative;padding:12px 16px;background:transparent;border-bottom:none}.chart-builder-preview-title{font-weight:500;color:var(--text-primary)}.chart-builder-preview-meta{display:inline-flex;align-items:center;gap:.5rem}.chart-preview-runtime-pill{font-size:.78rem}.chart-info-icon-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.chart-info-icon{font-size:16px;color:#60a5fa;cursor:help;transition:all .2s ease;padding:4px;border-radius:50%}.chart-info-icon:hover{color:var(--lens-primary);background:rgba(59,130,246,.1);transform:scale(1.1)}.chart-info-tooltip{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;max-width:320px;padding:10px 12px;background:#1e293b;color:#f1f5f9;border-radius:8px;font-size:13px;line-height:1.5;box-shadow:0 10px 25px rgba(0,0,0,.3);z-index:1000;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;pointer-events:none;white-space:normal;word-wrap:break-word}.chart-info-tooltip:before{content:"";position:absolute;top:-6px;right:12px;width:12px;height:12px;background:#1e293b;transform:rotate(45deg)}.chart-info-icon-container:hover .chart-info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.chart-source-panel{padding:.75rem .75rem .85rem;gap:.6rem}.chart-config-panel-card,.chart-source-panel{border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);font-size:.85rem;display:flex;flex-direction:column;box-shadow:0 10px 24px rgba(15,23,42,.06);flex:1 1;min-height:0}.chart-config-panel-card{padding:.85rem .9rem .95rem;gap:.75rem}.chart-source-search{margin-bottom:.1rem}.chart-source-search-input{width:100%;border-radius:8px;border:1px solid var(--border);padding:.35rem .6rem;font-size:.82rem}.chart-source-search-input:focus{outline:none;border-color:var(--lens-primary);box-shadow:0 0 0 1px rgba(37,99,235,.25)}.chart-source-section{display:flex;flex-direction:column;gap:.25rem}.chart-source-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.15rem 0;border-radius:6px;background:transparent;border:none;cursor:pointer}.chart-source-section-header:focus-visible{outline:2px solid #0078D4;outline-offset:1px}.chart-source-section-header-left{display:inline-flex;align-items:center;gap:.25rem}.chart-source-section-arrow{font-size:.8rem;color:var(--text-muted);transform:rotate(-90deg);transition:transform .12s ease-out}.chart-source-section-arrow-open{transform:rotate(0deg)}.chart-source-section-title{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.chart-source-count{font-size:.75rem;color:var(--text-muted)}.chart-source-list{overflow-y:auto;padding-right:.1rem}.chart-source-item{padding:.32rem .35rem;border-radius:6px;display:flex;align-items:center;gap:.4rem;justify-content:flex-start}.chart-source-item:hover{background:color-mix(in srgb,var(--lens-primary) 8%,white)}.chart-source-item-icon{flex:0 0 auto;width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;letter-spacing:.03em}.chart-source-item-icon-metric{background:color-mix(in srgb,var(--lens-primary) 10%,white);color:var(--lens-primary)}.chart-source-item-icon-metric-column{background:#e0f2fe;color:#0369a1}.chart-source-item-icon-time{background:#fef3c7;color:#92400e}.chart-source-item-icon-dimension{background:#ecfdf3;color:#166534}.chart-source-item-main{display:flex;flex-direction:column}.chart-source-item-label{font-size:.82rem;color:var(--text-primary)}.chart-source-item-meta{font-size:.72rem;color:var(--text-muted)}.chart-source-item-handle{margin-left:auto;font-size:.6rem;color:var(--text-muted)}.chart-source-empty,.chart-source-item:hover .chart-source-item-handle{color:var(--text-muted)}.chart-source-empty{font-size:.78rem;padding:.2rem .25rem}.chart-builder-preview-inner{flex:1 1;min-height:220px;display:flex;align-items:center;justify-content:center;margin:0;padding:8px 16px 20px;font-size:1.75rem;color:var(--text-primary);border-radius:0;overflow:hidden;background:var(--bg-surface)}.chart-builder-preview-inner-empty{position:relative;background:var(--bg-surface)}.chart-builder-preview-inner-empty:before{display:none}.chart-preview-empty-state{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.4rem;width:100%;height:100%;max-height:100%;overflow:hidden;padding:8px;box-sizing:border-box}.chart-preview-empty-icon{width:62px;height:40px;display:flex;align-items:flex-end;justify-content:space-between;opacity:.6}.chart-preview-empty-icon span{flex:1 1;margin:0 3px;border-radius:4px 4px 0 0;background:var(--bg-hover)}.chart-preview-empty-icon span:first-child{height:40%}.chart-preview-empty-icon span:nth-child(2){height:55%}.chart-preview-empty-icon span:nth-child(3){height:72%}.chart-preview-empty-icon span:nth-child(4){height:88%}.chart-preview-empty-title{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.chart-preview-empty-subtitle{font-size:.78rem;color:var(--text-muted)}.chart-preview-loading-state{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(.5rem,4cqmin,1.5rem);flex:1 1;align-self:stretch;width:100%;height:100%;container-type:size;overflow:hidden;box-sizing:border-box;padding:clamp(4px,3cqmin,16px)}.chart-loading-animation{display:flex;flex-direction:column;align-items:center;gap:clamp(.5rem,5cqmin,2rem)}.chart-loading-bars{display:flex;align-items:flex-end;justify-content:center;gap:clamp(3px,1.6cqmin,8px);height:clamp(24px,22cqmin,80px)}.chart-loading-bar{width:clamp(4px,2.4cqmin,12px);background:linear-gradient(180deg,var(--lens-primary) 0,var(--lens-primary-hover) 100%);border-radius:4px;height:100%;transform-origin:bottom;animation:chartBarBounce 1.2s ease-in-out infinite}@keyframes chartBarBounce{0%,to{transform:scaleY(.28);opacity:.4}50%{transform:scaleY(.85);opacity:1}}.chart-loading-spinner{width:clamp(16px,12cqmin,40px);height:clamp(16px,12cqmin,40px);border:clamp(2px,.8cqmin,3px) solid var(--bg-hover);border-top-color:var(--lens-primary);border-radius:50%;animation:chartSpinnerRotate 1s linear infinite}@keyframes chartSpinnerRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chart-loading-text{font-size:clamp(.7rem,4cqmin,1rem);font-weight:500;color:var(--text-muted);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;animation:chartTextFade 1.5s ease-in-out infinite}@container (max-height: 110px){.chart-loading-text,.chart-preview-loading-state>button{display:none}}@container (max-width: 130px){.chart-loading-text,.chart-preview-loading-state>button{display:none}}@keyframes chartTextFade{0%,to{opacity:.5}50%{opacity:1}}.chart-preview-placeholder-icon{margin-bottom:.5rem;opacity:.6;max-height:45%;width:auto;flex-shrink:1;min-height:0}.chart-filter-card{margin-top:.15rem;border-radius:10px;border:1px solid var(--border);padding:.55rem .65rem .7rem;background:var(--bg-elevated);display:flex;flex-direction:column;gap:.5rem;position:relative}.chart-filter-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.chart-filter-header-actions{display:inline-flex;gap:.3rem}.chart-filter-add-btn{border-radius:999px;border:1px solid color-mix(in srgb,var(--lens-primary) 50%,white);background:color-mix(in srgb,var(--lens-primary) 10%,white);color:var(--lens-dark);font-size:.72rem;font-weight:600;padding:.18rem .7rem;cursor:pointer}.chart-filter-add-btn-primary-left{margin-right:auto}.chart-filter-add-btn-right{margin-left:auto}.chart-filter-add-btn:hover:not(:disabled){background:color-mix(in srgb,var(--lens-primary) 15%,white)}.chart-filter-add-btn-secondary{border-color:var(--border);color:var(--text-muted)}.chart-filter-add-btn-secondary:disabled{opacity:.6;cursor:default}.chart-filter-body{display:flex;flex-direction:column;gap:.4rem}.chart-filter-logic-row{margin-bottom:.15rem}.chart-filter-logic-pill{border-radius:999px;border:1px solid var(--border);background:var(--bg-surface);font-size:.7rem;font-weight:600;padding:.1rem .65rem;color:var(--text-secondary)}.chart-filter-list{display:flex;flex-direction:column;gap:.25rem}.chart-filter-list-item{border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);padding:.15rem .25rem}.chart-filter-list-main{display:flex;align-items:center;gap:.25rem}.chart-filter-chip-remove{border:none;background:transparent;cursor:pointer;font-size:.9rem;line-height:1;color:var(--text-muted)}.chart-filter-chip-remove:hover{color:var(--text-secondary)}.chart-filter-chip{flex:1 1;border-radius:6px;border:none;background:var(--bg-elevated);display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;cursor:pointer;font-size:.8rem}.chart-filter-chip:hover{background:var(--bg-hover)}.chart-filter-chip-label{color:var(--text-primary)}.chart-filter-chip-arrow{font-size:.78rem;color:var(--text-muted)}.chart-filter-chip-active-indicator{height:2px;margin:.25rem .25rem 0;border-radius:999px;background:linear-gradient(90deg,var(--lens-primary),#6366f1)}main.main-wide{max-width:100%;margin:0;padding:1.5rem 2rem;min-height:calc(100vh - 64px)}.chart-filter-detail-row{margin-top:.35rem;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) minmax(0,2fr);grid-gap:6px;gap:6px}.chart-filter-popover{position:absolute;top:100%;left:0;margin-top:.5rem;min-width:320px;background:var(--bg-surface);border-radius:12px;border:1px solid var(--border);box-shadow:0 18px 40px rgba(15,23,42,.18);padding:.75rem .85rem .7rem;z-index:80}.chart-filter-value-field{position:relative}.chart-filter-spinner{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:999px;border:2px solid var(--bg-hover);border-top-color:var(--lens-primary);animation:chart-filter-spin .7s linear infinite}@keyframes chart-filter-spin{0%{transform:translateY(-50%) rotate(0deg)}to{transform:translateY(-50%) rotate(1turn)}}.chart-filter-popover-header{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.45rem}.chart-filter-popover-actions{margin-top:.5rem;display:flex;justify-content:flex-end;gap:.4rem}.chart-save-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:40}.chart-save-modal{width:100%;max-width:440px;background:var(--bg-surface);border-radius:14px;border:1px solid var(--border);box-shadow:0 22px 60px rgba(15,23,42,.28);padding:1.1rem 1.25rem 1rem}.chart-save-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.chart-save-modal-btn{min-width:90px;padding:.4rem .9rem;font-size:.8rem;border-radius:8px;border:1px solid transparent;cursor:pointer;font-weight:600}.chart-save-modal-btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}.chart-save-modal-btn-secondary:hover{background:#e5e7ff}.chart-save-modal-btn-primary{background:linear-gradient(135deg,var(--lens-primary) 0,var(--lens-dark) 100%);color:#ffffff;border:none;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s}.chart-save-modal-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.chart-save-modal-btn-primary:disabled{background:var(--bg-hover);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.feature-card:first-child .feature-icon{background:linear-gradient(135deg,var(--lens-primary),var(--lens-primary-hover));color:#ffffff;border-color:rgba(59,130,246,.5)}.feature-card:nth-child(2) .feature-icon{background:linear-gradient(135deg,#059669,#047857);color:#ffffff;border-color:rgba(5,150,105,.5)}.feature-card:nth-child(3) .feature-icon{background:linear-gradient(135deg,#ea580c,#dc2626);color:#ffffff;border-color:rgba(234,88,12,.5)}.feature-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.75rem;letter-spacing:-.025em}.feature-description{color:#64748b;line-height:1.6;margin-bottom:2rem;font-size:.95rem}.saved-queries-container{margin-bottom:1.25rem;padding-top:.5rem;border-top:1px solid rgba(148,163,184,.18)}.saved-queries-list{display:flex;flex-direction:column;gap:.55rem;align-items:stretch;margin-bottom:.75rem}.saved-query-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;background:#ffffff;border:1px solid rgba(226,232,240,.9);border-radius:14px;padding:.6rem .9rem;color:#0f172a;font-weight:500;cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .18s ease,border-color .18s ease;min-width:0}.saved-query-chip:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.12);border-color:#bfdbfe}.saved-query-chip-header{display:inline-flex;align-items:center;gap:.55rem;width:100%}.saved-query-chip-icon{color:#f97316;display:inline-flex;align-items:center;justify-content:center}.saved-query-chip-text{white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.saved-query-chip-open{color:var(--lens-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;margin-left:auto}.saved-query-chip-preview{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#475569;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:1.6rem}.empty-state-text{color:#64748b;font-size:.95rem;margin-bottom:1rem;font-style:italic}.feature-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.75rem;align-items:center}.main-content{height:100vh;box-sizing:border-box;flex:1 1;padding:.35rem .4rem;min-height:0}.main-content,.sidebar{display:flex;overflow:hidden}.sidebar{background:var(--bg-surface);border-right:none;flex-direction:column;box-shadow:0 1px 3px rgba(15,23,42,.08);border-radius:10px;border:1px solid var(--border);flex-shrink:0;align-self:stretch}.sidebar-header{padding:1.5rem 1.25rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--bg-surface) 0,var(--bg-elevated) 100%);box-shadow:0 1px 3px rgba(0,0,0,.06)}.connection-status{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.connection-status .fa-circle{font-size:.5rem}.connection-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-connected{color:#22c55e;text-shadow:0 0 0 1px rgba(16,185,129,.6)}.status-disconnected{color:var(--text-muted)}.sidebar-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.6rem;display:flex;align-items:center;letter-spacing:-.025em}.sidebar-header h3 i{color:var(--lens-primary,#3b82f6);margin-right:.75rem;font-size:1.2rem}.sidebar-header-main-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sidebar-sync-btn{border:none;background:color-mix(in srgb,var(--lens-primary) 10%,white);color:var(--lens-dark);border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(15,23,42,.1);transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.sidebar-sync-btn:hover:not(:disabled){background:color-mix(in srgb,var(--lens-primary,#0078D4) 15%,white);transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--lens-primary,#0078D4) 25%,transparent)}.sidebar-sync-btn:disabled{opacity:.6;cursor:default;box-shadow:none}.table-stats{font-size:.85rem;color:var(--lens-dark,#6c757d);background:color-mix(in srgb,var(--lens-primary,#0078D4) 8%,transparent);padding:.3rem .8rem;border-radius:12px;font-weight:500;display:inline-block}.database-selector{padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.database-selector h4{margin-bottom:.8rem;color:var(--text-primary);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.dropdown-container{position:relative;width:100%}.dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:2px solid var(--border);border-radius:8px;background:var(--bg-surface);cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.dropdown-toggle:hover{border-color:var(--lens-primary,#0078D4)}.dropdown-arrow{transition:transform .3s ease;font-size:.8rem;margin-left:.5rem}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:2px solid var(--lens-primary,#0078d4);border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;max-height:300px;overflow:auto}.dropdown-item{width:100%;border:none;border-radius:0;margin:0;border-bottom:1px solid var(--border)}.dropdown-item:last-child{border-bottom:none;border-radius:0 0 6px 6px}.database-btn{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem;background:var(--bg-surface);cursor:pointer;text-align:left;transition:background .2s ease}.database-btn:hover{background:color-mix(in srgb,var(--lens-primary,#0078D4) 6%,transparent)}.database-btn span{font-weight:600;font-size:.9rem;margin-bottom:.25rem}.database-btn small{font-size:.75rem;opacity:.8}.sidebar-controls{padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-elevated);display:flex;flex-direction:column;gap:.625rem}.sidebar-db-wrap{position:relative;display:flex;align-items:center}.sidebar-db-icon{position:absolute;left:.75rem;color:var(--lens-primary,#0078D4);font-size:.8rem;pointer-events:none;z-index:1}.sidebar-db-select{width:100%;padding:.5rem 2rem .5rem 2.125rem;border:1.5px solid var(--border);border-radius:8px;font-size:.82rem;font-weight:500;color:var(--text-primary);background-color:var(--bg-surface);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 7px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px rgba(15,23,42,.05)}.sidebar-db-select:focus{outline:none;border-color:var(--lens-primary,#0078D4);box-shadow:0 0 0 2px color-mix(in srgb,var(--lens-primary,#0078D4) 15%,transparent)}.sidebar-db-select:hover{border-color:var(--border)}.sidebar-db-select:disabled{opacity:.55;cursor:default}.sidebar-search-wrap{position:relative;display:flex;align-items:center}.sidebar-search-icon{position:absolute;left:.75rem;color:var(--text-muted);font-size:.8rem;pointer-events:none}.sidebar-search-input{width:100%;padding:.5rem .75rem .5rem 2.125rem;border:1.5px solid var(--border);border-radius:8px;font-size:.82rem;background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px rgba(15,23,42,.05)}.sidebar-search-input::placeholder{color:var(--text-muted);font-weight:400}.sidebar-search-input:focus{outline:none;border-color:var(--lens-primary,#0078D4);box-shadow:0 0 0 2px color-mix(in srgb,var(--lens-primary,#0078D4) 15%,transparent)}.sidebar-search-input:hover{border-color:var(--border)}.sidebar-search-input:disabled{opacity:.55;cursor:default}.search-container{display:none}.search-input{width:100%;padding:.75rem 3rem .75rem 1rem;border:2px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--bg-surface);transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--lens-primary,#0078D4);box-shadow:0 0 0 1px color-mix(in srgb,var(--lens-primary,#0078D4) 25%,transparent)}.search-input:hover{border-color:var(--border)}.search-icon{position:absolute;right:2rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;pointer-events:none}.tables-list{flex:1 1;overflow-y:auto;padding:.5rem 0}.loading-tables{justify-content:center;flex-direction:column;padding:2rem;color:var(--text-muted);gap:1rem}.loading-tables,.schema-header{display:flex;align-items:center}.schema-header{justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s ease}.schema-header:hover{background:color-mix(in srgb,var(--lens-primary,#0078D4) 5%,transparent)}.schema-name{font-weight:700}.schema-icon,.schema-name{color:var(--lens-dark,#1f3b7a)}.schema-icon{margin-right:.4rem;font-size:.85rem}.schema-count{font-size:.75rem;color:var(--text-muted)}.schema-toggle-icon{margin-left:.5rem}.schema-tables{padding:.25rem 0 .25rem .75rem}.schema-table-wrapper{border-bottom:1px solid var(--border)}.table-item{padding:.6rem 1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.table-item:hover{background:color-mix(in srgb,var(--lens-primary,#0078D4) 6%,transparent)}.table-item.selected{background:color-mix(in srgb,var(--lens-primary) 12%,white);border-left:3px solid var(--lens-primary)}.table-icon{color:var(--lens-primary,#3b82f6);font-size:.8rem;width:14px;text-align:center}.table-info{flex:1 1;min-width:0}.column-toggle-icon{color:var(--text-muted);font-size:.75rem}.table-name-row{display:flex;align-items:center;gap:8px}.table-name{font-weight:500;color:var(--lens-primary,#0078D4);font-size:.85rem;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-schema-pill{padding:2px 8px;border-radius:999px;background:var(--lens-accent,#eef3fb);color:var(--lens-dark,#2b4c8f);font-size:11px;font-weight:600;border:1px solid color-mix(in srgb,var(--lens-primary,#0078d4) 30%,transparent);white-space:nowrap}.column-list{padding:.25rem 1.5rem .75rem 1.9rem;background:var(--bg-elevated)}.column-item{display:flex;justify-content:space-between;font-size:.78rem;padding:2px 0;color:var(--text-secondary)}.column-name{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.column-type{color:var(--text-muted)}.column-empty,.column-loading{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem}.content-area{flex:1 1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.query-section{flex:none;height:46vh;max-height:46vh;background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;padding:0 0 .5rem;border-radius:10px;border:1px solid var(--border);box-shadow:0 1px 3px rgba(15,23,42,.08);margin:0 .25rem .25rem;overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.query-actions{display:flex;gap:.5rem}.execute-btn,.save-btn{border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.execute-btn{background:linear-gradient(135deg,#28a745,#20c997);color:white}.save-btn{background:linear-gradient(135deg,var(--lens-primary),var(--lens-primary-hover));color:white}.format-btn{border:none;padding:.35rem .8rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#6f42c1,#9b59b6);color:white;display:inline-flex;align-items:center;gap:.35rem}.query-tabs{display:flex;background:var(--bg-elevated);border-bottom:1px solid var(--border);padding:0 .5rem;overflow-x:auto;min-height:40px}.tab{display:flex;align-items:center;padding:.5rem 1rem;margin-right:.25rem;background:var(--bg-hover);border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;min-width:120px;max-width:200px}.tab.active{background:var(--bg-surface);border-color:var(--lens-primary);color:var(--lens-primary)}.tab.new-tab{background:transparent;border-style:dashed;border-color:var(--border);color:var(--text-muted);min-width:auto}.tab.new-tab:hover{background:#e9f2fb;border-color:var(--lens-primary);color:var(--lens-primary)}.tab-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-close{margin-left:.5rem;font-size:.85rem;cursor:pointer;color:var(--text-muted)}.tab-close:hover{color:#b91c1c}.query-editor-container{flex:1 1;padding:.75rem 1.25rem .5rem;min-height:0;overflow:auto}.query-editor{width:100%;height:100%;border:1px solid var(--border);border-radius:12px;padding:1rem;font-family:Consolas,Monaco,monospace;font-size:.9rem;resize:none;line-height:1.5}.query-templates{padding:0 1.25rem .75rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.template-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:.25rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.template-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.template-btn i{color:inherit}.results-section{flex:1 1;min-height:120px;background:var(--bg-surface);display:flex;flex-direction:column;overflow:hidden;margin:0 .25rem;border-radius:10px;border:1px solid var(--border);box-shadow:0 1px 3px rgba(15,23,42,.08)}.results-section--fullscreen{position:fixed!important;inset:0!important;margin:0!important;border-radius:0!important;z-index:500;height:100vh!important}.results-section .section-header{background:var(--bg-elevated);border-bottom-color:var(--border)}.results-section .section-header h3{font-size:.9rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.results-actions{display:flex;align-items:center;gap:1rem}.result-stats{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.results-container{flex:1 1;overflow:hidden;position:relative}.results-container .empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.75rem;color:var(--text-muted);padding:0 2rem}.results-table-container{height:98%;max-width:100%;overflow-x:auto;overflow-y:auto;padding:0 1.25rem .75rem;background:transparent;border-radius:0;border:none;box-shadow:none}.dataset-preview-container{margin-top:.5rem;max-width:100%;max-height:60vh;overflow-x:auto;overflow-y:auto;padding:.75rem 1.25rem}.dataset-detail-grid{margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));grid-gap:1.25rem;gap:1.25rem;align-items:flex-start;width:100%}.dataset-detail-card{padding:18px 20px;overflow:hidden}.dataset-detail-card-dimensions{grid-column:1/-1}@media (max-width:768px){.dataset-detail-grid{grid-template-columns:1fr}.dataset-detail-card-dimensions{grid-column:1}}.dataset-join-cell{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataset-table{width:100%;table-layout:auto}.dataset-table td,.dataset-table th{padding:.55rem .75rem}.dataset-dimensions-scroll{max-width:100%;overflow-x:auto;padding-bottom:.5rem}.dataset-metrics-table td,.dataset-metrics-table th{padding-left:8px;padding-right:8px}.results-table{width:100%;border-collapse:collapse;font-size:.9rem}.results-table--columns-hidden{width:auto}.results-table-container::-webkit-scrollbar{height:8px;width:8px}.results-table-container::-webkit-scrollbar-track{background:transparent}.results-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.results-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.monaco-scrollable-element::-webkit-scrollbar{height:8px;width:8px}.monaco-scrollable-element::-webkit-scrollbar-track{background:transparent}.monaco-scrollable-element::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.monaco-scrollable-element::-webkit-scrollbar-thumb:hover{background:#94a3b8}.monaco-editor .scrollbar.vertical{width:8px!important}.monaco-editor .scrollbar.horizontal{height:8px!important}.monaco-editor .scrollbar{background:transparent!important}.monaco-editor .scrollbar .slider{background:#cbd5e1!important;border-radius:999px!important}.monaco-editor .scrollbar .slider:hover{background:#94a3b8!important}.results-table thead{z-index:2}.results-table th,.results-table thead{position:-webkit-sticky;position:sticky;top:0}.results-table th{background:var(--bg-surface);padding:.75rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border);z-index:40;box-shadow:0 1px 0 rgba(148,163,184,.4);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.results-table th .column-header-label{margin-right:.4rem}.results-table th .column-sort-icon{font-size:.7rem;color:var(--text-muted)}.results-table th.sorted .column-sort-icon{color:var(--lens-primary)}.results-table th:hover{background:var(--bg-hover)}.results-table th .column-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize}.results-table th .column-resizer:hover{background:rgba(148,163,184,.35)}.results-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.results-table tbody tr:nth-child(odd){background:var(--bg-elevated)}.results-table tbody tr:hover{background:var(--bg-hover)}.results-table td.numeric-cell{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;text-transform:lowercase}.status-dot{width:.4rem;height:.4rem;border-radius:999px}.status-pill-success{background:#ecfdf3;color:#166534}.status-pill-success .status-dot{background:#16a34a}.status-pill-error{background:#fef2f2;color:#b91c1c}.status-pill-error .status-dot{background:#ef4444}.status-pill-default{background:color-mix(in srgb,var(--lens-primary) 10%,white);color:var(--lens-dark)}.status-pill-default .status-dot{background:var(--lens-primary)}.results-table td.sql-snippet-cell{vertical-align:top;font-family:SF Mono,Consolas,Menlo,monospace;font-size:.78rem}.sql-snippet{margin:0;padding:.5rem .75rem;background:var(--bg-elevated);color:var(--text-secondary);border-radius:8px;border:1px solid var(--border);max-height:none;overflow:visible;white-space:pre-wrap}.sql-snippet-clickable{cursor:pointer}.sql-snippet-clickable:hover{border-color:var(--border);background:var(--bg-hover)}.query-preview-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);display:flex;align-items:center;justify-content:center;z-index:2100}.query-preview-modal{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border);width:720px;max-width:100%;max-height:80vh;box-shadow:0 20px 60px rgba(15,23,42,.25);display:flex;flex-direction:column}.query-preview-header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.query-preview-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.query-preview-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:4px}.query-preview-close:hover{color:var(--text-secondary)}.query-preview-body{padding:12px 12px 8px}.query-preview-sql{margin:0;padding:.75rem 1rem;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border);font-family:SF Mono,Consolas,Menlo,monospace;font-size:.8rem;white-space:pre-wrap;word-break:break-word;color:var(--text-primary);display:block;width:100%;max-height:50vh;overflow-y:auto;overflow-x:hidden}.query-preview-footer{padding:10px 24px 12px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;border-radius:8px;gap:8px;background:var(--bg-surface)}.query-preview-btn{min-width:90px;padding:7px 16px;font-size:.8rem;border-radius:4px;border:1px solid transparent;cursor:pointer;font-weight:600}.query-preview-btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}.query-preview-btn-secondary:hover{background:var(--bg-hover)}.query-preview-btn-primary{background:linear-gradient(135deg,var(--lens-primary) 0,var(--lens-dark) 100%);color:#ffffff;border:none;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s}.query-preview-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.query-preview-btn-primary:disabled{background:var(--bg-hover);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.results-table td.actions-cell{white-space:nowrap}.row-actions{display:inline-flex;align-items:center;gap:.25rem}.action-icon-btn{border:none;background:transparent;padding:.15rem .35rem;border-radius:999px;font-size:.7rem;line-height:1;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,transform .08s ease}.action-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-.5px)}.results-table tbody tr:hover .action-icon-btn{color:var(--text-muted)}.dashboard-settings-row{display:grid;grid-template-columns:1fr 2fr;grid-gap:1.25rem;gap:1.25rem;align-items:start}.dashboard-settings-field{display:flex;flex-direction:column;gap:.45rem}.dashboard-description-input{width:100%;border-radius:8px;border:1px solid #e5e7eb;padding:.5rem .6rem;font-size:.85rem;font-family:inherit;resize:vertical;min-height:72px;transition:border-color .15s ease}.dashboard-description-input:focus{outline:none;border-color:var(--lens-primary)}.dashboard-description-input::placeholder{color:#9ca3af}@media (max-width:960px){.dashboard-settings-row{grid-template-columns:1fr;gap:1rem}}