:root{font-family:Segoe UI,system-ui,sans-serif;font-size:calc(16px * var(--app-text-scale,1));color:#1b2230;font-synthesis:none;--ink:#1b2230;--muted:#5f6878;--line:#e2e6ed;--surface:#fff;--soft:#f6f7fa;--nav:#0d1521;--accent:#4f5ddd;--accent-dark:#414fc7;--accent-soft:#eef0ff;--teal:#12a994;--shadow:0 12px 38px #1f273814;--motion-fast:.12s;--motion-base:.16s;--motion-slow:.22s;--ease-standard:cubic-bezier(.2, .7, .2, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1);--app-text-scale:1;--app-min-readable-text:calc(13px * var(--app-text-scale,1));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f4f6f9;--canvas-subtle:#f5f6f8;--surface-raised:#fff;--surface-overlay:#fff;--surface-sunken:#f8f9fb;--surface-subtle:#fafbfc;--surface-hover:#f3f5f8;--text-primary:#1b2230;--text-secondary:#3d4656;--text-muted:#5f6878;--text-faint:#5f6878;--control-border:#dce1e8;--control-border-strong:#c9cfda;--focus-ring:#4f5ddd;--focus-ring-soft:#6674f633;--accent-text:#4653c6;--backdrop:#0a111c94;--shadow-overlay:0 18px 45px #1e263633;--shadow-subtle:0 2px 5px #222b3b24;--shadow-control:0 2px 5px #222b3b40;--model-edge-label:#394153;--model-edge-label-bg:#fff;--model-edge-label-active:#5865ed;--model-edge-label-active-bg:#eef0ff;--model-grid-dot:#d7dce5;--chart-grid:#edf0f5;--chart-tick:#5f6878;--chart-cursor:#f6f7fa;--chart-dot-fill:#fff;--accent-contrast:#fff;--success:#1f9d61;--success-soft:#e8f7ef;--success-border:#bfe6cf;--success-text:#157a4a;--warning:#c98a12;--warning-soft:#fffaf0;--warning-border:#ead9a7;--warning-text:#785c13;--danger:#d74f62;--danger-soft:#fff0f3;--danger-border:#ffd9de;--danger-text:#a83a4e;background:#f4f6f9}.analytics-page{min-width:0;max-width:1480px;margin:0 auto;padding:24px}.analytics-page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.analytics-page h2{letter-spacing:-.03em;margin:6px 0 8px;font-size:1.55rem}.analytics-page p,.report-explorer p{color:var(--muted);line-height:1.6}.analytics-page-heading p{margin:0}.analytics-page label,.report-explorer label{color:var(--ink);flex-direction:column;gap:7px;min-width:0;font-size:.8rem;font-weight:600;display:flex}.analytics-page input:not([type=checkbox]),.analytics-page select,.analytics-page textarea,.report-explorer input:not([type=checkbox]),.report-explorer select{border:1px solid var(--control-border);background:var(--surface);min-height:38px;color:var(--ink);max-width:100%;font:inherit;border-radius:7px;padding:9px 11px;font-weight:400}.analytics-page input:focus,.analytics-page select:focus,.analytics-page textarea:focus,.report-explorer input:focus,.report-explorer select:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.analytics-page-heading select{min-width:220px;max-width:360px}.analytics-page-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.analytics-page-controls>label:nth-child(2) select{min-width:180px}.analytics-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:24px;padding-bottom:12px;display:flex}.analytics-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:10px 16px;font-weight:600}.analytics-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--text-primary)}.analytics-stack{gap:24px;display:grid}.analytics-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;padding:24px}.analytics-card h3{margin:0 0 10px;font-size:1rem}.analytics-card-title{align-items:flex-start;gap:12px;display:flex}.analytics-card-title>svg{color:var(--accent);flex:none}.analytics-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:18px;margin:20px 0;display:grid}.analytics-form>button{justify-self:start}.analytics-inline-form,.analytics-toolbar,.analytics-list-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.analytics-inline-form{padding:14px 0}.analytics-inline-form>label{flex:1;min-width:130px}.analytics-inline-form .grow{flex:3}.analytics-toolbar{align-items:center;margin-bottom:16px}.analytics-list-row{border-top:1px solid var(--line);align-items:center;padding:16px 0}.analytics-list-row>div:first-child,.analytics-list-row>strong{flex:1;min-width:160px}.analytics-list-row small,.analytics-history small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;display:block}.analytics-history>div{border-top:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;display:flex}.analytics-history>div>span{flex:1}.analytics-history strong{margin-right:8px}.analytics-error,.analytics-notice{border:1px solid var(--control-border-strong);border-left:3px solid var(--accent);color:var(--ink);background:var(--surface);border-radius:6px;margin:12px 0;padding:14px 16px}.analytics-error{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.analytics-error>span{flex:1;min-width:200px}.analytics-panel-scope{margin:0 0 12px;display:block}.analytics-copy{margin-top:24px}.analytics-copy header{justify-content:space-between;align-items:center;display:flex}.analytics-copy textarea{resize:vertical;width:100%;margin-top:12px;font-family:ui-monospace,monospace;font-size:.8rem}.analytics-access-fields{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;min-width:0;padding:16px}.analytics-access-fields legend{color:var(--ink);padding:0 8px;font-weight:600}.analytics-field-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:280px;padding:8px 0;display:grid;overflow:auto}.analytics-field-checks label{overflow-wrap:anywhere;flex-direction:row;align-items:center;gap:8px;display:flex}.analytics-field-checks input{accent-color:var(--accent)}.analytics-operand{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;display:grid}.analytics-caption{font-size:.75rem}.analytics-saved-views-row>label{flex:0 320px}.analytics-saved-views-row .icon-button{width:38px;height:38px}.analytics-relative-date>summary{cursor:pointer;color:var(--ink);padding:6px 0;font-size:.8rem;font-weight:600}.analytics-relative-date>fieldset{border:0;min-width:0;margin:0;padding:0}.analytics-relative-date .analytics-inline-form{padding-top:4px}.analytics-visual{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.analytics-visual.wide{grid-column:1/-1}.analytics-visual>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.analytics-visual h3{overflow-wrap:anywhere;margin:0;font-size:.9rem}.analytics-chart{min-width:0;height:340px;padding:12px;position:relative;overflow:auto}.analytics-visual.wide .analytics-chart{height:440px}.analytics-chart>.table-visual{height:100%}.analytics-chart .chart-accessible-shell,.analytics-chart .chart-visual-content{height:100%;min-height:0}.analytics-category-select{border-top:1px solid var(--line);padding:12px 18px}.analytics-comparison{flex-wrap:wrap;align-items:center;gap:8px;padding:0 18px;display:flex}.analytics-pagination{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;font-size:.8rem;display:flex}.analytics-pagination>span{flex:1}.analytics-pagination label{flex-direction:row;align-items:center;gap:8px;font-size:.75rem}.analytics-pagination select{min-height:32px;padding:5px 8px}.analytics-table-controls{flex-wrap:wrap;align-items:end;gap:12px;padding:12px 18px;display:flex}.analytics-table-controls label{flex:1;min-width:120px}.analytics-secondary-sort-toggle{align-self:end;height:38px;padding:0 8px}.analytics-secondary-sort{flex-wrap:wrap;flex-basis:100%;gap:12px;display:flex}.analytics-secondary-sort label{flex:1;min-width:120px}.analytics-table-scroll{width:100%;overflow:auto}.analytics-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8rem}.analytics-data-table th,.analytics-data-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 14px}.analytics-data-table thead{background:var(--soft)}.analytics-data-table caption{text-align:left;color:var(--muted);padding:0 0 12px}.analytics-filter-chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.analytics-filter-chips button{background:var(--accent-soft);color:var(--text-primary);border:1px solid var(--control-border);border-radius:20px;align-items:center;gap:10px;padding:7px 10px;font-size:.8rem;display:flex}.analytics-empty{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:600px;margin:60px auto;padding:28px}.dashboard-embed{background:var(--canvas);min-width:0;padding:16px}.dashboard-embed-brand{color:var(--ink);margin:0 0 16px;font-size:1.1rem;font-weight:700}.invitation-dialog{width:min(520px,100vw - 32px)}@media (width<=900px){.analytics-page{padding:16px}.analytics-page-heading{flex-direction:column;align-items:flex-start}.analytics-page-controls{width:100%}.analytics-page-controls>label{flex:1;min-width:180px}.analytics-page-heading select{min-width:0;max-width:100%}}@media (width<=600px){.analytics-form,.analytics-field-checks{grid-template-columns:minmax(0,1fr)}.analytics-card{padding:16px}.analytics-tabs{gap:2px}.analytics-tabs button{padding:10px}.analytics-history>div{flex-wrap:wrap}.analytics-history>div>span{min-width:100%}.analytics-page .analytics-toolbar>button,.report-explorer .analytics-toolbar>button{flex:1;justify-content:center}.analytics-inline-form>label{min-width:100%}.dashboard-embed{padding:10px}}:root[data-app-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf2fa;--ink:#edf2fa;--muted:#91a0b4;--line:#2a3545;--surface:#151d2a;--soft:#1a2432;--nav:#080d15;--accent:#8590ff;--accent-dark:#7481ff;--accent-soft:#222c4a;--teal:#35c5b0;--shadow:0 12px 38px #0000004d;--canvas:#0c111b;--canvas-subtle:#101722;--surface-raised:#151d2a;--surface-overlay:#182231;--surface-sunken:#0f1622;--surface-subtle:#121a26;--surface-hover:#1c2736;--text-primary:#edf2fa;--text-secondary:#c2ccda;--text-muted:#a0afc2;--text-faint:#a0afc2;--control-border:#344154;--control-border-strong:#596980;--focus-ring:#929bff;--focus-ring-soft:#8590ff3d;--accent-text:#aeb6ff;--backdrop:#02060cb8;--shadow-overlay:0 22px 56px #0000007a;--shadow-subtle:0 2px 6px #0000003d;--shadow-control:0 2px 6px #0000006b;--model-edge-label:#dbe5f3;--model-edge-label-bg:#182231;--model-edge-label-active:#b8bfff;--model-edge-label-active-bg:#28345b;--model-grid-dot:#334155;--chart-grid:#2b3748;--chart-tick:#a9b6c8;--chart-cursor:#8590ff14;--chart-dot-fill:#151d2a;--accent-contrast:#101430;--success:#4ccb8a;--success-soft:#142a1f;--success-border:#2a5a3f;--success-text:#7fdcaa;--warning:#e0a832;--warning-soft:#2e2410;--warning-border:#5c4a1e;--warning-text:#f0c766;--danger:#ff7a8a;--danger-soft:#301a22;--danger-border:#653341;--danger-text:#ff9eaa;background:#0c111b}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{color:var(--text-primary);background:var(--canvas);overflow:hidden}body:has(>#root>.legal-screen){overflow:auto}button,input,select,textarea{font:inherit;transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, opacity var(--motion-fast) ease}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app-shell{background:var(--canvas);min-width:1024px;height:100vh;transition:grid-template-columns var(--motion-base) var(--ease-standard);grid-template-columns:216px minmax(0,1fr);display:grid;overflow:hidden}.nav-rail{background:var(--nav);color:#eef2f8;white-space:nowrap;contain:layout paint;flex-direction:column;padding:14px 12px 12px;display:flex;position:relative;overflow:hidden}.nav-collapse-toggle{color:#8a94a6;cursor:pointer;width:24px;height:24px;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:15px;right:9px}.nav-collapse-toggle:hover{color:#fff;background:#1d2836}.app-shell.nav-collapsed{grid-template-columns:64px minmax(0,1fr);min-width:0}.app-shell.nav-collapsed .nav-rail{padding:12px 8px}.app-shell.nav-collapsed .logo{justify-content:center;padding:0}.app-shell.nav-collapsed .logo>span,.app-shell.nav-collapsed .workspace-switcher-copy,.app-shell.nav-collapsed .workspace-switcher-chevron,.app-shell.nav-collapsed .nav-rail nav button>span,.app-shell.nav-collapsed .trial-card>div,.app-shell.nav-collapsed .trial-card>svg{display:none}.app-shell.nav-collapsed .workspace-switcher{margin:11px 3px 17px}.app-shell.nav-collapsed .workspace-switcher-trigger{justify-content:center;width:44px;padding:6px}.app-shell.nav-collapsed .nav-rail nav button{justify-content:center;width:44px;height:40px;margin:2px auto;padding:0}.app-shell.nav-collapsed .nav-rail nav button.active{box-shadow:inset 2px 0 #7380ff}.app-shell.nav-collapsed .trial-card{background:0 0;border:0;margin:0 3px 3px;padding:4px;display:block}.app-shell.nav-collapsed .trial-card button{width:100%;height:30px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));padding:0}.app-shell.nav-collapsed .nav-collapse-toggle{margin:8px auto 0;position:static}.logo{height:38px;font:700 calc(16px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;letter-spacing:-.2px;align-items:center;gap:10px;padding:0 8px;display:flex}.workspace-switcher{margin:12px 2px 17px}.workspace-switcher-trigger{color:#eef2f8;cursor:pointer;text-align:left;background:#151f2c;border:1px solid #293443;border-radius:9px;grid-template-columns:28px minmax(0,1fr) 14px;align-items:center;gap:8px;width:100%;min-width:0;min-height:46px;padding:8px;display:grid}.workspace-switcher-trigger:hover,.workspace-switcher-trigger[aria-expanded=true]{background:#1a2635;border-color:#3a4960}.workspace-switcher .workspace-icon{color:#aeb8ff;width:28px;height:28px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));background:#26344a;border-radius:7px;place-items:center;font-weight:750;display:grid}.workspace-switcher-copy{min-width:0}.workspace-switcher-copy strong,.workspace-switcher-copy small{line-height:1.3;display:block}.workspace-switcher-copy strong{color:#f1f3f7;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-switcher-copy small{color:#8590a0;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-transform:capitalize;margin-top:1px}.workspace-switcher-chevron{color:#7f8998}.nav-rail nav button,.nav-bottom>button{color:#aab3c1;cursor:pointer;width:100%;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));text-align:left;transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;display:flex;position:relative}.nav-rail nav button:hover,.nav-bottom>button:hover{color:#fff;background:#172231}.nav-rail nav button:active,.nav-bottom>button:active{transform:scale(.985)}.nav-rail nav button.active{color:#fff;background:linear-gradient(90deg,#222e48,#182335);box-shadow:inset 2px 0 #7380ff}.nav-rail nav button.active svg{color:#929bff}.nav-bottom{margin-top:auto}.trial-card{color:#aeb6ff;background:#6674f617;border:1px solid #2b3653;border-radius:9px;grid-template-columns:17px 1fr auto;align-items:center;gap:6px;margin:0 1px 4px;padding:8px;display:grid}.trial-card div strong{color:#e9ecff;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));display:block}.trial-card button{color:#cbd1ff;height:25px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;background:#202b47;border:1px solid #3a4770;border-radius:6px;padding:0 7px}.nav-bottom>button{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));padding-block:7px}.main-shell{flex-direction:column;min-width:0;min-height:0;max-height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 96%, transparent);flex:none;justify-content:space-between;align-items:center;height:60px;padding:0 20px 0 23px;display:flex}.topbar h1{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;letter-spacing:-.25px;margin:0}.eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:700}.topbar-actions{align-items:center;gap:9px;display:flex}.global-search-wrap{position:relative}.global-search{border:1px solid var(--control-border);background:var(--surface-sunken);width:205px;height:32px;color:var(--text-muted);transition:width var(--motion-slow) var(--ease-emphasized), border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, background-color var(--motion-fast) ease;border-radius:8px;align-items:center;gap:7px;padding:0 8px;display:flex}.global-search input{width:100%;min-width:0;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));background:0 0;border:0;outline:0}.global-search kbd{border:1px solid var(--control-border);background:var(--surface-raised);font-family:inherit;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));white-space:nowrap;border-radius:4px;padding:2px 5px}.global-search-wrap:focus-within .global-search{background:var(--surface-raised);border-color:#8b96f5;width:236px;box-shadow:0 0 0 2px #6976f71f}.global-search-results{z-index:40;border:1px solid var(--control-border);background:var(--surface-raised);transform-origin:0 0;width:290px;max-height:330px;animation:menu-in var(--motion-base) var(--ease-emphasized);border-radius:9px;padding:5px;position:absolute;top:37px;left:0;overflow:auto;box-shadow:0 14px 32px #252d3d2b}.global-search-results button{width:100%;min-height:42px;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:18px 1fr;align-items:center;gap:5px;padding:6px 8px;display:grid}.global-search-results button:hover,.global-search-results button:focus-visible{color:var(--accent-text);background:#f3f4ff;outline:0}.global-search-results button span,.global-search-results button strong,.global-search-results button small{min-width:0;display:block}.global-search-results button strong,.global-search-results button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-results button strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.global-search-results button small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.global-search-results p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0;padding:12px 9px}.icon-button{border:1px solid var(--control-border);background:var(--surface-overlay);cursor:pointer;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;position:relative}.icon-button:hover{background:#f7f8fb}.primary-button,.secondary-button,.text-button,.danger-button{cursor:pointer;height:auto;font-size:calc(14px * var(--app-text-scale,1));white-space:normal;transition:transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 12px;font-weight:600;line-height:1.35;display:inline-flex}.primary-button{background:var(--accent);color:var(--accent-contrast);box-shadow:0 4px 10px #6674f638}.primary-button:hover{background:var(--accent-dark)}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 15px #6674f640}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.text-button:active:not(:disabled),.danger-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)scale(.98)}.primary-button:disabled{opacity:.46;cursor:not-allowed}.secondary-button{background:var(--surface-overlay);border-color:var(--control-border);color:var(--text-secondary)}.secondary-button:hover{background:var(--surface-hover)}.secondary-button.danger{color:var(--danger-text);border-color:var(--danger-border)}.secondary-button.danger:hover:not(:disabled){color:var(--danger-text);background:var(--danger-soft)}.text-button{color:var(--text-secondary);background:0 0}.danger-button{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.danger-button:disabled{opacity:.46;cursor:not-allowed}.avatar{color:#fff;width:32px;height:32px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));background:linear-gradient(145deg,#293b59,#6e7890);border:2px solid #fff;border-radius:50%;place-items:center;font-weight:700;display:grid;box-shadow:0 0 0 1px #dfe2e8}.account-menu{flex:none;position:relative}.account-menu-trigger{min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:1px;padding:4px 3px 4px 5px;display:inline-flex}.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{color:var(--text-secondary);background:#f2f4f8}.account-menu-trigger:focus-visible{outline-offset:-2px}.account-menu-chevron{transition:transform var(--motion-fast) var(--ease-standard);flex:none}.account-menu-trigger[aria-expanded=true] .account-menu-chevron{transform:rotate(180deg)}.account-avatar-image,.account-avatar-fallback{object-fit:cover;border-radius:50%;flex:none;width:32px;height:32px}.account-menu-popover{z-index:80;border:1px solid var(--control-border);width:min(320px,100vw - 24px);max-height:min(560px,100dvh - 78px);color:var(--text-primary);background:var(--surface-raised);transform-origin:100% 0;animation:menu-in var(--motion-base) var(--ease-emphasized);border-radius:12px;outline:0;position:absolute;top:calc(100% + 7px);right:0;overflow:auto;box-shadow:0 18px 45px #1e263633}.account-menu-identity{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:14px;display:grid}.account-menu-identity-icon{width:34px;height:34px;color:var(--accent-text);background:var(--accent-soft);border-radius:10px;place-items:center;display:grid}.account-menu-identity-icon.local{color:var(--text-muted);background:var(--accent-soft)}.account-menu-identity-copy{min-width:0}.account-menu-identity-copy strong,.account-menu-identity-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-menu-identity-copy strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.account-menu-identity-copy small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-top:2px}.account-menu-mode{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));background:#faf7fc;border:1px solid #e7e1ec;border-radius:7px;margin:-2px 14px 12px;padding:8px 9px;line-height:1.45}.account-menu-preferences{border-top:1px solid var(--line);gap:16px;padding:13px 14px 10px;display:grid}.account-menu-action{width:calc(100% - 20px);min-height:42px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;margin:0 10px 10px;padding:0 10px;font-weight:650;display:flex}.account-menu-action:hover:not(:disabled){color:var(--accent-text);background:#f0f2ff}.account-menu-sign-out:hover:not(:disabled){color:var(--danger-text);background:var(--danger-soft)}.account-menu-action:disabled{color:var(--text-muted);cursor:not-allowed}.account-menu-error{color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:-2px 14px 12px;line-height:1.45}.demo-badge{background:var(--warning-soft);color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:12px;align-items:center;gap:5px;padding:4px 8px;font-weight:600;display:inline-flex}.demo-badge span{background:var(--warning);border-radius:50%;width:6px;height:6px}.page-content{flex:1;min-height:0;overflow:auto}.page-transition{min-height:100%;animation:page-in var(--motion-slow) var(--ease-emphasized)}.page-model>.page-transition,.page-reports>.page-transition{height:100%}.page-model,.page-reports{min-height:0;overflow:hidden}.panel{background:var(--surface-raised);border:1px solid var(--line);border-radius:11px}.panel-header{border-bottom:1px solid #eaedf2;justify-content:space-between;align-items:center;height:62px;padding:0 19px;display:flex}.panel-header h3,.panel-title h3{font:700 calc(14px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:1px 0 0}.panel-header select{height:29px;color:var(--text-muted);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));border:1px solid #dfe3e8;border-radius:6px;padding:0 8px}.page-intro{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.page-intro h2,.welcome-row h2{font:700 calc(22px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;letter-spacing:-.5px;margin:0}.page-intro p,.welcome-row p{color:var(--muted);font-size:var(--app-min-readable-text);margin:5px 0 0}.muted{color:var(--muted)}.count-badge{background:var(--soft);color:var(--muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:10px;padding:4px 8px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{width:100vw;height:100vh;color:var(--text-muted);background:#0d1521;place-content:center;justify-items:center;display:grid}.loading-screen p{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.auth-screen{isolation:isolate;scroll-behavior:smooth;width:100%;height:100dvh;min-height:100dvh;color:var(--text-primary);background:radial-gradient(circle at 9% 5%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 32rem), radial-gradient(circle at 90% 27%, color-mix(in srgb, var(--teal) 13%, transparent), transparent 29rem), linear-gradient(180deg, color-mix(in srgb, var(--surface-raised) 52%, var(--canvas)), var(--canvas));position:relative;overflow:hidden auto}.auth-screen:before{content:"";z-index:-1;opacity:.4;pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--line) 42%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line) 42%, transparent) 1px, transparent 1px);background-size:44px 44px;width:100%;height:760px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.auth-site-header,.auth-landing-content,.auth-site-footer{width:min(1180px,100% - 56px);margin-inline:auto}.auth-site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--line) 68%, transparent);background:color-mix(in srgb, var(--canvas) 78%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex;position:sticky;top:0}.auth-brand{color:var(--text-primary);font-size:calc(17px * var(--app-text-scale,1));letter-spacing:-.25px;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.auth-site-header nav{align-items:center;gap:clamp(12px,2vw,24px);display:flex}.auth-site-header nav>a{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));font-weight:650;text-decoration:none}.auth-site-header nav>a:hover{color:var(--text-primary)}.auth-site-header nav>a.auth-nav-get-started{color:var(--accent-text)}.auth-header-sign-in{min-height:40px;color:var(--text-primary);border:1px solid var(--control-border);background:color-mix(in srgb, var(--surface-raised) 74%, transparent);box-shadow:var(--shadow-subtle);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.auth-header-sign-in:hover{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 52%, var(--control-border));background:var(--surface-raised);transform:translateY(-1px)}.auth-header-sign-in:disabled{color:var(--text-faint);cursor:wait;box-shadow:none}.auth-hero{grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr);align-items:center;gap:clamp(44px,7vw,96px);min-height:630px;padding:72px 0 64px;display:grid}.auth-hero-copy{min-width:0}.auth-eyebrow{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));letter-spacing:1.35px;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 17px;font-weight:800;line-height:1.4;display:flex}.auth-hero h1{max-width:590px;font-size:clamp(calc(42px * var(--app-text-scale,1)), 5.25vw, calc(67px * var(--app-text-scale,1)));letter-spacing:-.055em;text-wrap:balance;margin:0;font-weight:760;line-height:.99}.auth-hero-lede{max-width:580px;color:var(--text-muted);font-size:calc(15px * var(--app-text-scale,1));text-wrap:pretty;margin:25px 0 0;line-height:1.72}.auth-hero-actions{flex-wrap:wrap;align-items:center;gap:11px;margin-top:31px;display:flex}.auth-primary-cta,.auth-secondary-cta{min-height:47px;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-weight:750;display:inline-flex}.auth-primary-cta{color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent), var(--accent-dark));box-shadow:0 13px 28px color-mix(in srgb, var(--accent) 27%, transparent)}.auth-primary-cta:hover{box-shadow:0 17px 34px color-mix(in srgb, var(--accent) 34%, transparent);transform:translateY(-2px)}.auth-primary-cta:disabled{opacity:.68;cursor:wait;box-shadow:none;transform:none}.auth-secondary-cta{color:var(--text-secondary);border-color:var(--control-border);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);box-shadow:var(--shadow-subtle)}.auth-secondary-cta:hover{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 52%, var(--control-border));background:var(--surface-raised);transform:translateY(-1px)}.auth-provider-note{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));align-items:center;gap:7px;margin:16px 0 0;line-height:1.5;display:flex}.auth-provider-note svg{color:var(--teal)}.auth-signup-consent{width:min(500px,100%);color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:12px 0 0;line-height:1.55}.auth-signup-consent a,.auth-security-note a{color:var(--accent-text);text-underline-offset:2px}.auth-registration-note{width:min(510px,100%);color:var(--text-secondary);border:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 80%, transparent);box-shadow:var(--shadow-subtle);border-radius:10px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:20px;padding:12px 13px;display:grid}.auth-registration-note>svg{color:var(--accent-text)}.auth-registration-note.checking>svg{animation:1.4s linear infinite spin}.auth-registration-note.closed>svg{color:var(--warning)}.auth-registration-note.unavailable>svg{color:var(--danger)}.auth-registration-note strong,.auth-registration-note small{display:block}.auth-registration-note strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.auth-registration-note small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-top:3px;line-height:1.45}.auth-registration-note button{min-height:34px;color:var(--accent-text);border:1px solid var(--control-border);background:var(--surface-raised);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-weight:700;display:inline-flex}.auth-product-stage{perspective:1300px;min-width:0;position:relative}.auth-product-glow{z-index:-1;background:color-mix(in srgb, var(--accent) 23%, transparent);filter:blur(65px);border-radius:50%;width:74%;height:65%;position:absolute;inset:17% 13%}.auth-product-preview{border:1px solid color-mix(in srgb, var(--control-border) 86%, transparent);background:color-mix(in srgb, var(--surface-overlay) 94%, transparent);min-height:420px;box-shadow:0 34px 90px color-mix(in srgb, var(--text-primary) 18%, transparent), inset 0 1px #ffffff61;transform-origin:50%;border-radius:18px;grid-template-columns:54px minmax(0,1fr);display:grid;overflow:hidden;transform:rotateY(-5deg)rotateX(1.5deg)}.auth-preview-rail{color:var(--text-faint);background:#101827;flex-direction:column;align-items:center;gap:11px;padding:15px 0;display:flex}.auth-preview-rail>span{border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.auth-preview-rail>span.active{color:#cbd0ff;background:#263153;box-shadow:inset 2px 0 #8994ff}.auth-preview-main{min-width:0;padding:18px}.auth-preview-main>header{justify-content:space-between;align-items:flex-start;gap:12px;min-height:50px;display:flex}.auth-preview-main>header small,.auth-preview-main>header strong{display:block}.auth-preview-main>header small{color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));letter-spacing:1.25px;font-weight:800}.auth-preview-main>header strong{font-size:calc(14px * var(--app-text-scale,1));margin-top:5px}.auth-preview-main>header>span{color:#138a78;border:1px solid color-mix(in srgb, var(--teal) 30%, var(--line));background:color-mix(in srgb, var(--teal) 10%, var(--surface-raised));font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:999px;padding:4px 8px;font-weight:750}.auth-preview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.auth-preview-metrics>div{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:13px;display:grid}.auth-preview-metrics small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));grid-column:1/3}.auth-preview-metrics strong{font-size:calc(17px * var(--app-text-scale,1));letter-spacing:-.4px;text-overflow:ellipsis;margin-top:5px;overflow:hidden}.auth-preview-metrics span{color:#158e7d;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-self:end;font-weight:700}.auth-preview-chart{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;height:238px;margin-top:10px;padding:15px 15px 9px;overflow:hidden}.auth-preview-chart>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-preview-chart>div strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.auth-preview-chart>div small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.auth-preview-chart svg{width:100%;height:185px;overflow:visible}.auth-preview-chart .grid{fill:none;stroke:var(--chart-grid);stroke-width:1px}.auth-preview-chart .area{fill:url(#auth-area)}.auth-preview-chart .line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.auth-preview-chart circle{fill:var(--surface-raised);stroke:var(--accent);stroke-width:3px}.auth-preview-float{border:1px solid var(--line);color:var(--accent-text);background:color-mix(in srgb, var(--surface-overlay) 92%, transparent);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;align-items:center;gap:9px;padding:10px 12px;display:flex;position:absolute}.auth-preview-float strong,.auth-preview-float small{white-space:nowrap;display:block}.auth-preview-float strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.auth-preview-float small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.auth-preview-float-sources{top:50px;right:-34px}.auth-preview-float-model{color:var(--teal);bottom:36px;left:-34px}.auth-source-strip{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:22px 0;display:flex}.auth-source-strip>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));flex:none;margin:0;font-weight:650}.auth-source-strip>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.auth-source-strip span{color:var(--text-secondary);border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--surface-raised) 65%, transparent);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:999px;padding:7px 10px;font-weight:700}.auth-product-section,.auth-workflow,.auth-embed-section,.auth-security{border-bottom:1px solid var(--line);padding:76px 0;scroll-margin-top:80px}.auth-section-heading{max-width:720px;margin-bottom:28px}.auth-section-heading .auth-eyebrow{margin-bottom:10px}.auth-section-heading h2,.auth-embed-copy h2,.auth-final-cta h2{font-size:clamp(calc(27px * var(--app-text-scale,1)), 3.4vw, calc(42px * var(--app-text-scale,1)));letter-spacing:-.04em;text-wrap:balance;margin:0;line-height:1.08}.auth-section-heading>p:last-child,.auth-embed-copy>p,.auth-final-cta>div>p:last-child{max-width:660px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:14px 0 0;line-height:1.7}.auth-capabilities{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.auth-capabilities article{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);min-width:0;min-height:178px;box-shadow:0 12px 36px color-mix(in srgb, var(--text-primary) 4%, transparent);border-radius:15px;grid-template-columns:38px minmax(0,1fr);align-content:start;gap:13px;padding:22px;display:grid}.auth-capabilities article>span{width:38px;height:38px;color:var(--accent-text);background:var(--accent-soft);border-radius:10px;place-items:center;display:grid}.auth-capabilities h3{font-size:calc(12px * var(--app-text-scale,1));letter-spacing:-.1px;margin:1px 0 6px}.auth-capabilities p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0;line-height:1.55}.auth-showcase,.auth-faq{border-bottom:1px solid var(--line);padding:76px 0;scroll-margin-top:80px}.auth-showcase-feature{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:30px;margin-top:36px;display:grid}.auth-showcase-copy h3{letter-spacing:-.035em;text-wrap:balance;margin:10px 0 12px;font-size:clamp(21px,2.3vw,29px);line-height:1.18}.auth-showcase-copy p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;line-height:1.65}.auth-showcase-step{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));letter-spacing:.08em;text-transform:uppercase;font-weight:800}.auth-showcase-copy ul{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));gap:12px;margin:20px 0;padding:0;list-style:none;display:grid}.auth-showcase-copy li{align-items:start;gap:9px;line-height:1.5;display:flex}.auth-showcase-copy li svg{color:var(--teal);flex:none;margin-top:2px}.auth-showcase-copy>a{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-underline-offset:4px;align-items:center;gap:8px;font-weight:700;display:inline-flex}.auth-showcase-shot{border:1px solid var(--line);background:var(--surface-raised);border-radius:16px;min-width:0;margin:0;padding:10px;overflow:hidden;box-shadow:0 20px 50px #1d284814}.auth-showcase-shot>a{border-radius:9px;display:block;overflow:hidden}.auth-showcase-shot img{background:var(--surface-sunken);width:100%;height:auto;display:block}.auth-showcase-shot figcaption{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:10px 4px 2px;line-height:1.5}.auth-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px;display:grid}.auth-showcase-grid>article{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 60%, transparent);border-radius:18px;flex-direction:column;gap:24px;min-width:0;padding:24px;display:flex}.auth-showcase-grid .auth-showcase-copy{flex:1}.auth-showcase-grid .auth-showcase-shot{box-shadow:none}.auth-faq-list{gap:12px;max-width:900px;display:grid}.auth-faq-list details{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;padding:20px 24px}.auth-faq-list summary{color:var(--text-primary);cursor:pointer;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));font-weight:700;line-height:1.5}.auth-faq-list summary::marker{color:var(--accent-text)}.auth-faq-list details p{max-width:760px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:14px 0 0;line-height:1.7}@media (width<=900px){.auth-showcase-feature,.auth-showcase-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.auth-showcase,.auth-faq{padding:54px 0}.auth-showcase-grid>article{padding:18px}.auth-showcase-shot{padding:7px}.auth-faq-list details{padding:18px}}.auth-workflow ol{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.auth-workflow li{border-left:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:0 22px;display:grid}.auth-workflow li:first-child{border-left:0;padding-left:0}.auth-workflow li>span{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));letter-spacing:.08em;font-weight:800}.auth-workflow strong{font-size:calc(13px * var(--app-text-scale,1));display:block}.auth-workflow li p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:8px 0 0;line-height:1.55}.auth-embed-section{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(42px,8vw,100px);display:grid}.auth-embed-copy>small{color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:18px;line-height:1.55;display:block}.auth-audience-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:24px;display:grid}.auth-audience-list span{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));align-items:flex-start;gap:7px;line-height:1.4;display:flex}.auth-audience-list svg{color:var(--teal);flex:none;margin-top:1px}.auth-embed-card{color:#eef1ff;background:linear-gradient(155deg,#182137,#101827);border:1px solid #4a5792;border-radius:18px;min-width:0;padding:20px;transform:rotate(1.5deg);box-shadow:0 30px 70px #0a101e45}.auth-embed-card>header{gap:7px;display:grid}.auth-embed-card>header span{color:#aeb7cf;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;display:flex}.auth-embed-card>header strong{font-size:calc(15px * var(--app-text-scale,1))}.auth-embed-mini-chart{background:repeating-linear-gradient(#0000 0 43px,#28344a 44px);border:1px solid #2d3951;border-radius:12px;justify-content:space-around;align-items:end;gap:14px;height:180px;margin-top:18px;padding:18px 22px 0;display:flex}.auth-embed-mini-chart i{background:linear-gradient(#8590ff,#5865e8);border-radius:7px 7px 0 0;width:min(48px,14%);display:block;box-shadow:0 0 20px #7784ff2e}.auth-code-line{color:#b7c1d8;background:#0a111d;border-radius:9px;align-items:center;gap:12px;min-width:0;margin-top:14px;padding:11px 12px;display:flex}.auth-code-line code{min-width:0;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.auth-code-line span{color:#dfe4ff;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:700}.auth-security-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.auth-security-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-sunken) 62%, transparent);border-radius:14px;padding:23px}.auth-security-grid article>svg{color:var(--teal)}.auth-security-grid h3{font-size:calc(12px * var(--app-text-scale,1));margin:17px 0 8px}.auth-security-grid p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0;line-height:1.6}.auth-security-note{color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:20px 0 0;line-height:1.6}.auth-pricing{border-bottom:1px solid var(--line);padding:76px 0;scroll-margin-top:80px}.auth-pricing-heading{max-width:650px;margin-bottom:24px}.auth-pricing-heading h2{font-size:calc(28px * var(--app-text-scale,1));letter-spacing:-.8px;margin:7px 0 8px}.auth-pricing-heading>p:last-child,.auth-pricing-loading{color:var(--text-muted);line-height:1.6}.auth-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.auth-pricing-grid article{border:1px solid var(--line);background:var(--surface-raised);border-radius:16px;padding:24px}.auth-pricing-grid article.featured{border-color:var(--accent);box-shadow:0 18px 42px color-mix(in srgb, var(--accent) 16%, transparent)}.auth-pricing-grid article>span{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.08em;font-weight:700}.auth-pricing-grid h3{font-size:calc(20px * var(--app-text-scale,1));margin:10px 0 2px}.auth-pricing-grid article>p:not(.auth-plan-price){min-height:44px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));line-height:1.5}.auth-plan-price{margin:3px 0 16px}.auth-plan-price strong{font-size:calc(28px * var(--app-text-scale,1))}.auth-plan-price small{color:var(--text-muted)}.auth-pricing-grid ul{gap:9px;margin:18px 0 0;padding:0;list-style:none;display:grid}.auth-pricing-grid li{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));align-items:flex-start;gap:7px;display:flex}.auth-pricing-grid li svg{color:var(--success);flex:none;margin-top:1px}.auth-plan-cta{min-height:39px;color:var(--accent-text);border-top:1px solid var(--line);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));justify-content:space-between;align-items:center;margin-top:22px;font-weight:750;text-decoration:none;display:flex}.auth-pricing-fineprint{color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:20px 0 0;line-height:1.6}.auth-final-cta{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, var(--surface-raised)), color-mix(in srgb, var(--teal) 8%, var(--surface-raised)));box-shadow:0 24px 70px color-mix(in srgb, var(--accent) 10%, transparent);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);align-items:center;gap:48px;margin:76px 0;padding:clamp(28px,5vw,52px);scroll-margin-top:100px;display:grid}.auth-final-cta .auth-eyebrow{margin-bottom:10px}.auth-final-actions{justify-items:start;gap:3px;display:grid}.auth-final-actions>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:8px}.auth-final-actions .auth-signup-consent{max-width:360px}.auth-site-footer{min-height:148px;color:var(--text-faint);border-top:1px solid var(--line);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));grid-template-columns:minmax(260px,1fr) auto auto;align-items:start;gap:24px 52px;padding:32px 0;display:grid}.auth-site-footer>div p{color:var(--text-faint);margin:8px 0 0}.auth-site-footer nav{gap:9px;display:grid}.auth-site-footer nav a{color:var(--text-muted);text-decoration:none}.auth-site-footer nav a:hover{color:var(--text-primary)}.auth-site-footer>span{border-top:1px solid var(--line);grid-column:1/-1;padding-top:19px}.auth-site-footer-meta,.legal-site-footer-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;display:flex}.switchcase-product-credit{color:var(--text-faint);white-space:nowrap;align-items:center;gap:6px;line-height:1.2;text-decoration:none;transition:color .16s;display:inline-flex}.switchcase-product-credit strong{color:var(--text-muted);font-weight:750;transition:color .16s}.switchcase-product-credit:is(:hover,:focus-visible),.switchcase-product-credit:is(:hover,:focus-visible) strong{color:var(--text-primary)}.switchcase-product-credit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:3px}.switchcase-product-mark{object-fit:contain;opacity:.84;border-radius:2px;flex:0 0 16px;width:16px;height:16px;display:block}.legal-screen{width:100%;min-height:100dvh;color:var(--text-primary);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-raised) 62%, var(--canvas)), var(--canvas) 540px)}.legal-site-header,.legal-layout,.legal-site-footer{width:min(1120px,100% - 56px);margin-inline:auto}.legal-site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.legal-site-header nav{align-items:center;gap:22px;display:flex}.legal-site-header nav a{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));font-weight:650;text-decoration:none}.legal-site-header nav a[aria-current=page]{color:var(--accent-text)}.legal-site-header nav a.legal-sign-in{min-height:38px;color:var(--text-primary);border:1px solid var(--control-border);background:var(--surface-raised);border-radius:999px;align-items:center;padding:0 14px;display:inline-flex}.legal-layout{grid-template-columns:190px minmax(0,760px);justify-content:center;align-items:start;gap:clamp(42px,7vw,86px);padding:62px 0 84px;display:grid}.legal-layout>aside{gap:10px;display:grid;position:sticky;top:24px}.legal-layout>aside>p{color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));letter-spacing:.08em;text-transform:uppercase;margin:20px 0 3px;font-weight:800}.legal-layout>aside a{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));line-height:1.4;text-decoration:none}.legal-layout>aside a:hover{color:var(--accent-text)}.legal-back-link{align-items:center;gap:6px;display:flex}.legal-document{min-width:0}.legal-title-block{border-bottom:1px solid var(--line);padding-bottom:35px}.legal-title-icon{width:46px;height:46px;color:var(--accent-text);background:var(--accent-soft);border-radius:13px;place-items:center;margin-bottom:22px;display:grid}.legal-title-block .auth-eyebrow{margin-bottom:9px}.legal-title-block h1{font-size:clamp(calc(34px * var(--app-text-scale,1)), 5vw, calc(52px * var(--app-text-scale,1)));letter-spacing:-.045em;margin:0;line-height:1}.legal-effective-date{font-weight:700;color:var(--accent-text)!important;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))!important;margin:13px 0 0!important}.legal-title-block>p:last-child{max-width:680px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:20px 0 0;line-height:1.75}.legal-document>section{padding-top:36px;scroll-margin-top:24px}.legal-document h2{font-size:calc(18px * var(--app-text-scale,1));letter-spacing:-.02em;margin:0 0 13px}.legal-document section p,.legal-document section li{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));line-height:1.78}.legal-document section p{margin:0 0 13px}.legal-document address{color:var(--text-secondary);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));padding:14px 16px;font-style:normal;line-height:1.65}.legal-document section ul{margin:0;padding-left:21px}.legal-document section li+li{margin-top:9px}.legal-document section a{color:var(--accent-text);text-underline-offset:2px}.legal-site-footer{min-height:82px;color:var(--text-faint);border-top:1px solid var(--line);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.legal-site-footer-meta{justify-content:flex-start}.legal-site-footer>span:last-child{gap:18px;display:flex}.legal-site-footer a{color:var(--text-muted)}.auth-system-screen{min-height:100dvh;color:var(--text-primary);background:radial-gradient(circle at 50% 12%, color-mix(in srgb, var(--accent) 16%, var(--canvas)), var(--canvas) 54%);place-items:center;padding:28px;display:grid}.auth-system-screen>section{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-overlay) 96%, transparent);width:min(500px,100%);box-shadow:var(--shadow-overlay);border-radius:18px;justify-items:start;padding:36px;display:grid}.auth-system-icon{width:48px;height:48px;color:var(--warning);background:color-mix(in srgb, var(--warning) 15%, var(--surface-sunken));border-radius:14px;place-items:center;margin:30px 0 18px;display:grid}.auth-system-icon.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 13%, var(--surface-sunken))}.auth-system-screen .auth-eyebrow{margin-bottom:7px}.auth-system-screen h1{font-size:calc(25px * var(--app-text-scale,1));letter-spacing:-.6px;margin:0}.auth-system-screen section>p:not(.auth-eyebrow){color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:11px 0 24px;line-height:1.65}.auth-system-actions{flex-wrap:wrap;gap:9px;display:flex}@media (width<=980px){.auth-hero{grid-template-columns:minmax(0,1fr);gap:62px;padding-top:58px}.auth-hero-copy{max-width:680px}.auth-product-stage{width:min(690px,100% - 20px);margin-inline:auto}.auth-product-preview{transform:rotateY(-2deg)rotateX(1deg)}.auth-capabilities,.auth-workflow ol{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-workflow li:nth-child(3){border-left:0;padding-left:0}.auth-workflow li:nth-child(n+3){margin-top:28px}.auth-embed-section{grid-template-columns:minmax(0,1fr)}.auth-embed-card{width:min(700px,100%);transform:none}.auth-pricing-grid{grid-template-columns:minmax(0,1fr)}.auth-pricing-grid article{grid-template-columns:minmax(180px,.65fr) minmax(240px,1fr);column-gap:30px;display:grid}.auth-pricing-grid article>span,.auth-pricing-grid h3,.auth-pricing-grid .auth-plan-price,.auth-pricing-grid article>p:not(.auth-plan-price){grid-column:1}.auth-pricing-grid ul{grid-area:1/2/span 4;margin-top:0}.auth-plan-cta{grid-column:1/-1}.auth-site-footer{grid-template-columns:minmax(230px,1fr) auto auto;gap:24px}.legal-layout{grid-template-columns:160px minmax(0,1fr);gap:44px}}@media (width<=640px){.auth-site-header,.auth-landing-content,.auth-site-footer{width:min(100% - 32px,1180px)}.auth-site-header{min-height:70px}.auth-site-header nav{gap:9px}.auth-site-header nav>a.auth-nav-section-link{display:none}.auth-header-sign-in{min-height:38px;padding-inline:13px}.auth-hero{gap:45px;min-height:0;padding:48px 0 50px}.auth-hero h1{font-size:clamp(calc(36px * var(--app-text-scale,1)), 12vw, calc(52px * var(--app-text-scale,1)))}.auth-hero-lede{font-size:calc(13px * var(--app-text-scale,1));margin-top:20px}.auth-hero-actions{flex-direction:column;align-items:stretch}.auth-hero-actions>*,.auth-hero-actions button{width:100%}.auth-registration-note{grid-template-columns:20px minmax(0,1fr)}.auth-registration-note button{grid-column:2;justify-self:start}.auth-product-stage{width:100%}.auth-product-preview{border-radius:14px;grid-template-columns:40px minmax(0,1fr);min-height:360px;transform:none}.auth-preview-rail{padding-top:12px}.auth-preview-rail>span{width:26px;height:26px}.auth-preview-main{padding:12px}.auth-preview-main>header>span{display:none}.auth-preview-metrics{gap:5px}.auth-preview-metrics>div{grid-template-columns:minmax(0,1fr);padding:9px 8px}.auth-preview-metrics small{grid-column:1}.auth-preview-metrics strong{font-size:calc(13px * var(--app-text-scale,1))}.auth-preview-metrics span{display:none}.auth-preview-chart{height:214px;padding-inline:10px}.auth-preview-chart svg{height:168px}.auth-preview-float{display:none}.auth-source-strip{flex-direction:column;align-items:flex-start;gap:14px}.auth-source-strip>div{justify-content:flex-start}.auth-product-section,.auth-workflow,.auth-embed-section,.auth-security,.auth-pricing{padding:54px 0}.auth-capabilities,.auth-security-grid{grid-template-columns:minmax(0,1fr)}.auth-capabilities article{padding:16px}.auth-workflow ol{grid-template-columns:minmax(0,1fr)}.auth-workflow li,.auth-workflow li:nth-child(3){border-left:0;border-top:1px solid var(--line);margin-top:0;padding:18px 0}.auth-workflow li:first-child{border-top:0}.auth-audience-list{grid-template-columns:minmax(0,1fr)}.auth-embed-card{padding:15px}.auth-embed-mini-chart{gap:8px;height:150px;padding-inline:12px}.auth-pricing-grid article{display:block}.auth-pricing-grid ul{margin-top:18px}.auth-final-cta{grid-template-columns:minmax(0,1fr);gap:28px;margin:54px 0}.auth-final-actions,.auth-final-actions>*,.auth-final-actions button{width:100%}.auth-site-footer{grid-template-columns:minmax(0,1fr);gap:24px;min-height:82px;padding:28px 0}.auth-site-footer>span{grid-column:1}.auth-system-screen{padding:16px}.auth-system-screen>section{padding:26px 22px}.auth-system-actions,.auth-system-actions button{width:100%}.legal-site-header,.legal-layout,.legal-site-footer{width:min(100% - 32px,1120px)}.legal-site-header{min-height:70px}.legal-site-header nav{gap:11px}.legal-site-header nav a:not(.legal-sign-in){display:none}.legal-layout{grid-template-columns:minmax(0,1fr);padding:42px 0 62px}.legal-layout>aside{position:static}.legal-layout>aside>p,.legal-layout>aside>a:not(.legal-back-link){display:none}.legal-title-block{padding-bottom:28px}.legal-document>section{padding-top:30px}.legal-site-footer{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100px}}.workspace-error{color:#eef2f8;text-align:center;background:radial-gradient(circle at 50% 15%,#1d2940,#0d1521 55%);align-content:center;place-items:center;min-height:100vh;padding:28px;display:grid}.workspace-error h2{margin:18px 0 5px}.workspace-error p{max-width:420px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:0 0 18px}.workspace-error-actions{justify-content:center;align-items:center;gap:9px;display:flex}.workspace-error-actions .secondary-button{color:#e4e9f2;background:#182334;border-color:#3b485c}.workspace-switcher-backdrop{z-index:140;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in var(--motion-base) ease;background:#0c14207a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.workspace-switcher-dialog{background:var(--surface-raised);width:min(470px,100vw - 32px);max-height:min(680px,100dvh - 32px);animation:modal-in var(--motion-slow) var(--ease-emphasized);border:1px solid #dce1e9;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 26px 80px #0d152152}.workspace-switcher-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:0 20px;display:flex}.workspace-switcher-dialog>header>div{align-items:center;gap:11px;display:flex}.workspace-switcher-dialog h2{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.workspace-switcher-body{gap:14px;min-height:0;padding:18px 20px 20px;display:grid;overflow-y:auto}.workspace-switcher-body>p{color:#687282;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;line-height:1.55}.workspace-option-list{gap:6px;display:grid}.workspace-option-list>div>button{width:100%;min-height:54px;color:var(--text-primary);cursor:pointer;text-align:left;background:#fbfcfd;border:1px solid #e2e6ec;border-radius:9px;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:8px 10px;display:grid}.workspace-option-list>div>button:hover{background:#f7f8ff;border-color:#cfd4fa}.workspace-option-list>div>button.active{background:#f1f3ff;border-color:#bfc6fb}.workspace-option-icon{width:34px;height:34px;color:var(--accent-text);background:var(--accent-soft);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));border-radius:8px;place-items:center;font-weight:750;display:grid}.workspace-option-list strong,.workspace-option-list small{display:block}.workspace-option-list strong{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.workspace-option-list small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-transform:capitalize;margin-top:2px}.workspace-option-list svg{color:var(--accent-text)}.workspace-create-form{border-top:1px solid #e8ebef;padding-top:14px}.workspace-create-form>label{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-bottom:7px;font-weight:700;display:block}.workspace-create-form>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.workspace-create-form input{border:1px solid var(--control-border);min-width:0;height:36px;color:var(--text-primary);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));border-radius:7px;outline:0;padding:0 10px}.workspace-create-form input:focus{border-color:#8994f5;box-shadow:0 0 0 3px #6976f71a}.workspace-switcher-error{color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:-3px 0 0}.workspace-collaboration-card{border:1px solid var(--line);background:var(--surface-sunken);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.workspace-collaboration-card>span{min-width:0;color:var(--accent-text);align-items:center;gap:9px;display:flex}.workspace-collaboration-card>span>span{min-width:0}.workspace-collaboration-card strong,.workspace-collaboration-card small{display:block}.workspace-collaboration-card strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.workspace-collaboration-card small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px;line-height:1.35}.workspace-collaboration-card .secondary-button{flex:none}.workspace-members-backdrop,.source-ownership-backdrop{z-index:155;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in var(--motion-base) ease;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.workspace-members-modal,.source-ownership-modal{width:min(700px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text-primary);border:1px solid var(--control-border);background:var(--surface-overlay);box-shadow:var(--shadow-overlay);animation:modal-in var(--motion-slow) var(--ease-emphasized);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.workspace-members-modal>header,.source-ownership-modal>header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:0 20px;display:flex}.workspace-members-modal>header>div,.source-ownership-modal>header>div{align-items:center;gap:11px;min-width:0;display:flex}.workspace-members-modal>header h2,.source-ownership-modal>header h2{font-size:calc(17px * var(--app-text-scale,1));text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.workspace-members-body,.source-ownership-body{gap:15px;min-height:0;padding:20px;display:grid;overflow-y:auto}.workspace-members-body>p:first-child,.source-ownership-body>p:first-child{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;line-height:1.55}.workspace-member-add{border:1px solid var(--line);background:var(--surface-sunken);border-radius:10px;grid-template-rows:auto 36px auto;grid-template-columns:minmax(0,1fr) minmax(145px,.42fr) auto;align-items:stretch;gap:5px 10px;padding:13px;display:grid}.workspace-member-add label,.source-copy-name,.source-workspace-target{min-width:0;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));gap:5px;font-weight:700;display:grid}.workspace-member-add>label{grid-row:1/4;grid-template-rows:subgrid}.workspace-member-add>label:first-of-type{grid-column:1}.workspace-member-add>label:nth-of-type(2){grid-column:2}.workspace-member-add input,.workspace-member-add select,.workspace-member-role select,.source-copy-name input,.source-workspace-target select{width:100%;min-width:0;height:36px;color:var(--text-primary);border:1px solid var(--control-border);background:var(--surface-raised);font:inherit;border-radius:7px;outline:0;padding:0 9px}.workspace-member-add :is(input,select):focus,.workspace-member-role select:focus,.source-ownership-modal :is(input,select):focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-ring-soft)}.workspace-member-add small,.source-workspace-target small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:400;line-height:1.35}.workspace-member-add .primary-button{grid-area:2/3;align-self:stretch;height:36px}.workspace-members-readonly{color:var(--text-secondary);border:1px solid var(--line);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:8px;align-items:center;gap:7px;margin:0;padding:9px 11px;display:flex}.workspace-members-error,.source-ownership-error{color:var(--danger-text);border:1px solid color-mix(in srgb, var(--danger-text) 35%, var(--line));background:color-mix(in srgb, var(--danger-text) 8%, var(--surface-overlay));font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:8px;margin:0;padding:9px 11px}.workspace-member-list{gap:6px;display:grid}.workspace-member-list-head{min-height:27px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));justify-content:space-between;align-items:center;display:flex}.workspace-member-list-head span{color:var(--text-muted)}.workspace-member-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;grid-template-columns:34px minmax(0,1fr) 118px auto;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:grid}.workspace-member-avatar{width:34px;height:34px;color:var(--accent-text);background:var(--accent-soft);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:9px;place-items:center;font-weight:750;display:grid}.workspace-member-identity{min-width:0}.workspace-member-identity strong,.workspace-member-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-member-identity strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.workspace-member-identity small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.workspace-member-identity small:last-child{align-items:center;gap:4px;display:flex}.workspace-member-role{min-width:0;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));font-weight:600}.workspace-member-remove{height:36px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.workspace-member-remove:hover:not(:disabled),.workspace-member-remove.confirming{color:var(--danger-text);border-color:color-mix(in srgb, var(--danger-text) 30%, var(--line));background:color-mix(in srgb, var(--danger-text) 8%, var(--surface-raised))}.workspace-member-remove:disabled{opacity:.45;cursor:default}.workspace-members-loading,.workspace-members-empty{min-height:68px;color:var(--text-muted);border:1px dashed var(--control-border);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:9px;justify-content:center;align-items:center;gap:7px;margin:0;display:flex}.workspace-role-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.workspace-role-guide>span{background:var(--surface-sunken);border-radius:8px;padding:9px}.workspace-role-guide strong,.workspace-role-guide small{display:block}.workspace-role-guide strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.workspace-role-guide small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px;line-height:1.35}.workspace-settings-section{border-top:1px solid var(--line);gap:12px;padding-top:15px;display:grid}.workspace-settings-section>div:first-child>strong,.workspace-settings-section>div:first-child>small{display:block}.workspace-settings-section>div:first-child>strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.workspace-settings-section>div:first-child>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px;line-height:1.4}.workspace-settings-section>form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.workspace-settings-section>form label,.workspace-delete-zone label{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));gap:5px;display:grid}.workspace-settings-section input{width:100%;min-width:0;height:36px;color:var(--text-primary);border:1px solid var(--control-border);background:var(--surface-raised);border-radius:7px;outline:0;padding:0 9px}.workspace-settings-section input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-ring-soft)}.workspace-settings-section>form .secondary-button{height:36px}.workspace-primary-note{color:var(--text-secondary);border:1px solid var(--line);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:8px;align-items:center;gap:7px;margin:0;padding:9px 10px;display:flex}.workspace-delete-zone{border:1px solid color-mix(in srgb, var(--danger-text) 30%, var(--line));background:color-mix(in srgb, var(--danger-text) 5%, var(--surface-raised));border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr) auto;align-items:end;gap:10px;padding:11px;display:grid}.workspace-delete-zone>div strong,.workspace-delete-zone>div small{display:block}.workspace-delete-zone>div strong{color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.workspace-delete-zone>div small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px;line-height:1.4}.workspace-members-modal>footer,.source-ownership-modal form>footer{min-height:59px;color:var(--text-muted);border-top:1px solid var(--line);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:0 20px;display:flex}.workspace-members-modal>footer>span{margin-right:auto}.loading-bar{background:#263140;border-radius:3px;width:160px;height:3px;margin-top:22px;overflow:hidden}.loading-bar span{background:#7481ff;width:42%;height:100%;animation:1.2s infinite load;display:block}@keyframes load{0%{transform:translate(-110%)}to{transform:translate(350%)}}.overview-page,.sources-page,.embeds-page{max-width:1440px;margin:auto;padding:26px 28px 40px}.welcome-row{justify-content:space-between;align-items:flex-end;display:flex}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:21px 0 16px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface-raised);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:37px 1fr auto;align-items:start;gap:10px;min-width:0;padding:15px;display:grid}.metric-card:hover{box-shadow:var(--shadow);border-color:#cfd4de;transform:translateY(-1px)}.metric-icon{width:37px;height:37px;color:var(--accent);background:var(--accent-soft);border-radius:9px;place-items:center;display:grid}.metric-card span:nth-child(2)>*{font-style:normal;display:block}.metric-card small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.metric-card strong{font:700 calc(23px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:1px 0}.metric-card em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.metric-card>svg{color:var(--text-muted);margin-top:9px}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr);gap:16px;display:grid}.pulse-footer{border-top:1px solid var(--line);color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));justify-content:space-between;padding:10px 17px;display:flex}.pulse-footer span:first-child{color:var(--success-text);align-items:center;gap:5px;display:flex}.pulse-footer button{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-weight:600;display:flex}.health-board{background:var(--surface-subtle);grid-template-columns:.8fr 1.2fr;gap:14px;min-height:267px;padding:17px;display:grid}.health-board>div{gap:8px;display:grid}.health-board>div>span{background:var(--surface-raised);border:1px solid #e5e8ee;border-radius:8px;grid-template-columns:26px 1fr;align-items:center;min-height:63px;padding:11px;display:grid}.health-board>div svg{color:var(--accent-text);grid-row:1/3}.health-board>div small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.health-board>div strong{color:var(--text-primary);font-size:calc(16px * var(--app-text-scale,1))}.health-board>section{background:var(--surface-raised);border:1px solid #e5e8ee;border-radius:8px;padding:15px}.health-board h4{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:0 0 14px}.health-board p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0 0 11px;padding-left:15px;line-height:1.5;position:relative}.health-board p:before{content:"";background:#7a86f5;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:1px}.quick-panel{overflow:hidden}.quick-panel>button{border:0;border-bottom:1px solid var(--line);background:var(--surface-raised);text-align:left;cursor:pointer;grid-template-columns:45px 1fr auto;align-items:center;gap:11px;width:100%;padding:12px 16px;display:grid}.quick-panel>button:hover{background:var(--surface-subtle)}.quick-panel>button>span:nth-child(2) strong,.quick-panel>button>span:nth-child(2) small{display:block}.quick-panel>button strong{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.quick-panel>button small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-top:3px}.recent-thumb{width:45px;height:37px;color:var(--accent-text);background:var(--accent-soft);border-radius:7px;place-items:center;display:grid}.recent-thumb.thumb-1{color:#18a994;background:#eaf9f6}.recent-thumb.model-thumb{color:#b67b2c;background:#fff6e8}.quick-panel>button>svg{color:var(--text-muted)}.source-summary{background:var(--success-soft);border:1px solid var(--success-border);color:var(--success-text);border-radius:9px;grid-template-columns:repeat(3,1fr);margin-bottom:15px;padding:13px 8px;display:grid}.source-summary>span{border-right:1px solid var(--success-border);align-items:center;gap:9px;padding:0 16px;display:flex}.source-summary>span:last-child{border:0}.source-summary strong,.source-summary small{display:block}.source-summary strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));color:var(--success-text)}.source-summary small{color:var(--success-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.source-table-panel{overflow:hidden}.source-table{border-bottom:1px solid var(--line);min-height:73px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));grid-template-columns:minmax(190px,1.35fr) .62fr .78fr .92fr .45fr minmax(150px,.95fr) 110px;align-items:center;gap:10px;padding:0 17px;display:grid}.source-table.table-header{background:var(--surface-sunken);min-height:36px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.5px;font-weight:700}.source-name{align-items:center;gap:10px;display:flex}.source-name>i{border-radius:8px;place-items:center;width:37px;height:37px;font-style:normal;display:grid}.source-name .db-source{background:var(--accent-soft);color:var(--accent-text)}.source-name .file-source{color:#159987;background:#eaf8f5}.source-name .query-source{color:#7855a4;background:#f3edfb}.source-name strong,.source-name small{display:block}.source-name strong{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.source-name small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.status-badge{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:10px;align-items:center;gap:4px;padding:4px 7px;font-weight:600;display:inline-flex}.status-badge.healthy{color:var(--success-text);background:var(--success-soft)}.status-badge.unhealthy{color:var(--danger-text);background:var(--danger-soft)}.source-status,.source-cadence{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.sftp-source-status{max-width:100%;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-weight:650;display:inline-flex;overflow:hidden}.sftp-source-status.ready{color:var(--success-text)}.sftp-source-status.running{color:var(--accent-text)}.sftp-source-status.failed{color:var(--danger-text)}.sftp-source-status.warning{color:var(--warning-text)}.sftp-source-status.paused{color:var(--text-muted)}.source-schedule-label{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));letter-spacing:.03em;text-transform:uppercase;font-weight:700}.sftp-row-timing{max-width:100%;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));gap:1px;line-height:1.3;display:grid}.sftp-row-timing strong{color:var(--accent-text);font-size:inherit;text-transform:uppercase;letter-spacing:.03em}.source-message{background:var(--accent-soft);color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border:1px solid #dfe3f5;border-radius:7px;margin:-5px 0 12px;padding:9px 11px}.source-actions{justify-content:flex-end;gap:4px;min-width:0;display:flex}.source-workspace-access{justify-items:start;gap:4px;min-width:0;display:grid}.source-workspace-access>button{max-width:100%;min-height:23px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;background:#f8f9ff;border:1px solid #dfe3ec;border-radius:6px;align-items:center;gap:5px;padding:2px 6px;font-weight:650;display:inline-flex}.source-workspace-access>button:hover{background:#eff1ff;border-color:#c7cdf8}.source-workspace-access>button>span,.source-workspace-access>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:145px;overflow:hidden}.source-workspace-access>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.derived-query-cadence{color:#77579c;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));align-items:center;gap:5px;font-weight:600;display:inline-flex}.source-context-target{position:relative}.source-context-target:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px;background:#f8f9ff}.context-menu{z-index:1000;background:var(--surface-raised);border:1px solid #d8dde6;border-radius:8px;flex-direction:column;width:226px;max-height:calc(100dvh - 16px);padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 14px 38px #1d263733}.context-menu button{min-height:34px;color:var(--text-secondary);text-align:left;font:var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:9px;padding:0 10px;display:flex}.context-menu-item-icon{width:15px;height:15px;color:var(--text-muted);flex:0 0 15px;justify-content:center;align-items:center;display:inline-flex}.context-menu-item-icon svg{stroke-width:1.8px;width:15px;height:15px}.context-menu button:hover,.context-menu button:focus-visible{color:var(--accent-text);background:#f0f2ff;outline:0}.context-menu button:hover .context-menu-item-icon,.context-menu button:focus-visible .context-menu-item-icon{color:currentColor}.context-menu button:disabled{color:var(--text-muted);cursor:not-allowed}.context-menu button:disabled .context-menu-item-icon{color:currentColor}.context-menu button.separated{border-top:1px solid #e5e8ed;border-radius:0 0 5px 5px;margin-top:5px}.context-menu button.danger{color:var(--danger-text)}.context-menu button.danger .context-menu-item-icon{color:currentColor}.context-menu button.danger:hover,.context-menu button.danger:focus-visible{color:var(--danger-text);background:var(--danger-soft)}.source-menu-trigger[aria-expanded=true]{color:var(--accent-text);background:var(--accent-soft)}.source-inspector-backdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d152152;justify-content:flex-end;display:flex;position:fixed;inset:0}.source-inspector{background:var(--surface-raised);flex-direction:column;width:min(480px,94vw);height:100%;display:flex;box-shadow:-18px 0 50px #141c2a2e}.source-inspector.data-mode{width:min(920px,94vw)}.source-inspector>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;min-height:88px;padding:18px 20px;display:flex}.source-inspector h2{font-size:calc(18px * var(--app-text-scale,1));margin:3px 0 0}.source-inspector header p{color:var(--muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:4px 0 0}.source-inspector-tabs{border-bottom:1px solid var(--line);background:var(--surface-raised);align-items:end;gap:18px;min-height:43px;padding:0 18px;display:flex}.source-inspector-tabs button{min-height:42px;color:var(--text-muted);font:600 var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 1px;display:inline-flex;position:relative}.source-inspector-tabs button:after{content:"";height:2px;transition:background-color var(--motion-fast) ease;background:0 0;border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:0;right:0}.source-inspector-tabs button[aria-selected=true]{color:var(--accent-text)}.source-inspector-tabs button[aria-selected=true]:after{background:#6572ec}.source-inspector-tabs button:focus-visible{outline-offset:2px;outline:2px solid #6572ec}.source-inspector-tabs small{color:var(--accent-text);background:var(--accent-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:8px;padding:2px 5px}.source-maintenance{border-bottom:1px solid var(--line);background:#fbfcfd;flex-wrap:wrap;gap:7px;padding:10px 18px;display:flex}.source-maintenance>button{border:1px solid var(--control-border);height:30px;color:var(--text-secondary);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:0 9px;display:flex}.source-maintenance>button:hover:not(:disabled){color:var(--accent-text);background:#f5f6ff;border-color:#aeb6fa}.source-maintenance>button:disabled{opacity:.48;cursor:not-allowed}.derived-query-inspector-note{color:#6b4d8d;background:#faf7fd;border-bottom:1px solid #e6ddf2;align-items:flex-start;gap:9px;padding:10px 18px;display:flex}.derived-query-inspector-note>span,.derived-query-inspector-note strong,.derived-query-inspector-note small{display:block}.derived-query-inspector-note strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.derived-query-inspector-note small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px;line-height:1.45}.source-inspector-scroll{background:#f7f8fa;flex:1;min-height:0;padding:15px 18px;overflow:auto}.source-inspector-scroll section{background:var(--surface-raised);border:1px solid #e0e4ea;border-radius:9px;margin-bottom:12px;overflow:hidden}.source-inspector-scroll section>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.source-inspector-scroll section>div strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-inspector-scroll section>div small{color:var(--muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.source-inspector-scroll section>div>span{align-items:center;gap:8px;display:flex}.source-table-preview-button{border:1px solid var(--control-border);min-height:27px;color:var(--accent-text);background:var(--surface-overlay);font:600 max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1))) "Segoe UI", system-ui, sans-serif;cursor:pointer;border-radius:5px;padding:0 8px}.source-table-preview-button:hover{background:#f5f6ff;border-color:#bfc6fa}.source-inspector-scroll ul{margin:0;padding:0;list-style:none}.source-inspector-scroll li{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;gap:15px;min-height:43px;padding:7px 13px;display:flex}.source-inspector-scroll li:last-child{border:0}.source-inspector-scroll li span,.source-inspector-scroll li small{display:block}.source-inspector-scroll li span{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));font-weight:600}.source-inspector-scroll li small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px;font-weight:400}.source-inspector-scroll li em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));white-space:nowrap;font-style:normal}.source-inspector-scroll li>em{margin-left:auto}.source-field-settings-button{border:1px solid var(--control-border);width:28px;height:28px;color:var(--accent-text);background:var(--surface-overlay);cursor:pointer;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:6px;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.source-field-settings-button:hover{background:#f5f6ff;border-color:#bfc6fa;transform:translateY(-1px)}.source-field-settings-button:focus-visible{outline-offset:2px;outline:2px solid #6976f7}.source-inspector>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:65px;padding:12px 18px;display:flex}.source-inspector-data{background:#f7f8fa;flex:1;min-height:0;overflow:hidden}.source-data-preview{flex-direction:column;height:100%;min-height:0;display:flex}.source-data-toolbar{background:var(--surface-raised);border-bottom:1px solid #e2e6ec;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;min-height:66px;padding:10px 16px;display:flex}.source-data-toolbar label{flex:1;min-width:0}.source-data-toolbar label>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-bottom:5px;font-weight:600;display:block}.source-data-toolbar select{width:100%;height:auto;color:var(--text-primary);background:var(--surface-overlay);font:inherit;min-height:38px;font-size:calc(14px * var(--app-text-scale,1));border:1px solid #d9dee7;border-radius:6px;outline:0;padding:0 30px 0 9px}.source-data-toolbar select:focus{border-color:#8993ed;box-shadow:0 0 0 3px #6572ec1f}.source-data-toolbar select:disabled{color:var(--text-muted);background:var(--canvas-subtle)}.source-data-scope{text-align:right;flex:none;padding-bottom:2px}.source-data-scope strong,.source-data-scope small{display:block}.source-data-scope strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-data-scope small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.source-data-state{min-height:230px;color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:30px;display:flex}.source-data-state>svg{color:var(--accent-text);margin-bottom:10px}.source-data-state strong{color:var(--text-secondary);font-size:var(--app-min-readable-text)}.source-data-state p{max-width:410px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:5px 0 0;line-height:1.5}.source-data-state button{margin-top:13px}.source-data-error>svg{color:var(--danger)}.source-data-error strong{color:var(--danger-text)}.source-data-result-head{background:#fbfcfd;border-bottom:1px solid #e2e6ec;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:8px 16px;display:flex}.source-data-result-head strong,.source-data-result-head small{display:block}.source-data-result-head strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-data-result-head small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.source-data-bounded{color:#7b62a7;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#f3edfa;border-radius:9px;padding:4px 7px;font-weight:650}.source-data-notice{border-bottom:1px solid var(--warning-border);color:var(--warning-text);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0;padding:8px 16px}.source-data-grid-wrap{background:var(--surface-raised);scrollbar-gutter:stable;outline:0;flex:1;min-height:0;overflow:auto}.source-data-grid-wrap:focus-visible{box-shadow:inset 0 0 0 2px #7884ea}.source-data-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-data-grid th,.source-data-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-raised);text-align:left;vertical-align:top;overflow-wrap:anywhere;min-width:132px;max-width:340px;padding:9px 11px}.source-data-grid thead th{z-index:2;color:var(--text-primary);box-shadow:0 1px var(--control-border);background:#f5f6f9;position:sticky;top:0}.source-data-grid thead th strong,.source-data-grid thead th small{display:block}.source-data-grid thead th strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-data-grid thead th small{color:var(--text-muted);font:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1))) ui-monospace, "SFMono-Regular", Consolas, monospace;margin-top:3px}.source-data-grid tbody tr:nth-child(2n) td,.source-data-grid tbody tr:nth-child(2n) th{background:var(--surface-subtle)}.source-data-grid .source-data-row-number{z-index:1;width:43px;min-width:43px;color:var(--text-muted);text-align:right;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#f6f7f9;font-weight:500;position:sticky;left:0}.source-data-grid thead .source-data-row-number{z-index:3}.source-data-null,.source-data-empty-value{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.source-data-empty-value{color:var(--text-muted)}.source-data-no-rows{height:130px;color:var(--text-muted);text-align:center!important;vertical-align:middle!important}.source-data-footnote{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#fbfcfd;border-top:1px solid #e5e8ed;margin:0;padding:8px 16px}.schedule-select{background:var(--surface-overlay);height:30px;color:var(--text-muted);border:1px solid #e0e4ea;border-radius:6px;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.schedule-select select{background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));color:var(--text-secondary);border:0;outline:0}.source-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:44px 28px;display:flex}.source-empty-icon{width:54px;height:54px;color:var(--accent-text);background:var(--accent-soft);border:1px solid #dfe3fb;border-radius:15px;place-items:center;margin-bottom:14px;display:grid}.source-empty-state h4{color:var(--text-primary);font:700 calc(15px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:4px 0 6px}.source-empty-state p{max-width:460px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;line-height:1.6}.source-empty-state .primary-button{margin-top:16px}.source-empty-state>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:14px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a111c94;place-items:center;display:grid;position:fixed;inset:0}.connect-modal,.formula-modal,.schema-field-modal,.schema-table-modal,.filter-modal,.report-modal,.delete-source-modal,.replace-source-modal,.source-workspace-modal{background:var(--surface-raised);border:1px solid #dce1e9;border-radius:14px;width:630px;overflow:hidden;box-shadow:0 26px 80px #0d152152}.confirm-modal{background:var(--surface-raised);border:1px solid #dce1e9;border-radius:14px;width:min(440px,100vw - 32px);overflow:hidden;box-shadow:0 26px 80px #0d152152}.confirm-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:60px;padding:0 18px;display:flex}.confirm-modal>header>div{align-items:center;gap:11px;display:flex}.confirm-modal h2{font:700 calc(16px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;color:var(--text-primary);margin:0}.confirm-modal-body{color:var(--text-secondary);font-size:var(--app-min-readable-text);padding:18px;line-height:1.6}.report-move-target{margin-top:12px;display:block}.report-move-target>span{color:var(--text-secondary,#56606f);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-bottom:5px;font-weight:600;display:block}.report-move-target select{border:1px solid var(--control-border);background:var(--surface-raised);width:100%;height:34px;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:8px;padding:0 8px}.confirm-modal>footer{border-top:1px solid var(--line);background:var(--surface-subtle);justify-content:flex-end;align-items:center;gap:8px;min-height:58px;padding:0 18px;display:flex}.connect-modal>header,.formula-modal>header,.schema-field-modal>header,.schema-table-modal>header,.filter-modal>header,.report-modal>header,.delete-source-modal>header,.replace-source-modal>header,.source-workspace-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 20px;display:flex}.connect-modal>header>div,.formula-modal>header>div,.schema-field-modal>header>div,.schema-table-modal>header>div,.filter-modal>header>div,.report-modal>header>div,.delete-source-modal>header>div,.replace-source-modal>header>div,.source-workspace-modal>header>div{align-items:center;gap:11px;display:flex}.connect-modal h2,.formula-modal h2,.schema-field-modal h2,.schema-table-modal h2,.filter-modal h2,.report-modal h2,.delete-source-modal h2,.replace-source-modal h2,.source-workspace-modal h2{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.modal-icon{width:37px;height:37px;color:var(--accent);background:var(--accent-soft);border-radius:9px;place-items:center;display:grid}.modal-icon.formula{color:var(--accent-text);background:#f5edfb}.modal-icon.filter{color:var(--accent-text);background:var(--accent-soft)}.modal-icon.report{color:var(--accent-text);background:#f4edfb}.modal-icon.danger{color:var(--danger-text);background:var(--danger-soft)}.delete-source-modal{width:min(470px,100vw - 32px)}.replace-source-modal{width:min(520px,100vw - 32px)}.replace-source-body{gap:15px;padding:20px;display:grid}.replace-source-summary{border:1px solid var(--line);background:var(--surface-sunken);border-radius:8px;gap:4px;padding:11px 12px;display:grid}.replace-source-summary strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.replace-source-summary span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));line-height:1.5}.replace-source-body>label{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));gap:6px;font-weight:700;display:grid}.replace-source-body>label input{border:1px solid var(--control-border);width:100%;min-height:38px;color:var(--text-primary);background:var(--surface-raised);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;padding:7px 9px}.replace-source-body>label small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:400;line-height:1.45}.replace-source-note{border:1px solid var(--warning-border);color:var(--warning-text);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;line-height:1.45;display:flex}.replace-source-note svg{flex:none;margin-top:1px}.source-workspace-modal{flex-direction:column;width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);display:flex}.source-workspace-modal>header,.source-workspace-modal>footer{flex:none}.source-workspace-modal>header>div,.source-workspace-modal>header>div>div{min-width:0}.source-workspace-modal>header .modal-icon,.source-workspace-modal>header>button{flex:none}.source-workspace-modal h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-workspace-body{gap:15px;min-height:0;padding:20px;display:grid;overflow-y:auto}.source-workspace-body>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;line-height:1.55}.source-workspace-body>div{gap:7px;display:grid}.source-workspace-selection-bar{justify-content:space-between;align-items:center;gap:10px;min-height:28px;display:flex!important}.source-workspace-selection-bar>strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.source-workspace-selection-bar>span{gap:4px;display:flex}.source-workspace-selection-bar button{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 6px}.source-workspace-selection-bar button:hover{background:#f0f2ff}.source-workspace-selection-bar button:disabled{opacity:.45;cursor:default}.source-workspace-list{max-height:min(350px,45dvh);padding:2px;overflow-y:auto}.source-workspace-body label{cursor:pointer;background:#fbfcfd;border:1px solid #e1e5eb;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:8px 11px;display:flex}.source-workspace-body label:has(input:checked){background:#f5f6ff;border-color:#bfc5ff}.source-workspace-body label:has(input:disabled){cursor:default}.source-workspace-body label input{accent-color:var(--accent)}.source-workspace-body label span,.source-workspace-body label strong,.source-workspace-body label small{display:block}.source-workspace-body label strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-workspace-body label small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.source-workspace-warning{border:1px solid var(--warning-border);color:var(--warning-text);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;line-height:1.45;display:flex}.source-workspace-warning svg{flex:none;margin-top:1px}.source-ownership-badge{max-width:100%;min-height:22px;color:var(--text-secondary);border:1px solid var(--line);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 6px;font-weight:650;display:inline-flex;overflow:hidden}.source-ownership-badge.account{color:var(--success-text);border-color:var(--success-border);background:var(--success-soft)}.source-ownership-badge.workspace{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 30%, var(--line));background:var(--accent-soft)}.source-ownership-modal{width:min(560px,100vw - 32px)}.source-ownership-modal form{flex-direction:column;flex:1;min-height:0;display:flex}.source-ownership-body{flex:1}.source-ownership-body fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.source-ownership-body legend{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-bottom:7px;font-weight:700}.source-ownership-body fieldset>label{min-width:0;min-height:72px;color:var(--text-muted);border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;border-radius:9px;grid-template-columns:auto 18px minmax(0,1fr);align-items:start;gap:8px;padding:10px;display:grid}.source-ownership-body fieldset>label.selected{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft)}.source-ownership-body fieldset input{accent-color:var(--accent);margin:3px 0 0}.source-ownership-body fieldset strong,.source-ownership-body fieldset small{display:block}.source-ownership-body fieldset strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.source-ownership-body fieldset small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px;line-height:1.4}.source-ownership-warning,.source-ownership-note{color:var(--warning-text);border:1px solid var(--warning-border);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:10px;line-height:1.4;display:flex}.source-ownership-warning.danger{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}.source-ownership-note{color:var(--text-secondary);border-color:var(--line);background:var(--surface-sunken)}.source-ownership-warning svg,.source-ownership-note svg{flex:none;margin-top:1px}.source-ownership-warning strong,.source-ownership-warning small{display:block}.source-ownership-warning small{color:inherit;opacity:.85;margin-top:2px}.sftp-job-modal{width:min(780px,100vw - 32px);max-height:min(900px,100dvh - 32px);color:var(--text-primary);background:var(--surface-raised);animation:modal-in var(--motion-slow) var(--ease-emphasized);border:1px solid #dce1e9;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 26px 80px #0d152152}.sftp-job-modal>header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:10px 20px;display:flex}.sftp-job-modal>header>div{align-items:center;gap:11px;min-width:0;display:flex}.sftp-job-modal>header>div>div{min-width:0}.sftp-job-modal h2{color:var(--text-primary);font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.sftp-job-body{overscroll-behavior:contain;gap:15px;min-height:0;padding:18px 20px;display:grid;overflow-y:auto}.sftp-job-modal>footer{border-top:1px solid var(--line);background:var(--surface-subtle);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 20px;display:flex}.sftp-job-modal>footer>div{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sftp-job-modal button:disabled{cursor:not-allowed;opacity:.5}.sftp-job-loading{min-height:330px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 24px;display:flex}.sftp-job-loading>strong{color:var(--text-primary);font-size:var(--app-min-readable-text)}.sftp-job-loading>small{max-width:410px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));line-height:1.5}.sftp-job-loading>button{margin-top:7px}.sftp-safety-note{border:1px solid var(--success-border);color:var(--success-text);background:var(--success-soft);border-radius:9px;grid-template-columns:20px minmax(0,1fr);gap:9px;padding:11px 12px;display:grid}.sftp-safety-note>svg{margin-top:1px}.sftp-safety-note strong,.sftp-safety-note small{display:block}.sftp-safety-note strong{color:var(--success-text);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.sftp-safety-note small{color:var(--success-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-top:3px;line-height:1.5}.sftp-job-status{background:var(--surface-subtle);border:1px solid #e0e4ea;border-radius:9px;grid-template-columns:minmax(150px,.7fr) minmax(280px,1.3fr);align-items:center;gap:12px;padding:11px 12px;display:grid}.sftp-job-status>div:first-child{justify-items:start;gap:5px;display:grid}.sftp-job-status>div:first-child>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.sftp-job-status-badge{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:10px;align-items:center;gap:5px;padding:4px 7px;font-weight:700;display:inline-flex}.sftp-job-status-badge.ready{color:var(--success-text);background:var(--success-soft)}.sftp-job-status-badge.running{color:var(--accent-text);background:#eff1ff}.sftp-job-status-badge.failed{color:var(--danger-text);background:var(--danger-soft)}.sftp-job-status-badge.warning{color:var(--warning-text);background:var(--warning-soft)}.sftp-job-status-badge.paused{color:var(--text-muted);background:#eef1f4}.sftp-job-status dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.sftp-job-status dl>div{min-width:0}.sftp-job-status dt{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.03em;font-weight:700}.sftp-job-status dd{overflow-wrap:anywhere;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:3px 0 0}.sftp-job-status>p{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:7px;grid-column:1/-1;align-items:flex-start;gap:7px;margin:0;padding:8px 9px;line-height:1.45;display:flex}.sftp-job-status>p svg{flex:none;margin-top:1px}.sftp-job-status>p strong{font-size:inherit;text-transform:lowercase;margin-right:6px}.sftp-job-status>p.warning{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-soft)}#sftp-job-form{gap:13px;display:grid}#sftp-job-form fieldset{border:1px solid #e0e4ea;border-radius:9px;min-width:0;margin:0;padding:12px}#sftp-job-form legend{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));padding:0 6px;font-weight:700}.sftp-form-grid{gap:11px;display:grid}.sftp-form-grid.connection-grid{grid-template-columns:minmax(0,1.4fr) 90px minmax(0,1fr)}.sftp-form-grid .wide{grid-column:1/-1}#sftp-job-form label{min-width:0;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}#sftp-job-form label>span:first-child{margin-bottom:5px;font-weight:650;display:block}#sftp-job-form label>span em{color:var(--text-muted);font-size:inherit;font-style:normal;font-weight:400}#sftp-job-form label>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:5px;line-height:1.4;display:block}#sftp-job-form input:not([type=radio]):not([type=checkbox]),#sftp-job-form select,#sftp-job-form textarea{width:100%;min-width:0;color:var(--text-primary);background:var(--surface-overlay);font:var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;border:1px solid #d9dee6;border-radius:7px;outline:0}#sftp-job-form input:not([type=radio]):not([type=checkbox]),#sftp-job-form select{height:36px;padding:0 9px}#sftp-job-form textarea{resize:vertical;min-height:112px;padding:8px 9px;font-family:ui-monospace,Cascadia Mono,monospace;line-height:1.4}#sftp-job-form input:focus-visible,#sftp-job-form select:focus-visible,#sftp-job-form textarea:focus-visible{border-color:#7f8af1;box-shadow:0 0 0 3px #6976f71c}#sftp-job-form input:disabled,#sftp-job-form select:disabled,#sftp-job-form textarea:disabled{color:var(--text-muted);background:#f2f4f6}.sftp-auth-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.sftp-auth-choice>label{border:1px solid var(--control-border);background:var(--surface-subtle);cursor:pointer;border-radius:8px;grid-template-columns:16px 18px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:9px 10px;display:grid}.sftp-auth-choice>label:has(input:checked){color:var(--accent-text);background:#f4f5ff;border-color:#bfc5fb}.sftp-auth-choice input{accent-color:var(--accent)}.sftp-auth-choice strong,.sftp-auth-choice small{display:block}.sftp-auth-choice strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.sftp-auth-choice small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.sftp-secret-field,.sftp-fingerprint-field{margin-top:11px;display:block}.sftp-key-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);align-items:start;gap:11px;margin-top:11px;display:grid}.sftp-schedule-row{grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr);align-items:center;gap:12px;display:grid}.sftp-enabled-toggle{border:1px solid var(--control-border);background:var(--surface-subtle);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:52px;padding:8px 10px;display:grid}.sftp-enabled-toggle input{accent-color:var(--accent)}.sftp-enabled-toggle span,.sftp-enabled-toggle strong,.sftp-enabled-toggle small{display:block}.sftp-enabled-toggle span{margin:0!important}.sftp-enabled-toggle strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.sftp-enabled-toggle small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px;line-height:1.35}.sftp-job-feedback{border:1px solid var(--success-border);color:var(--success-text);background:var(--success-soft);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;align-items:flex-start;gap:7px;padding:9px 10px;line-height:1.45;display:flex}.sftp-job-feedback.error{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}.sftp-job-feedback svg{flex:none;margin-top:1px}.sftp-inline-confirm{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-soft);border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid}.sftp-inline-confirm>span,.sftp-inline-confirm strong,.sftp-inline-confirm small{display:block}.sftp-inline-confirm strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.sftp-inline-confirm small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.danger-text-button{min-height:32px;color:var(--danger-text);font:600 var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 5px;display:inline-flex}.danger-text-button:hover{background:var(--danger-soft)}.delete-source-body{gap:18px;padding:20px;display:grid}.delete-source-warning{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-soft);border-radius:9px;grid-template-columns:22px minmax(0,1fr);gap:9px;padding:12px;display:grid}.delete-source-warning>svg{margin-top:1px}.delete-source-warning strong,.delete-source-warning small{display:block}.delete-source-warning strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.delete-source-warning small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-top:4px;line-height:1.5}.delete-source-body label>span{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-bottom:7px;display:block}.delete-source-body label input{width:100%;height:38px;color:var(--text-primary);background:var(--surface-overlay);font:var(--app-min-readable-text) ui-monospace, monospace;border:1px solid #d9dee6;border-radius:7px;outline:0;padding:0 11px}.delete-source-body label input:focus{border-color:var(--danger);box-shadow:0 0 0 3px #d567781f}.delete-source-error{color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:-4px 0 0}.modal-tabs{border-bottom:1px solid var(--line);gap:5px;height:47px;padding:0 20px;display:flex}.modal-tabs button{height:47px;color:var(--text-muted);cursor:pointer;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));background:0 0;border:0;align-items:center;gap:7px;padding:0 13px;display:flex;position:relative}.modal-tabs button.active{color:var(--accent);font-weight:600}.modal-tabs button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.modal-body{min-height:330px;padding:20px}.form-label{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.5px;margin:0 0 9px;font-weight:600}.connector-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.connector-grid button{border:1px solid var(--control-border);background:var(--surface-raised);cursor:pointer;height:80px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:9px;place-content:center;justify-items:center;gap:6px;display:grid;position:relative}.connector-grid button.selected{background:#fbfbff;border-color:#7b87f8;box-shadow:0 0 0 2px #eceeff}.connector-grid button i{color:#fff;width:29px;height:29px;font-style:normal;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;place-items:center;font-weight:700;display:grid}.connector-grid button>svg{color:var(--accent);position:absolute;top:6px;right:6px}.catalog-picker{gap:12px;display:grid}.catalog-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.catalog-summary strong,.catalog-summary small{display:block}.catalog-summary strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.catalog-summary small{color:var(--muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px}.catalog-summary>span{color:var(--accent-text);background:var(--accent-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));white-space:nowrap;border-radius:999px;padding:5px 8px;font-weight:700}.catalog-warning{border:1px solid var(--warning-border);color:var(--warning-text);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:7px;padding:8px 10px;line-height:1.45}.catalog-columns{border:1px solid var(--control-border);background:var(--surface-raised);border-radius:9px;grid-template-columns:190px 1fr;height:315px;display:grid;overflow:hidden}.catalog-columns h3{height:38px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #e8ebef;align-items:center;margin:0;padding:0 11px;display:flex}.catalog-schemas{border-right:1px solid #e8ebef;overflow-y:auto}.catalog-schemas label,.catalog-tables div>label{cursor:pointer;border-bottom:1px solid #f0f2f5;align-items:center;gap:8px;min-height:42px;padding:7px 10px;display:flex}.catalog-schemas label:hover,.catalog-tables div>label:hover{background:#f8f9ff}.catalog-schemas input,.catalog-tables input{accent-color:var(--accent)}.catalog-schemas strong,.catalog-schemas small,.catalog-tables strong,.catalog-tables small{display:block}.catalog-schemas strong,.catalog-tables strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-overflow:ellipsis;overflow:hidden}.catalog-schemas small,.catalog-tables small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.catalog-tables{flex-direction:column;min-width:0;display:flex}.catalog-search{height:38px;color:var(--text-muted);border-bottom:1px solid #e8ebef;align-items:center;gap:6px;padding:0 10px;display:flex}.catalog-search input{width:100%;min-width:0;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border:0;outline:0}.catalog-tables>div{flex:1;min-height:0;overflow-y:auto}.catalog-tables input:disabled{opacity:.65}.catalog-empty{color:var(--muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-align:center;padding:25px 12px}.catalog-manual{border:1px solid var(--control-border);background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(150px,1fr) 110px 140px auto;align-items:center;gap:7px;padding:9px 10px;display:grid}.catalog-manual strong,.catalog-manual small{display:block}.catalog-manual strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.catalog-manual small{color:var(--muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.catalog-manual input{border:1px solid var(--control-border);min-width:0;height:30px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:6px;outline:0;padding:0 8px}.catalog-manual input:focus{border-color:#8791ee;box-shadow:0 0 0 2px #eff0ff}.catalog-manual button{height:30px;color:var(--accent-text);background:var(--surface-raised);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;border:1px solid #cfd5df;border-radius:6px;padding:0 10px;font-weight:700}.catalog-manual button:disabled{opacity:.45;cursor:not-allowed}.catalog-manual-schema{grid-template-columns:minmax(180px,1fr) 250px auto}.catalog-selection-list{flex-wrap:wrap;gap:5px;display:flex}.catalog-selection-list>span{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));background:#f7f8ff;border:1px solid #dfe3fb;border-radius:999px;align-items:center;gap:4px;padding:4px 5px 4px 8px;display:inline-flex}.catalog-selection-list button{width:17px;height:17px;color:var(--accent-text);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.catalog-selection-list button:hover{background:#e8eaff}.field-label{margin-top:17px;display:block}.field-label>span{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-bottom:5px;font-weight:600;display:block}.field-label input,.field-label select{border:1px solid var(--control-border);width:100%;height:37px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));background:var(--surface-overlay);border-radius:7px;padding:0 10px}.field-label input:focus{border-color:#8591f8}.security-note{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:6px;margin:9px 0 0;display:flex}.security-note svg{color:#1c9b89}.connection-options{grid-template-columns:1.4fr 1fr;gap:9px;display:grid}.connection-options .field-label{margin-top:11px}.connection-options select{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;height:37px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;padding:0 8px}.upload-zone{background:var(--surface-subtle);cursor:pointer;border:1.5px dashed #cfd5df;border-radius:11px;place-content:center;justify-items:center;gap:7px;width:100%;height:220px;display:grid}.upload-zone:hover,.upload-zone.has-file{background:#f8f8ff;border-color:#8894fa}.upload-icon{width:52px;height:52px;color:var(--accent-text);background:#ebedff;border-radius:13px;place-items:center;display:grid}.upload-zone strong{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.upload-zone small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.connect-done-summary{gap:10px;display:grid}.connect-done-summary>div{border:1px solid var(--line);background:var(--surface-sunken);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.connect-done-summary>div>svg{color:var(--success-text);flex-shrink:0}.connect-done-summary strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));display:block}.connect-done-summary small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px;display:block}.connect-done-summary dl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 14px;margin:0;display:grid}.connect-done-summary dt{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.4px;font-weight:700}.connect-done-summary dd{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:2px 0 0}.connect-owner-picker{border:1px solid var(--line);background:var(--surface-sunken);border-radius:10px;margin:16px 0 0;padding:12px}.connect-owner-picker legend{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));padding:0 4px;font-weight:700}.connect-owner-picker>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0 0 9px;line-height:1.4}.connect-owner-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.connect-owner-picker>div>label{min-width:0;min-height:57px;color:var(--text-muted);border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;border-radius:8px;grid-template-columns:auto 16px minmax(0,1fr);align-items:start;gap:7px;padding:8px;display:grid}.connect-owner-picker>div>label.selected{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft)}.connect-owner-picker input{accent-color:var(--accent);margin:2px 0 0}.connect-owner-picker strong,.connect-owner-picker small{display:block}.connect-owner-picker strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.connect-owner-picker small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.connect-owner-workspace{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));gap:5px;margin-top:9px;font-weight:700;display:grid}.connect-owner-workspace select{width:100%;height:36px;color:var(--text-primary);border:1px solid var(--control-border);background:var(--surface-raised);border-radius:7px;padding:0 8px}.connection-result{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;align-items:center;gap:7px;margin-top:13px;padding:9px 11px;display:flex}.connection-result.success{background:var(--success-soft);color:var(--success-text)}.connection-result.error{background:var(--danger-soft);color:var(--danger-text)}.connect-modal>footer,.formula-modal>footer,.schema-field-modal>footer,.schema-table-modal>footer,.filter-modal>footer,.report-modal>footer,.delete-source-modal>footer,.replace-source-modal>footer,.source-workspace-modal>footer{border-top:1px solid var(--line);background:var(--surface-subtle);justify-content:flex-end;align-items:center;gap:7px;min-height:59px;padding:0 20px;display:flex}.connect-modal>footer .text-button{margin-right:auto}.derived-query-modal{background:var(--surface-raised);border:1px solid #dce1e9;border-radius:14px;flex-direction:column;width:min(1040px,100vw - 32px);max-height:min(900px,100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 26px 80px #0d152152}.derived-query-modal>header{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) 34px;align-items:center;gap:11px;min-height:78px;padding:12px 20px;display:grid}.derived-query-modal>header .modal-title-icon{width:38px;height:38px;color:var(--accent-text);background:#f2ecf9;border-radius:9px;place-items:center;display:grid}.derived-query-modal>header h2{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.derived-query-modal>header p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:4px;margin:4px 0 0;display:flex}.derived-query-boundary{border:1px solid var(--warning-border);color:var(--warning-text);background:var(--warning-soft);border-radius:8px;align-items:flex-start;gap:9px;margin:14px 18px 0;padding:11px 12px;display:flex}.derived-query-boundary span,.derived-query-boundary strong,.derived-query-boundary small{display:block}.derived-query-boundary strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.derived-query-boundary small{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:3px;line-height:1.5}.derived-query-form{grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:13px;padding:14px 18px;display:grid}.derived-query-form label>span,.derived-query-form label>small{display:block}.derived-query-form label>span{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-bottom:5px;font-weight:650}.derived-query-form label>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:5px;line-height:1.4}.derived-query-form .derived-query-sql-help{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.derived-query-form .derived-query-sql-help b{color:var(--text-muted);white-space:nowrap;font-weight:600}.derived-query-form input,.derived-query-form textarea{width:100%;color:var(--text-primary);background:var(--surface-overlay);border:1px solid #d9dee7;border-radius:7px;outline:0}.derived-query-form input{height:36px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));padding:0 10px}.derived-query-form textarea{resize:vertical;min-height:134px;font:var(--app-min-readable-text)/1.55 ui-monospace, "SFMono-Regular", Consolas, monospace;tab-size:2;padding:10px 11px}.derived-query-form input:focus,.derived-query-form textarea:focus{border-color:#818ced;box-shadow:0 0 0 3px #6572ec1f}.derived-query-message{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;align-items:flex-start;gap:7px;margin:0 18px 12px;padding:9px 11px;line-height:1.45;display:flex}.derived-query-message.error{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-soft)}.derived-query-preview{border:1px solid #dde2e9;border-radius:9px;flex-direction:column;min-height:160px;margin:0 18px 14px;display:flex;overflow:hidden}.derived-query-preview>div:first-child{border-bottom:1px solid var(--line);background:#f9fafb;justify-content:space-between;align-items:center;gap:10px;min-height:47px;padding:8px 11px;display:flex}.derived-query-preview>div:first-child>span{color:var(--success-text);grid-template-columns:18px 1fr;align-items:center;display:grid}.derived-query-preview>div:first-child strong,.derived-query-preview>div:first-child small{display:block}.derived-query-preview>div:first-child strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.derived-query-preview>div:first-child small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:400}.derived-query-preview>div:first-child em{color:#75579a;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#f2ecf8;border-radius:9px;padding:4px 7px;font-style:normal;font-weight:650}.derived-query-warning{border-bottom:1px solid var(--warning-border);color:var(--warning-text);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0;padding:7px 11px}.derived-query-preview-grid{outline:0;min-height:100px;max-height:285px;overflow:auto}.derived-query-preview-grid:focus-visible{box-shadow:inset 0 0 0 2px #7884ea}.derived-query-preview-grid table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.derived-query-preview-grid th,.derived-query-preview-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;min-width:130px;max-width:320px;padding:8px 10px}.derived-query-preview-grid th:first-child{width:38px;min-width:38px;color:var(--text-muted);text-align:right;background:#f7f8fa;position:sticky;left:0}.derived-query-preview-grid thead th{z-index:2;background:#f4f6f9;position:sticky;top:0}.derived-query-preview-grid thead th:first-child{z-index:3}.derived-query-preview-grid th strong,.derived-query-preview-grid th small{display:block}.derived-query-preview-grid th small{color:var(--text-muted);font:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1))) ui-monospace, "SFMono-Regular", Consolas, monospace;margin-top:2px}.derived-query-modal>footer{border-top:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;min-height:62px;margin-top:auto;padding:10px 18px;display:grid}.derived-query-modal button:disabled{cursor:not-allowed;opacity:.5}.filter-modal{width:min(820px,100vw - 32px)}.filter-modal-body{min-height:330px;padding:19px 20px 22px}.filter-modal-body>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0 0 15px}.filter-builder-row{background:var(--surface-sunken);border:1px solid #e1e5eb;border-radius:9px;grid-template-columns:1.25fr 1fr 1fr 1fr auto;align-items:end;gap:8px;padding:12px;display:grid}.filter-builder-row label>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0 0 5px;font-weight:600;display:block}.filter-builder-row .filter-row-hint{color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));grid-column:1/-1;margin:-2px 0 0}.filter-builder-row select,.filter-builder-row input{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;height:34px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:6px;padding:0 8px}.filter-builder-row .add-filter-button{grid-column:-2/-1;height:34px}.active-filter-list{border:1px solid #e2e6ec;border-radius:9px;margin-top:16px;overflow:hidden}.active-filter-list>div:first-child{height:37px;color:var(--text-secondary);background:#f6f7f9;justify-content:space-between;align-items:center;padding:0 11px;display:flex}.active-filter-list>div:first-child strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.active-filter-list>div:first-child small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.empty-filters{min-height:90px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));place-content:center;justify-items:center;gap:7px;margin:0;display:grid}.active-filter{border-top:1px solid #edf0f3;grid-template-columns:26px 1fr 28px;align-items:center;gap:8px;min-height:48px;padding:7px 10px;display:grid}.active-filter>span:first-child{width:25px;height:25px;color:var(--accent-text);background:var(--accent-soft);border-radius:6px;place-items:center;display:grid}.active-filter>span:first-child.measure{color:#168f7f;background:#e9f8f4}.active-filter strong,.active-filter small{display:block}.active-filter strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.active-filter small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:2px}.active-filter>button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.active-filter>button:hover{color:var(--danger-text);background:var(--danger-soft)}.report-modal{width:min(520px,100vw - 32px)}.report-modal-body{min-height:235px;padding:4px 20px 20px}.report-modal-body textarea{resize:vertical;border:1px solid var(--control-border);width:100%;height:85px;color:var(--text-primary);font:var(--app-min-readable-text)/1.5 "Segoe UI", system-ui, sans-serif;border-radius:7px;padding:9px 10px}.report-modal-body .field-label em{float:right;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:400}.visual-wizard-modal{border:1px solid var(--line);width:min(980px,100vw - 32px);max-height:min(900px,100dvh - 32px);color:var(--text-primary);background:var(--surface-raised);border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 26px 80px #0d152157}.visual-wizard-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:10px 20px;display:flex}.visual-wizard-modal>header>div{align-items:center;gap:11px;min-width:0;display:flex}.visual-wizard-modal h2{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.visual-wizard-icon{color:var(--accent-text);background:#efedff}.visual-wizard-intro{border-bottom:1px solid var(--line);color:var(--text-muted);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;padding:13px 20px;line-height:1.5}.visual-wizard-body{grid-template-rows:auto minmax(250px,1fr);grid-template-columns:minmax(260px,.82fr) minmax(340px,1.18fr);gap:14px;min-height:0;padding:16px 20px 19px;display:grid;overflow:auto}.visual-wizard-body>section{border:1px solid var(--line);background:var(--surface-overlay);border-radius:11px;min-width:0;padding:14px}.visual-wizard-data{grid-row:1/span 2}.visual-wizard-preview{flex-direction:column;display:flex}.visual-wizard-section-head{grid-template-columns:25px minmax(0,1fr);align-items:start;gap:8px;margin-bottom:12px;display:grid}.visual-wizard-section-head>span{color:#fff;width:24px;height:24px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));background:#6673e7;border-radius:999px;place-items:center;font-weight:750;display:grid}.visual-wizard-section-head h3{color:var(--text-primary);font-size:var(--app-min-readable-text);margin:0}.visual-wizard-section-head p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:2px 0 0;line-height:1.35}.visual-wizard-picker{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));gap:5px;font-weight:650;display:grid}.visual-wizard-picker select{width:100%;min-height:calc(36px * var(--app-text-scale,1));border:1px solid var(--control-border);color:var(--text-primary);background:var(--surface-raised);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;padding:0 9px}.visual-wizard-picker>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));font-weight:400;line-height:1.4}.visual-wizard-dropzone{min-height:74px;color:var(--accent-text);text-align:left;transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;background:#f7f8ff;border:1px dashed #aab3d7;border-radius:9px;justify-content:center;align-items:center;gap:9px;margin-top:10px;padding:12px;display:flex}.visual-wizard-dropzone.is-dragging{background:var(--accent-soft);border-color:#6471e6;transform:scale(1.01);box-shadow:inset 0 0 0 2px #6471e621}.visual-wizard-dropzone>svg{flex:none}.visual-wizard-dropzone span,.visual-wizard-dropzone strong,.visual-wizard-dropzone small{display:block}.visual-wizard-dropzone strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.visual-wizard-dropzone small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.visual-wizard-field-browser{margin-top:10px}.visual-wizard-field-browser>label{border:1px solid var(--control-border);min-height:32px;color:var(--text-muted);background:var(--surface-raised);border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.visual-wizard-field-browser>label input{width:100%;min-width:0;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:0 0;border:0;outline:0}.visual-wizard-available-fields{border:1px solid var(--line);background:var(--surface-raised);border-radius:7px;max-height:160px;margin-top:6px;overflow:auto}.visual-wizard-available-fields>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:38px;color:var(--text-muted);text-align:left;cursor:grab;background:0 0;grid-template-columns:14px minmax(0,1fr) 16px;align-items:center;gap:6px;padding:5px 7px;display:grid}.visual-wizard-available-fields>button:last-of-type{border-bottom:0}.visual-wizard-available-fields>button:hover:not(:disabled),.visual-wizard-available-fields>button:focus-visible{color:var(--accent-text);background:var(--surface-hover)}.visual-wizard-available-fields>button:disabled{cursor:default;opacity:.58}.visual-wizard-available-fields>button>span{min-width:0}.visual-wizard-available-fields strong,.visual-wizard-available-fields small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.visual-wizard-available-fields strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.visual-wizard-available-fields small,.visual-wizard-field-browser>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.visual-wizard-available-fields>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-align:center;margin:0;padding:12px}.visual-wizard-field-browser>small{margin-top:5px;line-height:1.4;display:block}.visual-wizard-fields{gap:6px;margin-top:10px;display:grid}.visual-wizard-fields>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:4px 0}.visual-wizard-field{border:1px solid var(--line);background:var(--surface-raised);border-radius:7px;align-items:center;gap:7px;min-width:0;min-height:38px;padding:5px 5px 5px 9px;display:flex}.visual-wizard-field>span{flex:1;min-width:0}.visual-wizard-field strong,.visual-wizard-field small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.visual-wizard-field strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.visual-wizard-field small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));text-transform:capitalize;margin-top:1px}.visual-wizard-field.measure{border-left:3px solid #6d79ed}.visual-wizard-field.time{border-left:3px solid #d99a3d}.visual-wizard-field>button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;display:grid}.visual-wizard-field>button:hover{color:var(--danger-text);background:var(--danger-soft)}.visual-wizard-recommendations fieldset{border:0;min-width:0;margin:0;padding:0}.visual-recommendation-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.visual-recommendation-card{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;min-width:0;min-height:75px;transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:8px;grid-template-rows:auto 1fr;grid-template-columns:29px minmax(0,1fr) auto;column-gap:8px;padding:9px;display:grid}.visual-recommendation-card:hover{border-color:#a8aff1;transform:translateY(-1px)}.visual-recommendation-card.selected{background:#f5f6ff;border-color:#6f7aea;box-shadow:inset 0 0 0 1px #6f7aea33}.visual-recommendation-card>input{opacity:0;width:1px;height:1px;position:absolute}.visual-recommendation-card:has(input:focus-visible){outline-offset:2px;outline:2px solid #5360d5}.visual-recommendation-icon{width:29px;height:29px;color:var(--accent-text);background:#eceeff;border-radius:7px;grid-row:1/span 2;place-items:center;display:grid}.visual-recommendation-card>span:nth-of-type(2){min-width:0}.visual-recommendation-card strong,.visual-recommendation-card small{display:block}.visual-recommendation-card strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.visual-recommendation-card small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px;line-height:1.35}.visual-recommendation-card em{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));white-space:nowrap;background:#eceeff;border-radius:999px;align-self:start;padding:2px 5px;font-style:normal;font-weight:700}.visual-wizard-empty{border:1px dashed var(--control-border);min-height:88px;color:var(--text-muted);text-align:center;border-radius:8px;place-items:center;gap:4px;padding:13px;display:grid}.visual-wizard-empty strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.visual-wizard-empty span{font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.visual-wizard-preview-stage{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;flex:1;min-height:215px;overflow:hidden}.visual-wizard-preview-empty{width:100%;height:100%;min-height:213px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:20px;display:flex}.visual-wizard-preview-empty strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.visual-wizard-preview-empty span{max-width:360px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));line-height:1.45}.visual-wizard-modal>footer{border-top:1px solid var(--line);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:15px;min-height:62px;padding:9px 20px;display:flex}.visual-wizard-modal>footer>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.visual-wizard-modal>footer>div{align-items:center;gap:7px;display:flex}.visual-wizard-modal{transform-origin:50%;animation:modal-in var(--motion-slow) var(--ease-emphasized)}@media (width<=760px){.visual-wizard-body{grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.visual-wizard-data{grid-row:auto}.visual-recommendation-list{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.visual-wizard-backdrop{place-items:end center;padding:6px}.visual-wizard-modal{border-radius:13px;width:100%;max-height:calc(100dvh - 12px)}.visual-wizard-modal>header{min-height:62px;padding:8px 13px}.visual-wizard-modal>header .modal-icon{display:none}.visual-wizard-modal h2{font-size:calc(15px * var(--app-text-scale,1))}.visual-wizard-intro{padding:10px 13px}.visual-wizard-body{gap:10px;padding:11px 12px 14px}.visual-wizard-body>section{padding:11px}.visual-wizard-modal>footer{padding:9px 12px calc(9px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:7px}.visual-wizard-modal>footer>span{text-align:center}.visual-wizard-modal>footer>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.visual-wizard-modal>footer button{justify-content:center;width:100%}.visual-wizard-preview-stage{min-height:190px}.visual-wizard-preview-empty{min-height:188px}}:root[data-app-theme=dark] .visual-wizard-icon,:root[data-app-theme=dark] .visual-recommendation-icon,:root[data-app-theme=dark] .visual-recommendation-card em{color:var(--accent-text);background:var(--accent-soft)}:root[data-app-theme=dark] .visual-wizard-dropzone{color:var(--accent-text);border-color:var(--control-border-strong);background:var(--surface-sunken)}:root[data-app-theme=dark] .visual-wizard-dropzone.is-dragging{border-color:var(--focus-ring);background:var(--accent-soft)}:root[data-app-theme=dark] .visual-recommendation-card.selected{border-color:var(--focus-ring);background:color-mix(in srgb, var(--accent-soft) 62%, var(--surface-raised))}:root[data-app-theme=dark] .builder-panel-switches{border-color:var(--control-border);background:var(--surface-sunken)}:root[data-app-theme=dark] .builder-panel-switches button{color:var(--text-muted)}:root[data-app-theme=dark] .builder-panel-switches button.active{color:var(--accent-text);background:var(--surface-overlay);box-shadow:var(--shadow-subtle)}.report-lens-select{margin-bottom:0;display:block;position:relative}.report-lens-select>svg{color:var(--accent-text);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.report-lens-select select{color:var(--text-secondary);cursor:pointer;padding-left:32px;font-weight:600}.align-picker{gap:6px;display:flex}.align-picker button{border:1px solid var(--control-border);background:var(--surface-overlay);color:var(--text-secondary);cursor:pointer;border-radius:7px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;transition:border-color .12s,background .12s,color .12s;display:flex}.align-picker button:hover{color:var(--text-secondary);border-color:#b9c0f5}.align-picker button.active{color:var(--accent-text);background:#f6f5ff;border-color:#7682ff}.align-picker button small{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:600}.text-style-picker{gap:8px;display:flex}.text-style-picker button{border:1px solid var(--control-border);background:var(--surface-overlay);height:34px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));cursor:pointer;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;font-weight:600;transition:border-color .12s,background .12s,color .12s;display:flex}.text-style-picker button:hover{color:var(--text-secondary);border-color:#b9c0f5}.text-style-picker button.active{color:var(--accent-text);background:#f6f5ff;border-color:#7682ff}.field-hint{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin-top:6px;line-height:1.45;display:block}.format-toggle{cursor:pointer;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));color:var(--text-secondary);align-items:center;gap:8px;margin-top:15px;display:flex}.format-toggle input{cursor:pointer;width:15px;height:15px}.format-toggle span{font-weight:600}.format-toggle small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin-left:auto}.fixed-width-row{align-items:center;gap:14px;margin-top:9px;display:flex}.fixed-width-input{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));color:var(--text-secondary);align-items:center;gap:6px;display:flex}.fixed-width-input span{font-weight:600}.fixed-width-input input{border:1px solid var(--control-border);width:70px;height:30px;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));border-radius:6px;padding:0 8px}.fixed-width-input em{color:var(--text-muted);font-style:normal;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.table-cell-fixed{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-cell-fixed.wrap{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.table-header-fixed{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;display:inline-block;overflow:hidden}.report-create-note{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#f4f5ff;border-radius:7px;margin:13px 0 0;padding:9px 10px;line-height:1.5}.model-studio,.report-studio{background:var(--canvas-subtle);flex-direction:column;height:100%;display:flex}.studio-toolbar{background:var(--surface-raised);border-bottom:1px solid var(--line);flex:none;grid-template-columns:minmax(150px,1fr) minmax(0,auto) auto;align-items:center;gap:12px;min-height:60px;padding:10px 14px;display:grid}.model-title{align-items:center;gap:9px;min-width:0;display:flex}.model-title strong{font:600 var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif}.model-title small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.model-title strong,.model-title small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-status{color:var(--success-text);background:var(--success-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:9px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.model-status i{background:var(--success);border-radius:50%;width:5px;height:5px}.model-status.attention{color:var(--warning-text);background:var(--warning-soft)}.model-status.attention i{background:var(--warning)}.model-status.empty{color:var(--text-muted);background:#eef1f5}.model-status.empty i{background:#929aa7}.toolbar-center{gap:6px;min-width:0;display:flex}.toolbar-center label{border:1px solid var(--control-border);width:clamp(140px,15vw,220px);height:31px;color:var(--text-muted);border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.toolbar-center input{width:100%;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border:0;outline:0}.toolbar-center label.model-filter{background:var(--surface-overlay);width:clamp(96px,9vw,118px)}.model-filter select{width:100%;min-width:0;color:var(--text-secondary);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border:0;outline:0}.toolbar-center>button,.toolbar-actions>button{height:31px}.toolbar-center>button{border:1px solid var(--control-border);background:var(--surface-overlay);color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;align-items:center;gap:5px;display:flex}.toolbar-actions{justify-content:flex-end;gap:7px;min-width:0;display:flex}@media (width>=601px){.studio-toolbar .phone-only{display:none}}.lens-switcher{align-items:center;gap:5px;min-width:0;display:flex}.lens-select{height:31px;color:var(--accent-text);background:#f6f5ff;border:1px solid #ddd8f5;border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.lens-select select{min-width:88px;max-width:150px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));background:0 0;border:0;outline:0;font-weight:700}.lens-actions{align-items:center;gap:3px;display:flex}.lens-icon-button{background:var(--surface-raised);width:27px;height:27px;color:var(--text-secondary);border:1px solid #e2e5ea;border-radius:6px;place-items:center;transition:color .12s,border-color .12s,background .12s;display:grid}.lens-icon-button:hover:not(:disabled){color:var(--accent-text);background:#f6f5ff;border-color:#b9b2f0}.lens-icon-button:disabled{opacity:.4;cursor:not-allowed}.lens-icon-button.danger:hover:not(:disabled){border-color:var(--danger-border);color:var(--danger-text);background:var(--danger-soft)}.lens-switcher.lens-editing{color:var(--accent-text);gap:4px}.lens-switcher.lens-editing input{width:150px;height:31px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border:1px solid #b9b2f0;border-radius:7px;outline:0;padding:0 8px}.lens-error{color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.lens-modal-help{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:0 0 10px}.lens-dataset-list{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.lens-dataset-list li label{border:1px solid var(--line);cursor:pointer;font-size:var(--app-min-readable-text);border-radius:7px;align-items:center;gap:8px;padding:8px 10px;display:flex}.lens-dataset-name{color:var(--text-primary);flex:1;font-weight:600}.lens-dataset-list em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-transform:uppercase;font-style:normal}.lens-dataset-empty{color:var(--text-muted);font-size:var(--app-min-readable-text);padding:8px}.studio-body{flex:1;grid-template-columns:260px minmax(0,1fr) 300px;min-height:0;display:grid}.model-data-panel,.relationship-inspector,.field-palette,.visual-inspector{background:var(--surface-raised);z-index:2;min-height:0}.model-data-panel{border-right:1px solid var(--line);flex-direction:column;display:flex}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;height:auto;min-height:54px;padding:12px 14px;display:flex}.panel-title button{color:var(--text-muted);cursor:pointer;background:0 0;border:0}.model-label-hint{border-bottom:1px solid var(--line);color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));background:#fbfbff;margin:0;padding:8px 11px;line-height:1.45}.model-source-list{flex:1;min-height:0;overflow:auto}.model-source{border-bottom:1px solid var(--line)}.model-source-head{background:var(--surface-sunken);align-items:center;width:100%;min-height:38px;padding-right:6px;display:flex}.model-source-toggle{cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;height:auto;min-height:40px;padding:0 6px 0 11px;display:flex}.model-source-toggle>span{align-items:center;gap:6px;min-width:0;display:flex}.model-source-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));overflow:hidden}.model-source-head svg{color:var(--text-muted)}.model-source-toggle>svg{transition:transform .2s}.model-source-toggle>svg.collapsed{transform:rotate(-90deg)}.model-source-rename-input{min-width:0;height:27px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border:1px solid #b9b2f0;border-radius:6px;outline:0;flex:1;margin:0 5px;padding:0 8px}.schema-table{padding:6px 0}.schema-table>div:first-child{height:27px;color:var(--text-primary);align-items:center;gap:6px;padding:0 10px 0 15px;display:flex}.schema-table>div:first-child strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.schema-table>div:first-child small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-left:auto}.schema-table-settings{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.schema-table-settings:hover{background:var(--accent-soft);color:var(--accent-text)}.schema-field{cursor:pointer;width:100%;min-height:34px;color:var(--text-secondary);font:inherit;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:4px 11px 4px 29px;display:flex}.schema-field:hover{color:var(--accent-text);background:#f5f6ff}.schema-field.hidden-field{opacity:.56}.schema-field>span:nth-child(2):not(.schema-field-copy){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schema-field-copy{flex:1;gap:1px;min-width:0;display:grid}.schema-field-copy strong,.schema-field-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schema-field-copy strong{font:inherit;color:inherit}.schema-field-copy small{color:var(--text-muted);font:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1))) ui-monospace, monospace}.schema-field>svg,.schema-field>small,.schema-field>.schema-field-type{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-left:auto}.schema-field-type{flex:none;align-items:center;display:inline-flex}.schema-field.calculated-field{min-height:25px;color:var(--accent-text);cursor:pointer;padding-top:0;padding-bottom:0}.schema-field.calculated-field>svg{color:#8b68b3;margin:0}.schema-field.calculated-field:hover{color:#68458f;background:#faf6ff}.semantic-dot{background:#8f98aa;border-radius:2px;flex:none;width:6px;height:6px}.semantic-dot.measure{background:#6976f7;border-radius:50%}.semantic-dot.time{background:#e6a23c}.add-formula-button{border:1px solid var(--control-border);background:var(--surface-raised);text-align:left;cursor:pointer;height:auto;color:var(--accent-text);border-radius:8px;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;min-height:60px;margin:9px;padding:10px;display:grid}.add-formula-button strong,.add-formula-button small{display:block}.add-formula-button strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.add-formula-button small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.model-canvas{background:#f4f6f9;min-width:0;min-height:0;position:relative}.model-canvas .react-flow__controls{border:1px solid var(--control-border);border-radius:8px;margin:10px;bottom:8px;overflow:hidden;box-shadow:0 5px 15px #252c3a1a}.model-canvas .react-flow__controls button{border-bottom-color:var(--line);width:36px;height:36px}.canvas-hint{z-index:5;border:1px solid var(--control-border);background:var(--surface-overlay);height:29px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));white-space:nowrap;border-radius:15px;align-items:center;gap:6px;padding:0 9px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #232b3a12}.canvas-hint svg{color:var(--accent-text)}.model-source-alert{z-index:6;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));background:#eef1ff;border:1px solid #cdd6ff;border-radius:9px;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex;position:absolute;top:48px;left:12px;right:12px;box-shadow:0 8px 20px #3c467824}.model-source-alert>svg:first-child{color:var(--accent-text);flex:none}.model-source-alert>span{flex:1;min-width:0}.model-source-alert strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.model-source-alert .secondary-button{flex:none;height:28px}.model-source-alert-dismiss{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.model-source-alert-dismiss:hover{color:var(--accent-text);background:#dfe3ff}.canvas-save-error{z-index:6;border:1px solid var(--danger-border);background:var(--danger-soft);max-width:min(440px,100% - 28px);min-height:31px;color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:7px;align-items:center;gap:7px;padding:6px 7px 6px 9px;display:flex;position:absolute;top:47px;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #52232b14}.canvas-save-error span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-save-error button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px;display:grid}.canvas-legend{z-index:5;border:1px solid var(--control-border);background:var(--surface-overlay);min-height:32px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 10px;display:flex;position:absolute;bottom:9px;left:64px;right:12px}.canvas-legend span{align-items:center;gap:5px;display:flex}.canvas-legend span:last-child{margin-left:auto}.line-live,.line-draft{border-top:2px solid #7581f8;width:19px;display:inline-block}.line-draft{border-top-style:dashed}.table-node{background:var(--surface-raised);border:1px solid #cfd5df;border-radius:9px;width:260px;overflow:visible;box-shadow:0 8px 22px #2830411a}.table-node.selected{border-color:#7180f7;box-shadow:0 0 0 2px #e4e7ff,0 10px 24px #2d357021}.table-node header{border-bottom:1px solid var(--line);background:linear-gradient(var(--surface-raised), var(--surface-subtle));border-radius:9px 9px 0 0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;height:51px;padding:0 10px;display:grid}.table-node-icon{width:31px;height:31px;color:var(--accent-text);background:#eceeff;border-radius:7px;place-items:center;display:grid}.table-node header small,.table-node header strong{display:block}.table-node header small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));text-transform:uppercase}.table-node header strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.table-node header em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));font-style:normal}.table-node-title{min-width:0}.table-node-kicker{align-items:center;gap:4px;min-width:0;display:flex}.table-node-kicker small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-node-meta{text-align:right;min-width:35px}.source-kind-badge{box-sizing:border-box;height:15px;font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));letter-spacing:.02em;white-space:nowrap;border:1px solid;border-radius:4px;flex:none;align-items:center;gap:2px;padding:0 4px;font-style:normal;font-weight:800;line-height:1;display:inline-flex}.source-kind-badge b{font:inherit}.source-kind-database{color:var(--accent-text);background:#f0f2ff;border-color:#d9ddff}.source-kind-excel{color:#217346;background:#edf8f1;border-color:#cce5d7}.source-kind-csv{color:#087e78;background:#ebf8f7;border-color:#c4e7e3}.source-kind-text{color:var(--text-muted);background:#f3f5f7;border-color:#dce1e7}.source-kind-query{color:#704c98;background:#f7f2fb;border-color:#e2d5f0}.source-kind-unknown{color:var(--text-muted);background:#f6f7f8;border-color:#e0e3e8}.table-field{height:34px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-bottom:1px solid #f0f2f5;grid-template-columns:20px minmax(0,1fr) auto minmax(38px,auto);align-items:center;gap:5px;padding:0 9px;display:grid;position:relative}.table-field:hover{background:#f7f8ff}.table-field-name{text-overflow:ellipsis;white-space:nowrap;grid-column:2;min-width:0;overflow:hidden}.field-type{width:19px;height:19px;color:var(--text-muted);background:#f0f2f5;border-radius:5px;grid-column:1;place-items:center;display:grid}.field-type.type-number{color:var(--accent-text);background:var(--accent-soft)}.field-type.type-date{color:#c78a31;background:#fff5e4}.table-field small{color:var(--warning-text);background:var(--warning-soft);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));border-radius:3px;grid-column:3;padding:1px 3px}.table-field em{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));text-align:right;grid-column:4;font-style:normal;overflow:hidden}.table-node footer{height:28px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));align-items:center;gap:4px;padding:0 9px;display:flex}.table-node footer span{white-space:nowrap;text-overflow:ellipsis;max-width:150px;margin-right:auto;overflow:hidden}.healthy-dot,.unhealthy-dot{background:var(--success);border-radius:50%;width:5px;height:5px}.unhealthy-dot{background:var(--danger)}.table-node .react-flow__handle{background:var(--surface-raised);opacity:0;cursor:grab;border:2px solid #7b87f7;border-radius:50%;width:10px;height:10px;transition:opacity .15s,transform .12s,box-shadow .15s,background .15s,border-color .15s;box-shadow:0 1px 2px #2830412e}.table-node .react-flow__handle:before{content:"";border-radius:50%;position:absolute;inset:-9px}.table-field:hover .react-flow__handle{opacity:1;transform:scale(1.15)}.table-node .react-flow__handle:hover{opacity:1;cursor:grab;transform:scale(1.55);box-shadow:0 0 0 4px #7682ff2e,0 2px 5px #28304140}:is(.model-canvas .react-flow:has(.react-flow__connectionline),.model-canvas .react-flow:has(.react-flow__connectionline) *){cursor:grabbing!important}.table-node .react-flow__handle.connectingfrom{opacity:1;background:#7682ff;border-color:#7682ff;transform:scale(1.35)}.table-node .react-flow__handle.connectingto,.table-node .react-flow__handle.valid{opacity:1;transform:scale(1.55);box-shadow:0 0 0 5px #7682ff38}.table-node .react-flow__handle.valid{background:#34c58a;border-color:#34c58a;box-shadow:0 0 0 5px #34c58a3d}.table-node .react-flow__handle-left{left:-6px}.table-node .react-flow__handle-right{right:-6px}.model-canvas .react-flow__connectionline path,.model-canvas .react-flow__connection-path{stroke-linecap:round}@keyframes join-applied-glow{0%{stroke-width:2px;filter:drop-shadow(0 0 #7682ff00)}24%{stroke:#6573ff;stroke-width:3.6px;filter:drop-shadow(0 0 5px #6573fff2)}52%{stroke:#8c72ff;stroke-width:2.8px;filter:drop-shadow(0 0 3px #8c72ffa6)}to{stroke-width:2px;filter:drop-shadow(0 0 #7682ff00)}}@keyframes join-applied-label{0%,to{fill:var(--model-edge-label);filter:drop-shadow(0 0 #6573ff00)}28%{fill:var(--model-edge-label-active);filter:drop-shadow(0 0 3px #6573ff8c)}}@keyframes join-applied-label-bg{0%,to{fill:var(--model-edge-label-bg)}28%{fill:var(--model-edge-label-active-bg)}}.model-canvas .react-flow__edge.join-applied .react-flow__edge-path{animation:1.15s cubic-bezier(.2,.8,.25,1) join-applied-glow}.model-canvas .react-flow__edge.join-applied .react-flow__edge-text{animation:1.15s ease-out join-applied-label}.model-canvas .react-flow__edge.join-applied .react-flow__edge-textbg{animation:1.15s ease-out join-applied-label-bg}@media (prefers-reduced-motion:reduce){.model-canvas .react-flow__edge.join-applied .react-flow__edge-path{stroke-width:3px;filter:drop-shadow(0 0 3px #6573ff8c);animation:none}.model-canvas .react-flow__edge.join-applied .react-flow__edge-text{fill:var(--model-edge-label-active);animation:none}.model-canvas .react-flow__edge.join-applied .react-flow__edge-textbg{fill:var(--model-edge-label-active-bg);animation:none}}.relationship-inspector{border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex}.relationship-inspector .panel-title button{border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.inspector-scroll{flex:1;min-height:0;padding:0 13px 13px;overflow:auto}.relationship-pair{background:#f7f8fa;border-radius:7px;grid-template-columns:1fr 20px 1fr;align-items:center;gap:5px;margin-top:14px;padding:10px;display:grid}.relationship-pair>div{align-items:center;gap:6px;min-width:0;display:flex}.relationship-pair>svg{color:var(--text-muted)}.relationship-pair small,.relationship-pair strong{white-space:nowrap;text-overflow:ellipsis;max-width:75px;display:block;overflow:hidden}.relationship-pair small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.relationship-pair strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:1px}.table-letter{width:25px;height:25px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));background:#e9ebff;border-radius:6px;place-items:center;font-weight:700;display:grid}.table-letter.to{color:#178f80;background:#e3f6f2}.relationship-key-editor{margin-top:13px}.relationship-key-title{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));justify-content:space-between;align-items:center;font-weight:600;display:flex}.relationship-key-title small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));font-weight:500}.field-pair{grid-template-columns:1fr 15px 1fr;align-items:end;gap:4px;margin-top:7px;display:grid}.field-pair:has(.remove-key-pair){grid-template-columns:1fr 15px 1fr 25px}.field-pair label>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-bottom:4px;display:block}.field-pair select,.relationship-inspector .field-label input{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;height:31px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:6px;padding:0 6px}.remove-key-pair{border:1px solid var(--danger-border);width:25px;height:31px;color:var(--danger-text);background:var(--danger-soft);cursor:pointer;border-radius:6px;place-items:center;display:grid}.add-key-pair{height:28px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));cursor:pointer;background:#f8f8ff;border:1px dashed #bfc6ee;border-radius:6px;align-items:center;gap:5px;margin-top:7px;padding:0 8px;display:flex}.equals{height:31px;color:var(--text-muted);place-items:center;display:grid}.join-picker,.cardinality-picker{border:0;margin:15px 0 0;padding:0}.join-picker legend,.cardinality-picker legend{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:4px;font-weight:600;display:flex}.join-picker>div{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px;display:grid}.join-picker button{border:1px solid var(--control-border);background:var(--surface-raised);cursor:pointer;border-radius:6px;place-content:center;gap:1px;height:47px;display:grid;position:relative}.join-picker button.active{color:var(--accent-text);background:#f4f5ff;border-color:#7b87f5}.join-picker button i{font-style:normal;font-size:calc(14px * var(--app-text-scale,1));letter-spacing:-5px;transform:translate(-2px)}.join-picker button span{font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.join-picker button>svg{position:absolute;top:3px;right:3px}.join-picker>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin:6px 0 0;line-height:1.45}.cardinality-picker>div{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px;display:grid}.cardinality-picker button{border:1px solid var(--control-border);background:var(--surface-raised);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;height:42px;padding:5px;display:grid}.cardinality-picker button.active{color:var(--accent-text);background:#f4f5ff;border-color:#7b87f5}.cardinality-picker button>span{font-weight:700;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.cardinality-picker button i{border-top:1px solid}.cardinality-picker button small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));grid-column:1/-1}.active-toggle{border:1px solid #e1e5ea;border-radius:7px;justify-content:space-between;align-items:center;margin-top:14px;padding:10px;display:flex;position:relative}.active-toggle>span{align-items:center;gap:7px;display:flex}.active-toggle strong,.active-toggle small{display:block}.active-toggle strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.active-toggle small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.active-toggle input{opacity:0;position:absolute}.active-toggle>i{background:#ccd2dc;border-radius:10px;width:30px;height:17px;padding:2px}.active-toggle>i:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .2s;display:block}.active-toggle input:checked+i{background:#6976f7}.active-toggle input:checked+i:after{transform:translate(13px)}.join-explanation{color:var(--accent-text);background:#f2f3ff;border-radius:7px;margin-top:12px;padding:10px}.join-explanation strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.join-explanation p{font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin:4px 0 0;line-height:1.5}.join-warnings{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-text);border-radius:7px;margin-top:12px;padding:7px 9px}.join-warnings p{font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));align-items:flex-start;gap:6px;margin:0;line-height:1.45;display:flex}.join-warnings p+p{border-top:1px solid var(--warning-border);margin-top:6px;padding-top:6px}.join-warnings svg{flex:none;margin-top:1px}.relationship-inspector>footer{background:var(--surface-subtle);border-top:1px solid #e4e7ec;flex:0 0 57px;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.relationship-inspector button:disabled,.relationship-inspector input:disabled,.relationship-inspector select:disabled{cursor:not-allowed;opacity:.58}.inspector-mutation-error{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));border-radius:6px;align-items:flex-start;gap:6px;margin:0 12px 9px;padding:7px 8px;line-height:1.45;display:flex}.inspector-mutation-error svg{flex:none}.busy-spinner{animation:.8s linear infinite busy-spin}@keyframes busy-spin{to{transform:rotate(360deg)}}.inspector-invalid{text-align:center;border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger-text);border-radius:8px;margin:auto 16px;padding:18px 14px}.inspector-invalid h4{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:8px 0 0}.inspector-invalid p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:5px 0 0;line-height:1.5}.inspector-invalid .inspector-mutation-error{margin:12px 0 0}.empty-inspector{text-align:center}.empty-inspector .panel-title{text-align:left}.inspector-empty-graphic{color:var(--accent-text);justify-content:center;align-items:center;gap:8px;margin:48px auto 14px;display:flex}.table-skeleton{background:var(--surface-subtle);border:1px solid #dfe3ea;border-radius:6px;gap:4px;width:49px;padding:7px;display:grid}.table-skeleton i{background:#dfe3ea;border-radius:2px;height:3px}.empty-inspector h4{font:600 var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;margin:0}.empty-inspector>p{width:210px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:6px auto;line-height:1.5}.inspector-tip{text-align:left;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));background:#f3f4ff;border-radius:7px;gap:7px;margin:22px 13px;padding:10px;line-height:1.45;display:flex}.model-health{text-align:left;border:1px solid #e0e4ea;border-radius:8px;margin:auto 13px 13px;padding:12px}.model-health p,.model-health div{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));justify-content:space-between;margin:0;padding:5px 0;display:flex}.model-health p{border-bottom:1px solid var(--line);margin-bottom:4px;padding-top:0}.model-health p span{color:var(--text-secondary);align-items:center;gap:5px;font-weight:600;display:flex}.model-health p i{background:var(--success);border-radius:50%;width:6px;height:6px}.model-health p strong{color:var(--success-text)}.model-health.attention p i{background:var(--warning)}.model-health.attention p strong{color:var(--warning-text)}.model-health.empty p i{background:#929aa7}.model-health.empty p strong{color:var(--text-muted)}.schema-field-modal,.schema-table-modal{width:560px}.schema-field-body{gap:14px;padding:18px 20px 20px;display:grid}.physical-field{background:var(--surface-sunken);min-height:54px;color:var(--text-secondary);border:1px solid #e1e5eb;border-radius:8px;align-items:center;gap:9px;padding:10px 12px;display:flex}.physical-field>span{flex:1;min-width:0}.physical-field small,.physical-field strong{display:block}.physical-field small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.physical-field strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font:600 var(--app-min-readable-text) ui-monospace, monospace;margin-top:2px;overflow:hidden}.physical-field em{background:var(--accent-soft);color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));border-radius:5px;padding:4px 7px;font-style:normal}.field-label-help{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:5px;line-height:1.45;display:block}.schema-field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.schema-field-grid .field-label{margin:0}.schema-hidden-toggle{cursor:pointer;border:1px solid #e1e5eb;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.schema-hidden-toggle>span{color:var(--text-secondary);align-items:center;gap:9px;display:flex}.schema-hidden-toggle strong,.schema-hidden-toggle small{display:block}.schema-hidden-toggle strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.schema-hidden-toggle small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px}.schema-hidden-toggle input{accent-color:#6976f7}.schema-type-warning{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-text);border-radius:8px;align-items:flex-start;gap:9px;padding:11px 12px;display:flex}.schema-type-warning svg{flex:none;margin-top:1px}.schema-type-warning strong,.schema-type-warning small{display:block}.schema-type-warning strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.schema-type-warning small{font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px;line-height:1.45}.formula-modal{width:860px;max-height:min(840px,100vh - 32px)}.formula-layout{grid-template-columns:215px 1fr;min-height:415px;max-height:calc(100vh - 163px);display:grid;overflow:auto}.formula-layout>aside{background:var(--surface-sunken);border-right:1px solid #e4e7ec;padding:16px 12px}.formula-layout>aside>select{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;height:31px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:6px}.formula-fields{background:var(--surface-raised);border:1px solid #e0e4e9;border-radius:7px;margin-top:10px;overflow:hidden}.formula-fields button{background:var(--surface-raised);text-align:left;cursor:pointer;border:0;border-bottom:1px solid #edf0f3;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;width:100%;height:38px;padding:0 8px;display:grid}.formula-fields button:hover{background:#f6f7ff}.formula-fields button:disabled{cursor:default;opacity:.58;background:#f7f8fa}.formula-fields button>span:first-child{width:21px;height:21px;color:var(--accent-text);background:var(--accent-soft);border-radius:5px;place-items:center;display:grid}.formula-fields strong,.formula-fields small{display:block}.formula-fields strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.formula-fields small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.formula-fields button>svg{color:var(--text-muted)}.existing-fields{margin-top:17px}.existing-fields>button{color:#8b68b3;width:100%;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:5px 6px;display:flex}.existing-fields>button:hover,.existing-fields>button.active{color:#67468d;background:#eee8f8}.existing-fields>button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.existing-fields>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.formula-layout>main{padding:1px 19px 18px}.formula-metadata-grid{grid-template-columns:minmax(0,1.5fr) minmax(100px,.7fr) minmax(115px,.8fr);gap:9px;display:grid}.formula-metadata-grid .field-label{min-width:0}.formula-metadata-grid select{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;height:32px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:6px}.formula-metadata-grid .field-label span small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));font-weight:400}.formula-mode-tabs{background:#f6f7f9;border:1px solid #e1e5eb;border-radius:7px;gap:2px;width:fit-content;margin-top:14px;padding:3px;display:flex}.formula-mode-tabs button{height:28px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:0 10px;font-weight:600;display:flex}.formula-mode-tabs button.active{background:var(--surface-raised);color:var(--accent-text);box-shadow:0 1px 3px #232b4021}.formula-editor{margin-top:15px;display:block}.formula-editor>span{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));align-items:center;gap:5px;margin-bottom:5px;font-weight:600;display:flex}.formula-editor textarea{resize:none;border:1px solid var(--control-border);width:100%;height:108px;color:var(--text-primary);font:var(--app-min-readable-text)/1.6 ui-monospace, monospace;background:#fbfcfd;border-radius:7px;padding:11px}.formula-editor>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.formula-editor code{color:var(--accent-text);background:var(--accent-soft);padding:1px 3px}.formula-functions{align-items:center;gap:5px;margin-top:10px;display:flex}.formula-functions span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-right:4px}.formula-functions button{border:1px solid var(--control-border);background:var(--surface-overlay);color:var(--text-secondary);font:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1))) ui-monospace, monospace;cursor:pointer;border-radius:4px;padding:4px 6px}.conditional-formula{gap:8px;margin-top:10px;display:grid}.conditional-formula-help{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0;line-height:1.45}.conditional-formula-row{background:#fbfcfd;border:1px solid #e2e6ec;border-radius:8px;grid-template-columns:58px minmax(0,1fr) minmax(0,1fr) minmax(0,1.65fr);align-items:end;gap:8px;min-width:0;padding:10px;display:grid}.conditional-formula-row.output{grid-template-columns:58px minmax(0,1fr)}.conditional-step{background:var(--accent-soft);color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:5px;place-self:center start;padding:4px 7px;font-weight:700}.conditional-step.matched{background:var(--success-soft);color:var(--success-text)}.conditional-step.otherwise{color:var(--text-secondary);background:#f2f3f5}.conditional-formula label{min-width:0}.conditional-formula label>span,.conditional-expression-preview>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-bottom:4px;font-weight:600;display:block}.conditional-formula input,.conditional-formula select{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;min-width:0;height:31px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:6px;padding:0 7px}.formula-value-editor{grid-template-columns:minmax(105px,.7fr) minmax(0,1.3fr);align-items:end;gap:8px;min-width:0;display:grid}.formula-null-value{height:31px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#f7f8fa;border:1px dashed #d8dde5;border-radius:6px;align-items:center;padding:0 9px;display:flex}.conditional-expression-preview{background:#f7f8fc;border:1px solid #e2e5ec;border-radius:7px;min-width:0;padding:8px 10px}.conditional-expression-preview code{overflow-wrap:anywhere;color:var(--accent-text);font:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))/1.5 ui-monospace, monospace;display:block}.conditional-expression-preview small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px;display:block}.formula-valid{background:var(--success-soft);color:var(--success-text);border-radius:7px;align-items:flex-start;gap:7px;margin-top:12px;padding:9px 10px;display:flex}.formula-valid strong,.formula-valid small{display:block}.formula-valid strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.formula-valid small{font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));color:var(--success-text);margin-top:2px}.formula-valid code{word-break:break-all}.formula-dependency-note{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:7px;margin-top:10px;padding:8px 10px;line-height:1.45}.formula-sample{border:1px solid #e4e7ec;border-radius:7px;margin-top:12px;padding:10px}.formula-sample p{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));justify-content:space-between;margin:0 0 8px;display:flex}.formula-sample p small{color:var(--text-muted)}.formula-sample>div{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.formula-sample>div span{text-align:center;color:var(--accent-text);font:var(--app-min-readable-text) ui-monospace, monospace;background:#f1f2ff;border-radius:5px;padding:7px}.formula-modal>footer .formula-delete{margin-right:auto}.report-library{border-bottom:1px solid var(--line);background:#fbfbfd;flex:0 0 44px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:0 11px 0 18px;display:grid;position:relative}.report-library-label{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.report-library-label:hover{color:var(--accent-text)}.report-picker-modal{background:var(--surface-raised);border-radius:12px;flex-direction:column;width:min(640px,94vw);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #1e263747}.report-picker-modal>header{border-bottom:1px solid #eceff3;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.report-picker-modal>header>div:first-child{align-items:center;gap:11px;display:flex}.report-picker-head-actions{align-items:center;gap:8px;display:flex}.report-picker-body{flex:1;min-height:0;overflow:auto}.report-picker-table{border-collapse:collapse;width:100%}.report-picker-table thead th{z-index:1;text-align:left;background:#f6f8fa;border-bottom:1px solid #e6eaef;position:sticky;top:0}.report-picker-table thead th.numeric{text-align:right}.report-picker-table thead th button{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:9px 14px;font-weight:700;display:inline-flex}.report-picker-table thead th button:hover{color:var(--accent-text)}.report-picker-table tbody tr{cursor:pointer;border-bottom:1px solid #f0f2f5}.report-picker-table tbody tr:hover{background:#f7f8ff}.report-picker-table tbody tr.active{background:var(--accent-soft)}.report-picker-table tbody tr:focus-visible{outline-offset:-2px;outline:2px solid #7682ff}.report-picker-table td{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));color:var(--text-secondary);padding:10px 14px}.report-picker-table td.numeric{text-align:right}.report-picker-table td:first-child{align-items:center;gap:9px;display:flex}.report-picker-table td:first-child>svg{color:var(--accent-text);flex:none}.report-picker-name{flex-direction:column;min-width:0;display:flex}.report-picker-name strong{color:var(--text-primary);font-size:var(--app-min-readable-text)}.report-picker-name small{max-width:340px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-picker-current{background:var(--accent);color:var(--accent-contrast);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:auto;padding:2px 8px;font-style:normal;font-weight:700}.report-name-tabs{scrollbar-width:thin;align-items:center;gap:5px;min-width:0;height:44px;display:flex;overflow:auto hidden}.report-name-tabs>button{max-width:190px;height:29px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 11px;font-weight:600;overflow:hidden}.report-name-tabs>button:hover{color:var(--accent-text);background:#f0f2ff}.report-name-tabs>button.active{color:var(--accent-contrast);border-color:var(--accent);background:var(--accent);box-shadow:0 2px 7px #6a76ef52}.report-name-tabs>button.active:hover{color:#fff;background:#5b67e6}.report-name-editor{background:var(--surface-overlay);border:1px solid #8994f5;border-radius:7px;flex:0 0 min(300px,46vw);grid-template-columns:minmax(0,1fr) 27px 27px;gap:2px;height:32px;padding:2px;display:grid;box-shadow:0 0 0 3px #6976f71a}.report-name-editor input{min-width:0;color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));background:0 0;border:0;outline:0;padding:0 7px;font-weight:600}.report-name-editor button,.report-library-actions>button{width:27px;height:27px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.report-name-editor button:hover,.report-library-actions>button:hover,.report-library-actions>button[aria-expanded=true]{color:var(--accent-text);background:#eceeff}.report-name-editor button:disabled{opacity:.4;cursor:not-allowed}.report-library-actions{align-items:center;gap:3px;display:flex}.report-lens-chip{background:var(--accent-soft);max-width:170px;height:23px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));white-space:nowrap;border:1px solid #ddd8f5;border-radius:999px;align-items:center;gap:4px;margin-right:4px;padding:0 8px;font-weight:700;display:inline-flex}.report-lens-chip>span{text-overflow:ellipsis;overflow:hidden}.report-lens-chip>svg{flex:none}.report-library-actions>.report-filter-button{width:auto;height:24px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));align-items:center;gap:5px;padding:0 9px;font-weight:700;display:inline-flex}.report-library-actions>.report-filter-button.filled{color:var(--accent-text);background:#eceeff}.report-filter-button>strong{color:#fff;min-width:15px;height:15px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#5360d5;border-radius:999px;place-items:center;padding:0 4px;display:inline-grid}.report-workspace-assignment{background:var(--surface-overlay);border:1px solid #e0e4ea;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:15px minmax(0,1fr);align-content:center;gap:3px 4px;min-height:42px;padding:5px 8px;display:grid}.report-workspace-assignment>svg{color:var(--accent-text);grid-row:1/span 2;align-self:center}.report-workspace-assignment span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));line-height:1}.report-workspace-assignment select{min-width:0;max-width:135px;color:var(--text-secondary);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border:0;outline:0;padding:0;font-weight:600}.report-workspace-scope{max-width:145px;height:24px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));background:#f7f8ff;border:1px solid #dfe3ec;border-radius:999px;align-items:center;gap:5px;padding:0 7px;font-weight:650;display:inline-flex}.report-workspace-scope span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.report-workspace-scope svg{flex:none}.report-name-error{z-index:8;border:1px solid var(--danger-border);max-width:min(420px,100vw - 40px);color:var(--danger-text);background:var(--danger-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:7px;padding:7px 9px;position:absolute;top:104px;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #52232b14}.report-toolbar{border-bottom:1px solid var(--line);background:var(--surface-raised);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:56px;padding:6px 12px;display:grid}.report-actions>button:not(.primary-button):not(.secondary-button){border:1px solid var(--control-border);background:var(--surface-overlay);cursor:pointer;border-radius:6px;place-items:center;width:29px;height:29px;display:grid}.report-actions>button:disabled{opacity:.42;cursor:not-allowed}.report-tabs{scrollbar-width:thin;align-items:stretch;gap:2px;min-width:0;height:auto;min-height:40px;display:flex;overflow:auto hidden}.report-tabs button{max-width:190px;height:auto;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;flex-shrink:0;align-items:center;gap:7px;min-height:38px;padding:7px 10px;display:flex}.report-tabs button.active{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent);font-weight:600}.report-tabs button.active svg{color:inherit}.report-tabs .view-tab-label{min-width:0;color:inherit;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-overflow:ellipsis;overflow:hidden}.report-tabs .view-tab-close{color:var(--text-muted);font-size:var(--app-min-readable-text)}.report-tabs button.active .view-tab-close{color:inherit}.report-tabs .dashboard-view-tab{border-left-color:#e3e6ec;flex:none;margin-left:5px}.report-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.report-actions>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-right:3px}.report-actions>span.saved:before,.report-actions>span.unsaved:before{content:"";background:var(--success);border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.report-actions>span.unsaved:before{background:var(--warning)}.report-actions>span.refresh-error{color:var(--danger-text);text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.report-actions>span.refresh-error:before{content:"";background:var(--danger);border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.report-actions .primary-button,.report-actions .secondary-button{height:auto;min-height:36px}.dashboard-designer{background:#eef0f4;flex:1;min-height:0;padding:16px 18px 30px;overflow:auto}.dashboard-workbench{flex:1;grid-template-columns:218px minmax(0,1fr);min-height:0;display:grid}.dashboard-workbench>.field-palette{min-height:0}.dashboard-designer-head{justify-content:space-between;align-items:center;gap:15px;min-height:61px;padding:0 2px 12px;display:flex}.dashboard-designer-head h2{color:var(--text-primary);font:700 calc(15px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.dashboard-designer-head p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:4px 0 0}.dashboard-designer-head>div:last-child{align-items:center;gap:9px;display:flex}.layout-saving,.layout-error{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:5px;display:flex}.layout-saving{color:var(--accent-text)}.layout-error{max-width:260px;color:var(--danger-text)}.dashboard-grid{background-color:#f7f8fa;background-image:linear-gradient(90deg,#cad0db6b 1px,#0000 1px),linear-gradient(#cad0db52 1px,#0000 1px);background-size:8.33333% 92px,8.33333% 92px;border:1px solid #d8dde5;border-radius:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #28303e0a}.dashboard-grid.field-drag-over{border-color:#7885f4;box-shadow:inset 0 0 0 2px #6976f726}.dashboard-widget{border:1px solid var(--control-border);background:var(--surface-raised);border-radius:9px;min-width:0;transition:box-shadow .15s;position:absolute;overflow:hidden;box-shadow:0 4px 14px #212a3a14}.dashboard-widget.moving{z-index:5;transition:none;box-shadow:0 14px 30px #303a502e}.dashboard-drop-ghost{z-index:4;color:var(--accent-text);background:color-mix(in srgb, var(--surface-raised) 88%, #6976f7 12%);opacity:.88;pointer-events:none;animation:dashboard-drop-ghost-in var(--motion-fast) var(--ease-emphasized);border:2px dashed #6976f7;transform:translateY(-2px);box-shadow:0 16px 34px #3d489633}.dashboard-drop-ghost>header{color:var(--accent-text);background:color-mix(in srgb, var(--surface-sunken) 82%, #6976f7 18%);cursor:copy;grid-template-columns:18px minmax(0,1fr)}.dashboard-drop-ghost-body{height:calc(100% - 42px);color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));place-content:center;justify-items:center;gap:7px;font-weight:650;display:grid}@keyframes dashboard-drop-ghost-in{0%{opacity:0;transform:translateY(5px)scale(.985)}to{opacity:.88;transform:translateY(-2px)scale(1)}}.dashboard-widget>header{height:42px;color:var(--text-muted);background:var(--surface-subtle);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-bottom:1px solid #e8ebef;grid-template-columns:18px 1fr 28px;align-items:center;gap:6px;padding:0 8px;display:grid}.dashboard-view-grid>.dashboard-widget>header{cursor:default;grid-template-columns:minmax(0,1fr)}.dashboard-widget.moving>header{cursor:grabbing}.dashboard-widget>header span{min-width:0}.dashboard-widget>header strong,.dashboard-widget>header small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-widget>header strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.dashboard-widget>header small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px;font-weight:400}.dashboard-widget>header button{width:27px;height:27px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.dashboard-widget>header button:hover{color:var(--accent-text);background:var(--accent-soft)}.dashboard-widget-chart{height:calc(100% - 42px);padding:4px 8px 0;overflow:hidden}.dashboard-widget-chart .table-visual{border:0;border-radius:0;flex-direction:column;height:100%;display:flex}.dashboard-widget-chart .table-visual-scroll{flex:auto;min-height:0;max-height:none}.dashboard-readonly .dashboard-widget>header{cursor:default;touch-action:auto;-webkit-user-select:text;user-select:text;grid-template-columns:1fr}.dashboard-resize{z-index:3;width:25px;height:25px;color:var(--text-muted);cursor:nwse-resize;touch-action:none;background:#f7f8faeb;border:0;border-radius:7px 0;place-items:center;display:grid;position:absolute;bottom:1px;right:1px}.dashboard-resize:hover{color:var(--accent-text);background:var(--accent-soft)}.report-body{flex:1;grid-template-columns:218px minmax(0,1fr) 300px;min-height:0;display:grid;position:relative}.field-palette{border-right:1px solid var(--line);flex-direction:column;display:flex}.palette-resize-handle{top:0;bottom:0;left:var(--palette-width,260px);z-index:6;cursor:col-resize;touch-action:none;width:8px;position:absolute}.palette-resize-handle:after{content:"";width:2px;transition:background var(--motion-fast) ease;background:0 0;position:absolute;top:0;bottom:0;left:0}.palette-resize-handle:hover:after,.palette-resize-handle:focus-visible:after{background:#6976f7}.palette-resize-handle:focus-visible{outline:none}.palette-controls{gap:6px;margin:9px 10px 5px;display:grid}.palette-search{border:1px solid var(--control-border);height:29px;color:var(--text-muted);border-radius:6px;align-items:center;gap:5px;margin:0;padding:0 7px;display:flex}.palette-search input{width:100%;min-width:0;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border:0;outline:0}.palette-sort{min-width:0;color:var(--text-muted);font-size:var(--explorer-meta);gap:4px;font-weight:600;display:grid}.palette-sort select{width:100%;min-width:0;height:calc(29px * var(--app-text-scale,1));border:1px solid var(--control-border);color:var(--text-primary);background:var(--surface-overlay);font-size:var(--explorer-meta);cursor:pointer;border-radius:6px;padding:0 6px}.field-scroll{flex:1;min-height:0;padding-bottom:8px;overflow:hidden auto}.palette-table{border-bottom:1px solid var(--line);padding:5px 0 3px}.palette-table>p{height:auto;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;min-height:36px;margin:0;padding:7px 10px;display:flex}.palette-table>p:hover{color:var(--accent-text)}.palette-table>p:focus-visible{outline-offset:-2px;border-radius:5px;outline:2px solid #8591f8}.palette-chevron{flex:none;transition:transform .15s}.palette-table.collapsed>p .palette-chevron{transform:rotate(-90deg)}.palette-table>p span{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));font-weight:600}.palette-table>p small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-left:auto}.palette-table.calculated>p{color:#7e5fa4}.palette-table.derived-query-table>p{color:#6f5096;background:#faf7fd;align-items:flex-start}.palette-table.derived-query-table>p span em{color:#886ea6;font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));letter-spacing:.02em;margin-top:2px;font-style:normal;font-weight:650;display:block}.derived-report-boundary{color:#6b4d8d;background:#faf7fd;border:1px solid #e4d9f1;border-radius:7px;align-items:flex-start;gap:8px;margin:0 0 10px;padding:9px 11px;display:flex}.derived-report-boundary span,.derived-report-boundary strong,.derived-report-boundary small,.derived-controls-disabled span,.derived-controls-disabled strong,.derived-controls-disabled small{display:block}.derived-report-boundary strong,.derived-controls-disabled strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.derived-report-boundary small,.derived-controls-disabled small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px;line-height:1.45}.derived-controls-disabled{color:#6b4d8d;background:#faf7fd;border:1px solid #e6ddf2;border-radius:7px;align-items:flex-start;gap:7px;padding:10px;display:flex}.chart-picker button:disabled{cursor:not-allowed;opacity:.38}.draggable-field{height:auto;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:grab;min-height:calc(38px * var(--app-text-scale,1));grid-template-columns:14px 20px 1fr auto;align-items:center;gap:4px;padding:0 10px 0 8px;display:grid}.draggable-field:hover{color:var(--accent-text);background:#f5f6ff}.draggable-field>svg{color:var(--text-muted)}.draggable-field>span:nth-child(2){width:18px;height:18px;color:var(--text-muted);background:#f0f2f5;border-radius:4px;place-items:center;display:grid}.draggable-field>span:nth-child(3){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.draggable-field>span.measure{color:var(--accent-text);background:var(--accent-soft)}.draggable-field>span.time{color:#bd812c;background:#fff3e0}.draggable-field small{color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)))}.draggable-field-row{position:relative}.draggable-field-row .draggable-field{padding-right:27px}.field-menu-trigger{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:4px;place-items:center;display:grid;position:absolute;top:2px;right:3px}.draggable-field-row:hover .field-menu-trigger,.draggable-field-row:focus-within .field-menu-trigger{opacity:1}.field-menu-trigger:hover,.field-menu-trigger:focus-visible{color:var(--accent-text);background:#e9ebff;outline:0}.field-drag-preview{z-index:2147483647;color:#394255;pointer-events:none;-webkit-user-select:none;user-select:none;contain:layout paint style;background:#fffffffa;border:1px solid #cdd3f4;border-radius:10px;align-items:center;gap:9px;width:max-content;min-width:158px;max-width:min(300px,100vw - 24px);min-height:48px;padding:8px 12px 8px 9px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;display:flex;position:fixed;top:-10000px;left:-10000px;box-shadow:0 16px 34px #1f28413d,0 3px 9px #454eaa2e}.field-drag-preview-icon{color:#fff;background:var(--accent-text);border-radius:7px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:19px;font-weight:650;line-height:1;display:grid}.field-drag-preview.is-move .field-drag-preview-icon{background:#667085;font-size:16px}.field-drag-preview-copy{gap:1px;min-width:0;display:grid}.field-drag-preview-copy strong{color:#313a4b;max-width:220px;font-size:calc(12px * var(--app-text-scale,1));text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.25;overflow:hidden}.field-drag-preview-copy small{color:#7b8494;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));font-weight:600;line-height:1.2}.new-field{border:1px solid var(--control-border);background:var(--surface-raised);color:#6e5a92;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;border-radius:7px;flex:0 0 38px;justify-content:center;align-items:center;gap:6px;margin:7px 9px;display:flex}.report-canvas{background-color:#eef0f4;background-image:linear-gradient(45deg, var(--line) 25%, transparent 25%), linear-gradient(-45deg, var(--line) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--line) 75%), linear-gradient(-45deg, transparent 75%, var(--line) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;min-width:0;min-height:0;padding:20px;overflow:auto}.report-view-readonly{background:#eef0f4;flex:1;min-height:0;padding:20px;overflow:auto}.report-view-readonly .canvas-page-head h2{color:var(--text-primary);font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:0}.canvas-page{border:1px solid var(--control-border);background:var(--surface-raised);border-radius:8px;min-width:600px;max-width:930px;margin:auto;padding:19px;box-shadow:0 12px 30px #262d3a17}.canvas-page:has(.table-stage){min-width:0;max-width:none}.canvas-page-head{justify-content:space-between;align-items:flex-start;display:flex}.canvas-page-head input{width:350px;color:var(--text-primary);font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;border:0;outline:0;padding:0}.canvas-page-head span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px;display:block}.canvas-page-head button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.chart-role-row{grid-template-columns:1fr 1fr .85fr 82px;gap:7px;margin-top:17px;display:grid}.drop-role{background:var(--surface-subtle);border:1px dashed #cfd5df;border-radius:6px;min-width:0;height:auto;min-height:84px;padding:5px 7px}.drop-role>small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.4px;display:block;overflow:hidden}.drop-role>span{height:auto;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:4px;min-height:24px;margin-top:3px;display:flex}.drop-role.filled{background:var(--surface-raised);border-style:solid;border-color:#dce0e8}.drop-role.filled>span{color:var(--accent-text)}.drop-role.filled strong{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));overflow:hidden}.drop-role.filled button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-left:auto}.filter-drop{background:var(--surface-subtle);height:45px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;border:1px dashed #cfd5df;border-radius:6px;justify-content:center;align-items:center;gap:5px;display:flex}.filter-drop.filled{color:var(--accent-text);background:#f4f5ff;border-style:solid;border-color:#afb6fa}.filter-chip-row{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.filter-chip{height:24px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));background:#f5f6ff;border:1px solid #d9defa;border-radius:12px;align-items:stretch;display:inline-flex;overflow:hidden}.filter-chip button{height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.filter-chip .filter-chip-body{align-items:center;gap:4px;padding:0 4px 0 7px;display:flex}.filter-chip .filter-chip-remove{width:24px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));place-items:center;line-height:1;display:grid}.filter-chip button:hover,.filter-chip button:focus-visible{background:#e6e8ff;outline:0}.filter-chip button:focus-visible{box-shadow:inset 0 0 0 2px #6875f2}.chart-stage{min-height:348px;padding:18px 10px 0;position:relative}.visual-header{color:var(--text-primary);font:700 calc(15px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:0 0 12px;padding:0 4px}.chart-stage.table-stage .visual-header{margin-bottom:10px;padding:0 14px}.live-sample-status{min-height:42px;color:var(--text-muted);background:var(--surface-sunken);border:1px solid #dfe4eb;border-radius:7px;align-items:center;gap:8px;margin:10px 10px 0;padding:8px 10px;display:flex}.live-sample-status>span:not(.live-sample-skeleton){min-width:0}.live-sample-status strong,.live-sample-status small{display:block}.live-sample-status strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.live-sample-status small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px;line-height:1.35}.live-sample-status.loading{color:var(--accent-text);background:#f7f8ff;border-color:#dfe2ff}.live-sample-status.ready{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.live-sample-status.error{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.live-sample-status.error button{border:1px solid var(--danger-border);height:27px;color:var(--danger-text);background:var(--surface-raised);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;border-radius:5px;align-items:center;gap:5px;margin-left:auto;padding:0 9px;font-weight:600;display:flex}.live-sample-skeleton{gap:4px;width:min(42%,210px);margin-left:auto;display:grid}.live-sample-skeleton i{background:linear-gradient(90deg,#e4e7f7 25%,#f6f7ff 45%,#e4e7f7 65%) 0 0/220% 100%;border-radius:4px;height:4px;animation:1.15s ease-in-out infinite live-sample-shimmer}.live-sample-skeleton i:nth-child(2){width:83%}.live-sample-skeleton i:nth-child(3){width:62%}@keyframes live-sample-shimmer{to{background-position:-220% 0}}.chart-legend{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));position:absolute;top:8px;right:20px}.chart-legend span{align-items:center;gap:4px;display:flex}.chart-legend i{background:#6976f7;border-radius:2px;width:7px;height:7px}.visual-inspector{border-left:1px solid var(--line);flex-direction:column;display:flex}.visual-scroll{flex:1;min-height:0;padding-bottom:15px;overflow:auto}.chart-picker{border:0;border-bottom:1px solid #e8ebef;margin:0;padding:13px 11px 14px}.chart-picker legend{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));font-weight:600}.chart-picker>div{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px;display:grid}.chart-picker button{background:var(--surface-raised);height:48px;color:var(--text-muted);cursor:pointer;border:1px solid #dfe3e8;border-radius:6px;place-content:center;justify-items:center;gap:3px;padding:3px;display:grid}.chart-picker button span{font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)))}.chart-picker button.active{color:var(--accent-text);background:#f2f3ff;border-color:#7885f4;box-shadow:inset 0 0 0 1px #e1e4ff}.config-section{border-bottom:1px solid #e8ebef;padding:13px 11px}.config-section>p{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0 0 10px;font-weight:600}.config-section>label:not(.toggle-row){color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;margin-top:12px;display:grid}.config-section select{background:var(--surface-overlay);height:auto;color:var(--text-secondary);font-size:calc(14px * var(--app-text-scale,1));border:1px solid #dfe3e8;border-radius:5px;width:100%;min-width:0;min-height:36px;padding:6px 8px}.inspector-filter-button{width:100%;height:29px;color:var(--text-secondary);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));cursor:pointer;border:1px solid #dfe3e8;border-radius:5px;align-items:center;gap:6px;margin-top:9px;padding:0 8px;display:flex}.inspector-filter-button strong{min-width:17px;height:17px;color:var(--accent-text);background:var(--accent-soft);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));border-radius:9px;place-items:center;margin-left:auto;display:grid}.toggle-row{height:28px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));justify-content:space-between;align-items:center;display:flex}.toggle-row>span{align-items:center;gap:5px;display:flex}.toggle-row input{accent-color:#6875f2}.color-row{align-items:center;gap:5px;margin-top:7px;display:flex}.color-row span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-right:auto}.color-row button{cursor:pointer;border:2px solid #fff;border-radius:5px;width:19px;height:19px;box-shadow:0 0 0 1px #d8dde5}.color-row button.active{box-shadow:0 0 0 2px #6875f2}.publish-section>button{border:1px solid var(--control-border);background:var(--surface-overlay);text-align:left;cursor:pointer;border-radius:7px;grid-template-columns:21px 1fr auto;align-items:center;gap:6px;width:100%;padding:8px;display:grid}.publish-section>button.public{border-color:var(--success-border);background:var(--success-soft);color:var(--success-text)}.publish-section strong,.publish-section small{display:block}.publish-section strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.publish-section small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));margin-top:2px}.publish-section code{max-height:65px;color:var(--text-muted);font:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)))/1.5 ui-monospace, monospace;word-break:break-all;background:#151e2c;border-radius:5px;margin-top:7px;padding:7px;display:block;overflow:auto}.kpi-preview{text-align:center;place-content:center;height:275px;display:grid}.kpi-preview span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));text-transform:capitalize}.kpi-preview strong{color:var(--text-primary);font-weight:700;font-size:calc(38px * var(--app-text-scale,1));margin:4px 0}.kpi-preview small{color:#16a08d;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.chart-stage.table-stage{min-width:0;padding:14px 0 0;overflow:hidden}.table-visual{border:1px solid var(--control-border);background:var(--surface-raised);border-radius:8px;width:100%;min-width:0;overflow:hidden}.table-column-toolbar{border-bottom:1px solid var(--line);background:var(--surface-sunken);min-height:42px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;display:flex}.table-column-picker{align-items:center;gap:5px;display:flex}.table-column-picker select{background:var(--surface-overlay);max-width:190px;height:30px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));border:1px solid #d9dee7;border-radius:5px}.table-visual-scroll{overscroll-behavior-inline:contain;width:100%;max-width:100%;max-height:410px;overflow:auto}.table-visual table{border-collapse:collapse}.table-visual.table-layout-scroll table{table-layout:fixed;width:max-content;min-width:100%}.table-visual.table-layout-scroll th,.table-visual.table-layout-scroll td{width:164px;min-width:164px;max-width:164px}.table-visual.table-layout-fit table{table-layout:fixed;width:100%;min-width:100%}.table-visual.table-layout-fit th,.table-visual.table-layout-fit td{width:auto;min-width:0;max-width:none;padding-inline:6px}.table-visual th,.table-visual td{border-right:1px solid var(--line);text-align:left;min-width:150px;height:38px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #eceff3;padding:0 10px;overflow:hidden}.table-visual th{height:46px;color:var(--text-secondary);background:#f4f6f9;font-weight:600;position:relative}.table-visual thead th{z-index:3;position:sticky;top:0}.table-visual th>span{align-items:center;gap:4px;display:flex}.table-visual th>span:not(.table-column-actions,.table-column-insert-anchor){min-width:0;height:27px;overflow:hidden}.table-visual th>span:not(.table-column-actions,.table-column-insert-anchor) strong{text-overflow:ellipsis;overflow:hidden}.table-column-alias-input{width:100%;min-width:0;height:27px;color:var(--text-primary);background:var(--surface-overlay);font:inherit;border:1px solid #6976f7;border-radius:4px;outline:2px solid #6976f72e;padding:0 6px;font-weight:600}.table-visual th[draggable=true]{cursor:grab}.table-visual th:focus-visible{outline:2px solid var(--accent-text);outline-offset:-3px;z-index:2}.table-visual thead th.table-column-action-active{z-index:5;outline:2px solid var(--accent-text);outline-offset:-2px;background-image:linear-gradient(#5965d91a,#5965d91a);box-shadow:inset 0 0 0 1px #ffffffb8,0 3px 10px #353faa29}@keyframes table-column-header-settle{0%{opacity:.24;box-shadow:inset 4px 0 #7781ef,0 0 #5965d900}58%{opacity:1;box-shadow:inset 3px 0 #7781ef,0 7px 18px #3b45b52e}to{opacity:1;box-shadow:inset 0 0 #5965d900,0 0 #5965d900}}@keyframes table-column-cell-settle{0%{opacity:.12;transform:translate(9px)}68%{opacity:1;transform:translate(-1px)}to{opacity:1;transform:translate(0)}}.table-visual thead th.table-column-settling{animation:table-column-header-settle .46s var(--ease-emphasized) both}.table-visual tbody td.table-column-settling{animation:table-column-cell-settle .39s 30ms var(--ease-emphasized) both}.table-visual tfoot td.table-column-settling{animation:table-column-cell-settle .39s 60ms var(--ease-emphasized) both}@media (forced-colors:active){.table-visual thead th.table-column-action-active{outline-color:highlight}.field-drag-preview{color:canvastext;box-shadow:none;background:canvas;border:2px solid canvastext}.field-drag-preview-icon{color:canvastext;background:canvas;border:1px solid canvastext}.table-visual thead th.table-column-settling{outline-offset:-2px;outline:2px solid highlight}}.table-visual th.insert-before:before,.table-visual th.insert-after:after{content:"";z-index:4;background:var(--accent-text);width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 2px #5965d91f}.table-visual th.insert-before:before{left:0}.table-visual th.insert-after:after{right:0}.table-column-insert-anchor{z-index:6;color:#fff;background:var(--accent-text);pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;position:absolute;top:50%;box-shadow:0 2px 7px #313db559;display:grid!important}.table-column-insert-anchor.before{left:3px;transform:translateY(-50%)}.table-column-insert-anchor.after{right:3px;transform:translateY(-50%)}.table-column-actions{opacity:1;height:24px;margin-top:0;gap:0!important}.table-column-actions button{width:24px;min-width:24px;height:24px;min-height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.table-column-actions button:hover,.table-column-actions button[aria-expanded=true]{color:var(--accent-text);background:#e9ebff}.table-column-actions button:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.table-visual td.numeric{text-align:right;font-variant-numeric:tabular-nums}.table-visual.compact{border:0;border-radius:4px}.table-visual.compact .table-visual-scroll{max-height:84px}.table-visual.compact th,.table-visual.compact td{width:70px;min-width:70px;max-width:70px;height:21px;font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));padding:0 5px}.table-column-empty{min-height:240px;color:var(--text-muted);background:#ffffffb8;border:2px dashed #bdc5d8;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:18px;display:flex}.table-column-empty>span{font-size:var(--app-min-readable-text);align-items:center;gap:7px;font-weight:600;display:flex}.table-layout-toggle{border-bottom:1px solid var(--line);margin-bottom:7px;padding-bottom:9px}.table-layout-toggle>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));align-items:center;gap:5px;margin-bottom:6px;display:flex}.table-layout-toggle>div{background:#f4f6f9;border:1px solid #dfe3e8;border-radius:6px;grid-template-columns:1fr 1fr;padding:2px;display:grid}.table-layout-toggle button{min-width:0;height:25px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 4px}.table-layout-toggle button.active{color:var(--accent-text);background:var(--surface-raised);font-weight:650;box-shadow:0 1px 4px #232c4121}.embed-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:48px 28px;display:flex}.embed-empty-icon{width:54px;height:54px;color:var(--accent-text);background:#f3f4ff;border:1px solid #dfe3fb;border-radius:15px;place-items:center;margin-bottom:16px;display:grid;box-shadow:0 9px 24px #4d59c71a}.embed-empty-state h3{color:var(--text-primary);font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:5px 0 7px}.embed-empty-state p{max-width:500px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0;line-height:1.65}.embed-empty-state .primary-button{margin-top:19px}.embed-empty-state>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:16px}.embed-layout{grid-template-columns:310px minmax(500px,1fr);gap:15px;min-width:0;display:grid}.embed-layout>*{min-width:0}.embed-list{overflow:hidden}.embed-list-item{border-left:2px solid #0000;border-bottom:1px solid var(--line);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:5px;min-height:78px;padding:10px 10px 10px 12px;display:grid}.embed-list-item.active{background:#f7f8ff;border-left-color:#6976f7}.embed-list-select{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:0;display:grid}.embed-list-select:focus-visible,.embed-list-menu:focus-visible{outline-offset:2px;outline:2px solid #6875ee}.embed-list-menu{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.embed-list-menu:hover,.embed-list-menu[aria-expanded=true]{color:var(--accent-text);background:#eceeff}.mini-chart{background:var(--surface-raised);border:1px solid #e3e6ec;border-radius:6px;width:78px;height:57px;display:block;overflow:hidden}.embed-list strong,.embed-list small,.embed-list-report{display:block}.embed-list strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.embed-list-report{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(7.5px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.embed-list small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));align-items:center;gap:3px;margin-top:5px;display:flex}.embed-list-filter{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.embed-list-filter input{width:100%;min-width:0;height:32px;color:var(--text-primary);background:var(--surface-overlay);font:var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;border:1px solid #d8dde5;border-radius:6px;padding:0 9px}.embed-list-filter input:focus{outline-offset:1px;border-color:#0000;outline:2px solid #6875ee}.embed-list-filter>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));white-space:nowrap}.embed-list-empty{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-align:center;margin:0;padding:18px 12px}.embed-detail{min-width:0;padding:18px;overflow:hidden}.embed-detail-head{justify-content:space-between;align-items:center;display:flex}.embed-detail-head h3{font:700 calc(15px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.embed-detail-head a{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:5px;text-decoration:none;display:flex}.embed-preview{border:1px solid var(--control-border);border-radius:9px;flex-direction:column;min-width:0;height:320px;margin-top:15px;padding:14px 15px 0;display:flex;overflow:hidden}.embed-preview-visual{flex:auto;min-width:0;min-height:0;overflow:hidden}.embed-preview-visual>.table-visual{flex-direction:column;height:100%;min-height:0;display:flex}.embed-preview-visual>.table-visual>.table-visual-scroll{flex:auto;min-height:0;max-height:none}.embed-preview-visual>.kpi-preview{height:100%;min-height:0}.preview-watermark{min-height:20px;color:var(--text-muted);font:600 max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1))) "Segoe UI", system-ui, sans-serif;flex:0 0 20px;justify-content:flex-end;align-items:center;display:flex}.embed-access-panel{background:#fbfcfd;border:1px solid #e1e5eb;border-radius:9px;min-width:0;margin-top:17px;padding:15px}.embed-access-panel:focus-visible{outline-offset:2px;outline:2px solid #6875ee}.embed-access-panel fieldset{border:0;min-width:0;margin:0;padding:0}.embed-access-panel fieldset:disabled{opacity:.72}.embed-access-panel legend,.embed-access-readonly h4{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0 0 9px;padding:0;font-weight:700}.embed-access-summary{border:1px solid var(--control-border);color:var(--accent-text);background:var(--surface-raised);border-radius:7px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;margin:0;padding:9px 11px;display:grid}.embed-access-summary strong,.embed-access-summary small{display:block}.embed-access-summary strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.embed-access-summary small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px}.visibility-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.visibility-picker label{border:1px solid var(--control-border);background:var(--surface-raised);text-align:left;cursor:pointer;border-radius:7px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:62px;padding:9px 11px;display:grid}.visibility-picker label.active{color:var(--accent-text);background:#f5f6ff;border-color:#7885f4;box-shadow:0 0 0 1px #7885f414}.visibility-picker input,.private-access-grid input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.visibility-picker label:focus-within,.private-access-grid label:focus-within{outline-offset:2px;outline:2px solid #6875ee}:is(.visibility-picker label:has(input:disabled),.private-access-grid label:has(input:disabled)){cursor:not-allowed}.visibility-picker strong,.visibility-picker small{display:block}.visibility-picker strong{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.visibility-picker small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px}.private-access-options{border-top:1px solid #e5e8ed!important;margin-top:17px!important;padding-top:15px!important}.private-access-options>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:-4px 0 10px;line-height:1.45}.private-access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.private-access-grid>label{background:var(--surface-raised);cursor:pointer;border:1px solid #e0e4ea;border-radius:7px;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:61px;padding:9px 10px;display:grid}.private-access-grid>label.active{background:#f5f6ff;border-color:#7885f4;box-shadow:0 0 0 1px #7885f414}.private-access-icon{width:25px;height:25px;color:var(--accent-text);background:var(--accent-soft);border-radius:6px;place-items:center;display:grid}.private-access-grid strong,.private-access-grid small{display:block}.private-access-grid strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.private-access-grid small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:3px;line-height:1.35}.embed-access-editor{border:1px solid var(--control-border);background:var(--surface-raised);border-radius:7px;min-width:0;margin-top:11px;padding:11px}.embed-access-editor>label{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-bottom:6px;font-weight:700;display:block}.embed-access-entry-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0;display:grid}.embed-access-entry-row input{width:100%;min-width:0;height:34px;color:var(--text-primary);background:var(--surface-overlay);font:var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;border:1px solid #d8dde5;border-radius:6px;padding:0 9px}.embed-access-entry-row input:focus{outline-offset:1px;border-color:#0000;outline:2px solid #6875ee}.embed-access-entry-row .secondary-button{height:34px}.embed-access-help{line-height:1.45;color:var(--text-muted)!important;font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))!important;margin:6px 0 0!important}.embed-access-help code{color:var(--text-secondary);background:#eef1f5;border-radius:3px;padding:1px 3px}.embed-access-tags{flex-wrap:wrap;gap:6px;min-width:0;margin-top:8px;display:flex}.embed-access-tags>span{min-width:0;max-width:100%;min-height:25px;color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));background:#f2f4ff;border:1px solid #d9def7;border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 8px;display:inline-flex}.embed-access-tags>span>span{overflow-wrap:anywhere;min-width:0}.embed-access-tags button{width:19px;height:19px;color:var(--accent-text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 19px;place-items:center;padding:0;display:grid}.embed-access-tags button:hover{color:var(--accent-text);background:#e0e4ff}.embed-access-tags button:focus-visible{outline-offset:1px;outline:2px solid #6875ee}.embed-access-editor>small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:7px;display:block}.embed-access-error{color:var(--danger-text)!important;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))!important;margin:6px 0 0!important}.embed-access-notice{color:var(--text-muted)!important;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))!important;margin:6px 0 0!important}.embed-signin-note{background:#f0f2f6;border-radius:6px;padding:8px 9px;color:var(--text-muted)!important;margin:11px 0 0!important}.embed-owner-note{border:1px solid var(--success-border);background:var(--success-soft);border-radius:6px;padding:8px 9px;color:var(--success-text)!important;margin:10px 0 0!important}.embed-owner-transfer{border:1px solid var(--warning-border);background:var(--warning-soft);border-radius:7px;margin-top:10px;padding:10px}.embed-owner-transfer>p{color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0 0 7px}.embed-owner-transfer label{color:var(--warning-text);cursor:pointer;align-items:flex-start;gap:7px;display:flex}.embed-owner-transfer input{margin-top:2px}.embed-owner-transfer strong,.embed-owner-transfer small{display:block}.embed-owner-transfer strong{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.embed-owner-transfer small{color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:2px;line-height:1.4}.embed-redacted-note{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));background:#f0f2f6;border-radius:7px;align-items:center;gap:6px;margin:12px 0 0;padding:10px;display:flex}.embed-access-actions{justify-content:flex-end;align-items:center;gap:12px;min-height:34px;margin-top:13px;display:flex}.embed-access-actions>span{flex:1;margin:0!important}.embed-access-feedback>span{margin:0!important}.embed-access-success{color:var(--success-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.permission-note{max-width:240px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;line-height:1.35;display:inline-flex}.page-intro>.permission-note{background:var(--surface-sunken);border:1px solid #e1e4e9;border-radius:7px;padding:7px 10px}.toolbar-actions>.permission-note{text-align:right;justify-content:flex-end}.panel-permission-note{color:var(--text-muted);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-align:center;border:1px solid #e3e6eb;border-radius:7px;margin:8px 10px;padding:9px}.code-block{color:var(--text-muted);background:#121b28;border-radius:8px;margin-top:15px;padding:11px 12px 13px;position:relative}.code-block p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:5px;margin:0 0 7px;display:flex}.code-block code{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 73px);font:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1))) ui-monospace, monospace;display:block;overflow:hidden}.code-block button{height:26px;min-height:32px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));cursor:pointer;background:#1e2938;border:1px solid #354153;border-radius:5px;align-items:center;gap:4px;margin-top:9px;display:flex}.embed-document{background:var(--surface-raised);min-width:0;overflow:hidden}.embed-document #root{width:100%;min-width:0;height:100dvh;overflow:hidden}.embed-view{background:var(--surface-raised);width:100%;min-width:0;height:100dvh;min-height:0;color:var(--text-primary);flex-direction:column;padding:18px;display:flex;overflow:hidden}.embed-view header{flex:none;justify-content:space-between;align-items:center;min-width:0;display:flex}.embed-view header>div{min-width:0}.embed-view h1{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:2px 0 0}.embed-view header>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.embed-view header>span strong{color:var(--accent)}.embed-data-warning{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;margin-top:10px;padding:8px 10px}.embed-view-visual{flex:auto;min-width:0;min-height:0;margin-top:12px;overflow:hidden}.embed-view-visual>.table-visual{flex-direction:column;height:100%;min-height:0;display:flex}.embed-view-visual>.table-visual>.table-visual-scroll{flex:auto;min-height:0;max-height:none}.embed-view-visual>.kpi-preview{height:100%;min-height:0}.embed-view footer{border-top:1px solid var(--line);min-width:0;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));flex:none;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;display:flex}.embed-error,.embed-loading{text-align:center;background:#f7f8fa;place-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.dashboard-embed .embed-error{border:1px solid var(--line);border-radius:12px;min-height:0;padding:48px 24px}.embed-error h2{font:700 calc(17px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:17px 0 5px}.embed-error p{max-width:420px;margin:0;line-height:1.55}.embed-error small{max-width:420px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin-top:12px;line-height:1.5}.embed-retry{align-items:center;gap:6px;margin-top:17px;display:inline-flex}.embed-no-data{border:1px dashed var(--control-border);background:var(--surface-subtle);width:100%;height:100%;min-height:160px;color:var(--text-muted);text-align:center;border-radius:8px;place-content:center;justify-items:center;gap:5px;display:grid}.embed-no-data strong{color:var(--text-primary);font-size:var(--app-min-readable-text)}.embed-no-data span{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.embed-auth-actions{justify-content:center;align-items:center;gap:12px;margin-top:17px;display:flex}.embed-auth-actions button,.embed-auth-actions a{justify-content:center;align-items:center;gap:6px;display:inline-flex}.embed-auth-actions a{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));font-weight:650;text-decoration:none}.embed-auth-actions a:hover{text-decoration:underline}.section-loading{height:100%;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));place-content:center;justify-items:center;display:grid}.section-loading span{border:2px solid var(--control-border);border-top-color:#6976f7;border-radius:50%;width:27px;height:27px;animation:.8s linear infinite spin}.embed-error p,.embed-loading{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.embed-document .embed-error,.embed-document .embed-loading{width:100%;height:100dvh;min-height:0;overflow:auto}@media (width<=900px){.embed-layout{grid-template-columns:minmax(0,1fr)}.embed-list{max-height:260px;overflow-y:auto}}.catalog-panel{margin-top:14px;overflow:hidden}.catalog-head{align-items:flex-end;gap:20px}.catalog-head h3{margin:3px 0}.catalog-head p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0}.catalog-actions{gap:8px;display:flex}.catalog-actions label{border:1px solid var(--control-border);background:var(--surface-raised);height:32px;color:var(--text-muted);border-radius:6px;align-items:center;gap:6px;padding:0 9px;display:flex}.catalog-actions select,.catalog-actions input{min-width:145px;color:var(--text-primary);font:var(--app-min-readable-text) "Segoe UI", system-ui, sans-serif;background:0 0;border:0;outline:0}.catalog-actions input{width:165px}.semantic-catalog-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-subtle);color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));gap:22px;padding:10px 17px;display:flex}.semantic-catalog-summary strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin-right:3px}.catalog-grid{grid-template-columns:minmax(0,1.6fr) minmax(250px,.75fr);min-height:250px;display:grid}.semantic-catalog-tables{max-height:430px;padding:12px;overflow:auto}.semantic-catalog-tables details{border:1px solid var(--line);background:var(--surface-raised);border-radius:7px}.semantic-catalog-tables details+details{margin-top:7px}.semantic-catalog-tables summary{cursor:pointer;align-items:center;gap:9px;min-height:48px;padding:8px 11px;list-style:none;display:flex}.semantic-catalog-tables summary::-webkit-details-marker{display:none}.catalog-table-icon{width:28px;height:28px;color:var(--accent-text);background:#eef1ff;border-radius:6px;flex:none;place-items:center;display:grid}.semantic-catalog-tables summary>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.semantic-catalog-tables summary strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.semantic-catalog-tables summary small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.semantic-catalog-tables summary>em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));font-style:normal}.catalog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:2px 9px 9px 48px;display:grid}.catalog-fields>span{background:var(--surface-sunken);border-radius:5px;align-items:center;gap:6px;min-width:0;padding:6px 7px;display:flex}.catalog-fields>span>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.catalog-fields strong,.catalog-fields small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-fields strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.catalog-fields small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.catalog-fields em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));font-style:normal}.catalog-fields>p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));grid-column:1/-1;margin:5px 0}.catalog-relationships{border-left:1px solid var(--line);background:var(--surface-subtle)}.catalog-relationships>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:46px;padding:0 12px;display:flex}.catalog-relationships>header>div,.catalog-relationships>header button{align-items:center;gap:6px;display:flex}.catalog-relationships>header strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.catalog-relationships>header button{color:var(--accent-text);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:0;font-weight:650}.catalog-relationships>div{max-height:384px;padding:10px;overflow:auto}.catalog-relationships article{background:var(--surface-raised);border:1px solid #e6e9ef;border-radius:7px;padding:9px 10px}.catalog-relationships article+article{margin-top:7px}.catalog-relationships article>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.catalog-relationships article strong{color:var(--text-primary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.catalog-relationships article small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)))}.catalog-relationships article p{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:6px;margin:7px 0 4px;font-weight:650;display:flex}.catalog-relationships article p i{color:var(--accent-text);font-style:normal}.catalog-no-relationships{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-align:center;margin:20px 8px;line-height:1.5}.semantic-catalog-empty{min-height:190px;color:var(--text-muted);place-content:center;justify-items:center;gap:4px;display:grid}.semantic-catalog-empty strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.semantic-catalog-empty span{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.billing-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14192685;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.billing-modal{background:#f8f9fc;border:1px solid #dfe3eb;border-radius:14px;flex-direction:column;width:min(1040px,96vw);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 28px 90px #181f324d}.billing-modal>header,.billing-modal>footer{background:var(--surface-raised);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.billing-modal>header{border-bottom:1px solid #e7e9ef}.billing-modal>header h2{font:700 calc(19px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:3px 0 4px}.billing-modal>header p,.billing-modal>footer p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));margin:0}.billing-header-actions{flex:none;align-items:center;gap:8px;display:flex}.billing-header-actions .secondary-button{min-height:34px}.billing-status-line{flex-wrap:wrap;align-items:center;gap:7px;min-height:20px;margin-top:8px;display:flex}.billing-status-line span{color:var(--success-text);background:var(--success-soft);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:999px;padding:3px 7px;font-weight:700}.billing-status-line span[data-status=past_due],.billing-status-line span[data-status=unpaid],.billing-status-line span[data-status=incomplete]{color:var(--warning-text);background:var(--warning-soft)}.billing-status-line span[data-status=canceled],.billing-status-line span[data-status=incomplete_expired],.billing-status-line span[data-status=paused]{color:var(--danger-text);background:var(--danger-soft)}.billing-status-line small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.billing-body{padding:20px 24px 24px;overflow:auto}.billing-error{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-soft);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.billing-error svg{flex:none;margin-top:1px}.usage-panel,.plan-options{background:var(--surface-raised);border:1px solid #e2e5ec;border-radius:11px;padding:18px}.usage-panel h3,.plan-options h3{font:700 calc(14px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:3px 0 15px}.usage-meter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.usage-meter-grid article{border:1px solid var(--line);border-radius:8px;gap:10px;padding:11px;display:flex}.usage-icon{width:30px;height:30px;color:var(--accent-text);background:#f0f2ff;border-radius:7px;flex:none;place-items:center;display:grid}.usage-meter-grid article>div{flex:1;min-width:0}.usage-meter-grid article div>span{justify-content:space-between;gap:8px;display:flex}.usage-meter-grid strong,.usage-meter-grid small{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}.usage-meter-grid small{color:var(--text-muted)}.usage-meter-grid i{background:var(--line);border-radius:4px;height:4px;margin-top:9px;display:block;overflow:hidden}.usage-meter-grid i b{border-radius:inherit;background:#6976f7;min-width:3px;height:100%;display:block}.usage-meter-grid em{color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin-top:5px;display:block}.billing-note{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:13px 0 0}.plan-options{margin-top:14px}.plan-options>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.plan-options article{background:#fbfcfe;border:1px solid #e4e7ed;border-radius:9px;padding:14px}.plan-options article.current{background:#f6f7ff;border-color:#7681ef;box-shadow:inset 0 0 0 1px #7681ef}.plan-options article>span{color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em;font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));font-weight:800}.plan-options h4{font:700 calc(13px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:7px 0 4px}.plan-options article p{min-height:28px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));margin:0;line-height:1.5}.plan-options ul{min-height:56px;margin:10px 0;padding:0;list-style:none}.plan-options li{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));align-items:center;gap:5px;margin:5px 0;display:flex}.plan-options li svg{color:var(--success)}.plan-options article button{background:var(--surface-raised);width:100%;min-height:31px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));cursor:pointer;border:1px solid #dfe3ea;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px;display:inline-flex}.plan-options article button:hover:not(:disabled){color:var(--accent-text);background:#f6f7ff;border-color:#7a84ec}.plan-options article button:disabled{color:var(--text-muted);cursor:not-allowed;background:#f1f3f6}.plan-options .billing-plan-state{box-sizing:border-box;border:1px solid var(--control-border);width:100%;min-height:31px;color:var(--text-muted);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));border-radius:6px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.plan-options article.current .billing-plan-state{color:#fff;background:#707bea;border-color:#7a84ec}.billing-modal>footer{border-top:1px solid #e7e9ef}.report-empty-state{text-align:center;background:radial-gradient(circle at 50% 42%, #f2f3ff 0, var(--surface-subtle) 38%, #f7f8fa 75%);flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 76px);padding:60px 24px;display:flex}.report-empty-icon{background:var(--surface-raised);width:62px;height:62px;color:var(--accent-text);border:1px solid #dfe3f6;border-radius:17px;place-items:center;margin-bottom:16px;display:grid;box-shadow:0 12px 30px #4651a01f}.report-empty-state h2{font:700 calc(20px * var(--app-text-scale,1)) "Segoe UI", system-ui, sans-serif;margin:6px 0 8px}.report-empty-state>p{max-width:520px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin:0 0 18px;line-height:1.65}.report-empty-state .source-message{max-width:520px;margin:0 0 14px}@media (width<=600px){.embed-detail{padding:12px}.embed-preview{height:250px;padding-inline:9px}.embed-access-panel{padding:11px}.visibility-picker,.private-access-grid,.embed-access-entry-row{grid-template-columns:minmax(0,1fr)}.embed-access-entry-row .secondary-button{width:100%}.embed-access-actions{flex-direction:column;align-items:stretch}.embed-access-actions .primary-button{justify-content:center;width:100%}.code-block code{max-width:100%;padding-right:0}.embed-view{padding:12px}.embed-view header{align-items:flex-start;gap:12px}.embed-view header>span{text-align:right;max-width:90px}.embed-view h1{font-size:calc(14px * var(--app-text-scale,1))}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus-visible{z-index:2000;clip:auto;border:1px solid var(--control-border);width:auto;height:auto;color:var(--text-primary);background:var(--surface-overlay);box-shadow:var(--shadow-overlay);outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:8px;margin:0;padding:10px 14px;font-weight:650;text-decoration:none;position:fixed;top:12px;left:12px;overflow:visible}.palette-help{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));margin:0;padding:7px 10px 0;line-height:1.45}button.draggable-field{text-align:left;background:0 0;border:0;width:100%;font-family:inherit}button.draggable-field:focus-visible,.dashboard-widget>header:focus-visible,.dashboard-resize:focus-visible{z-index:6;outline:2px solid var(--accent-text);outline-offset:-2px;background:var(--accent-soft);position:relative}.drop-role{position:relative}.drop-role>select{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;height:auto;color:var(--text-secondary);font-size:calc(14px * var(--app-text-scale,1));border-radius:4px;min-height:36px;margin-top:5px;padding:6px 8px}.drop-role>select:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.drop-role.filled>span{padding-right:1px}.empty-inspector{overflow-y:auto}.accessible-relationship-start{background:var(--surface-subtle);text-align:left;border:1px solid #e1e5eb;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;width:calc(100% - 24px);margin:9px auto 2px;padding:9px;display:grid}.accessible-relationship-start>strong{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));grid-column:1/-1}.accessible-relationship-start label{min-width:0}.accessible-relationship-start label>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(6px * var(--app-text-scale,1)));text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;display:block}.accessible-relationship-start select{border:1px solid var(--control-border);background:var(--surface-overlay);width:100%;min-width:0;height:27px;color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));border-radius:5px;padding:0 5px}.accessible-relationship-start>button{grid-column:1/-1;justify-content:center;min-height:29px}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes drawer-in{0%{opacity:.65;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes status-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop,.billing-backdrop,.source-inspector-backdrop{animation:modal-backdrop-in var(--motion-base) ease-out}.connect-modal,.formula-modal,.schema-field-modal,.schema-table-modal,.filter-modal,.report-modal,.delete-source-modal,.replace-source-modal,.source-workspace-modal,.billing-modal,.confirm-modal,.report-picker-modal,.conditional-modal,.derived-query-modal,.source-changes-modal{transform-origin:50%;animation:modal-in var(--motion-slow) var(--ease-emphasized)}.source-inspector{animation:drawer-in var(--motion-slow) var(--ease-emphasized)}.context-menu,[role=menu]{transform-origin:0 0;animation:menu-in var(--motion-base) var(--ease-emphasized)}.connection-result,.source-message,.live-sample-status,.layout-saving,.layout-error,.inspector-mutation-error{animation:status-in var(--motion-base) var(--ease-emphasized)}.panel,.source-table,.quick-panel>button,.embed-list-item,.semantic-catalog-tables details,.catalog-relationships article,.connector-grid button,.chart-picker button,.new-field,.draggable-field,.report-tabs button{transition:transform var(--motion-base) var(--ease-standard), border-color var(--motion-base) ease, background-color var(--motion-base) ease, color var(--motion-base) ease, box-shadow var(--motion-base) ease, opacity var(--motion-base) ease}.metric-card{transition:transform var(--motion-base) var(--ease-standard), border-color var(--motion-base) ease, box-shadow var(--motion-base) ease}.quick-panel>button:active,.embed-list-select:active,.connector-grid button:active,.chart-picker button:active,.new-field:active{transform:scale(.99)}.icon-button,.source-actions button,.field-menu-trigger,.canvas-page-head button,.dashboard-widget>header button,.dashboard-resize{transition:transform var(--motion-fast) var(--ease-standard), color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease}.section-loading p{margin-top:10px}.section-loading{animation:status-in var(--motion-base) ease-out}.report-body{transition:grid-template-columns var(--motion-slow) var(--ease-emphasized)}.report-body.panel-data-open{grid-template-columns:var(--palette-width,260px) minmax(0, 1fr) 0}.report-body.panel-visual-open{grid-template-columns:0 minmax(0,1fr) 300px}.report-body.panels-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.builder-side-panel{min-width:0;transition:opacity var(--motion-base) ease, transform var(--motion-slow) var(--ease-emphasized), visibility 0s linear 0s;overflow:hidden}.builder-side-panel.is-open{opacity:1;visibility:visible;transform:translate(0)}.builder-side-panel.is-collapsed{opacity:0;visibility:hidden;pointer-events:none}.builder-side-panel.field-palette.is-collapsed{transform:translate(-8px)}.builder-side-panel.visual-inspector.is-collapsed{transform:translate(8px)}.builder-panel-switches{border:1px solid var(--control-border);background:var(--canvas-subtle);border-radius:7px;align-items:center;gap:3px;padding:2px;display:inline-flex}.builder-panel-switches button{min-width:29px;height:25px;color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.builder-panel-switches button.active{color:var(--accent-text);background:var(--surface-raised);box-shadow:0 1px 4px #222a3c21}.builder-panel-switches button:disabled{opacity:.42;cursor:not-allowed}.inspector-disclosure{border-bottom:1px solid #e8ebef}.inspector-disclosure-trigger{width:100%;min-height:40px;color:var(--text-secondary);background:var(--surface-raised);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));cursor:pointer;text-align:left;border:0;justify-content:space-between;align-items:center;padding:0 11px;font-weight:600;display:flex}.inspector-disclosure-trigger:hover{color:var(--accent-text);background:#fafbff}.inspector-disclosure-trigger svg{color:var(--text-muted);transition:transform var(--motion-base) var(--ease-standard)}.inspector-disclosure.is-open .inspector-disclosure-trigger svg{transform:rotate(180deg)}.inspector-disclosure-content{opacity:1;transition:grid-template-rows var(--motion-slow) var(--ease-emphasized), opacity var(--motion-base) ease;grid-template-rows:1fr;display:grid}.inspector-disclosure-content>div{min-height:0;overflow:hidden}.inspector-disclosure.is-collapsed .inspector-disclosure-content{opacity:0;grid-template-rows:0fr}.model-title strong{font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.model-title small,.report-actions>span,.report-tabs button,.report-tabs .view-tab-label,.live-sample-status strong,.config-section>p,.chart-picker legend{font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)))}.live-sample-status small,.config-section>label:not(.toggle-row),.config-section select,.inspector-filter-button,.toggle-row{font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)))}@media (width<=1280px){.app-shell{grid-template-columns:64px minmax(0,1fr);min-width:0}.nav-rail{padding:12px 8px}.logo{justify-content:center;padding:0}.logo>span,.workspace-switcher-copy,.workspace-switcher-chevron,.nav-rail nav button>span,.trial-card>div,.trial-card>svg{display:none}.workspace-switcher{margin:11px 3px 17px}.workspace-switcher-trigger{justify-content:center;width:44px;padding:6px;display:flex}.nav-rail nav button{justify-content:center;width:44px;height:40px;margin:2px auto;padding:0}.nav-rail nav button.active{box-shadow:inset 2px 0 #7380ff}.trial-card{background:0 0;border:0;margin:0 3px 3px;padding:4px;display:block}.trial-card button{width:100%;height:30px;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));padding:0}.nav-collapse-toggle{display:none}.studio-body{grid-template-columns:240px minmax(0,1fr) 300px}.report-body{grid-template-columns:200px minmax(0,1fr) 300px}.report-body.panel-data-open{grid-template-columns:var(--palette-width,200px) minmax(0, 1fr) 0}.report-body.panel-visual-open{grid-template-columns:0 minmax(0,1fr) 300px}.report-body.panels-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.global-search{width:160px}.global-search-wrap:focus-within .global-search{width:195px}.topbar{padding-inline:18px}}@media (width<=900px){.app-shell{grid-template-columns:56px minmax(0,1fr)}.nav-rail{padding-inline:5px}.global-search{width:128px}.global-search-wrap:focus-within .global-search{width:168px}.global-search kbd,.demo-badge{display:none}.topbar{height:56px;padding-inline:14px}.topbar-actions{gap:6px}.topbar .primary-button{padding-inline:9px}.source-table-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.source-table-panel>.panel-header{border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;margin-bottom:8px}.source-table.table-header{display:none}.source-table:not(.table-header){border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;min-height:0;margin-bottom:9px;padding:12px;box-shadow:0 5px 16px #1f27380a}.source-name{grid-area:1/1;min-width:0}.source-name>span{min-width:0}.source-name strong,.source-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-actions{grid-area:1/2;align-self:start}.source-status,.source-tables,.source-refresh,.source-cadence{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.source-status:before,.source-tables:before,.source-refresh:before,.source-cadence:before{content:attr(data-label);color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));letter-spacing:.04em;text-transform:uppercase;font-weight:700}.source-status:before{grid-row:1/span 2}.source-status>*{grid-column:2}.source-cadence:before{grid-row:1/span 3;align-self:start;margin-top:3px}.source-cadence>*{grid-column:2}.source-status{grid-area:2/1}.source-tables{grid-area:2/2}.source-refresh{grid-area:3/1}.source-cadence{grid-area:3/2;justify-self:end}.source-workspace-access{border-top:1px solid var(--line);grid-area:4/1/auto/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-top:9px}.source-workspace-access>button,.source-workspace-access>small{max-width:min(260px,45vw)}.report-library{gap:5px;padding-inline:8px}.report-library-label{display:none}.report-name-tabs>button{max-width:130px}.report-toolbar{padding-inline:7px;flex:none;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:56px;padding:6px 12px}.report-tabs{align-items:stretch;min-width:0;height:auto;min-height:40px}.report-tabs button{padding-inline:7px;flex-shrink:0;max-width:190px;height:auto;min-height:38px;padding:7px 10px}.report-actions{gap:4px;min-width:max-content}.report-actions>span{display:none}.builder-panel-switches{padding:1px}.builder-panel-switches button{min-width:27px;padding-inline:5px}.builder-panel-switches button span{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.report-actions .primary-button{width:32px;padding:0}.report-actions .primary-button>svg{margin:0}.report-actions .primary-button{font-size:0}.dashboard-view-grid{background-size:50% 92px,50% 92px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;display:grid;overflow:visible;min-height:0!important}.dashboard-view-grid>.dashboard-widget{position:relative;width:auto!important;height:clamp(270px,39vw,350px)!important;inset:auto!important}}@media (width<=1100px){.report-body,.report-body.panel-data-open,.report-body.panel-visual-open,.report-body.panels-collapsed{grid-template-columns:0 minmax(0,1fr) 0;position:relative}.report-body>.builder-side-panel{z-index:12;width:min(320px,100% - 24px);position:absolute;top:0;bottom:0}.report-body>.field-palette{border-right:1px solid var(--line);left:0;box-shadow:12px 0 28px #1f27381f}.report-body>.visual-inspector{border-left:1px solid var(--line);right:0;box-shadow:-12px 0 28px #1f27381f}.report-body>.builder-side-panel.is-collapsed{box-shadow:none}.report-body>.report-canvas{grid-column:2;min-width:0}.palette-resize-handle{display:none}}@media (width<=700px){.sftp-job-modal{border-radius:11px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.sftp-job-modal>header{min-height:64px;padding:9px 13px}.sftp-job-modal>header .modal-icon{display:none}.sftp-job-modal h2{font-size:calc(14px * var(--app-text-scale,1))}.sftp-job-body{gap:12px;padding:13px}.sftp-job-status,.sftp-form-grid.connection-grid,.sftp-auth-choice,.sftp-key-grid,.sftp-schedule-row,.sftp-job-status dl{grid-template-columns:minmax(0,1fr)}.sftp-form-grid .wide{grid-column:1}.sftp-inline-confirm{grid-template-columns:20px minmax(0,1fr)}.sftp-inline-confirm>button{grid-column:1/-1;width:100%}.sftp-job-modal>footer{flex-direction:column-reverse;align-items:stretch;padding:10px 13px}.sftp-job-modal>footer>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sftp-job-modal>footer>div>button{justify-content:center;width:100%}.sftp-job-modal>footer>.danger-text-button{align-self:flex-start}}@media (width<=600px){html,body,#root{width:100%;height:100dvh;min-height:100dvh}body{overscroll-behavior:none}.app-shell,.app-shell.nav-collapsed{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;height:100dvh}.main-shell{grid-area:1/1;min-width:0;min-height:0;max-height:none}.nav-rail,.app-shell.nav-collapsed .nav-rail{min-width:0;padding:4px 6px calc(4px + env(safe-area-inset-bottom));white-space:normal;border-top:1px solid #243042;flex-direction:row;grid-area:2/1}.nav-rail .logo,.nav-rail .nav-bottom,.nav-rail .nav-collapse-toggle{display:none}.nav-rail nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;width:100%;display:grid}.nav-rail nav button,.app-shell.nav-collapsed .nav-rail nav button{width:auto;min-width:0;height:48px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:7px;flex-direction:column;justify-content:center;gap:1px;margin:0;padding:3px 0 2px}.nav-rail nav button>span,.app-shell.nav-collapsed .nav-rail nav button>span{max-width:100%;font-size:max(var(--app-min-readable-text), calc(8px * var(--app-text-scale,1)));text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.nav-rail nav button.active,.app-shell.nav-collapsed .nav-rail nav button.active{box-shadow:inset 0 2px #7380ff}.topbar{gap:6px;height:56px;padding:0 8px 0 10px}.topbar h1{min-width:0;max-width:34vw;font-size:calc(14px * var(--app-text-scale,1));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{gap:3px;min-width:0}.mobile-workspace-switcher .workspace-switcher{margin:0}.mobile-workspace-switcher .workspace-switcher-trigger.compact{border-color:var(--control-border);background:var(--surface-sunken);width:40px;min-height:40px;padding:5px;display:flex}.mobile-workspace-switcher .workspace-icon{color:#4a56c4;background:#e9ecff}.topbar .primary-button{display:none}.global-search{width:min(128px,34vw)}.global-search-wrap:focus-within .global-search{width:min(150px,40vw)}.global-search-results{transform-origin:100% 0;width:min(290px,100vw - 20px);left:auto;right:0}.account-menu-popover{width:auto;max-height:min(78dvh,620px);inset:auto 8px calc(8px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);transform-origin:bottom;border-radius:16px;position:fixed}.account-menu-trigger{min-width:44px;min-height:44px;padding-inline:4px 2px}.account-menu-chevron{display:none}.report-library-actions{min-width:0}.report-library-actions .report-lens-chip{display:none}.report-library-actions>.report-filter-button{justify-content:center;width:28px;padding:0}.report-filter-button>span,.report-workspace-assignment>span{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.report-workspace-assignment{grid-template-rows:auto;grid-template-columns:14px minmax(0,1fr);height:auto;min-height:36px}.report-workspace-assignment>svg{grid-row:1}.report-workspace-assignment select{max-width:78px}.report-workspace-scope{max-width:82px}.overview-page,.sources-page,.embeds-page{max-width:none;padding:18px 12px 30px}.welcome-row,.page-intro{align-items:flex-start;gap:12px}.welcome-row>div,.page-intro>div{min-width:0}.welcome-row h2,.page-intro h2{font-size:calc(19px * var(--app-text-scale,1))}.welcome-row .primary-button,.welcome-row .secondary-button,.page-intro .primary-button{flex:none;padding-inline:10px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-block:17px 12px}.metric-card{grid-template-columns:32px minmax(0,1fr);gap:8px;min-height:118px;padding:12px}.metric-card .metric-icon{width:32px;height:32px}.metric-card>svg{display:none}.metric-card em{line-height:1.35}.overview-grid{grid-template-columns:minmax(0,1fr);gap:12px}.health-board{grid-template-columns:minmax(0,1fr);min-height:0}.panel-header{height:auto;min-height:58px;padding-block:10px}.quick-panel>button{grid-template-columns:40px minmax(0,1fr) auto;padding-inline:12px}.recent-thumb{width:40px}.catalog-head{flex-direction:column;align-items:stretch;gap:12px;min-width:0}.catalog-head>div:first-child{min-width:0}.catalog-actions{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;display:grid}.catalog-actions label,.catalog-actions select,.catalog-actions input{width:100%;min-width:0}.catalog-summary,.semantic-catalog-summary{flex-wrap:wrap;gap:8px 14px}.catalog-grid{grid-template-columns:minmax(0,1fr)}.catalog-relationships{border-top:1px solid var(--line);border-left:0}}@media (width<=640px){.dashboard-designer.dashboard-readonly{padding-inline:10px}.dashboard-view-grid{background-size:100% 92px,100% 92px;grid-template-columns:minmax(0,1fr);gap:10px;padding:8px}.dashboard-view-grid>.dashboard-widget{height:clamp(280px,66dvh,390px)!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-transition,.global-search-results,.modal-backdrop,.billing-backdrop,.source-inspector-backdrop,.workspace-switcher-backdrop,.workspace-switcher-dialog,.connect-modal,.formula-modal,.schema-field-modal,.schema-table-modal,.filter-modal,.report-modal,.delete-source-modal,.replace-source-modal,.source-workspace-modal,.sftp-job-modal,.billing-modal,.confirm-modal,.report-picker-modal,.conditional-modal,.derived-query-modal,.source-changes-modal,.source-inspector,.context-menu,[role=menu],.table-visual thead th.table-column-settling,.table-visual tbody td.table-column-settling,.table-visual tfoot td.table-column-settling{animation:none}.builder-side-panel,.report-body{transition:none}.auth-product-preview,.auth-header-sign-in:hover,.auth-primary-cta:hover,.auth-secondary-cta:hover,.visual-wizard-dropzone.is-dragging,.visual-recommendation-card:hover{transform:none}}.studio-body{transition:grid-template-columns var(--motion-slow) var(--ease-emphasized)}.studio-body.model-inspector-open{grid-template-columns:260px minmax(0,1fr) 300px}.studio-body.model-inspector-collapsed{grid-template-columns:260px minmax(0,1fr) 0}.model-inspector-panel{background:var(--surface-raised);min-width:0;height:100%;min-height:0;animation:model-inspector-in var(--motion-slow) var(--ease-emphasized);display:flex;overflow:hidden}.model-inspector-panel>.relationship-inspector{flex:1;min-width:0;height:100%;min-height:0;overflow:hidden}.model-inspector-panel>.empty-inspector{overflow-y:auto}.model-inspector-toggle{z-index:6;border:1px solid var(--control-border);min-height:30px;color:var(--text-secondary);background:var(--surface-overlay);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-weight:650;display:inline-flex;position:absolute;top:10px;right:12px;box-shadow:0 5px 15px #232b3a12}.model-inspector-toggle:hover,.model-inspector-toggle.active{color:var(--accent-text);background:var(--accent-soft);border-color:#cdd2fb}.model-inspector-toggle small{min-width:17px;height:17px;color:var(--accent-text);background:var(--accent-soft);font-size:max(var(--app-min-readable-text), calc(7px * var(--app-text-scale,1)));border-radius:9px;place-items:center;padding:0 4px;display:grid}@keyframes model-inspector-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media (width<=1280px){.studio-body.model-inspector-open{grid-template-columns:240px minmax(0,1fr) 300px}.studio-body.model-inspector-collapsed{grid-template-columns:240px minmax(0,1fr) 0}}@media (width<=1100px){.studio-body.model-inspector-open,.studio-body.model-inspector-collapsed{grid-template-columns:240px minmax(0,1fr) 0;position:relative}.studio-body>.model-inspector-panel{z-index:12;border-left:1px solid var(--line);width:min(340px,100% - 16px);position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 28px #1f27381f}}.toast-host{z-index:1000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:min(460px,100vw - 24px);display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--surface-raised);width:100%;color:var(--text-primary);font-size:var(--app-min-readable-text);border:1px solid #dbe0ea;border-radius:10px;align-items:center;gap:9px;padding:10px 10px 10px 13px;animation:3s forwards toast-life;display:flex;box-shadow:0 12px 30px #1c24362e}.toast>svg:first-child{flex:none}.toast>span{flex:1;min-width:0}.toast button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.toast button:hover{color:var(--text-secondary);background:#eef0f4}.toast-success{border-color:var(--success-border)}.toast-success>svg:first-child{color:var(--success)}.toast-error{border-color:var(--danger-border)}.toast-error>svg:first-child{color:var(--danger)}.toast-info>svg:first-child{color:var(--accent-text)}@keyframes toast-life{0%{opacity:0;transform:translateY(-18px)}6%{opacity:1;transform:translateY(0)}90%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.conditional-open-button{justify-content:center;width:100%}.model-empty-lens{z-index:6;background:color-mix(in srgb, var(--surface,#f7f8fb) 88%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.model-empty-lens-card{text-align:center;background:var(--surface-raised);border:1px solid #e2e6ee;border-radius:16px;flex-direction:column;align-items:center;gap:6px;max-width:420px;padding:30px 30px 26px;display:flex;box-shadow:0 20px 50px #1c253629}.model-empty-lens-icon{width:54px;height:54px;color:var(--accent-text);background:linear-gradient(180deg, var(--accent-soft), #e4e7ff);border-radius:14px;place-items:center;margin-bottom:4px;display:grid}.model-empty-lens-card h3{font-size:calc(16px * var(--app-text-scale,1));color:var(--text-primary);margin:0}.model-empty-lens-card p{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));margin:0;line-height:1.6}.model-empty-lens-form{gap:8px;width:100%;margin-top:12px;display:flex}.model-empty-lens-form input{min-width:0;height:36px;font-size:var(--app-min-readable-text);border:1px solid #d5dae3;border-radius:8px;flex:1;padding:0 11px}.model-empty-lens-form .primary-button{white-space:nowrap}.model-empty-lens-note{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));margin-top:10px}.model-empty-lens-error{text-align:left;color:var(--danger-text);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));align-items:flex-start;gap:6px;margin-top:10px;display:flex}.model-empty-lens-error svg{flex:none;margin-top:2px}.model-empty-datasets .primary-button{margin-top:12px}.conditional-modal{background:var(--surface-raised);border-radius:12px;flex-direction:column;width:min(680px,96vw);max-height:86vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #1e263747}.conditional-modal>header{border-bottom:1px solid #eceff3;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.conditional-modal>footer{background:var(--surface-subtle);border-top:1px solid #eceff3;justify-content:flex-end;align-items:center;gap:7px;min-height:59px;padding:0 18px;display:flex}.conditional-body{flex:1;min-height:0;padding:16px 18px;overflow:auto}.header-color-row{flex-wrap:wrap;gap:26px;display:flex}.color-input{align-items:center;gap:6px;display:inline-flex}.color-input.swatch-only input[type=color]{width:48px;height:32px}.color-input.swatch-only small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)))}.color-input.swatch-only .color-clear{width:auto;height:26px;font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));gap:4px;padding:0 9px}.color-input input[type=color]{border:1px solid var(--control-border);cursor:pointer;background:0 0;border-radius:6px;width:34px;height:30px;padding:0}.color-input input[type=text]{border:1px solid var(--control-border);width:90px;height:30px;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));border-radius:6px;padding:0 8px}.color-input.mini em{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));font-style:normal}.color-clear{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:#f0f2f5;border:0;border-radius:5px;place-items:center;display:grid}.conditional-rules-head{justify-content:space-between;align-items:center;margin:18px 0 10px;display:flex}.conditional-rules-head h3{color:var(--text-primary);font-size:var(--app-min-readable-text);margin:0}.conditional-rule{background:var(--surface-subtle);border:1px solid #e6eaf0;border-radius:9px;flex-direction:column;gap:9px;margin-bottom:10px;padding:11px;display:flex}.conditional-rule-when{align-items:center;gap:7px;display:flex}.conditional-rule-when>span{color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));font-weight:600}.conditional-rule-when select,.conditional-rule-when input{border:1px solid var(--control-border);height:30px;font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));background:var(--surface-overlay);border-radius:6px;padding:0 8px}.conditional-rule-when select{flex:1;min-width:0}.conditional-rule-when input{flex:1;min-width:60px}.conditional-remove{border:1px solid var(--danger-border);background:var(--surface-raised);width:28px;height:28px;color:var(--danger-text);cursor:pointer;border-radius:6px;flex:none;place-items:center;display:grid}.conditional-rule-opts{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.conditional-rule-opts label{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));align-items:center;gap:5px;display:inline-flex}.target-toggle{border:1px solid var(--control-border);border-radius:7px;margin-left:auto;display:inline-flex;overflow:hidden}.target-toggle button{background:var(--surface-raised);color:var(--text-muted);font-size:max(var(--app-min-readable-text), calc(10px * var(--app-text-scale,1)));cursor:pointer;border:0;padding:5px 12px;font-weight:600}.target-toggle button.active{background:var(--accent);color:var(--accent-contrast)}.conditional-rule-style{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.style-toggle{border:1px solid var(--control-border);background:var(--surface-raised);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:6px;place-items:center;display:grid}.style-toggle.active{color:var(--accent-text);background:#f6f5ff;border-color:#7682ff}.table-visual tfoot td{z-index:2;color:var(--text-primary);background:#f4f6f9;border-top:2px solid #d3d9e2;font-weight:700;position:sticky;bottom:0}.table-visual .table-virtual-spacer td{visibility:hidden;border:0;height:auto;padding:0}.config-text-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.config-text-row>span{align-items:center;gap:7px;display:inline-flex}.config-text-row input{border:1px solid var(--control-border);width:120px;height:28px;font-size:max(var(--app-min-readable-text), calc(9px * var(--app-text-scale,1)));border-radius:6px;padding:0 8px}:root{--explorer-body:calc(14px * var(--app-text-scale,1));--explorer-meta:calc(13px * var(--app-text-scale,1));--explorer-fine:calc(13px * var(--app-text-scale,1))}.draggable-field{font-size:var(--explorer-body);min-height:calc(38px * var(--app-text-scale,1));height:auto}.draggable-field small{font-size:var(--explorer-fine);color:var(--warning-text)}.draggable-field-row .field-menu-trigger{top:50%;transform:translateY(-50%)}.palette-table>p{height:auto;min-height:36px;padding:7px 10px}.palette-table>p span{font-size:var(--explorer-body)}.palette-table>p small{font-size:var(--explorer-meta)}.palette-table.derived-query-table>p span em{font-size:var(--explorer-fine)}.palette-search{min-height:calc(32px * var(--app-text-scale,1))}.palette-search input{font-size:var(--explorer-body)}.palette-help{font-size:var(--explorer-meta)}.new-field{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));min-height:calc(32px * var(--app-text-scale,1))}.model-data-panel .schema-field{font-size:var(--explorer-body);min-height:calc(36px * var(--app-text-scale,1))}.model-data-panel .schema-field-copy small{font-family:ui-monospace,monospace;font-size:var(--explorer-fine)}.model-data-panel .schema-field>svg,.model-data-panel .schema-field>small{font-size:var(--explorer-fine)}.model-data-panel .schema-field.calculated-field,.model-data-panel .schema-table>div:first-child{min-height:calc(30px * var(--app-text-scale,1))}.model-data-panel .schema-table>div:first-child strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--explorer-body);overflow:hidden}.model-data-panel .schema-table>div:first-child small{font-size:var(--explorer-meta)}.model-data-panel .model-source-head{min-height:calc(40px * var(--app-text-scale,1))}.model-data-panel .model-source-head strong{font-size:var(--explorer-body)}.model-data-panel .model-source-toggle{min-height:calc(40px * var(--app-text-scale,1))}.model-data-panel .model-source-rename-input{min-height:calc(30px * var(--app-text-scale,1));font-size:var(--explorer-body)}.model-data-panel .model-label-hint{font-size:var(--explorer-meta)}.model-data-panel .add-formula-button strong{font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)))}.model-data-panel .add-formula-button small{font-size:var(--explorer-fine)}.panel-title-actions{align-items:center;gap:2px;display:flex}:root[data-app-theme=dark] .main-shell,:root[data-app-theme=dark] .page-content,:root[data-app-theme=dark] .model-studio,:root[data-app-theme=dark] .report-studio,:root[data-app-theme=dark] .studio-body,:root[data-app-theme=dark] .report-body{color:var(--text-primary);background:var(--canvas-subtle)}:root[data-app-theme=dark] :is(.global-search-results,.account-menu-popover,.workspace-switcher-dialog,.panel,.metric-card,.health-board>div>span,.health-board>section,.quick-panel>button,.context-menu,.source-inspector,.source-inspector-tabs,.source-inspector-scroll section,.source-data-toolbar,.source-data-grid-wrap,.source-data-grid th,.source-data-grid td,.connect-modal,.confirm-modal,.formula-modal,.schema-field-modal,.schema-table-modal,.filter-modal,.report-modal,.delete-source-modal,.replace-source-modal,.source-workspace-modal,.derived-query-modal,.connector-grid button,.catalog-columns,.semantic-catalog-tables details,.catalog-relationships article,.studio-toolbar,.model-data-panel,.relationship-inspector,.model-inspector-panel,.table-node,.formula-fields,.formula-fields button,.report-library,.report-toolbar,.report-picker-modal,.dashboard-widget,.field-palette,.visual-inspector,.canvas-page,.drop-role.filled,.chart-picker button,.table-visual,.table-column-picker select,.new-field,.embed-list-item,.mini-chart,.visibility-picker label,.private-access-grid>label,.embed-access-editor,.embed-document,.embed-view,.catalog-actions label,.billing-modal>header,.billing-modal>footer,.usage-panel,.plan-options,.plan-options article,.toast,.model-empty-lens-card,.conditional-modal,.conditional-rule,.conditional-rule-when select,.conditional-rule-when input,.target-toggle button,.style-toggle){color:var(--text-secondary);border-color:var(--line);background:var(--surface-raised)}:root[data-app-theme=dark] :is(.global-search kbd,.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true],.workspace-option-list>div>button,.health-board,.quick-panel>button:hover,.source-table.table-header,.source-maintenance,.source-inspector-scroll,.source-inspector-data,.source-data-result-head,.source-data-grid thead th,.source-data-grid .source-data-row-number,.source-data-footnote,.confirm-modal>footer,.connect-modal>footer,.formula-modal>footer,.schema-field-modal>footer,.schema-table-modal>footer,.filter-modal>footer,.report-modal>footer,.delete-source-modal>footer,.replace-source-modal>footer,.source-workspace-modal>footer,.catalog-manual,.upload-zone,.derived-query-preview>div:first-child,.derived-query-modal>footer,.filter-builder-row,.active-filter-list>div:first-child,.physical-field,.formula-layout>aside,.formula-mode-tabs,.formula-editor textarea,.conditional-formula-row,.formula-null-value,.conditional-expression-preview,.report-picker-table thead th,.dashboard-widget>header,.palette-search,.drop-role,.filter-drop,.live-sample-status,.table-column-toolbar,.table-visual th,.table-layout-toggle>div,.embed-access-panel,.embed-signin-note,.embed-redacted-note,.page-intro>.permission-note,.panel-permission-note,.embed-error,.embed-loading,.catalog-summary,.semantic-catalog-summary,.catalog-fields>span,.catalog-relationships,.billing-modal,.conditional-modal>footer,.table-visual tfoot td){color:var(--text-secondary);border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] :is(.icon-button,.schedule-select,.source-maintenance>button,.source-table-preview-button,.source-field-settings-button,.field-label input,.field-label select,.connection-options select,.derived-query-form input,.derived-query-form textarea,.filter-builder-row select,.filter-builder-row input,.align-picker button,.text-style-picker button,.formula-layout>aside>select,.formula-metadata-grid select,.formula-functions button,.conditional-formula input,.conditional-formula select,.report-name-editor,.report-workspace-assignment,.report-workspace-assignment select,.report-actions>button:not(.primary-button),.toolbar-center label.model-filter,.model-filter select,.toolbar-center>button,.table-column-alias-input,.config-section select,.inspector-filter-button,.publish-section>button,.embed-access-entry-row input,.catalog-actions select,.catalog-actions input,.model-empty-lens-form input,.color-input input[type=text],.config-text-row input){color:var(--text-primary);border-color:var(--control-border);background:var(--surface-overlay)}:root[data-app-theme=dark] :is(input,select,textarea){color:var(--text-primary);caret-color:var(--text-primary)}:root[data-app-theme=dark] select,:root[data-app-theme=dark] textarea,:root[data-app-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){border-color:var(--control-border);background-color:var(--surface-overlay)}:root[data-app-theme=dark] option{color:var(--text-primary);background:var(--surface-overlay)}:root[data-app-theme=dark] :is(input,textarea)::placeholder{color:var(--text-faint)}:root[data-app-theme=dark] :is(select,input,textarea):disabled{color:var(--text-faint);background-color:var(--surface-sunken)}:root[data-app-theme=dark] .secondary-button:hover,:root[data-app-theme=dark] .icon-button:hover,:root[data-app-theme=dark] .workspace-option-list>div>button:hover,:root[data-app-theme=dark] .global-search-results button:hover,:root[data-app-theme=dark] .global-search-results button:focus-visible,:root[data-app-theme=dark] .context-menu button:hover,:root[data-app-theme=dark] .context-menu button:focus-visible,:root[data-app-theme=dark] .source-maintenance>button:hover:not(:disabled),:root[data-app-theme=dark] .draggable-field:hover,:root[data-app-theme=dark] .chart-picker button:hover,:root[data-app-theme=dark] .embed-list-item.active{color:var(--accent-text);background:var(--surface-hover)}:root[data-app-theme=dark] :is(.topbar h1,.panel-header h3,.panel-title h3,.page-intro h2,.welcome-row h2,.account-menu-identity-copy strong,.workspace-switcher-dialog h2,.metric-card strong,.health-board>div strong,.quick-panel>button strong,.source-name strong,.source-inspector h2,.source-inspector h3,.source-data-result-head strong,.confirm-modal h2,.connect-modal h2,.formula-modal h2,.schema-field-modal h2,.schema-table-modal h2,.filter-modal h2,.report-modal h2,.delete-source-modal h2,.replace-source-modal h2,.source-workspace-modal h2,.derived-query-modal h2,.model-title strong,.table-node strong,.report-name-tabs strong,.dashboard-widget strong,.canvas-page-head input,.visual-header,.kpi-preview strong,.table-visual th,.embed-list-item strong,.embed-empty-state h3,.embed-detail-head h3,.private-access-grid strong,.embed-access-editor>label,.embed-view h1,.catalog-head h2,.catalog-tables strong,.semantic-catalog-tables strong,.billing-modal h2,.usage-panel h3,.plan-options h3,.report-empty-state h2,.model-empty-lens-card h3,.conditional-rules-head h3){color:var(--text-primary)}:root[data-app-theme=dark] :is(.account-menu-mode,.workspace-switcher-body>p,.workspace-option-list small,.source-name small,.source-workspace-access>small,.source-data-result-head small,.field-label-help,.modal-tabs button,.derived-query-modal>header p,.filter-modal-body>p,.model-label-hint,.schema-field-copy small,.relationship-inspector p,.empty-inspector p,.formula-layout small,.report-library-label,.report-tabs button,.palette-help,.draggable-field small,.live-sample-status small,.config-section>p,.table-column-toolbar,.table-visual td,.embed-empty-state p,.embed-list-item small,.private-access-grid small,.embed-access-help,.permission-note,.panel-permission-note,.catalog-summary,.semantic-catalog-summary,.catalog-no-relationships,.billing-modal p,.plan-options article p,.report-empty-state>p,.model-empty-lens-card p,.model-empty-lens-note,.conditional-rule-when>span,.conditional-rule-opts label,.color-input small){color:var(--text-muted)}:root[data-app-theme=dark] .panel-header,:root[data-app-theme=dark] .source-maintenance,:root[data-app-theme=dark] .source-data-toolbar,:root[data-app-theme=dark] .source-data-result-head,:root[data-app-theme=dark] .report-library,:root[data-app-theme=dark] .dashboard-widget>header,:root[data-app-theme=dark] .chart-picker,:root[data-app-theme=dark] .table-column-toolbar,:root[data-app-theme=dark] .table-visual th,:root[data-app-theme=dark] .table-visual td{border-color:var(--line)}:root[data-app-theme=dark] .modal-backdrop,:root[data-app-theme=dark] .billing-backdrop,:root[data-app-theme=dark] .source-inspector-backdrop,:root[data-app-theme=dark] .workspace-switcher-backdrop{background:var(--backdrop)}:root[data-app-theme=dark] :is(.account-menu-popover,.global-search-results,.context-menu){box-shadow:var(--shadow-overlay)}:root[data-app-theme=dark] .report-canvas{background-color:#0d1420;background-image:linear-gradient(45deg,#151e2b 25%,#0000 25%),linear-gradient(-45deg,#151e2b 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#151e2b 75%),linear-gradient(-45deg,#0000 75%,#151e2b 75%)}:root[data-app-theme=dark] .dashboard-grid{border-color:var(--line);background-color:#101722;background-image:linear-gradient(90deg,#52637c40 1px,#0000 1px),linear-gradient(#52637c33 1px,#0000 1px)}:root[data-app-theme=dark] .model-canvas,:root[data-app-theme=dark] .react-flow{background:#0d1420}:root[data-app-theme=dark] .react-flow__background pattern circle{fill:#334155}:root[data-app-theme=dark] .react-flow__controls,:root[data-app-theme=dark] .react-flow__minimap{border-color:var(--line);background:var(--surface-overlay)}:root[data-app-theme=dark] .react-flow__controls-button{color:var(--text-secondary);border-color:var(--line);background:var(--surface-overlay);fill:currentColor}:root[data-app-theme=dark] .react-flow__controls-button:hover{background:var(--surface-hover)}:root[data-app-theme=dark] .recharts-cartesian-grid line{stroke:#2b3748}:root[data-app-theme=dark] .recharts-cartesian-axis-tick-value,:root[data-app-theme=dark] .recharts-label-list text,:root[data-app-theme=dark] .recharts-legend-item-text{fill:#a9b6c8!important;color:#a9b6c8!important}:root[data-app-theme=dark] .recharts-tooltip-wrapper .recharts-default-tooltip{box-shadow:var(--shadow-overlay);border-color:var(--control-border)!important;color:var(--text-primary)!important;background:var(--surface-overlay)!important}:root[data-app-theme=dark] .recharts-tooltip-item,:root[data-app-theme=dark] .recharts-tooltip-label{color:var(--text-primary)!important}:root[data-app-theme=dark] .recharts-tooltip-cursor{fill:#8590ff14}:root[data-app-theme=dark] .source-data-grid tbody tr:nth-child(2n) :is(td,th){background:var(--surface-subtle)}:root[data-app-theme=dark] .table-visual tbody tr:hover td{background-color:var(--surface-hover)}:root[data-app-theme=dark] .field-drag-preview{color:var(--text-primary);border-color:var(--control-border);background:var(--surface-overlay);box-shadow:var(--shadow-overlay)}:root[data-app-theme=dark] .field-drag-preview-copy strong{color:var(--text-primary)}:root[data-app-theme=dark] .field-drag-preview-copy small{color:var(--text-muted)}:root[data-app-theme=dark] .account-menu-mode{color:var(--text-muted);border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] .account-menu-action{color:var(--text-secondary)}:root[data-app-theme=dark] .account-menu-action:hover:not(:disabled){color:var(--accent-text);background:var(--accent-soft)}:root[data-app-theme=dark] .account-menu-action:disabled{color:var(--text-faint)}:root[data-app-theme=dark] .table-node header{border-color:var(--line);background:linear-gradient(var(--surface-overlay), var(--surface-raised))}:root[data-app-theme=dark] .table-node :is(header small,header em){color:var(--text-muted)}:root[data-app-theme=dark] .table-node .table-field:hover{background:var(--surface-hover)}:root[data-app-theme=dark] .table-column-empty{color:var(--text-muted);border-color:var(--control-border-strong);background:color-mix(in srgb, var(--surface-raised) 76%, transparent)}:root[data-app-theme=dark] .table-column-actions button:hover{color:var(--accent-text);background:var(--accent-soft)}:root[data-app-theme=dark] .source-workspace-access>button{color:var(--accent-text);border-color:var(--control-border);background:var(--accent-soft)}:root[data-app-theme=dark] .source-workspace-access>button:hover,:root[data-app-theme=dark] .source-context-target:focus-visible{background:#263153}:root[data-app-theme=dark] .model-source-alert{color:#c9d1ff;box-shadow:var(--shadow-overlay);background:#1d2747;border-color:#3d4d86}:root[data-app-theme=dark] .model-source-alert strong{color:#eef0ff}:root[data-app-theme=dark] .model-source-alert-dismiss{color:#aeb6d9}:root[data-app-theme=dark] .model-source-alert-dismiss:hover{color:#e5e8ff;background:#303c67}:root[data-app-theme=dark] .accessible-relationship-start{color:var(--text-secondary);border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] .accessible-relationship-start>strong{color:var(--text-primary)}:root[data-app-theme=dark] .accessible-relationship-start label>span{color:var(--text-muted)}:root[data-app-theme=dark] .accessible-relationship-start select{color:var(--text-primary);border-color:var(--control-border);background:var(--surface-overlay)}:root[data-app-theme=dark] .palette-table>p{color:var(--text-secondary)}:root[data-app-theme=dark] .palette-table>p:hover{color:var(--accent-text)}:root[data-app-theme=dark] .palette-table>p small{color:var(--text-muted)}:root[data-app-theme=dark] .draggable-field{color:var(--text-secondary)}:root[data-app-theme=dark] .draggable-field>span:nth-child(2){color:var(--text-muted);background:var(--surface-hover)}:root[data-app-theme=dark] .model-source-head{background:var(--surface-sunken)}:root[data-app-theme=dark] .model-source-head :is(strong,svg),:root[data-app-theme=dark] .schema-table>div:first-child{color:var(--text-secondary)}:root[data-app-theme=dark] .schema-table>div:first-child small{color:var(--text-muted)}:root[data-app-theme=dark] .schema-field{color:var(--text-secondary)}:root[data-app-theme=dark] .schema-field:hover{color:var(--accent-text);background:var(--surface-hover)}:root[data-app-theme=dark] .add-formula-button{color:var(--accent-text);border-color:var(--line);background:var(--surface-raised)}:root[data-app-theme=dark] .add-formula-button strong{color:var(--text-primary)}:root[data-app-theme=dark] .add-formula-button small{color:var(--text-muted)}:root[data-app-theme=dark] .relationship-pair{color:var(--text-secondary);background:var(--surface-sunken)}:root[data-app-theme=dark] .relationship-pair small{color:var(--text-muted)}:root[data-app-theme=dark] .relationship-pair strong{color:var(--text-primary)}:root[data-app-theme=dark] .relationship-inspector>footer{border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] .inspector-tip{color:#aeb6ff;background:#202a49}:root[data-app-theme=dark] .model-label-hint{color:var(--text-muted);border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] .lens-select{color:var(--accent-text);border-color:var(--control-border);background:var(--accent-soft)}:root[data-app-theme=dark] .lens-select select{color:var(--text-primary)}:root[data-app-theme=dark] .canvas-hint{color:var(--text-secondary);border-color:var(--control-border);background:color-mix(in srgb, var(--surface-overlay) 94%, transparent);box-shadow:var(--shadow-subtle)}:root[data-app-theme=dark] .canvas-hint button{color:var(--text-muted)}:root[data-app-theme=dark] .schedule-select{color:var(--text-secondary);border-color:var(--control-border);background:var(--surface-overlay)}:root[data-app-theme=dark] .schedule-select select,:root[data-app-theme=dark] .schedule-select option{color:var(--text-primary);background:var(--surface-overlay)}:root[data-app-theme=dark] .usage-meter-grid article{border-color:var(--line);background:var(--surface-overlay)}:root[data-app-theme=dark] .usage-icon{color:var(--accent-text);background:var(--accent-soft)}:root[data-app-theme=dark] .usage-meter-grid small,:root[data-app-theme=dark] .billing-note,:root[data-app-theme=dark] .plan-options article p{color:var(--text-muted)}:root[data-app-theme=dark] .usage-meter-grid i{background:var(--surface-hover)}:root[data-app-theme=dark] .plan-options li{color:var(--text-secondary)}:root[data-app-theme=dark] .plan-options article.current{background:var(--accent-soft);border-color:#7a84ec}:root[data-app-theme=dark] .plan-options article button:not(:disabled){color:var(--text-secondary);border-color:var(--control-border);background:var(--surface-overlay)}:root[data-app-theme=dark] .plan-options article button:hover:not(:disabled){color:var(--accent-text);background:var(--accent-soft);border-color:#7a84ec}:root[data-app-theme=dark] .plan-options article button:disabled{color:var(--text-faint);border-color:var(--control-border);background:var(--surface-sunken)}:root[data-app-theme=dark] .plan-options article.current button:disabled{color:#fff;background:#626dcc;border-color:#7a84ec}@media (width<=640px){.workspace-members-backdrop,.source-ownership-backdrop{align-items:stretch;padding:8px}.workspace-members-modal,.source-ownership-modal{align-self:center;width:100%;max-height:calc(100dvh - 16px)}.workspace-member-add{grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:10px}.workspace-member-add>label:first-of-type,.workspace-member-add>label:nth-of-type(2){grid-area:auto/1;grid-template-rows:none;gap:5px}.workspace-member-add .primary-button{grid-area:auto/1;justify-content:center;justify-self:stretch}.workspace-member-row{grid-template-columns:34px minmax(0,1fr)}.workspace-member-role{grid-column:1/3}.workspace-member-remove{grid-column:1/3;justify-self:end}.workspace-role-guide,.workspace-settings-section>form,.workspace-delete-zone,.source-ownership-body fieldset,.connect-owner-picker>div{grid-template-columns:minmax(0,1fr)}.workspace-collaboration-card{flex-direction:column;align-items:stretch}.workspace-collaboration-card .secondary-button{justify-content:center}}@media (width<=600px){.workspace-error-actions{flex-direction:column;align-items:stretch;width:min(280px,100%)}.workspace-error-actions button{justify-content:center;width:100%}.billing-backdrop{padding:8px}.billing-modal{border-radius:12px;width:100%;max-height:calc(100dvh - 16px)}.billing-modal>header{align-items:flex-start;padding:15px 16px}.billing-modal>header>div:first-child{min-width:0}.billing-header-actions{flex-direction:column;align-items:flex-end}.billing-header-actions .secondary-button{padding-inline:10px}.billing-status-line{flex-direction:column;align-items:flex-start}.billing-modal>footer{flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px}.billing-modal>footer .primary-button{justify-content:center;width:100%}.billing-body{padding:12px}.usage-panel,.plan-options{padding:13px}.usage-meter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.usage-meter-grid article{gap:8px;min-width:0;padding:9px}.usage-meter-grid article div>span{flex-direction:column;align-items:flex-start;gap:2px}.plan-options>div:last-child{grid-template-columns:minmax(0,1fr)}.plan-options article{padding:12px}.plan-options article p,.plan-options ul{min-height:0}.model-studio .studio-toolbar{flex:none;grid-template-columns:minmax(0,1fr);gap:6px;min-height:0;padding:7px 8px}.model-studio .model-title{min-height:26px}.model-studio .toolbar-center,.model-studio .toolbar-actions{scrollbar-width:thin;width:100%;padding:2px;overflow:auto hidden}.model-studio .toolbar-center>*,.model-studio .toolbar-actions>*{flex:none}.model-studio .toolbar-center label{width:160px}.model-studio .toolbar-center label.model-filter{width:112px}.model-studio .toolbar-actions{justify-content:flex-start}.model-studio .studio-body.model-inspector-open,.model-studio .studio-body.model-inspector-collapsed{grid-template-rows:minmax(190px,38%) minmax(240px,1fr);grid-template-columns:minmax(0,1fr);position:relative}.model-studio .model-data-panel{border-right:0;border-bottom:1px solid var(--line);grid-area:1/1;min-width:0}.model-studio .model-canvas{grid-area:2/1}.model-studio .studio-body>.model-inspector-panel{width:min(330px,92vw);top:0;bottom:0;right:0}.report-studio .report-body,.report-studio .report-body.panel-data-open,.report-studio .report-body.panel-visual-open{grid-template-rows:minmax(270px,52%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.report-studio .report-body.panels-collapsed{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.report-studio .report-body>.builder-side-panel{border-left:0;border-right:0;border-bottom:1px solid var(--line);width:auto;min-width:0;box-shadow:none;grid-area:1/1;position:static}.report-studio .report-body>.builder-side-panel.is-collapsed{display:none}.report-studio .report-body>.report-canvas{grid-area:2/1;width:100%;min-width:0;padding:10px}.report-studio .report-body.panels-collapsed>.report-canvas{grid-row:1}.report-studio .canvas-page{min-width:0;padding:12px}.report-studio .canvas-page-head input{width:min(220px,100vw - 100px)}}:root[data-app-theme=dark] .source-data-toolbar select,:root[data-app-theme=dark] .source-data-toolbar option{color:var(--text-primary);border-color:var(--control-border);background:var(--surface-overlay)}:root[data-app-theme=dark] .sftp-job-modal{color:var(--text-secondary);border-color:var(--line);background:var(--surface-raised);box-shadow:var(--shadow-overlay)}:root[data-app-theme=dark] .sftp-job-modal>header,:root[data-app-theme=dark] .sftp-job-modal>footer{border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] .sftp-job-modal h2,:root[data-app-theme=dark] .sftp-job-loading>strong,:root[data-app-theme=dark] .sftp-auth-choice strong,:root[data-app-theme=dark] .sftp-enabled-toggle strong{color:var(--text-primary)}:root[data-app-theme=dark] .sftp-job-status,:root[data-app-theme=dark] #sftp-job-form fieldset,:root[data-app-theme=dark] .sftp-auth-choice>label,:root[data-app-theme=dark] .sftp-enabled-toggle{color:var(--text-secondary);border-color:var(--line);background:var(--surface-sunken)}:root[data-app-theme=dark] .sftp-auth-choice>label:has(input:checked){color:var(--accent-text);border-color:var(--control-border-strong);background:var(--accent-soft)}:root[data-app-theme=dark] .sftp-job-status dd,:root[data-app-theme=dark] #sftp-job-form legend,:root[data-app-theme=dark] #sftp-job-form label{color:var(--text-secondary)}:root[data-app-theme=dark] :is(.sftp-job-status dt,.sftp-job-status small,#sftp-job-form label>small,.sftp-auth-choice small,.sftp-enabled-toggle small,.sftp-job-loading>small){color:var(--text-muted)}:root[data-app-theme=dark] .sftp-job-status-badge.paused{color:var(--text-muted);background:var(--surface-overlay)}@media (forced-colors:active){.app-theme-options{forced-color-adjust:auto}.app-theme-options label.selected{outline-offset:-2px;outline:2px solid highlight}.app-theme-options label:has(input:focus-visible){outline-offset:1px;outline:2px solid highlight}.sftp-job-status-badge,.sftp-safety-note,.sftp-job-feedback,.sftp-inline-confirm{border:1px solid canvastext}}.chart-accessible-shell,.chart-visual-content,.chart-compact-shell{width:100%;min-width:0}.chart-accessible-shell{height:100%;min-height:0;position:relative}.chart-visual-content,.embed-preview-visual .chart-accessible-shell,.embed-preview-visual .chart-visual-content{height:100%;min-height:0}.mini-chart>.chart-compact-shell{width:100%;height:100%}.connection-fields{grid-template-columns:2fr 1fr;gap:12px;display:grid}.connection-fields .field-label{min-width:0;margin:0}.connection-help{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}.connection-fields select{text-overflow:ellipsis;width:100%;min-width:0}.connection-tls-settings{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;min-width:0;padding:12px}.connection-tls-settings summary{cursor:pointer;font-size:13px;font-weight:600}.connection-tls-settings .field-label{margin-top:14px}.connection-tls-settings small{color:var(--muted);line-height:1.5}.connection-tls-settings textarea{box-sizing:border-box;resize:vertical;overflow-wrap:anywhere;width:100%;min-width:0;font-family:monospace}.connection-mode{gap:8px;margin:14px 0;display:flex}.connection-mode button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;padding:8px 12px}.connection-mode button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.connect-modal{flex-direction:column;max-height:calc(100dvh - 32px);display:flex}.connect-modal>.modal-body{min-height:0;overflow-y:auto}.connect-modal>header,.connect-modal>footer,.connect-modal>.modal-tabs{flex-shrink:0}.sample-data-note{color:var(--muted);margin:0;padding:6px 0;font-size:12px;line-height:1.5}.getting-started{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.getting-started button{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;width:100%;height:100%;padding:14px;display:flex}.getting-started button>b{color:var(--accent)}.getting-started strong,.getting-started small{display:block}.getting-started strong{font-size:13px}.getting-started small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.45}.getting-started li.done button>b{color:var(--success-text);display:inline-flex}.getting-started li.done strong{color:var(--text-muted)}.getting-started-hide{grid-column:1/-1;justify-self:end}.getting-started-hide button{width:auto;height:auto;padding:6px 12px}.getting-started-done{color:var(--success-text);align-items:center;gap:8px;margin:16px 0;font-size:13px;display:flex}.getting-started-done button{color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}@media (width>=641px) and (width<=1280px){.app-shell:not(.nav-collapsed){grid-template-columns:216px minmax(0,1fr)}.app-shell:not(.nav-collapsed) .nav-rail{padding:14px 12px 12px}.app-shell:not(.nav-collapsed) .logo{justify-content:flex-start;padding:0 8px}.app-shell:not(.nav-collapsed) .logo>span,.app-shell:not(.nav-collapsed) .workspace-switcher-copy,.app-shell:not(.nav-collapsed) .workspace-switcher-chevron,.app-shell:not(.nav-collapsed) .nav-rail nav button>.nav-label-full{display:block}.app-shell:not(.nav-collapsed) .workspace-switcher-trigger{justify-content:flex-start;width:100%}.app-shell:not(.nav-collapsed) .nav-rail nav button{justify-content:flex-start;width:100%;padding:8px 10px}.nav-collapse-toggle{display:grid}.app-shell:not(.nav-collapsed) .nav-collapse-toggle{margin:0;position:absolute}}@media (width<=960px){.getting-started{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.connection-fields,.getting-started{grid-template-columns:minmax(0,1fr)}}.global-search-results button[aria-selected=true]{background:var(--accent-soft)}@media (width<=640px){.report-toolbar{flex:none;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:56px;padding:6px 12px}.report-tabs{align-items:stretch;width:100%;min-width:0;height:auto;min-height:40px}.report-tabs button{flex-shrink:0;max-width:190px;height:auto;min-height:38px;padding:7px 10px}.report-actions{flex-wrap:wrap;width:100%}.report-actions .builder-panel-switches{margin-right:auto}.report-actions>span.unsaved,.report-actions>span.refresh-error{white-space:normal;width:100%;max-width:100%;display:block}.chart-role-row{grid-template-columns:minmax(0,1fr)}.chart-role-row>button{min-height:36px}}.modal-backdrop>[role=dialog],.modal-backdrop>[role=alertdialog]{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}@media (width<=640px){.connect-modal .connector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.connect-modal .connection-options,.connect-owner-picker>div{grid-template-columns:minmax(0,1fr)}.connect-modal .connection-mode{flex-wrap:wrap}.modal-backdrop>[role=dialog]:not(.connect-modal),.modal-backdrop>[role=alertdialog]{overflow-y:auto}.catalog-columns{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:auto;max-height:min(420px,60dvh)}.catalog-schemas{border-right:0;border-bottom:1px solid var(--line);max-height:150px}.catalog-tables{min-height:0}.catalog-manual,.catalog-manual-schema{grid-template-columns:minmax(0,1fr)}.catalog-manual button{width:100%}.derived-query-form,.formula-layout{grid-template-columns:minmax(0,1fr)}.formula-layout>aside{border-right:0;border-bottom:1px solid var(--line)}.formula-fields{max-height:190px;overflow:auto}.filter-builder-row{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-builder-row .add-filter-button{grid-column:1/-1}}.embed-view-visual .chart-accessible-shell,.embed-view-visual .chart-visual-content{height:100%;min-height:0}.embed-view-visual{flex-basis:0}.embed-toolbar{font-size:var(--app-min-readable-text);z-index:10;flex-wrap:wrap;flex:none;align-items:center;gap:6px;margin-top:12px;display:flex;position:relative}.embed-search{border:1px solid var(--line,var(--control-border));border-radius:6px;flex:100px;align-items:center;gap:6px;min-width:100px;padding:0 9px;display:flex}.embed-search input{outline-offset:3px;width:100%;min-width:0;height:34px;color:inherit;font:inherit;background:0 0;border:0;padding:0}.embed-toolbar-button,.embed-filters summary{border:1px solid var(--line,var(--control-border));background:var(--surface,white);min-height:36px;color:inherit;cursor:pointer;font:inherit;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:7px 9px;display:flex}.embed-toolbar-button:disabled{cursor:wait;opacity:.6}.embed-filters summary{list-style:none}.embed-filters summary::-webkit-details-marker{display:none}.embed-filters[open] summary{background:var(--accent-soft,#edf0ff)}.embed-filter-panel{border:1px solid var(--line,var(--control-border));background:var(--surface,white);width:min(330px,100%);max-height:max(150px,100dvh - 175px);color:inherit;border-radius:8px;padding:14px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #0002}.embed-filter-panel p{margin:0 0 12px;line-height:1.5}.embed-filter-panel label,.embed-presentation>label{min-width:0;font-size:var(--app-min-readable-text);flex-direction:column;gap:5px;display:flex}.embed-filter-panel select,.embed-presentation select{border:1px solid var(--line,var(--control-border));background:var(--surface,white);width:100%;min-width:0;min-height:36px;color:inherit;font:inherit;border-radius:5px;padding:6px}.embed-filter-panel label+label,.embed-filter-panel>button{margin-top:10px}.embed-sort-controls{border-top:1px solid var(--line,var(--control-border));margin-top:14px;padding-top:12px}.embed-filter-chips{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.embed-filter-chips li{background:var(--accent-soft,#edf0ff);border-radius:5px;align-items:center;gap:6px;padding:4px 6px;display:flex}.embed-filter-chips li>span{overflow-wrap:anywhere;flex:1}.embed-filter-chips button{min-width:30px;min-height:30px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.embed-filter-status{font-size:var(--app-min-readable-text);flex:none;margin-top:8px}.embed-presentation{grid-template-columns:1.2fr 1fr 1fr;align-items:end;gap:12px;margin-top:18px;display:grid}.embed-presentation>.embed-interactive-option{flex-direction:row;align-items:center;min-height:36px}.embed-presentation input[type=checkbox]{flex-shrink:0;width:16px;height:16px}.embed-test-frame{border:1px solid var(--line,var(--control-border));background:var(--surface-raised);border-radius:8px;width:100%;margin-top:12px;display:block}.embed-link-warning{border-left:3px solid var(--warning);background:var(--warning-soft);font-size:var(--app-min-readable-text);margin:12px 0;padding:10px;line-height:1.5}.code-block textarea{resize:vertical;color:#e0e5ee;width:100%;min-height:92px;font:var(--app-min-readable-text)/1.5 ui-monospace, monospace;overflow-wrap:anywhere;background:#121b28;border:1px solid #354153;border-radius:5px;padding:8px;display:block}@media (width<=540px){.embed-presentation{grid-template-columns:1fr 1fr}.embed-presentation>.embed-interactive-option{grid-column:1/-1}.embed-view footer{flex-wrap:wrap;gap:4px 12px}}@media (height<=340px){.embed-view{padding:8px}.embed-view .eyebrow{display:none}.embed-view h1{font-size:14px}.embed-view footer{margin-top:4px;padding-top:4px}.embed-toolbar{margin-top:6px}}.embed-view h1,.embed-detail-head h3{font-family:Segoe UI,system-ui,sans-serif}.nav-rail nav button>.nav-label-mobile{display:none}@media (width<=600px){.nav-rail nav button>.nav-label-full,.app-shell.nav-collapsed .nav-rail nav button>.nav-label-full{display:none}.nav-rail nav button>.nav-label-mobile,.app-shell.nav-collapsed .nav-rail nav button>.nav-label-mobile{display:block}}.dashboard-layout{min-width:0;container-type:inline-size}.dashboard-layout-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:92px;padding:0;display:grid}.dashboard-layout-grid>.analytics-visual{flex-direction:column;min-height:0;margin:5px;display:flex;overflow:auto}.dashboard-layout-grid .analytics-chart{flex:1 0 140px;height:auto;min-height:140px}.dashboard-layout-grid .analytics-visual>header{flex:none;padding:12px}.dashboard-layout-grid .analytics-category-select{padding:8px 12px}.dashboard-layout-grid .analytics-table-controls{gap:6px 10px;padding:8px 12px}.dashboard-layout-grid .analytics-pagination{padding:8px 12px}@container (width<=900px){.dashboard-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:12px}.dashboard-layout-grid>.analytics-visual{min-height:420px;margin:0;grid-area:auto!important}}@container (width<=640px){.dashboard-layout-grid{grid-template-columns:minmax(0,1fr)}}.dashboard-export{width:1280px;color:var(--ink);background:var(--canvas);padding:28px}.dashboard-export-heading h1{overflow-wrap:anywhere;margin:0 0 8px;font-size:26px}.dashboard-export-heading p,.dashboard-export-note{color:var(--muted);font-size:12px}.dashboard-export .analytics-chart,.dashboard-export .analytics-visual{overflow:hidden}.dashboard-export .analytics-comparison{font-size:12px}.dashboard-export *{transition:none!important;animation:none!important}.edit-conflict-modal{width:min(980px,100vw - 32px);max-height:90vh;overflow:auto}.edit-conflict-modal pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:340px;font:inherit;margin:0;font-size:12px}.edit-conflict-modal .analytics-toolbar{justify-content:flex-end;margin-top:20px}.edit-conflict-modal th{text-transform:capitalize}.dashboard-layout-grid .kpi-preview{height:100%;min-height:0}.dashboard-export .analytics-chart{flex-basis:0;min-height:0}.analytics-saved-views{border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:16px}.analytics-relative-date{border:1px solid var(--line);border-radius:10px;min-width:0;margin:0 0 16px;padding:12px}.analytics-relative-date legend{padding:0 4px;font-weight:600}.analytics-form>.analytics-relative-date{grid-column:1/-1}.analytics-relative-date .analytics-caption{margin-bottom:0}.analytics-saved-views input,.analytics-relative-date input{max-width:100%}.analytics-page label.analytics-toggle{flex-direction:row;align-items:center;min-height:38px}.lens-datasets-button{border:1px solid var(--control-border);min-height:31px;color:var(--accent-text);background:var(--surface-overlay);white-space:nowrap;font-size:max(var(--app-min-readable-text), 12px);border-radius:7px;align-items:center;gap:5px;padding:4px 8px;display:inline-flex}.lens-datasets-button span{color:var(--text-muted)}.model-studio .studio-toolbar{flex:none;grid-template-columns:minmax(0,1fr) auto;min-height:54px;padding-block:8px}.model-studio .toolbar-center{flex-wrap:wrap;grid-area:2/1/auto/-1}.model-studio .toolbar-actions{flex-wrap:wrap}.model-view-tools{color:var(--text-secondary);background:var(--surface-raised);border-bottom:1px solid var(--line);font-size:max(var(--app-min-readable-text), 12px);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 14px;padding:8px 14px;display:flex}.model-view-tools label{align-items:center;gap:7px;min-width:0;display:flex}.model-view-tools select{border:1px solid var(--control-border);min-width:0;max-width:260px;color:var(--text-primary);background:var(--surface-overlay);border-radius:6px;padding:5px}.model-view-tools small{color:var(--text-muted);font-size:inherit}.model-source-head .schema-table-settings{flex-shrink:0}.schema-table-expand{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:2px 0;display:flex}.schema-table-expand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schema-table-expand svg{flex-shrink:0}.schema-table-expand .collapsed{transform:rotate(-90deg)}.lens-datasets-modal{flex-direction:column;display:flex}.lens-datasets-modal>header,.lens-datasets-modal>footer{flex-shrink:0}.lens-datasets-modal>header{height:auto;min-height:72px;padding-block:12px}.lens-datasets-modal h2{overflow-wrap:anywhere}.lens-datasets-modal .schema-field-body{min-height:0;overflow:auto}.lens-modal-help{color:var(--text-secondary);line-height:1.5}.lens-dataset-tools{gap:8px;display:flex}.lens-dataset-tools label{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.lens-dataset-tools input,.lens-dataset-tools select{width:100%;min-width:0;color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--control-border);font:inherit;border-radius:6px;padding:8px}.lens-dataset-tools select{width:auto;max-width:45%}.lens-dataset-summary{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), 12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lens-dataset-list{max-height:none;overflow:visible}.lens-dataset-list li{border:1px solid var(--line);border-radius:7px;align-items:center;gap:8px;padding-right:6px;display:flex}.lens-dataset-list li.included{background:var(--surface-sunken)}.lens-dataset-list li label{min-width:0;color:var(--text-primary);border:0;flex:1}.lens-dataset-list li label:hover{background:var(--surface-hover)}.lens-dataset-list input{flex-shrink:0;width:16px;height:16px}.lens-dataset-name{min-width:0;color:var(--text-primary);overflow-wrap:anywhere}.lens-dataset-name small{color:var(--text-muted);font-size:max(var(--app-min-readable-text), 12px);margin-top:4px;font-weight:400;display:block}.lens-dataset-list button{flex-shrink:0}.lens-dataset-empty{color:var(--text-muted)}.derived-query-modal>header,.derived-query-modal>footer{flex-shrink:0}.derived-query-scroll{overscroll-behavior:contain;min-height:0;overflow:auto}.derived-query-form>label{min-width:0}.derived-query-form label>span{color:var(--text-primary)}.derived-query-form label>small,.derived-query-form .derived-query-sql-help b{color:var(--text-muted)}.derived-query-form input,.derived-query-form textarea{color:var(--text-primary);border-color:var(--control-border)}.derived-query-form textarea{font-size:max(var(--app-min-readable-text), 12px)}.derived-query-guide{border:1px solid var(--line);color:var(--text-secondary);background:var(--surface-sunken);font-size:max(var(--app-min-readable-text), 12px);border-radius:8px;margin:0 18px 12px;padding:10px 12px;line-height:1.5}.derived-query-guide summary{cursor:pointer;color:var(--text-primary);font-weight:600}.derived-query-guide pre{background:var(--surface-overlay);border:1px solid var(--line);border-radius:6px;padding:10px;overflow-x:auto}.derived-query-limit-note{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), 12px);margin:0 18px 12px;line-height:1.5}.derived-query-save-hint{color:var(--text-secondary);font-size:max(var(--app-min-readable-text), 12px);line-height:1.4}.derived-query-preview{border-color:var(--line)}.derived-query-preview>div:first-child{background:var(--surface-sunken);flex-shrink:0}.derived-query-preview>div:first-child>span{grid-template-columns:18px minmax(0,1fr);column-gap:5px}.derived-query-preview>div:first-child small{color:var(--text-muted);grid-column:2}.derived-query-preview>div:first-child em{color:var(--accent-text);background:var(--accent-soft)}.derived-query-preview-grid{flex:0 auto}.derived-query-preview-grid thead th,.derived-query-preview-grid th:first-child{color:var(--text-primary);background:var(--surface-sunken)}.derived-query-preview-grid th small{color:var(--text-muted)}.derived-query-preview-grid td{color:var(--text-primary);background:var(--surface-raised)}.report-query-error{max-height:30vh;color:var(--danger-text);border-bottom:1px solid var(--danger-border);background:var(--danger-soft);font-size:max(var(--app-min-readable-text), 13px);flex-shrink:0;align-items:flex-start;gap:10px;padding:12px 16px;line-height:1.5;display:flex;overflow:auto}.report-query-error>svg{flex-shrink:0;margin-top:3px}.report-query-error>div{overflow-wrap:anywhere;flex:1;min-width:0}.report-query-error p{margin:4px 0 0}@media (width<=640px){.lens-switcher{flex-wrap:wrap}.model-studio .studio-toolbar{grid-template-columns:minmax(0,1fr)}.model-studio .toolbar-actions{justify-content:flex-start}.model-view-tools small{display:none}.model-view-tools select{max-width:210px}.derived-query-modal>footer{grid-template-columns:auto 1fr}.derived-query-save-hint{grid-column:2}.derived-query-form .derived-query-sql-help{flex-wrap:wrap}}.derived-rows-browser{flex-direction:column;gap:12px;min-width:0;height:100%;padding:18px;display:flex;overflow:auto}.derived-rows-browser>*{flex-shrink:0}.derived-rows-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.derived-rows-toolbar>div{flex:240px;min-width:0}.derived-rows-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;display:flex;flex:0 auto!important}.derived-rows-actions label{color:var(--text-faint);font-size:max(var(--app-min-readable-text), calc(11px * var(--app-text-scale,1)));gap:3px;display:grid}.derived-rows-actions select{min-height:32px}.derived-rows-toolbar p,.derived-rows-browser>p{margin:6px 0;line-height:1.5}.derived-rows-browser .source-data-grid-wrap{flex:none;height:min(40vh,420px);min-height:180px;overflow:auto}.derived-rows-pagination{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.derived-rows-browser [role=alert]{overflow-wrap:anywhere}.derived-rows-browser summary{cursor:pointer;font-weight:600}.derived-query-inspector-note{background:var(--surface-raised);color:var(--text-primary)}.derived-query-inspector-note small{color:var(--text-muted)}::placeholder{color:var(--text-muted);opacity:1}.report-tabs button.active .view-tab-label{color:var(--accent-contrast)}.report-workspace-scope{color:var(--accent-text);background:var(--accent-soft)}.builder-panel-switches button{height:auto;min-height:36px;padding:6px 9px}.report-filter-button,.builder-panel-switches button{color:var(--text-secondary)}.embed-customization-controls legend{color:var(--text-primary)}.report-actions{flex-wrap:wrap}.report-canvas,.model-data-panel,.source-data-toolbar label{min-width:0}.source-data-toolbar label{flex-basis:260px}.source-data-scope{max-width:100%}@media (width<=1100px){.report-toolbar{grid-template-columns:minmax(0,1fr)}.report-actions{justify-content:flex-start;min-width:0}.report-actions .builder-panel-switches{margin-right:auto}}@media (width<=640px){.derived-query-form{grid-template-columns:minmax(0,1fr);padding:14px}.derived-query-modal>footer{flex-wrap:wrap;padding:10px 14px;display:flex}.derived-query-modal>footer>span{flex-basis:100%}.derived-query-modal>footer>button{flex:130px}.source-data-toolbar{align-items:stretch}.source-data-scope{text-align:left}.report-tabs{min-height:42px}.report-actions{gap:6px}}.report-tabs-area{align-items:stretch;gap:4px;min-width:0;display:flex}.report-tabs-area>.report-tabs{flex:1}.report-tabs-area>.add-tab{border:1px solid var(--control-border);height:36px;color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;border-radius:7px;flex:0 0 34px;align-self:center;place-items:center;padding:0;display:grid}.report-tabs-area>.add-tab:hover{color:var(--accent-text);background:var(--accent-soft)}@media (width<=480px){.topbar{grid-template-columns:minmax(0,1fr);gap:6px;height:auto;min-height:88px;padding:8px 10px;display:grid}.topbar h1{max-width:none}.topbar-actions{width:100%}.global-search-wrap{flex:1;min-width:0}.global-search,.global-search-wrap:focus-within .global-search{width:100%;min-height:36px}.topbar-actions>:not(.global-search-wrap){flex-shrink:0}}.derived-query-guide pre:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.analytics-table-scroll:focus-visible,.workspace-members-body:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media (width<=640px){.model-studio{overscroll-behavior:contain;overflow-y:auto}.model-studio .studio-toolbar{grid-template-columns:minmax(0,1fr)}.model-studio .toolbar-actions{grid-area:3/1;justify-content:flex-start;overflow:visible}.model-studio .studio-body.model-inspector-open,.model-studio .studio-body.model-inspector-collapsed{flex:none;grid-template-rows:380px 380px;min-height:760px}.model-studio .model-view-tools label{flex-wrap:wrap}.model-studio .canvas-hint{display:none}.canvas-legend span:last-child{flex-basis:100%;margin-left:0}}
