.ui-button{font:inherit;font-size:var(--text-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:.45rem .9rem}.ui-button:hover{background:var(--color-surface-hover)}.ui-button[data-variant=primary]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.ui-button[data-variant=primary]:hover{background:var(--color-accent-hover)}.ui-button[data-variant=danger]{color:var(--color-danger-text);border-color:var(--color-danger)}.ui-button[data-variant=ghost]{background:0 0;border-color:#0000}.ui-button[data-variant=ghost]:hover{background:var(--color-surface-hover)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-icon{width:12px;height:12px;display:block}.ui-status{width:20px;height:20px;font-size:var(--text-2xs);color:var(--color-accent-text);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.ui-status-icon{width:8.8px;height:8.8px;display:block}.ui-status[data-clickable=true]{cursor:pointer}.ui-status[data-status=unconfigured]{background:var(--color-warning);color:var(--color-warning-on);font-weight:700}.ui-status[data-status=ready],.ui-status[data-status=stale]{background:var(--color-accent-subtle);color:var(--color-accent-hover)}.ui-status[data-status=running]{background:var(--color-accent);animation:1s ease-in-out infinite ui-status-pulse}.ui-status[data-status=complete]{background:var(--color-success)}.ui-status[data-status=failed]{background:var(--color-danger)}@keyframes ui-status-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.ui-status[data-status=running]{animation:none}}.ui-preview-backdrop{background:var(--backdrop);z-index:50;place-items:center;display:grid;position:fixed;inset:0}.ui-preview-card{--card-height:min(760px, 92vh);width:min(1100px,94vw);height:var(--card-height);background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-float);border-radius:12px;grid-template-rows:auto auto 1fr;display:grid;overflow:hidden}.ui-preview-card[data-maximised]{--card-height:calc(100vh - 2rem);width:calc(100vw - 2rem)}.ui-preview-header{border-bottom:1px solid var(--color-navy-line);background:var(--color-navy);font-weight:600;font-size:var(--text-sm);color:var(--color-on-navy);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.ui-preview-header .ui-button[data-variant=ghost]{color:var(--color-on-navy)}.ui-preview-header .ui-button[data-variant=ghost]:hover{background:var(--color-navy-hover)}.ui-preview-actions{align-items:center;gap:.5rem;display:flex}.ui-preview-window-controls{align-items:center;gap:.125rem;display:flex}.ui-preview-actions>:not(.ui-preview-window-controls)~.ui-preview-window-controls{border-left:1px solid var(--color-navy-line);margin-left:.5rem;padding-left:.75rem}.ui-preview-window-controls .ui-button{padding:.45rem}.ui-preview-window-controls .ui-icon{width:14px;height:14px}.ui-preview-stale{background:var(--color-warning-subtle);color:var(--color-warning-text);border-bottom:1px solid var(--color-warning-border);font-size:var(--text-label);padding:.5rem 1.25rem}.ui-preview-body{background:var(--color-bg);padding:1rem 1.25rem;overflow:auto}.ui-preview-error{border:1px solid var(--color-danger-subtle);border-left:4px solid var(--color-danger);background:var(--color-danger-subtle);color:var(--color-danger-text);font-size:var(--text-sm);border-radius:6px;margin:0 0 1rem;padding:.75rem 1rem}.ui-preview-error p{white-space:pre-line;margin:0}.ui-preview-error summary{cursor:pointer;font-size:var(--text-xs);margin-top:.5rem}.ui-preview-error-raw{white-space:pre-wrap;font-size:var(--text-xs);margin:.4rem 0 0;overflow-x:auto}.ui-preview-body--fill{flex-direction:column;display:flex;overflow:hidden}.ui-confirm-backdrop{background:var(--backdrop);z-index:60;place-items:center;display:grid;position:fixed;inset:0}.ui-confirm-card{background:var(--color-surface);width:min(420px,90vw);box-shadow:var(--shadow-float);border-radius:10px;padding:1.25rem}.ui-confirm-message{font-size:var(--text-sm);margin:0 0 1rem}.ui-confirm-buttons{justify-content:flex-end;gap:.5rem;display:flex}.ui-section{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:8px}.ui-section+.ui-section{margin-top:.6rem}.ui-section-title{cursor:pointer;font-weight:600;font-size:var(--text-label);color:var(--color-text);align-items:center;gap:.5rem;padding:.55rem .85rem;list-style:none;display:flex}.ui-section-title::-webkit-details-marker{display:none}.ui-section-title:before{content:"›";text-align:center;width:.75rem;font-size:var(--text-sm);color:var(--color-accent);transition:transform var(--duration-fast) var(--ease-out);line-height:1}.ui-section[open]>.ui-section-title:before{transform:rotate(90deg)}.ui-section-body{font-size:var(--text-label);padding:.1rem .85rem .9rem 2.1rem}.ui-table-frame{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;overflow:hidden}.ui-table-scroll{overflow-x:auto}.ui-preview-body--output .ui-table-scroll{max-height:calc(var(--card-height) - 175px);overflow:auto}.ui-table-footer{border-top:1px solid var(--color-border);background:var(--color-surface-raised);font-size:var(--text-xs);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .7rem;display:flex}.ui-dataframe-pager{gap:.25rem;display:flex}.ui-dataframe-error{color:var(--color-danger-text)}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-label);font-variant-numeric:tabular-nums;background:var(--color-surface)}.ui-table-type{font-weight:400;font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:lowercase;display:block}.ui-table th,.ui-table td{border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.34rem .7rem}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table thead th{background:var(--color-surface-raised);border-bottom:2px solid var(--color-accent);color:var(--color-text);vertical-align:top;font-weight:600}.ui-table tbody tr:nth-child(2n)>*{background:var(--color-surface-alt)}.ui-table tbody tr:hover>*{background:var(--color-accent-subtle)}.ui-table tbody th{text-align:left;font-weight:600}.card-tabs{background:var(--color-bg);border-bottom:1px solid var(--color-border);align-items:stretch;gap:2px;margin-bottom:.75rem;padding:.25rem .5rem 0;display:flex}.card-tab{font:inherit;font-size:var(--text-label);color:var(--color-text-muted);background:var(--color-accent-wash);cursor:pointer;clip-path:polygon(12px 0,calc(100% - 12px) 0,calc(100% - 8px) 3px,100% 100%,0 100%,8px 3px);border:0;padding:.3rem .85rem;font-weight:500}.card-tab[data-active=true]{background:var(--color-accent);color:var(--color-accent-text)}.card-tab:hover:not([data-active=true]){background:var(--color-accent-hover);color:var(--color-accent-text)}.card-tab-output:not([data-active=true]){background:var(--color-output-tab-wash);color:var(--color-output-tab-text)}.card-tab-meta-start{margin-left:auto}.ui-button:focus-visible,.ui-status:focus-visible,.card-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-field-error{font-size:var(--text-xs);color:var(--color-danger-text);font-weight:400;display:block}.echart{width:100%;position:relative}.echart__host{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;position:relative}.echart--fill,.echart--fill .echart__host{height:100%;min-height:360px}.echart__zoom-box{pointer-events:none;z-index:2;background:color-mix(in oklch, var(--color-accent) 12%, transparent);border:1px solid color-mix(in oklch, var(--color-accent) 70%, transparent);display:none;position:absolute}.echart__reset{z-index:3;font:inherit;font-size:var(--text-xs);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:6px;padding:.2rem .6rem;position:absolute;top:4px;right:8px}.echart__reset:hover{border-color:var(--color-accent);color:var(--color-accent)}.echart__reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.echart--maximised>.echart__host{height:max(var(--echart-height), calc(var(--card-height,760px) - 260px))}.node-editor-host{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem 1.5rem}.node-editor-host--fill{flex:auto;min-height:0;overflow:auto}.node-editor{font-size:var(--text-label);gap:.7rem;display:grid}.node-editor:has(.node-field){gap:0}.node-field+.node-upstream-notice{margin-top:.85rem}.node-field+.node-upstream-notice .node-editor-hint{font-size:var(--text-xs)}.node-editor .node-field{border-bottom:1px solid var(--color-border);color:var(--color-text);grid-template-columns:1fr 1fr;grid-template-areas:"name control""desc control";gap:.2rem 1.5rem;padding:.85rem 0;font-weight:400;display:grid}.node-editor .node-field:last-child{border-bottom:none}.node-field-name{font-size:var(--text-label);color:var(--color-text);font-weight:600}.node-field .node-field-name{grid-area:name;align-self:end}.node-field-desc{font-size:var(--text-xs);color:var(--color-text-muted)}.node-field .node-field-desc{grid-area:desc;align-self:start}.node-field>:nth-child(2):not(input[type=checkbox]){grid-area:control;align-self:center;width:100%}.node-field input[type=checkbox]{grid-area:control;place-self:center start;width:16px;height:16px}.node-editor label{font-size:var(--text-xs);color:var(--color-text-muted);gap:.25rem;font-weight:500;display:grid}.node-editor select,.node-editor input:not([type=checkbox]){font:inherit;font-size:var(--text-label);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:.4rem .5rem;font-weight:400}.node-editor label.node-editor-inline{align-items:center;gap:.6rem;display:flex}.node-editor-row{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.45rem .6rem;display:flex}.node-editor-row select,.node-editor-row input{flex:auto;min-width:0}.node-editor-section{gap:.7rem;display:grid}:is(.node-editor:has(.node-field) .node-editor-section,.node-editor:has(.node-field)>.node-editor-hint){margin-top:.85rem}.condition-grid{grid-template-columns:minmax(0,1fr) 6rem minmax(0,1fr) 2.2rem 2.2rem 2.2rem;align-items:center;gap:.4rem;display:grid}.condition-grid .ui-button{width:100%;padding-inline:0}.node-editor-row.condition-grid{background:0 0;border:none;border-radius:0;padding:.1rem 0}.condition-head{font-size:var(--text-xs);color:var(--color-text-muted);padding-bottom:.15rem;font-weight:500}.node-editor-hint{color:var(--color-text-muted);font-weight:400;font-size:var(--text-xs)}.node-descriptor{font-size:var(--text-label);grid-template-columns:1fr 1fr;gap:0;margin:0;display:grid}.node-descriptor dt,.node-descriptor dd{white-space:pre-line;border-bottom:1px solid var(--color-border);padding:.85rem 0}.node-descriptor dt:last-of-type,.node-descriptor dd:last-child{border-bottom:none}.node-descriptor dt{font-size:var(--text-label);color:var(--color-text);font-weight:600}.node-descriptor dd{color:var(--color-text-muted);margin:0}.node-comments{font:inherit;font-size:var(--text-label);border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:90px;color:var(--color-text);resize:vertical;border-radius:6px;padding:.5rem .6rem;font-weight:400}.node-editor-arrow{color:var(--color-text-muted);font-size:var(--text-label);flex-shrink:0}.node-comments-long{min-height:240px}.node-notes-hint{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-text-muted)}.condition-grid.aggregate-grid{grid-template-columns:minmax(0,1fr) 9rem minmax(0,1fr) 2.2rem 2.2rem 2.2rem}.condition-grid.aggregate-grid--pctl{grid-template-columns:minmax(0,1fr) 9rem 4.8rem minmax(0,1fr) 2.2rem 2.2rem 2.2rem}.node-editor-row.filter-grid{grid-template-columns:minmax(0,1.2fr) 4.6rem 9.5rem minmax(0,1fr) auto auto auto;align-items:center;gap:.4rem;display:grid}.node-editor-row-hint{font-size:var(--text-xs);grid-column:1/-1}.node-editor-type-badge{font-size:var(--text-2xs);color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;flex:none;padding:.1rem .45rem}.reorder-panel{grid-template-columns:1fr auto;align-items:start;gap:.5rem;display:grid}.reorder-list{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:6px;max-height:280px;overflow-y:auto}.reorder-item{font-size:var(--text-label);color:var(--color-text);cursor:pointer;border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.3rem .65rem;display:flex}.reorder-item:last-child{border-bottom:none}.reorder-item[data-selected=true]{background:var(--color-accent);color:var(--color-accent-text)}.reorder-item:hover:not([data-selected=true]){background:var(--color-accent-subtle)}.reorder-drag-handle{cursor:grab;color:var(--color-text-muted);flex-shrink:0}.reorder-item[data-selected=true] .reorder-drag-handle{color:var(--color-accent-text)}.reorder-controls{flex-direction:column;gap:.35rem;display:flex}.replace-rule{gap:.5rem}.replace-rule select,.replace-rule input:not([type=checkbox]){box-sizing:border-box;flex:0 auto;max-width:100%;height:2.25rem}.replace-rule .replace-column{width:10.5rem}.replace-rule .replace-mode{width:7.5rem}.replace-rule .replace-match{width:11rem}.replace-rule .replace-kind{width:6.5rem}.replace-rule .replace-value{width:7rem}.replace-rule input[type=checkbox]{flex:none}.replace-case{white-space:nowrap}.replace-actions{margin-left:auto;display:flex}.replace-list{flex-basis:100%;order:1;justify-items:start;gap:.35rem;display:grid}.replace-list-entry{align-items:center;gap:.4rem;display:flex}.replace-rule>.replace-issue{flex-basis:100%;order:2}.replace-footer{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.select-shuttle{grid-template-columns:1fr auto 1fr;align-items:start;gap:.75rem;display:grid}.select-shuttle-panel{flex-direction:column;gap:.35rem;display:flex}.select-shuttle-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.select-shuttle-box{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:6px;min-height:160px;max-height:280px;overflow-y:auto}.select-shuttle-item{font-size:var(--text-label);color:var(--color-text);cursor:pointer;border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none;padding:.3rem .65rem}.select-shuttle-item:last-child{border-bottom:none}.select-shuttle-item[data-selected=true]{background:var(--color-accent);color:var(--color-accent-text)}.select-shuttle-item:hover:not([data-selected=true]){background:var(--color-accent-subtle)}.select-shuttle-controls{flex-direction:column;align-items:stretch;gap:.35rem;padding-top:1.4rem;display:flex}.select-shuttle-controls .ui-button{text-align:center;letter-spacing:-.02em;min-width:2.75rem;padding:.4rem .5rem;font-family:monospace}.elr-table{border:1px solid var(--color-border);font-size:var(--text-sm);border-radius:6px;gap:0;display:grid;overflow:hidden}.elr-row{grid-template-columns:1.3fr 1fr 1fr 1fr;display:grid}.elr-row>*{border-bottom:1px solid var(--color-border);align-items:center;min-width:0;padding:.4rem .6rem;display:flex}.elr-row:last-child>*{border-bottom:none}.elr-row--head>*{background:var(--color-surface-alt);color:var(--color-text-muted);font-weight:600}.elr-row>:not(:first-child){font-variant-numeric:tabular-nums;justify-content:flex-end}.elr-table input{text-align:right;width:5.5rem;max-width:100%;margin:0}.elr-table input:disabled{color:var(--color-text-muted);-webkit-text-fill-color:var(--color-text-muted);opacity:1;background:0 0;border-color:#0000}.select-ult-page{flex-direction:column;display:flex}.select-ult-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.select-ult-table{border-collapse:collapse;width:100%;font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.select-ult-th{padding:var(--space-xs) var(--space-sm);text-align:right;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.select-ult-th-origin{text-align:left}.select-ult-th-port{cursor:pointer;color:var(--color-text);transition:background var(--duration-fast) ease}.select-ult-th-port:hover{background:var(--color-surface-hover)}.select-ult-th-row{align-items:center;gap:var(--space-2xs);display:inline-flex}.select-ult-th-label{text-overflow:ellipsis;overflow:hidden}.select-ult-rename-btn{border-radius:var(--radius-sm);width:1.1rem;height:1.1rem;color:var(--color-text-muted);font-size:var(--text-2xs);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.select-ult-rename-btn:hover{background:var(--color-accent-subtle);color:var(--color-accent)}.select-ult-rename-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.select-ult-th[data-lead=true]{background:var(--color-accent-tint)}.select-ult-origin-cell{padding:var(--space-xs) var(--space-sm);text-align:left;font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.select-ult-cell{padding:var(--space-xs) var(--space-sm);text-align:right;color:var(--color-text);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--duration-fast) ease}.select-ult-cell:hover{background:var(--color-surface-hover)}.select-ult-cell[data-winner=true],.select-ult-override-cell[data-winner=true]{background:var(--color-accent);color:var(--color-accent-text);font-weight:var(--weight-medium)}.select-ult-cell[data-winner=true]:hover,.select-ult-override-cell[data-winner=true]:hover{background:var(--color-accent-hover)}.select-ult-override-cell,.select-ult-selected-cell{padding:var(--space-xs) var(--space-sm);text-align:right;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.select-ult-override-cell{cursor:pointer;color:var(--color-text-muted);transition:background var(--duration-fast) ease}.select-ult-override-cell:hover{background:var(--color-surface-hover)}.select-ult-override-edit{padding:var(--space-2xs) var(--space-xs)}.select-ult-selected-cell{font-weight:var(--weight-semibold);color:var(--color-text)}.select-ult-header-input{width:100%;min-width:5rem;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-accent-subtle);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-xs);text-align:right}.select-ult-header-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.pricing-count{color:var(--color-text-muted);font-weight:400}.pricing-checklist-tools{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.pricing-checklist-list{border:1px solid var(--color-border);border-radius:6px;max-height:15rem;padding:.25rem;overflow-y:auto}.pricing-checklist-list label{cursor:pointer;border-radius:4px;align-items:center;gap:.4rem;min-width:0;padding:.15rem .25rem;display:flex}.pricing-checklist-list label:hover{background:var(--color-surface-hover)}.pricing-checklist-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pricing-picker-panels{grid-template-columns:minmax(15rem,2fr) minmax(0,3fr);align-items:stretch;gap:.75rem;display:grid}@media (width<=760px){.pricing-picker-panels{grid-template-columns:minmax(0,1fr)}}.pricing-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;gap:.5rem;min-width:0;margin:0;padding:.75rem;display:flex}.pricing-panel legend,.pricing-panel-title{float:left;width:100%;font-size:inherit;margin:0;padding:0;font-weight:600}.pricing-panel-actions{gap:.25rem;display:flex}.pricing-panel-list{border:1px solid var(--color-border);border-radius:6px;flex:1 0 auto;align-content:start;gap:.15rem;height:24rem;max-height:none;padding:.25rem;display:grid;overflow-y:auto}.pricing-picked-row{grid-template-columns:minmax(0, 1.2fr) var(--picked-controls) auto;border-radius:4px;align-items:center;gap:.5rem;min-height:2.1rem;padding:0 0 0 .35rem;display:grid}.pricing-picked-row:not(.pricing-row-head):hover{background:var(--color-surface-hover)}.pricing-picked-row.pricing-row-head{min-height:1.5rem}.pricing-rows{gap:.35rem;padding-top:.75rem;display:grid}.pricing-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:.6rem;display:grid}.pricing-row-head{color:var(--color-text-muted);font-size:var(--text-xs)}.pricing-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pricing-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.pricing-view{gap:.75rem;min-width:0;display:grid}.pricing-summary{max-width:34rem}.pricing-picker{width:fit-content;color:var(--color-text-muted);align-items:center;gap:.5rem;display:inline-flex}.pricing-heading{font-size:var(--text-sm);margin:.5rem 0 0;font-weight:600}.tariff-scroll{min-width:0;overflow-x:auto}.tariff-table{border-collapse:collapse;min-width:26rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.tariff-table th,.tariff-table td{text-align:right;white-space:nowrap;padding:.25rem .75rem;font-weight:400}.tariff-table thead th{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-label);font-weight:600}.tariff-table th:first-child{text-align:left}.tariff-grid td[data-flat]{color:var(--color-text-muted)}.adjust-inline{grid-template-columns:auto minmax(0,1fr) 4.5rem;align-items:center;gap:.6rem;display:grid}.adjust-fitted{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.adjust-number{text-align:right;font-variant-numeric:tabular-nums}.adjust-change{color:var(--color-text-muted)}.adjust-changed{color:var(--color-accent-hover);font-weight:var(--weight-semibold)}.node-editor input.adjust-overridden{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text);font-weight:var(--weight-semibold)}.adjust-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:40rem;margin-top:1rem;overflow-x:auto}.adjust-table{border-collapse:collapse;width:100%;font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.adjust-table th,.adjust-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);text-align:right}.adjust-table tbody tr:last-child>*{border-bottom:none}.adjust-table thead th{background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase}.adjust-table th:first-child{text-align:left}.adjust-level{text-overflow:ellipsis;max-width:14rem;font-weight:var(--weight-medium);overflow:hidden}.adjust-base-pill{border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-accent-hover);font-size:var(--text-2xs);font-weight:var(--weight-semibold);margin-left:.4rem;padding:0 .35rem}.adjust-table td.adjust-selected{background:var(--color-surface-raised);width:8rem;padding:.15rem .4rem}.adjust-table td.adjust-locked{padding-right:var(--space-sm);color:var(--color-text-muted)}.node-editor .adjust-selected input{box-sizing:border-box;border-radius:var(--radius-sm);width:100%;font-size:var(--text-xs);text-align:right;background:0 0;border-color:#0000;padding:.2rem .35rem}.node-editor .adjust-selected input:hover,.node-editor .adjust-selected input:focus-visible{border-color:var(--color-border);background:var(--color-surface)}.node-editor .adjust-overridden input,.node-editor .adjust-overridden input:hover,.node-editor .adjust-overridden input:focus-visible{background:var(--color-accent);color:var(--color-accent-text);font-weight:var(--weight-semibold)}.adjust-bar{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:1rem;padding-top:.75rem;display:flex}.adjust-bar-summary{text-overflow:ellipsis;white-space:nowrap;flex:16rem;min-width:0;overflow:hidden}.adjust-bar-actions{gap:.25rem;display:flex}.node-field+.adjust-bar{border-top:none;margin-top:0}.node-editor.band-editor{gap:1rem}.band-layout{grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;min-height:0;display:grid}.band-view{color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.band-view span+select,.band-view select+span{margin-left:.1rem}.band-view span{align-items:center;gap:.3rem;display:inline-flex}.band-view span:not(:first-child){margin-left:.5rem}.node-editor .band-view select{width:auto;min-width:8rem;font-size:var(--text-xs);padding:.2rem .4rem}.band-list{border-right:1px solid var(--color-border);flex-direction:column;gap:.35rem;padding-right:1.5rem;display:flex}.band-list-row{border:1px solid #0000;border-radius:6px;align-items:center;display:flex}.band-list-row:hover{background:var(--color-surface-hover)}.band-list-row[data-current]{border-color:var(--color-accent);background:var(--color-accent-tint)}.band-list-remove{width:1.6rem;height:1.6rem;color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex:none;margin-right:.2rem;line-height:1}.band-list-row:hover .band-list-remove,.band-list-row[data-current] .band-list-remove,.band-list-remove:focus-visible{opacity:1}.band-list-remove:hover{background:var(--color-surface);color:var(--color-danger-text)}.band-list-item{width:100%;min-width:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:auto;justify-content:space-between;gap:.4rem;padding:.4rem .5rem;display:flex}.band-list-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.band-list-meta{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap}.band-detail{gap:.85rem;min-width:0;display:grid}.band-toolbar{flex-wrap:wrap;align-items:end;gap:.5rem 1.25rem;display:flex}.node-editor label.band-edges{flex:16rem}.band-edges input[aria-invalid]{border-color:var(--color-danger)}.band-suggest{color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:.4rem;font-weight:500;display:flex}.node-editor .band-suggest input{width:3.5rem}.band-suggest-pair{display:inline-flex}.band-suggest-pair button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-label);cursor:pointer;padding:.4rem .7rem;font-weight:400}.band-suggest-pair button:first-child{border-radius:6px 0 0 6px}.band-suggest-pair button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.band-suggest-pair button:hover:not(:disabled){background:var(--color-surface-hover)}.band-suggest-pair button:disabled{color:var(--color-text-muted);cursor:default}.band-chart{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.band-chart[data-ratio]{grid-template-columns:minmax(0,1fr) 3.5rem}.band-plot{grid-column:1;position:relative}.band-histogram{border-bottom:1px solid var(--color-border);cursor:crosshair;width:100%;height:9rem;display:block}.band-bar{fill:var(--color-accent-soft-strong)}.band-bar[data-hover]{fill:var(--color-accent)}.band-tip{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:6px;gap:.1rem;padding:.35rem .55rem;display:grid;position:absolute;top:.25rem}.band-tip[data-side=right]{transform:translate(.75rem)}.band-tip[data-side=left]{transform:translate(calc(-100% - .75rem))}.band-ratio{fill:none;stroke:var(--color-warning);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.band-edge{stroke:var(--color-accent-hover);stroke-width:2px;vector-effect:non-scaling-stroke}.band-edge-hit{stroke:#0000;stroke-width:12px;vector-effect:non-scaling-stroke;cursor:ew-resize;touch-action:none}.band-edge-value{background:var(--color-accent-hover);color:var(--color-surface);font-size:var(--text-xs);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:4px;padding:.05rem .35rem;position:absolute;top:.15rem;transform:translate(-50%)}.band-ratio-axis{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;grid-area:1/2;position:relative}.band-ratio-axis span{position:absolute;left:.4rem;transform:translateY(50%)}.band-axis{height:1.3rem;color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;grid-column:1;position:relative}.band-tick{white-space:nowrap;padding-top:.3rem;position:absolute;top:0;transform:translate(-50%)}.band-tick:before{content:"";border-left:1px solid var(--color-border);height:.2rem;position:absolute;top:0;left:50%}.band-axis-title{color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;grid-column:1;justify-content:center;gap:.25rem 1.25rem;font-weight:500;display:flex}.band-legend{gap:.9rem;font-weight:400;display:inline-flex}.band-legend span{align-items:center;gap:.3rem;display:inline-flex}.band-key-bar,.band-key-line{width:.8rem;display:inline-block}.band-key-bar{background:var(--color-accent-soft-strong);height:.6rem}.band-key-line{border-top:2px solid var(--color-warning)}.band-table{border-top:1px solid var(--color-border);font-size:var(--text-label);grid-template-columns:minmax(8rem,14rem) 7rem 4.5rem;justify-content:start;align-items:center;gap:0 1.25rem;padding-top:.5rem;display:grid}.band-table[data-ratio]{grid-template-columns:minmax(8rem,14rem) 7rem 4.5rem minmax(7rem,auto)}.band-table .pricing-row-head{white-space:nowrap;padding-bottom:.2rem}.band-table>:not(.pricing-row-head){padding:.1rem 0}.band-label{align-items:center;gap:.4rem;min-width:0;display:flex}.node-editor .band-label input{background:0 0;border-color:#0000;flex:auto;min-width:0;margin-left:-.35rem;padding:.2rem .35rem}.node-editor .band-label input:hover{border-color:var(--color-border)}.node-editor .band-label input:focus{border-color:var(--color-accent);background:var(--color-surface)}.band-prefix{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.band-share{text-align:right;font-variant-numeric:tabular-nums}.band-options{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding-top:.85rem;display:grid}@media (width<=40rem){.band-options{grid-template-columns:minmax(0,1fr)}}.condition-grid.amortise-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2.2rem 2.2rem 2.2rem}.chart-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:1rem 1.25rem}.ldf-chart{gap:var(--space-sm);flex-direction:column;display:flex}.ldf-toolbar{gap:var(--space-md);flex-wrap:wrap;display:flex}.ldf-toggle{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;display:inline-flex}.ldf-hint{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-md)}.node-editor-host--fill>.chart-card,.node-editor-host--fill>.ldf-chart{box-sizing:border-box;flex-direction:column;height:100%;display:flex}.chart-card>.echart--fill,.ldf-chart>.echart--fill{flex:auto}.chart-axis{gap:var(--space-xs);display:grid}.chart-axis-mark{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.chart-axis-list{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.chart-axis-list li{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-sm);border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;display:flex}.chart-axis-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chart-axis-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-2xs) var(--space-xs);background:0 0;border:none;border-radius:4px}.chart-axis-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.chart-axis-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.chart-axis-btn:disabled{opacity:.3;cursor:default}.parameter-field{align-items:center;gap:var(--space-xs);min-width:0;display:flex;position:relative}.parameter-field>input{flex:auto;min-width:0}.parameter-btn{font:inherit;font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;flex:none;line-height:1}.parameter-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.parameter-btn:focus-visible{box-shadow:var(--focus-ring);border-color:var(--color-accent);outline:none}.parameter-chip{align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-sm);font-size:var(--text-sm);color:var(--color-text);background:var(--color-accent-subtle);border:1px solid var(--color-accent-soft);border-radius:var(--radius-sm);display:flex}.parameter-chip-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.parameter-chip-label--deleted{color:var(--color-danger-text)}.parameter-list{z-index:var(--z-dropdown);min-width:11rem;max-height:14rem;margin-top:var(--space-xs);padding:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:absolute;top:100%;right:0;overflow-y:auto}.parameter-option{justify-content:space-between;gap:var(--space-md);font:inherit;font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);color:var(--color-text);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.parameter-option:hover,.parameter-option:focus-visible{background:var(--color-surface-hover);outline:none}.parameter-option-value{color:var(--color-text-muted)}.parameter-empty{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted)}.parameter-row .parameter-row-name{flex:12rem}.parameter-row .parameter-row-type{flex:0 0 6.5rem}.parameter-row .parameter-row-value{flex:12rem}.parameter-row input[aria-invalid]{border-color:var(--color-danger-text)}.parameter-type{font-size:var(--text-sm);color:var(--color-text-muted)}.parameter-row-error{flex-basis:100%}.ldf-page{gap:var(--space-md);flex-direction:column;display:flex}.ldf-toolbar{align-items:flex-start;gap:var(--space-xs);display:flex}.ldf-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.ldf-add-row{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.ldf-add-label{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.ldf-add-select,.ldf-add-input{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-xs)}.ldf-add-select:focus-visible,.ldf-add-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ldf-add-input{font-variant-numeric:tabular-nums;width:4rem}.ldf-add-btn{padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-accent-subtle);border-radius:var(--radius-sm);background:var(--color-accent-tint);color:var(--color-accent);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) ease;white-space:nowrap}.ldf-add-btn:hover{background:var(--color-accent-subtle)}.ldf-add-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ldf-add-error{margin:var(--space-2xs) 0 0}.ldf-scroll{padding-bottom:var(--space-md);overflow-x:auto}.ldf-table{border-collapse:collapse;font-size:var(--text-xs);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;white-space:nowrap;min-width:100%}.ldf-th{padding:var(--space-xs) var(--space-sm);text-align:right;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.ldf-th-label{text-align:left;z-index:var(--z-sticky);background:var(--color-surface);min-width:9rem;position:sticky;left:0}.ldf-th-period{min-width:5.5rem}.ldf-label-cell{z-index:var(--z-sticky);background:var(--color-surface);padding:var(--space-xs) var(--space-sm);border-right:1px solid var(--color-border);white-space:nowrap;position:sticky;left:0}.ldf-label-avg{align-items:center;gap:var(--space-xs);cursor:pointer;color:var(--color-text-muted);font-weight:var(--weight-medium);display:flex}.ldf-label-section{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.ldf-radio{font-size:var(--text-3xs);color:var(--color-text-muted);flex-shrink:0;line-height:1}.ldf-avg-label{font-size:var(--text-xs)}.ldf-avg-row{cursor:pointer;transition:background var(--duration-fast) ease}.ldf-avg-row:hover{background:var(--color-surface-hover)}.ldf-avg-row.ldf-avg-selected{background:var(--color-accent-tint)}.ldf-avg-row.ldf-avg-selected .ldf-label-cell{background:var(--color-accent-tint);color:var(--color-accent)}.ldf-avg-row.ldf-avg-selected .ldf-radio{color:var(--color-accent)}.ldf-value-cell{padding:var(--space-xs) var(--space-sm);text-align:right;color:var(--color-text)}.ldf-value-empty{color:var(--color-text-muted)}.ldf-cell-selected{background:var(--color-accent-tint);color:var(--color-accent);font-weight:var(--weight-medium)}.ldf-separator-row td{height:var(--space-xs);background:var(--color-surface-raised);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:0}.ldf-section-row .ldf-label-cell,.ldf-section-row .ldf-value-cell{background:var(--color-surface-raised)}.ldf-override-cell{padding:var(--space-xs) var(--space-sm);text-align:right;cursor:pointer;color:var(--color-text-muted);background:var(--color-surface-raised);transition:background var(--duration-fast) ease}.ldf-override-cell:hover{background:var(--color-surface-hover)}.ldf-override-active{color:var(--color-accent);background:var(--color-accent-tint)}.ldf-override-active:hover{background:var(--color-accent-subtle)}.ldf-override-placeholder{color:var(--color-text-muted);opacity:.5}.ldf-override-value{align-items:center;gap:var(--space-2xs);color:var(--color-accent);font-weight:var(--weight-medium);display:inline-flex}.ldf-clear-btn{border-radius:var(--radius-full);width:1rem;height:1rem;color:var(--color-text-muted);font:inherit;font-size:var(--text-3xs);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.ldf-clear-btn:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.ldf-clear-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ldf-override-edit-cell{padding:var(--space-2xs) var(--space-xs);text-align:right;background:var(--color-surface-raised)}.ldf-inline-input{width:5rem;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-accent-subtle);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right}.ldf-inline-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ldf-final-cell{font-weight:var(--weight-medium);color:var(--color-text)}.ldf-final-overridden{color:var(--color-accent)}.ldf-cdf-row .ldf-label-cell{border-top:1px solid var(--color-border)}.ldf-cdf-cell{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-style:italic}.ldf-remove-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:1.25rem;height:1.25rem;color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease, border-color var(--duration-fast) ease;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;line-height:1;display:inline-flex}.ldf-remove-btn:hover{background:var(--color-danger-subtle);color:var(--color-danger);border-color:var(--color-danger-subtle)}.ldf-remove-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.calculate-editor .node-editor-row{align-items:flex-start}.calculate-editor .node-editor-row>input{flex:160px;width:160px}.calculate-editor .node-editor-expression{flex:4 320px;min-width:0}.calculate-editor .cm-editor{min-height:82px}.calculate-editor .cm-scroller{max-height:240px}.calculate-functions{gap:.85rem}.calculate-functions h2,.calculate-functions h3,.calculate-functions p{margin:0;line-height:1.5}.calculate-library-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.calculate-library-header h2{font-size:var(--text-base)}.calculate-library-header>span,.calculate-library-count{color:var(--color-text-muted);font-size:var(--text-xs)}.calculate-functions .ui-section{box-shadow:none}.calculate-functions .ui-section-body ul{margin:0;padding-left:1rem}.calculate-functions .ui-section-body li{margin-block:.4rem;line-height:1.5}.calculate-function-filters{flex-wrap:wrap;gap:1rem;display:flex}.calculate-function-filters label{flex:240px}.calculate-function-group{gap:.6rem;display:grid}.calculate-function-group h3{font-size:var(--text-sm);color:var(--color-accent)}.calculate-functions .ui-table{table-layout:fixed}.calculate-functions .ui-table th,.calculate-functions .ui-table td{text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;padding:.6rem .7rem}.calculate-functions .ui-table td p{color:var(--color-text-muted);margin-top:.4rem}.calculate-functions code{font-family:var(--font-mono);overflow-wrap:anywhere}.calculate-function-aliases{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.35rem;display:block}.calculate-function-result{color:var(--color-text-muted)}.sql-code-editor{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:0;overflow:hidden}.sql-code-editor .cm-editor{height:100%;color:var(--color-text)}.sql-code-editor:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.sql-code-editor .cm-editor.cm-focused{outline:none}.sql-code-editor .cm-scroller{font-family:var(--font-mono);height:100%;overflow:auto}.sql-code-editor .cm-content{caret-color:var(--color-text);padding:12px 0}.sql-code-editor .cm-line{padding:0 12px}.sql-code-editor .cm-gutters{background:var(--color-surface-raised);color:var(--color-text-muted);border-color:var(--color-border)}.sql-code-editor .cm-activeLine{background:var(--color-accent-tint)}.sql-code-editor .cm-cursor{border-left-color:var(--color-text)}.sql-code-editor .cm-selectionBackground,.sql-code-editor .cm-editor.cm-focused .cm-selectionBackground{background:var(--color-accent-soft)}.sql-code-editor .cm-tooltip{font-family:var(--font-mono);background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.sql-code-editor .cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--color-accent-wash);color:var(--color-text)}.sql-code-editor .cm-matchingBracket{background:var(--color-accent-soft-strong)}.sql-code-editor .cm-placeholder{color:var(--color-text-muted)}.excl-page{gap:var(--space-sm);flex-direction:column;height:100%;min-height:0;display:flex}.excl-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.excl-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.excl-toggle{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;display:inline-flex}.excl-toggle input{cursor:pointer;width:14px;height:14px;accent-color:var(--color-accent)}.excl-scroll{flex:auto;min-height:0;overflow:auto}.excl-table{border-collapse:collapse;font-size:var(--text-xs);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;white-space:nowrap}.excl-th{padding:var(--space-xs) var(--space-sm);text-align:right;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);z-index:var(--z-sticky);background:var(--color-surface);box-shadow:inset 0 -1px 0 var(--color-border);position:sticky;top:0}.excl-th-origin{text-align:left;z-index:calc(var(--z-sticky) + 1);background:var(--color-surface);position:sticky;left:0}.excl-th-row{text-align:left;z-index:var(--z-sticky);background:var(--color-surface);font-weight:var(--weight-medium);color:var(--color-text-muted);padding-right:var(--space-md);border-right:1px solid var(--color-border);box-shadow:none;position:sticky;left:0}.excl-cell{padding:var(--space-2xs) var(--space-xs);text-align:right}.excl-cell-empty{background:var(--color-surface-alt)}.excl-btn{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--duration-fast) ease, outline var(--duration-fast) ease;background:0 0;border:1px solid #0000;display:inline-block}.excl-btn:hover{background:var(--color-accent-tint);outline:1px solid var(--color-accent-subtle)}.excl-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.excl-btn--excluded{opacity:.35;color:var(--color-text-muted);text-decoration:line-through}.excl-btn--excluded:hover{opacity:.55}.join-columns-editor{flex-direction:column;gap:.85rem;height:100%;min-height:260px;display:flex}.join-columns-editor .select-shuttle{flex:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;min-height:0}.join-columns-editor .select-shuttle-panel{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.join-columns-editor .select-shuttle-group-label{font-size:var(--text-label);color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.65rem;font-weight:600}.join-columns-editor .select-shuttle-box{min-height:0;max-height:none;overflow:auto}.join-columns-editor .select-shuttle-item{overflow-wrap:anywhere;padding:.5rem .65rem}.join-columns-editor .select-shuttle-reorder{flex-direction:column;gap:.35rem;margin-top:.85rem;display:flex}.file-picker{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;align-items:stretch;width:100%;min-width:0;display:flex;overflow:hidden}.file-picker-name{min-width:0;font-size:var(--text-label);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:auto;align-self:center;padding:.4rem .6rem;overflow:hidden}.file-picker-name[data-full-path=true]{white-space:normal;overflow-wrap:anywhere}.file-picker-name[data-empty=true]{color:var(--color-text-muted)}.file-picker-btn{border:none;border-left:1px solid var(--color-border);font:inherit;font-size:var(--text-xs);color:var(--color-accent);background:var(--color-surface-raised);cursor:pointer;transition:background var(--duration-fast) ease;flex:none;padding:.4rem .8rem;font-weight:500}.file-picker-btn:hover{background:var(--color-surface-hover)}.file-picker-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.node-editor .source-mode{border-style:solid;border-width:0 0 1px;border-color:var(--color-border);min-width:0;margin:0}.source-mode>legend{float:left;padding:0}.source-mode-options{gap:var(--space-md);display:flex}.node-editor .source-mode-options label{align-items:center;gap:var(--space-xs);font-size:var(--text-label);color:var(--color-text);display:inline-flex}.source-mode-options input[type=radio]{accent-color:var(--color-accent);margin:0}.node-field .file-picker-error{grid-column:1/-1}.source-options{align-items:center;column-gap:var(--space-lg);row-gap:var(--space-sm);padding:var(--space-md) 0;grid-template-columns:max-content 1fr;display:grid}.node-editor .source-options label{display:block}.source-options input[type=checkbox]{justify-self:start;width:16px;height:16px;margin:0}.node-editor-host--fill:has(.sql-node-editor,.sql-output-pane){overflow:hidden}.node-editor.sql-node-editor{grid-template-rows:minmax(0,1fr) auto;min-width:0;height:100%;min-height:0}.sql-preview-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sql-preview-limit{color:var(--color-text);font-weight:600}.sql-output-pane{min-width:0;height:100%;min-height:0;font-size:var(--text-label);flex-direction:column;gap:12px;display:flex}.sql-preview-error{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-danger-text);background:var(--color-danger-subtle);border-radius:var(--radius-md);margin:0;padding:12px;overflow:auto}.sql-preview-result{flex:1;grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;display:grid}.sql-preview-result .ui-table-frame{flex-direction:column;min-height:0;display:flex}.sql-preview-result .ui-table-scroll{flex:1;min-height:0;max-height:none}.sql-preview-result .ui-table-footer{flex-shrink:0}
