*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#111827;scrollbar-width:none}body::-webkit-scrollbar{width:0;height:0}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;transition:grid-template-columns .18s ease;--theme-accent: #2563eb;--theme-accent-strong: #1d4ed8;--theme-accent-soft: #eff6ff;--theme-accent-border: #bfdbfe;--theme-accent-glow: rgba(37, 99, 235, .22);--theme-kpi-start: #eff6ff;--theme-kpi-end: #ffffff;--theme-kpi-sheen: rgba(255, 255, 255, .56);--theme-control-bg: #ffffff;--theme-control-bg-active: #eff6ff;--theme-canvas-bg: #eef4ff;--theme-canvas-grid: rgba(37, 99, 235, .08);--theme-card-bg: #ffffff;--theme-card-border: #d7e2f1;--theme-card-shadow: rgba(15, 23, 42, .11);--theme-steven-bg: #ecfeff;--theme-steven-panel: #f8ffff;--theme-steven-thread: #eefbff}.app-shell.theme-midnight{--theme-accent: #38bdf8;--theme-accent-strong: #0284c7;--theme-accent-soft: #082f49;--theme-accent-border: #0ea5e9;--theme-accent-glow: rgba(56, 189, 248, .24);--theme-kpi-start: #082f49;--theme-kpi-end: #111827;--theme-kpi-sheen: rgba(125, 211, 252, .16)}.app-shell.theme-emerald{--theme-accent: #10b981;--theme-accent-strong: #047857;--theme-accent-soft: #052e2b;--theme-accent-border: #14b8a6;--theme-accent-glow: rgba(16, 185, 129, .24);--theme-kpi-start: #052e2b;--theme-kpi-end: #111827;--theme-kpi-sheen: rgba(94, 234, 212, .16)}.app-shell.theme-royal{--theme-accent: #a78bfa;--theme-accent-strong: #7c3aed;--theme-accent-soft: #2e1065;--theme-accent-border: #8b5cf6;--theme-accent-glow: rgba(167, 139, 250, .26);--theme-kpi-start: #2e1065;--theme-kpi-end: #111827;--theme-kpi-sheen: rgba(216, 180, 254, .16)}.app-shell.theme-cyberpunk{--theme-accent: #ff2bd6;--theme-accent-strong: #22d3ee;--theme-accent-soft: #251034;--theme-accent-border: #f0abfc;--theme-accent-glow: rgba(255, 43, 214, .34);--theme-kpi-start: #1a1030;--theme-kpi-end: #061521;--theme-kpi-sheen: rgba(250, 204, 21, .2)}.app-shell.theme-dark{--theme-accent: #3b82f6;--theme-accent-strong: #60a5fa;--theme-accent-soft: #0b1f3a;--theme-accent-border: #2563eb;--theme-accent-glow: rgba(59, 130, 246, .24);--theme-kpi-start: #0b1f3a;--theme-kpi-end: #111827;--theme-kpi-sheen: rgba(96, 165, 250, .16)}.app-shell:not(.theme-light){--theme-surface: #111827;--theme-surface-2: #0f172a;--theme-surface-3: #0b1120;--theme-text: #f8fafc;--theme-muted: #94a3b8;--theme-line: #273449;--theme-control-bg: #172033;--theme-control-bg-active: color-mix(in srgb, var(--theme-accent-soft) 72%, var(--theme-surface-2));--theme-canvas-bg: color-mix(in srgb, var(--theme-surface) 78%, var(--theme-accent) 22%);--theme-canvas-grid: color-mix(in srgb, var(--theme-accent) 26%, transparent);--theme-card-bg: color-mix(in srgb, var(--theme-surface-3) 78%, #020617 22%);--theme-card-border: color-mix(in srgb, var(--theme-accent) 28%, var(--theme-line));--theme-card-shadow: rgba(0, 0, 0, .42);--theme-steven-bg: color-mix(in srgb, var(--theme-accent-soft) 34%, #020617 66%);--theme-steven-panel: color-mix(in srgb, var(--theme-surface) 82%, var(--theme-accent) 18%);--theme-steven-thread: color-mix(in srgb, var(--theme-surface-2) 84%, var(--theme-accent) 16%)}.app-shell.theme-cyberpunk{--theme-surface: #10091d;--theme-surface-2: #080b1a;--theme-surface-3: #050712;--theme-text: #fff7ed;--theme-muted: #a5b4fc;--theme-line: #3b225c;--theme-control-bg: #130d26;--theme-control-bg-active: color-mix(in srgb, var(--theme-accent-soft) 72%, #020617);--theme-canvas-bg: #180b2a;--theme-canvas-grid: rgba(255, 43, 214, .18);--theme-card-bg: #080b1a;--theme-card-border: rgba(255, 43, 214, .42);--theme-card-shadow: rgba(255, 43, 214, .18);--theme-steven-bg: #061827;--theme-steven-panel: #0b1024;--theme-steven-thread: #080b1a}.app-shell.theme-light{--theme-surface: #ffffff;--theme-surface-2: #f8fafc;--theme-surface-3: #ffffff;--theme-text: #0f172a;--theme-muted: #64748b;--theme-line: #dbe1ea;--theme-control-bg: #ffffff;--theme-control-bg-active: #eff6ff;--theme-canvas-bg: #eef4ff;--theme-canvas-grid: rgba(37, 99, 235, .075);--theme-card-bg: #ffffff;--theme-card-border: #d7e2f1;--theme-card-shadow: rgba(15, 23, 42, .1);--theme-steven-bg: #ecfeff;--theme-steven-panel: #f8ffff;--theme-steven-thread: #f0fbff}.app-shell.sidebar-collapsed{grid-template-columns:64px 1fr}.app-shell.published-mode{grid-template-columns:1fr;min-height:100vh}.app-shell.published-mode .main-content{min-height:100vh;padding:10px;gap:10px;overflow:auto;grid-template-rows:auto minmax(0,1fr) auto;background:var(--theme-canvas-bg)}.app-shell.published-mode .canvas-view-topbar{min-height:0;padding:8px 10px;border:1px solid var(--theme-line);background:var(--theme-surface);align-items:center}.app-shell.published-mode .canvas-view-topbar h2{font-size:clamp(18px,2.2vw,26px);letter-spacing:0}.app-shell.published-mode .canvas-view-topbar p{margin-top:2px;font-size:12px}.app-shell.published-mode .canvas-brand-logo{height:clamp(50px,7vw,86px);max-width:min(520px,42vw)}.app-shell.published-mode .topbar-actions{gap:8px;align-items:center;flex-wrap:nowrap;padding:6px}.app-shell.published-mode .topbar-actions>*{flex:0 0 auto}.app-shell.published-mode .theme-select-label{min-width:150px}@media(max-width:760px){.app-shell.published-mode .canvas-view-topbar{align-items:stretch;display:grid;grid-template-columns:1fr;gap:8px}.app-shell.published-mode .topbar-actions,.app-shell.published-mode .theme-select-label{width:100%}.app-shell.published-mode .topbar-actions{align-items:stretch;flex-wrap:wrap}.canvas-brand-logo,.app-shell.published-mode .canvas-brand-logo{max-width:100%;height:46px}.app-shell.published-mode .canvas-brand-block{min-height:0;flex:0 0 auto}.app-shell.published-mode .canvas-view-topbar{min-height:0}.app-shell.published-mode .theme-select-label{min-width:0}}.sidebar{position:relative;background:#0f172a;color:#fff;padding:24px;display:flex;flex-direction:column;gap:24px;overflow:hidden;transition:padding .18s ease}.sidebar.collapsed{align-items:center;gap:18px;padding:18px 10px}.sidebar-collapse-button{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#ffffff14;color:#e2e8f0;cursor:pointer;font-size:16px;font-weight:950;line-height:1}.sidebar-collapse-button:hover{border-color:#ffffff52;background:#ffffff24}.sidebar.collapsed .sidebar-collapse-button{position:static}.brand-mark.compact{width:40px;height:40px;border-radius:0;font-size:13px}.brand-block{display:flex;gap:14px;align-items:center}.brand-mark{width:48px;height:48px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#fff;display:grid;place-items:center;font-weight:800}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:4px}.brand-block h1{font-size:20px;margin:0}.brand-block p{margin:4px 0 0;color:#cbd5e1;font-size:13px}.nav-list{display:grid;gap:8px}.nav-button{border:0;border-radius:12px;padding:12px 14px;background:transparent;color:#cbd5e1;text-align:left;cursor:pointer}.nav-button.active{background:#2563eb38;color:#fff}.nav-button:disabled{opacity:.45;cursor:not-allowed}.nav-submenu{display:grid;gap:4px;margin:-2px 0 4px 14px;padding-left:10px;border-left:1px solid rgba(255,255,255,.16)}.nav-subbutton{border:0;border-radius:0;background:transparent;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:800;padding:7px 8px;text-align:left}.nav-subbutton.active{background:#ffffff1a;color:#fff}.theme-select-label{display:inline-flex;align-items:center;gap:8px;margin:0;color:#475569;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.theme-select-label select{min-width:130px;height:38px;margin:0;border-color:var(--theme-accent-border);background:#fff;color:#111827;font-size:13px;font-weight:800;letter-spacing:0;text-transform:none}.sidebar-slicer-card{display:grid;gap:12px;margin:0;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0d}.sidebar-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f8fafc;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.sidebar-slicer-card label{color:#e2e8f0;margin-bottom:0}.sidebar-slicer-card select,.sidebar-slicer-card input{min-width:0;border-color:#ffffff2e;background:#111827;color:#f8fafc}.sidebar-slicer-card .compact-dates{grid-template-columns:1fr;gap:8px}.date-input-wrap{position:relative;display:block;min-width:0}.date-input-wrap input{padding-left:36px}.calendar-icon{position:absolute;left:12px;top:50%;z-index:1;width:14px;height:14px;color:#93c5fd;pointer-events:none;transform:translateY(-50%)}.calendar-icon:before{content:"";position:absolute;top:2px;right:1px;bottom:1px;left:1px;border:1.7px solid currentColor;border-radius:3px}.calendar-icon:after{content:"";position:absolute;left:3px;right:3px;top:5px;height:1.7px;background:currentColor;box-shadow:0 -3px 0 -.2px currentColor}.sidebar-slicer-card .secondary-button,.sidebar-slicer-card .ghost-button{box-shadow:none}.api-card{margin-top:auto;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;background:#ffffff0d}.label{font-size:11px;text-transform:uppercase;color:#94a3b8;letter-spacing:.08em}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#dbeafe;margin:8px 0;word-break:break-all}.status{font-size:13px;font-weight:700}.status.good{color:#86efac}.status.bad{color:#fca5a5}.db-connect-button{width:100%;border:0;border-radius:12px;padding:11px 12px;margin:8px 0 10px;background:#22c55e;color:#052e16;font-weight:900;cursor:pointer;box-shadow:0 8px 18px #22c55e38}.db-connect-button:disabled{opacity:.7;cursor:wait}.sidebar-mini{margin-top:8px;font-size:12px;color:#cbd5e1}.main-content{padding:28px;display:grid;gap:22px;scrollbar-width:none}.main-content::-webkit-scrollbar{width:0;height:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.topbar h2{margin:0;font-size:30px;letter-spacing:-.04em}.topbar p{margin:6px 0 0;color:#6b7280}.canvas-brand-block{display:grid;gap:6px;min-width:0;flex:1 1 520px}.canvas-brand-logo{display:block;width:auto;max-width:min(620px,50vw);height:86px;object-fit:contain;object-position:left center}.kryptek-brand-logo{filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}.american-sniper-brand-logo{filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}.primary-button{border:0;background:var(--theme-accent);color:#fff;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer;box-shadow:0 10px 20px var(--theme-accent-glow)}.primary-button:disabled{opacity:.65;cursor:wait}.status-banner{border-radius:14px;padding:12px 14px;background:var(--theme-accent-soft);color:var(--theme-accent-strong);border:1px solid var(--theme-accent-border)}.grid{display:grid;gap:22px}.two-col{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:20px;box-shadow:0 8px 24px #0f172a0a}.panel h3{margin:0 0 16px}.panel h4{margin:18px 0 10px}label{display:grid;gap:7px;font-weight:700;color:#374151;font-size:13px;margin-bottom:14px}select,input{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;background:#fff;color:#111827}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-row.three{grid-template-columns:1fr .55fr .55fr}.column-list{display:grid;max-height:390px;overflow:auto;border:1px solid #f3f4f6;border-radius:14px}.column-row{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #f3f4f6;font-size:13px}.column-row:last-child{border-bottom:0}.column-row code{color:#2563eb}.chart-panel{min-height:620px}.chart-header{display:flex;justify-content:space-between;align-items:start}.chart-header h3{margin-bottom:4px}.chart-header p{margin:0;color:#6b7280}.empty-state{min-height:420px;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:18px;color:#64748b;background:#f8fafc}details{margin-top:18px}pre{white-space:pre-wrap;background:#0f172a;color:#e5e7eb;border-radius:14px;padding:16px;overflow:auto}.app-shell.dark-mode{background:#0b1120;color:#e5e7eb}.app-shell.dark-mode .main-content{background:#0b1120}.app-shell.dark-mode .topbar h2,.app-shell.dark-mode .panel h3,.app-shell.dark-mode .panel h4,.app-shell.dark-mode .dashboard-canvas-header h3,.app-shell.dark-mode .builder-section-title,.app-shell.dark-mode .dashboard-title-line h4,.app-shell.dark-mode .saved-chart-meta strong,.app-shell.dark-mode .dashboard-list-item strong{color:#f8fafc}.app-shell.dark-mode .topbar p,.app-shell.dark-mode .helper-text,.app-shell.dark-mode .chart-header p,.app-shell.dark-mode .saved-chart-meta span,.app-shell.dark-mode .saved-chart-meta small,.app-shell.dark-mode .dashboard-list-item span{color:#94a3b8}.app-shell.dark-mode .panel,.app-shell.dark-mode .dashboard-builder-sidebar,.app-shell.dark-mode .dashboard-inspector-panel,.app-shell.dark-mode .dashboard-canvas-panel,.app-shell.dark-mode .published-canvas-panel,.app-shell.dark-mode .chart-lab-canvas-panel,.app-shell.dark-mode .saved-chart-card,.app-shell.dark-mode .dashboard-list-item{background:#111827;border-color:#273449;box-shadow:none}.app-shell.dark-mode .dashboard-chart-card{border-color:var(--theme-card-border);box-shadow:0 16px 34px var(--theme-card-shadow)}.app-shell.dark-mode .dashboard-chart-card:before{background:var(--theme-card-bg)}.app-shell.dark-mode .builder-panel-section{border-color:#273449}.app-shell.dark-mode .chart-lab-inspector{background:#0f172a;border-color:#273449}.app-shell.dark-mode .chart-lab-stage{border-color:#273449;background:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),#111827}.app-shell.dark-mode select,.app-shell.dark-mode input{background:#0b1120;border-color:#334155;color:#e5e7eb}.app-shell.dark-mode label,.app-shell.dark-mode .theme-select-label{color:#cbd5e1}.app-shell.dark-mode .theme-select-label select{background:#0b1120;border-color:var(--theme-accent-border);color:#f8fafc}.app-shell.dark-mode .secondary-button,.app-shell.dark-mode .ghost-button,.app-shell.dark-mode .saved-chart-actions button,.app-shell.dark-mode .layout-button-row button,.app-shell.dark-mode .layout-button{background:#0f172a;border-color:#334155;color:#e5e7eb}.app-shell.dark-mode .saved-chart-card.selected,.app-shell.dark-mode .dashboard-list-item.selected,.app-shell.dark-mode .layout-button.active,.app-shell.dark-mode .filter-summary span,.app-shell.dark-mode .dashboard-count-pill,.app-shell.dark-mode .status-banner{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:#dbeafe}.app-shell.dark-mode .dashboard-chart-card:hover{border-color:var(--theme-accent);box-shadow:none}.app-shell.dark-mode .dashboard-chart-card.view-only:hover{border-color:#273449;box-shadow:none}.app-shell.dark-mode .dashboard-builder-topbar .topbar-actions,.app-shell.dark-mode .canvas-view-topbar .topbar-actions{background:#111827;border-color:#273449}.app-shell.dark-mode .dashboard-chart-card.selected{border-color:var(--theme-accent);box-shadow:0 0 0 2px var(--theme-accent-glow)}.app-shell.dark-mode .dashboard-canvas-stage.canvas-grid-none{background-image:none}.app-shell.dark-mode .dashboard-canvas-stage.canvas-grid-fine{background-image:linear-gradient(to right,color-mix(in srgb,var(--theme-accent) 14%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--theme-accent) 14%,transparent) 1px,transparent 1px)}.app-shell.dark-mode .dashboard-canvas-stage.canvas-grid-standard{background-image:linear-gradient(to right,color-mix(in srgb,var(--theme-accent) 18%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--theme-accent) 18%,transparent) 1px,transparent 1px)}.app-shell.dark-mode .dashboard-canvas-stage.canvas-grid-large{background-image:linear-gradient(to right,color-mix(in srgb,var(--theme-accent) 22%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--theme-accent) 22%,transparent) 1px,transparent 1px)}.app-shell.dark-mode .dashboard-canvas-stage.canvas-grid-blueprint{background-image:linear-gradient(to right,rgba(56,189,248,.16) 1px,transparent 1px),linear-gradient(to bottom,rgba(56,189,248,.16) 1px,transparent 1px),linear-gradient(to right,rgba(56,189,248,.34) 1px,transparent 1px),linear-gradient(to bottom,rgba(56,189,248,.34) 1px,transparent 1px)}.app-shell.dark-mode .dashboard-tab-strip{border-color:transparent}.app-shell.dark-mode .dashboard-tab,.app-shell.dark-mode .dashboard-add-tab{border-color:#334155;background:#111827;color:#cbd5e1}.app-shell.dark-mode .dashboard-tab strong{color:#f8fafc}.app-shell.dark-mode .dashboard-tab span{color:#94a3b8}.app-shell.dark-mode .dashboard-tab.active{border-color:#334155;border-bottom-color:#111827;background:#111827}.app-shell.dark-mode .dashboard-resize-handle{background:transparent;box-shadow:none}.app-shell.dark-mode .dashboard-resize-handle:after{background:var(--theme-accent);box-shadow:0 0 0 2px var(--theme-accent-glow)}.app-shell.dark-mode .warehouse-kpi-card{background:linear-gradient(135deg,var(--theme-kpi-start) 0%,var(--theme-kpi-end) 68%);border-color:var(--theme-accent-border);box-shadow:inset 5px 0 0 var(--theme-accent),0 12px 28px var(--theme-accent-glow)}.app-shell.dark-mode .warehouse-kpi-card strong,.app-shell.dark-mode .warehouse-status-card strong,.app-shell.dark-mode .warehouse-details dd,.app-shell.dark-mode .warehouse-panel h3{color:#f8fafc}.app-shell.dark-mode .warehouse-kpi-card span,.app-shell.dark-mode .warehouse-status-card span,.app-shell.dark-mode .warehouse-panel-header strong,.app-shell.dark-mode .sync-step.running{color:var(--theme-accent)}.app-shell.dark-mode .warehouse-status-card,.app-shell.dark-mode .warehouse-panel,.app-shell.dark-mode .canvas-library-panel{background:#111827;border-color:#273449;box-shadow:none}.app-shell.dark-mode .canvas-dashboard-item{background:#0f172a;border-color:#334155;color:#cbd5e1}.app-shell.dark-mode .canvas-dashboard-item strong,.app-shell.dark-mode .canvas-library-header h3{color:#f8fafc}.app-shell.dark-mode .canvas-dashboard-item span,.app-shell.dark-mode .canvas-dashboard-item small{color:#94a3b8}.app-shell.dark-mode .canvas-dashboard-item.active{background:var(--theme-accent-soft);border-color:var(--theme-accent)}.app-shell.dark-mode .canvas-dashboard-delete{background:#ef444424;border-color:#7f1d1d;color:#fecaca}.app-shell.dark-mode .canvas-dashboard-delete:hover{background:#ef44443d;border-color:#ef4444}.app-shell.dark-mode .warehouse-status-card>div{background:#111827}.app-shell.dark-mode .warehouse-details dt{color:#94a3b8}.app-shell.dark-mode .sync-progress-track{background:#334155}.app-shell.dark-mode .sync-step{color:#94a3b8}.app-shell.dark-mode .sync-step span{border-color:#475569;background:#0f172a}.app-shell.dark-mode .sync-step.complete{color:#86efac}.app-shell.dark-mode .sync-step.failed{color:#fca5a5}.app-shell.dark-mode .sync-log{border-color:#334155}.app-shell.dark-mode .dashboard-menu-button{background:#0f172a;border-color:#334155;color:#94a3b8}.app-shell.dark-mode .dashboard-card-menu{background:#111827;border-color:#334155;box-shadow:0 14px 34px #00000052}.app-shell.dark-mode .dashboard-card-menu button{color:#cbd5e1}.app-shell.dark-mode .dashboard-card-menu button:hover,.app-shell.dark-mode .dashboard-menu-button:hover{background:var(--theme-accent-soft);color:#f8fafc}.app-shell.dark-mode .dashboard-card-menu button.danger-menu-item{color:#fca5a5}.app-shell.dark-mode .dashboard-card-menu button.danger-menu-item:hover{background:#3f1218;color:#fecaca}.app-shell.dark-mode .spotlight-kpi{background:linear-gradient(135deg,var(--theme-kpi-start) 0%,var(--theme-kpi-end) 68%);border-color:var(--theme-accent-border);box-shadow:inset 3px 0 0 var(--theme-accent),0 8px 18px var(--theme-accent-glow);color:#f8fafc}.app-shell.dark-mode .spotlight-kpi span{color:var(--theme-accent)}.app-shell.dark-mode .spotlight-kpi strong{color:#f8fafc}.app-shell.dark-mode .spotlight-kpi:after{background:var(--theme-kpi-sheen)}.app-shell.dark-mode .empty-state,.app-shell.dark-mode .empty-mini,.app-shell.dark-mode .slicer-target-meta{background:#0f172a;border-color:#334155;color:#94a3b8}.app-shell.dark-mode .selected-visual-meta{background:#0f172a;border-color:#334155;color:#f8fafc}.app-shell.dark-mode .selected-visual-meta span,.app-shell.dark-mode .control-label,.app-shell.dark-mode .tool-group-title{color:#94a3b8}.app-shell.dark-mode .selected-visual-tools{background:#0f172a;border-color:#334155}.app-shell.dark-mode .color-swatch{border-color:#0f172a;box-shadow:0 0 0 1px #475569}.app-shell.dark-mode .color-swatch.active{box-shadow:0 0 0 2px var(--theme-accent)}.app-shell.dark-mode .column-list,.app-shell.dark-mode .column-row{border-color:#273449}.app-shell.dark-mode .filter-validation,.app-shell.dark-mode .error-card,.app-shell.dark-mode .danger-button{background:#3f1218!important;border-color:#7f1d1d!important;color:#fecaca!important}.app-shell.dark-mode .dashboard-chart-card.error{border-color:#7f1d1d!important;color:#fecaca!important}.app-shell.dark-mode .dashboard-chart-card.error:before{background:#3f1218}.app-shell.dark-mode .loading-card{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:#dbeafe}.app-shell.dark-mode .dashboard-loading-state{background:color-mix(in srgb,var(--theme-surface-2) 82%,#020617);border-color:var(--theme-border)}.app-shell.dark-mode .dashboard-loading-copy strong{color:var(--theme-text)}.app-shell.dark-mode .dashboard-loading-copy span{color:var(--theme-muted)}@media(max-width:1000px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar.collapsed{min-height:58px;flex-direction:row;justify-content:flex-start;padding:10px 14px}.two-col{grid-template-columns:1fr}}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title-row h3{margin:0}.secondary-button,.ghost-button,.saved-chart-actions button{border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer}.secondary-button:disabled,.saved-chart-actions button:disabled{opacity:.55;cursor:not-allowed}.primary-button.small,.secondary-button.small{padding:10px 12px;border-radius:12px;font-size:13px}.saved-charts-panel{min-height:480px}.saved-chart-list{display:grid;gap:10px;max-height:440px;overflow:auto;padding-right:4px}.saved-chart-card{border:1px solid var(--theme-line);background:var(--theme-surface-2);border-radius:16px;padding:12px;display:grid;gap:10px}.saved-chart-card.selected{border-color:var(--theme-accent);background:var(--theme-control-bg-active)}.saved-chart-meta{display:grid;gap:3px}.saved-chart-meta strong{color:var(--theme-text)}.saved-chart-meta span,.saved-chart-meta small{color:#6b7280;word-break:break-word}.saved-chart-actions{display:flex;gap:8px;flex-wrap:wrap}.saved-chart-actions.top-actions{margin-bottom:16px}.saved-chart-actions button{padding:8px 10px;font-size:12px}.danger-button{border-color:#fecaca!important;color:#b91c1c!important;background:#fff5f5!important}.empty-mini{border:1px dashed #cbd5e1;border-radius:16px;padding:18px;color:#64748b;background:#f8fafc;font-size:14px}.lower-grid{align-items:start}.chart-lab-topbar{align-items:flex-start}.chart-lab-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:14px;align-items:start}.chart-lab-canvas-panel{min-width:0;min-height:760px;border:1px solid #dbe1ea;background:#fff;padding:16px;box-shadow:0 8px 24px #0f172a0a}.chart-lab-canvas-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.chart-lab-canvas-header h3{margin:0;font-size:18px}.chart-lab-canvas-header p{margin:4px 0 0;color:#64748b;font-size:13px}.chart-lab-stage{display:grid;align-items:stretch;min-height:660px;border:1px solid #e2e8f0;background:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px),#fff;background-size:28px 28px;overflow:auto;padding:12px}.chart-lab-empty{min-height:620px;display:grid;align-content:center;place-items:center;gap:14px;border-style:dashed;font-weight:850}.chart-lab-empty .visual-palette-icon{width:96px;height:76px;transform:scale(1.35);transform-origin:center}.chart-lab-empty>span{max-width:360px;text-align:center}.chart-lab-sql-preview{margin-top:12px}.chart-lab-inspector{border:1px solid #dbe1ea;background:#f8fafc;padding:8px;max-height:calc(100vh - 128px);overflow:auto}.chart-lab-inspector .builder-panel-section{background:#fff}.chart-lab-inspector label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:850}.chart-lab-inspector input,.chart-lab-inspector select{width:100%;border:1px solid #cbd5e1;border-radius:0;background:#fff;color:#0f172a;padding:8px 9px;font-size:12px}.chart-lab-inspector .saved-charts-panel{min-height:0;border:0;box-shadow:none;padding:0;background:transparent}.chart-lab-inspector .saved-chart-list{max-height:260px}.chart-lab-inspector .saved-chart-card{border-radius:0}.chart-lab-inspector .panel-title-row h3{display:none}.chart-lab-inspector .visual-palette-tile{grid-template-rows:38px auto;min-height:68px}.app-shell:not(.theme-light) .chart-lab-inspector,.app-shell:not(.theme-light) .chart-lab-inspector .builder-panel-section,.app-shell:not(.theme-light) .chart-lab-inspector .saved-charts-panel,.app-shell:not(.theme-light) .chart-lab-inspector .saved-chart-card{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-text)}.app-shell:not(.theme-light) .chart-lab-inspector{background:var(--theme-surface-2)}.app-shell:not(.theme-light) .chart-lab-inspector input,.app-shell:not(.theme-light) .chart-lab-inspector select{background:var(--theme-surface-3);border-color:#334155;color:var(--theme-text)}.app-shell:not(.theme-light) .chart-lab-inspector label,.app-shell:not(.theme-light) .chart-lab-inspector .builder-section-title,.app-shell:not(.theme-light) .chart-lab-inspector .saved-chart-meta strong{color:var(--theme-text)}.app-shell:not(.theme-light) .chart-lab-inspector .saved-chart-meta span,.app-shell:not(.theme-light) .chart-lab-inspector .saved-chart-meta small{color:var(--theme-muted)}.app-shell:not(.theme-light) .chart-lab-stage{border-color:var(--theme-line);background:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),var(--theme-surface)}.dashboard-top-grid{grid-template-columns:minmax(280px,.9fr) minmax(280px,.8fr) minmax(260px,.7fr)}.dashboard-list-panel{min-height:260px}.dashboard-list{display:grid;gap:10px;max-height:250px;overflow:auto}.dashboard-list-item{border:1px solid #e5e7eb;background:#f9fafb;color:#111827;border-radius:14px;padding:12px;display:grid;gap:4px;text-align:left;cursor:pointer}.dashboard-list-item.selected{border-color:#2563eb;background:#eff6ff}.dashboard-list-item span{color:#6b7280;font-size:12px}.dashboard-builder-topbar{align-items:flex-start}.dashboard-tab-strip{margin:0 0 -1px;border-bottom:0;overflow-x:auto;position:relative;z-index:2;padding:0 14px}.dashboard-tabs{display:flex;align-items:flex-end;gap:3px;min-height:44px}.dashboard-tab,.dashboard-add-tab{border:1px solid #dbe1ea;border-bottom-color:#dbe1ea;border-radius:8px 8px 0 0;background:#f8fafc;color:#334155;cursor:pointer}.dashboard-tab{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px;min-width:146px;max-width:220px;padding:0;text-align:left;overflow:hidden}.dashboard-tab-main{display:grid;gap:2px;min-width:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;padding:7px 8px 8px 12px;text-align:left}.dashboard-tab-delete{align-self:stretch;width:26px;border:0;border-left:1px solid transparent;border-radius:0;background:transparent;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:950;opacity:0}.dashboard-tab:hover .dashboard-tab-delete,.dashboard-tab.active .dashboard-tab-delete{opacity:1}.dashboard-tab-delete:hover{border-left-color:#fecaca;background:#fff5f5;color:#b91c1c}.dashboard-tab span{color:#64748b;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.dashboard-tab strong{overflow:hidden;color:#0f172a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.dashboard-tab.active{border-color:#dbe1ea;border-bottom-color:#fff;background:#fff;box-shadow:none;transform:translateY(1px)}.dashboard-tab.dragging{opacity:.55}.dashboard-add-tab{width:38px;height:36px;display:grid;place-items:center;color:#1d4ed8;font-size:24px;font-weight:800}.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:12px;align-items:start;position:relative;z-index:1}.dashboard-workspace>*{min-width:0}.dashboard-canvas-shell{min-width:0}.dashboard-builder-sidebar,.dashboard-inspector-panel{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 56px);overflow:auto;border:1px solid var(--theme-line);background:var(--theme-surface);box-shadow:0 8px 24px #0f172a0d}.dashboard-builder-sidebar{border-radius:14px}.dashboard-inspector-panel{border-radius:0;box-shadow:none;scrollbar-width:none}.dashboard-inspector-panel::-webkit-scrollbar{width:0;height:0}.dashboard-builder-sidebar,.dashboard-canvas-panel{scrollbar-width:none}.dashboard-builder-sidebar::-webkit-scrollbar,.dashboard-canvas-panel::-webkit-scrollbar{width:0;height:0}.inspector-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--theme-line);background:var(--theme-surface-2)}.inspector-tab{border:0;border-radius:0;background:var(--theme-control-bg);color:var(--theme-muted);cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.04em;padding:8px 6px;text-transform:uppercase}.inspector-tab.active{background:var(--theme-control-bg-active);color:var(--theme-text);box-shadow:inset 0 -2px 0 var(--theme-accent)}.dashboard-inspector-panel .builder-panel-section{border-bottom:0}.builder-panel-section{display:grid;gap:12px;padding:16px;border-bottom:1px solid #edf1f6}.dashboard-inspector-panel .builder-panel-section{gap:7px;padding:9px 10px;border-bottom:1px solid var(--theme-line)}.dashboard-inspector-panel label{gap:4px;margin-bottom:6px;font-size:11px}.dashboard-inspector-panel input,.dashboard-inspector-panel select{border-radius:0;padding:7px 8px;font-size:11px}.dashboard-inspector-panel input[type=range].design-range-input{height:28px;padding:0;border:0;background:transparent;cursor:pointer;accent-color:var(--theme-accent)}.dashboard-inspector-panel input[type=range].design-range-input::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:var(--theme-line)}.dashboard-inspector-panel input[type=range].design-range-input::-webkit-slider-thumb{width:18px;height:18px;margin-top:-5px}.dashboard-inspector-panel input[type=range].design-range-input::-moz-range-track{height:8px;border-radius:999px;background:var(--theme-line)}.dashboard-inspector-panel input[type=range].design-range-input::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:999px;background:var(--theme-accent)}.dashboard-inspector-panel .primary-button,.dashboard-inspector-panel .secondary-button,.dashboard-inspector-panel .danger-button,.dashboard-inspector-panel .ghost-button{border-radius:0;padding:7px 8px;box-shadow:none;font-size:11px}.inspector-helper{margin:0;color:#64748b;font-size:11px;line-height:1.35}.inspector-accordion{display:block}.inspector-accordion>*:not(summary){margin-top:9px}.inspector-accordion summary{cursor:pointer;list-style:none}.inspector-accordion summary::-webkit-details-marker{display:none}.inspector-accordion summary:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}.inspector-accordion[open] summary:after{transform:rotate(225deg)}.builder-panel-section:last-child{border-bottom:0}.builder-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#111827;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.builder-action-row{display:flex;gap:6px;flex-wrap:wrap}.builder-action-row .danger-button{border:1px solid #fecaca;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:800;cursor:pointer}.sidebar-full-button{width:100%;justify-content:center}.compact-button{padding:6px 9px;border-radius:10px;font-size:12px}.compact-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.slicer-target-meta{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;color:#475569;font-size:12px;font-weight:700;line-height:1.35;padding:9px 10px}.dashboard-list-section .dashboard-list{max-height:220px}.dashboard-canvas-panel{min-width:0;min-height:680px;border:1px solid #dbe1ea;border-radius:0 14px 14px;background:color-mix(in srgb,var(--theme-canvas-bg) 72%,var(--theme-surface) 28%);padding:18px;box-shadow:0 8px 24px #0f172a0a;overflow:hidden}.published-canvas-panel{min-width:0;min-height:680px;border:1px solid #dbe1ea;background:color-mix(in srgb,var(--theme-canvas-bg) 72%,var(--theme-surface) 28%);padding:18px;box-shadow:0 8px 24px #0f172a0a;overflow:hidden}.app-shell.published-mode .published-canvas-panel{display:flex;flex-direction:column;width:100%;min-height:0;height:100%;padding:0;border:0;box-shadow:none;background:transparent}.published-canvas-stage{border-style:solid}.app-shell.published-mode .published-canvas-stage{border-style:none;background-image:none}.canvas-library-panel{display:grid;gap:12px;border:1px solid #dbe1ea;background:#fff;padding:14px;box-shadow:0 8px 24px #0f172a0a}.publish-panel{display:grid;gap:12px;border:1px solid var(--theme-line);background:var(--theme-surface);padding:14px}.publish-panel h3{margin:0 0 4px;color:var(--theme-text)}.publish-panel label{display:grid;gap:6px;color:var(--theme-muted);font-size:12px;font-weight:900;text-transform:uppercase}.publish-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.publish-copy-row input,.publish-copy-row textarea{width:100%;border:1px solid var(--theme-line);border-radius:0;background:var(--theme-control-bg);color:var(--theme-text);font-size:12px;font-weight:750;padding:9px 10px}.canvas-library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.canvas-library-header h3{margin:0 0 4px}.canvas-library-header strong{display:grid;place-items:center;min-width:34px;height:30px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:950}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.canvas-dashboard-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.dashboard-recovery-panel{gap:10px}.dashboard-recovery-panel.collapsed{gap:0;padding-block:10px}.backup-panel-toggle{width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.backup-panel-toggle:hover h3{color:var(--theme-accent)}.backup-panel-toggle .helper-text{pointer-events:none}.backup-panel-chevron{border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);padding:7px 10px;font-size:11px;font-weight:900;text-transform:uppercase}.backup-panel-toolbar{display:flex;justify-content:flex-end}.snapshot-list{display:grid;gap:8px;max-height:240px;overflow:auto}.snapshot-set-item{border:1px solid var(--theme-line);background:color-mix(in srgb,var(--theme-control-bg) 78%,transparent)}.snapshot-set-item>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;cursor:pointer;list-style:none}.snapshot-set-item>summary::-webkit-details-marker{display:none}.snapshot-set-item>summary>div,.snapshot-item{display:grid}.snapshot-set-item>summary>div{gap:3px;min-width:0}.snapshot-set-tabs{display:grid;gap:6px;border-top:1px solid var(--theme-line);padding:8px}.snapshot-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--theme-line);background:var(--theme-control-bg);padding:10px}.snapshot-item>div{display:grid;gap:3px;min-width:0}.snapshot-set-item strong,.snapshot-set-item span,.snapshot-set-item small,.snapshot-item strong,.snapshot-item span,.snapshot-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-set-item strong,.snapshot-item strong{color:var(--theme-text);font-size:13px}.snapshot-set-item span,.snapshot-set-item small,.snapshot-item span,.snapshot-item small{color:var(--theme-muted);font-size:11px;font-weight:800}.snapshot-set-item small,.snapshot-item small{text-transform:uppercase}.canvas-tab-strip{display:flex;align-items:flex-end;gap:3px;margin:0 0 -1px;padding:0 14px;overflow-x:auto;position:relative;z-index:2}.canvas-tab{display:grid;gap:2px;min-width:146px;max-width:220px;border:1px solid #dbe3ef;border-bottom-color:#dbe3ef;border-radius:8px 8px 0 0;background:#f8fafc;color:#334155;padding:7px 12px 8px;text-align:left;cursor:pointer;overflow:hidden}.canvas-tab+.canvas-tab{margin-left:0}.canvas-tab.active{position:relative;z-index:1;background:var(--theme-canvas-bg);border-color:var(--theme-accent);border-bottom-color:var(--theme-canvas-bg);color:#0f172a;transform:translateY(1px)}.canvas-tab span{color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}.canvas-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.app-shell:not(.theme-light) .canvas-library-panel,.app-shell:not(.theme-light) .published-canvas-panel{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-text)}.app-shell:not(.theme-light) .canvas-dashboard-item,.app-shell:not(.theme-light) .canvas-tab{background:var(--theme-surface-2);border-color:var(--theme-line);color:var(--theme-text)}.app-shell:not(.theme-light) .canvas-dashboard-item strong,.app-shell:not(.theme-light) .canvas-library-header h3,.app-shell:not(.theme-light) .canvas-tab strong{color:var(--theme-text)}.app-shell:not(.theme-light) .canvas-dashboard-item span,.app-shell:not(.theme-light) .canvas-dashboard-item small,.app-shell:not(.theme-light) .canvas-tab span{color:var(--theme-muted)}.app-shell:not(.theme-light) .canvas-dashboard-item.active,.app-shell:not(.theme-light) .canvas-tab.active{background:var(--theme-canvas-bg);border-color:var(--theme-accent);border-bottom-color:var(--theme-canvas-bg);color:var(--theme-text)}.canvas-dashboard-item{position:relative;display:grid;min-width:190px;max-width:260px;border:1px solid #dbe1ea;background:#f8fafc;color:#334155;padding:0;text-align:left}.canvas-dashboard-main{display:grid;gap:3px;min-width:0;border:0;background:transparent;color:inherit;cursor:pointer;padding:10px 36px 10px 12px;text-align:left}.canvas-dashboard-delete{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:22px;height:22px;border:1px solid #fecaca;background:#fff5f5;color:#b91c1c;cursor:pointer;font-size:13px;font-weight:950;line-height:1}.canvas-dashboard-delete:hover{border-color:#dc2626;background:#fee2e2}.canvas-dashboard-item span{color:#64748b;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.canvas-dashboard-item strong{overflow:hidden;color:#0f172a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.canvas-dashboard-item small{overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.canvas-dashboard-item.active{border-color:var(--theme-accent);background:var(--theme-accent-soft)}.dashboard-canvas-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-canvas-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:stretch;min-width:0}.dashboard-canvas-main{min-width:0}.dashboard-slicer-rail{display:flex;flex-direction:column;gap:10px;min-width:0;max-height:min(760px,calc(100vh - 190px));overflow:auto;border:1px solid var(--theme-line);background:color-mix(in srgb,var(--theme-surface) 88%,transparent);padding:10px;scrollbar-width:thin}.published-filter-summary{display:none}.dashboard-slicer-rail-header{display:grid;gap:2px;border-bottom:1px solid var(--theme-line);padding-bottom:8px}.dashboard-slicer-rail-header strong{color:var(--theme-text);font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.dashboard-slicer-rail-header span{color:var(--theme-muted);font-size:11px;font-weight:750}.dashboard-slicer-rail .dashboard-date-slicer-bar{grid-template-columns:1fr;align-items:stretch;margin-bottom:0}.dashboard-date-slicer-card{border:1px solid var(--theme-line);background:var(--theme-surface-2)}.dashboard-date-slicer-card>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;padding:8px 10px}.dashboard-date-slicer-card>summary::-webkit-details-marker{display:none}.dashboard-date-slicer-card>summary span{color:var(--theme-text);font-size:12px;font-weight:950}.dashboard-date-slicer-card>summary strong{overflow:hidden;max-width:92px;color:var(--theme-accent-strong);font-size:11px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.dashboard-date-slicer-card .dashboard-date-slicer-bar{border:0;border-top:1px solid var(--theme-line)}.dashboard-slicer-rail .dashboard-date-slicer-bar>div{border-bottom:1px solid var(--theme-line);padding-bottom:6px}.dashboard-slicer-rail .dashboard-date-slicer-bar .secondary-button{width:100%;justify-content:center}.dashboard-slicer-rail .dashboard-slicer-bar{grid-template-columns:1fr;margin-bottom:0;padding:0;border:0;background:transparent}.dashboard-slicer-rail .dashboard-slicer-control summary{min-height:36px}.dashboard-slicer-rail .dashboard-slicer-control[open]{z-index:4}.dashboard-slicer-rail .dashboard-slicer-menu{position:static;width:100%;max-width:none;margin-top:6px;box-shadow:none;background:color-mix(in srgb,var(--theme-surface) 96%,black 4%)}.dashboard-slicer-rail .dashboard-slicer-options{max-height:340px}.dashboard-slicer-rail .dashboard-slicer-option{padding:8px 6px}.dashboard-date-slicer-bar{display:grid;grid-template-columns:minmax(140px,1fr) minmax(138px,.9fr) minmax(124px,.75fr) minmax(112px,.68fr) minmax(112px,.68fr) auto auto;align-items:end;gap:8px;margin-bottom:10px;border:1px solid var(--theme-line);background:var(--theme-surface-2);padding:8px}.dashboard-date-slicer-bar>div{display:grid;gap:2px;min-width:0}.dashboard-date-slicer-bar strong{color:var(--theme-text);font-size:12px;font-weight:950}.dashboard-date-slicer-bar span{overflow:hidden;color:var(--theme-muted);font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dashboard-date-slicer-bar label{display:grid;gap:3px;color:var(--theme-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dashboard-date-slicer-bar select,.dashboard-date-slicer-bar input{min-width:0;border:1px solid var(--theme-line);border-radius:0;background:var(--theme-control-bg);color:var(--theme-text);font-size:11px;font-weight:800;padding:7px 8px}.dashboard-slicer-bar{display:grid;grid-template-columns:minmax(130px,.5fr) repeat(auto-fit,minmax(180px,240px));gap:8px;align-items:start;margin-bottom:12px;border:1px solid var(--theme-line);background:color-mix(in srgb,var(--theme-surface) 78%,transparent);padding:10px}.dashboard-slicer-bar>div:first-child{display:grid;gap:2px;align-self:center}.dashboard-slicer-bar strong{color:var(--theme-text);font-size:12px;font-weight:900}.dashboard-slicer-bar span{color:var(--theme-muted);font-size:11px;font-weight:700}.dashboard-slicer-control{position:relative}.dashboard-slicer-control summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);cursor:pointer;list-style:none;padding:8px 10px}.dashboard-slicer-control summary::-webkit-details-marker{display:none}.dashboard-slicer-control summary span,.dashboard-slicer-control summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-slicer-control summary strong{color:var(--theme-accent-strong);font-size:11px}.dashboard-slicer-menu{position:absolute;z-index:80;top:calc(100% + 4px);left:0;width:min(460px,86vw);border:1px solid var(--theme-line);background:var(--theme-surface);box-shadow:0 16px 40px #0f172a38;padding:8px}.dashboard-slicer-menu input{width:100%;border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);padding:8px;margin-bottom:8px}.dashboard-slicer-options{display:grid;gap:2px;max-height:260px;overflow:auto}.dashboard-slicer-option{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;color:var(--theme-text);font-size:12px;font-weight:700;line-height:1.35;padding:7px 6px}.dashboard-slicer-option:hover{background:var(--theme-control-bg-active)}.dashboard-slicer-option input{margin:2px 0 0}.dashboard-slicer-option span{overflow-wrap:anywhere;white-space:normal}.dashboard-slicer-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.slicer-config-card{border:1px solid var(--theme-line);background:var(--theme-surface-2);padding:0}.slicer-config-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:8px;min-height:40px;padding:9px 10px;cursor:pointer;list-style:none}.slicer-config-card summary::-webkit-details-marker{display:none}.slicer-config-card summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}.slicer-config-card[open] summary:after{transform:rotate(225deg)}.slicer-config-card summary span,.slicer-config-card summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slicer-config-card summary span{color:var(--theme-text);font-size:12px;font-weight:900}.slicer-config-card summary small{color:var(--theme-accent);font-size:10px;font-weight:900;text-transform:uppercase}.slicer-config-body{display:grid;gap:10px;padding:0 10px 10px}.dashboard-filter-summary{margin:0 0 10px}.dashboard-filter-summary .filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;border-radius:0;padding:5px 6px 5px 10px}.filter-chip button{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;cursor:pointer;font-size:12px;font-weight:950;line-height:1;opacity:.78}.filter-chip button:hover{opacity:1}.filter-chip button:disabled{cursor:not-allowed;opacity:.4}.dashboard-canvas-header h3{margin:0 0 4px}.dashboard-count-pill{border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:13px;font-weight:800;padding:8px 12px}.dashboard-canvas-stage{position:relative;max-width:none;min-height:680px;overflow:auto;scrollbar-width:none;border:1px dashed #dbeafe;border-radius:12px;background-color:var(--theme-canvas-bg);background-image:linear-gradient(to right,var(--theme-canvas-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--theme-canvas-grid) 1px,transparent 1px);background-size:24px 24px;transform-origin:top left}.dashboard-canvas-stage::-webkit-scrollbar,.dashboard-canvas-viewport::-webkit-scrollbar{width:0;height:0}.dashboard-canvas-stage.canvas-grid-none{background-image:none}.dashboard-canvas-stage.canvas-grid-fine{background-image:linear-gradient(to right,color-mix(in srgb,var(--theme-canvas-grid) 74%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--theme-canvas-grid) 74%,transparent) 1px,transparent 1px);background-size:12px 12px}.dashboard-canvas-stage.canvas-grid-standard{background-image:linear-gradient(to right,var(--theme-canvas-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--theme-canvas-grid) 1px,transparent 1px);background-size:24px 24px}.dashboard-canvas-stage.canvas-grid-large{background-image:linear-gradient(to right,color-mix(in srgb,var(--theme-accent) 12%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--theme-accent) 12%,transparent) 1px,transparent 1px);background-size:48px 48px}.dashboard-canvas-stage.canvas-grid-blueprint{background-image:linear-gradient(to right,rgba(14,165,233,.16) 1px,transparent 1px),linear-gradient(to bottom,rgba(14,165,233,.16) 1px,transparent 1px),linear-gradient(to right,rgba(14,165,233,.32) 1px,transparent 1px),linear-gradient(to bottom,rgba(14,165,233,.32) 1px,transparent 1px);background-size:16px 16px,16px 16px,80px 80px,80px 80px}.dashboard-canvas-viewport{width:100%;overflow:hidden}.app-shell.published-mode .dashboard-canvas-viewport{flex:1 1 auto;min-height:240px;width:100%}.app-shell.published-mode .canvas-view-layout{flex:1 1 auto;min-height:0;width:100%}.app-shell.published-mode .dashboard-canvas-layout{grid-template-columns:220px minmax(0,1fr);gap:0;width:100%}.app-shell.published-mode .dashboard-canvas-main{overflow:visible;width:100%}.app-shell.published-mode .dashboard-slicer-rail{max-height:none}.app-shell.published-mode .dashboard-canvas-main{display:block;min-height:0}.published-responsive-grid{box-sizing:border-box;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;width:100%;min-width:0;padding:16px}.published-responsive-item{display:flex;min-width:0}.published-responsive-item-kpi{grid-column:span 1;min-height:190px}.published-responsive-item-half{grid-column:span 2}.published-responsive-item-full,.published-responsive-empty{grid-column:1 / -1}.published-responsive-item>.published-responsive-card{flex:1 1 auto;position:relative;inset:auto;max-width:100%}@media(max-width:1250px){.published-responsive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.published-responsive-item-half,.published-responsive-item-full{grid-column:1 / -1}}@media(max-width:700px){.published-responsive-grid{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.published-responsive-item-kpi,.published-responsive-item-half,.published-responsive-item-full{grid-column:1}}.app-shell.published-mode .canvas-view-layout{grid-template-columns:minmax(170px,220px) minmax(0,1fr)}.app-shell.published-mode .published-filter-summary{display:none}@media(max-width:900px){.app-shell.published-mode .canvas-view-layout{grid-template-columns:1fr}.app-shell.published-mode .dashboard-slicer-rail{display:block;padding:0;overflow:visible}.app-shell.published-mode .published-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;width:auto;border:0;background:transparent;padding:10px 12px}.app-shell.published-mode .published-filter-summary span{color:var(--theme-text);font-size:12px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.app-shell.published-mode .published-filter-summary strong{color:var(--theme-accent-strong);font-size:12px;font-weight:950}.app-shell.published-mode .dashboard-slicer-rail>:not(.published-filter-summary){margin:10px}.app-shell.published-mode .dashboard-slicer-rail.filters-collapsed>:not(.published-filter-summary){display:none}.app-shell.published-mode .dashboard-chart-card{padding:10px}.app-shell.published-mode .dashboard-chart-header h4{font-size:clamp(11px,2.4vw,14px)!important}}.canvas-size-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.canvas-empty-state{position:absolute;left:24px;top:24px;width:min(420px,calc(100% - 48px))}.saved-chart-drag-list{display:grid;gap:4px;max-height:220px;overflow:auto}.saved-chart-drag-item{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:6px;border:1px solid #dbe1ea;background:#f8fafc;color:#334155;cursor:grab;font-size:12px;font-weight:750;padding:8px 9px;text-align:left}.saved-chart-drag-item:active{cursor:grabbing}.saved-chart-drag-item:hover{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent-strong)}.drag-grip{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:-.12em}.visual-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.saved-chart-drag-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding-right:2px}.saved-chart-drag-card{display:grid;gap:4px;width:100%;border:1px solid #dbe3ef;border-radius:0;background:#fff;color:#0f172a;padding:10px;text-align:left;cursor:grab}.saved-chart-drag-card:hover{border-color:var(--theme-accent);background:var(--theme-accent-soft)}.saved-chart-drag-card:active{cursor:grabbing}.saved-chart-drag-card strong{font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-chart-drag-card span{color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-palette-tile{display:grid;grid-template-rows:38px auto;align-items:center;justify-items:center;gap:4px;min-height:68px;border:1px solid #d6dde8;border-radius:0;background:linear-gradient(180deg,#fff,#f8fafc);color:#334155;cursor:grab;font-size:10px;font-weight:850;padding:6px 4px;text-align:center;text-transform:uppercase;transition:border-color .16s ease,background .16s ease,transform .16s ease}.visual-palette-tile:hover{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent-strong);transform:translateY(-1px)}.visual-palette-tile.active{border-color:#f97316;background:#fff7ed;color:#9a3412;box-shadow:inset 0 0 0 2px #f973162e}.visual-palette-tile:active{cursor:grabbing;transform:translateY(0)}.visual-palette-tile:disabled{cursor:not-allowed;opacity:.55;transform:none}.visual-palette-icon{position:relative;display:grid;place-items:end center;width:40px;height:32px;padding:4px;border:1px solid rgba(37,99,235,.16);background:radial-gradient(circle at 28% 20%,rgba(14,165,233,.16),transparent 42%),#fff;box-shadow:inset 0 0 0 1px #ffffffbf}.visual-palette-icon-bar,.visual-palette-icon-horizontal-bar{grid-template-columns:repeat(3,1fr);align-items:end;gap:3px}.visual-palette-icon-bar span{width:7px;background:linear-gradient(180deg,#60a5fa,#2563eb)}.visual-palette-icon-bar span:nth-child(1){height:14px}.visual-palette-icon-bar span:nth-child(2){height:23px}.visual-palette-icon-bar span:nth-child(3){height:19px}.visual-palette-icon-horizontal-bar{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);align-items:center}.visual-palette-icon-horizontal-bar span{height:5px;background:linear-gradient(90deg,#22c55e,#059669)}.visual-palette-icon-horizontal-bar span:nth-child(1){width:19px}.visual-palette-icon-horizontal-bar span:nth-child(2){width:29px}.visual-palette-icon-horizontal-bar span:nth-child(3){width:24px}.visual-palette-icon svg{width:34px;height:24px}.visual-palette-icon-line svg polyline,.visual-palette-icon-area svg polyline{fill:none;stroke:#2563eb;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.visual-palette-icon-line svg circle{fill:#f59e0b}.visual-palette-icon-area svg path{fill:#2563eb38}.visual-palette-icon-table svg rect{fill:#2563eb1f;stroke:#2563eb;stroke-width:3}.visual-palette-icon-table svg line{stroke:#2563eb;stroke-width:2}.visual-palette-icon-scatter{display:block}.visual-palette-icon-scatter i{position:absolute;width:8px;height:8px;border-radius:50%;background:#7c3aed}.visual-palette-icon-scatter i:nth-child(1){left:11px;top:26px}.visual-palette-icon-scatter i:nth-child(2){left:20px;top:14px}.visual-palette-icon-scatter i:nth-child(3){left:30px;top:23px}.visual-palette-icon-scatter i:nth-child(4){left:38px;top:10px}.visual-palette-icon-scatter i:nth-child(5){left:14px;top:8px}.visual-palette-icon-pie span,.visual-palette-icon-doughnut span{position:relative;width:26px;height:26px;border-radius:50%;background:conic-gradient(#2563eb 0,#2563eb 38%,#f59e0b 38%,#f59e0b 64%,#10b981 64%,#10b981 82%,#ef4444 82%,#ef4444);box-shadow:0 0 0 3px #2563eb14}.visual-palette-icon-doughnut span:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;background:#fff}.visual-palette-icon-kpi{place-items:center;background:linear-gradient(135deg,#10b98129,#2563eb1a),#fff}.visual-palette-icon-kpi strong{color:#0f172a;font-size:13px;font-weight:950;line-height:1;letter-spacing:0}.app-shell.dark-mode .visual-palette-tile{background:linear-gradient(180deg,#111827,#0f172a);border-color:#334155;color:#cbd5e1}.app-shell.dark-mode .visual-palette-tile:hover{background:var(--theme-accent-soft);border-color:var(--theme-accent);color:#dbeafe}.app-shell.dark-mode .visual-palette-tile.active{background:var(--theme-accent-soft);border-color:var(--theme-accent);color:#f8fafc}.app-shell.dark-mode .saved-chart-drag-card{background:#111827;border-color:#334155;color:#e5e7eb}.app-shell.dark-mode .saved-chart-drag-card:hover{background:var(--theme-accent-soft);border-color:var(--theme-accent)}.app-shell.dark-mode .saved-chart-drag-card span{color:#94a3b8}.app-shell.dark-mode .visual-palette-icon{background:radial-gradient(circle at 28% 20%,rgba(56,189,248,.16),transparent 42%),#0b1120;border-color:#93c5fd2e}.app-shell.dark-mode .visual-palette-icon-doughnut span:after{background:#0b1120}.app-shell.dark-mode .visual-palette-icon-kpi strong{color:#e5e7eb}.dashboard-chart-card{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;container-type:inline-size;border:1px solid var(--theme-card-border);border-radius:18px;background:transparent;padding:16px;min-height:120px;overflow:visible;box-shadow:0 14px 30px var(--theme-card-shadow);cursor:move;transition:border-color .16s ease,box-shadow .16s ease;-webkit-user-select:none;user-select:none}.dashboard-chart-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--theme-card-bg);opacity:var(--chart-card-bg-opacity, 1);pointer-events:none;border-radius:inherit;overflow:hidden}.dashboard-chart-card>*{position:relative;z-index:1}.dashboard-chart-card:active,.dashboard-chart-card.view-only{cursor:default}.dashboard-chart-card:hover{z-index:5;border-color:var(--theme-accent-border);box-shadow:0 18px 38px var(--theme-card-shadow),0 0 0 1px var(--theme-accent-glow)}.dashboard-chart-card.view-only:hover{border-color:var(--theme-card-border);box-shadow:0 14px 30px var(--theme-card-shadow)}.dashboard-chart-card.chart-type-kpi{padding:14px}.dashboard-chart-card.chart-type-kpi:before{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-surface) 94%,var(--theme-accent) 6%) 0%,var(--theme-surface) 72%)}.dashboard-chart-card.selected{z-index:6;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e,0 10px 28px #0f172a14}.dashboard-resize-handle{position:absolute;z-index:30;width:26px;height:26px;border:0;border-radius:999px;background:transparent;box-shadow:none;opacity:0;touch-action:none}.dashboard-resize-handle:after{content:"";position:absolute;inset:50% auto auto 50%;width:12px;height:12px;border-radius:999px;background:#2563eb;box-shadow:0 0 0 2px #2563eb24;transform:translate(-50%,-50%)}.dashboard-resize-handle.resize-n,.dashboard-resize-handle.resize-s{left:50%;width:112px;height:22px;transform:translate(-50%);cursor:ns-resize}.dashboard-resize-handle.resize-n:after,.dashboard-resize-handle.resize-s:after{width:42px;height:5px}.dashboard-resize-handle.resize-e,.dashboard-resize-handle.resize-w{top:50%;width:22px;height:112px;transform:translateY(-50%);cursor:ew-resize}.dashboard-resize-handle.resize-e:after,.dashboard-resize-handle.resize-w:after{width:5px;height:42px}.dashboard-resize-handle.resize-n{top:-7px}.dashboard-resize-handle.resize-s{bottom:-7px}.dashboard-resize-handle.resize-e{right:-7px}.dashboard-resize-handle.resize-w{left:-7px}.dashboard-resize-handle.resize-ne,.dashboard-resize-handle.resize-nw,.dashboard-resize-handle.resize-se,.dashboard-resize-handle.resize-sw{width:30px;height:30px}.dashboard-resize-handle.resize-ne{top:-8px;right:-8px;cursor:nesw-resize}.dashboard-resize-handle.resize-nw{top:-8px;left:-8px;cursor:nwse-resize}.dashboard-resize-handle.resize-se{right:-8px;bottom:-8px;cursor:nwse-resize}.dashboard-resize-handle.resize-sw{bottom:-8px;left:-8px;cursor:nesw-resize}.dashboard-chart-card:hover .dashboard-resize-handle{opacity:1}.dashboard-resize-readout{position:absolute;top:-34px;left:50%;z-index:40;transform:translate(-50%);min-width:64px;border:1px solid rgba(37,99,235,.34);border-radius:4px;background:#0f172aeb;color:#f8fafc;font-size:12px;font-weight:900;line-height:1;padding:6px 9px;text-align:center;pointer-events:none;box-shadow:0 8px 18px #0f172a3d}.dashboard-visual-opacity-layer{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;z-index:1}.dashboard-loading-state{position:relative;display:flex;flex:1 1 auto;min-height:0;overflow:hidden;flex-direction:column;justify-content:center;gap:14px;border:1px solid var(--theme-border);border-radius:8px;background:color-mix(in srgb,var(--theme-surface) 86%,var(--theme-accent-soft));padding:16px}.dashboard-loading-progress{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden;background:color-mix(in srgb,var(--theme-accent-soft) 70%,transparent)}.dashboard-loading-progress span{position:absolute;top:0;bottom:0;left:-40%;width:42%;background:linear-gradient(90deg,transparent,var(--theme-accent),transparent);animation:dashboard-loading-bar 1.25s ease-in-out infinite}.dashboard-loading-copy{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;text-align:left}.dashboard-loading-copy div{display:flex;min-width:0;flex-direction:column;gap:2px}.dashboard-loading-copy strong{color:var(--theme-text);font-size:12px;font-weight:900;line-height:1.1}.dashboard-loading-copy span{color:var(--theme-muted);font-size:11px;font-weight:800}.dashboard-loading-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid var(--theme-accent-soft);border-top-color:var(--theme-accent);border-radius:50%;animation:dashboard-loading-spin .85s linear infinite}.dashboard-loading-chart-skeleton{display:grid;grid-template-rows:repeat(5,1fr);gap:8px;width:min(100%,520px);margin:0 auto}.dashboard-loading-chart-skeleton span{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--theme-accent-soft),color-mix(in srgb,var(--theme-accent) 30%,var(--theme-accent-soft)),var(--theme-accent-soft));background-size:220% 100%;animation:dashboard-loading-shimmer 1.5s ease-in-out infinite}.dashboard-loading-chart-skeleton span:nth-child(1){width:78%}.dashboard-loading-chart-skeleton span:nth-child(2){width:92%}.dashboard-loading-chart-skeleton span:nth-child(3){width:64%}.dashboard-loading-chart-skeleton span:nth-child(4){width:84%}.dashboard-loading-chart-skeleton span:nth-child(5){width:56%}.kpi-loading-state{min-height:110px}.dashboard-chart-header{position:relative;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;min-width:0}.dashboard-title-block{flex:1 1 auto;min-width:0}.dashboard-title-block.title-align-left{text-align:left}.dashboard-title-block.title-align-center{text-align:center}.dashboard-title-block.title-align-right{text-align:right}.dashboard-title-block.title-align-left .dashboard-title-line{justify-content:flex-start}.dashboard-title-block.title-align-center .dashboard-title-line{justify-content:center}.dashboard-title-block.title-align-right .dashboard-title-line{justify-content:flex-end}.dashboard-title-block.title-align-center .dashboard-title-line h4,.dashboard-title-block.title-align-right .dashboard-title-line h4{padding-right:0}.dashboard-chart-header h4{margin:0 0 4px;padding-right:6px;overflow-wrap:anywhere}.dashboard-card-actions{position:relative;display:flex;gap:6px;flex:0 0 auto;z-index:10}.year-comparison-toggle{display:inline-flex;align-items:center;gap:7px;height:28px;flex:0 0 auto;border:1px solid var(--theme-line);border-radius:999px;background:color-mix(in srgb,var(--theme-control-bg) 88%,transparent);color:var(--theme-muted);cursor:pointer;font-size:10px;font-weight:900;letter-spacing:0;line-height:1;padding:0 9px 0 5px;text-transform:uppercase;opacity:0;transition:opacity .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.dashboard-chart-card:hover .year-comparison-toggle,.dashboard-chart-card.selected .year-comparison-toggle,.year-comparison-toggle.active{opacity:1}.year-comparison-toggle:hover,.year-comparison-toggle.active{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent)}.year-comparison-switch{position:relative;width:28px;height:16px;border:1px solid currentColor;border-radius:999px;background:color-mix(in srgb,var(--theme-surface) 76%,transparent)}.year-comparison-switch:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:999px;background:currentColor;transition:transform .14s ease}.year-comparison-toggle.active .year-comparison-switch:after{transform:translate(12px)}.dashboard-menu-button{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:999px;background:var(--theme-control-bg);color:var(--theme-muted);cursor:pointer;font-size:15px;font-weight:900;line-height:1;opacity:0}.dashboard-menu-button{font-size:14px;letter-spacing:1px}.dashboard-chart-card:hover .dashboard-menu-button,.dashboard-chart-card.selected .dashboard-menu-button{opacity:1}.dashboard-menu-button:hover{border-color:#bfdbfe;background:var(--theme-control-bg-active);color:var(--theme-text)}.dashboard-filter-button.active{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent);opacity:1}.dashboard-filter-icon{position:relative;display:block;width:14px;height:14px}.dashboard-filter-icon:before{content:"";position:absolute;left:1px;top:2px;width:12px;height:5px;border:2px solid currentColor;border-bottom:0;transform:perspective(10px) rotateX(-20deg)}.dashboard-filter-icon:after{content:"";position:absolute;left:5px;top:6px;width:4px;height:6px;background:currentColor;clip-path:polygon(0 0,100% 0,70% 100%,30% 100%)}.dashboard-card-menu{position:absolute;right:0;top:34px;z-index:30;display:grid;min-width:142px;border:1px solid var(--theme-line);background:var(--theme-surface);color:var(--theme-text);box-shadow:0 14px 34px #0f172a29}.dashboard-card-menu button{border:0;border-radius:0;background:transparent;color:var(--theme-text);cursor:pointer;font-size:12px;font-weight:800;padding:9px 11px;text-align:left}.dashboard-card-menu button:hover{background:var(--theme-control-bg-active);color:var(--theme-text)}.dashboard-card-menu button.danger-menu-item{color:#b91c1c}.dashboard-card-menu button.danger-menu-item:hover{background:#fff5f5;color:#991b1b}.dashboard-filter-popover{position:absolute;right:34px;top:34px;z-index:35;display:grid;gap:10px;width:280px;border:1px solid var(--theme-line);background:var(--theme-surface);color:var(--theme-text);box-shadow:0 14px 34px #0f172a2e;padding:12px}.dashboard-filter-popover-title{display:grid;gap:2px}.dashboard-filter-popover-title strong{font-size:12px;text-transform:uppercase}.dashboard-filter-popover-title span{color:var(--theme-muted);font-size:11px;overflow-wrap:anywhere}.dashboard-filter-popover label{display:grid;gap:5px;font-size:11px;font-weight:800;text-transform:uppercase}.dashboard-filter-popover select{width:100%;min-width:0}.dashboard-filter-popover input[type=text],.dashboard-filter-popover input[type=number],.dashboard-filter-popover input:not([type]){width:100%}.dashboard-number-filter{display:grid;gap:8px;border-bottom:1px solid var(--theme-line);padding-bottom:10px}.dashboard-filter-list{display:grid;gap:3px;max-height:210px;overflow-y:auto;border:1px solid var(--theme-line);background:var(--theme-control-bg);padding:5px}.dashboard-filter-popover .dashboard-filter-option{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;padding:4px 5px;color:var(--theme-text);cursor:pointer;font-size:12px;font-weight:700;text-transform:none}.dashboard-filter-popover .dashboard-filter-option:hover{background:var(--theme-control-bg-active)}.dashboard-filter-option input{margin:0}.dashboard-filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-filter-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.chart-scroll-frame{width:100%;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.chart-scroll-frame.scroll-y{overflow-y:auto;overflow-x:hidden;padding-right:4px}.chart-scroll-frame.scroll-x{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.raw-table-visual{width:100%;min-height:0;overflow:auto;border:1px solid var(--theme-border);background:var(--theme-surface)}.raw-table-visual table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px;color:var(--theme-text)}.raw-table-visual th,.raw-table-visual td{max-width:260px;padding:8px 10px;border-right:1px solid var(--theme-border);border-bottom:1px solid var(--theme-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.raw-table-visual th{position:sticky;top:0;z-index:2;background:var(--theme-surface-2);color:var(--theme-accent);font-size:11px;font-weight:900;text-transform:uppercase}.raw-table-visual tr:nth-child(2n) td{background:color-mix(in srgb,var(--theme-surface-2) 58%,transparent)}.helper-text{margin:0;color:#6b7280;font-size:13px}.dashboard-kpi{margin:5px 0 9px;min-width:0}.spotlight-kpi{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;overflow:hidden;border:1px solid var(--theme-accent-border);border-radius:14px;background:linear-gradient(135deg,var(--theme-kpi-start) 0%,var(--theme-kpi-end) 68%);color:var(--theme-text);min-height:42px;padding:8px 12px;box-shadow:inset 3px 0 0 var(--theme-accent),0 8px 18px var(--theme-accent-glow)}.spotlight-kpi:after{content:"";position:absolute;inset:-40% auto -40% 58%;width:80px;transform:rotate(18deg);background:var(--theme-kpi-sheen);animation:kpi-sheen 4.8s ease-in-out infinite}.spotlight-kpi span,.spotlight-kpi strong{position:relative;z-index:1}.spotlight-kpi span{color:var(--theme-accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.spotlight-kpi strong{min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:var(--kpi-value-size, clamp(15px, 6cqw, 21px));font-weight:var(--kpi-value-weight, 950);line-height:1.05;text-align:right;color:var(--theme-text)}.spotlight-kpi.kpi-align-left{justify-content:space-between}.spotlight-kpi.kpi-align-center{justify-content:center;text-align:center}.spotlight-kpi.kpi-align-center strong{text-align:center}.spotlight-kpi.kpi-align-right{justify-content:flex-end;text-align:right}.spotlight-kpi.kpi-align-right span,.spotlight-kpi.kpi-align-right strong{text-align:right}@container (max-width: 320px){.spotlight-kpi{display:grid;justify-content:stretch;gap:4px;padding:7px 10px}.spotlight-kpi strong{text-align:left}}.kpi-card-visual{position:relative;display:grid;align-content:center;gap:10px;flex:1;min-height:0;height:auto;max-height:100%;margin-bottom:0;overflow:hidden;border:0;background:linear-gradient(115deg,color-mix(in srgb,var(--theme-accent-soft) 74%,transparent),color-mix(in srgb,var(--theme-surface) 88%,transparent) 58%,color-mix(in srgb,var(--theme-surface-2) 82%,transparent));padding:clamp(13px,5cqw,24px);box-shadow:inset 5px 0 0 var(--theme-accent)}.dashboard-chart-card .kpi-card-visual{margin:0;flex:1 1 auto}.kpi-card-visual:after{content:"";position:absolute;inset:0 0 0 auto;width:36%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.64));transform:skew(-18deg) translate(32%)}.kpi-card-visual span,.kpi-card-visual strong,.kpi-card-visual small{position:relative;z-index:1;min-width:0}.kpi-card-visual span{color:var(--theme-accent);font-size:clamp(10px,3cqw,13px);font-weight:950;line-height:1.1;text-transform:uppercase;overflow-wrap:anywhere}.kpi-card-visual strong{color:#0f172a;font-size:var(--kpi-value-size, clamp(28px, 17cqw, 60px));font-weight:var(--kpi-value-weight, 950);letter-spacing:0;line-height:.95;overflow-wrap:anywhere}.kpi-card-visual.kpi-align-left{text-align:left;justify-items:start}.kpi-card-visual.kpi-align-center{text-align:center;justify-items:center}.kpi-card-visual.kpi-align-right{text-align:right;justify-items:end}.kpi-card-visual small{color:#64748b;font-size:clamp(10px,3cqw,12px);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell.dark-mode .kpi-card-visual{background:linear-gradient(115deg,color-mix(in srgb,var(--theme-accent-soft) 55%,transparent),#0f172af5 58%,#0f172adb);box-shadow:inset 5px 0 0 var(--theme-accent)}.app-shell.dark-mode .kpi-card-visual strong{color:#f8fafc}.app-shell.dark-mode .kpi-card-visual small{color:#94a3b8}.chart-lab-kpi-preview{min-height:220px}.steven-ai-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:16px;align-items:stretch;height:calc(100vh - 170px);min-height:540px}.steven-ai-page{min-height:0}.steven-ai-page.embedded{border:1px solid color-mix(in srgb,var(--theme-accent) 44%,var(--theme-line));background:linear-gradient(135deg,color-mix(in srgb,var(--theme-steven-bg) 88%,var(--theme-accent) 12%),var(--theme-steven-bg));padding:12px}.steven-ai-page.embedded .steven-ai-layout{height:520px;min-height:520px;grid-template-columns:minmax(190px,230px) minmax(0,1fr)}.steven-ai-page.embedded .steven-ai-conversation-rail{padding:12px}.steven-ai-embedded-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dbe1ea;padding:12px 14px}.steven-ai-embedded-title strong{font-size:16px}.steven-ai-embedded-title span{color:#64748b;font-size:12px;font-weight:800}.steven-ai-conversation-rail,.steven-ai-chat-panel{border:1px solid color-mix(in srgb,var(--theme-accent) 22%,var(--theme-line));background:var(--theme-steven-panel);box-shadow:0 14px 34px #0f172a17}.steven-ai-conversation-rail{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:16px;min-height:0;position:relative;z-index:3}.steven-new-chat-button{width:100%}.steven-history-source{color:#64748b;display:block;font-size:10px;font-weight:800;text-align:center}.steven-conversation-list{display:grid;align-content:start;gap:8px;overflow:auto;min-height:0}.steven-conversation-item{border:1px solid #dbe1ea;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.steven-conversation-select,.steven-conversation-delete{border:0;background:transparent;color:inherit;cursor:pointer}.steven-conversation-select{display:grid;gap:5px;padding:10px;text-align:left;min-width:0}.steven-conversation-delete{border-left:1px solid #dbe1ea;color:#b91c1c;font-size:14px;font-weight:950;padding:0 9px}.steven-conversation-delete:hover{background:#fee2e2}.steven-conversation-item:hover,.steven-conversation-item.active{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 10%,transparent)}.steven-conversation-list strong{font-size:12px;line-height:1.25}.steven-conversation-list span{color:#64748b;font-size:10px;font-weight:800}.steven-ai-chat-toolbar label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.steven-ai-chat-toolbar select,.steven-ai-composer input{width:100%;border:1px solid #cbd5e1;border-radius:0;background:#fff;color:#0f172a;padding:10px 11px}.ai-status{border:1px solid;padding:10px;font-size:12px;font-weight:900}.ai-status.connected{border-color:#16a34a;background:#ecfdf5;color:#166534}.ai-status.disconnected{border-color:#dc2626;background:#fef2f2;color:#991b1b}.hermes-chat-actions{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #dbe1ea;padding:10px 14px;background:color-mix(in srgb,var(--theme-steven-panel) 86%,var(--theme-accent) 14%);position:relative;z-index:2}.hermes-chat-actions button{border:1px solid #334155;background:transparent;color:inherit;cursor:pointer;padding:7px 10px;text-align:left;font-size:12px;font-weight:850}.hermes-chat-actions button:hover:not(:disabled){border-color:var(--theme-accent);color:var(--theme-accent)}.hermes-chat-actions button:disabled{cursor:not-allowed;opacity:.55}.steven-ai-chat-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;overflow:hidden;position:relative;z-index:1}.steven-ai-chat-toolbar{display:grid;grid-template-columns:minmax(160px,240px) minmax(120px,160px) minmax(110px,150px) auto;gap:10px;align-items:end;border-bottom:1px solid #dbe1ea;padding:12px 14px}.steven-ai-view-scope{border:1px solid #cbd5e1;display:grid;gap:2px;min-height:39px;padding:7px 10px}.steven-ai-view-scope span{color:#64748b;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.steven-ai-view-scope strong{font-size:14px}.steven-ai-thread{display:grid;align-content:start;gap:12px;overflow:auto;overflow-x:hidden;padding:18px;min-height:0;scroll-behavior:smooth;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-steven-thread) 94%,var(--theme-accent) 6%),var(--theme-steven-thread));position:relative;z-index:1}.steven-message{max-width:min(920px,92%);border:1px solid #dbe1ea;border-radius:18px;background:color-mix(in srgb,var(--theme-steven-panel) 82%,#ffffff 18%);color:#0f172a;padding:12px 14px;overflow-wrap:anywhere}.steven-message.user{justify-self:end;border-radius:18px 18px 4px;background:var(--theme-accent);border-color:var(--theme-accent);color:#fff}.steven-message.assistant{justify-self:start;border-radius:18px 18px 18px 4px}.steven-message p{margin:0;line-height:1.45}.hermes-formatted-answer{display:grid;gap:8px}.hermes-formatted-answer h4{margin:12px 0 2px;color:var(--theme-accent);font-size:13px;font-weight:950;letter-spacing:.03em;text-transform:uppercase}.hermes-formatted-answer h4:first-child{margin-top:0}.hermes-formatted-answer p{margin:0;line-height:1.5}.hermes-formatted-answer strong{color:inherit;font-weight:950}.hermes-answer-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--theme-border);background:color-mix(in srgb,var(--theme-panel) 92%,var(--theme-accent) 8%)}.hermes-answer-table{width:100%;border-collapse:collapse;font-size:12px}.hermes-answer-table th,.hermes-answer-table td{border-bottom:1px solid var(--theme-border);padding:7px 9px;text-align:left;vertical-align:top}.hermes-answer-table th{color:var(--theme-accent);font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.hermes-answer-table tr:last-child td{border-bottom:0}.hermes-answer-item,.hermes-answer-bullet{position:relative;padding-left:18px}.hermes-answer-item:before,.hermes-answer-bullet:before{content:"";position:absolute;top:.7em;left:2px;width:6px;height:6px;background:var(--theme-accent)}.hermes-confidence-line{border-left:4px solid var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 10%,transparent);padding:8px 10px;font-weight:800}.hermes-action-plan-item{border:1px solid var(--theme-border);background:color-mix(in srgb,var(--theme-panel) 88%,var(--theme-accent) 12%);padding:10px 12px;box-shadow:inset 4px 0 0 var(--theme-accent)}.steven-message small{display:block;margin-top:8px;color:#64748b;line-height:1.4}.steven-message-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.steven-message-tools button{border:1px solid #cbd5e1;background:#fff;color:#0f172a;cursor:pointer;padding:6px 8px;font-size:11px;font-weight:900}.steven-message-tools button:hover{border-color:var(--theme-accent);color:var(--theme-accent)}.steven-bottom-save-tools{align-items:center;border-top:1px solid var(--theme-line);background:color-mix(in srgb,var(--theme-steven-panel) 88%,var(--theme-accent) 12%);box-shadow:0 -1px color-mix(in srgb,var(--theme-accent) 10%,transparent);margin:0;padding:10px 14px}.steven-bottom-save-tools span{color:var(--theme-muted);font-size:11px;font-weight:950;letter-spacing:.04em;margin-right:4px;text-transform:uppercase}.steven-evidence-panel{margin-top:10px;border:1px solid #dbe1ea;background:#fff}.steven-evidence-panel summary{cursor:pointer;padding:8px 10px;color:#475569;font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.steven-evidence-grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1px;border-top:1px solid #dbe1ea;background:#dbe1ea}.steven-evidence-grid span,.steven-evidence-grid strong{background:#fff;padding:7px 9px;min-width:0;overflow-wrap:anywhere;font-size:11px}.steven-evidence-grid span{color:#64748b;font-weight:900;text-transform:uppercase}.steven-evidence-grid strong{color:#0f172a;font-weight:850}.steven-evidence-panel code{display:block;max-height:140px;overflow:auto;border-top:1px solid #dbe1ea;padding:9px 10px;color:#475569;font-size:11px;white-space:pre-wrap}.hermes-llm-status{display:inline-flex;width:fit-content;margin-top:10px;border:1px solid currentColor;padding:4px 8px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.hermes-llm-status.active{color:#16a34a}.hermes-llm-status.inactive{color:#f59e0b}.steven-result-table{display:grid;gap:1px;margin-top:12px;border:1px solid #dbe1ea;background:#dbe1ea}.steven-result-table div{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:12px;align-items:start;background:#fff;padding:8px 10px}.steven-result-table span{overflow:hidden;text-overflow:ellipsis;white-space:normal}.steven-result-fields{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;min-width:0}.steven-result-field{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid rgba(37,99,235,.18);background:#2563eb12;color:#0f172a;padding:4px 6px;font-size:11px;line-height:1.2}.steven-result-field em{color:#64748b;font-style:normal;font-weight:900;text-transform:uppercase}.steven-result-field b{color:inherit;font-weight:900}.steven-follow-ups{display:grid;gap:8px;margin-top:12px;border-top:1px solid #dbe1ea;padding-top:10px}.steven-follow-ups span{color:#64748b;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.steven-follow-ups button{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;padding:8px 10px;text-align:left;font:inherit;font-size:13px;font-weight:850;cursor:pointer}.steven-follow-ups button:hover:not(:disabled){border-color:var(--theme-accent);background:#dbeafe}.steven-follow-ups button:disabled{cursor:not-allowed;opacity:.55}.hermes-insight-list{display:grid;gap:12px;margin-top:14px}.hermes-insight-card{border:1px solid #dbe1ea;background:#fff;padding:12px}.hermes-insight-card.warning{border-color:#f59e0b}.hermes-insight-card.critical{border-color:#ef4444}.hermes-insight-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.hermes-insight-card>div:first-child strong{font-size:14px}.hermes-insight-card>div:first-child span{border:1px solid currentColor;padding:3px 7px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.hermes-insight-card p{margin:0 0 8px;line-height:1.45}.hermes-insight-card small{margin-top:0}.hermes-result-table div{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr)}.steven-saved-items{border-top:1px solid #dbe1ea;padding-top:10px;min-height:0}.steven-saved-items summary{cursor:pointer;color:#475569;font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.steven-saved-items small,.steven-saved-items p{color:#64748b;font-size:11px}.steven-saved-items-list{display:grid;gap:7px;margin-top:9px;max-height:210px;overflow:auto}.steven-saved-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}.steven-saved-tabs button{border:1px solid #dbe1ea;background:transparent;color:inherit;cursor:pointer;display:grid;gap:2px;padding:8px;text-align:left;font-size:10px;font-weight:900;text-transform:uppercase}.steven-saved-tabs button.active{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 13%,transparent);color:var(--theme-accent)}.steven-saved-tabs span{color:inherit;font-size:13px;font-weight:950}.steven-actions-board{display:grid;gap:10px;margin-top:9px;max-height:300px;overflow:auto}.steven-action-card{border:1px solid #dbe1ea;background:color-mix(in srgb,var(--theme-panel) 92%,var(--theme-accent) 8%);padding:10px;box-shadow:inset 4px 0 0 var(--theme-accent)}.steven-action-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.steven-action-card-title strong{font-size:12px;line-height:1.25}.steven-saved-open,.steven-saved-item-open{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;min-width:0;padding:0;text-align:left}.steven-saved-open{font-size:12px;font-weight:950;line-height:1.25}.steven-saved-open:hover,.steven-saved-item-open:hover strong{color:var(--theme-accent)}.steven-action-card-title button{border:0;background:transparent;color:#b91c1c;cursor:pointer;font-size:13px;font-weight:950}.steven-action-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.steven-action-fields label{display:grid;gap:4px;color:#64748b;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.steven-action-fields select{border:1px solid #cbd5e1;background:#fff;color:#0f172a;padding:7px;font-size:11px;font-weight:850}.steven-action-card p{margin:8px 0 0;color:#475569;font-size:11px;line-height:1.35}.steven-saved-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #dbe1ea;background:#fff;padding:8px}.steven-saved-item div,.steven-saved-item-open{display:grid;gap:3px;min-width:0}.steven-saved-item strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steven-saved-item span{color:var(--theme-accent);font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.steven-saved-item>button:not(.steven-saved-item-open){border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;cursor:pointer;font-weight:950}.steven-ai-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid #dbe1ea;padding:14px;background:inherit;position:relative;z-index:4}.app-shell.dark-mode .steven-ai-conversation-rail,.app-shell.dark-mode .steven-ai-chat-panel,.app-shell.dark-mode .steven-ai-thread,.app-shell.dark-mode .hermes-chat-actions,.app-shell.dark-mode .steven-message.assistant,.app-shell.dark-mode .steven-result-table div,.app-shell.dark-mode .hermes-insight-card,.app-shell.dark-mode .steven-evidence-panel,.app-shell.dark-mode .steven-evidence-grid span,.app-shell.dark-mode .steven-evidence-grid strong,.app-shell.dark-mode .steven-saved-item,.app-shell.dark-mode .steven-action-card,.app-shell.dark-mode .steven-saved-tabs button,.app-shell.dark-mode .steven-message-tools button{background:var(--theme-steven-panel);border-color:#334155;color:#e5e7eb}.app-shell.dark-mode .steven-ai-thread{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-steven-thread) 94%,var(--theme-accent) 6%),var(--theme-steven-thread))}.app-shell.dark-mode .hermes-chat-actions{background:color-mix(in srgb,var(--theme-steven-panel) 86%,var(--theme-accent) 14%)}.app-shell.dark-mode .steven-ai-chat-toolbar select,.app-shell.dark-mode .steven-ai-composer input,.app-shell.dark-mode .steven-action-fields select{background:#0f172a;border-color:#334155;color:#e5e7eb}.app-shell.dark-mode .steven-conversation-item,.app-shell.dark-mode .steven-conversation-delete,.app-shell.dark-mode .steven-ai-embedded-title,.app-shell.dark-mode .hermes-chat-actions,.app-shell.dark-mode .steven-ai-chat-toolbar,.app-shell.dark-mode .steven-ai-view-scope,.app-shell.dark-mode .steven-ai-composer,.app-shell.dark-mode .steven-evidence-panel,.app-shell.dark-mode .steven-evidence-panel code,.app-shell.dark-mode .steven-saved-items,.app-shell.dark-mode .steven-saved-item,.app-shell.dark-mode .steven-action-card,.app-shell.dark-mode .steven-saved-tabs button{border-color:#334155}.app-shell.dark-mode .steven-conversation-list span,.app-shell.dark-mode .steven-history-source,.app-shell.dark-mode .steven-ai-chat-toolbar label,.app-shell.dark-mode .steven-ai-embedded-title span,.app-shell.dark-mode .steven-ai-view-scope span,.app-shell.dark-mode .steven-evidence-panel summary,.app-shell.dark-mode .steven-evidence-grid span,.app-shell.dark-mode .steven-saved-items summary,.app-shell.dark-mode .steven-saved-items small,.app-shell.dark-mode .steven-saved-items p,.app-shell.dark-mode .steven-action-card p,.app-shell.dark-mode .steven-action-fields label{color:#94a3b8}.app-shell.dark-mode .steven-saved-tabs button.active{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 18%,#111827);color:var(--theme-accent)}.app-shell.dark-mode .steven-message small,.app-shell.dark-mode .steven-evidence-panel code{color:#94a3b8}.app-shell.dark-mode .steven-result-field{border-color:#38bdf840;background:#0ea5e91c;color:#e5e7eb}.app-shell.dark-mode .steven-result-field em{color:#93c5fd}.app-shell.dark-mode .steven-follow-ups{border-color:#334155}.app-shell.dark-mode .steven-follow-ups span{color:#94a3b8}.app-shell.dark-mode .steven-follow-ups button{border-color:#334155;background:#0f172a;color:#e5e7eb}.app-shell.dark-mode .steven-follow-ups button:hover:not(:disabled){border-color:var(--theme-accent);background:#111827}@media(max-width:960px){.steven-ai-layout{grid-template-columns:1fr}.steven-ai-conversation-rail{max-height:180px}.steven-ai-chat-toolbar{grid-template-columns:1fr}}.published-steven-drawer{position:fixed;right:18px;bottom:18px;z-index:120}.published-steven-drawer:before{content:"";pointer-events:none}.published-steven-toggle{position:relative;border:1px solid color-mix(in srgb,var(--theme-accent) 80%,#ffffff 20%);border-radius:999px;background:radial-gradient(circle at 26% 26%,rgba(255,255,255,.34),transparent 23px),linear-gradient(135deg,color-mix(in srgb,var(--theme-accent) 92%,#ffffff 8%),color-mix(in srgb,var(--theme-accent) 68%,#111827 32%));color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-weight:950;min-height:54px;padding:13px 20px 13px 18px;box-shadow:0 18px 42px #0f172a47,0 0 24px color-mix(in srgb,var(--theme-accent) 34%,transparent)}.published-steven-toggle:before{content:"";width:24px;height:18px;flex:0 0 auto;border-radius:999px;background:radial-gradient(circle at 5px 13px,#ffffff 0 4px,transparent 4.5px),radial-gradient(circle at 10px 8px,#ffffff 0 7px,transparent 7.5px),radial-gradient(circle at 18px 10px,#ffffff 0 6px,transparent 6.5px);filter:drop-shadow(0 4px 8px rgba(15,23,42,.24))}.published-steven-toggle:after{content:"";position:absolute;right:18px;bottom:-6px;width:14px;height:14px;border-right:1px solid color-mix(in srgb,var(--theme-accent) 80%,#ffffff 20%);border-bottom:1px solid color-mix(in srgb,var(--theme-accent) 80%,#ffffff 20%);background:color-mix(in srgb,var(--theme-accent) 80%,#111827 20%);transform:rotate(45deg)}.published-steven-toggle:hover{transform:translateY(-1px);box-shadow:0 22px 48px #0f172a52,0 0 30px color-mix(in srgb,var(--theme-accent) 42%,transparent)}.published-steven-drawer.open{top:0;right:0;bottom:0;width:clamp(420px,34vw,560px);max-width:calc(100vw - 24px);max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-steven-bg) 94%,#ffffff 6%),var(--theme-steven-bg));border-left:1px solid color-mix(in srgb,var(--theme-accent) 24%,var(--theme-line));box-shadow:-24px 0 70px #0f172a57;transform:translate(0)}.published-steven-drawer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;z-index:2;margin-bottom:8px}.published-steven-drawer.open .published-steven-toggle,.published-steven-mode-toggle{justify-self:end;z-index:2;min-height:34px;padding:7px 12px;border-radius:999px;font-size:12px;box-shadow:0 12px 28px color-mix(in srgb,var(--theme-accent) 28%,transparent)}.published-steven-drawer.open .published-steven-toggle{gap:7px;min-height:34px;padding:7px 12px 7px 11px}.published-steven-drawer.open .published-steven-toggle:before{width:19px;height:14px;background:radial-gradient(circle at 4px 10px,#ffffff 0 3px,transparent 3.5px),radial-gradient(circle at 8px 6px,#ffffff 0 5.5px,transparent 6px),radial-gradient(circle at 15px 8px,#ffffff 0 5px,transparent 5.5px)}.published-steven-drawer.open .published-steven-toggle:after{right:15px;bottom:-5px;width:11px;height:11px}.published-steven-mode-toggle{border:1px solid color-mix(in srgb,var(--theme-accent) 34%,var(--theme-line));background:color-mix(in srgb,var(--theme-surface) 82%,var(--theme-accent) 18%);color:var(--theme-text);cursor:pointer;font-weight:950}.published-steven-mode-toggle:hover{border-color:var(--theme-accent);color:var(--theme-accent)}.published-steven-drawer.expanded.open{top:0;right:0;bottom:0;left:0;width:auto;max-width:none;padding:14px;border-left:0;background:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--theme-accent) 18%,transparent),transparent 26%),linear-gradient(180deg,color-mix(in srgb,var(--theme-steven-bg) 94%,#ffffff 6%),var(--theme-steven-bg))}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-ai-layout{height:calc(100dvh - 78px);grid-template-columns:minmax(320px,.38fr) minmax(0,1fr);gap:12px;padding:12px}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-ai-conversation-rail{display:block;max-height:none;border-right:1px solid var(--theme-line);border-bottom:0}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-embedded-workspace{height:100%;grid-template-rows:auto minmax(0,1fr)}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-embedded-workspace-grid{grid-template-columns:1fr;grid-template-rows:minmax(160px,.42fr) minmax(220px,.58fr)}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-recent-workspace,.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-saved-items.embedded{min-height:0}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-conversation-list,.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-saved-items-list,.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-actions-board{max-height:none}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-saved-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-ai-chat-panel{border:1px solid color-mix(in srgb,var(--theme-accent) 18%,var(--theme-line));border-radius:14px;overflow:hidden}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-ai-thread{padding:18px 22px}.published-steven-drawer.open .steven-ai-page.embedded{height:100%;max-height:none;min-height:0;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--theme-accent) 20%,var(--theme-line));box-shadow:0 26px 80px #00000038,0 0 0 1px color-mix(in srgb,var(--theme-accent) 10%,transparent);display:grid;padding:0}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-layout{height:calc(100dvh - 74px);min-height:0;grid-template-columns:minmax(0,1fr);gap:0}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-conversation-rail{display:none;border-right:0;border-bottom:1px solid var(--theme-line);max-height:278px;overflow:auto;padding:10px}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-conversation-rail.workspace-collapsed{max-height:56px;overflow:visible}.published-steven-drawer.open .steven-ai-page.embedded .steven-embedded-workspace{display:grid;gap:8px}.published-steven-drawer.open .steven-ai-page.embedded .steven-embedded-workspace-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.published-steven-drawer.open .steven-ai-page.embedded .steven-embedded-workspace.open .steven-embedded-workspace-bar{grid-template-columns:auto minmax(0,1fr) auto}.published-steven-drawer.open .steven-ai-page.embedded .steven-embedded-workspace-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px;min-height:0}.published-steven-drawer.open .steven-ai-page.embedded .steven-recent-workspace,.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-items.embedded{min-width:0;border:1px solid color-mix(in srgb,var(--theme-accent) 20%,var(--theme-line));background:color-mix(in srgb,var(--theme-surface) 88%,var(--theme-accent) 12%)}.published-steven-drawer.open .steven-ai-page.embedded .steven-recent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:10px}.published-steven-drawer.open .steven-ai-page.embedded .steven-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.published-steven-drawer.open .steven-ai-page.embedded .steven-workspace-heading strong{color:var(--theme-text);font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.published-steven-drawer.open .steven-ai-page.embedded .steven-workspace-heading span{color:var(--theme-accent);font-size:12px;font-weight:950}.published-steven-drawer.open .steven-ai-page.embedded .steven-new-chat-button{width:auto;min-height:34px;padding:8px 12px;border-radius:999px;font-size:12px;box-shadow:0 8px 18px color-mix(in srgb,var(--theme-accent) 20%,transparent)}.published-steven-drawer.open .steven-ai-page.embedded .steven-history-source{color:var(--theme-muted);font-size:11px;font-weight:900;letter-spacing:.02em;text-align:left;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.published-steven-drawer.open .steven-ai-page.embedded .steven-inline-status{color:var(--theme-accent);font-size:10px;font-weight:950;justify-self:end;max-width:130px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.published-steven-drawer.open .steven-ai-page.embedded .steven-workspace-toggle{grid-column:1 / -1;justify-self:end;min-height:28px;padding:5px 10px;font-size:10px;font-weight:950}.published-steven-drawer.open .steven-ai-page.embedded .steven-embedded-workspace.collapsed .steven-workspace-toggle{grid-column:auto}.published-steven-drawer.open .steven-ai-page.embedded .steven-conversation-list{display:grid;gap:6px;max-height:136px;overflow:auto}.published-steven-drawer.open .steven-ai-page.embedded .steven-conversation-item{min-height:40px}.published-steven-drawer.open .steven-ai-page.embedded .steven-conversation-select{gap:3px;padding:7px 8px}.published-steven-drawer.open .steven-ai-page.embedded .steven-conversation-list strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.published-steven-drawer.open .steven-ai-page.embedded .steven-conversation-list span{font-size:9px}.published-steven-drawer.open .steven-ai-page.embedded .steven-conversation-delete{padding-inline:7px}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-items.embedded{display:grid;gap:8px;margin:0;padding:10px;border:1px solid color-mix(in srgb,var(--theme-accent) 20%,var(--theme-line));background:color-mix(in srgb,var(--theme-surface) 88%,var(--theme-accent) 12%)}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-items-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-items-heading strong{color:var(--theme-text);font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-items-heading small{color:var(--theme-muted);font-size:10px;font-weight:850;text-align:right}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-tabs button{min-height:42px;padding:7px;border:1px solid color-mix(in srgb,var(--theme-accent) 18%,var(--theme-line));background:color-mix(in srgb,var(--theme-control-bg) 84%,var(--theme-accent) 16%);color:var(--theme-text);cursor:pointer;display:grid;gap:3px;font-size:9px;font-weight:950;letter-spacing:.03em;line-height:1.1;text-align:left;text-transform:uppercase}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-tabs button.active{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-control-bg));box-shadow:inset 0 -2px 0 var(--theme-accent)}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-tabs span{color:var(--theme-accent);font-size:14px;font-weight:950}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-items-list,.published-steven-drawer.open .steven-ai-page.embedded .steven-actions-board{display:grid;gap:6px;max-height:74px;overflow:auto}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-item,.published-steven-drawer.open .steven-ai-page.embedded .steven-action-card{min-height:36px;border:1px solid color-mix(in srgb,var(--theme-accent) 16%,var(--theme-line));background:color-mix(in srgb,var(--theme-surface) 82%,transparent)}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-item-open,.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-open{padding:7px 8px}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-item strong,.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-open{font-size:11px;line-height:1.2}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-item span{font-size:9px}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-item>button:not(.steven-saved-item-open),.published-steven-drawer.open .steven-ai-page.embedded .steven-action-card-title button:not(.steven-saved-open){min-width:28px}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;border:0;border-radius:0}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-embedded-title,.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-command-bar,.published-steven-drawer.open .steven-ai-page.embedded .hermes-chat-actions,.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-composer{padding-inline:14px}.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-command-bar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-top:8px;padding-bottom:8px;background:color-mix(in srgb,var(--theme-surface) 95%,var(--theme-accent) 5%);box-shadow:0 1px 0 var(--theme-line)}.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-command-bar .steven-new-chat-button{min-height:30px;padding:6px 11px;border-radius:999px;font-size:11px;white-space:nowrap}.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-save-actions{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:thin}.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-save-actions button{border:1px solid color-mix(in srgb,var(--theme-accent) 22%,var(--theme-line));background:color-mix(in srgb,var(--theme-control-bg) 86%,var(--theme-accent) 14%);color:var(--theme-text);cursor:pointer;flex:0 0 auto;min-height:28px;padding:5px 8px;font-size:10px;font-weight:950;white-space:nowrap}.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-save-actions button:hover:not(:disabled){border-color:var(--theme-accent);color:var(--theme-accent)}.published-steven-drawer.open .steven-ai-page.embedded .steven-compact-save-actions button:disabled{cursor:not-allowed;opacity:.46}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-thread{padding:14px}.published-steven-drawer.open .steven-ai-page.embedded .hermes-chat-actions{gap:6px;padding-top:8px;padding-bottom:8px;background:color-mix(in srgb,var(--theme-surface) 92%,var(--theme-accent) 8%);box-shadow:0 1px 0 var(--theme-line);overflow-x:auto;flex-wrap:nowrap}.published-steven-drawer.open .steven-ai-page.embedded .hermes-chat-actions button{border-color:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-line));border-radius:999px;color:var(--theme-muted);font-size:10px;line-height:1;min-height:28px;padding:6px 9px;white-space:nowrap}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-composer{grid-template-columns:minmax(0,1fr) auto;background:var(--theme-surface);box-shadow:0 -1px 0 var(--theme-line)}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-composer input{min-height:44px}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-composer .primary-button{min-height:44px;padding-inline:16px}@media(max-width:760px){.published-steven-drawer{right:12px;bottom:12px}.published-steven-toggle{min-height:46px;max-width:58px;overflow:hidden;padding:12px 15px;white-space:nowrap}.published-steven-toggle:before{width:25px}.published-steven-toggle:after{right:13px}.published-steven-drawer.open{top:0;right:0;bottom:0;left:0;width:auto;max-width:none;max-height:none;padding:8px}.published-steven-drawer.open .published-steven-toggle{max-width:none;padding:11px 16px}.published-steven-drawer.open .steven-ai-page.embedded,.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-layout{min-height:0;max-height:none}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-layout{height:calc(100dvh - 70px)}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-conversation-rail{display:none;max-height:300px}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-conversation-rail.workspace-collapsed{max-height:56px;overflow:visible}.published-steven-drawer.expanded.open .steven-ai-page.embedded .steven-ai-conversation-rail{display:block}.published-steven-drawer.open .steven-ai-page.embedded .steven-embedded-workspace-grid{grid-template-columns:1fr}.published-steven-drawer.open .steven-ai-page.embedded .steven-saved-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.published-steven-drawer.open .steven-ai-page.embedded .steven-ai-composer{grid-template-columns:1fr}}@keyframes kpi-sheen{0%,58%{opacity:0;transform:translate(-64px) rotate(18deg)}72%{opacity:1}to{opacity:0;transform:translate(124px) rotate(18deg)}}@keyframes dashboard-loading-bar{0%{transform:translate(0)}to{transform:translate(340%)}}@keyframes dashboard-loading-spin{to{transform:rotate(360deg)}}@keyframes dashboard-loading-shimmer{0%{background-position:180% 0}to{background-position:-180% 0}}.empty-state.compact{min-height:300px}.empty-mini{border:1px dashed #cbd5e1;border-radius:14px;padding:14px;color:#64748b;background:#f8fafc;font-size:13px}.selected-visual-meta{display:grid;gap:4px;border:1px solid #dbeafe;border-radius:12px;padding:11px 12px;background:#eff6ff;color:#1e293b}.selected-visual-meta strong{font-size:13px;line-height:1.3}.selected-visual-meta span{color:#64748b;font-size:12px;word-break:break-word}.visual-control-group,.selected-visual-tools{display:grid;gap:9px}.control-label,.tool-group-title{color:#475569;font-size:12px;font-weight:900}.color-swatch-row{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{width:28px;height:28px;border:2px solid #ffffff;border-radius:999px;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer}.color-swatch.active{box-shadow:0 0 0 2px var(--theme-accent)}.selected-visual-tools{border:1px solid #e5e7eb;border-radius:12px;padding:11px;background:#f8fafc}.danger-button:disabled{opacity:.55;cursor:not-allowed}.warehouse-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:stretch}.warehouse-connections-panel,.warehouse-settings-panel,.warehouse-portal-panel,.warehouse-views-panel{grid-column:1 / -1}.warehouse-top-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.warehouse-top-grid>.warehouse-settings-panel,.warehouse-sync-stack .warehouse-runtime-panel{grid-column:auto}.warehouse-sync-stack{display:grid;min-width:0}.warehouse-sync-stack .warehouse-runtime-panel{min-height:100%}.warehouse-sync-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.warehouse-ops-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.warehouse-runtime-panel{grid-column:1 / -1}.warehouse-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.warehouse-source-card{display:grid;gap:8px;min-height:170px;border:1px solid #dbe1ea;border-radius:0;background:#f8fafc;color:#0f172a;cursor:pointer;padding:18px;text-align:left}.warehouse-source-card:hover:not(:disabled){border-color:var(--theme-accent);background:var(--theme-accent-soft)}.warehouse-source-card.disabled{cursor:not-allowed;opacity:.58}.warehouse-source-card strong{font-size:18px}.warehouse-source-card small{color:#64748b;line-height:1.45}.warehouse-source-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--theme-accent-border);background:var(--theme-control-bg);color:var(--theme-accent-strong);font-weight:950}.warehouse-connection-list{display:flex;flex-wrap:wrap;gap:8px}.warehouse-connection-item{display:flex;align-items:center;gap:3px;min-width:170px;border:1px solid var(--theme-line);border-radius:0;background:var(--theme-surface-2);color:var(--theme-text);cursor:pointer;padding:10px 12px;text-align:left}.warehouse-connection-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:1px solid var(--theme-accent-border);background:var(--theme-control-bg);color:var(--theme-accent-strong);font-size:12px;font-weight:950;text-transform:uppercase}.warehouse-connection-item strong{display:block;color:var(--theme-text)}.warehouse-connection-item small{display:block;color:var(--theme-muted);font-size:11px;font-weight:900;text-transform:uppercase}.warehouse-connection-item.active{border-color:var(--theme-accent);background:var(--theme-control-bg-active)}.warehouse-settings-accordion{align-content:start}.warehouse-settings-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.warehouse-settings-accordion summary::-webkit-details-marker{display:none}.warehouse-settings-accordion summary:after{content:"";width:9px;height:9px;flex:0 0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}.warehouse-settings-accordion[open] summary:after{transform:rotate(225deg)}.warehouse-settings-accordion summary h3{margin:0}.warehouse-settings-accordion>*:not(summary){margin-top:12px}.warehouse-view-list{display:grid;gap:10px}.warehouse-view-card{border:1px solid #dbe1ea;background:#f8fafc}.warehouse-view-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px}.warehouse-view-card summary span{color:#0f172a;font-weight:900;overflow-wrap:anywhere}.warehouse-view-card summary small{color:#64748b;font-weight:800;white-space:nowrap}.warehouse-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #e5e7eb;padding:12px}.warehouse-column-item{display:grid;gap:3px;border:1px solid #e5e7eb;background:#fff;padding:9px 10px}.warehouse-column-item strong{color:#0f172a;font-size:12px;overflow-wrap:anywhere}.warehouse-column-item span{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase}.warehouse-view-selector-panel{display:grid;gap:14px}.warehouse-views-accordion{align-content:start}.warehouse-views-accordion>summary{cursor:pointer;list-style:none}.warehouse-views-accordion>summary::-webkit-details-marker{display:none}.warehouse-views-accordion>summary:after{content:"";width:9px;height:9px;flex:0 0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}.warehouse-views-accordion[open]>summary:after{transform:rotate(225deg)}.warehouse-view-tab-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.warehouse-view-tab{flex:0 0 auto;border:1px solid #dbe1ea;border-radius:0;background:#f8fafc;color:#334155;cursor:pointer;font-size:12px;font-weight:850;padding:9px 11px}.warehouse-view-tab.active{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent-strong)}.warehouse-view-matrix{display:grid;gap:10px}.warehouse-view-matrix-title{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #dbe1ea;background:#f8fafc;padding:12px 14px}.warehouse-view-matrix-title span,.warehouse-view-matrix-title small{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.warehouse-view-matrix-title strong{color:#0f172a;overflow-wrap:anywhere}.warehouse-view-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;border:1px solid var(--theme-line);background:var(--theme-surface-2);padding:10px 12px}.warehouse-view-search-row label{display:grid;gap:5px;color:var(--theme-muted);font-size:11px;font-weight:900;text-transform:uppercase}.warehouse-view-search-row input{min-width:0;width:100%}.warehouse-spreadsheet-wrap{max-width:100%;max-height:min(620px,68vh);overflow:auto;border:1px solid #dbe1ea;position:relative}.warehouse-spreadsheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:12px}.warehouse-spreadsheet th,.warehouse-spreadsheet td{max-width:260px;border:1px solid #e5e7eb;padding:8px 10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.warehouse-spreadsheet th{position:sticky;top:0;z-index:2;background:#eef2f7;box-shadow:0 1px #cbd5e1;color:#334155;font-size:11px;font-weight:950;text-transform:uppercase}.warehouse-spreadsheet tbody tr:nth-child(2n){background:#f8fafc}.warehouse-spreadsheet td{color:#0f172a}.warehouse-env-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.connection-test-result{display:grid;gap:4px;border:1px solid #dbe1ea;padding:12px}.connection-test-result.success{border-color:#86efac;background:#f0fdf4;color:#166534}.connection-test-result.failed{border-color:#fecaca;background:#fef2f2;color:#991b1b}.warehouse-kpi-card,.warehouse-status-card,.warehouse-panel{box-sizing:border-box;border:1px solid #dbe1ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.warehouse-kpi-card{position:relative;overflow:hidden;display:grid;align-content:center;gap:12px;min-height:156px;padding:20px;background:linear-gradient(135deg,var(--theme-kpi-start) 0%,var(--theme-kpi-end) 66%);box-shadow:inset 5px 0 0 var(--theme-accent),0 12px 28px var(--theme-accent-glow)}.warehouse-kpi-card:after{content:"";position:absolute;inset:-30% auto -30% 64%;width:110px;transform:rotate(18deg);background:var(--theme-kpi-sheen);animation:kpi-sheen 5.4s ease-in-out infinite}.warehouse-kpi-card span,.warehouse-kpi-card strong{position:relative;z-index:1}.warehouse-kpi-card span,.warehouse-status-card span{color:var(--theme-accent-strong);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.warehouse-kpi-card strong{color:#0f172a;font-size:clamp(22px,2vw,34px);line-height:1.08}.warehouse-status-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;min-height:156px;background:#e5e7eb}.warehouse-status-card>div{display:grid;align-content:center;gap:10px;padding:20px;background:#fff}.warehouse-status-card strong{color:#0f172a;font-size:20px;text-transform:capitalize;overflow-wrap:anywhere}.warehouse-status-card.running strong{color:var(--theme-accent-strong)}.warehouse-status-card.failed strong{color:#b91c1c}.warehouse-status-card.success strong{color:#166534}.warehouse-panel{display:grid;gap:12px;align-content:start;padding:20px}.warehouse-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.warehouse-panel-header strong{color:var(--theme-accent-strong);font-size:30px;line-height:1}.warehouse-panel h3{margin:0}.warehouse-progress-panel{align-content:start}.warehouse-log-panel{align-content:start;min-width:0}.sync-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e2e8f0}.sync-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--theme-accent),#14b8a6);transition:width .22s ease}.sync-step-list{display:grid;gap:10px;margin:4px 0 0;padding:0;list-style:none}.sync-step{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:10px;color:#64748b;font-size:13px}.sync-step span{width:12px;height:12px;border:2px solid #cbd5e1;border-radius:999px;background:#fff}.sync-step p{margin:0}.sync-step.running{color:#1d4ed8;font-weight:800}.sync-step.running span{border-color:#2563eb;background:#2563eb;box-shadow:0 0 0 5px #2563eb24}.sync-step.complete{color:#166534}.sync-step.complete span{border-color:#16a34a;background:#16a34a}.sync-step.failed{color:#b91c1c;font-weight:800}.sync-step.failed span{border-color:#dc2626;background:#dc2626}.warehouse-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.warehouse-details div{display:grid;gap:4px;border:1px solid var(--theme-line);background:var(--theme-surface-2);padding:10px 12px}.warehouse-details dt{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.warehouse-details dd{margin:0;color:#0f172a;overflow-wrap:anywhere}.sync-log{min-height:338px;max-height:520px;overflow:auto;margin:0;border:1px solid rgba(148,163,184,.4);border-radius:0;background:linear-gradient(180deg,#08111f,#0f172a);color:#dbeafe;padding:16px;white-space:pre-wrap;font-size:12px;line-height:1.55;box-shadow:inset 0 1px #ffffff0a}@media(max-width:1000px){.dashboard-workspace{grid-template-columns:1fr}.dashboard-date-slicer-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-canvas-layout{grid-template-columns:1fr}.dashboard-slicer-rail{max-height:none}.warehouse-grid,.warehouse-top-grid,.warehouse-sync-summary-grid,.warehouse-ops-grid,.warehouse-status-card,.warehouse-source-grid,.warehouse-column-grid,.warehouse-details,.warehouse-view-search-row,.warehouse-view-matrix-title{grid-template-columns:1fr}.dashboard-builder-sidebar,.dashboard-inspector-panel{position:static;max-height:none}}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.dashboard-builder-topbar .topbar-actions,.canvas-view-topbar .topbar-actions{padding:6px;border:1px solid var(--theme-line);background:var(--theme-surface);box-shadow:0 8px 22px #0f172a0a}.dashboard-builder-topbar .topbar-actions .secondary-button,.dashboard-builder-topbar .topbar-actions .primary-button,.canvas-view-topbar .topbar-actions .secondary-button,.theme-select-label select{min-height:36px;border-radius:0;padding:8px 11px;box-shadow:none;font-size:12px}.dashboard-builder-topbar .topbar-actions .save-canvas-button{background:var(--theme-accent);color:#fff;border:1px solid var(--theme-accent);font-weight:950;box-shadow:0 8px 18px var(--theme-accent-glow)}.database-status-button.connected{border-color:#16a34a;background:#ecfdf5;color:#166534}.database-status-button.disconnected{border-color:#dc2626;background:#fef2f2;color:#991b1b}.data-sync-control{display:grid;grid-template-columns:auto minmax(210px,1fr) auto;gap:4px 8px;align-items:center;min-width:430px;max-width:560px;padding:6px 8px 5px;border:1px solid var(--theme-line);background:var(--theme-surface-2);color:var(--theme-text)}.published-sync-drawer{position:relative;display:inline-flex;align-items:center;margin:0}.published-sync-drawer>summary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;height:38px;cursor:pointer;list-style:none;border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);padding:0 12px;font-size:12px;font-weight:950;line-height:1;text-transform:uppercase;white-space:nowrap}.app-shell.published-mode .canvas-view-topbar .topbar-actions .secondary-button{min-height:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.published-sync-drawer>summary::-webkit-details-marker{display:none}.published-sync-drawer-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(520px,calc(100vw - 30px));border:1px solid var(--theme-line);background:var(--theme-surface);box-shadow:0 20px 44px #02061742;padding:8px}.app-shell.published-mode .data-sync-control{grid-template-columns:minmax(100px,auto) minmax(170px,1fr) auto;min-width:0;max-width:none;width:100%;border:0;padding:0;background:transparent}.app-shell.published-mode .data-sync-progress-row{margin-top:2px}.data-sync-header{display:flex;grid-column:1;align-items:center;gap:7px;min-width:95px}.data-sync-header span{color:var(--theme-muted);font-size:9px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.data-sync-header strong{color:var(--theme-accent-strong);font-size:11px;font-weight:950}.data-sync-control-main{display:grid;grid-template-columns:minmax(125px,1fr) minmax(92px,auto);gap:7px;align-items:center;min-width:0}.data-sync-control label{display:grid;gap:4px;min-width:0;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--theme-muted)}.data-sync-control select{min-height:25px;width:100%;border:1px solid var(--theme-line);border-radius:0;background:var(--theme-surface);color:var(--theme-text);font-size:11px;font-weight:800}.data-sync-timestamp{display:block;min-width:0}.data-sync-timestamp span,.data-sync-progress-row span{color:var(--theme-muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.data-sync-timestamp strong{overflow:hidden;color:var(--theme-text);display:block;max-width:130px;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.data-sync-actions{display:flex;gap:5px;justify-content:flex-end}.data-sync-control .primary-button.small,.data-sync-control .secondary-button.small,.data-sync-control .danger-button.small{min-height:25px;padding:5px 8px;border-radius:0;font-size:10px;white-space:nowrap}.data-sync-progress-row{display:flex;grid-column:1 / -1;justify-content:space-between;gap:10px;min-width:0;margin-top:-1px}.data-sync-progress-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.data-sync-progress-row strong{color:var(--theme-accent-strong);font-size:11px}.data-sync-mini-track{grid-column:1 / -1;height:3px;overflow:hidden;border-radius:999px;background:var(--theme-line)}.data-sync-mini-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--theme-accent),#14b8a6);transition:width .18s ease}.data-sync-control.running{border-color:var(--theme-accent);box-shadow:0 0 0 1px var(--theme-accent-glow)}.app-shell.dark-mode .database-status-button.connected{border-color:#22c55e;background:#22c55e29;color:#bbf7d0}.app-shell.dark-mode .database-status-button.disconnected{border-color:#ef4444;background:#ef444429;color:#fecaca}.app-shell.dark-mode .data-sync-control{background:var(--theme-surface-2);border-color:var(--theme-line)}.inline-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 12px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-control-bg);color:var(--theme-text);white-space:nowrap}.inline-toggle:has(input:checked){border-color:var(--theme-accent-border);background:var(--theme-control-bg-active);color:var(--theme-text)}.inline-toggle input{width:auto;margin:0}.dashboard-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-title-line h4{margin:0}.chart-status-pill{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;text-transform:uppercase;border:1px solid #e5e7eb;background:#f8fafc;color:#64748b}.database-status-pill{border:1px solid var(--theme-accent-border);background:var(--theme-control-bg-active);color:var(--theme-text);padding:9px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:0;white-space:nowrap}.chart-status-pill.loading{border-color:var(--theme-accent-border);background:var(--theme-control-bg-active);color:var(--theme-accent)}.chart-status-pill.loaded{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.chart-status-pill.error{border-color:#fecaca;background:#fff5f5;color:#b91c1c}.dashboard-chart-card.error{border-color:#fecaca}.loading-card{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.error-card{color:#b91c1c;background:#fff5f5;border-color:#fecaca;padding:18px;text-align:center;word-break:break-word}@media(max-width:1000px){.topbar-actions{justify-content:flex-start}.data-sync-control{min-width:100%;max-width:none}}@media(max-width:760px){.published-sync-drawer,.published-sync-drawer>summary{width:100%}.published-sync-drawer-panel{position:static;width:100%;margin-top:8px;box-shadow:none}.app-shell.published-mode .data-sync-control{grid-template-columns:1fr}.app-shell.published-mode .data-sync-header,.app-shell.published-mode .data-sync-actions{justify-content:space-between}}.dashboard-chart-card.card-size-small,.dashboard-chart-card.card-size-medium,.dashboard-chart-card.card-size-large,.dashboard-chart-card.card-size-full{min-height:120px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:where(button,a,input,select,textarea,summary,[role=tab]):focus-visible{outline:3px solid color-mix(in srgb,var(--theme-accent) 72%,#ffffff 28%);outline-offset:2px}.app-shell.published-mode .canvas-view-topbar{min-height:74px;padding:8px 14px}.app-shell.published-mode .canvas-view-topbar h1{margin:0;color:var(--theme-text);font-size:clamp(20px,2.2vw,28px);letter-spacing:0}.app-shell.published-mode .canvas-brand-logo{height:clamp(48px,5vw,62px);max-width:min(440px,38vw);object-fit:contain;object-position:left center}.app-shell.published-mode .topbar-actions{padding:4px;gap:6px;box-shadow:none}.app-shell.published-mode .theme-select-label{grid-template-columns:auto minmax(92px,118px);min-width:0;gap:6px}.app-shell.published-mode .theme-select-label select{min-height:34px;height:34px;padding:6px 28px 6px 9px}.app-shell.published-mode .published-sync-drawer>summary,.published-account-menu>summary{min-height:34px;height:34px;padding:0 10px;border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);cursor:pointer;display:inline-flex;align-items:center;list-style:none;font-size:11px;font-weight:900;text-transform:uppercase}.published-account-menu{position:relative;margin:0}.published-account-menu>summary::-webkit-details-marker{display:none}.published-account-menu>div{position:absolute;top:calc(100% + 7px);right:0;z-index:40;min-width:130px;border:1px solid var(--theme-line);background:var(--theme-surface);box-shadow:0 16px 36px #0f172a33;padding:6px}.published-account-menu a{display:block;color:var(--theme-text);padding:8px 10px;font-size:12px;font-weight:850;text-decoration:none}.published-account-menu a:hover{background:var(--theme-control-bg-active);color:var(--theme-accent-strong)}.app-shell.published-mode .canvas-view-layout.published-filters-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell.published-mode .published-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:42px;border:0;background:color-mix(in srgb,var(--theme-surface) 94%,var(--theme-accent) 6%);color:var(--theme-text);cursor:pointer;padding:9px 12px;text-align:left}.app-shell.published-mode .published-filter-summary span{flex:0 0 auto;color:var(--theme-text);font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.app-shell.published-mode .published-filter-summary strong{min-width:0;overflow:hidden;color:var(--theme-accent-strong);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.app-shell.published-mode .dashboard-slicer-rail.filters-collapsed{display:block;max-height:none;padding:0;overflow:hidden}.app-shell.published-mode .dashboard-slicer-rail.filters-collapsed>:not(.published-filter-summary){display:none}.app-shell.published-mode .dashboard-slicer-rail.filters-open{padding:10px;overflow:visible}.app-shell.published-mode .dashboard-slicer-rail.filters-open .published-filter-summary{margin:-10px -10px 2px;width:calc(100% + 20px);border-bottom:1px solid var(--theme-line)}.app-shell.published-mode .dashboard-date-slicer-card,.app-shell.published-mode .dashboard-slicer-control{border-radius:6px;background:var(--theme-surface)}.app-shell.published-mode .dashboard-date-slicer-card>summary,.app-shell.published-mode .dashboard-slicer-control>summary{min-height:42px;padding:9px 10px}.app-shell.published-mode .dashboard-date-slicer-card>summary span,.app-shell.published-mode .dashboard-slicer-control>summary span{font-size:12px}.app-shell.published-mode .dashboard-date-slicer-card>summary strong,.app-shell.published-mode .dashboard-slicer-control>summary strong{max-width:56%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell.published-mode .filter-chip{min-height:30px;border-radius:999px;font-size:11px}.app-shell.published-mode .published-responsive-grid{padding-bottom:78px}.app-shell.published-mode .published-responsive-card{border-radius:12px;padding:14px}.app-shell.published-mode .published-responsive-card .dashboard-chart-header{align-items:center;margin-bottom:10px}.app-shell.published-mode .published-responsive-card .dashboard-chart-header h3{margin:0;color:var(--theme-text);font-size:clamp(14px,1.3vw,17px)!important;line-height:1.25}.app-shell.published-mode .published-responsive-card.chart-type-kpi{padding:14px 16px;border-left:4px solid var(--theme-accent)}.app-shell.published-mode .published-responsive-card.chart-type-kpi .dashboard-chart-header{margin-bottom:2px}.app-shell.published-mode .published-responsive-card.chart-type-kpi .kpi-card-visual{align-content:center;gap:7px;padding:4px 0 2px;background:transparent;box-shadow:none}.app-shell.published-mode .published-responsive-card.chart-type-kpi .kpi-card-visual:after{display:none}.app-shell.published-mode .published-responsive-card.chart-type-kpi .kpi-card-visual span{font-size:12px;letter-spacing:.03em}.app-shell.published-mode .published-responsive-card.chart-type-kpi .kpi-card-visual strong{color:var(--theme-text);font-size:clamp(30px,5cqw,48px);line-height:1}.app-shell.published-mode .published-responsive-card .spotlight-kpi{border-radius:8px;box-shadow:inset 3px 0 0 var(--theme-accent)}.app-shell.published-mode .published-responsive-card .chart-scroll-frame{min-height:280px}.report-table-visual{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;border:1px solid var(--theme-border);background:var(--theme-surface)}.report-table-toolbar,.report-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--theme-border);background:var(--theme-surface-2);padding:8px 10px}.report-table-toolbar>div:first-child{display:flex;align-items:baseline;gap:8px}.report-table-toolbar strong,.report-table-pagination span{color:var(--theme-text);font-size:12px}.report-table-toolbar span,.report-table-pagination label{color:var(--theme-muted);font-size:11px;font-weight:800}.report-table-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.report-table-actions button,.report-table-pagination button{min-height:30px;border:1px solid var(--theme-line);background:var(--theme-control-bg);color:var(--theme-text);cursor:pointer;padding:5px 8px;font-size:11px;font-weight:850}.report-table-actions button:hover,.report-table-pagination button:hover:not(:disabled){border-color:var(--theme-accent);color:var(--theme-accent-strong)}.report-table-visual .raw-table-visual{border:0;height:auto}.report-table-visual.compact-density th,.report-table-visual.compact-density td{padding:7px 9px}.report-table-visual.comfortable-density th,.report-table-visual.comfortable-density td{padding:12px 14px}.report-table-visual .raw-table-visual th{top:0;min-width:130px;color:var(--theme-text);font-size:11px;letter-spacing:.03em}.report-table-pagination{justify-content:flex-end;border-top:1px solid var(--theme-border);border-bottom:0}.report-table-pagination label{display:inline-flex;align-items:center;gap:5px}.report-table-pagination select{min-height:30px;padding:4px 24px 4px 6px}.steven-empty-state{align-self:center;justify-self:center;width:min(520px,100%);border:1px solid color-mix(in srgb,var(--theme-accent) 24%,var(--theme-line));border-radius:16px;background:color-mix(in srgb,var(--theme-steven-panel) 90%,var(--theme-accent) 10%);padding:22px;text-align:center}.steven-empty-state>span{color:var(--theme-accent-strong);font-size:11px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.steven-empty-state h3{margin:7px 0 5px;color:var(--theme-text);font-size:20px}.steven-empty-state p{margin:0;color:var(--theme-muted);font-size:13px;line-height:1.5}.steven-empty-prompts{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px}.steven-empty-prompts button{min-height:34px;border:1px solid color-mix(in srgb,var(--theme-accent) 30%,var(--theme-line));border-radius:999px;background:var(--theme-control-bg);color:var(--theme-text);cursor:pointer;padding:7px 10px;font-size:12px;font-weight:850}.published-steven-drawer.open .steven-ai-page.embedded .hermes-chat-actions{flex-wrap:wrap;overflow-x:visible}.published-steven-drawer.open .steven-ai-page.embedded .hermes-chat-actions button{font-size:11px}@media(max-width:900px){.app-shell.published-mode .canvas-view-layout,.app-shell.published-mode .canvas-view-layout.published-filters-open{grid-template-columns:1fr}.app-shell.published-mode .dashboard-slicer-rail.filters-open{max-height:none;padding:10px}.app-shell.published-mode .dashboard-slicer-rail>:not(.published-filter-summary){margin:0}.app-shell.published-mode .canvas-view-topbar{min-height:0}.app-shell.published-mode .canvas-brand-logo{height:46px;max-width:100%}.report-table-toolbar,.report-table-pagination{align-items:stretch;flex-direction:column}.report-table-actions{justify-content:flex-start}}.dashboard-card-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.layout-button-row{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.layout-button-row button,.layout-button{border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#334155;font-size:12px;font-weight:800;padding:7px 10px}.layout-button.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.layout-button-row .danger-button{border-color:#fecaca;background:#fff5f5;color:#b91c1c}@media(max-width:900px){.dashboard-chart-card{grid-column:span 12!important}.dashboard-chart-card.card-size-small,.dashboard-chart-card.card-size-medium,.dashboard-chart-card.card-size-large,.dashboard-chart-card.card-size-full{grid-column:span 12}}@media(max-width:900px){.dashboard-chart-header{flex-direction:column}.dashboard-card-controls{align-items:flex-start}.layout-button-row{justify-content:flex-start}}.formatting-toggle{margin-top:24px}.dashboard-filter-panel code{font-size:.82rem}.filter-summary{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}.filter-summary span{border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:800;padding:6px 10px}.filter-validation{display:grid;gap:6px;margin:14px 0 4px;border:1px solid #fecaca;border-radius:14px;background:#fff5f5;color:#b91c1c;font-size:13px;font-weight:700;padding:10px 12px}.auth-shell{display:grid;grid-template-columns:1fr;min-height:100vh;place-items:center;background:linear-gradient(135deg,#2563eb2e,#0ea5e90a),var(--bg)}.auth-card{width:min(520px,calc(100vw - 32px));padding:32px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow)}.auth-card .brand-mark{width:74px;height:74px;margin-bottom:18px}.auth-card h1{margin:0 0 8px;color:var(--text)}.auth-card p{margin:0 0 18px;color:var(--muted)}.auth-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.auth-meta{margin:14px 0;padding:10px 12px;border:1px solid var(--border);color:var(--muted);background:#94a3b814}.settings-page{display:flex;flex-direction:column;gap:18px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-panel{display:flex;flex-direction:column;gap:12px}.settings-panel label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase}.settings-panel textarea{width:100%;min-height:96px;resize:vertical;border:1px solid #d1d5db;border-radius:0;background:#fff;color:#111827;padding:10px 12px;font:inherit;line-height:1.45;text-transform:none}.app-shell.dark-mode .settings-panel textarea{background:#0b1120;border-color:#334155;color:#e5e7eb}.settings-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strategy-profile-panel{grid-column:1 / -1}.strategy-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strategy-profile-grid label.full{grid-column:1 / -1}.settings-section-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.settings-access-list{max-height:260px;overflow:auto;border:1px solid var(--border)}.settings-access-row{display:grid!important;grid-template-columns:auto 1fr;gap:4px 10px!important;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);text-transform:none!important}.settings-access-row input{grid-row:span 2}.settings-access-row small,.settings-user-row small{color:var(--muted);font-size:.75rem}.settings-user-table{border:1px solid var(--border)}.settings-user-row{display:grid;grid-template-columns:minmax(220px,1.2fr) 150px 150px minmax(160px,.8fr) 110px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.settings-user-row.header{color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase;background:#94a3b814}.settings-user-row>span:first-child{display:grid;gap:2px}@media(max-width:900px){.settings-grid,.settings-user-row,.strategy-profile-grid{grid-template-columns:1fr}.strategy-profile-grid label.full{grid-column:auto}}
