body{margin:0}:root{--bg:#f0f2f5;--surface:#fff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--radius:8px;--font-size-min:12px;color:var(--text);background:var(--bg);font-family:IBM Plex Sans,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}small{font-size:var(--font-size-min)}#root{min-height:100vh}.lucide-icon{flex-shrink:0;display:inline-block}.app-shell{--app-sidebar-width:208px;grid-template-columns:var(--app-sidebar-width) minmax(0, 1fr);background:var(--bg);width:100%;max-width:100vw;min-height:100vh;display:grid;overflow-x:clip}.app-shell:before{content:"";background:var(--surface);border-right:1px solid var(--border);grid-area:1/1/-1;align-self:stretch;min-height:100vh}.app-sidebar{width:var(--app-sidebar-width);z-index:60;overscroll-behavior:contain;background:0 0;flex-direction:column;grid-area:1/1;gap:18px;height:100dvh;padding:20px 14px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.app-sidebar-brand{border-bottom:1px solid #f1f5f9;padding:2px 10px 14px}.app-sidebar-brand strong{color:var(--text);margin-top:5px;font-size:1rem;line-height:1.2;display:block}.app-nav{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.workspace-task-checklist{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:12px;margin:0 2px;padding:10px 12px}.workspace-task-checklist-toggle{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0;display:grid}.workspace-task-checklist-toggle small{color:var(--muted);font-size:var(--font-size-min)}.workspace-task-steps{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.workspace-task-steps li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding-top:8px;display:grid}.workspace-task-step-copy strong{font-size:.8125rem;display:block}.workspace-task-step-copy small{color:var(--muted);font-size:var(--font-size-min);margin-top:2px;line-height:1.35;display:block}.workspace-task-step-optional{color:var(--muted);font-size:var(--font-size-min);margin-left:6px;font-weight:500}.workspace-task-step-go{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--font-size-min);cursor:pointer;border-radius:999px;padding:2px 8px}.workspace-task-step-done{color:#0f766e}.field-card-definition{background:color-mix(in srgb, var(--surface) 90%, transparent);border:1px dashed var(--border);font-size:var(--font-size-min);color:var(--muted);border-radius:8px;margin-top:8px;padding:8px 10px;line-height:1.45}.field-card-definition strong{color:var(--text);margin-bottom:4px;font-size:.8125rem;display:block}.app-sidebar-footer{border-top:1px solid #f1f5f9;gap:10px;margin-top:auto;padding-top:12px;display:grid}.app-sidebar-locale{justify-self:stretch}.locale-switcher{border:1px solid var(--border);background:#f8fafc;border-radius:8px;align-items:center;gap:4px;padding:3px;display:inline-flex}.locale-switcher-compact{width:100%}.locale-switcher-btn{color:#64748b;min-height:28px;font-family:inherit;font-size:var(--font-size-min);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:0 10px;font-weight:700}.locale-switcher-btn:hover{color:var(--text);background:#fff}.locale-switcher-btn-active,.locale-switcher-btn-active:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.app-nav-group{gap:6px;display:grid}.app-nav-group-label{color:#94a3b8;font-size:var(--font-size-min);padding:0 10px;font-weight:800;line-height:1.4}.app-nav-group-items{flex-direction:column;gap:4px;display:flex}.app-nav-item{color:#475569;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;font-family:inherit;font-size:.875rem;font-weight:600;display:flex}.app-nav-item:hover{border-color:var(--border);color:var(--text);background:#f8fafc}.app-nav-item-active,.app-nav-item-active:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 3px 0 #2563eb}.app-sidebar-user{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;padding:0 2px;display:grid}.app-sidebar-user strong,.app-sidebar-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.app-sidebar-user strong{color:var(--text);font-size:.8125rem;line-height:1.35}.app-sidebar-user span{color:var(--muted);font-size:var(--font-size-min);margin-top:2px}.sidebar-logout{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.sidebar-logout:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.app-main{grid-area:1/2/-1;min-width:0;max-width:100%;overflow-x:clip}.app-view-loading{min-height:40vh;color:var(--text-muted,#64748b);justify-content:center;align-items:center;font-size:.95rem;display:flex}@media (width<=1024px){.app-shell{display:block}.app-shell:before{content:none}.app-main{grid-area:auto}.app-sidebar{background:var(--surface);border-right:none;border-bottom:1px solid var(--border);flex-direction:row;grid-area:auto;align-items:center;gap:12px;width:auto;height:auto;min-height:0;max-height:none;padding:10px 14px;position:sticky;top:0;left:auto;overflow-y:visible}.app-sidebar-brand{border-bottom:none;border-right:1px solid #e2e8f0;flex:none;padding:0 12px 0 0}.app-sidebar-brand strong{white-space:nowrap;margin-top:2px;font-size:.875rem}.app-nav{flex-direction:row;flex:1;gap:8px;min-width:0;overflow-x:auto}.app-nav-group{flex:none;align-items:center;gap:6px;display:flex}.app-nav-group-label{white-space:nowrap;padding:0 2px}.app-nav-group-items{flex-direction:row;gap:6px}.app-nav-item{flex:none;width:auto;min-height:38px;padding:0 12px;font-size:.8125rem}.app-nav-item-active,.app-nav-item-active:hover{box-shadow:inset 0 -3px #2563eb}.app-sidebar-user{border-top:none;border-left:1px solid #e2e8f0;flex:none;margin-top:0;padding:0 0 0 12px}}@media (width<=680px){.app-sidebar{flex-direction:column;align-items:stretch;gap:8px}.app-sidebar-brand{display:none}.app-nav{width:100%}.app-sidebar-user{border-top:1px solid #e2e8f0;border-left:none;width:100%;padding:8px 0 0}}.login-page{background-color:#eef2f7;background-image:linear-gradient(90deg,#2563eb14 0 1px,#0000 1px),linear-gradient(0deg,#0f172a0f 0 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #dbe4ee;border-radius:10px;gap:20px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 18px 40px #0f172a24}.login-panel-toolbar{justify-content:flex-end;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-brand-mark{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.login-brand h1{color:#0f172a;margin-top:4px;font-size:1.25rem;line-height:1.2}.login-form{gap:14px;display:grid}.password-field{position:relative}.password-field .text-input{width:100%;padding-right:42px}.password-toggle{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{border-color:var(--border);color:#1d4ed8;background:#f8fafc}.login-error{justify-content:flex-start;min-height:32px}.login-submit{width:100%;min-height:42px}.management-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.management-hero{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:6px 28px;display:flex}.management-hero-copy{flex:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.management-hero h1{justify-self:start;align-items:center;gap:8px;margin:0;font-size:1.25rem;line-height:1.2;display:flex}.management-hero p{min-width:0;max-width:none;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;line-height:1.35;overflow:hidden}.fields-page-notice-layer{z-index:120;pointer-events:none;justify-content:center;display:flex;position:fixed;top:16px;left:224px;right:16px}.fields-page-notice{pointer-events:auto;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:min(640px,100%);margin:0;padding:10px 14px;font-size:.8125rem;line-height:1.45;animation:.22s ease-out fields-page-notice-in;display:flex;box-shadow:0 12px 32px #0f172a29}@keyframes fields-page-notice-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fields-page-notice-warning{color:#78350f;background:linear-gradient(#fef9c3 0%,#fef3c7 100%);border-color:#f59e0b}.fields-page-notice-success{color:#166534;background:#ecfdf5;border-color:#34d399}.fields-page-notice-info{color:#1e40af;background:#eff6ff;border-color:#60a5fa}.fields-page-notice-text{text-align:center;flex:1;font-weight:500}.fields-page-notice-dismiss{width:26px;height:26px;color:inherit;cursor:pointer;background:#0f172a0f;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fields-page-notice-dismiss:hover{background:#0f172a1f}@media (width<=1024px){.fields-page-notice-layer{left:16px}}.management-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.management-toolbar{border-bottom:1px solid var(--border);background:#f8fafc;align-items:center;gap:10px;padding:14px 28px;display:flex}.management-toolbar .text-input{width:min(360px,100%)}.search-control{align-items:center;width:min(360px,100%);display:flex;position:relative}.search-control .lucide-icon{color:var(--muted);pointer-events:none;position:absolute;left:10px}.search-control .text-input{width:100%;padding-left:32px}.field-filter-control{color:var(--muted);flex:none;align-items:center;gap:7px;font-size:.75rem;font-weight:500;display:inline-flex}.field-filter-control .select-input{min-width:138px;padding-top:6px;padding-bottom:6px}.manager-card-section{margin:18px 28px 28px}.manager-card-section>.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:8px}.manager-card-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;display:grid}.manager-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:10px;min-width:0;min-height:142px;padding:14px;display:flex}.manager-card-active{border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.manager-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.manager-card-header .status-badge{flex:none}.manager-card-title{flex:1;min-width:0}.manager-card-title .text-input{width:100%}.manager-card-rename{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.manager-card-rename .lucide-icon{color:#64748b}.manager-card-title strong{min-width:0;color:var(--text);align-items:flex-start;gap:7px;font-size:.875rem;line-height:1.35;display:flex}.manager-card-title strong .lucide-icon{color:#64748b;margin-top:2px}.manager-card-title strong span{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.manager-card-meta{color:var(--muted);font-size:var(--font-size-min);flex-wrap:wrap;align-items:center;gap:8px 12px;line-height:1.4;display:flex}.manager-card-meta span{align-items:center;gap:5px;min-width:0;display:inline-flex}.asset-id-chips{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.asset-id-chips code,.asset-id-inline{color:#475569;max-width:100%;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:2px 6px;line-height:1.35;overflow:hidden}.asset-id-inline{margin-top:4px;display:inline-block}.manager-card-actions{border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;display:flex}.manager-card-actions .btn{white-space:nowrap;flex:none}.manager-pagination{color:var(--muted);background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 0 0;font-size:.75rem;display:flex}.manager-pagination-controls{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.manager-page-button{justify-content:center;min-width:30px;padding-left:8px;padding-right:8px}.data-platform-page .manager-card-section{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:14px}.data-connection-page .management-hero{align-items:center;gap:16px;padding:6px 20px}.data-connection-page .management-hero-copy{flex:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.data-connection-page .management-hero h1{flex:none;justify-self:start;margin:0;font-size:1.125rem}.data-connection-page .management-hero p{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:none;margin:0;line-height:1.35;overflow:hidden}.data-connection-page .management-actions{flex:none}.data-connection-page .management-hero .management-actions .btn{padding:5px 10px;font-size:.75rem}.data-connection-page .manager-card-section.data-connection-summary{margin:10px 20px 0;padding:10px 12px}.data-connection-page .data-connection-summary .data-platform-flow{gap:8px}.data-connection-page .data-connection-summary .data-platform-section-head span{line-height:1.35}.data-platform-section-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.data-platform-section-head>div{flex-direction:column;gap:3px;min-width:0;display:flex}.data-platform-section-head>.management-actions{flex-direction:row;align-items:center;gap:8px}.data-platform-section-head strong{color:var(--text);font-size:.875rem;line-height:1.3}.data-platform-section-head span{color:var(--muted);font-size:.75rem;line-height:1.55}.data-platform-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.data-platform-card{min-height:164px}.data-platform-card-copy{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.6}.data-platform-flow-section{margin-top:0}.data-platform-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.data-platform-flow li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:2px 8px;min-width:0;min-height:0;padding:8px 10px;display:grid}.data-platform-flow li>span{color:#fff;background:#2563eb;border-radius:999px;grid-row:span 2;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6875rem;font-weight:700;display:inline-flex}.data-platform-flow strong{min-width:0;color:var(--text);font-size:.8125rem;line-height:1.35}.data-platform-flow small{min-width:0;color:var(--muted);font-size:var(--font-size-min);line-height:1.45}.data-source-generate-preview{gap:12px;margin-top:12px;display:grid}.data-platform-definition-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.data-platform-definition-list div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-width:0;padding:12px}.data-platform-definition-list dt{color:var(--muted);font-size:var(--font-size-min);line-height:1.4}.data-platform-definition-list dd{color:var(--text);word-break:break-word;margin:4px 0 0;font-size:.8125rem;font-weight:700;line-height:1.45}.dataset-page-toolbar{flex-wrap:wrap}.dataset-filter-row{gap:10px;margin:0 0 12px;display:grid}.dataset-filter-segments{flex-wrap:wrap;gap:8px;display:inline-flex}.dataset-filter-chip{border:1px solid var(--border);color:#475569;cursor:pointer;min-height:32px;font:inherit;background:#fff;border-radius:999px;padding:0 12px;font-size:.75rem;font-weight:700}.dataset-filter-chip-active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.semantic-model-summary-grid,.semantic-model-sync-grid{margin-bottom:10px}.semantic-model-ai-readiness{--ai-readiness-accent:#2563eb;--ai-readiness-accent-soft:#eff6ff;border-color:color-mix(in srgb, var(--ai-readiness-accent) 22%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--ai-readiness-accent-soft) 72%, #fff) 0%, var(--surface) 42%)}.semantic-model-ai-readiness.is-success{--ai-readiness-accent:#15803d;--ai-readiness-accent-soft:#ecfdf3}.semantic-model-ai-readiness.is-warning{--ai-readiness-accent:#b45309;--ai-readiness-accent-soft:#fff7ed}.semantic-model-ai-readiness.is-danger{--ai-readiness-accent:#b91c1c;--ai-readiness-accent-soft:#fef2f2}.semantic-model-ai-readiness.is-loading{background:var(--surface)}.semantic-model-ai-readiness-body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.semantic-model-ai-readiness-ring{flex:none;width:108px;height:108px;position:relative}.semantic-model-ai-readiness-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.semantic-model-ai-readiness-ring-track,.semantic-model-ai-readiness-ring-progress{fill:none;stroke-width:8px}.semantic-model-ai-readiness-ring-track{stroke:color-mix(in srgb, var(--ai-readiness-accent) 12%, #e2e8f0)}.semantic-model-ai-readiness-ring-progress{stroke:var(--ai-readiness-accent);stroke-linecap:round;transition:stroke-dashoffset .35s}.semantic-model-ai-readiness-ring-label{pointer-events:none;place-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0}.semantic-model-ai-readiness-ring-value{color:var(--ai-readiness-accent);font-size:1.65rem;font-weight:800;line-height:1}.semantic-model-ai-readiness-ring-caption{color:var(--text-muted);font-size:.6875rem}.semantic-model-ai-readiness-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.semantic-model-ai-readiness-metric{border:1px solid var(--border);background:color-mix(in srgb, #fff 88%, var(--ai-readiness-accent-soft));border-radius:10px;min-width:0;padding:10px 12px}.semantic-model-ai-readiness-metric.is-success{border-color:#bbf7d0}.semantic-model-ai-readiness-metric.is-warning{border-color:#fed7aa}.semantic-model-ai-readiness-metric.is-danger{border-color:#fecaca}.semantic-model-ai-readiness-metric-head{font-size:var(--font-size-min);color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;display:flex}.semantic-model-ai-readiness-metric-head svg{color:var(--ai-readiness-accent);flex:none}.semantic-model-ai-readiness-metric-value{font-size:.9375rem;line-height:1.3;display:block}.semantic-model-ai-readiness-progress{background:#e2e8f0;border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.semantic-model-ai-readiness-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--ai-readiness-accent), color-mix(in srgb, var(--ai-readiness-accent) 72%, #fff));height:100%;display:block}.semantic-model-ai-readiness-coverage-hint{font-size:var(--font-size-min);color:var(--text-muted);margin:12px 0 0}.semantic-model-ai-readiness-footnote{border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.semantic-model-ai-readiness-footnote svg{flex:none;margin-top:1px}.semantic-model-ai-readiness-footnote.is-warning{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.semantic-model-ai-readiness-footnote.is-warning svg{color:#c2410c}.semantic-model-ai-readiness-footnote.is-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.semantic-model-ai-readiness-footnote.is-success svg{color:#15803d}.semantic-model-ai-readiness-footnote p,.semantic-model-ai-readiness-footnote-copy{min-width:0;margin:0}.semantic-model-ai-readiness-footnote-copy strong{margin-bottom:8px;font-size:.8125rem;display:block}.semantic-model-ai-readiness-chip-list{overscroll-behavior:contain;flex-wrap:wrap;gap:6px;max-height:88px;display:flex;overflow:auto}.semantic-model-ai-readiness-skeleton{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.semantic-model-ai-readiness-skeleton-ring,.semantic-model-ai-readiness-skeleton-metrics{background:linear-gradient(90deg,#eef2f7 0%,#f8fafc 45%,#eef2f7 100%) 0 0/200% 100%;border-radius:12px;animation:1.2s ease-in-out infinite semantic-model-ai-readiness-shimmer;display:block}.semantic-model-ai-readiness-skeleton-ring{border-radius:999px;width:108px;height:108px}.semantic-model-ai-readiness-skeleton-metrics{height:108px}@keyframes semantic-model-ai-readiness-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=960px){.semantic-model-ai-readiness-body,.semantic-model-ai-readiness-skeleton{grid-template-columns:1fr;justify-items:center}.semantic-model-ai-readiness-metrics{width:100%}}.semantic-model-golden-queries-actions{flex-wrap:wrap;gap:8px;display:flex}.semantic-model-golden-queries-list{gap:12px;display:grid}.semantic-model-golden-query-card,.semantic-model-golden-query-create{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, #f8fafc);border-radius:12px;padding:12px}.semantic-model-golden-query-create{margin-top:14px}.semantic-model-golden-query-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.semantic-model-golden-query-card-head>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.semantic-model-golden-query-card-tools{flex-wrap:wrap;gap:6px;display:flex}.semantic-model-golden-query-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.semantic-model-golden-query-card-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.semantic-model-golden-query-enabled{font-size:var(--font-size-min);color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.semantic-model-golden-query-eval-detail{font-size:var(--font-size-min);border-radius:8px;align-items:flex-start;gap:8px;margin-top:8px;padding:8px 10px;display:flex}.semantic-model-golden-query-eval-detail.is-fail{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}@media (width<=960px){.semantic-model-golden-query-grid{grid-template-columns:1fr}}.semantic-model-sync-grid div{align-items:center;gap:6px;padding:8px 10px;display:flex}.semantic-model-sync-grid dt,.semantic-model-sync-grid dd{margin:0;line-height:1.35}.semantic-model-sync-grid dt{white-space:nowrap;flex:none}.semantic-model-sync-grid dt:after{content:"："}.semantic-model-sync-grid dd{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.8125rem;font-weight:700;overflow:hidden}.dataset-summary-grid{margin-bottom:14px}.data-prep-inline-note{color:#64748b;font-size:var(--font-size-min);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:8px 10px;line-height:1.45}.data-prep-page .management-hero{gap:16px;padding:6px 20px}.data-prep-page .management-hero h1{font-size:1.125rem}.data-prep-page .management-hero p{line-height:1.35}.data-prep-page .management-toolbar{flex-wrap:wrap;gap:8px;padding:10px 20px}.data-prep-page .manager-card-section{margin:8px 20px 0;padding:10px 12px}.data-prep-page .manager-card-section:last-of-type{margin-bottom:14px}.data-prep-page .data-platform-section-head{gap:8px;margin-bottom:6px}.data-prep-page .data-platform-section-head span{line-height:1.35}.data-prep-catalog-section{gap:8px;display:grid}.data-prep-flow-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:0;overflow:auto}.data-prep-flow-table{border-collapse:collapse;width:100%;min-width:880px;font-size:.75rem}.data-prep-flow-table th,.data-prep-flow-table td{color:#334155;text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:6px 8px}.data-prep-flow-table th{color:#64748b;white-space:nowrap;background:#f8fafc;font-weight:700}.data-prep-flow-table th:first-child,.data-prep-flow-table td:first-child{width:28%}.data-prep-flow-table th:nth-child(2),.data-prep-flow-table td:nth-child(2){width:20%}.data-prep-flow-table th:nth-child(3),.data-prep-flow-table td:nth-child(3){width:22%}.data-prep-flow-table th:nth-child(4),.data-prep-flow-table td:nth-child(4){width:96px}.data-prep-flow-table th:nth-child(5),.data-prep-flow-table td:nth-child(5){width:132px}.data-prep-flow-table th:last-child,.data-prep-flow-table td:last-child{width:140px}.data-prep-flow-table tr:last-child td{border-bottom:0}.data-prep-flow-table tbody tr:hover{background:#f8fafc}.data-prep-flow-row-active{background:#eff6ff}.data-prep-flow-name-button,.data-prep-flow-output-button{cursor:pointer;min-width:0;max-width:100%;font:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.data-prep-flow-name-button strong,.data-prep-flow-name-button small,.data-prep-flow-output-button span,.data-prep-flow-output-button small,.data-prep-flow-cell-title,.data-prep-flow-cell-subtitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.data-prep-flow-name-button strong,.data-prep-flow-output-button span,.data-prep-flow-cell-title{color:#0f172a;font-weight:700;line-height:1.35}.data-prep-flow-name-button small,.data-prep-flow-output-button small,.data-prep-flow-cell-subtitle,.data-prep-flow-time{color:#64748b;font-size:var(--font-size-min);line-height:1.45}.data-prep-flow-name-button small,.data-prep-flow-output-button small,.data-prep-flow-cell-subtitle{font-family:IBM Plex Mono,monospace}.data-prep-flow-output-button span{color:#2563eb}.data-prep-flow-output-button:hover span,.data-prep-flow-name-button:hover strong{text-decoration:underline}.data-prep-flow-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.data-prep-step-section{margin-bottom:0}.data-prep-step-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.data-prep-step-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:2px 8px;min-width:0;min-height:0;padding:8px 10px;display:grid}.data-prep-step-card>span{color:#475569;width:20px;height:20px;font-size:var(--font-size-min);background:#e2e8f0;border-radius:999px;grid-row:span 2;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.data-prep-step-card-done>span{color:#fff;background:#2563eb}.data-prep-step-card strong,.data-prep-step-card small,.data-prep-step-card code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.data-prep-step-card strong{color:var(--text);font-size:.8125rem;line-height:1.35}.data-prep-step-card small{color:var(--muted);font-size:var(--font-size-min);line-height:1.45}.data-prep-step-card code{color:#475569;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);line-height:1.3}.data-prep-workbench{--data-prep-workbench-height:clamp(320px, calc(100vh - 480px), 680px);height:var(--data-prep-workbench-height);min-height:var(--data-prep-workbench-height);max-height:var(--data-prep-workbench-height);grid-template-columns:minmax(360px,1.25fr) minmax(300px,.85fr) minmax(320px,1fr);align-items:stretch;gap:10px;display:grid}.data-platform-page .data-prep-workbench{background:0 0;border:none;padding:0}.data-prep-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:8px;min-width:0;height:100%;min-height:0;max-height:100%;padding:10px 12px;display:flex;overflow:hidden}.data-prep-source-panel>.data-platform-section-head,.data-prep-source-panel>.form-field,.data-prep-source-panel>.data-prep-flow-editor,.data-prep-source-panel>.data-prep-inline-note{flex:none}.data-prep-source-panel .data-prep-field-table-wrap{flex:auto;min-height:120px}.data-prep-rules-panel{gap:10px}.data-prep-rules-panel>.data-prep-panel-block{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.data-prep-preview-panel{gap:10px}.data-prep-preview-panel>.data-platform-section-head{flex:none}.data-prep-preview-panel>.data-prep-preview-table-wrap{flex:1 1 0;min-height:0}.data-prep-preview-panel>.data-prep-publish-card{overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow-y:auto}.data-prep-panel-block{gap:8px;min-width:0;display:grid}.data-prep-flow-editor{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0;display:grid}.data-prep-field-table-wrap,.data-prep-preview-table-wrap{overscroll-behavior:contain;border:1px solid #e2e8f0;border-radius:8px;flex:auto;min-height:0;overflow-y:auto}.data-prep-field-table{border-collapse:collapse;background:#fff;width:100%;min-width:980px;font-size:.75rem}.data-prep-field-table th,.data-prep-field-table td{color:#334155;text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:6px 8px}.data-prep-field-table th{color:#64748b;background:#f8fafc;font-weight:700}.data-prep-field-table td:first-child{text-align:center;width:48px}.data-prep-field-table td:nth-child(2){gap:2px;min-width:136px;display:grid}.data-prep-field-table td:nth-child(2) strong{color:#0f172a;font-size:.75rem}.data-prep-field-table td:nth-child(2) span{color:#64748b;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.data-prep-field-table .text-input,.data-prep-field-table .select-input{width:100%;min-width:96px;padding-top:5px;padding-bottom:5px}.data-prep-rule-list,.data-prep-calc-list{overscroll-behavior:contain;flex:auto;gap:8px;min-height:0;display:grid;overflow-y:auto}.data-prep-empty-line{color:#64748b;font-size:var(--font-size-min);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:8px 10px;line-height:1.4}.data-prep-filter-row{grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.data-prep-filter-row .select-input,.data-prep-filter-row .text-input{width:100%}.data-prep-calc-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;min-width:0;padding:8px 10px;display:grid}.data-prep-calc-head,.data-prep-publish-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.data-prep-calc-head label{color:#475569;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:inline-flex}.data-prep-page .data-prep-step-card{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto}.data-prep-page .data-prep-step-card>span{grid-row:1/span 2;align-self:start;margin-top:1px}.data-prep-page .data-prep-step-card strong{grid-area:1/2}.data-prep-page .data-prep-step-card code{grid-area:1/3;justify-self:end;padding-left:6px}.data-prep-page .data-prep-step-card small{grid-area:2/2/auto/-1}.data-prep-page .manager-card-section.data-prep-workbench{background:0 0;border:none;padding:0}.data-prep-page .data-prep-flow-table-wrap{max-height:min(28vh,220px)}.data-prep-calc-grid,.data-prep-publish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.data-prep-description-field{grid-column:1/-1}.data-prep-description-field .textarea-input{min-height:64px}.data-prep-preview-table-wrap{min-height:120px}.data-prep-preview-table{min-width:640px}.data-prep-publish-card{background:#f8fafc;border:1px solid #dbe7f4;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.data-prep-issue-list{gap:6px;display:grid}.data-prep-issue-list span{color:#b45309;font-size:var(--font-size-min);align-items:flex-start;gap:6px;line-height:1.45;display:flex}.data-prep-issue-list .lucide-icon{margin-top:1px}.data-prep-next-step{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.data-prep-next-step>div:first-child{gap:3px;min-width:0;display:grid}.data-prep-next-step strong{color:#14532d;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;overflow:hidden}.data-prep-next-step span{color:#166534;font-size:var(--font-size-min);line-height:1.45}.data-prep-next-step-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.data-prep-publish-actions>span{color:#64748b;min-width:0;font-size:var(--font-size-min);line-height:1.45}.manager-row-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:flex}.semantic-model-page.management-page{height:100dvh;overflow:hidden}.semantic-model-page .management-hero{flex-shrink:0}.semantic-model-layout{--semantic-model-workspace-height:calc(100vh - 220px);grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:16px;min-width:0;padding:18px 28px 14px;display:grid}.semantic-model-page .semantic-model-layout{--semantic-model-workspace-height:100%;flex:auto;align-items:stretch;min-height:0;overflow:hidden}.semantic-model-layout .manager-card-section{margin:0}.semantic-model-list{width:100%;min-width:0;max-height:var(--semantic-model-workspace-height);border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;align-self:start;gap:12px;padding:14px;display:flex;position:sticky;top:18px;overflow:hidden}.semantic-model-page .semantic-model-list{align-self:stretch;height:100%;min-height:0;max-height:none;position:static;top:auto}.semantic-model-list-items{overscroll-behavior:contain;flex:auto;align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.semantic-model-list-item{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-self:start;align-items:center;gap:10px;padding:10px;display:grid}.semantic-model-list-item:hover,.semantic-model-list-item-active{background:#eff6ff;border-color:#93c5fd}.semantic-model-list-item-active{box-shadow:inset 3px 0 #2563eb}.semantic-model-list-item span:first-child{gap:3px;min-width:0;display:grid}.semantic-model-list-item strong,.semantic-model-list-item small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.semantic-model-list-item strong{color:#0f172a;font-size:.8125rem;line-height:1.35}.semantic-model-list-item small{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.semantic-model-main{min-width:0;max-height:var(--semantic-model-workspace-height);overscroll-behavior:contain;gap:14px;display:grid;overflow-y:auto}.semantic-model-page .semantic-model-main{align-content:start;align-self:stretch;height:100%;min-height:0;max-height:none}.semantic-model-main>.manager-card-section{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:14px}.semantic-model-header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center}.semantic-model-header-actions .btn{white-space:nowrap}.semantic-model-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.semantic-model-form-grid .form-field{min-width:0}.semantic-model-form-grid .text-input,.semantic-model-form-grid .select-input{width:100%}.semantic-model-form-grid .form-field:last-child{grid-column:span 2}.semantic-model-calculated-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.semantic-model-calculated-grid .form-field:last-child{grid-column:span 2}.semantic-model-template-bar{grid-template-columns:minmax(160px,.8fr) minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.semantic-model-template-bar .form-field{min-width:0}.semantic-model-template-bar .select-input{width:100%}.semantic-model-template-bar .btn{white-space:nowrap;min-height:38px}.semantic-model-field-table{--semantic-field-meta-h:24px;--semantic-field-control-h:34px;--semantic-field-row-gap:6px;table-layout:fixed;width:100%;min-width:1080px}.semantic-model-field-table th{white-space:normal;overflow-wrap:anywhere;word-break:keep-all;vertical-align:bottom;padding:10px;line-height:1.35}.semantic-model-field-table td{color:#334155;vertical-align:top;background:#fff;padding:10px;line-height:1.45}.semantic-model-field-table tbody tr:hover td{background:#fcfdff}.semantic-model-field-table th:first-child,.semantic-model-field-table td:first-child{width:30%;padding-left:12px;padding-right:14px}.semantic-model-field-table th:nth-child(2),.semantic-model-field-table td:nth-child(2){width:11%}.semantic-model-field-table th:nth-child(3),.semantic-model-field-table td:nth-child(3){width:10%}.semantic-model-field-table th:nth-child(4),.semantic-model-field-table td:nth-child(4),.semantic-model-field-table th:nth-child(5),.semantic-model-field-table td:nth-child(5){width:9%}.semantic-model-field-table th:nth-child(6),.semantic-model-field-table td:nth-child(6){width:11%;padding-left:8px;padding-right:8px}.semantic-model-field-table th:nth-child(7),.semantic-model-field-table td:nth-child(7){width:6%;padding-left:6px;padding-right:6px}.semantic-model-field-table th:nth-child(8),.semantic-model-field-table td:nth-child(8){width:14%;padding-left:8px;padding-right:12px}.semantic-model-field-cell{grid-template-rows:var(--semantic-field-meta-h) var(--semantic-field-control-h);gap:var(--semantic-field-row-gap);min-width:0;display:grid}.semantic-model-field-cell-stack{grid-template-rows:var(--semantic-field-meta-h) var(--semantic-field-control-h) auto}.semantic-model-field-meta{height:var(--semantic-field-meta-h);min-height:var(--semantic-field-meta-h);max-height:var(--semantic-field-meta-h);align-items:center;min-width:0;display:flex;overflow:hidden}.semantic-model-field-body{height:var(--semantic-field-control-h);min-height:var(--semantic-field-control-h);align-items:center;min-width:0;display:flex}.semantic-model-name-cell .semantic-model-field-cell{grid-template-rows:var(--semantic-field-meta-h) auto}.semantic-model-name-cell .semantic-model-field-body{flex-direction:column;align-items:stretch;gap:5px;height:auto;min-height:0}.semantic-model-field-extra{padding-top:2px}.semantic-model-field-key{color:#64748b;width:100%;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;display:block;overflow:hidden}.semantic-model-role-badge{text-overflow:ellipsis;white-space:nowrap;width:fit-content;max-width:100%;overflow:hidden}.semantic-model-field-meta .status-badge{font-size:var(--font-size-min);padding:2px 8px;line-height:1.2}.semantic-model-type-value{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}.semantic-model-type-source{color:#64748b;width:100%;font-size:var(--font-size-min);line-height:calc(var(--semantic-field-control-h) - 2px);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:0 8px;display:block;overflow:hidden}.semantic-model-field-body .semantic-model-inline-input,.semantic-model-field-body .text-input,.semantic-model-field-body .select-input{width:100%;height:var(--semantic-field-control-h);min-height:var(--semantic-field-control-h);max-height:var(--semantic-field-control-h);box-sizing:border-box;margin:0}.semantic-model-expression{width:100%;height:var(--semantic-field-control-h);min-height:var(--semantic-field-control-h);max-height:var(--semantic-field-control-h);color:#334155;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);font-style:normal;line-height:calc(var(--semantic-field-control-h) - 2px);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:0 9px;display:block;overflow:hidden}.semantic-model-expression-empty{color:#94a3b8}.semantic-model-dependency-list{color:#64748b;font-size:var(--font-size-min);flex-wrap:wrap;align-items:center;gap:4px 5px;margin-top:0;line-height:1.4;display:flex}.semantic-model-dependency-list .lucide-icon{flex:none}.semantic-model-dependency-label{color:#475569;font-weight:700}.semantic-model-dependency-chip{color:#1d4ed8;overflow-wrap:anywhere;background:#eff6ff;border:1px solid #dbeafe;border-radius:6px;max-width:100%;padding:2px 6px}.semantic-model-dependency-chip-missing{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.semantic-model-dependency-muted{color:#94a3b8}.semantic-model-status-cell,.semantic-model-actions-cell{vertical-align:top}.semantic-model-switch{color:#475569;white-space:nowrap;align-items:center;gap:6px;height:100%;font-size:.75rem;font-weight:700;display:inline-flex}.semantic-model-switch span{line-height:1.35}.semantic-model-switch input{margin:0}.semantic-model-row-actions{flex-wrap:nowrap;align-items:center;gap:4px;width:fit-content;max-width:100%;height:100%;display:flex}.semantic-model-row-action{min-width:0;height:var(--semantic-field-control-h);min-height:var(--semantic-field-control-h);white-space:nowrap;justify-content:center;padding:0 8px}.semantic-model-row-action-icon{min-width:32px;padding-left:0;padding-right:0}@media (width<=1440px){.semantic-model-page.management-page{height:auto;overflow:visible}.semantic-model-page .semantic-model-layout{--semantic-model-workspace-height:calc(100vh - 220px);flex:none;align-items:start;overflow:visible}.semantic-model-page .semantic-model-list{height:auto;max-height:min(360px, var(--semantic-model-workspace-height))}.semantic-model-page .semantic-model-main{height:auto;max-height:none;overflow-y:visible}.semantic-model-layout{--semantic-model-workspace-height:calc(100vh - 220px);grid-template-columns:minmax(0,1fr)}.semantic-model-list{max-height:min(360px, var(--semantic-model-workspace-height));position:static}.semantic-model-list-items{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (width<=1180px){.semantic-model-form-grid,.semantic-model-calculated-grid,.semantic-model-template-bar,.data-platform-definition-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.semantic-model-layout{padding:12px}.semantic-model-form-grid,.semantic-model-calculated-grid,.semantic-model-template-bar,.data-platform-definition-list,.semantic-model-form-grid .form-field:last-child,.semantic-model-calculated-grid .form-field:last-child{grid-column:auto;grid-template-columns:minmax(0,1fr)}}.lineage-hero-actions{align-items:center}.lineage-hero-metrics{grid-template-columns:repeat(3,minmax(72px,1fr));gap:6px;min-width:250px;display:grid}.lineage-hero-metrics span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:2px;min-width:0;padding:8px 10px;display:grid}.lineage-hero-metrics small{color:var(--muted);font-size:.6875rem;font-weight:700;line-height:1}.lineage-hero-metrics strong{color:#0f172a;font-size:1rem;line-height:1.1}.lineage-toolbar{flex-wrap:nowrap;align-items:center;gap:10px 12px;padding-top:12px;padding-bottom:12px;display:flex}.lineage-toolbar .form-field.lineage-filter-field{flex-flow:row;align-items:center;gap:8px;width:auto;min-width:0;display:inline-flex}.lineage-toolbar .form-field.lineage-filter-field .form-field-label{color:#475569;font-size:var(--font-size-min);white-space:nowrap;flex:none;margin:0;font-weight:700}.lineage-toolbar .form-field.lineage-filter-field .form-field-hint{display:none}.lineage-toolbar .form-field.lineage-filter-field .text-input,.lineage-toolbar .form-field.lineage-filter-field .select-input{min-height:36px}.lineage-toolbar .form-field.lineage-filter-field:not(.lineage-filter-id):not(.lineage-filter-depth) .select-input{width:132px}.lineage-toolbar .form-field.lineage-filter-field.lineage-filter-id{flex:160px;min-width:140px}.lineage-toolbar .form-field.lineage-filter-field.lineage-filter-id .text-input{width:100%;min-width:0}.lineage-toolbar .form-field.lineage-filter-field.lineage-filter-depth{flex:none}.lineage-toolbar .form-field.lineage-filter-field.lineage-filter-depth .text-input{width:68px}.lineage-toolbar .btn{white-space:nowrap;flex:none;min-width:96px;min-height:36px;margin-top:0;margin-left:auto}.lineage-error{margin:14px 28px 0}.lineage-warning{color:#9a3412;background:#fff7ed;border-color:#fed7aa;margin:14px 28px 0}.lineage-workspace{--lineage-main-height:clamp(560px, calc(100vh - 168px), 1400px);flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(280px,320px);align-items:stretch;gap:14px;min-width:0;min-height:0;padding:18px 28px 28px;display:grid}.lineage-catalog-panel{width:100%;min-width:0;max-height:var(--lineage-main-height);border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;align-self:start;display:flex;position:sticky;top:16px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.lineage-catalog-list{overscroll-behavior:contain;flex:auto;grid-template-columns:minmax(0,1fr);gap:7px;min-height:0;padding:10px;display:grid;overflow-y:auto}.lineage-catalog-item{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:7px;gap:7px;padding:10px;display:grid}.lineage-catalog-item-active{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.lineage-catalog-item:hover,.lineage-catalog-item:focus-visible{background:#eff6ff;border-color:#93c5fd;outline:none}.lineage-catalog-item-main{align-items:center;gap:8px;min-width:0;display:flex}.lineage-catalog-item-main strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;overflow:hidden}.lineage-catalog-item-ids{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.lineage-catalog-item-ids code{color:#475569;max-width:100%;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:5px;padding:2px 6px;overflow:hidden}.lineage-catalog-item-permission{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.lineage-main{flex-direction:column;align-self:stretch;gap:14px;min-width:0;height:100%;min-height:0;max-height:none;display:flex}.lineage-page.management-page{height:100vh;min-height:100vh;overflow:hidden}.lineage-main>.lineage-panel{flex:1 1 0;min-height:0}.lineage-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.lineage-panel-head{background:#f8fafc;border-bottom:1px solid #f1f5f9;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.lineage-panel-head .status-badge{flex:none}.lineage-panel-head>div{gap:3px;min-width:0;display:grid}.lineage-panel-head strong{color:#0f172a;font-size:.875rem}.lineage-panel-head span{color:var(--muted);font-size:var(--font-size-min)}.lineage-node-grid{overscroll-behavior:contain;flex:auto;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;align-items:start;gap:10px;min-height:0;padding:12px;display:grid;overflow-y:auto}.lineage-node-card{background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-self:start;gap:8px;min-width:0;padding:10px;display:grid}.lineage-node-card-focused{background:#f8fbff;border-color:#93c5fd;box-shadow:0 0 0 1px #60a5fa2e}.lineage-node-card-actions{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.lineage-node-card-actions .btn{min-height:28px;font-size:var(--font-size-min);padding:0 10px}.lineage-edge-node-button{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.lineage-edge-node-button:hover strong{color:#2563eb}.lineage-node-card header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.lineage-node-card code{color:#64748b;min-width:0;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lineage-node-card strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;line-height:1.35;overflow:hidden}.lineage-node-permission{min-width:0;color:var(--muted);font-size:var(--font-size-min);flex-wrap:wrap;align-items:center;gap:6px;line-height:1.4;display:flex}.lineage-node-permission span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lineage-node-card-ids{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.lineage-node-card-ids code{min-width:0;max-width:100%;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border-radius:5px;padding:2px 6px;overflow:hidden}.lineage-edge-list{overscroll-behavior:contain;flex:auto;align-content:start;gap:0;min-height:0;list-style:none;display:grid;overflow-y:auto}.lineage-edge-row{border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}.lineage-edge-row:last-child{border-bottom:none}.lineage-edge-node{gap:3px;min-width:0;display:grid}.lineage-edge-node strong,.lineage-edge-node span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lineage-edge-node strong{color:#0f172a;font-size:.8125rem}.lineage-edge-node span{color:var(--muted);font-size:var(--font-size-min)}.lineage-edge-relation{justify-content:center;display:flex}.lineage-edge-relation span{color:#1d4ed8;max-width:100%;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:3px 8px;font-weight:700;overflow:hidden}.lineage-impact{min-width:0}.lineage-impact>.lineage-panel{position:sticky;top:16px}.lineage-impact-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;display:grid}.lineage-impact-stat{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:12px;display:grid}.lineage-impact-stat span{color:var(--muted);font-size:.75rem;font-weight:700}.lineage-impact-stat strong{color:#0f172a;font-size:1.25rem;line-height:1}.lineage-type-summary{grid-column:1/-1;gap:6px;display:grid}.lineage-type-summary div{color:#334155;background:#f8fafc;border:1px solid #f1f5f9;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;font-size:.75rem;display:grid}.lineage-type-summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lineage-type-summary strong{color:#0f172a}.lineage-permission-summary{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:4px;display:grid}.lineage-permission-summary header{grid-column:1/-1;gap:3px;padding:2px 0;display:grid}.lineage-permission-summary header strong{color:#0f172a;font-size:.8125rem}.lineage-permission-summary header span{color:var(--muted);font-size:var(--font-size-min)}.lineage-permission-summary div{background:#fff;border:1px solid #e2e8f0;border-radius:7px;gap:6px;min-width:0;padding:9px 10px;display:grid}.lineage-permission-summary div span{min-width:0;color:var(--muted);font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.lineage-permission-summary div strong{color:#0f172a;font-size:1rem;line-height:1}@media (width>=1381px){.lineage-impact>.lineage-panel{max-height:calc(100vh - 150px)}.lineage-impact-body{min-height:0;overflow:auto}}@media (width<=1380px){.lineage-workspace{--lineage-main-height:clamp(520px, calc(100vh - 180px), 1200px);grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.lineage-impact{grid-column:1/-1}.lineage-impact>.lineage-panel{position:static}.lineage-impact-body{grid-template-columns:repeat(2,minmax(0,1fr))}.lineage-type-summary{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (width<=1120px){.data-prep-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.data-prep-workbench{--data-prep-workbench-height:clamp(280px, calc(100vh - 420px), 620px);grid-template-columns:minmax(0,1fr)}.data-prep-panel{height:auto;max-height:none}.data-prep-source-panel .data-prep-field-table-wrap,.data-prep-preview-panel>.data-prep-preview-table-wrap{max-height:min(320px,100vh - 360px)}.data-prep-rules-panel>.data-prep-panel-block{flex:none;overflow:visible}.data-prep-rules-panel .data-prep-rule-list,.data-prep-rules-panel .data-prep-calc-list,.data-prep-preview-panel>.data-prep-publish-card{max-height:min(280px,100vh - 360px)}.data-platform-flow,.data-platform-definition-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.lineage-workspace{--lineage-main-height:clamp(480px, calc(100vh - 200px), 960px);grid-template-columns:minmax(0,1fr)}.lineage-catalog-panel{max-height:var(--lineage-main-height);position:static}}@media (width<=680px){.data-prep-next-step{flex-direction:column;align-items:stretch}.data-prep-next-step-actions,.data-prep-next-step-actions .btn{width:100%}.data-prep-flow-row-actions{justify-content:flex-start}.data-platform-page .manager-card-section{margin-left:14px;margin-right:14px;padding:12px}.data-platform-page .data-prep-workbench{padding:0}.data-prep-step-grid,.data-prep-calc-grid,.data-prep-flow-editor,.data-prep-publish-grid,.data-prep-filter-row{grid-template-columns:minmax(0,1fr)}.data-prep-calc-head,.data-prep-publish-actions{flex-direction:column;align-items:stretch}.data-prep-publish-actions .btn{width:100%}.data-platform-section-head{flex-direction:column;align-items:stretch}.data-platform-flow,.data-platform-definition-list{grid-template-columns:minmax(0,1fr)}.lineage-hero-actions,.lineage-hero-metrics{width:100%}.lineage-workspace{--lineage-main-height:clamp(440px, calc(100vh - 180px), 840px);padding:14px}.lineage-toolbar{flex-wrap:wrap;padding-left:14px;padding-right:14px}.lineage-toolbar .form-field.lineage-filter-field{flex:100%;width:100%}.lineage-toolbar .form-field.lineage-filter-field:not(.lineage-filter-id):not(.lineage-filter-depth) .select-input,.lineage-toolbar .form-field.lineage-filter-field.lineage-filter-id .text-input,.lineage-toolbar .form-field.lineage-filter-field.lineage-filter-depth .text-input{width:100%}.lineage-toolbar .btn{width:100%;margin-left:0}.lineage-node-grid{grid-template-columns:minmax(0,1fr)}.lineage-edge-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.lineage-edge-relation{justify-content:flex-start}.lineage-impact-body{grid-template-columns:minmax(0,1fr)}}.user-manager-page .management-hero{gap:16px;padding:6px 20px}.user-manager-page .management-hero h1{font-size:1.125rem}.user-manager-page .management-hero p{line-height:1.35}.user-manager-page .management-toolbar{padding:10px 20px}.user-manager-page .management-toolbar .user-toolbar-create{margin-left:auto}.user-create-drawer-form{flex-direction:column;flex:auto;min-height:0;display:flex}.user-create-drawer-body{gap:12px;display:grid}.user-create-drawer-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.8125rem;line-height:1.45;display:flex}.user-create-drawer-error .lucide-icon{flex:none;margin-top:1px}.user-list{gap:8px;display:grid}.user-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main actions""form form";align-items:center;gap:10px 12px;min-width:0;padding:10px 12px;display:grid;box-shadow:0 1px 2px #0f172a0a}.user-row-main{grid-area:main;align-items:center;gap:10px;min-width:0;display:flex}.user-avatar{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:7px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8125rem;font-weight:700;display:inline-flex}.user-row-title{flex-wrap:nowrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.user-row-title strong,.user-row-title>span{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.user-row-title strong{color:var(--text);font-size:.8125rem;line-height:1.3}.user-row-title>span{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.user-row-meta{flex-wrap:nowrap;flex:none;align-items:center;gap:4px;display:inline-flex}.user-row-meta .status-badge{white-space:nowrap}.user-check-row{color:#334155;cursor:pointer;align-items:center;gap:8px;min-height:28px;font-size:.8125rem;display:inline-flex}.user-check-row input{width:16px;height:16px}.user-row-form{border-top:1px solid #eef2f7;flex-wrap:nowrap;grid-area:form;align-items:center;gap:8px 10px;min-width:0;padding-top:8px;display:flex}.user-row-form .form-field{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.user-row-form .form-field-label{white-space:nowrap;font-size:var(--font-size-min)}.user-row-field-name{flex:1.15 108px;min-width:96px}.user-row-field-role{flex:.75 88px;min-width:76px}.user-row-field-department{flex:100px;min-width:88px}.user-row-credentials{flex:2.2 240px;align-items:center;gap:8px;min-width:0;display:flex}.user-row-credentials .form-field,.user-row-field-username,.user-row-field-password{flex:1 1 0;min-width:88px}.user-row-field-password{min-width:108px}.user-create-credentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.user-row-enabled{flex:none;align-self:center;min-height:0;padding-bottom:0}.user-row-actions{flex-direction:row;grid-area:actions;justify-content:flex-end;align-items:center;gap:10px;min-width:0;padding-left:8px;display:flex}.user-row-action-buttons{flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:inline-flex}.user-row-action-buttons .btn{min-width:64px}.user-row-time{max-width:168px;color:var(--muted);font-size:var(--font-size-min);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:none;line-height:1.3;overflow:hidden}@media (width<=1360px){.user-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"main""actions""form";align-items:stretch;gap:10px}.user-row-title,.user-row-meta{flex-wrap:wrap}.user-row-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px 10px;padding-top:10px;display:grid}.user-row-form .form-field{flex-direction:column;align-items:stretch;gap:4px;display:flex}.user-row-enabled{grid-column:1/-1}.user-row-actions{justify-content:space-between;padding-left:42px}.user-row-time{text-align:left;max-width:none}.user-row-action-buttons{justify-content:flex-end}}@media (width<=1200px){.user-manager-page .management-toolbar{flex-wrap:wrap}.user-manager-page .management-toolbar .user-toolbar-create{margin-left:0}}@media (width<=860px){.user-row{padding:14px}.user-row-main{gap:10px}.user-row-actions{padding-left:0}.user-row-form{grid-template-columns:minmax(0,1fr)}.user-row-credentials{flex-direction:column;width:100%}.user-create-credentials{grid-template-columns:minmax(0,1fr)}}.empty-state{text-align:center;min-height:150px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.empty-state-icon{color:#2563eb;background:#eff6ff;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.empty-state-title{color:var(--text);font-size:.9375rem;font-weight:600}.empty-state-desc{max-width:420px;font-size:.8125rem;line-height:1.6}.empty-state-action{margin-top:4px}.field-manager-grid{grid-template-columns:320px minmax(0,1fr);gap:18px;min-height:0;padding:18px 28px 28px;display:grid}.field-manager-grid-full{grid-template-columns:minmax(0,1fr)}.fields-page-toolbar,.charts-page-toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px}.fields-page-toolbar-filters,.charts-page-toolbar-filters{flex-wrap:wrap;flex:320px;align-items:center;gap:10px;min-width:0;display:flex}.fields-page-body,.charts-page-body,.user-manager-body,.field-manager-groups{flex-direction:column;gap:14px;display:flex}.fields-page .field-admin-group,.charts-page .field-admin-group{margin:0}.charts-page .field-admin-group{background:0 0;border:none;border-radius:0;overflow:visible}.charts-page .field-admin-group-head{background:0 0;border-bottom:none;padding:0 0 10px}.charts-page .chart-template-card-grid{padding:0}.fields-page .field-manager-toolbar-actions{flex:none;margin-left:0}.field-manager-form,.field-manager-list,.field-admin-group{border:1px solid var(--border);background:var(--surface);border-radius:8px}.field-manager-form{flex-direction:column;align-self:start;gap:12px;padding:16px;display:flex}.field-manager-form h2,.field-group-creator h3,.field-admin-group h2{align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.field-form-actions{flex-wrap:wrap;gap:8px;display:flex}.field-group-creator{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.field-manager-list{min-width:0;overflow:hidden}.field-manager-list .management-toolbar{flex-wrap:wrap;padding:12px 14px}.field-manager-toolbar-actions{white-space:nowrap;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.field-admin-group{margin:12px;overflow:hidden}.field-admin-group-head{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.field-admin-group-head>div:first-child{min-width:0}.field-admin-group-head>div>span{color:var(--muted);font-size:var(--font-size-min);margin-top:3px;display:block}.field-card-group .field-admin-group-head h2{flex-wrap:nowrap;min-width:0;max-width:100%}.field-card-group .field-admin-group-head h2>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-admin-group-summary{color:var(--muted);font-size:var(--font-size-min);white-space:nowrap;flex:none;margin-left:6px;font-weight:500}.field-admin-group-head-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.field-group-color-dot{background:currentColor;border-radius:999px;flex:none;width:8px;height:8px}.field-admin-rows{flex-direction:column;display:flex}.field-admin-row{border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(360px,1fr) max-content max-content;align-items:center;gap:14px;min-height:42px;padding:6px 12px;display:grid}.field-admin-row:last-child{border-bottom:none}.field-admin-row>div:first-child{grid-template-columns:minmax(120px,220px) minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.field-admin-row strong{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.8125rem;display:inline-flex}.field-admin-row strong span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-admin-row-status{white-space:nowrap;flex-wrap:nowrap;gap:6px;display:flex}.field-admin-row code{color:#475569;min-width:0;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;word-break:normal;margin-top:0;display:block;overflow:hidden}.field-admin-row .status-badge{font-size:var(--font-size-min);padding:3px 8px}.field-edit-modal{width:min(640px,92vw)}.config-modal.field-workbench-modal{background:#f8fafc;width:clamp(1080px,84vw,1440px)}.field-group-modal{width:min(420px,92vw)}.field-edit-modal-body,.field-group-modal-body{gap:13px}.field-source-panel{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;gap:10px;padding:12px;display:grid}.field-source-panel-head{gap:3px;display:grid}.field-source-panel-head strong{color:#0f172a;font-size:.8125rem}.field-source-panel-head span{color:#475569;font-size:var(--font-size-min);line-height:1.5}.field-source-governance-note{color:#92400e;font-size:var(--font-size-min);background:#fffbeb;border:1px solid #fde68a;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;line-height:1.45;display:flex}.field-source-governance-note>span{flex:auto;min-width:0}.field-source-governance-note .btn{flex:none}.field-legacy-migrate-feedback{font-size:var(--font-size-min);border-radius:5px;flex:100%;margin:0;padding:4px 8px;line-height:1.4}.field-legacy-migrate-feedback-success{color:#047857;background:#ecfdf5}.field-legacy-migrate-feedback-error{color:#b91c1c;background:#fef2f2}.field-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-source-grid-single{grid-template-columns:minmax(0,1fr)}.field-source-empty{color:#64748b;font-size:var(--font-size-min);line-height:1.5}.field-workbench{overscroll-behavior:contain;background:#f8fafc;flex:auto;grid-template-columns:minmax(360px,1.1fr) minmax(300px,.85fr) minmax(280px,.65fr);align-items:stretch;gap:14px;min-height:0;padding:16px;display:grid;overflow:auto}.field-workbench.field-workbench-2col{grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr)}.field-workbench.field-workbench-3col{grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr) minmax(220px,.62fr)}.field-workbench-main,.field-workbench-assist,.field-workbench-side{flex-direction:column;gap:12px;min-width:0;display:flex}.field-workbench-assist{align-self:stretch;min-height:0;position:sticky;top:0;overflow:hidden}.field-workbench-side{align-self:stretch;min-width:0;position:sticky;top:0;overflow-x:hidden}.field-assist-panel.field-assist-panel-fill{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.field-workbench-token-list-column,.function-catalog-list-column{flex:auto;min-height:120px;max-height:none;overflow:auto}.function-detail-panel-compact{flex:none;max-height:min(32vh,240px);overflow:auto}.field-workbench-section,.field-assist-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;min-width:0;padding:12px;display:grid}.field-workbench-expression{border-color:#cbd5e1}.field-workbench-section-title,.field-assist-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.field-workbench-section-title{color:#334155;justify-content:flex-start;align-items:center;font-size:.75rem;font-weight:700}.field-assist-head>div{gap:2px;min-width:0;display:grid}.field-assist-head strong{color:#0f172a;font-size:.8125rem}.field-assist-head span{color:#64748b;font-size:var(--font-size-min)}.field-workbench-assist .field-assist-head{align-items:center}.field-workbench-assist .field-assist-head>div{display:block}.field-workbench-assist .field-assist-head>div span{display:none}.field-workbench-grid{gap:10px;display:grid}.field-workbench-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-workbench-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field-formula-textarea{width:100%;min-height:150px;font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.6}.field-expression-check-muted{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.field-expression-readable{gap:6px;margin-top:10px;display:grid}.field-expression-readable code{color:#334155;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;padding:8px 10px;line-height:1.55;display:block}.field-workbench-token-list,.function-catalog-list{flex-direction:column;gap:6px;min-height:0;padding-right:2px;display:flex;overflow:auto}.field-workbench-token-list:not(.field-workbench-token-list-column),.function-catalog-list:not(.function-catalog-list-column){max-height:300px}.field-workbench-token-list .formula-field-option{min-height:34px}.field-workbench-token-list .formula-field-option-compact{justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.field-workbench-token-list .formula-field-option-compact strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.75rem;font-weight:600;overflow:hidden}.field-workbench-token-list .formula-field-option-compact small{color:#64748b;max-width:7.5rem;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;flex:none;padding:2px 6px;line-height:1.25;overflow:hidden}.field-workbench-assist .function-catalog-list-column .function-catalog-item{min-height:34px}.field-workbench-assist .function-catalog-item-compact{justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:5px 8px;display:flex}.field-workbench-assist .function-catalog-item-compact strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.75rem;font-weight:600;overflow:hidden}.field-workbench-assist .function-catalog-item-compact small{color:#64748b;max-width:7.5rem;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;flex:none;padding:2px 6px;line-height:1.25;overflow:hidden}.field-workbench-assist .function-catalog-item-compact code{display:none}.field-advanced-toggle{border:1px dashed var(--border);color:#334155;width:100%;font:inherit;cursor:pointer;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.field-advanced-toggle em{color:#64748b;font-style:normal;font-size:var(--font-size-min);margin-left:auto}.field-advanced-panel{gap:8px;margin-top:8px;display:grid}.field-creation-option-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.field-creation-option{border:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;background:#fff;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.field-creation-option strong{font-size:.8125rem;line-height:1.35}.field-creation-option small{color:#64748b;line-height:1.4}.field-creation-option-active{background:#eff6ff;border-color:#93c5fd}.field-expression-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field-expression-preview-always{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:10px}.field-assist-focus-tabs{flex-wrap:wrap;gap:6px;display:flex}.field-instant-preview{background:linear-gradient(#f0fdf4 0%,#ecfdf5 100%);border:1px solid #bbf7d0;border-radius:10px;gap:6px;padding:14px 16px;display:grid}.field-instant-preview-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-instant-preview-label{color:#047857;font-size:var(--font-size-min);font-weight:700}.field-instant-preview-title{color:#0f172a;font-size:.875rem}.field-instant-preview-value{color:#14532d;font-size:1.375rem;font-weight:700;line-height:1.2}.field-instant-preview-caption{color:#475569;font-size:var(--font-size-min);overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;max-width:100%;line-height:1.45}.field-instant-preview-positive .field-instant-preview-value{color:#15803d}.field-instant-preview-negative .field-instant-preview-value{color:#b91c1c}.field-instant-preview-error{background:#fffbeb;border-color:#fde68a}.field-instant-preview-error .field-instant-preview-value{color:#b45309;font-size:.875rem;font-weight:600}.field-source-drift-actions{flex-wrap:wrap;gap:8px;display:flex}.field-edit-impact-list{color:#475569;font-size:var(--font-size-min);margin:6px 0 0;padding-left:18px;line-height:1.5}.reference-chip-button{color:#1d4ed8;cursor:pointer;font:inherit;font-size:var(--font-size-min);background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:2px 8px}.reference-chip-button:hover{background:#dbeafe}.field-save-block-reason{color:#b45309;font-size:var(--font-size-min);text-align:right;align-self:center;max-width:280px}.field-draft-dirty-note{color:#64748b;font-size:var(--font-size-min)}.field-expression-preview-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:10px;display:grid}.field-expression-preview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:6px;min-width:0;padding:10px 12px;display:grid}.field-expression-preview-meaning{background:#f8fbff;border-color:#dbeafe}.field-expression-preview-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.field-expression-preview-label{color:#64748b;font-size:var(--font-size-min);letter-spacing:.02em;white-space:nowrap;font-weight:700}.field-expression-preview-meaning-text{color:#334155;overflow-wrap:anywhere;word-break:break-word;font-family:inherit;font-size:.8125rem;line-height:1.55}.field-expression-preview-value{color:#0f172a;font-family:IBM Plex Mono,monospace;font-size:1.125rem;font-weight:700;line-height:1.2}.field-preview-quarter-select{color:#334155;width:auto;min-width:68px;min-height:30px;font-size:var(--font-size-min);box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:none;margin:0;padding:4px 8px;font-weight:600;line-height:1.4}.field-preview-quarter-select:disabled{opacity:.55;cursor:not-allowed}.field-preview-trial{gap:6px;display:grid}.field-preview-trial-inactive{background:#f1f5f9;border-color:#e2e8f0}.field-preview-trial-limited{background:#fffbeb;border-color:#fde68a}.field-preview-quarter-hint{font-size:var(--font-size-min);line-height:1.45;display:block}.field-preview-quarter-hint-effective{color:#047857}.field-preview-quarter-hint-limited{color:#b45309}.field-preview-quarter-hint-inactive{color:#64748b}.field-preview-error,.field-expression-preview-value.field-preview-error{color:#b45309;font-size:.875rem;font-weight:600}.field-source-summary-drift{border-left:3px solid #f59e0b;padding-left:8px}.field-edit-impact-note{color:#64748b;font-size:var(--font-size-min);margin:8px 0}.field-template-context-note{color:#475569;font-size:var(--font-size-min);margin-bottom:8px}.formula-group-tab-disabled{opacity:.45;cursor:not-allowed}.field-workbench-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-legacy-migrate-dialog{gap:12px;max-height:min(52vh,420px);display:grid;overflow:auto}.field-legacy-migrate-model{font-size:var(--font-size-sm);color:#475569;gap:6px;display:grid}.field-legacy-migrate-model select{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:8px 10px}.field-legacy-migrate-summary{flex-wrap:wrap;gap:8px;display:flex}.field-legacy-migrate-chip{font-size:var(--font-size-min);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.field-legacy-migrate-chip-success{color:#047857;background:#ecfdf5}.field-legacy-migrate-chip-warning{color:#b45309;background:#fffbeb}.field-legacy-migrate-list{gap:8px;display:grid}.field-legacy-migrate-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:4px;padding:10px;display:grid}.field-legacy-migrate-item-head{font-size:var(--font-size-sm);justify-content:space-between;gap:8px;display:flex}.field-legacy-migrate-item code{font-size:var(--font-size-min);color:#334155;word-break:break-all}.field-legacy-migrate-next{color:#047857}.field-legacy-migrate-skip{font-size:var(--font-size-min);color:#b45309}.formula-field-option em{color:#94a3b8;min-width:0;font-style:normal;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.function-catalog-item{border:1px solid var(--border);color:#334155;text-align:left;cursor:pointer;background:#fff;border-radius:7px;gap:4px;width:100%;min-width:0;padding:8px;font-family:inherit;display:grid}.function-catalog-item:hover,.function-catalog-item-active{background:#eff6ff;border-color:#93c5fd}.function-catalog-item-disabled{color:#64748b;background:#f8fafc}.function-catalog-item>span,.function-detail-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.function-catalog-item strong,.function-catalog-item small,.function-catalog-item code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.function-catalog-item strong{font-family:inherit;font-size:.8125rem;font-weight:600}.function-catalog-item small{color:#64748b;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);flex:none}.function-catalog-item code{color:#64748b;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.function-detail-panel{gap:10px;display:grid}.function-detail-title{flex-direction:column;gap:2px;min-width:0;display:flex}.function-detail-title code{font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);color:#64748b;font-weight:400}.function-detail-head strong{overflow-wrap:anywhere;color:#0f172a;min-width:0;font-family:inherit;font-size:.95rem;font-weight:600}.function-detail-panel p,.function-support-note{color:#475569;font-size:.8125rem;line-height:1.55}.function-support-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:8px;display:block}.function-detail-meta{gap:6px;display:grid}.function-detail-meta div{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:8px;display:grid}.function-detail-meta dt,.function-examples>span{color:#64748b;font-size:var(--font-size-min);font-weight:700}.function-detail-meta dd{color:#334155;min-width:0;font-size:.8125rem}.function-examples,.field-source-summary{gap:6px;display:grid}.function-examples code,.field-source-summary code{color:#334155;max-height:164px;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:6px;padding:8px;line-height:1.55;display:block;overflow:auto}.field-source-summary>span{color:#1d4ed8;width:fit-content;font-size:var(--font-size-min);background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:3px 8px;font-weight:700}@media (width<=680px){.field-source-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1180px){.field-workbench,.field-workbench.field-workbench-2col,.field-workbench.field-workbench-3col{grid-template-columns:minmax(0,1fr)}.field-workbench-assist,.field-workbench-side{max-height:none;position:static;overflow:visible}.field-assist-panel-fill{min-height:320px}.field-workbench-token-list-column,.function-catalog-list-column{min-height:200px}.field-workbench-grid-3,.field-workbench-grid-4,.field-creation-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.field-workbench{padding:12px}.field-workbench-grid-3,.field-workbench-grid-4,.field-source-grid,.field-creation-option-grid{grid-template-columns:minmax(0,1fr)}.field-assist-head{flex-direction:column;align-items:stretch}.field-assist-head .formula-field-search{width:100%}}.field-admin-row .btn-sm{padding:3px 8px}.field-admin-pagination{background:0 0;border:none;border-radius:0;padding:14px 0 0}.field-manager-list>.field-admin-pagination{background:0 0;border:none;border-radius:0;margin:0;padding:14px 0 0}.field-card-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin:12px;display:grid}.field-card-group .field-card-grid{margin-top:12px}.field-card-grid-empty{grid-template-columns:1fr;justify-content:center;align-items:center;min-height:64px;display:flex}.field-empty-group-hint{text-align:center;color:var(--muted);max-width:36rem;margin:0;padding:6px 12px;font-size:.75rem;line-height:1.45}.field-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:8px;min-width:0;min-height:132px;padding:14px;display:flex}.field-card-active{background:#f8fbff;border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.field-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-card-header .status-badge{flex:none}.field-card-title{gap:3px;min-width:0;display:grid}.field-card-title strong{min-width:0;color:var(--text);align-items:flex-start;gap:7px;font-size:.875rem;line-height:1.35;display:flex}.field-card-title strong .lucide-icon{color:#64748b;margin-top:2px}.field-card-title strong span,.field-card-title>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-card-title>span{color:var(--muted);font-size:var(--font-size-min)}.field-card-expression{color:#475569;min-width:0;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;line-height:1.5;display:block;overflow:hidden}.field-card-meta,.field-card-actions{flex-wrap:wrap;gap:6px;display:flex}.field-card-group-color{min-height:22px;color:var(--muted);font-size:var(--font-size-min);border:1px solid #e2e8f0;border-radius:999px;align-items:center;padding:3px 8px;font-weight:600;display:inline-flex}.field-card-actions{border-top:1px solid #f1f5f9;margin-top:auto;padding-top:10px}.field-card-actions .btn{white-space:nowrap;flex:none}.chart-edit-modal{width:clamp(920px,76vw,1280px)}.chart-edit-workbench{grid-template-columns:minmax(320px,.76fr) minmax(420px,1fr)}.chart-edit-form-panel{min-height:100%}.chart-edit-fields{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.chart-preview-panel{flex-direction:column;gap:10px;min-height:374px;display:flex}.chart-output-fields{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:10px;display:grid}.chart-output-fields-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.chart-output-fields-head strong{color:#334155;font-size:.75rem;font-weight:700}.chart-output-fields-head span{color:#64748b;font-size:var(--font-size-min)}.chart-preview-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-preview-head>div{gap:3px;min-width:0;display:grid}.chart-preview-head>.chart-preview-head-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.chart-preview-head-actions .btn span,.chart-preview-head-actions .status-badge span{color:inherit;font-size:inherit;font-weight:inherit}.chart-preview-head span{color:var(--muted);font-size:var(--font-size-min);font-weight:600}.chart-preview-head strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;line-height:1.35;overflow:hidden}.chart-preview-meta{flex-wrap:wrap;gap:6px;display:flex}.chart-preview-canvas{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;height:clamp(286px,34vh,420px);min-height:286px}.chart-preview-empty{min-height:286px;color:var(--muted);background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.chart-preview-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:auto}.chart-preview-table{border-collapse:collapse;width:100%;font-size:.75rem}.chart-preview-table th,.chart-preview-table td{text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 12px}.chart-preview-table th{z-index:2;color:#475569;background:#f8fafc;font-weight:600;position:sticky;top:0}.chart-preview-table th:first-child,.chart-preview-table td:first-child{z-index:1;background:inherit;position:sticky;left:0}.chart-preview-table th:first-child{z-index:3;background:#f8fafc}.chart-preview-table tbody td:first-child{background:#fff}.chart-preview-table td{color:#334155}.chart-preview-table tr:last-child td{border-bottom:none}.chart-preview-table-total-row td{z-index:2;color:#0f172a;background:#eff6ff;border-top:1px solid #dbeafe;font-weight:700;position:sticky;bottom:0}.chart-preview-table-total-row td:first-child{z-index:3;background:#eff6ff}.chart-preview-table-no-freeze-first .chart-preview-table th:first-child,.chart-preview-table-no-freeze-first .chart-preview-table td:first-child{position:static;left:auto}.chart-data-reference-panel{background:#fff;border:1px solid #bfdbfe;border-radius:8px;gap:8px;padding:10px;display:grid}.chart-data-reference-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-data-reference-head>div:first-child{gap:3px;min-width:0;display:grid}.chart-data-reference-head strong{color:#0f172a;font-size:.8125rem;font-weight:800}.chart-data-reference-head span,.chart-data-reference-foot,.chart-data-reference-empty{color:#64748b;font-size:var(--font-size-min)}.chart-data-reference-tabs{background:#eff6ff;border:1px solid #dbeafe;border-radius:7px;gap:2px;padding:2px;display:inline-flex}.chart-data-reference-tabs button{color:#475569;cursor:pointer;min-height:26px;font-family:inherit;font-size:var(--font-size-min);background:0 0;border:none;border-radius:5px;padding:0 9px;font-weight:800}.chart-data-reference-tabs .chart-data-reference-tab-active{color:#1d4ed8;background:#fff;box-shadow:0 1px 2px #2563eb1f}.chart-data-reference-table-wrap{border:1px solid #e2e8f0;border-radius:7px;max-height:230px;overflow:auto}.chart-data-reference-table th,.chart-data-reference-table td{white-space:nowrap}.chart-data-reference-foot{margin:0}.chart-data-reference-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px;justify-content:center;align-items:center;min-height:72px;display:flex}.chart-template-card-section{margin:0}.chart-template-card-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px;padding:12px;display:grid}.chart-template-card{background:#fff;border:1px solid #dbeafe;border-radius:8px;flex-direction:column;min-width:0;min-height:392px;display:flex;overflow:hidden}.chart-template-card-active{background:#f8fbff;border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.chart-template-card-preview{background:#f8fafc;padding:10px 10px 0}.chart-template-mini-preview{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #dbe7f4;border-radius:8px;flex-direction:column;justify-content:flex-end;height:184px;min-height:184px;display:flex;position:relative;overflow:hidden}.chart-template-mini-preview:before{content:"";opacity:.72;background:linear-gradient(#e2e8f0 1px,#0000 1px) 0 0/100% 34px,linear-gradient(90deg,#e2e8f0 1px,#0000 1px) 0 0/42px 100%;position:absolute;inset:18px 16px 42px 42px}.chart-template-mini-bars{grid-template-columns:repeat(5,minmax(10px,1fr));align-items:end;gap:10px;display:grid;position:absolute;inset:36px 24px 42px 50px}.chart-template-mini-bars span{height:var(--mini-bar-height);background:linear-gradient(#38bdf8 0%,#2563eb 100%);border-radius:5px 5px 2px 2px;min-height:22px;box-shadow:inset 0 -1px #0f172a14}.chart-template-mini-line{width:calc(100% - 64px);height:calc(100% - 66px);position:absolute;inset:26px 22px 40px 42px;overflow:visible}.chart-template-mini-line path{fill:#14b8a629}.chart-template-mini-line polyline{fill:none;stroke:#0f766e;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.chart-template-mini-preview-line .chart-template-mini-bars,.chart-template-mini-preview-area .chart-template-mini-bars{display:none}.chart-template-mini-preview-combo .chart-template-mini-bars span{background:linear-gradient(#93c5fd 0%,#3b82f6 100%)}.chart-template-mini-pie{background:conic-gradient(#2563eb 0 38%, #14b8a6 38% 67%, #f59e0b 67% 84%, #64748b 84% 100%);border-radius:999px;width:128px;height:128px;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 16px #fff,0 10px 24px #0f172a14}.chart-template-mini-table{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid;position:absolute;inset:28px 28px 46px}.chart-template-mini-table span{background:#dbeafe;border-radius:5px}.chart-template-mini-table span:nth-child(2n){background:#ccfbf1}.chart-template-mini-axis{z-index:1;color:#64748b;justify-content:space-between;gap:12px;padding:0 14px 12px 42px;font-size:.6875rem;line-height:1.35;display:flex;position:relative}.chart-template-mini-axis span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:48%;overflow:hidden}.chart-workbench-loading{min-height:min(720px,100vh - 80px);color:var(--text-muted,#64748b);background:#f8fafc;border-radius:8px;flex:auto;justify-content:center;align-items:center;font-size:.95rem;display:flex}.chart-template-card-content{flex-direction:column;flex:1;gap:10px;min-width:0;padding:12px;display:flex}.chart-template-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.chart-template-card-header .status-badge{flex:none}.chart-template-card-title{gap:5px;min-width:0;display:grid}.chart-template-card-title strong{color:#0f172a;align-items:center;gap:6px;min-width:0;font-size:.9375rem;line-height:1.35;display:inline-flex}.chart-template-card-title strong span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-template-card-title p{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.chart-template-card-meta,.chart-template-output-list{flex-wrap:wrap;gap:6px;display:flex}.chart-template-card-meta .status-badge{min-width:0;max-width:100%}.chart-template-output-list{min-height:24px}.chart-template-output-list .chart-output-field small{color:#7c2d12;font-size:var(--font-size-min);white-space:nowrap;font-weight:600}.chart-template-card-actions{border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;display:flex}.chart-template-card-actions .btn{white-space:nowrap;flex:none}.chart-template-picker-modal{border-radius:12px 0 0 12px;flex-direction:column;width:min(720px,92vw);height:100vh;max-height:100vh;display:flex}.chart-template-picker-body{background:#f8fafc;flex:1;min-height:0;padding:14px;overflow:auto}.chart-template-picker-grid{gap:10px;display:grid}.chart-template-picker-card{background:#fff;border:1px solid #dbeafe;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.chart-template-picker-card>div{gap:4px;min-width:0;display:grid}.chart-template-picker-card strong,.chart-template-picker-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-template-picker-card strong{color:#0f172a;font-size:.875rem;font-weight:700}.chart-template-picker-card>div>span{color:#64748b;font-size:.75rem}.confirm-backdrop{z-index:240;background:#0f172a57;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:min(390px,100%);overflow:hidden;box-shadow:0 24px 56px #0f172a38}.confirm-header{padding:16px 18px 8px}.confirm-header h3{color:#0f172a;font-size:.95rem;font-weight:600;line-height:1.35}.confirm-body{color:#475569;padding:0 18px 16px;font-size:.8125rem;line-height:1.6}.confirm-delete-message{gap:10px;display:grid}.confirm-delete-message p{margin:0}.confirm-delete-list{color:#334155;margin:0;padding-left:18px}.confirm-blocking-references{gap:8px;display:grid}.confirm-blocking-references>strong{color:#0f172a;font-size:.8125rem}.confirm-blocking-references>small{color:#64748b}.confirm-delete-list li{padding:3px 0}.confirm-delete-list li>span{gap:1px;display:grid}.confirm-delete-list li>span>strong{color:#475569;font-size:.75rem}.confirm-delete-list li>span>span{color:#0f172a;font-weight:600}.confirm-delete-list li>span>small{color:#64748b;word-break:break-all}.confirm-delete-message a{color:#2563eb;font-weight:600;text-decoration:none}.confirm-delete-message a:hover{text-decoration:underline}.confirm-error{color:#b91c1c;margin:0;font-weight:600}.prompt-body{gap:12px;display:grid}.prompt-body p{margin:0}.prompt-dialog .form-field{gap:6px}.confirm-footer{border-top:1px solid var(--border);background:#fafbfc;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.code-mode .code-editor{flex:1;font-size:12px;font-family:IBM Plex Mono,monospace!important}.code-mode-error{color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca;padding:8px 16px;font-size:.75rem;line-height:1.5}.code-mode-loading{color:var(--muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-icon-text{white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary span,.btn-primary .lucide-icon{color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled:hover{background:var(--accent)}.btn-danger{color:#fff;background:#dc2626}.btn-danger span,.btn-danger .lucide-icon{color:#fff}.btn-danger:hover{background:#b91c1c}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-mode{color:var(--text);border:1px solid var(--border);background:#f1f5f9}.btn-mode.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.btn-ghost{border:1px solid var(--border);color:var(--muted);background:0 0}.btn-sm{font-size:var(--font-size-min);padding:4px 10px}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.ai-query-page.management-page{height:100dvh;overflow:hidden}.ai-query-page .management-hero{flex-shrink:0}.ai-query-page .management-hero p{white-space:normal;line-height:1.4}.ai-query-layout{flex:auto;grid-template-columns:minmax(360px,440px) minmax(0,1fr);align-items:stretch;gap:16px;min-width:0;min-height:0;padding:16px 28px 20px;display:grid;overflow:hidden}.ai-query-layout--empty{grid-template-columns:minmax(0,1fr);padding-top:8px;overflow:visible}.ai-query-layout .manager-card-section{min-height:0;margin:0}.ai-query-panel,.ai-query-results{flex-direction:column;gap:14px;min-height:0;display:flex}.ai-query-panel{padding:16px;overflow:auto}.ai-query-results{padding:16px}.ai-query-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ai-query-step{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 10px 10px 8px;font-size:.75rem;line-height:1.35;display:flex}.ai-query-step.is-active{border-color:color-mix(in srgb, var(--accent,#2563eb) 35%, var(--border));background:color-mix(in srgb, var(--accent,#2563eb) 8%, #fff);color:var(--text,inherit)}.ai-query-step.is-done{border-color:color-mix(in srgb, #16a34a 35%, var(--border));background:#f0fdf4}.ai-query-step-index{background:#0f172a14;border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6875rem;font-weight:700;display:inline-flex}.ai-query-step.is-active .ai-query-step-index{background:var(--accent,#2563eb);color:#fff}.ai-query-step.is-done .ai-query-step-index{color:#fff;background:#16a34a}.ai-query-compose{border:1px solid var(--border);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.ai-query-compose .select-input,.ai-query-compose .textarea-input{width:100%}.ai-query-question-input{resize:vertical;min-height:84px;line-height:1.45}.ai-query-model-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:-4px;font-size:.8125rem;display:flex}.ai-query-loading-hint{font-style:italic}.ai-query-examples{flex-direction:column;gap:8px;display:flex}.ai-query-examples-label{color:var(--muted);font-size:.75rem;font-weight:600}.ai-query-examples-empty{font-size:var(--font-size-min);color:var(--text-muted);margin:0}.ai-query-example-chips{flex-wrap:wrap;gap:8px;display:flex}.ai-query-example-chip{border:1px solid var(--border);color:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:5px 12px;font-size:.75rem;line-height:1.3;transition:border-color .15s,color .15s,background .15s}.ai-query-example-chip:hover,.ai-query-example-chip.is-selected{border-color:var(--accent,#2563eb);background:color-mix(in srgb, var(--accent,#2563eb) 8%, #fff);color:var(--accent,#2563eb)}.ai-query-actions{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.ai-query-actions--ready .btn-primary{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#2563eb) 18%, transparent)}.ai-query-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:10px 12px;font-size:.8125rem}.ai-query-plan-preview{border:1px solid color-mix(in srgb, #16a34a 25%, var(--border));background:linear-gradient(#f0fdf4 0%,#fff 100%);border-radius:10px;margin-top:2px;padding:14px}.ai-query-plan-preview--invalid{background:linear-gradient(#fef2f2 0%,#fff 100%);border-color:#fecaca}.ai-query-plan-validation-error{color:#b91c1c;background:#fff1f2;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:.8125rem;line-height:1.45}.ai-query-plan-preview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ai-query-plan-preview-head h3{margin:0;font-size:.9375rem}.ai-query-plan-summary{background:#fffc;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:.8125rem;line-height:1.45}.ai-query-plan-details{gap:8px;margin:0;font-size:.8125rem;display:grid}.ai-query-plan-details div{grid-template-columns:72px 1fr;align-items:start;gap:8px;display:grid}.ai-query-plan-details dt{color:var(--muted);margin:0;font-weight:600}.ai-query-plan-details dd{word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.ai-query-plan-empty{color:var(--muted);margin:0;font-size:.8125rem}.ai-query-warnings{color:#b45309;margin:10px 0 0;padding-left:18px;font-size:.8125rem}.ai-query-disambiguation{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:14px}.ai-query-disambiguation header h3{margin:0 0 6px;font-size:.9375rem}.ai-query-disambiguation header p{color:var(--muted);margin:0 0 12px;font-size:.8125rem}.ai-query-disambiguation-list{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.ai-query-disambiguation-item strong{margin-bottom:8px;font-size:.8125rem;display:block}.ai-query-disambiguation-options{flex-wrap:wrap;gap:8px;display:flex}.ai-query-disambiguation-option{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;min-width:140px;padding:8px 10px;display:flex}.ai-query-disambiguation-option code{color:var(--muted);font-size:.6875rem}.ai-query-disambiguation-option.is-selected{border-color:var(--accent,#2563eb);background:color-mix(in srgb, var(--accent,#2563eb) 8%, #fff)}.ai-query-results-head{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-query-results-head h2{margin:0;font-size:1rem}.ai-query-results-empty{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;min-height:280px;padding:12px;display:flex}.ai-query-results-empty .empty-state{box-shadow:none;background:0 0;border:none}.ai-query-page--plan-ready .ai-query-results-empty .empty-state{opacity:1}.ai-query-results-table-wrap{border:1px solid var(--border);border-radius:8px;flex:auto;min-height:0;overflow:auto}.ai-query-results-table th{z-index:1;background:#f8fafc;position:sticky;top:0}.ai-query-results-table td:last-child,.ai-query-results-table th:last-child{text-align:right}@media (width<=1180px){.ai-query-layout{grid-template-columns:minmax(0,1fr);overflow:auto}.ai-query-panel,.ai-query-results{overflow:visible}.ai-query-steps{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.ai-query-layout{padding:12px}}.insight-editor{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}.insight-editor-load-shell{background:var(--bg);justify-content:center;align-items:center}.editor-load-state{width:min(360px,100vw - 48px);color:var(--muted);text-align:center;justify-items:center;gap:10px;padding:20px;display:grid}.editor-load-state h1{color:var(--text);font-size:1rem;font-weight:700}.editor-load-state p{font-size:.875rem;line-height:1.6}.editor-topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.topbar-eyebrow{font-size:var(--font-size-min);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.editor-topbar h1{margin-top:1px;font-size:1rem;font-weight:600}.editor-title-stack{flex-direction:column;gap:6px;min-width:220px;display:flex}.editor-section-tabs{background:#f8fafc;border:1px solid #dbe7f4;border-radius:8px;align-items:center;gap:4px;width:fit-content;padding:3px;display:inline-flex}.editor-section-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:28px;padding:4px 10px;font-family:inherit;font-size:.75rem;font-weight:700}.editor-section-tab-active{color:#1d4ed8;background:#fff;box-shadow:0 1px 2px #0f172a14}.topbar-actions{align-items:center;gap:8px;display:flex}.editor-three-col{flex:1;grid-template-columns:220px 1fr 300px;gap:0;min-height:0;display:grid;overflow:hidden}.editor-three-col.preview-collapsed{grid-template-columns:220px minmax(0,1fr)}.editor-three-col-assets{grid-template-columns:220px minmax(0,1fr) 300px}.editor-three-col-assets.preview-collapsed{grid-template-columns:220px minmax(0,1fr)}.assets-nav-side{background:#f8fafc}.assets-nav-list{gap:6px;padding:12px;display:grid}.assets-nav-item{text-align:left;color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-items:center;min-height:34px;padding:7px 10px;font-family:inherit;font-size:.8125rem;font-weight:700;display:flex}.assets-nav-item-active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.assets-nav-item[aria-current=page]{cursor:default}.side-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.side-header h3{font-size:.8125rem;font-weight:600}.panel-badge{font-size:var(--font-size-min);color:#166534;background:#dcfce7;border-radius:999px;padding:2px 7px;font-weight:500}.status-badge{border:1px solid var(--border);color:var(--muted);white-space:nowrap;background:#f8fafc;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;display:inline-flex}.status-badge-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.status-badge-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.status-badge-danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.status-badge-info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.palette-side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:hidden}.demo-gallery{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.demo-gallery-intro{font-size:var(--font-size-min);color:var(--muted);line-height:1.5}.demo-list{flex-direction:column;gap:8px;list-style:none;display:flex}.demo-card{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;transition:border-color .12s,box-shadow .12s;display:flex}.demo-card:hover{border-color:#93c5fd;box-shadow:0 2px 8px #2563eb14}.demo-card-active{background:#eff6ff;border-color:#2563eb}.demo-card-title{color:var(--text);font-size:.8125rem;font-weight:600}.demo-card-desc{font-size:var(--font-size-min);color:var(--muted);line-height:1.45}.demo-card-tags{flex-wrap:wrap;gap:4px;display:flex}.demo-tag{font-size:var(--font-size-min);color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 6px}.demo-card-active .demo-tag{color:#1d4ed8;background:#dbeafe}.palette-hint{font-size:var(--font-size-min);color:var(--muted)}.palette-search{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;padding:8px 10px 10px}.palette-search-control{width:100%}.palette-search-control .text-input{min-height:30px;font-size:var(--font-size-min);padding-top:6px;padding-bottom:6px}.palette-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 12px 16px;overflow-y:auto}.field-group{margin-bottom:14px}.group-title{font-size:var(--font-size-min);color:var(--muted);margin-bottom:6px;font-weight:600}.group-blue{color:#2563eb}.group-orange{color:#ea580c}.group-green{color:#16a34a}.group-slate{color:#64748b}.group-teal{color:#0f766e}.group-violet{color:#7c3aed}.field-list{flex-direction:column;gap:4px;display:flex}.field-item{text-align:left;border:1px solid var(--border);background:#f8fafc;border-radius:6px;align-items:center;gap:6px;padding:4px 4px 4px 10px;font-size:.75rem;transition:border-color .12s;display:flex}.field-item-label{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.field-item-label>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-item-add{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:color .12s,background .12s;display:inline-flex}.field-item-add:hover{color:#2563eb;background:#eff6ff}.field-item:hover{border-color:#cbd5e1}.semantic-legend{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:0 12px 10px;display:flex}.semantic-legend-head{align-items:center;gap:4px;display:flex}.semantic-legend-title{letter-spacing:.02em;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:600}.semantic-legend-help{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:color .12s,background .12s;display:inline-flex}.semantic-legend-help:hover{color:#2563eb;background:#eff6ff}.semantic-legend-help-dialog p{color:#475569;margin:0 0 12px;font-size:.8125rem;line-height:1.55}.semantic-legend-help-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.semantic-legend-help-item{align-items:flex-start;gap:8px;display:flex}.semantic-legend-help-item strong{color:var(--text);margin-bottom:2px;font-size:.8125rem;display:block}.semantic-legend-help-item span{color:#64748b;font-size:.75rem;line-height:1.5;display:block}.semantic-legend-help-note{color:#94a3b8!important;margin:12px 0 0!important;font-size:.75rem!important}.semantic-legend-items{flex-wrap:wrap;gap:6px 10px;display:flex}.semantic-legend-item{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-size:10px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.semantic-legend-item:hover{background:#f8fafc;border-color:#e2e8f0}.semantic-legend-item-active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.semantic-role-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.semantic-role-dot-blue{background:#2563eb}.semantic-role-dot-violet{background:#7c3aed}.semantic-role-dot-orange{background:#ea580c}.semantic-role-dot-slate{background:#64748b}.semantic-role-dot-teal{background:#0f766e}.semantic-role-dot-green{background:#16a34a}.field-blue:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.field-orange:hover{color:#c2410c;background:#fff7ed;border-color:#fdba74}.field-green:hover{color:#15803d;background:#f0fdf4;border-color:#86efac}.field-slate:hover{background:#f1f5f9;border-color:#cbd5e1}.field-teal:hover{color:#0f766e;background:#f0fdfa;border-color:#5eead4}.field-violet:hover{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd}.palette-empty{min-height:120px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:.75rem;display:flex}.palette-empty .lucide-icon{color:#94a3b8}.palette-empty span{color:var(--text);font-weight:600}.palette-empty small{max-width:150px;line-height:1.4}.editor-canvas{background:#fafbfc;flex-direction:column;min-height:0;display:flex;overflow:hidden}.asset-config-canvas{overflow-y:auto}.asset-config-canvas .insight-assets-panel{margin:16px}.canvas-toolbar-mini{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:6px;padding:8px 16px;display:flex}.mini-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;display:inline-flex}.canvas-hint{font-size:var(--font-size-min);color:var(--muted);margin-left:8px}.insight-assets-panel{background:#fff;border:1px solid #dbe7f4;border-radius:8px;margin:12px 16px 0;padding:12px}.insight-assets-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.insight-assets-heading{flex-direction:column;gap:8px;min-width:0;display:flex}.insight-assets-title{color:#334155;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:inline-flex}.insight-assets-title .lucide-icon{color:#2563eb}.insight-assets-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.insight-assets-tabs{background:#f8fafc;border:1px solid #dbe7f4;border-radius:8px;align-items:center;gap:4px;padding:3px;display:inline-flex}.insight-assets-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-family:inherit;font-size:.75rem;font-weight:700;display:inline-flex}.insight-assets-tab-active{color:#1d4ed8;background:#fff;box-shadow:0 1px 2px #0f172a14}.insight-assets-tab .status-badge{min-height:18px;padding:1px 5px}.insight-recommend-control{color:var(--muted);font-size:var(--font-size-min);align-items:center;gap:8px;font-weight:600;display:flex}.insight-recommend-control .select-input{min-width:112px}.insight-assets-body{gap:10px;display:grid}.insight-assets-body-display{grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr)}.insight-assets-body-list{flex-direction:column;gap:12px;display:flex}.insight-assets-body-text{grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr)}.insight-assets-body-charts{grid-template-columns:260px minmax(0,1fr);align-items:start}.insight-assets-grid{grid-template-columns:minmax(180px,.95fr) minmax(220px,1fr) minmax(260px,1.2fr);gap:10px;display:grid}.insight-asset-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.insight-asset-card-title{color:#334155;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.insight-asset-card-title .status-badge{margin-left:auto}.insight-asset-form-card{justify-content:flex-start}.insight-asset-field{color:#475569;gap:6px;font-size:.75rem;font-weight:700;display:grid}.insight-asset-text-card p,.insight-asset-text-card small{color:#334155;-webkit-box-orient:vertical;min-width:0;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.insight-asset-text-card p{-webkit-line-clamp:2;font-size:.8125rem;font-weight:700}.insight-asset-text-card small{-webkit-line-clamp:2;color:#64748b;font-size:var(--font-size-min)}.insight-asset-picker{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.insight-asset-picker-compact{min-width:min(500px,100%)}.insight-asset-create-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:min(720px,100%);display:flex}.insight-asset-create-actions .btn{white-space:nowrap;flex:none;min-width:112px}.insight-asset-list-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.insight-asset-list-toolbar>div:first-child{gap:3px;min-width:0;display:grid}.insight-asset-list-toolbar strong{color:#0f172a;font-size:.875rem}.insight-asset-list-toolbar>div:first-child span{color:#64748b;font-size:.75rem}.insight-asset-chip-list,.chart-output-field-list{flex-wrap:wrap;gap:6px;display:flex}.insight-asset-chip,.chart-output-field{color:#334155;max-width:100%;min-height:24px;font-size:var(--font-size-min);background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-weight:600;display:inline-flex}.chart-output-field small{color:#64748b;min-width:0;font-size:.68rem;font-weight:600}.insight-asset-chip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.insight-asset-chip button,.insight-chart-ref button{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.insight-asset-empty{color:#64748b;font-size:var(--font-size-min)}.insight-chart-ref-list{gap:6px;display:grid}.insight-chart-asset-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px;display:grid}.insight-chart-asset-list .insight-asset-empty-panel{grid-column:1/-1}.insight-chart-asset-card{min-height:360px}.insight-chart-asset-card-preview .chart-preview-canvas,.insight-chart-asset-card-preview .chart-preview-empty,.insight-chart-asset-card-preview .chart-preview-table-wrap{height:184px;min-height:184px}.insight-chart-asset-card .chart-template-card-title p{-webkit-line-clamp:2}.insight-chart-asset-row{background:#fff;border:1px solid #dbeafe;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:12px;display:grid}.insight-chart-asset-main{gap:5px;min-width:0;display:grid}.insight-chart-asset-main strong{color:#0f172a;align-items:center;gap:6px;min-width:0;font-size:.875rem;display:inline-flex}.insight-chart-asset-main strong span,.insight-chart-asset-main>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.insight-chart-asset-main>span{color:#64748b;font-size:.75rem}.insight-chart-asset-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.insight-chart-asset-actions .select-input{width:260px}.insight-chart-asset-edit{grid-template-columns:minmax(160px,220px) minmax(180px,260px) auto auto;align-items:center;gap:6px;display:grid}.insight-chart-asset-edit .text-input,.insight-chart-asset-edit .select-input{width:100%;min-width:0}.insight-chart-asset-drawer{background:#f8fafc;width:clamp(1180px,86vw,1680px)}.insight-chart-asset-drawer .insight-chart-editor{border:none;border-radius:12px 0 0 12px;height:100vh;min-height:0}.insight-chart-asset-drawer .insight-chart-editor-topbar{padding:14px 16px}.insight-chart-asset-drawer .insight-chart-editor-grid{grid-template-columns:minmax(520px,1fr) clamp(320px,22vw,420px) clamp(260px,18vw,340px)}.insight-chart-asset-drawer .chart-preview-workspace .chart-preview-canvas,.insight-chart-asset-drawer .chart-preview-workspace .chart-preview-table-wrap,.insight-chart-asset-drawer .chart-preview-workspace .chart-preview-empty{height:clamp(440px,54vh,680px);min-height:440px}.insight-metric-asset-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.insight-metric-asset-search{flex:0 240px;width:min(240px,100%)}.insight-metric-asset-list .insight-asset-empty-panel{grid-column:1/-1}.insight-metric-asset-card,.chart-template-card.insight-metric-asset-card{min-height:0}.insight-metric-asset-card-preview-wrap{position:relative}.insight-metric-asset-card-quick-actions{background:#fffffff5;border:1px solid #e2e8f0;border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 4px 12px #0f172a14}.insight-metric-asset-card-quick-actions .btn{min-width:28px;padding-inline:8px}.insight-metric-asset-actions{scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-end;gap:4px;overflow-x:auto}.chart-template-card-actions.insight-metric-asset-actions .btn{flex:none;min-width:0;padding-inline:8px}.insight-metric-asset-card-preview{align-content:center;justify-items:var(--book-metric-align,start);text-align:var(--book-metric-align,start);gap:var(--book-metric-gap,8px);min-height:120px;padding:var(--book-metric-padding,14px) 16px;box-sizing:border-box;font-variant-numeric:tabular-nums;background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #e2e8f0;display:grid}.insight-metric-asset-card-preview span,.insight-metric-asset-preview-card span{color:#64748b;font-size:var(--book-metric-label-size,.8125rem);line-height:1.4}.insight-metric-asset-card-preview strong,.insight-metric-asset-preview-card strong{color:#0f172a;font-family:IBM Plex Mono,monospace;font-size:var(--book-metric-value-size,1.65rem);line-height:1.15}.insight-metric-preview-empty{color:#94a3b8!important;font-size:.875rem!important;font-weight:600!important}.insight-metric-preview-error{align-items:center;gap:5px;display:inline-flex;color:#dc2626!important;font-size:.875rem!important;font-weight:700!important}.insight-metric-asset-drawer{width:min(920px,100vw - 32px);max-height:calc(100vh - 32px)}.insight-metric-asset-editor{flex-direction:column;height:100%;min-height:0;display:flex}.insight-metric-asset-editor-topbar{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.insight-metric-asset-editor-topbar strong{color:#0f172a;font-size:.9375rem;display:block}.insight-metric-asset-editor-topbar span{color:#64748b;margin-top:2px;font-size:.75rem;display:block}.insight-metric-asset-editor-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.insight-metric-asset-editor-actions .metric-workbench-save-status{letter-spacing:.01em;border-radius:6px;flex-direction:row;align-items:center;gap:5px;padding:3px 8px;font-size:.6875rem;font-weight:600;line-height:1.2;display:inline-flex}.insight-metric-asset-editor-actions .metric-workbench-save-status .lucide-icon{flex:none}.insight-metric-asset-editor-actions .metric-workbench-save-status span{display:inline}.insight-metric-asset-editor-actions .metric-workbench-save-status.status-badge-success{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.insight-metric-asset-editor-actions .metric-workbench-save-status.status-badge-warning{color:#b45309;background:#fffbeb;border-color:#fde68a}.insight-metric-asset-editor-grid{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:16px;padding:16px;display:grid;overflow:auto}.insight-metric-asset-editor .metric-config-workbench{flex:auto;gap:10px;min-height:0;padding:12px}.insight-metric-asset-editor .metric-config-workbench .field-workbench-assist{gap:8px}.insight-metric-asset-editor .field-workbench-expression{flex:none}.insight-metric-asset-editor .field-workbench-section{gap:8px;padding:10px}.insight-metric-asset-editor .field-guided-summary{margin-bottom:0}.insight-metric-asset-editor .metric-wizard-calc-grid{gap:6px}.insight-metric-asset-editor .metric-wizard-calc-card{border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:0;padding:7px 8px}.insight-metric-asset-editor .metric-wizard-calc-card span{display:none}.insight-metric-asset-editor .metric-wizard-calc-card strong{font-size:.8125rem}.insight-metric-asset-editor .field-workbench-grid .form-field{gap:4px}.insight-metric-asset-editor .field-workbench-grid .form-field-label{font-size:var(--font-size-min);line-height:1.2}.insight-metric-asset-editor .field-formula-textarea{min-height:88px}.insight-metric-asset-editor-readable{color:#475569;margin:0;font-size:.8125rem;line-height:1.5}.insight-metric-asset-editor-form{gap:8px;display:grid}.insight-metric-asset-editor-note{color:#64748b;margin:0;font-size:.75rem;line-height:1.5}.insight-metric-asset-editor-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-content:start;align-self:start;gap:8px;padding:10px;display:grid}.insight-metric-asset-editor-preview-head{color:#334155;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.insight-metric-asset-preview-card{align-content:center;justify-items:var(--book-metric-align,start);text-align:var(--book-metric-align,start);gap:var(--book-metric-gap,4px);padding:var(--book-metric-padding,14px) 16px;box-sizing:border-box;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dbe7f4;border-radius:8px;display:grid}.insight-metric-asset-preview-card span{color:#64748b;font-weight:600}.insight-metric-asset-preview-card strong{color:#0f172a}.insight-metric-asset-editor-expression{color:#64748b;word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem;line-height:1.5}.form-field-error{color:#dc2626;margin:4px 0 0;font-size:.75rem}.insight-chart-ref-list-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.insight-chart-ref{background:#fff;border:1px solid #dbeafe;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.insight-chart-ref-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px}.insight-chart-ref div{gap:2px;min-width:0;display:grid}.insight-chart-ref strong,.insight-chart-ref span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.insight-chart-ref strong{color:#1e293b;font-size:.75rem}.insight-chart-ref span{color:#64748b;font-size:var(--font-size-min)}.insight-chart-output-list{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.insight-asset-empty-panel{color:#64748b;border:1px dashed #cbd5e1;border-radius:8px;justify-content:center;align-items:center;min-height:88px;font-size:.75rem;display:flex}.insight-chart-editor{background:#f8fafc;border:1px solid #dbe7f4;border-radius:8px;grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 190px);display:grid;overflow:hidden}.insight-chart-editor-topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.insight-chart-editor-title{align-items:center;gap:10px;min-width:0;display:flex}.insight-chart-editor-title>div{gap:4px;min-width:240px;display:grid}.insight-chart-editor-title span{color:#64748b;font-size:var(--font-size-min);font-weight:700}.insight-chart-editor-title .text-input{height:32px;font-size:.875rem;font-weight:700}.insight-chart-editor-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.insight-chart-editor-grid{grid-template-columns:minmax(420px,1fr) 320px 260px;min-height:0;display:grid;overflow:hidden}.chart-field-pool,.chart-inspector{background:#fff;min-width:0;min-height:0;overflow-y:auto}.chart-field-pool{border-left:1px solid #e2e8f0;overflow-x:hidden}.chart-field-pool-head{border-bottom:1px solid #f1f5f9;gap:2px;padding:12px;display:grid}.chart-field-pool-head strong{color:#0f172a;font-size:.8125rem}.chart-field-pool-head span{color:#64748b;font-size:var(--font-size-min)}.chart-dataset-selector{margin:10px 12px 8px}.chart-dataset-selector .select-input{width:100%}.chart-source-compat-note{color:#92400e;font-size:var(--font-size-min);align-items:flex-start;gap:6px;margin-top:8px;line-height:1.45;display:flex}.chart-source-compat-note .lucide-icon{flex:none;margin-top:1px}.chart-field-search{width:auto;min-width:0;margin:0 12px 8px}.chart-field-groups{gap:12px;min-width:0;padding:0 12px 14px;display:grid}.chart-field-empty{color:#64748b;font-size:var(--font-size-min);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px;padding:9px 10px;line-height:1.45}.chart-field-group{gap:6px;min-width:0;display:grid}.chart-field-group h4{color:#475569;font-size:var(--font-size-min);margin:0;font-weight:800}.chart-field-list{gap:6px;display:grid}.chart-field-pill{color:#334155;background:#fff;border:1px solid #e2e8f0;border-left-width:3px;border-radius:7px;align-items:stretch;gap:0;min-width:0;display:flex;overflow:hidden}.chart-field-pill-checked{background:#f8fbff;border-color:#93c5fd}.chart-field-pill-check{cursor:pointer;background:#f8fafc;border-right:1px solid #e2e8f0;flex:none;justify-content:center;align-items:center;width:32px;min-height:36px;margin:0;padding:0;display:inline-flex}.chart-field-pill-check input{cursor:pointer;accent-color:#2563eb;width:14px;height:14px;margin:0}.chart-field-pill-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;justify-content:flex-start;align-items:center;gap:6px;padding:7px 8px;font-family:inherit;display:flex}.chart-field-pill-main:hover{background:#f8fbff}.chart-field-pill-icon{color:#64748b;flex:none}.chart-field-pill:hover{border-color:#bfdbfe}.chart-field-pill:hover .chart-field-pill-main{background:#f8fbff}.chart-field-pill span,.chart-field-pill small,.chart-field-pill-main span,.chart-field-pill-main small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-field-pill span,.chart-field-pill-main span{flex:1;font-size:.75rem;font-weight:800}.chart-field-pill small,.chart-field-pill-main small{color:#64748b;font-size:var(--font-size-min);flex-shrink:0}.chart-field-pill-dimension{border-left-color:#2563eb}.chart-field-pill-metric{border-left-color:#0f766e}.chart-field-pill-calculation{border-left-color:#7c3aed}.chart-field-pill-output{border-left-color:#f59e0b}.chart-preview-workspace{background:#f8fafc;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:14px;display:flex;overflow-y:auto}.chart-preview-workspace .chart-preview-canvas,.chart-preview-workspace .chart-preview-table-wrap,.chart-preview-workspace .chart-preview-empty{height:clamp(340px,42vh,520px);min-height:340px}.chart-validation-list{flex-wrap:wrap;gap:6px;display:flex}.chart-validation-list span{color:#92400e;min-height:24px;font-size:var(--font-size-min);background:#fffbeb;border:1px solid #fde68a;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-weight:700;display:inline-flex}.chart-preview-note-list span{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-weight:600}.chart-inspector{border-left:1px solid #e2e8f0}.chart-context-panel{background:#fff;border:1px solid #dbe7f4;border-radius:8px;gap:10px;padding:12px;display:grid}.chart-preview-context-panel{align-content:start}.chart-context-title{color:#0f172a;align-items:center;gap:6px;font-size:.8125rem;font-weight:800;display:inline-flex}.chart-context-title .lucide-icon{color:#2563eb}.chart-context-note{color:#64748b;font-size:var(--font-size-min);margin:0;line-height:1.5}.chart-inspector-tabs{z-index:1;background:#fff;border-bottom:1px solid #e2e8f0;gap:2px;padding:8px 10px 0;display:flex;position:sticky;top:0}.chart-inspector-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 1 0;min-height:32px;font-family:inherit;font-size:.75rem;font-weight:800}.chart-inspector-tab-active{color:#1d4ed8;border-bottom-color:#2563eb}.chart-inspector-body{gap:12px;padding:12px;display:grid}.chart-slot-list{gap:8px;display:grid}.chart-mode-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.chart-mode-icon-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:52px;padding:6px 4px;font-family:inherit;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chart-mode-icon-btn span{color:#334155;max-width:100%;font-size:var(--font-size-min);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.15;overflow:hidden}.chart-mode-icon-btn:hover{color:#2563eb;background:#f8fbff;border-color:#93c5fd}.chart-mode-icon-btn:hover span{color:#1d4ed8}.chart-mode-icon-btn-active{color:#15803d;background:#f0fdf4;border-color:#16a34a;box-shadow:inset 0 0 0 1px #16a34a26}.chart-mode-icon-btn-active span{color:#166534}.chart-slot-card-empty{background:#f8fafc;border-style:dashed;border-color:#cbd5e1}.chart-slot-card-empty.chart-slot-card-active{background:#eff6ff;border-color:#60a5fa}.chart-slot-placeholder{color:#94a3b8;font-size:.8125rem;font-style:normal;font-weight:500}.chart-slot-settings,.chart-filter-builder,.chart-analysis-settings{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;gap:10px;padding:10px;display:grid}.chart-slot-settings-head,.chart-filter-builder-head,.chart-analysis-settings-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-slot-settings-head strong,.chart-filter-builder-head strong,.chart-analysis-settings-head strong{color:#0f172a;font-size:.75rem;font-weight:800}.chart-slot-settings-head span,.chart-analysis-settings-head span,.chart-slot-settings-empty,.chart-filter-empty{color:#64748b;font-size:var(--font-size-min);line-height:1.45}.chart-analysis-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width<=720px){.chart-analysis-settings-grid{grid-template-columns:minmax(0,1fr)}}.chart-filter-list{gap:8px;display:grid}.chart-filter-row{grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr) 30px;align-items:center;gap:6px;display:grid}.chart-filter-row .select-input,.chart-filter-row .text-input{min-width:0}.chart-filter-remove{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.chart-slot-card{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:0;display:grid}.dataset-manager-page.management-page,.data-connection-page.management-page{height:100dvh;overflow:hidden}.dataset-manager-page .management-hero,.data-connection-page .management-hero{flex-shrink:0}.dataset-manager-grid{--dataset-workspace-height:calc(100vh - 180px);grid-template-columns:300px minmax(0,1fr);align-items:start;gap:14px;min-height:0;padding:14px;display:grid}.dataset-manager-page .dataset-manager-grid,.data-connection-page .dataset-manager-grid{--dataset-workspace-height:100%;flex:auto;align-items:stretch;overflow:hidden}.dataset-list-panel,.dataset-detail-panel,.dataset-section{min-width:0}.dataset-list-panel{width:100%;max-height:var(--dataset-workspace-height);background:#fff;border:1px solid #dbe7f4;border-radius:8px;flex-direction:column;align-self:start;gap:10px;padding:10px;display:flex;position:sticky;top:14px;overflow:hidden}.dataset-manager-page .dataset-list-panel,.data-connection-page .dataset-list-panel{align-self:stretch;height:100%;min-height:0;max-height:none;position:static;top:auto}.dataset-manager-page .dataset-detail-panel,.data-connection-page .dataset-detail-panel{overscroll-behavior:contain;align-content:start;align-self:stretch;height:100%;min-height:0;overflow-y:auto}.dataset-filter-row{flex:none}.dataset-list{overscroll-behavior:contain;flex:auto;align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.dataset-list-group{align-content:start;gap:8px;display:grid}.dataset-list-group+.dataset-list-group{margin-top:6px}.dataset-list-group-title{color:#475569;font-size:var(--font-size-min);justify-content:space-between;align-items:center;gap:8px;padding:0 2px;font-weight:800;display:flex}.dataset-list-group-title strong{color:#64748b;font-size:var(--font-size-min)}.dataset-list-empty-note{color:#64748b;font-size:var(--font-size-min);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:10px 12px}.dataset-list-item{color:#334155;cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe7f4;border-radius:8px;align-self:start;gap:4px;min-width:0;padding:11px 12px;font-family:inherit;display:grid}.dataset-list-item-active{background:#eff6ff;border-color:#60a5fa;box-shadow:0 0 0 1px #60a5fa33}.dataset-list-item strong,.dataset-list-item span,.dataset-list-item small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dataset-list-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dataset-list-item-head .status-badge{flex:none}.dataset-list-item .dataset-list-item-head strong{flex:auto}.dataset-list-item strong{color:#0f172a;font-size:.8125rem}.dataset-list-item span,.dataset-list-item small{color:#64748b;font-size:var(--font-size-min)}.dataset-detail-panel{gap:14px;display:grid}.dataset-section{background:#fff;border:1px solid #dbe7f4;border-radius:8px;gap:12px;padding:14px;display:grid}.dataset-section-head,.dataset-section-actions,.dataset-field-editor-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.dataset-section-head>div{gap:3px;min-width:0;display:grid}.dataset-section-head-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.dataset-section-head-actions .btn,.dataset-section-head-actions .status-badge{white-space:nowrap;flex:none}.dataset-section-head strong{color:#0f172a;font-size:.875rem}.dataset-section-head>div>span{color:#64748b;font-size:var(--font-size-min)}.schema-drift-panel{background:#f8fafc;border:1px solid #dbe7f4;border-radius:8px;gap:10px;padding:12px;display:grid}.schema-drift-high{background:#fff7f7;border-color:#fecaca}.schema-drift-medium{background:#fffbeb;border-color:#fde68a}.schema-drift-summary,.schema-drift-item{color:#334155;flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;display:flex}.schema-drift-summary small{color:#64748b}.schema-drift-list{gap:8px;display:grid}.schema-drift-item{border-top:1px solid #94a3b840;justify-content:flex-start;padding-top:8px}.schema-drift-item>span:not(.status-badge){flex:260px;min-width:min(100%,260px)}.dataset-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.data-upload-path-field{grid-column:span 2}.data-upload-control-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.data-upload-button{white-space:nowrap;min-height:32px}@media (width<=900px){.dataset-manager-page.management-page,.data-connection-page.management-page{height:auto;overflow:visible}.dataset-manager-page .dataset-manager-grid,.data-connection-page .dataset-manager-grid{--dataset-workspace-height:calc(100vh - 180px);flex:none;align-items:start;overflow:visible}.dataset-manager-page .dataset-list-panel,.data-connection-page .dataset-list-panel{height:auto;max-height:min(360px, var(--dataset-workspace-height))}.dataset-manager-page .dataset-detail-panel,.data-connection-page .dataset-detail-panel{height:auto;overflow:visible}.dataset-manager-grid{grid-template-columns:minmax(0,1fr)}.dataset-list-panel{max-height:min(360px, var(--dataset-workspace-height));position:static}.dataset-manager-page .dataset-section-head,.data-connection-grid .dataset-section-head{grid-template-columns:minmax(0,1fr)}.dataset-manager-page .dataset-section-head>.dataset-section-head-actions,.data-connection-grid .dataset-section-head>.dataset-section-head-actions,.dataset-manager-page .dataset-detail-toolbar,.data-connection-grid .dataset-detail-toolbar{flex-wrap:wrap!important;justify-content:flex-start!important;justify-self:start!important;width:100%!important;min-width:0!important}.dataset-manager-page .dataset-detail-toolbar-item,.data-connection-grid .dataset-detail-toolbar-item{flex:0 auto!important}.data-upload-path-field{grid-column:1/-1}.data-upload-control-row{grid-template-columns:minmax(0,1fr)}}.dataset-field-table-wrap,.dataset-preview-table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow:auto}.dataset-field-table,.dataset-preview-table{border-collapse:collapse;background:#fff;width:100%;min-width:760px;font-size:.75rem}.dataset-field-table th,.dataset-field-table td,.dataset-preview-table th,.dataset-preview-table td{color:#334155;text-align:left;vertical-align:top;border-bottom:1px solid #eef2f7;padding:9px 10px}.dataset-field-table th,.dataset-preview-table th{color:#64748b;background:#f8fafc;font-weight:700}.dataset-field-table td:first-child{gap:2px;display:grid}.dataset-field-table td:first-child strong{color:#0f172a}.dataset-field-table td:first-child span{color:#64748b;font-size:var(--font-size-min)}.dataset-field-table td:last-child{gap:6px;display:flex}.dataset-field-table.semantic-model-field-table{border-collapse:collapse;border-spacing:0}.dataset-field-table.semantic-model-field-table th,.dataset-field-table.semantic-model-field-table td,.dataset-field-table.semantic-model-field-table td:first-child,.dataset-field-table.semantic-model-field-table td:last-child{vertical-align:top;border-bottom:1px solid #eef2f7;display:table-cell}.dataset-field-table.semantic-model-field-table tbody tr:last-child td{border-bottom:0}.dataset-field-status-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dataset-field-modal-backdrop{z-index:230;justify-content:flex-end;align-items:stretch;padding:0}.dataset-field-modal{border:1px solid var(--border);border-right:none;border-radius:10px 0 0 10px;flex-direction:column;width:clamp(440px,30vw,560px);height:100vh;max-height:100vh;animation:.16s ease-out drawer-slide-in;display:flex;box-shadow:-20px 0 48px #0f172a33}.dataset-field-modal-body{flex:auto;min-height:0;overflow:auto}.dataset-field-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dataset-field-modal-grid .form-field:nth-last-child(2){grid-column:1/-1}.dataset-field-modal-footer{flex:none;justify-content:flex-end}.dataset-rebind-panel{gap:10px}.dataset-rebind-list{gap:8px;max-height:280px;display:grid;overflow:auto}.dataset-rebind-item{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;gap:4px;padding:10px;display:grid}.dataset-rebind-item strong{color:#0f172a;font-size:.78rem}.dataset-rebind-item span,.dataset-rebind-preview span{color:#64748b;overflow-wrap:anywhere;font-size:.72rem;line-height:1.6}.dataset-rebind-preview{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;gap:6px;padding:12px;display:grid}.dataset-rebind-preview strong{color:#0f172a;font-size:.78rem}@media (width<=720px){.dataset-field-modal-backdrop{align-items:stretch;padding:0}.dataset-field-modal{border-left:none;border-radius:0;width:100%;height:100vh;max-height:100vh}.dataset-field-modal-grid{grid-template-columns:minmax(0,1fr)}.dataset-field-modal-grid .form-field:nth-last-child(2){grid-column:auto}}.dataset-preview-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;justify-content:center;align-items:center;min-height:96px;font-size:.75rem;display:flex}.chart-slot-card-active{border-color:#60a5fa;box-shadow:0 0 0 1px #60a5fa33}.chart-slot-card-main{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;gap:3px;min-width:0;padding:9px 10px;font-family:inherit;display:grid}.chart-slot-card-main span,.chart-slot-card-main strong,.chart-slot-card-main small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-slot-card-main span{color:#64748b;font-size:var(--font-size-min);font-weight:800}.chart-slot-card-main strong{color:#0f172a;font-size:.8125rem}.chart-slot-card-main small{color:#64748b;font-size:var(--font-size-min)}.chart-slot-clear{color:#64748b;cursor:pointer;background:#fff;border:none;border-left:1px solid #dbeafe;width:32px}.chart-json-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.chart-json-preview strong{color:#334155;font-size:.75rem}.chart-json-preview code{color:#475569;max-height:240px;font-size:var(--font-size-min);white-space:pre;line-height:1.45;overflow:auto}.canvas-doc{flex-direction:column;flex:1;gap:8px;padding:14px 22px 24px;display:flex;overflow-y:auto}.canvas-empty{min-height:240px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.875rem;display:flex}.paragraph-line{background:var(--surface);cursor:text;border:1px solid #d8e2ee;border-radius:8px;margin-bottom:0;padding:9px 14px 10px;font-size:.9375rem;line-height:1.65;box-shadow:inset 3px 0 #cbd5e1}.block-content-grid{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:14px;width:100%;display:grid}.block-text-cell{min-width:0}.block-view-cell{justify-content:flex-end;align-items:flex-start;gap:8px;min-width:0;display:flex}.scenario-card{background:var(--surface);border:1px solid var(--border);cursor:text;border-left:3px solid #94a3b8;border-radius:8px;margin-bottom:0;padding:10px 14px 11px}.scenario-card.block-active,.paragraph-line.block-active{background:#f0f7ff;border-color:#60a5fa;box-shadow:inset 3px 0 #60a5fa,0 0 0 1px #60a5fa33}.scenario-title{color:var(--muted);cursor:text;outline:none;margin-bottom:8px;font-size:.8125rem;font-weight:600}.scenario-title[data-empty=true]:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}.scenario-title[data-empty=true]:focus:before{content:""}.scenario-title:focus{color:#334155;background:#2563eb0f;border-radius:4px}.segment-line{font-size:.9375rem;line-height:1.65}.segment-row{cursor:text;flex-wrap:wrap;flex:auto;align-items:center;gap:4px 2px;min-width:0;min-height:1.45em;line-height:1.65;display:inline-flex}.text-segment{white-space:pre-wrap;cursor:text;outline:none;min-width:1ch;min-height:1.35em;display:inline-block}.text-segment[data-empty=true]{min-width:12ch}.text-segment[data-empty=true]:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}.text-segment[data-empty=true]:focus:before{content:""}.text-segment:focus{background:#2563eb0f;border-radius:2px}.pill{cursor:pointer;vertical-align:middle;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:4px;margin:0 2px;padding:2px 8px 2px 10px;font-size:.8125rem;font-weight:500;line-height:1.6;transition:box-shadow .12s,border-color .12s;display:inline-flex}.pill-blue{color:#1d4ed8;background:#dbeafe}.pill-green{color:#15803d;background:#dcfce7}.pill-orange{color:#c2410c;background:#ffedd5}.pill-purple,.pill-violet{color:#6d28d9;background:#ede9fe}.pill-teal{color:#0f766e;background:#ccfbf1}.pill-slate{color:#475569;background:#f1f5f9}.pill-selected{border-color:currentColor;box-shadow:0 0 0 2px #2563eb26}.pill-remove{color:inherit;opacity:.5;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 2px;font-size:.875rem;line-height:1;display:inline-flex}.pill-remove:hover{opacity:1}.pill-grip{opacity:.45;cursor:grab;align-items:center;display:inline-flex}.pill-invalid{outline:2px solid #fca5a5}.pill-warn{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.pill-compare-icon{opacity:.7}.pill-report-override{box-shadow:inset 0 0 0 1px #2563eb59}.pill-override-badge{color:#1d4ed8;letter-spacing:.02em;background:#2563eb24;border-radius:4px;padding:2px 4px;font-size:10px;font-weight:600;line-height:1}.pill-drop-target{box-shadow:0 0 0 2px #2563eb}.block-drag-over{outline-offset:2px;outline:2px dashed #93c5fd}.paragraph-line,.scenario-card{position:relative}.block-controls{border:1px solid var(--border);opacity:0;visibility:hidden;pointer-events:none;z-index:2;background:#fffffff0;border-radius:6px;gap:4px;padding:2px;transition:opacity .12s;display:flex;position:absolute;top:6px;right:8px}.block-view-cell .block-controls{flex:none;position:static}.paragraph-line:hover .block-controls,.scenario-card:hover .block-controls,.paragraph-line.block-active .block-controls,.scenario-card.block-active .block-controls{opacity:1;visibility:visible;pointer-events:auto}.block-tool{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.block-tool:hover{color:var(--text);background:#f1f5f9}.block-tool:disabled{opacity:.35;cursor:not-allowed}.block-tool-danger:hover{color:#dc2626;background:#fef2f2}.chart-box{flex-direction:column;gap:4px;min-height:198px;display:flex}.chart-svg-frame{flex:1;min-width:0;min-height:150px}.trend-svg{width:100%;height:100%;display:block}.chart-box-empty{color:var(--muted);justify-content:center;align-items:center;font-size:.75rem;display:flex}.chart-data-status{color:var(--muted);font-size:var(--font-size-min);margin-top:4px}.trend-svg .bar{fill:#60a5fa;transition:fill .15s}.trend-svg .bar-selected{fill:#2563eb;filter:drop-shadow(0 2px 4px #2563eb4d)}.trend-svg .chart-grid-line{stroke:#e2e8f0;stroke-width:1px}.trend-svg .trend-line{stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.trend-svg .trend-line-primary{stroke:#2563eb}.trend-svg .trend-line-secondary{stroke:#10b981}.trend-svg .trend-area{fill:#2563eb24;stroke:none}.trend-svg .trend-dot{stroke:#fff;stroke-width:1.5px;cursor:pointer}.trend-svg .trend-dot-primary{fill:#2563eb}.trend-svg .trend-dot-secondary{fill:#10b981}.trend-svg .dot-selected{filter:drop-shadow(0 2px 4px #0f172a3d)}.trend-svg .axis-label{fill:#64748b;font-size:var(--font-size-min);font-weight:600}.trend-svg .bar-label{fill:#475569;font-size:var(--font-size-min);font-weight:600}.trend-svg .chart-axis-hit{cursor:pointer}.chart-legend{font-size:var(--font-size-min);color:var(--muted);flex-direction:column;gap:4px;padding:4px 0;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:999px;width:12px;height:3px;display:inline-block}.legend-bar{background:#60a5fa}.legend-line,.legend-line-secondary{background:#10b981}.legend-line-primary{background:#2563eb}.legend-selected{background:#94a3b8}.legend-waterfall-base{background:#64748b}.legend-waterfall-up{background:#2563eb}.legend-waterfall-down{background:#dc2626}.chart-box-ratio{grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:8px;min-height:198px;display:grid}.ratio-svg{min-width:0}.chart-box-ratio .chart-svg-frame{height:100%}.pie-slice-group{cursor:pointer;outline:none}.pie-slice{stroke:#fff;stroke-width:2px;transition:opacity .15s,filter .15s}.pie-slice-group:hover .pie-slice,.pie-slice-selected{filter:drop-shadow(0 3px 6px #0f172a2e);opacity:.92}.pie-label{fill:#475569;font-size:var(--font-size-min);pointer-events:none;font-weight:700}.donut-center text:first-child{fill:#64748b;font-size:var(--font-size-min);font-weight:600}.donut-center text:last-child{fill:#1e293b;font-size:.8125rem;font-weight:700}.chart-legend-ratio{max-height:176px;overflow:hidden}.waterfall-zero-line{stroke:#94a3b8;stroke-width:1px;stroke-dasharray:3 3}.waterfall-connector{stroke:#cbd5e1;stroke-width:1.2px;stroke-dasharray:3 3}.waterfall-bar{transition:opacity .15s,filter .15s}.waterfall-bar-selected{filter:drop-shadow(0 2px 4px #0f172a38);opacity:.92}.waterfall-label{fill:#475569;font-size:var(--font-size-min);font-weight:700}.chart-box-table{flex-direction:column;gap:8px;min-width:0;min-height:198px;display:flex;overflow:hidden}.trend-table-toolbar{color:#64748b;font-size:var(--font-size-min);justify-content:space-between;align-items:center;gap:8px;display:flex}.trend-table-page-controls{align-items:center;gap:6px;display:inline-flex}.trend-table-page-controls button,.trend-table-detail-button,.trend-table-detail-dialog header button{color:#1d4ed8;min-height:26px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:6px;padding:3px 8px;font-weight:700}.trend-table-page-controls button:disabled{color:#94a3b8;cursor:not-allowed}.trend-table-scroll{border:1px solid var(--border);background:#fff;border-radius:6px;min-height:0;overflow:auto}.trend-table{border-collapse:collapse;width:100%;font-size:var(--font-size-min);background:#fff;border:0;border-radius:0;overflow:hidden}.trend-table th,.trend-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:8px 9px}.trend-table th:first-child,.trend-table td:first-child{text-align:left;background:inherit;position:sticky;left:0}.trend-table th{z-index:3;color:#64748b;background:#f8fafc;font-weight:700;position:sticky;top:0}.trend-table th:first-child{z-index:4}.trend-table tbody td:first-child{z-index:1;background:#fff}.trend-table tbody tr{cursor:pointer}.trend-table tbody tr:hover{background:#f8fafc}.trend-table tbody tr:focus{outline-offset:-2px;outline:2px solid #93c5fd}.trend-table-row-selected{color:#1d4ed8;background:#eff6ff;font-weight:700}.trend-table-row-selected td:first-child{background:#eff6ff}.trend-table-sort-button{width:100%;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.trend-table th:first-child .trend-table-sort-button{justify-content:flex-start}.trend-table-sort-button-active{color:#1d4ed8}.trend-table-sort-indicator{color:#2563eb;min-width:1em;font-size:.6875rem}.trend-table-metric-cell{position:relative;overflow:hidden}.trend-table-cell-bar{width:var(--trend-table-bar-width,0%);pointer-events:none;background:#2563eb14;border-radius:4px;max-width:calc(100% - 10px);position:absolute;inset:5px auto 5px 5px}.trend-table-cell-high .trend-table-cell-bar{background:#16a34a1c}.trend-table-cell-low .trend-table-cell-bar{background:#f59e0b1f}.trend-table-cell-value{z-index:1;position:relative}.trend-table tfoot td{z-index:2;color:#0f172a;background:#eff6ff;border-top:1px solid #dbeafe;font-weight:800;position:sticky;bottom:0}.trend-table tfoot td:first-child{z-index:5;background:#eff6ff}.chart-box-table-no-freeze-first .trend-table th:first-child,.chart-box-table-no-freeze-first .trend-table td:first-child{position:static;left:auto}.trend-table-action-cell{text-align:center}.trend-table-detail-backdrop{z-index:80;background:#0f172a47;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.trend-table-detail-dialog{background:#fff;border:1px solid #dbeafe;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(760px,100%);max-height:min(70vh,620px);display:grid;overflow:hidden;box-shadow:0 20px 60px #0f172a3d}.trend-table-detail-dialog header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.trend-table-detail-dialog header div{gap:2px;display:grid}.trend-table-detail-dialog header strong{color:#0f172a;font-size:.875rem}.trend-table-detail-dialog header span,.trend-table-detail-empty{color:#64748b;font-size:var(--font-size-min)}.trend-table-detail-scroll{min-height:0;overflow:auto}.trend-table-detail-scroll table{border-collapse:collapse;width:100%;font-size:var(--font-size-min)}.trend-table-detail-scroll th,.trend-table-detail-scroll td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:8px 10px}.trend-table-detail-scroll th{color:#475569;background:#f8fafc;font-weight:800;position:sticky;top:0}.trend-table-detail-empty{padding:18px}.validation-bar{font-size:var(--font-size-min);border-bottom:1px solid var(--border);background:#fffbeb;gap:8px;padding:6px 12px;display:flex}.val-error{color:#dc2626}.val-warn{color:#d97706}.config-live-preview{z-index:2;border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:10px 12px;font-size:.75rem;transition:border-color .18s,box-shadow .18s;position:sticky;top:0}.config-live-preview-valid{border-color:#86efac}.config-live-preview-pulse{box-shadow:0 0 0 2px #2563eb1f}.config-preview-label{color:#334155;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.config-preview-status{color:#166534;font-style:normal;font-size:var(--font-size-min);background:#dcfce7;border-radius:999px;flex:none;padding:1px 7px;font-weight:600}.config-preview-box{color:var(--text);font-size:1rem;line-height:1.7}.save-toast{color:#166534;background:#dcfce7;border-radius:999px;padding:4px 10px;font-size:.75rem}.save-status-group{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.save-status{border:1px solid var(--border);color:var(--muted);white-space:nowrap;background:#f8fafc;border-radius:999px;padding:4px 10px;font-size:.75rem}.save-status-dirty,.save-status-idle{color:#92400e;background:#fffbeb;border-color:#fde68a}.save-status-saving{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.save-status-saved{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.save-status-error,.save-status-offline{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.save-status-asset-syncing{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.save-status-asset-synced{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.save-status-asset-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.preview-side{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:hidden}.preview-side-body{flex:1;padding:16px;font-size:.875rem;line-height:1.85;overflow-y:auto}.preview-side-body p{margin-bottom:.75em}.preview-side-body p:last-child{margin-bottom:0}.book-tone-positive{color:var(--book-color-positive,#16a34a)}.book-tone-negative{color:var(--book-color-negative,#dc2626)}.book-tone-neutral{color:var(--book-color-text-secondary,#64748b)}.book-tone-emphasis{font-weight:600}.validation-list{border-bottom:1px solid var(--border);background:#fff7ed;list-style:none}.validation-list button{color:#7c2d12;text-align:left;width:100%;font-size:var(--font-size-min);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffedd5;align-items:flex-start;gap:6px;padding:7px 12px;line-height:1.4;display:flex}.validation-list button:hover{background:#ffedd5}.validation-dot{border-radius:50%;flex:none;width:7px;height:7px;margin-top:4px}.validation-dot-error{background:#dc2626}.validation-dot-warning{background:#d97706}html:has(:is(.config-backdrop,.confirm-backdrop,.modal-backdrop,.book-template-picker-backdrop,.export-backdrop)){overscroll-behavior:none;overflow:hidden}:is(.config-backdrop,.confirm-backdrop,.modal-backdrop,.book-template-picker-backdrop,.export-backdrop){overscroll-behavior:none;overflow:hidden}:is(.config-backdrop,.confirm-backdrop,.modal-backdrop,.book-template-picker-backdrop,.export-backdrop) *{overscroll-behavior:contain}.modal-backdrop{z-index:200;background:#0f172a59;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-backdrop .modal{background:var(--surface);border-radius:12px;flex-direction:column;width:min(960px,96vw);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 56px #0f172a38}.modal-backdrop .editor-wrap{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.config-backdrop{z-index:200;background:#0f172a59;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.config-modal{background:var(--surface);border-radius:12px;width:min(400px,92vw);overflow:hidden;box-shadow:-20px 0 48px #0f172a2e}.config-modal-workbench{border-radius:12px 0 0 12px;flex-direction:column;width:clamp(960px,70vw,1480px);max-width:100vw;height:100vh;max-height:100vh;animation:.16s ease-out drawer-slide-in;display:flex}@keyframes drawer-slide-in{0%{opacity:.96;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.config-modal-workbench{animation:none}}.config-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.config-title{min-width:0}.config-header h3{font-size:.9375rem;font-weight:600}.config-title span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.75rem;display:block;overflow:hidden}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.config-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex}.config-workbench{overscroll-behavior:contain;background:#f8fafc;flex:auto;grid-template-columns:minmax(0,1fr) clamp(260px,18vw,300px);align-items:start;gap:16px;min-height:0;padding:16px 18px 18px;display:grid;overflow:hidden auto}.config-modal-workbench.chart-edit-modal{background:#f8fafc;width:clamp(1180px,86vw,1680px)}.chart-edit-modal .insight-chart-editor{border:none;border-radius:12px 0 0 12px;height:100vh;min-height:0}.chart-edit-modal .insight-chart-editor-topbar{padding:14px 16px}.chart-edit-modal .insight-chart-editor-grid{grid-template-columns:minmax(520px,1fr) clamp(320px,22vw,420px) clamp(260px,18vw,340px)}.chart-edit-modal .chart-preview-workspace .chart-preview-canvas,.chart-edit-modal .chart-preview-workspace .chart-preview-table-wrap,.chart-edit-modal .chart-preview-workspace .chart-preview-empty{height:clamp(440px,54vh,680px);min-height:440px}.config-workbench.chart-edit-workbench{grid-template-columns:minmax(360px,.68fr) minmax(620px,1.22fr);align-items:stretch}.chart-edit-modal .config-side{align-self:stretch}.chart-edit-modal .chart-preview-panel{min-height:min(70vh,680px)}.chart-edit-modal .chart-preview-canvas{height:min(58vh,610px);min-height:440px}.chart-edit-modal .chart-preview-table-wrap{min-height:440px}.config-main{flex-direction:column;gap:10px;min-width:0;max-height:none;padding:0;display:flex;overflow:visible}.config-side{background:0 0;border-left:none;flex-direction:column;align-self:start;gap:10px;min-width:0;max-height:none;padding:0;display:flex;position:sticky;top:0;overflow:visible}.config-section{border:1px solid var(--border);background:#fff;border-radius:8px;padding:12px}.config-section-compact{padding:10px 12px}.config-section-primary{border-color:#cbd5e1 #cbd5e1 #cbd5e1 #2563eb;border-left-style:solid;border-left-width:3px;box-shadow:0 1px 2px #0f172a0a}.field-config-modal .purpose-card:not(.purpose-card-active){opacity:.88;background:#fafbfc}.config-purpose-hint{color:#64748b;font-size:var(--font-size-min);margin:-4px 0 8px;line-height:1.45}.field-expression-readable{background:#f8fafc;border:1px dashed #dbeafe;border-radius:6px;flex-direction:column;gap:4px;margin-top:8px;padding:8px 10px;display:flex}.field-expression-readable>span{color:#64748b;font-size:var(--font-size-min);font-weight:600}.field-expression-readable code{color:#334155;word-break:break-word;font-family:inherit;font-size:.8125rem;line-height:1.5}.field-expression-check{color:#166534;font-size:var(--font-size-min);align-items:center;gap:6px;margin-top:6px;display:flex}.assign-steps{flex-direction:column;gap:10px;display:flex}.assign-step{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;display:grid}.assign-step-num{color:#1d4ed8;width:24px;height:24px;font-size:var(--font-size-min);background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;margin-top:22px;font-weight:700;display:inline-flex}.formula-insert-toolbar .token-list{flex-wrap:wrap;gap:5px;display:flex}.formula-field-list-compact{max-height:272px;overflow-y:auto}.formula-field-list-virtual{overflow:hidden auto}.formula-field-option-compact{justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:5px 8px;display:flex}.formula-field-option-compact code,.formula-field-option-compact em{display:none}.formula-field-option-referenced{background:#f0fdf4;border-color:#86efac}.formula-field-option-selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb1f}.field-advanced-toggle{color:#334155;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;font-family:inherit;font-size:.75rem;font-weight:700;display:flex}.field-advanced-toggle em{color:#64748b;font-style:normal;font-size:var(--font-size-min);margin-left:auto;font-weight:500}.config-advanced-body{flex-direction:column;gap:8px;margin-top:8px;display:flex}.formula-view-tabs{flex-wrap:wrap;gap:4px;display:flex}.formula-view-tab{border:1px solid var(--border);color:#64748b;min-height:26px;font-family:inherit;font-size:var(--font-size-min);cursor:pointer;background:#fff;border-radius:999px;padding:3px 8px}.formula-view-tab-active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.config-formula-code{color:#334155;max-height:120px;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:6px;padding:8px;line-height:1.55;display:block;overflow:auto}.formula-dsl-panel{gap:8px;display:grid}.formula-dsl-panel-body{margin-top:0}.formula-dsl-panel-note{color:#64748b;font-size:var(--font-size-min);margin:0;line-height:1.45}.formula-dsl-panel-actions{flex-wrap:wrap;gap:8px;display:flex}.formula-code-editor{border:1px solid var(--border);background:#fff;border-radius:6px;overflow:hidden}.formula-code-editor-invalid{border-color:#fca5a5;box-shadow:0 0 0 2px #dc262614}.formula-code-editor-hint{color:#94a3b8;font-size:var(--font-size-min);background:#fafbfc;border-top:1px solid #f1f5f9;margin:0;padding:4px 10px 6px;line-height:1.4}.formula-code-editor-hint code{color:#4338ca;background:#eef2ff;border-radius:3px;padding:0 3px;font-family:IBM Plex Mono,monospace}.formula-code-mirror .cm-editor{background:0 0}.formula-code-mirror .cm-gutters{display:none}.formula-code-mirror .cm-activeLine{background:#f8fafc}.formula-code-mirror .cm-formula-field-token{color:#1e40af;background:#dbeafe;border-radius:999px;padding:1px 5px;font-weight:600}.formula-code-mirror .cm-formula-fn-token{color:#7c3aed;font-weight:600}.formula-code-mirror .cm-formula-number-token{color:#0f766e}.field-config-modal .function-catalog-list{flex-direction:column;gap:4px;min-height:0;display:flex;overflow:auto}.field-config-modal .function-catalog-list.function-catalog-list-column{flex:auto;max-height:none}.field-config-modal .function-catalog-list-compact{max-height:none}.field-config-modal .function-catalog-item:not(.function-catalog-item-compact){border:1px solid var(--border);color:#334155;text-align:left;cursor:pointer;background:#fff;border-radius:7px;gap:2px;width:100%;padding:6px 8px;font-family:inherit;display:grid}.field-workbench-modal .field-workbench-assist .function-catalog-item-compact,.insight-metric-asset-editor .metric-config-workbench .field-workbench-assist .function-catalog-item-compact,.field-config-modal .field-workbench-assist .function-catalog-item-compact{justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:5px 8px;display:flex}.field-workbench-modal .field-workbench-assist .function-catalog-item-compact strong,.insight-metric-asset-editor .metric-config-workbench .field-workbench-assist .function-catalog-item-compact strong,.field-config-modal .field-workbench-assist .function-catalog-item-compact strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-family:inherit;font-size:.75rem;font-weight:600;overflow:hidden}.field-workbench-modal .field-workbench-assist .function-catalog-item-compact small,.insight-metric-asset-editor .metric-config-workbench .field-workbench-assist .function-catalog-item-compact small,.field-config-modal .field-workbench-assist .function-catalog-item-compact small{color:#64748b;max-width:7.5rem;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;flex:none;padding:2px 6px;line-height:1.25;overflow:hidden}.field-config-modal .function-catalog-item:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.field-config-modal .function-catalog-item-disabled{opacity:.55;cursor:not-allowed}.field-config-modal .function-catalog-item>span{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.field-config-modal .function-catalog-item strong{font-family:IBM Plex Mono,monospace;font-size:.75rem}.field-config-modal .function-catalog-item small{color:#64748b;font-size:var(--font-size-min)}.field-config-modal .function-catalog-item code{color:#64748b;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.field-config-modal .field-preview-quarter-select{width:auto;min-width:68px;min-height:30px;font-size:var(--font-size-min);box-sizing:border-box;padding:4px 8px;font-weight:600;line-height:1.4}.field-config-modal .field-expression-preview-value{font-size:1.25rem}.config-preview-numeric{font-size:var(--font-size-min);border-top:1px dashed #e2e8f0;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.config-preview-numeric>span{color:#64748b;font-weight:600}.config-preview-numeric code{color:#334155;font-family:IBM Plex Mono,monospace;font-size:.8125rem}.config-preview-numeric-error code{color:#b45309}.field-workbench-modal .field-workbench,.insight-metric-asset-editor .metric-config-workbench.field-workbench,.field-config-modal .field-workbench{overscroll-behavior:contain;grid-template-rows:minmax(0,1fr);align-content:start;align-items:start;overflow:hidden auto}.field-workbench-modal .field-workbench-main,.field-workbench-modal .field-workbench-side,.insight-metric-asset-editor .metric-config-workbench .field-workbench-main,.insight-metric-asset-editor .metric-config-workbench .field-workbench-side,.field-config-modal .field-workbench-main,.field-config-modal .field-workbench-side{align-self:start;min-width:0;max-height:none;overflow:visible}.field-workbench-modal .field-workbench-assist,.insight-metric-asset-editor .metric-config-workbench .field-workbench-assist,.field-config-modal .field-workbench-assist{align-self:stretch;min-width:0;height:100%;min-height:0;overflow:hidden}.field-workbench-modal .field-workbench-section,.insight-metric-asset-editor .field-workbench-section,.field-config-modal .field-workbench-section{flex:none}.field-config-modal.config-modal-workbench{height:100dvh;max-height:100dvh}.field-config-modal .field-workbench-assist{flex-direction:column;display:flex}.field-config-modal .field-workbench-assist>.field-assist-panel-fill{flex:auto;min-height:0}.field-config-modal .field-workbench-side{overflow-x:hidden}.field-config-modal .field-instant-preview,.field-config-modal .field-instant-preview-caption,.field-config-modal .config-panel,.field-config-modal .config-formula-code{overflow-wrap:anywhere;word-break:break-word;min-width:0}.field-config-modal .field-instant-preview-caption{color:#64748b;max-width:100%;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);white-space:pre-wrap;line-height:1.45;display:block}.field-config-modal .function-catalog-item code{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.field-config-modal .field-workbench-expression{background:#fcfcfd;border-style:dashed;flex:none}.field-config-modal .field-workbench-assist .formula-insert-toolbar{flex:none}.field-expression-body{gap:12px;display:grid}.field-expression-collapse-toggle{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;font-family:inherit;display:flex}.field-expression-collapse-toggle>span{align-items:center;gap:7px;min-width:0;display:inline-flex}.field-expression-collapse-toggle strong{font-size:.75rem;line-height:1.35}.field-expression-collapse-toggle em{color:#64748b;font-style:normal;font-size:var(--font-size-min);flex:none;line-height:1.35}.field-expression-collapse-toggle:hover{color:#1d4ed8}.field-workbench-expression-collapsed{background:#f8fbff;border-color:#dbeafe;gap:8px}.field-expression-collapsed-summary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.field-expression-collapsed-summary span{color:#64748b;min-width:0;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-expression-collapsed-summary code{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:42%;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:700;overflow:hidden}.field-guided-config{background:#f8fbff;border-color:#bfdbfe}.field-guided-summary{background:#fff;border:1px solid #dbeafe;border-radius:8px;align-items:center;gap:8px;min-height:32px;padding:6px 10px;display:flex}.field-guided-step{color:#1d4ed8;width:22px;height:22px;font-size:var(--font-size-min);background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.field-guided-summary div{white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.field-guided-summary strong{color:#0f172a;flex:none;font-size:.8125rem;line-height:1.35}.field-guided-summary strong:after{content:" · ";color:#94a3b8;font-weight:400}.field-guided-summary span:not(.field-guided-step){text-overflow:ellipsis;color:#64748b;min-width:0;font-size:var(--font-size-min);flex:auto;line-height:1.35;overflow:hidden}.field-guided-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.field-guided-rule{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-content:center;gap:3px;min-height:58px;padding:8px 10px;display:grid}.field-guided-rule strong{color:#334155;font-size:.75rem}.field-guided-rule span{color:#64748b;font-size:var(--font-size-min);line-height:1.45}.field-creation-method-section{margin-bottom:4px}.field-creation-method-hint{color:var(--muted);font-size:var(--font-size-min);margin:0 0 10px;line-height:1.45}.field-config-measure-grid{grid-template-columns:minmax(160px,.85fr) minmax(0,1.35fr);margin-top:8px}.field-config-measure-grid .form-field{gap:4px}.field-config-measure-grid .form-field-label{font-size:var(--font-size-min);line-height:1.2}.field-config-measure-search{min-width:0}.field-config-measure-meta{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:8px;display:flex}.field-config-expression-mode-bar{border:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f8fafc);width:100%;color:var(--text-secondary,#475569);font-size:var(--font-size-min);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;line-height:1.45;display:inline-flex}.field-config-measure-note{color:#b45309;font-size:var(--font-size-min)}.field-config-catalog-link{color:#1d4ed8;font-size:var(--font-size-min);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.field-config-catalog-link:hover{text-decoration:underline}.field-config-report-scope-banner{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:8px;min-height:32px;margin:0 16px 10px;padding:6px 12px;display:flex}.field-config-report-scope-banner>svg{flex:none}.field-config-report-scope-banner>div{white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.field-config-report-scope-banner strong{flex:none;font-size:.8125rem;font-weight:600}.field-config-report-scope-banner strong:after{content:"：";font-weight:600}.field-config-report-scope-banner span{text-overflow:ellipsis;color:#1d4ed8;min-width:0;font-size:var(--font-size-min);flex:auto;line-height:1.35;overflow:hidden}.catalog-measure-summary{background:#f8fafc;border:1px solid #cbd5e1;border-left:3px solid #2563eb;border-radius:8px;margin:0 0 12px;padding:12px 14px}.catalog-measure-summary-head{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.catalog-measure-summary-head>svg{color:#2563eb;flex:none;margin-top:2px}.catalog-measure-summary-head>div{flex:auto;min-width:0}.catalog-measure-summary-head strong{color:#0f172a;font-size:.875rem;display:block}.catalog-measure-summary-head span{color:#64748b;font-size:var(--font-size-min);margin-top:2px;line-height:1.4;display:block}.catalog-measure-summary-link{white-space:nowrap;flex:none}.catalog-measure-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;display:grid}.catalog-measure-summary-grid>div{min-width:0}.catalog-measure-summary-span{grid-column:1/-1}.catalog-measure-summary-grid dt{color:#64748b;font-size:var(--font-size-min);margin:0 0 2px;font-weight:500}.catalog-measure-summary-grid dd{color:#0f172a;word-break:break-word;margin:0;font-size:.8125rem;line-height:1.45}.catalog-measure-summary-grid code{font-size:.75rem}.field-config-inherit-hint{color:#475569;font-size:var(--font-size-min);background:#f1f5f9;border-radius:6px;margin:0 0 10px;padding:8px 10px;line-height:1.45}.field-config-inherit-hint strong{color:#0f172a;font-weight:600}.field-config-inherit-hint-overridden{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.field-config-inherit-hint-overridden strong{color:#92400e}.field-config-inherit-hint-inline{margin:0 0 10px}.field-config-display-section .field-config-display-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.field-config-display-label{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.field-config-display-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 7px;font-size:.6875rem;font-weight:600;line-height:1.4;display:inline-flex}.field-config-display-badge-inherit{color:#64748b;background:#f1f5f9}.field-config-display-badge-custom{color:#1d4ed8;background:#dbeafe}.field-config-locked-note{color:#64748b;font-size:var(--font-size-min);margin:0 0 10px;line-height:1.45}.field-config-restore-visual{margin-top:8px}.field-config-advanced-panel{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-top:12px;padding:10px 12px}.field-config-advanced-panel summary{cursor:pointer;color:#475569;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.field-config-advanced-panel summary::-webkit-details-marker{display:none}.field-config-advanced-panel p{color:#64748b;font-size:var(--font-size-min);margin:8px 0 10px;line-height:1.45}.field-config-report-scope-badge{color:#1d4ed8;font-style:normal;font-size:var(--font-size-min);white-space:nowrap;background:#dbeafe;border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:600}.field-config-detach-actions{justify-content:flex-end;margin-top:8px;display:flex}.field-config-detach-actions-inline{margin:0 16px 12px;padding:0 4px}.field-config-book-custom-hint{color:#92400e;font-size:var(--font-size-min);background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:8px;margin:0 16px 12px;padding:10px 12px;line-height:1.45;display:flex}.field-config-book-custom-hint p{margin:0}.field-config-conditional-format{background:#fdfaff;border-color:#e9d5ff}.conditional-format-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.conditional-format-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:3px;padding:10px 12px;transition:border-color .15s,background .15s;display:grid}.conditional-format-option strong{color:#0f172a;font-size:.8125rem}.conditional-format-option span{color:#64748b;font-size:var(--font-size-min);line-height:1.4}.conditional-format-option-active{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #bfdbfe}.conditional-format-detail{gap:8px;margin-top:10px;display:grid}.conditional-format-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.conditional-format-detail-grid-single{grid-template-columns:minmax(0,1fr)}.conditional-format-check-row{margin-top:0}.field-config-advanced-section{background:#f8fafc;border-color:#e2e8f0}.field-config-advanced-summary{cursor:pointer;color:#334155;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;list-style:none;display:inline-flex}.field-config-advanced-summary::-webkit-details-marker{display:none}.field-config-advanced-banner{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:4px;margin:10px 0;padding:10px 12px;display:grid}.field-config-advanced-banner strong{color:#334155;font-size:.75rem}.field-config-advanced-banner span{color:#64748b;font-size:var(--font-size-min);line-height:1.45}.field-config-advanced-summary em{color:#64748b;font-style:normal;font-size:var(--font-size-min);margin-left:auto;font-weight:500}.field-config-legacy-section{background:#fffdf5;border-color:#fde68a}.field-config-legacy-summary{cursor:pointer;color:#92400e;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;list-style:none;display:inline-flex}.field-config-legacy-summary::-webkit-details-marker{display:none}.field-config-legacy-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;gap:4px;margin:10px 0;padding:10px 12px;display:grid}.field-config-legacy-banner strong{color:#92400e;font-size:.75rem}.field-config-legacy-banner span{color:#a16207;font-size:var(--font-size-min);line-height:1.45}.field-config-legacy-actions{align-items:center;gap:8px;min-height:58px;display:flex}.field-config-legacy-summary em{color:#64748b;font-style:normal;font-size:var(--font-size-min);margin-left:auto;font-weight:500}.field-guided-check-row{align-self:center;margin-top:0}.config-section-title,.config-panel-title{color:#334155;align-items:center;gap:6px;margin-bottom:10px;font-size:.75rem;font-weight:700;display:flex}.config-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.source-summary{border:1px solid var(--border);background:#f8fafc;border-radius:6px;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:60px;padding:8px 10px;display:flex}.source-summary-head{color:var(--muted);font-size:var(--font-size-min);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.source-summary-head span:last-child{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;flex:none;padding:1px 6px;font-weight:500}.source-summary strong,.source-summary code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.source-summary strong{color:#334155;font-size:.8125rem}.source-summary code{color:#64748b;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.purpose-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.purpose-card{border:1px solid var(--border);min-height:50px;color:var(--text);text-align:left;cursor:pointer;background:#f8fafc;border-radius:8px;flex-direction:column;justify-content:center;gap:2px;padding:7px 9px;font-family:inherit;display:flex}.purpose-card strong{font-size:.8125rem;font-weight:700}.purpose-card span{color:var(--muted);font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.purpose-card:hover{background:#eff6ff;border-color:#93c5fd}.purpose-card-active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb1f}.form-field{flex-direction:column;gap:4px;min-width:0;font-size:.75rem;display:flex}.form-field-label{color:var(--muted);font-weight:500}.form-field-hint,.form-field-error{font-size:var(--font-size-min);line-height:1.4}.form-field-hint{color:var(--muted)}.form-field-error{color:#dc2626}fieldset.form-field{border:none;margin:0;padding:0}.text-input,.select-input,.textarea-input{border:1px solid var(--border);background:var(--surface);color:var(--text);box-sizing:border-box;border-radius:6px;min-width:0;padding:7px 10px;font-family:inherit;font-size:.8125rem}.select-input{line-height:1.4}.text-input[aria-invalid=true],.textarea-input[aria-invalid=true]{border-color:#fca5a5;box-shadow:0 0 0 2px #dc262614}.text-input[readonly],.textarea-input[readonly]{color:#475569;background:#f8fafc}.textarea-input{resize:vertical;min-height:112px;line-height:1.55}.expression-layout{flex-direction:column;gap:12px;display:flex}.expression-editor{min-width:0}.formula-textarea{resize:none;width:100%;min-height:82px;overflow:hidden}.formula-assist{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:10px;display:flex}.formula-assist-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:stretch;gap:6px;min-width:0;padding:7px;display:flex}.formula-assist-row>span{color:var(--muted);font-size:var(--font-size-min);font-weight:600}.formula-assist-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.formula-assist-head>span{color:var(--muted);font-size:var(--font-size-min);font-weight:600}.formula-field-search{width:180px;height:30px;font-size:var(--font-size-min);padding:4px 8px}.formula-group-tabs{flex-wrap:wrap;gap:4px;padding-bottom:1px;display:flex;overflow-x:visible}.formula-group-tab{border:1px solid var(--border);color:#64748b;min-height:26px;font-family:inherit;font-size:var(--font-size-min);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex:0 auto;padding:3px 8px}.formula-group-tab:hover,.formula-group-tab-active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.formula-field-list{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:4px;max-height:none;display:grid;overflow:visible}.formula-field-list.formula-field-list-compact{grid-template-columns:minmax(0,1fr);max-height:160px;overflow:hidden auto}.formula-field-option{border:1px solid var(--border);color:#334155;text-align:left;cursor:pointer;background:#fff;border-radius:7px;grid-template-columns:minmax(0,1fr);gap:1px;width:100%;min-height:42px;padding:6px 7px;font-family:inherit;display:grid}.formula-field-option:hover{background:#eff6ff;border-color:#93c5fd}.formula-field-option>span{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.formula-field-option strong,.formula-field-option small,.formula-field-option code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.formula-field-option strong{font-size:.75rem;font-weight:600}.formula-field-option small{color:#64748b;max-width:74px;font-size:var(--font-size-min);flex:none}.formula-field-option code{color:#64748b;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min)}.formula-assist-row .token-list{grid-template-columns:repeat(auto-fit,minmax(72px,max-content));gap:6px;display:grid}.formula-assist-row .token-chip{min-width:64px;min-height:30px;padding:5px 7px}.token-list{flex-wrap:wrap;gap:6px;display:flex}.token-chip{border:1px solid var(--border);color:#334155;font-family:inherit;font-size:var(--font-size-min);cursor:pointer;background:#fff;border-radius:999px;padding:3px 7px}.token-chip:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.token-chip-code{font-family:IBM Plex Mono,monospace}.token-empty{color:var(--muted);font-size:var(--font-size-min)}.field-expression-check{color:#166534;width:fit-content;font-size:var(--font-size-min);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-weight:600;display:inline-flex}.field-expression-check-error{color:#dc2626;background:#fef2f2;border-color:#fecaca}.field-expression-check-warning{color:#b45309;background:#fffbeb;border-color:#fde68a}.field-formula-textarea-readonly{background:var(--surface-muted,#f8fafc);color:var(--text-secondary,#475569);cursor:default}.field-expression-drift-banner{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;gap:10px;margin-top:10px;padding:12px 14px;display:grid}.field-expression-drift-banner p{font-size:var(--font-size-min);margin:0;line-height:1.5}.field-expression-drift-actions{flex-wrap:wrap;gap:8px;display:flex}.field-expression-drift-banner-info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.field-guided-save-confirm{gap:12px;display:grid}.field-guided-save-confirm p{margin:0}.radio-group{flex-flow:wrap;gap:6px;display:flex}.radio-row{border:1px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:4px 8px;font-size:.8125rem;display:flex}.radio-row:has(input:checked){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.config-check-row{color:#334155;cursor:pointer;align-items:center;gap:7px;margin-top:8px;font-size:.8125rem;display:inline-flex}.config-check-row-disabled{opacity:.45;cursor:not-allowed}.config-formula{background:#f8fafc;border-radius:6px;padding:10px 12px;font-size:.75rem}.config-formula span{color:var(--muted);margin-bottom:4px;display:block}.config-formula code{font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);word-break:break-all;color:#334155}.config-panel{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px}.config-panel .btn{margin-top:10px}.config-display-panel{flex-direction:column;gap:8px;display:flex}.config-display-panel .config-panel-title{margin-bottom:0}.config-side-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.config-display-panel .radio-group{gap:5px}.config-display-panel .radio-row{min-height:28px;padding:3px 7px;font-size:.75rem}.config-display-panel .config-check-row{margin-top:0}.config-panel code{color:#334155;max-height:none;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);word-break:break-word;background:#f8fafc;border-radius:6px;padding:8px;line-height:1.55;display:block;overflow:visible}.validation-mini-list{flex-direction:column;gap:6px;list-style:none;display:flex}.validation-mini-list li{color:#475569;padding-left:13px;font-size:.75rem;line-height:1.45;position:relative}.validation-mini-list li:before{content:"";background:#94a3b8;border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}.validation-mini-success{color:#166534!important}.validation-mini-warning{color:#92400e!important}.validation-mini-error{color:#b91c1c!important}.validation-mini-success:before{background:#22c55e!important}.validation-mini-warning:before{background:#f59e0b!important}.validation-mini-error:before{background:#ef4444!important}.reference-list{flex-wrap:wrap;gap:6px;display:flex}.config-inline-refs{border-top:1px solid #f1f5f9;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:6px;margin-top:8px;padding-top:8px;display:grid}.config-inline-refs>span{color:var(--muted);font-size:var(--font-size-min);font-weight:600;line-height:1.8}.reference-list span{overflow-wrap:anywhere;color:#475569;max-width:100%;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:3px 7px}.config-footer{border-top:1px solid var(--border);background:#fafbfc;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px;display:flex}.config-footer-actions{gap:8px;margin-left:auto;display:flex}.config-footer-actions-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.metric-create-entry-modal{width:min(520px,92vw)}.metric-create-entry-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 18px;display:grid}.metric-create-entry-card{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;transition:border-color .12s,box-shadow .12s;display:flex}.metric-create-entry-card:hover{border-color:#94a3b8;box-shadow:0 8px 24px #0f172a14}.metric-create-entry-card strong{font-size:.9375rem;font-weight:600}.metric-create-entry-card span{color:var(--muted);font-size:.8125rem;line-height:1.45}.metric-wizard-modal{border-radius:12px 0 0 12px;width:clamp(640px,52vw,820px);height:100vh;max-height:100vh;margin:0 0 0 auto}.config-backdrop:has(.metric-wizard-modal){justify-content:flex-end;align-items:stretch}.metric-wizard-modal .config-header{padding:10px 16px}.metric-wizard-modal .config-title{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.metric-wizard-modal .config-title h3{flex:none;font-size:.9375rem}.metric-wizard-modal .config-title span{text-overflow:ellipsis;flex:auto;min-width:0;margin-top:0;overflow:hidden}.metric-wizard-modal .config-title span:before{content:"·";color:#94a3b8;margin-right:8px}.metric-wizard-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 16px;overflow-y:auto}.metric-wizard-body-single{align-content:start;gap:8px;display:grid}.metric-wizard-body-single .field-workbench-section{gap:8px;margin:0;padding:10px}.metric-wizard-source-grid{grid-template-columns:minmax(130px,.85fr) minmax(0,1.15fr)}.metric-wizard-modal .field-guided-grid .form-field,.metric-wizard-modal .field-config-measure-grid .form-field{gap:4px}.metric-wizard-modal .field-guided-grid .form-field-label,.metric-wizard-modal .field-config-measure-grid .form-field-label{font-size:var(--font-size-min);line-height:1.2}.metric-wizard-modal .metric-wizard-calc-grid{gap:6px}.metric-wizard-modal .metric-wizard-calc-card{border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:0;padding:7px 8px}.metric-wizard-modal .metric-wizard-calc-card span{display:none}.metric-wizard-modal .metric-wizard-calc-card strong{font-size:.8125rem}.metric-wizard-preview{white-space:nowrap;background:#f1f5f9;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;display:flex;overflow:hidden}.metric-wizard-preview>span{color:#64748b;flex:none;font-weight:600}.metric-wizard-preview code{text-overflow:ellipsis;flex:auto;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.metric-wizard-steps{border-bottom:1px solid var(--border);background:#f8fafc;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 18px;display:grid}.metric-wizard-step{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.metric-wizard-step span{border:1px solid var(--border);background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.6875rem;font-weight:600;display:inline-flex}.metric-wizard-step em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.metric-wizard-step-active{color:var(--text);font-weight:600}.metric-wizard-step-active span{color:#fff;background:#2563eb;border-color:#2563eb}.metric-wizard-step-done span{color:#16a34a;border-color:#16a34a}.metric-wizard-panel{flex-direction:column;gap:14px;display:flex}.metric-wizard-calc-grid{flex-wrap:nowrap;gap:8px;display:flex}.metric-wizard-calc-card{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:6px;min-width:0;padding:12px 10px;display:flex}.metric-wizard-calc-card strong{font-size:.875rem}.metric-wizard-calc-card span{color:var(--muted);font-size:.75rem;line-height:1.4}.metric-wizard-calc-card-active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.metric-wizard-preview small{color:var(--muted);word-break:break-all}@media (width<=720px){.metric-create-entry-body{grid-template-columns:minmax(0,1fr)}.metric-wizard-calc-grid{flex-wrap:wrap}.metric-wizard-calc-card{flex:calc(50% - 4px);min-width:calc(50% - 4px)}.metric-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1200px){.field-config-modal.config-modal-workbench{width:100vw}.field-config-modal .field-workbench,.field-config-modal .field-workbench.field-workbench-2col,.field-config-modal .field-workbench.field-workbench-3col{grid-template-columns:minmax(0,1fr)}.field-config-modal .field-workbench-assist,.field-config-modal .field-workbench-side{position:static}}@media (width<=1040px){.config-modal-workbench{border-radius:0;width:100vw;height:100vh;max-height:100vh}.config-workbench{grid-template-columns:minmax(0,1fr)}.config-side{position:static}.config-two-col,.field-guided-grid{grid-template-columns:minmax(0,1fr)}.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conditional-format-options{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.purpose-grid{grid-template-columns:minmax(0,1fr)}.config-workbench{padding:12px}.config-side-fields,.formula-field-list{grid-template-columns:minmax(0,1fr)}.formula-assist-head{flex-direction:column;align-items:stretch}.formula-field-search{width:100%}.config-footer{flex-direction:column-reverse;align-items:stretch}.config-footer-actions,.config-footer-actions-left{justify-content:flex-end;width:100%}}.drop-zone{vertical-align:middle;border-radius:2px;width:3px;height:1.4em;margin:0 1px;transition:width .12s,background .12s;display:inline-block;position:relative}.editor-canvas-dragging .drop-zone{width:8px;margin:0 2px}.editor-canvas-dragging .drop-zone:before{content:"";position:absolute;inset:-6px -4px}.drop-zone-active{background:#2563eb;width:6px;box-shadow:0 0 6px #2563eb80}.segment-line{flex-wrap:wrap;align-items:center;display:flex}.paragraph-line{flex-direction:column;align-items:flex-start;display:flex}.paragraph-line>.segment-row{flex:none;width:100%}.pill-compare{border-style:dashed}.pill-action{color:inherit;opacity:.45;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 2px;font-size:.75rem;line-height:1;display:inline-flex}.pill-action:hover{opacity:1}.chart-ref,.chart-ref-icon{vertical-align:-.08em;display:inline-flex}.history-timeline{position:relative}.history-timeline:hover .history-dropdown,.history-timeline:focus-within .history-dropdown{display:block}.history-dropdown{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:8px;width:280px;max-height:320px;margin-top:6px;display:none;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 12px 32px #0000001f}.history-dropdown-head{font-size:var(--font-size-min);color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface);padding:8px 12px;position:sticky;top:0}.history-list{border:none;border-radius:0}.export-wrap{position:relative}.export-backdrop{z-index:40;position:fixed;inset:0}.popover-backdrop{z-index:110;position:fixed;inset:0}.action-list{border:1px solid var(--border);border-radius:6px;list-style:none;overflow:hidden}.action-list-row{border-bottom:1px solid #f1f5f9;align-items:stretch;display:flex}.action-list-row:last-child{border-bottom:none}.action-list-row-active{background:#eff6ff}.action-list-btn{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;padding:8px 10px;font-size:.75rem;display:flex}.action-list-btn:hover{background:#f8fafc}.action-list-title{color:var(--text);font-size:.75rem;font-weight:500}.action-list-meta,.action-list-preview{font-size:var(--font-size-min);color:var(--muted);margin-top:2px;line-height:1.4}.action-list-preview{font-size:var(--font-size-min)}.export-panel{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:10px;width:360px;margin-top:6px;padding:16px;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #0000001f}.export-panel h4{margin-bottom:6px;font-size:.875rem}.export-desc{color:var(--muted);margin-bottom:12px;font-size:.75rem}.export-actions{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.export-error{color:#dc2626;margin-bottom:8px;font-size:.75rem}.export-preview{font-family:IBM Plex Mono,monospace;font-size:var(--font-size-min);color:#475569;background:#f8fafc;border-radius:6px;max-height:120px;padding:10px;overflow:auto}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.preview-reference-bar{color:#1e3a8a;background:#eff6ff;border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;line-height:1.4;display:flex}.preview-reference-bar span{min-width:0}.preview-side-body .preview-reference-flash{outline-offset:2px;border-radius:4px;outline:2px solid #60a5fa;transition:outline-color .2s}.asset-reference-jump-menu{background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:min(280px,100vh - 24px);padding:4px;overflow-y:auto;box-shadow:0 12px 32px #0000001f}.db-panel-wrap{position:relative}.db-status.db-online{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.db-status.db-offline{color:#dc2626;background:#fef2f2;border-color:#fecaca}.db-status.db-pending{color:var(--muted)}.db-panel{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:10px;width:320px;max-height:480px;margin-top:6px;padding:14px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 12px 32px #0000001f}.db-panel h4{margin-bottom:4px;font-size:.875rem}.db-status-row{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.db-path{font-size:var(--font-size-min);color:var(--muted);word-break:break-all;margin-bottom:10px;font-family:IBM Plex Mono,monospace}.db-actions{gap:6px;margin-bottom:12px;display:flex}.db-section{margin-bottom:12px}.db-section-title{font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;display:block}.db-list-del{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 10px}.db-list-del:hover{color:#dc2626}.db-empty{color:var(--muted);justify-content:center;padding:10px;font-size:.75rem}.db-history-list .action-list-btn{font-size:var(--font-size-min)}.dataset-manager-page .dataset-section-head,.data-connection-grid .dataset-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.dataset-manager-page .dataset-section-head>.dataset-section-head-actions,.data-connection-grid .dataset-section-head>.dataset-section-head-actions{flex-flow:row;justify-content:flex-end;justify-self:end;align-items:center;gap:8px;min-width:max-content;display:inline-flex}.dataset-manager-page .dataset-section-head-actions>.btn,.dataset-manager-page .dataset-section-head-actions>.status-badge,.data-connection-grid .dataset-section-head-actions>.btn,.data-connection-grid .dataset-section-head-actions>.status-badge{white-space:nowrap;flex:none;width:auto}.dataset-manager-page .dataset-detail-toolbar,.data-connection-grid .dataset-detail-toolbar{flex-flow:row!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;width:max-content!important;min-width:max-content!important;display:flex!important}.dataset-manager-page .dataset-detail-toolbar-item,.data-connection-grid .dataset-detail-toolbar-item{white-space:nowrap!important;flex:none!important;width:auto!important}.dataset-manager-page .dataset-detail-panel{align-content:start;gap:8px}.dataset-manager-page .dataset-section{gap:8px;padding:10px 12px}.dataset-manager-page .dataset-section-head>div{gap:2px}.dataset-manager-page .dataset-section-head>div>span{line-height:1.35}.dataset-manager-page .dataset-summary-grid{margin-bottom:0}.dataset-manager-page .data-platform-definition-list{gap:6px}.dataset-manager-page .data-platform-definition-list div{padding:7px 9px}.dataset-manager-page .data-platform-definition-list dd{margin-top:2px;font-size:.75rem;line-height:1.35}.dataset-manager-page .dataset-form-grid{gap:8px 10px}.dataset-manager-page .dataset-form-description,.dataset-manager-page .dataset-form-actions{grid-column:1/-1}.dataset-manager-page .dataset-form-actions{justify-content:flex-start;align-items:center;padding-top:2px;display:flex}.dataset-manager-page .dataset-field-table th,.dataset-manager-page .dataset-field-table td{padding:6px 8px}.dataset-manager-page .dataset-field-table td:first-child{gap:1px}.dataset-manager-page .dataset-preview-table th,.dataset-manager-page .dataset-preview-table td{padding:6px 8px}.dataset-manager-page .dataset-preview-empty{padding:8px 10px}.data-connection-page .dataset-manager-grid{gap:10px;padding:10px 14px 16px}.data-connection-grid .dataset-detail-panel{align-content:start;gap:8px}.data-connection-grid .dataset-section{gap:8px;padding:10px 12px}.data-connection-grid .dataset-section-head>div{gap:2px}.data-connection-grid .dataset-section-head>div>span{line-height:1.35}.data-connection-grid .dataset-section-actions{gap:8px}.data-connection-grid .dataset-form-grid{gap:8px 10px}.data-connection-grid .data-source-generate-preview{gap:8px;margin-top:8px}.data-connection-grid .dataset-list-item{gap:3px;padding:8px 10px}.data-connection-grid .dataset-field-table th,.data-connection-grid .dataset-field-table td{padding:6px 8px}.data-connection-grid .dataset-field-table td:first-child{gap:1px}.data-connection-grid .dataset-preview-table th,.data-connection-grid .dataset-preview-table td{padding:6px 8px}.data-connection-grid .dataset-preview-empty{min-height:56px;padding:8px 10px}
