@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700&display=swap";:root{color-scheme:light;--bg: #f5f0e8;--surface: rgba(255, 255, 255, .92);--surface-strong: #ffffff;--surface-subtle: #fbf8f2;--surface-border: rgba(24, 33, 47, .08);--text: #18212f;--muted: #6f7283;--accent: #0f766e;--accent-strong: #133c63;--accent-soft: #d8f2ef;--success-soft: #d9f3ed;--highlight: #f59e0b;--highlight-soft: #f7e7c7;--danger-soft: #f2dede;--shadow: 0 16px 36px rgba(15, 23, 42, .06);--font-body: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1120;--surface: rgba(17, 24, 39, .9);--surface-strong: #111827;--surface-subtle: #172033;--surface-border: rgba(148, 163, 184, .18);--text: #e5edf7;--muted: #aab7c8;--accent: #2dd4bf;--accent-strong: #60a5fa;--accent-soft: rgba(45, 212, 191, .16);--success-soft: rgba(45, 212, 191, .16);--highlight: #fbbf24;--highlight-soft: rgba(251, 191, 36, .16);--danger-soft: rgba(248, 113, 113, .16);--shadow: 0 18px 42px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html{text-rendering:geometricPrecision}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:13px;font-synthesis-weight:none;color:var(--text);background:radial-gradient(circle at top left,rgba(245,158,11,.07),transparent 20%),radial-gradient(circle at right top,rgba(15,118,110,.05),transparent 18%),linear-gradient(180deg,#fbf8f2,#f2ede5)}:root[data-theme=dark] body{background:radial-gradient(circle at top left,rgba(96,165,250,.12),transparent 24%),radial-gradient(circle at right top,rgba(45,212,191,.09),transparent 22%),linear-gradient(180deg,#0b1120,#111827)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#app{min-height:100vh}.shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.sidebar{padding:28px 22px;background:radial-gradient(circle at top,rgba(245,158,11,.14),transparent 22%),radial-gradient(circle at 80% 20%,rgba(45,212,191,.12),transparent 18%),linear-gradient(180deg,#101828,#162338);color:#eef2f6;position:sticky;top:0;height:100vh;align-self:start;border-right:1px solid rgba(255,255,255,.06)}.sidebar__content{min-height:100%;display:flex;flex-direction:column}.brand-lockup{display:grid;gap:10px;padding:14px 16px;margin-bottom:16px;border-radius:24px;background:linear-gradient(135deg,#2d4262f5,#14273df0),linear-gradient(180deg,#f59e0b14,#2dd4bf0f);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0f,0 18px 36px #0309123d}.brand-heading{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{width:66px;height:66px;border-radius:20px;box-shadow:0 16px 34px #040a1457}.brand-copy{min-width:0;width:100%}.brand-copy--hidden{display:none}.brand-tagline{margin:0;color:#e5eef8bd;font-size:.47rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;max-width:none}.sidebar h1{margin:0;font-family:"Sora",var(--font-display);font-size:clamp(1.7rem,2.6vw,1.2rem);line-height:.98;letter-spacing:-.045em;color:#f8fbff;text-shadow:0 1px 0 rgba(255,255,255,.04);white-space:nowrap}.intro{color:#eef2f6b8;line-height:1.55;font-size:.86rem}.nav{display:grid;gap:10px;margin-top:auto;padding-top:20px}.nav a{padding:10px 12px;border:1px solid rgba(245,158,11,.16);border-radius:14px;background:linear-gradient(135deg,#142235eb,#16344af0);color:#eef4fa;box-shadow:0 10px 24px #080f182e;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease;font-size:.88rem;font-weight:600}.nav a:hover{transform:translate(2px);background:linear-gradient(135deg,#1e2f47f5,#116872eb);box-shadow:0 14px 26px #080f183d}.nav a.router-link-active{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fde68a61;color:#fff}.theme-toggle{width:100%;display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;border:1px solid rgba(245,158,11,.16);border-radius:14px;background:linear-gradient(135deg,#142235d1,#16344ad6);color:#eef4fa;cursor:pointer;font-size:.84rem;font-weight:700;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.theme-toggle:hover{transform:translate(2px);border-color:#2dd4bf47}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.content{padding:24px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.auth-panel{width:min(100%,460px);display:grid;gap:18px;padding:28px;border-radius:28px;border:1px solid rgba(24,33,47,.08);background:#fffffff0;box-shadow:0 18px 42px #0f172a14}.auth-brand{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center}.auth-brand__mark{width:64px;height:64px;border-radius:18px;box-shadow:0 12px 28px #040a1433}.auth-brand h1{margin:.2rem 0 .4rem;font-family:"Sora",var(--font-display);font-size:1.55rem;letter-spacing:-.04em}.auth-brand p:last-child{margin:0;color:var(--muted);line-height:1.5}.auth-tabs{display:flex;gap:10px}.auth-tabs .secondary-button{flex:1 1 0}.auth-tabs__active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border-color:transparent}.topbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar h2{margin:.25rem 0 0;font-family:var(--font-display);font-size:1.4rem;letter-spacing:-.04em}.topbar__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.test-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-tools__button{border-color:#b453093d;background:#fff7edf5;color:#9a3412;font-size:.74rem;font-weight:700}.test-tools__button:hover{background:#ffedd5fa;border-color:#b4530957}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.58rem;font-weight:800;color:var(--muted)}.sidebar .eyebrow{color:#dce4ec9e}.page-grid{display:grid;gap:18px}.builder-grid{grid-template-columns:1.05fr .95fr}.builder-grid .section-card:first-child{border-color:#2563eb33;background:linear-gradient(135deg,#2563eb14,#fff0 42%),var(--surface)}.builder-grid .section-card:last-child{border-color:#0f766e38;background:linear-gradient(135deg,#0f766e17,#fff0 42%),var(--surface)}.section-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:22px;padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-card__header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.section-card__header h3{margin:.35rem 0 0;font-family:var(--font-display);font-size:1.12rem;letter-spacing:-.03em}.stack{display:grid;gap:14px}.field{display:grid;gap:7px}.field--actions{align-content:end}.field span{font-weight:700;font-size:.79rem}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(24,33,47,.12);background:#fffffff5;color:var(--text);box-shadow:inset 0 1px #ffffffbf;font-size:.87rem}.field input:focus,.field select:focus,.field textarea:focus,.legacy-grid__text input:focus,.legacy-grid__type input:focus,.legacy-grid__agg select:focus{outline:none;border-color:#0f766e57;box-shadow:0 0 0 4px #0f766e1a}.primary-button{border:none;border-radius:999px;padding:10px 15px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;font-weight:700;cursor:pointer;box-shadow:0 10px 20px #0f766e29;transition:transform .16s ease,box-shadow .16s ease;font-size:.85rem}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 26px #0f766e38}.secondary-button,.text-button{border:1px solid rgba(24,33,47,.12);border-radius:999px;padding:8px 13px;background:#ffffffe6;color:var(--text);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease;font-size:.84rem}.secondary-button:hover,.text-button:hover{background:#f4f7fbfa;border-color:#0f766e33;transform:translateY(-1px)}.text-button{padding:6px 9px;font-size:.76rem}.danger-button{color:#b91c1c;border-color:#b91c1c33}.danger-button:hover{background:#fef2f2f5;border-color:#b91c1c52}.dataset-register{display:grid;border:1px solid rgba(24,33,47,.09);border-radius:16px;overflow:hidden;background:#fffffff5}.dataset-register__row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(180px,1.3fr) minmax(150px,1fr) 80px minmax(160px,auto);gap:0;align-items:center;border-top:1px solid rgba(24,33,47,.07)}.dataset-register__row:first-child{border-top:0}.dataset-register__row>div{min-width:0;padding:12px 14px;color:var(--muted);font-size:.84rem}.dataset-register__row strong,.dataset-register__row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataset-register__row strong{color:var(--text);font-size:.9rem}.dataset-register__row span{margin-top:3px;color:var(--muted);font-size:.76rem}.dataset-register__row--head{background:#f6f8fbf5}.dataset-register__row--head>div{color:var(--text);font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0f172a75}.modal-panel{width:min(100%,760px);max-height:calc(100vh - 48px);display:grid;gap:18px;overflow:auto;border-radius:22px;border:1px solid rgba(255,255,255,.44);background:#fffffffa;box-shadow:0 28px 80px #0f172a47;padding:22px}.modal-panel--wide{width:min(100%,1120px)}.modal-panel__header,.modal-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-panel__header h3{margin:.25rem 0 0;font-family:var(--font-display);font-size:1.12rem}.modal-panel__footer{position:sticky;bottom:-22px;margin:0 -22px -22px;padding:14px 22px;border-top:1px solid rgba(24,33,47,.08);background:#fffffffa}.primary-button:disabled{opacity:.6;cursor:not-allowed}.primary-button.is-busy:disabled{cursor:wait}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#f59e0b24;color:#a16207;font-size:.73rem;font-weight:700}.status-pill.muted{background:#356b631a;color:#356b63}.onboarding-link{display:inline-flex;align-items:center;justify-content:center}.dashboard-list,.dataset-list{display:grid;gap:10px}.dashboard-create-form,.widget-save-form{margin-bottom:16px}.widget-builder-panel{padding:16px;border:1px solid rgba(37,99,235,.18);border-radius:18px;background:linear-gradient(180deg,#2563eb14,#ffffffc2),#ffffffb8}.widget-builder-intro{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}.widget-builder-intro__icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;box-shadow:0 12px 22px #2563eb3d}.widget-builder-intro__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.widget-builder-intro h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.04rem}.widget-builder-intro p{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem}.dataset-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-button{border:none;border-radius:999px;padding:10px 16px;font-weight:700;font-size:.84rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.action-button:hover{transform:translateY(-1px)}.action-button:disabled{opacity:.6;cursor:wait}.action-button--save{background:linear-gradient(135deg,#1d6f5f,#155549);color:#fff;box-shadow:0 12px 24px #15554938}.action-button--save:hover{box-shadow:0 16px 28px #15554947}.action-button--cancel{background:linear-gradient(135deg,#f59e0b,#c2410c);color:#fff;box-shadow:0 12px 24px #b4530933}.action-button--cancel:hover{box-shadow:0 16px 28px #b4530942}.nested-panel{border:1px solid rgba(24,33,47,.08);border-radius:18px;padding:16px;background:#fbf8f2eb}.legacy-grid-wrap{overflow-x:auto;border:1px solid rgba(24,33,47,.1);border-radius:20px;background:#fffffff2}.legacy-grid{min-width:1160px}.legacy-grid__row{display:grid;grid-template-columns:70px 170px 180px 95px 90px 120px 110px minmax(260px,1fr) 78px;gap:0;align-items:center;border-top:1px solid rgba(24,33,47,.07)}.legacy-grid__row:first-child{border-top:0}.legacy-grid__row>div{padding:10px 8px;min-height:56px;display:flex;align-items:center;border-left:1px solid rgba(24,33,47,.05)}.legacy-grid__row>div:first-child{border-left:0;justify-content:center}.legacy-grid__row--head{background:linear-gradient(180deg,#f8f1e2fa,#f2eadcf5);font-weight:700;color:#4b3a23}.legacy-grid__row--head>div{min-height:46px;align-items:center}.legacy-grid__text input,.legacy-grid__type input,.legacy-grid__agg select{width:100%;border:1px solid rgba(24,33,47,.12);background:#fff;border-radius:10px;padding:8px 10px;font-size:.83rem}.legacy-grid__check{justify-content:center}.legacy-grid__check input{width:16px;height:16px}.legacy-grid__actions{justify-content:center;padding-left:4px!important;padding-right:4px!important}.legacy-grid__actions .text-button{padding:6px 8px;font-size:.75rem;white-space:nowrap}.legacy-grid__actions-head{justify-content:center}.dashboard-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.dashboard-list__item{min-width:200px;max-width:240px;padding:10px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 22%,rgba(24,33,47,.09));background:linear-gradient(90deg,color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 9%,transparent),#fff0 44%),linear-gradient(180deg,#fffffffa,#f8f9fafa);display:flex;align-items:center;gap:10px;cursor:pointer;box-shadow:0 8px 20px #0f172a0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;flex:0 0 auto}.dashboard-list__glyph{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 16%,white);border:1px solid color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 24%,transparent);color:var(--dashboard-accent-text, var(--accent));font-family:"Sora",var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.01em;flex:0 0 auto}.dashboard-list__copy{display:grid;gap:3px;min-width:0;text-align:left}.dashboard-list__item strong{font-size:.88rem;line-height:1.15;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-list__copy span{font-size:.74rem;color:var(--muted)}.dashboard-list__item.active{border-color:color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 48%,transparent);box-shadow:inset 4px 0 0 var(--dashboard-accent),0 12px 26px color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 18%,transparent);background:linear-gradient(90deg,var(--dashboard-accent-soft, rgba(14, 165, 233, .17)),var(--dashboard-accent-faint, rgba(20, 184, 166, .09)) 54%,rgba(255,255,255,.99));transform:translateY(-1px)}.dashboard-list__item.active .dashboard-list__glyph{background:#fff;border:1px solid color-mix(in srgb,var(--dashboard-accent) 48%,transparent);color:var(--dashboard-accent);box-shadow:inset 0 0 0 1px #ffffffc7,0 6px 14px color-mix(in srgb,var(--dashboard-accent, #0ea5e9) 22%,transparent)}.dashboard-list__item.active strong{color:var(--dashboard-accent-text, #1d4ed8)}.dashboard-canvas{background:var(--surface);border:1px solid var(--surface-border);border-radius:22px;padding:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-detail__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:2px 2px 14px;border-bottom:1px solid rgba(24,33,47,.08)}.dashboard-title-block{display:flex;align-items:center;gap:12px;min-width:0}.dashboard-title-block__marker{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,var(--dashboard-accent-soft, rgba(37, 99, 235, .14)),var(--dashboard-accent-faint, rgba(15, 118, 110, .1)));border:1px solid color-mix(in srgb,var(--dashboard-accent, #2563eb) 28%,transparent);color:var(--dashboard-accent-text, #1d4ed8);font-family:"Sora",var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.01em;box-shadow:inset 4px 0 0 var(--dashboard-accent, #2563eb),inset 0 0 0 1px #ffffff9e,0 8px 18px color-mix(in srgb,var(--dashboard-accent, #2563eb) 12%,transparent);flex:0 0 auto}.dashboard-title-block h2{margin:0;font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.48rem);line-height:1.1;letter-spacing:0}.dashboard-title-block p{margin:.3rem 0 0;color:var(--muted);line-height:1.35;font-size:.86rem}.dashboard-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.dashboard-count{color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.widget-grid__item{position:relative;min-width:0}.widget-grid__item,.widget-grid__placeholder{transition:transform .16s ease,opacity .16s ease}.widget-grid__item--wide,.widget-grid__placeholder--wide{grid-column:span 2}.widget-grid__placeholder{min-height:460px;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(15,118,110,.38);border-radius:20px;background:linear-gradient(135deg,#0f766e1a,#2563eb0f),#ffffff85;color:var(--accent);font-size:.82rem;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff6b;animation:placeholder-pulse 1.1s ease-in-out infinite alternate}@keyframes placeholder-pulse{0%{border-color:#0f766e47}to{border-color:#2563eb75}}.widget-grid--sorting{pointer-events:none}.dashboard-sort-status{margin-top:12px}.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.widget-drag-preview{position:fixed;top:0;left:0;z-index:120;pointer-events:none;padding:16px;border:1px solid rgba(15,118,110,.3);border-radius:20px;background:linear-gradient(135deg,#0f766e1f,#2563eb14),#fffffff5;box-shadow:0 24px 54px #0f172a3d;color:var(--text)}.widget-drag-preview strong,.widget-drag-preview span{display:block}.widget-drag-preview strong{margin-top:.35rem;font-size:.98rem}.widget-drag-preview span{margin-top:.55rem;color:var(--muted);font-size:.84rem;line-height:1.45}.widget-preview{background:linear-gradient(180deg,#fffffffa,#f8fafcfa);border:1px solid rgba(24,33,47,.08);border-radius:20px;padding:18px;box-shadow:0 14px 32px #0f172a0f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.widget-grid__item--wide .chart-host{min-height:360px}.chart-shell{margin:14px 0;border-radius:18px;background:linear-gradient(180deg,#f8fafcfa,#f2f5f9f5);border:1px solid rgba(24,33,47,.07);padding:10px}.chart-host{width:100%;min-height:280px}.widget-preview__header{display:flex;justify-content:space-between;gap:12px}.widget-preview__actions{display:flex;align-items:center;gap:8px}.widget-preview__header h4{margin:.35rem 0 0}.icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(24,33,47,.1);background:#ffffffeb;color:var(--muted);transition:transform .16s ease,border-color .16s ease,color .16s ease,background-color .16s ease}.icon-button:hover{transform:translateY(-1px);border-color:#0f766e38;background:#f7f9fc;color:var(--accent)}.icon-button--danger:hover{border-color:#b91c1c47;background:#fef2f2f5;color:#b91c1c}.icon-button svg{width:15px;height:15px}.widget-preview__question{color:var(--muted);line-height:1.55;font-size:.87rem}.widget-preview__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.widget-preview__meta dt{font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.widget-preview__meta dd{margin:.35rem 0 0;font-weight:700}.preview-callout{padding:18px;border:1px solid rgba(15,118,110,.18);border-radius:20px;background:linear-gradient(135deg,#0f766e1f,#f59e0b14)}.preview-callout h3{margin-top:0}.success-banner{margin-top:16px;border-radius:18px;padding:14px 16px;background:#356b631f;color:#2d5b55;font-weight:700}.code-panel{background:#1c2531;color:#eef2f6;padding:16px;border-radius:20px;overflow:auto;box-shadow:inset 0 1px #ffffff0a}.code-panel pre{margin:0;white-space:pre-wrap}.technical-details{display:grid;gap:12px}.technical-details summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:800}.technical-details[open] summary{color:var(--text)}.field-reference{display:grid;border:1px solid rgba(24,33,47,.09);border-radius:16px;overflow:hidden;background:#fffffff5}.field-reference>.empty-state{border-width:0 0 1px;border-radius:0}.field-reference__row{display:grid;grid-template-columns:minmax(190px,1.3fr) 120px 140px minmax(220px,1.4fr);align-items:center;border-top:1px solid rgba(24,33,47,.07)}.field-reference__row>div{min-width:0;padding:12px 14px;color:var(--muted);font-size:.84rem}.field-reference__row strong,.field-reference__row span{display:block}.field-reference__row strong{color:var(--text);font-size:.9rem}.field-reference__row--head{background:linear-gradient(90deg,#2563eb1a,#0f766e14);border-top:0}.field-reference__row--head>div{color:var(--text);font-weight:800}.drilldown-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 150px auto;gap:14px;align-items:end}.field--compact select{min-height:42px}.data-table-wrap{max-height:58vh;overflow:auto;border:1px solid rgba(24,33,47,.09);border-radius:16px;background:#fffffff5}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid rgba(24,33,47,.07);text-align:left;vertical-align:top;font-size:.82rem}.data-table th{position:sticky;top:0;z-index:1;background:linear-gradient(90deg,#2563eb1a,#0f766e14)}.data-table th button{display:inline-flex;align-items:center;gap:7px;border:0;padding:0;background:transparent;color:var(--text);cursor:pointer;font-weight:800}.data-table th span{color:var(--muted);font-size:.68rem;text-transform:uppercase}.data-table td{color:var(--muted);white-space:nowrap}.drilldown-pager{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.86rem}.synonym-list{display:flex!important;flex-wrap:wrap;gap:6px}.synonym-pill{display:inline-flex!important;width:fit-content;border-radius:999px;padding:5px 8px;background:#2563eb1a;color:#1d4ed8;font-size:.75rem;font-weight:700}.muted-text{color:var(--muted)}.empty-state{border:1px dashed rgba(24,33,47,.18);border-radius:20px;padding:20px;color:var(--muted);background:#ffffff8f}.onboarding-state h3{margin:0 0 .45rem;color:var(--text)}.onboarding-state p{margin:0;line-height:1.55}.onboarding-steps{display:grid;gap:12px;margin:16px 0}.onboarding-steps--compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.onboarding-step{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:12px;border-radius:16px;background:#ffffffa6;border:1px solid rgba(24,33,47,.08)}.onboarding-step--active{border-color:color-mix(in srgb,var(--step-color) 62%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--step-color) 17%,#fff),#fffffff5);box-shadow:0 12px 28px color-mix(in srgb,var(--step-color) 16%,transparent)}.onboarding-step .dashboard-list__glyph{width:38px;height:38px;background:linear-gradient(135deg,var(--step-color),var(--step-color-strong));color:#fff;box-shadow:0 10px 18px color-mix(in srgb,var(--step-color) 28%,transparent)}.onboarding-step .dashboard-list__glyph svg,.step-heading-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.onboarding-step strong{display:block;margin-bottom:4px;color:var(--text)}.onboarding-step--connect,.step-panel--connect{--step-color: #2563eb;--step-color-strong: #1d4ed8;--step-soft: rgba(37, 99, 235, .14);--step-border: rgba(37, 99, 235, .38)}.onboarding-step--view,.step-panel--view{--step-color: #d97706;--step-color-strong: #b45309;--step-soft: rgba(217, 119, 6, .16);--step-border: rgba(217, 119, 6, .4)}.onboarding-step--fields,.step-panel--fields{--step-color: #0f766e;--step-color-strong: #0d9488;--step-soft: rgba(15, 118, 110, .15);--step-border: rgba(15, 118, 110, .4)}.step-panel{position:relative;border-color:var(--step-border);background:linear-gradient(90deg,var(--step-soft),rgba(255,255,255,0) 48%),#ffffffb8;box-shadow:inset 6px 0 0 var(--step-color),0 10px 24px color-mix(in srgb,var(--step-color) 8%,transparent)}.step-panel .section-subhead h4{display:inline-flex;align-items:center;gap:9px;color:var(--step-color)}.step-heading-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,var(--step-color),var(--step-color-strong));color:#fff;box-shadow:0 8px 14px color-mix(in srgb,var(--step-color) 24%,transparent)}.semantic-tip{padding:16px}.empty-state.error{color:#8b3131;background:#f2dede70}.checkbox-row{display:flex;align-items:center;gap:10px}.checkbox-row--padded{align-self:end;min-height:52px}.two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-subhead h4{margin:0}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .section-card,:root[data-theme=dark] .dashboard-canvas,:root[data-theme=dark] .modal-panel,:root[data-theme=dark] .widget-preview,:root[data-theme=dark] .dataset-register,:root[data-theme=dark] .field-reference,:root[data-theme=dark] .data-table-wrap,:root[data-theme=dark] .legacy-grid-wrap{background:var(--surface);border-color:var(--surface-border);box-shadow:var(--shadow)}:root[data-theme=dark] .builder-grid .section-card:first-child{border-color:#60a5fa47;background:linear-gradient(135deg,#60a5fa1f,#11182700 44%),var(--surface)}:root[data-theme=dark] .builder-grid .section-card:last-child{border-color:#2dd4bf47;background:linear-gradient(135deg,#2dd4bf1f,#11182700 44%),var(--surface)}:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .legacy-grid__text input,:root[data-theme=dark] .legacy-grid__type input,:root[data-theme=dark] .legacy-grid__agg select{background:#0f172ae0;border-color:#94a3b838;color:var(--text);box-shadow:inset 0 1px #ffffff0a}:root[data-theme=dark] .field input::placeholder,:root[data-theme=dark] .field textarea::placeholder{color:#aab7c8a3}:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .text-button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .drag-handle{background:#0f172ab8;border-color:#94a3b833;color:var(--text)}:root[data-theme=dark] .primary-button{border:1px solid rgba(45,212,191,.38);background:#0f766e38;color:#ccfbf1;box-shadow:0 12px 26px #00000038,inset 0 1px #ffffff0f}:root[data-theme=dark] .primary-button:hover{background:#14b8a647;border-color:#5eead480;box-shadow:0 16px 30px #00000047,inset 0 1px #ffffff14}:root[data-theme=dark] .secondary-button:hover,:root[data-theme=dark] .text-button:hover,:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .drag-handle:hover{background:#1e293bf0;border-color:#2dd4bf57}:root[data-theme=dark] .danger-button,:root[data-theme=dark] .icon-button--danger:hover{color:#fca5a5;border-color:#f8717142}:root[data-theme=dark] .danger-button:hover,:root[data-theme=dark] .icon-button--danger:hover{background:#7f1d1d42}:root[data-theme=dark] .status-pill{background:#fbbf2429;color:#fcd34d}:root[data-theme=dark] .status-pill.muted{background:#2dd4bf21;color:#5eead4}:root[data-theme=dark] .empty-state,:root[data-theme=dark] .semantic-tip{background:#0f172a7a;border-color:#94a3b833}:root[data-theme=dark] .empty-state.error{color:#fecaca;background:#7f1d1d33;border-color:#f871713d}:root[data-theme=dark] .success-banner{background:#14532d3d;color:#bbf7d0;border-color:#4ade8033}:root[data-theme=dark] .preview-callout,:root[data-theme=dark] .widget-builder-panel{background:linear-gradient(135deg,#2dd4bf21,#60a5fa14),#0f172a94;border-color:#2dd4bf38}:root[data-theme=dark] .nested-panel,:root[data-theme=dark] .step-panel{background:linear-gradient(90deg,var(--step-soft, rgba(45, 212, 191, .1)),rgba(17,24,39,0) 48%),#0f172a94;border-color:var(--step-border, var(--surface-border))}:root[data-theme=dark] .dashboard-list__item,:root[data-theme=dark] .dataset-register__row--head,:root[data-theme=dark] .field-reference__row--head,:root[data-theme=dark] .data-table th,:root[data-theme=dark] .legacy-grid__row--head{background:linear-gradient(90deg,color-mix(in srgb,var(--dashboard-accent, #22d3ee) 12%,transparent),#1e293b00 46%),#1e293bbd;color:var(--text)}:root[data-theme=dark] .data-table th,:root[data-theme=dark] .data-table td{border-color:#94a3b824}:root[data-theme=dark] .dashboard-list__item{border-color:color-mix(in srgb,var(--dashboard-accent, #22d3ee) 24%,rgba(148,163,184,.16))}:root[data-theme=dark] .dashboard-list__glyph{background:color-mix(in srgb,var(--dashboard-accent, #22d3ee) 18%,rgba(15,23,42,.82));border-color:color-mix(in srgb,var(--dashboard-accent, #22d3ee) 28%,transparent);color:#dbeafe}:root[data-theme=dark] .dashboard-list__item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--dashboard-accent, #38bdf8) 26%,transparent),color-mix(in srgb,var(--dashboard-accent-strong, #2dd4bf) 14%,transparent) 54%,#0f172ad1);border-color:color-mix(in srgb,var(--dashboard-accent, #38bdf8) 52%,transparent);box-shadow:inset 4px 0 0 var(--dashboard-accent),0 12px 26px #0000003d}:root[data-theme=dark] .dashboard-list__item.active .dashboard-list__glyph,:root[data-theme=dark] .dashboard-title-block__marker{background:linear-gradient(135deg,color-mix(in srgb,var(--dashboard-accent, #38bdf8) 28%,transparent),color-mix(in srgb,var(--dashboard-accent-strong, #2dd4bf) 16%,transparent));border-color:color-mix(in srgb,var(--dashboard-accent, #38bdf8) 50%,transparent);color:#e0f2fe;box-shadow:inset 4px 0 0 var(--dashboard-accent, #60a5fa),inset 0 0 0 1px #94a3b814,0 8px 16px #00000038}:root[data-theme=dark] .dashboard-list__item.active strong{color:#e0f2fe}:root[data-theme=dark] .dashboard-detail__header{border-color:#94a3b824}:root[data-theme=dark] .widget-grid__placeholder{border-color:#2dd4bf61;background:linear-gradient(135deg,#2dd4bf1f,#60a5fa14),#0f172a80;color:#5eead4;box-shadow:inset 0 0 0 1px #94a3b81a}:root[data-theme=dark] .widget-drag-preview{background:linear-gradient(135deg,#2dd4bf21,#60a5fa17),#0f172af5;border-color:#2dd4bf52;box-shadow:0 24px 54px #0000005c}:root[data-theme=dark] .chart-shell{background:linear-gradient(180deg,#0f172acc,#111827f0);border-color:#94a3b824}:root[data-theme=dark] .modal-backdrop{background:#020617b8}:root[data-theme=dark] .modal-panel__footer{background:#111827fa;border-color:#94a3b82e}:root[data-theme=dark] .code-panel{background:#020617;color:#dbeafe}:root[data-theme=dark] .synonym-pill{background:#60a5fa29;color:#bfdbfe}:root[data-theme=dark] .onboarding-step{background:#0f172a8f;border-color:#94a3b829}:root[data-theme=dark] .onboarding-step--active{background:linear-gradient(180deg,color-mix(in srgb,var(--step-color) 20%,rgba(15,23,42,.82)),#0f172ab8)}@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.builder-grid{grid-template-columns:1fr}.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col-grid,.field-editor-grid,.dataset-picker-row,.drilldown-toolbar,.dataset-register__row,.field-reference__row{grid-template-columns:1fr}.dataset-register__row--head,.field-reference__row--head{display:none}.dataset-register__row>div,.field-reference__row>div{padding:9px 12px}.modal-backdrop{padding:12px}.modal-panel{max-height:calc(100vh - 24px);border-radius:18px;padding:16px}.modal-panel__header,.modal-panel__footer{align-items:stretch;flex-direction:column}.modal-panel__footer{bottom:-16px;margin:0 -16px -16px;padding:12px 16px}.dashboard-detail__header{align-items:stretch;flex-direction:column}.dashboard-actions{justify-content:space-between}.onboarding-steps--compact{grid-template-columns:1fr}}@media(max-width:680px){.widget-grid{grid-template-columns:1fr}.widget-grid__item--wide,.widget-grid__placeholder--wide{grid-column:span 1}}
