:root{--title-bar-height: 30px;--activity-bar-width: 48px;--sidebar-min-width: 150px;--sidebar-default-width: 250px;--sidebar-max-width: 600px;--status-bar-height: 22px;--tab-height: 35px;--font-family-mono: "Noto Mono", "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--font-family-sans: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-size-xs: 10px;--font-size-small: 11px;--font-size-normal: 12px;--font-size-large: 15px;--font-size-xl: 16px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--cell-font-weight: 200;--cell-font-weight-aggregate: 800;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--transition-fast: .15s ease;--transition-medium: .25s ease;--transition-slow: .35s ease;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--z-index-dropdown: 1000;--z-index-modal: 2000;--z-index-tooltip: 3000;color-scheme:dark}[data-theme=light]{color-scheme:light;--surface-1: #FFFFFF;--surface-2: #F3F3F3;--surface-3: #E8E8E8;--surface-4: #DADADA;--surface-5: #CCCCCC;--surface-6: #BEBEBE;--surface-red: #ff4444;--hover-1: #F5F5F5;--hover-2: #EEEEEE;--hover-3: #E0E0E0;--hover-4: #D5D5D5;--hover-5: #C8C8C8;--hover-6: #BABABA;--hover-red: #ff6666;--text-primary: #1E1E1E;--text-secondary: #616161;--text-bright: #FFFFFF;--text-dimmed: #9E9E9E;--accent-primary: #0078D4;--accent-hover: #106EBE;--accent-active: #005A9E;--accent-subtle: rgba(0, 120, 212, .1);--input-bg: #FFFFFF;--input-border: #D0D0D0;--clara-primary: #5B3FA6;--clara-light: #8A63FF;--clara-muted: #9B7AD8;--clara-subtle: rgba(91, 63, 166, .08);--clara-glow: rgba(138, 99, 255, .25);--clara-gradient: linear-gradient(135deg, #5B3FA6, #8A63FF);--clara-text: #5B3FA6;--clara-border: rgba(91, 63, 166, .25);--status-success: #107C10;--status-success-bg: #DFF6DD;--status-warning: #F7B500;--status-warning-bg: #FFF4CE;--status-error: #D13438;--status-error-hover: #c42b2f;--status-error-active: #a82c2f;--status-error-bg: #FDE7E9;--status-info: #0078D4;--status-info-bg: #E5F3FF;--btn-glass-bg: rgba(0, 0, 0, .02);--btn-glass-border: rgba(0, 0, 0, .08);--btn-glass-spotlight: rgba(0, 60, 120, .1);--btn-glass-spotlight-mid: rgba(0, 60, 120, .03);--btn-glass-border-hover: rgba(0, 60, 120, .15);--btn-glass-highlight: rgba(0, 60, 120, .06);--btn-glass-glow: rgba(0, 60, 120, .04);--btn-ripple-color: rgba(0, 80, 160, .15);--border-1: #E0E0E0;--border-2: #C8C8C8;--border-accent: #0078D4;--border-focus: #0078D4;--border-red: #D13438;--border-success: #107C10;--border-warning: #F7B500;--interactive-primary: #0078D4;--interactive-primary-hover: #106EBE;--interactive-primary-active: #005A9E;--interactive-secondary: #E0E0E0;--interactive-secondary-hover: #D0D0D0;--interactive-surface: #F3F3F3;--interactive-surface-hover: #E8E8E8;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--model-icon-color: #6366F1;--icon-dictionary-color: #10b981;--icon-table-color: #f59e0b;--icon-link-color: #C087F2;--icon-contribution-color: #5B9BD5;--icon-flow-color: #76B789;--icon-automation-color: #5B9BD5;--icon-story-color: #8338ec;--icon-dashboard-color: #fb5607;--icon-datasource-color: #4FC3F7;--table-analysis-color: #f59e0b;--table-line-items-color: #3b82f6;--table-attributes-color: #8b5cf6;--table-source-data-color: #10b981;--titlebar-bg: var(--surface-2);--titlebar-border: var(--border-1);--titlebar-text: var(--text-primary);--activitybar-bg: var(--surface-3);--activitybar-border: var(--border-1);--activitybar-item-text: var(--text-secondary);--activitybar-item-hover-text: var(--text-primary);--activitybar-item-active-text: var(--interactive-primary);--activitybar-item-active-bg: transparent;--activitybar-item-active-border: var(--interactive-primary);--sidebar-bg: var(--surface-2);--sidebar-border-right: var(--border-1);--sidebar-header-bg: var(--surface-3);--sidebar-header-color: var(--text-primary);--tab-bar-bg: var(--surface-2);--tab-bar-border-bottom: var(--border-1);--tab-bg: var(--surface-3);--tab-border-right: var(--border-1);--tab-color: var(--text-secondary);--tab-hover-bg: var(--hover-2);--tab-active-bg: var(--surface-1);--tab-active-color: var(--text-primary);--tab-active-border-top: var(--interactive-primary);--tab-close-hover-bg: var(--hover-3);--editor-area-bg: var(--surface-1);--editor-bg: var(--surface-1);--editor-border: var(--border-1);--status-bar-bg: var(--interactive-primary);--status-bar-border-top: var(--border-1);--status-bar-color: #FFFFFF;--welcome-screen-color: var(--text-secondary);--welcome-screen-h2-color: var(--text-primary);--logo-gray-1: #2C2C2C;--logo-gray-2: #505050;--logo-gray-3: #747474;--logo-gray-4: #989898;--switch-bg-color: var(--surface-4);--switch-knob-color: var(--surface-1);--switch-track-active-bg: var(--interactive-primary);--switch-knob-shadow: 0 2px 4px rgba(0, 0, 0, .15);--resize-handle-bg: transparent;--resize-handle-hover-bg: var(--border-2);--resize-handle-active-bg: var(--interactive-primary);--scrollbar-track-bg: transparent;--scrollbar-thumb-bg: #C0C0C0;--scrollbar-thumb-hover-bg: #A0A0A0;--modal-shadow: 0 10px 25px rgba(0, 0, 0, .15);--overlay-bg: rgba(0, 0, 0, .15);--cell-n-editable-bg: var(--surface-1);--cell-n-readonly-bg: var(--surface-2);--cell-c-element-bg: #f0f4ff;--cell-a-element-bg: var(--surface-3);--cell-allow-links-bg: #f8f4ff;--cell-readonly-locked-bg: #f5f0f0;--cell-text-normal: var(--text-primary);--cell-text-dirty: #0078D4;--cell-text-calculated: var(--text-primary);--cell-text-aggregate: var(--text-primary);--cell-border: var(--border-1);--cell-border-selected: #0078D4;--cell-border-editing: #0078D4;--cell-selected-bg: rgba(0, 120, 212, .1);--cell-selected-border: #0078D4;--cell-editing-bg: var(--surface-1);--cell-editing-border: #0078D4;--cell-editing-shadow: 0 0 0 1px #0078D4;--cell-editable-bg: var(--cell-n-editable-bg);--cell-editable-border: var(--cell-border);--cell-readonly-bg: var(--cell-n-readonly-bg);--cell-calculated-bg: var(--cell-c-element-bg);--cell-summary-bg: var(--cell-a-element-bg);--cell-dirty-bg: var(--cell-n-editable-bg)}[data-theme=dark]{color-scheme:dark;--surface-1: #09090C;--surface-2: #121317;--surface-3: #17181E;--surface-4: #23252E;--surface-5: #2C2E3A;--surface-6: #353746;--surface-red: #ff4444;--hover-1: #17181E;--hover-2: #23252E;--hover-3: #2C2E3A;--hover-4: #353746;--hover-5: #46495D;--hover-6: #585C74;--hover-red: #cc3333;--text-primary: #C7C8D1;--text-secondary: #E8E8E8;--text-bright: #FFFFFF;--text-dimmed: #8A8A8A;--accent-primary: #0078D4;--accent-hover: #55A5E2;--accent-active: #004578;--accent-subtle: rgba(0, 122, 204, .1);--input-bg: #2d2d30;--input-border: #3e3e42;--clara-primary: #8A63FF;--clara-light: #A88BFF;--clara-muted: #C4B0F0;--clara-subtle: rgba(138, 99, 255, .1);--clara-glow: rgba(138, 99, 255, .3);--clara-gradient: linear-gradient(135deg, #5B3FA6, #8A63FF);--clara-text: #C4B0F0;--clara-border: rgba(138, 99, 255, .25);--status-success: #89d185;--status-success-bg: #1e3a1e;--status-warning: #ffcc02;--status-warning-bg: #3d3a1e;--status-error: #f14c4c;--status-error-hover: #d43f3f;--status-error-active: #a82c2f;--status-error-bg: #3d1e1e;--status-info: #4fc1ff;--status-info-bg: #1e2d3d;--btn-glass-bg: rgba(255, 255, 255, .04);--btn-glass-border: rgba(255, 255, 255, .08);--btn-glass-spotlight: rgba(210, 230, 255, .22);--btn-glass-spotlight-mid: rgba(180, 210, 255, .05);--btn-glass-border-hover: rgba(200, 220, 255, .2);--btn-glass-highlight: rgba(220, 235, 255, .08);--btn-glass-glow: rgba(180, 210, 255, .05);--btn-ripple-color: rgba(200, 225, 255, .3);--border-1: #2b2b2b;--border-2: #454545;--border-accent: #0078D4;--border-focus: #0078D4;--border-red: #cc3333;--border-success: #89d185;--border-warning: #ffcc02;--interactive-primary: #007acc;--interactive-primary-hover: #1177bb;--interactive-primary-active: #005a9e;--interactive-secondary: #5a5a5a;--interactive-secondary-hover: #6e6e6e;--interactive-surface: #3e3e42;--interactive-surface-hover: #484848;--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--model-icon-color: #6366F1;--icon-dictionary-color: #10b981;--icon-table-color: #f59e0b;--icon-contribution-color: #5B9BD5;--icon-flow-color: #76B789;--icon-automation-color: #5B9BD5;--icon-story-color: #8338ec;--icon-dashboard-color: #fb5607;--icon-datasource-color: #4FC3F7;--table-analysis-color: #f59e0b;--table-line-items-color: #3b82f6;--table-attributes-color: #8b5cf6;--table-source-data-color: #10b981;--titlebar-bg: var(--surface-tertiary);--titlebar-border: var(--border-primary);--titlebar-text: var(--text-primary);--activitybar-bg: var(--surface-sunken);--activitybar-border: var(--border-primary);--activitybar-item-text: var(--text-muted);--activitybar-item-hover-text: var(--text-primary);--activitybar-item-active-text: var(--text-primary);--activitybar-item-active-bg: transparent;--activitybar-item-active-border: var(--interactive-primary);--sidebar-bg: var(--surface-secondary);--sidebar-border-right: var(--border-primary);--sidebar-header-bg: var(--surface-secondary);--sidebar-header-color: var(--text-secondary);--tab-bar-bg: var(--surface-secondary);--tab-bar-border-bottom: var(--border-primary);--tab-bg: var(--surface-tertiary);--tab-border-right: var(--border-secondary);--tab-color: var(--text-secondary);--tab-hover-bg: var(--interactive-surface-hover);--tab-active-bg: var(--surface-secondary);--tab-active-color: var(--text-primary);--tab-active-border-top: var(--interactive-primary);--tab-close-hover-bg: var(--interactive-surface-hover);--editor-area-bg: var(--surface-primary);--editor-bg: var(--surface-primary);--editor-border: var(--border-primary);--grid-bg: var(--surface-primary);--grid-border: var(--border-primary);--grid-header-bg: var(--surface-tertiary);--grid-header-color: var(--text-primary);--grid-cell-color: var(--text-primary);--grid-row-hover-bg: var(--interactive-surface-hover);--grid-row-selected-bg: var(--interactive-surface);--grid-cell-selected-bg: var(--interactive-primary);--grid-cell-selected-text: var(--text-inverse);--status-bar-bg: var(--interactive-primary);--status-bar-border-top: var(--border-primary);--status-bar-color: var(--text-primary);--welcome-screen-color: var(--surface-tertiary);--welcome-screen-h2-color: var(--surface-tertiary);--logo-gray-1: #777;--logo-gray-2: #666;--logo-gray-3: #444;--logo-gray-4: #222;--switch-bg-color: var(--surface-elevated);--switch-knob-color: var(--surface-primary);--switch-track-active-bg: var(--surface-elevated);--switch-knob-shadow: 0 2px 4px rgba(0, 0, 0, .1);--resize-handle-bg: transparent;--resize-handle-hover-bg: var(--interactive-primary);--resize-handle-active-bg: var(--interactive-primary);--scrollbar-track-bg: transparent;--scrollbar-thumb-bg: #424242;--scrollbar-thumb-hover-bg: #4e4e4e;--modal-shadow: 0 10px 25px rgba(0, 0, 0, .6);--overlay-bg: rgba(0, 0, 0, .4);--cell-n-editable-bg: var(--surface-1);--cell-n-readonly-bg: var(--surface-2);--cell-c-element-bg: #141a24;--cell-a-element-bg: var(--surface-3);--cell-allow-links-bg: #1a1424;--cell-readonly-locked-bg: #1a1515;--cell-text-normal: var(--text-primary);--cell-text-dirty: #4fc1ff;--cell-text-calculated: var(--text-primary);--cell-text-aggregate: var(--text-primary);--cell-border: var(--border-1);--cell-border-selected: #0078D4;--cell-border-editing: #0078D4;--cell-selected-bg: rgba(0, 120, 212, .15);--cell-selected-border: #0078D4;--cell-editing-bg: var(--surface-1);--cell-editing-border: #0078D4;--cell-editing-shadow: 0 0 0 1px #0078D4;--cell-editable-bg: var(--cell-n-editable-bg);--cell-editable-border: var(--cell-border);--cell-readonly-bg: var(--cell-n-readonly-bg);--cell-calculated-bg: var(--cell-c-element-bg);--cell-summary-bg: var(--cell-a-element-bg);--cell-dirty-bg: var(--cell-n-editable-bg)}.grid-cell{font-family:var(--font-family-sans);font-size:var(--font-size-normal);color:var(--cell-text-normal)}.grid-cell.cell-n-editable{background:var(--cell-n-editable-bg);cursor:text}.grid-cell.cell-n-editable:hover{background:var(--hover-1)}.grid-cell.cell-n-readonly{background:var(--cell-n-readonly-bg);cursor:default}.grid-cell.cell-c-element{background:var(--cell-c-element-bg);cursor:default}.grid-cell.cell-a-element{background:var(--cell-a-element-bg);font-weight:var(--cell-font-weight-aggregate);cursor:default}.grid-cell.cell-dirty{color:var(--cell-text-dirty)}.grid-cell.cell-a-element.cell-dirty{color:var(--cell-text-dirty);font-weight:var(--cell-font-weight-aggregate)}.grid-cell.cell-selected{outline:2px solid var(--cell-selected-border);outline-offset:-2px}.grid-cell.cell-editing{background:var(--cell-editing-bg);outline:2px solid var(--cell-editing-border);outline-offset:-2px}.grid-cell.editable{background:var(--cell-n-editable-bg);cursor:text}.grid-cell.editable.dirty{color:var(--cell-text-dirty)}.grid-cell.readonly{background:var(--cell-n-readonly-bg);cursor:default}.grid-cell.readonly.dirty{color:var(--cell-text-dirty)}.grid-cell.readonly-aggregate{background:var(--cell-a-element-bg);font-weight:var(--cell-font-weight-aggregate);cursor:default}.grid-cell.readonly-aggregate.dirty{color:var(--cell-text-dirty);font-weight:var(--cell-font-weight-aggregate)}*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}body{font-family:var(--font-family-sans);font-size:var(--font-size-normal);font-weight:400;background:var(--surface-1);color:var(--text-primary);line-height:1.6;overflow:hidden;transition:none}html,body{height:100%}@font-face{font-display:swap;font-family:Noto Sans;src:url(/assets/noto-sans-v42-latin-100-CZDj0lx2.woff2) format("woff2");font-weight:100;font-style:normal}@font-face{font-display:swap;font-family:Noto Sans;src:url(/assets/noto-sans-v42-latin-200-C8jsXt9s.woff2) format("woff2");font-weight:200;font-style:normal}@font-face{font-display:swap;font-family:Noto Sans;src:url(/assets/noto-sans-v42-latin-regular-BTkUljjl.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-100-BkC86G8B.woff2) format("woff2");font-weight:100;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-200-DQkm-tzn.woff2) format("woff2");font-weight:200;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-regular-CZYNCU4f.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-200-DQkm-tzn.woff2) format("woff2");font-weight:200;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-300-D0Dkcytd.woff2) format("woff2");font-weight:300;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-600-BYgDt_Zw.woff2) format("woff2");font-weight:600;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-800-IBPRAzXb.woff2) format("woff2");font-weight:800;font-style:normal}@font-face{font-display:swap;font-family:Noto Mono;src:url(/assets/noto-sans-mono-v37-latin-900-CxECJfd-.woff2) format("woff2");font-weight:900;font-style:normal}.btn,.toolbar-btn,.dialog-btn{--mx: 50%;--my: 50%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:26px;padding:0 var(--space-sm);background:var(--btn-glass-bg);border:1px solid var(--btn-glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.btn:hover:not(:disabled),.toolbar-btn:hover:not(:disabled),.dialog-btn:hover:not(:disabled){background:radial-gradient(circle 60px at var(--mx) var(--my),var(--btn-glass-spotlight) 0%,var(--btn-glass-spotlight-mid) 50%,transparent 100%);border-color:var(--btn-glass-border-hover);color:var(--text-primary);box-shadow:inset 0 1px 0 var(--btn-glass-highlight),0 0 12px var(--btn-glass-glow)}.btn:active:not(:disabled),.toolbar-btn:active:not(:disabled),.dialog-btn:active:not(:disabled){transform:scale(.97);transition:transform .08s ease}.btn:disabled,.toolbar-btn:disabled,.dialog-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none}.btn:focus-visible,.toolbar-btn:focus-visible,.dialog-btn:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px}.btn--icon,.toolbar-btn-icon{width:26px;height:26px;padding:0}.btn svg,.toolbar-btn svg{width:18px;height:18px;flex-shrink:0}.btn--primary,.toolbar-btn-primary,.toolbar-btn-save{background:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--text-bright);backdrop-filter:none;-webkit-backdrop-filter:none}.btn--primary:hover:not(:disabled),.toolbar-btn-primary:hover:not(:disabled),.toolbar-btn-save:hover:not(:disabled){background:var(--interactive-primary-hover);border-color:var(--interactive-primary-hover);color:var(--text-bright);box-shadow:none}.btn--primary:active:not(:disabled),.toolbar-btn-primary:active:not(:disabled),.toolbar-btn-save:active:not(:disabled){background:var(--interactive-primary-active);border-color:var(--interactive-primary-active)}.btn--primary:disabled,.toolbar-btn-primary:disabled,.toolbar-btn-save:disabled{background:var(--surface-3);color:var(--text-dimmed);border-color:var(--border-1);opacity:.6}.btn--danger,.toolbar-btn-delete,.toolbar-btn.toolbar-btn-delete,.toolbar-btn-icon-danger,.toolbar-btn-danger{color:var(--text-secondary);border-color:var(--btn-glass-border)}.btn--danger:hover:not(:disabled),.toolbar-btn-delete:hover:not(:disabled),.toolbar-btn.toolbar-btn-delete:hover:not(:disabled),.toolbar-btn-icon-danger:hover:not(:disabled),.toolbar-btn-danger:hover:not(:disabled){background:var(--status-error);border-color:var(--status-error);color:var(--text-bright);box-shadow:inset 0 1px #ffc8c81a,0 0 14px #f14c4c38}.btn--danger:hover:not(:disabled) svg,.toolbar-btn-delete:hover:not(:disabled) svg,.toolbar-btn.toolbar-btn-delete:hover:not(:disabled) svg,.toolbar-btn-icon-danger:hover:not(:disabled) svg,.toolbar-btn-danger:hover:not(:disabled) svg{fill:var(--text-bright)}.btn--danger:active:not(:disabled),.toolbar-btn-delete:active:not(:disabled),.toolbar-btn.toolbar-btn-delete:active:not(:disabled),.toolbar-btn-icon-danger:active:not(:disabled),.toolbar-btn-danger:active:not(:disabled){background:var(--status-error-active);border-color:var(--status-error-active)}.btn--danger:disabled,.toolbar-btn-delete:disabled,.toolbar-btn-delete.disabled{opacity:.35;cursor:not-allowed}.toolbar-btn-delete.disabled:hover,.toolbar-btn-delete:disabled:hover{background:transparent;border-color:var(--btn-glass-border);color:var(--text-secondary);box-shadow:none}.btn--active,.toolbar-btn.active,.grid-bar-btn.active,.can-explore-btn.active,.expand-direction-btn.active,.set-default-subset-btn.active{background:#007acc26;border-color:var(--interactive-primary);color:var(--accent-primary);backdrop-filter:none;-webkit-backdrop-filter:none}.btn--active:hover:not(:disabled),.toolbar-btn.active:hover:not(:disabled),.grid-bar-btn.active:hover:not(:disabled),.can-explore-btn.active:hover:not(:disabled),.expand-direction-btn.active:hover:not(:disabled),.set-default-subset-btn.active:hover:not(:disabled){background:#007acc40;border-color:var(--interactive-primary-hover);color:var(--accent-primary);box-shadow:none}.toolbar-btn.active svg,.grid-bar-btn.active svg,.can-explore-btn.active svg,.expand-direction-btn.active svg,.set-default-subset-btn.active svg{fill:var(--accent-primary)}.btn--success,.toolbar-btn-success{background:var(--status-success-bg);border-color:var(--border-success);color:var(--status-success);backdrop-filter:none;-webkit-backdrop-filter:none}.btn--success:hover:not(:disabled),.toolbar-btn-success:hover:not(:disabled){background:var(--status-success);border-color:var(--status-success);color:var(--text-bright);box-shadow:none}.btn--success:disabled,.toolbar-btn-success:disabled{opacity:.6;cursor:not-allowed}.btn--success:disabled:hover,.toolbar-btn-success:disabled:hover{background:var(--status-success-bg);border-color:var(--border-success);color:var(--status-success)}.btn--warning,.toolbar-btn-warning{background:var(--status-warning-bg);border-color:var(--border-warning);color:var(--status-warning);backdrop-filter:none;-webkit-backdrop-filter:none}.btn--warning:hover:not(:disabled),.toolbar-btn-warning:hover:not(:disabled){background:var(--status-warning);border-color:var(--status-warning);color:var(--surface-0);box-shadow:none}.btn--error,.toolbar-btn.btn-error{color:var(--status-error);border-color:var(--status-error)}.btn--error:hover:not(:disabled),.toolbar-btn.btn-error:hover:not(:disabled){background:#ff4d4d1a;color:var(--status-error);box-shadow:none}.btn--error svg,.toolbar-btn.btn-error svg{fill:var(--status-error)}.btn--dialog,.dialog-btn{height:28px;min-width:80px;padding:0 var(--space-lg);font-weight:var(--font-weight-medium)}.dialog-btn-primary{background:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--text-bright);backdrop-filter:none;-webkit-backdrop-filter:none}.dialog-btn-primary:hover:not(:disabled){background:var(--interactive-primary-hover);border-color:var(--interactive-primary-hover);color:var(--text-bright);box-shadow:none}.dialog-btn-primary:active:not(:disabled){background:var(--interactive-primary-active);border-color:var(--interactive-primary-active)}.dialog-btn-danger{color:var(--text-secondary);border-color:var(--btn-glass-border)}.dialog-btn-danger:hover:not(:disabled){background:var(--status-error);border-color:var(--status-error);color:var(--text-bright);box-shadow:inset 0 1px #ffc8c81a,0 0 14px #f14c4c38}.dialog-btn-danger:active:not(:disabled){background:var(--status-error-active);border-color:var(--status-error-active)}.toolbar-btn-share{position:relative}.toolbar-btn-share svg{width:16px;height:16px}.btn-ripple{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--btn-ripple-color) 0%,transparent 70%);transform:scale(0);animation:btn-ripple-expand .4s ease-out forwards;pointer-events:none}@keyframes btn-ripple-expand{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.grid-bar-btn,.dict-action-btn,.design-mode-btn,.can-explore-btn,.new-subset-btn,.set-default-subset-btn,.sort-dropdown-btn,.display-dropdown-btn,.expand-direction-btn,.expand-collapse-all-btn,.delete-subset-btn{--mx: 50%;--my: 50%;background:var(--btn-glass-bg);border:1px solid var(--btn-glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.grid-bar-btn:hover:not(:disabled),.dict-action-btn:hover:not(:disabled),.new-subset-btn:hover:not(:disabled),.sort-dropdown-btn:hover:not(:disabled),.display-dropdown-btn:hover:not(:disabled),.expand-collapse-all-btn:hover:not(:disabled){background:radial-gradient(circle 60px at var(--mx) var(--my),var(--btn-glass-spotlight) 0%,var(--btn-glass-spotlight-mid) 50%,transparent 100%);border-color:var(--btn-glass-border-hover);color:var(--text-primary);box-shadow:inset 0 1px 0 var(--btn-glass-highlight),0 0 12px var(--btn-glass-glow)}.grid-bar-btn:active:not(:disabled),.dict-action-btn:active:not(:disabled),.design-mode-btn:active:not(:disabled),.can-explore-btn:active:not(:disabled),.new-subset-btn:active:not(:disabled),.set-default-subset-btn:active:not(:disabled),.sort-dropdown-btn:active:not(:disabled),.display-dropdown-btn:active:not(:disabled),.expand-direction-btn:active:not(:disabled),.expand-collapse-all-btn:active:not(:disabled),.delete-subset-btn:active:not(:disabled){transform:scale(.97);transition:transform .08s ease}.grid-bar-btn:disabled,.dict-action-btn:disabled{opacity:.35;cursor:not-allowed;-webkit-backdrop-filter:none;backdrop-filter:none}.design-mode-btn.active,.can-explore-btn.active,.expand-direction-btn.active,.set-default-subset-btn.active,.new-subset-btn.active,.grid-bar-btn.active{backdrop-filter:none;-webkit-backdrop-filter:none}.grid-bar-btn svg,.dict-action-btn svg,.design-mode-btn svg,.can-explore-btn svg,.new-subset-btn svg,.set-default-subset-btn svg,.sort-dropdown-btn svg,.display-dropdown-btn svg,.expand-direction-btn svg,.expand-collapse-all-btn svg,.delete-subset-btn svg{flex-shrink:0}@keyframes novi-spinner-spin{to{transform:rotate(360deg)}}.novi-spinner{display:inline-grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:20px;height:20px;animation:novi-spinner-spin .9s linear infinite;flex-shrink:0;vertical-align:middle}.ns-sq{border-radius:20%}.ns-sq--1{background:#f59e0b}.ns-sq--2{background:#60a5fa}.ns-sq--3{background:#34d399}.ns-sq--4{background:#a78bfa}.novi-spinner--xs{width:10px;height:10px;gap:1px}.novi-spinner--sm{width:14px;height:14px;gap:1.5px}.novi-spinner--lg{width:32px;height:32px;gap:3px}.novi-spinner--xl{width:40px;height:40px;gap:3px}.container.hidden{display:none}.container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.main-content{display:flex;flex-direction:row;flex:1;overflow:hidden;min-height:0;align-items:stretch}.tabbed-area{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.welcome-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--surface-5);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dimmed)}.welcome-screen h2{font-size:24px;margin-top:8px}.welcome-principles{margin-top:16px}.title-bar{background:var(--surface-3);height:35px;display:flex;justify-content:space-between;align-items:center;padding:0 0 0 10px;border-bottom:1px solid var(--border-1);font-size:13px;-webkit-user-select:none;user-select:none;transition:background-color .3s ease,border-color .3s ease;gap:5px;flex-shrink:0;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.title-bar-left{display:flex;align-items:center;gap:4px;width:33%;padding-left:5px}.title-bar-middle{flex:1;display:flex;justify-content:center;align-items:center;width:33%}.title-bar-right{display:flex;align-items:center;gap:5px;width:33%;justify-content:flex-end}.logo-sygnet{display:none;padding-top:1px;margin-right:10px;align-items:center}.logo-tenant{display:flex;align-items:center}.logo-tenant img{height:18px;width:auto}.search{display:flex;justify-content:center;align-items:center}.search input{text-align:left;width:300px;height:20px;padding:2px 8px;background:var(--surface-3);border:1px solid var(--border-2);border-radius:3px;color:var(--text-primary);box-sizing:border-box;transition:background-color .3s ease,border-color .3s ease,color .3s ease;font-size:12px}.search input:focus{outline:none;border-color:var(--border-accent)}.theme-switch-wrapper .icon-btn{font-size:16px;padding:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.logout-btn{padding:10px 8px 0;height:35px;cursor:pointer}.logout-btn:hover{background:--var(--surface-red)}.logout-btn svg{width:16px;height:16px;fill:currentColor}.logout-btn:hover{background:var(--hover-red);color:var(--text-bright)}.logout-btn:active{background:var(--surface-red)}.right-sidebar-icons{display:flex;align-items:center;gap:2px}.right-sidebar-icon{padding:6px 8px;cursor:pointer;color:var(--text-primary);border-radius:3px;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.right-sidebar-icon:hover{background:var(--hover-1);color:var(--text-bright)}.right-sidebar-icon.active{background:var(--surface-3);color:var(--text-secondary)}.right-sidebar-icon svg{width:16px;height:16px;fill:currentColor}.right-sidebar-icon[data-drawer=notifications]:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--surface-red);border-radius:50%;border:1px solid var(--border-1)}:root{--right-sidebar-width-default: 350px;--right-sidebar-width-min: 250px;--right-sidebar-width-max: 600px}.right-sidebar{position:fixed;top:35px;right:0;width:var(--right-sidebar-width-saved, var(--right-sidebar-width-default));min-width:var(--right-sidebar-width-min);max-width:var(--right-sidebar-width-max);height:calc(100vh - 57px);background:var(--sidebar-bg);border-left:1px solid var(--border-1);transform:translate(100%);transition:transform .3s ease,width 0s;z-index:999;overflow:hidden}.right-sidebar-resize-handle{position:fixed;top:35px;width:4px;height:calc(100vh - 57px);cursor:ew-resize;background:transparent;z-index:1000;-webkit-user-select:none;user-select:none;right:-4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.right-sidebar.open~.right-sidebar-resize-handle,.right-sidebar-resize-handle.visible{opacity:1;pointer-events:auto}.right-sidebar-resize-handle:before{content:"";position:absolute;inset:0;width:4px;background:var(--accent-primary);opacity:0;transition:opacity .15s ease .2s;pointer-events:none}.right-sidebar-resize-handle:hover:before{opacity:1}.right-sidebar-resize-handle:active:before,.right-sidebar-resize-handle.resizing:before{opacity:1;background:var(--accent-hover);transition:none}.right-sidebar.resizing{transition:none}.right-sidebar.resizing{pointer-events:none}.right-sidebar.open{transform:translate(0)}.drawer-panel{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--surface-2);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;display:flex;flex-direction:column}.drawer-panel.active{opacity:1;visibility:visible}.drawer-header{padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--border-1);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.drawer-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary);font-size:14px}.drawer-icon{width:18px;height:18px;fill:currentColor}.drawer-close-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-primary);border-radius:3px;transition:background-color .2s ease}.drawer-close-btn:hover{background:var(--hover-1)}.drawer-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.notification-filters{padding:12px 16px;border-bottom:1px solid var(--border-1);display:flex;gap:8px}.filter-btn{background:none;border:1px solid var(--border-2);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-color);transition:all .2s ease}.filter-btn:hover{background:var(--hover-1)}.filter-btn.active{background:var(--surface-2);border-color:var(--border-1);color:var(--text-primary)}.notifications-list{flex:1;overflow-y:auto;padding:8px 0}.notification-item{display:flex;align-items:flex-start;padding:12px 16px;gap:12px;border-bottom:1px solid var(--border-1);position:relative;transition:background-color .2s ease}.notification-item:hover{background:var(--hover-1)}.notification-item.unread{background:var(--surface-3)}.notification-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-text{font-size:13px;color:var(--text-primary);line-height:1.4;margin-bottom:4px}.notification-time{font-size:11px;color:var(--accent-primary)}.notification-avatar.system{background:var(--surface-3);color:var(--text-secondary)}.comments-context{padding:12px 16px;border-bottom:1px solid var(--border-1);background:var(--surface-3)}.context-badge{display:inline-block;padding:4px 10px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:12px;font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.context-hint{font-size:12px;color:var(--text-secondary);margin:0}.comments-list{flex:1;overflow-y:auto;padding:8px 0}.comments-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.comments-empty-state svg{margin-bottom:16px;opacity:.5}.comments-empty-state p{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--text-primary)}.comments-empty-state span{font-size:12px;color:var(--text-secondary)}.comment-input-area{padding:12px 16px;border-top:1px solid var(--border-1);display:flex;gap:8px;align-items:flex-end;background:var(--surface-2)}.comment-input{flex:1;background:var(--surface-3);border:1px solid var(--border-2);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--text-primary);resize:none;font-family:inherit;transition:border-color .2s ease,background-color .2s ease}.comment-input:disabled{opacity:.5;cursor:not-allowed}.comment-submit-btn{width:36px;height:36px;background:var(--accent-primary);border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background-color .2s ease,opacity .2s ease;flex-shrink:0}.comment-submit-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.comment-submit-btn:disabled{opacity:.4;cursor:not-allowed}.minion-working-indicator{display:flex;align-items:flex-start;gap:12px;padding:8px 0}.minion-avatar{width:40px;height:40px;position:relative;flex-shrink:0}.minion-avatar svg{width:100%;height:100%;fill:var(--text-secondary);animation:minion-bob 1.5s ease-in-out infinite}.minion-content{flex:1;display:flex;flex-direction:column;gap:4px}.minion-name{font-weight:600;font-size:var(--font-size-small);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.5px}.minion-tagline{color:var(--text-secondary);font-style:italic;font-size:var(--font-size-small);animation:tagline-fade .3s ease-out}.minion-progress{display:flex;gap:4px;margin-top:4px}.minion-progress-dot{width:4px;height:4px;background:var(--accent-primary);border-radius:50%;animation:progress-pulse 1.2s ease-in-out infinite}.minion-progress-dot:nth-child(1){animation-delay:0s}.minion-progress-dot:nth-child(2){animation-delay:.15s}.minion-progress-dot:nth-child(3){animation-delay:.3s}.minion-progress-dot:nth-child(4){animation-delay:.45s}.minion-progress-dot:nth-child(5){animation-delay:.6s}@keyframes minion-bob{0%,to{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}}@keyframes tagline-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.theme-switch-wrapper{display:flex;align-items:center;height:100%}.theme-switch input{opacity:0;width:0;height:0;position:absolute}.theme-switch{position:relative;display:inline-block;width:44px;height:24px;overflow:hidden}.slider{position:absolute;inset:0;background-color:var(--surface-4);transition:background-color .2s ease;border-radius:34px;cursor:pointer}.slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border:1px solid var(--border-1);box-shadow:0 2px 4px #0003,0 1px 2px #0000001a;transition:transform .2s ease;z-index:3;border-radius:50%}.dark-mode .slider:before{background-color:#f8f9fa;border-color:var(--border-2)}input:checked+.slider{background-color:var(--surface-4)}input:checked+.slider:before{transform:translate(20px)}.slider-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:inline-flex;align-items:center;justify-content:center;transition:opacity .1s ease}.slider-icon svg{width:16px;height:16px;display:block}.slider-icon svg path{fill:inherit}.light-icon{left:4px;opacity:1}.light-icon svg{fill:#f9a825}.dark-icon{right:4px;opacity:0}.dark-icon svg{fill:#e0e0e0}.theme-switch input:checked+.slider .light-icon{opacity:0}.theme-switch input:checked+.slider .dark-icon{opacity:1}input:focus+.slider{box-shadow:0 0 1px var(--border-1)}input:focus-visible+.slider{outline:2px solid var(--hover-3);outline-offset:2px}.activity-bar{background:var(--surface-3);width:48px;border-right:1px solid var(--border-1);display:flex;flex-direction:column;flex-shrink:0;z-index:10;height:100%;align-self:stretch;box-shadow:4px 0 12px -1px #0078d466,2px 0 6px -1px #0078d44d}.activity-top{display:flex;flex-direction:column;flex-shrink:0}.activity-spacer{flex:1;min-height:0}.activity-bottom{display:flex;flex-direction:column;flex-shrink:0;margin-top:auto}.activity-item{width:48px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);fill:var(--text-primary);position:relative;flex-shrink:0}.activity-item:hover{color:var(--text-bright);fill:var(--text-bright);background:var(--hover-3);border-radius:var(--radius-md)}.activity-item.active{color:var(--text-bright);fill:var(--text-bright);background:#0078d426}.activity-item.active svg{filter:drop-shadow(0 0 4px rgba(255,255,255,.3))}.activity-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background-color:var(--accent-primary);border-radius:0 2px 2px 0}.activity-item svg{width:28px;height:28px;pointer-events:none}.activity-item.permission-controlled{display:none}.activity-item.permission-controlled.permission-granted{display:flex}.activity-item[data-sidebar-target=sidebar-clara].active{background:var(--clara-subtle)}.activity-item[data-sidebar-target=sidebar-clara].active:before{background-color:var(--clara-primary)}.activity-item[data-sidebar-target=sidebar-clara].active svg{filter:drop-shadow(0 0 6px var(--clara-glow));color:var(--clara-light);fill:var(--clara-light);animation:clara-sidebar-breathe 4s ease-in-out infinite}@keyframes clara-sidebar-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.activity-divider{width:32px;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border-2) 20%,var(--accent-primary) 50%,var(--border-2) 80%,transparent 100%);margin:8px auto;opacity:.3;flex-shrink:0}:root{--sidebar-width-default: 300px;--sidebar-width-min: 150px;--sidebar-width-max: 600px}.sidebar-container{display:flex;flex-direction:row;width:var(--sidebar-width-saved, var(--sidebar-width-default, 300px));min-width:var(--sidebar-width-min, 150px);max-width:var(--sidebar-width-max, 600px);flex-shrink:0;height:100%;position:relative;overflow:hidden;min-height:0;background:var(--surface-3);z-index:20;transition-behavior:allow-discrete}.sidebar-content.hidden{display:none}.sidebar-container.hidden-sidebar{width:0;min-width:0;max-width:0;overflow:visible}.sidebar{background:var(--surface-2);width:100%;display:flex;flex-direction:column;overflow:hidden;flex:1;height:100%}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:0;min-height:0;height:100%}.resize-handle{width:4px;height:100%;cursor:ew-resize;background:var(--surface-2);flex-shrink:0;align-self:stretch;-webkit-user-select:none;user-select:none;z-index:100;position:relative;border-right:1px solid var(--border-1)}.resize-handle:before{content:"";position:absolute;inset:0;width:4px;background:var(--accent-primary);opacity:0;transition:opacity .15s ease .2s;pointer-events:none}.resize-handle:hover:before{opacity:1}.resize-handle:active:before,.resize-handle.resizing:before{opacity:1;background:var(--accent-hover);transition:none}.sidebar-container.hidden-sidebar+.resize-handle{position:absolute;left:48px;top:0;bottom:0;background:transparent;width:8px;margin:0;z-index:101;border-right:none}.sidebar-container.resizing{pointer-events:none;transition:none}.sidebar-content::-webkit-scrollbar{width:8px}.sidebar-content::-webkit-scrollbar-track{background:var(--surface-2)}.sidebar-content::-webkit-scrollbar-thumb{background:var(--hover-1);border-radius:4px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--surface-2)}.loading-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-primary);font-size:13px}.status-bar{background:var(--accent-primary);border-top:1px solid var(--accent-primary);height:22px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:var(--text-bright);flex-shrink:0;position:relative;z-index:50;box-shadow:0 -2px 3px -1px #0000004d,0 -1px 2px -1px #0003}.status-left,.status-right{display:flex;gap:12px}.status-bar-center{position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.status-bar-center .status-item{pointer-events:auto}.status-item{display:flex;align-items:center;gap:4px;padding:2px 4px;transition:background-color .15s ease}.status-label{color:var(--text-bright);font-size:var(--font-size-small)}.status-value{color:var(--text-bright);font-size:var(--font-size-small);font-weight:500}.connection-indicator{width:8px;height:8px;border-radius:50%;transition:background-color .3s ease}.connection-indicator[data-status=connected]{background:var(--status-success);box-shadow:0 0 4px var(--status-success)}.connection-indicator[data-status=disconnected]{background:var(--status-error)}.connection-indicator[data-status=connecting]{background:var(--status-warning);animation:pulse 1.5s infinite}.status-selection-stats{gap:12px;border-right:1px solid rgba(255,255,255,.25);padding-right:12px;margin-right:0}.status-selection-stats .status-stat{display:inline-flex;align-items:center;gap:3px}.status-selection-stats .status-label{opacity:.7}.status-selection-stats .status-value{font-variant-numeric:tabular-nums}.tab-bar{background:var(--surface-5);border-bottom:1px solid var(--surface-2);height:40px;display:none;align-items:self-end;overflow-x:auto;overflow-y:hidden;flex-shrink:0;position:relative;scrollbar-width:none}.tab-bar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--surface-3);z-index:0}.tab-bar:not(:empty){display:flex}.tab-bar::-webkit-scrollbar{display:none}.tab{display:flex;flex-direction:column;justify-content:space-between;min-width:120px;max-width:240px;height:40px;padding:4px 6px 0 10px;background:var(--surface-3);border-right:1px solid var(--border-1);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;flex-shrink:0;transition:background-color .15s ease;z-index:1}.tab:hover{background:var(--hover-2)}.tab{draggable:true}.tab.dragging{opacity:.5}.tab.drop-left:before,.tab.drop-right:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--vscode-tab-activeForeground, #fff);z-index:10}.tab.drop-left:before{left:-1px}.tab.drop-right:after{right:-1px}.tab.active{background:var(--surface-2);border-top:2px solid var(--accent-primary);box-shadow:4px 0 12px -1px #0078d466,2px 0 6px -1px #0078d44d;z-index:15;position:relative}.tab.active:before{content:"";position:absolute;bottom:-1px;left:-1px;right:-1px;height:3px;background:var(--surface-2)}.tab.active:hover{background:var(--surface-2)}.tab-context{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:12px;margin-bottom:2px}.tab.active .tab-context{color:var(--text-primary)}.tab-content{display:flex;align-items:center;gap:3px;min-height:22px;padding-bottom:3px}.tab-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tab-icon svg{width:100%;height:100%}.tab[data-object-type=workspace] .tab-icon,.tab[data-object-type=model] .tab-icon{color:var(--model-icon-color)}.tab[data-object-type=dictionary] .tab-icon{color:var(--icon-dictionary-color);fill:var(--icon-dictionary-color);overflow:visible}.tab[data-object-type=dictionary] .tab-icon svg{fill:var(--icon-dictionary-color)}.tab[data-object-type=dictionary-link] .tab-icon{color:#4ade80}.tab-icon .dictionary-icon-wrapper{position:relative;display:inline-flex;width:16px;height:16px}.tab-icon .dictionary-icon-type-overlay{bottom:-3px;right:-5px}.tab-icon .dictionary-icon-type-overlay svg{width:14px;height:14px}.tab-icon .dictionary-icon-wrapper{margin-right:4px}.tab[data-object-type=table] .tab-icon{color:#f59e0b}.tab[data-object-type=link] .tab-icon{color:#8b5cf6}.tab[data-object-type=contribution] .tab-icon{color:#ec4899}.tab[data-object-type=flow] .tab-icon{color:#06b6d4}.tab[data-object-type=datasource] .tab-icon{color:#84cc16}.tab[data-object-type=clara] .tab-icon{color:var(--clara-primary)}.tab[data-object-type=clara].active{border-top-color:var(--clara-primary);box-shadow:4px 0 12px -1px #8a63ff59,2px 0 6px -1px #8a63ff40}.tab-label{flex:1;font-size:var(--font-size-normal);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;padding-left:4px}.tab.active .tab-label{color:var(--text-primary)}.tab.preview .tab-label{font-style:italic}.tab-close{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:3px;background:transparent;border:none;cursor:pointer;padding:0;color:var(--text-secondary);transition:all .15s ease;opacity:0;pointer-events:none}.tab-close:hover{background:var(--hover-3);color:var(--text-primary)}.tab-close svg{width:14px;height:14px}.tab.active .tab-close,.tab:hover .tab-close{opacity:1;pointer-events:auto}.tab.dirty .tab-close:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent-primary);top:50%;left:50%;transform:translate(-50%,-50%)}.tab.dirty:hover .tab-close:before{display:none}.tab-bar:empty:after{content:"No tabs open";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--text-dimmed);font-size:var(--font-size-small);pointer-events:none}.tab-bar:before,.tab-bar:after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:100;transition:opacity .2s ease}.tab-bar:before{left:0;background:linear-gradient(to right,var(--surface-2),transparent);opacity:0}.tab-bar:after{right:0;background:linear-gradient(to left,var(--surface-2),transparent);opacity:0}.tab-bar.scroll-left:before{opacity:1}.tab-bar.scroll-right:after{opacity:1}@media(max-width:600px){.tab{min-width:100px;max-width:180px}.tab-context{font-size:8px}}.explorer-title{padding:var(--space-sm) var(--space-md) 0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dimmed);flex-shrink:0}.explorer-tree{height:100%;overflow-y:auto;overflow-x:hidden;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);-webkit-user-select:none;user-select:none;pointer-events:auto}.tree-container{padding:var(--space-xs) 0;display:flex;flex-direction:column;pointer-events:auto}.tree-node{display:flex;align-items:center;flex-wrap:wrap;min-height:22px;cursor:pointer;position:relative;color:var(--text-primary);flex-shrink:0;pointer-events:auto;z-index:12}.tree-node>.tree-chevron,.tree-node>.tree-chevron-spacer,.tree-node>.tree-icon,.tree-node>.tree-text,.tree-node>.tree-actions,.tree-node>.tree-badge,.tree-node>.working-model-marker{position:relative;z-index:1}.tree-node:after{content:"";position:absolute;left:0;right:0;top:0;height:22px;background-color:transparent;transition:background-color var(--transition-fast);z-index:0;pointer-events:none}.tree-node{padding:0 var(--space-xs) 0 16px}.tree-node>.tree-children{flex-basis:100%;margin-left:0;padding-left:0}.tree-node:hover:not(:has(.tree-node:hover)):after{background-color:var(--hover-3)}.tree-node.selected:after{background-color:var(--hover-4)}.tree-node.selected:hover:after{background-color:var(--hover-5)}.tree-top-node{font-weight:var(--font-weight-semibold);padding:var(--space-xs)}.tree-top-node:after{top:var(--space-xs)}.tree-top-node .tree-text{text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px;color:var(--text-secondary)}.tree-chevron{width:16px;height:16px;margin-right:var(--space-xs);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);color:var(--text-secondary)}.tree-chevron svg{width:12px;height:12px;transform:rotate(0);transition:transform var(--transition-fast);pointer-events:none}.tree-chevron.expanded svg{transform:rotate(90deg)}.tree-chevron:hover{color:var(--text-primary)}.tree-chevron-spacer{width:16px;margin-right:var(--space-xs);flex-shrink:0}.tree-icon{width:16px;height:16px;margin-right:var(--space-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.tree-icon svg{width:100%;height:100%}.tree-node[data-node-type=model] .tree-icon{color:var(--model-icon-color)}.tree-node[data-node-type=dictionary] .tree-icon{color:var(--icon-dictionary-color);fill:var(--icon-dictionary-color)}.tree-node[data-node-type=dictionary] .tree-icon svg{fill:var(--icon-dictionary-color)}.tree-node[data-node-type=dictionary].dictionary-empty .tree-icon{color:var(--status-error);fill:var(--status-error)}.tree-node[data-node-type=dictionary].dictionary-empty .tree-icon svg{fill:var(--status-error)}.tree-element-count{font-size:10px;color:var(--text-tertiary);margin-left:auto;padding:0 var(--space-sm);min-width:20px;text-align:right;flex-shrink:0}.tree-node.dictionary-empty .tree-element-count{color:var(--status-error)}.tree-node[data-node-type=table] .tree-icon{color:#f59e0b}.tree-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px}.tree-badge{font-size:9px;padding:0 4px;border-radius:var(--radius-sm);line-height:16px;white-space:nowrap;margin-left:var(--space-xs);flex-shrink:0}.tree-actions{display:flex;gap:2px;margin-left:auto;padding-left:var(--space-sm);opacity:0;visibility:hidden;width:0;overflow:hidden;transition:opacity var(--transition-fast),width var(--transition-fast),visibility 0s linear var(--transition-fast)}.tree-node:hover:not(:has(.tree-node:hover))>.tree-actions,.tree-top-node .tree-actions,.tree-node[data-node-type=dictionary-type-group]>.tree-actions,.tree-node[data-node-type=table-category]>.tree-actions{opacity:1;visibility:visible;width:auto;transition:opacity var(--transition-fast),width var(--transition-fast),visibility 0s linear 0s}.tree-action-btn{width:20px;height:20px;padding:2px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.tree-action-btn:hover{background:var(--accent-subtle);color:var(--accent-primary);transform:scale(1.1)}.tree-action-btn:active{transform:scale(.95)}.tree-action-btn svg{width:14px;height:14px}.tree-top-node .tree-actions{opacity:1}.tree-node[data-node-type=dictionary-type-group]>.tree-actions{opacity:1;visibility:visible;width:auto}.tree-node.working-model:after{background-color:var(--hover-1)}.tree-node.working-model:hover:after{background-color:var(--hover-3)}.tree-node.working-model.selected:after{background-color:var(--hover-5)}.working-model-marker{width:16px;height:16px;margin-right:1px;margin-left:3px;flex-shrink:0;display:flex;align-items:center;justify-content:right;color:#75fb4c}.working-model-marker svg{width:14px;height:14px}.tree-node.working-model .tree-chevron-spacer{display:none}.tree-input-row{background-color:var(--surface-3);cursor:default;flex-wrap:nowrap;min-width:0}.tree-input-row:hover:after{background-color:var(--surface-3)}.tree-input{flex:1;min-width:60px;background:var(--input-bg);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);outline:none;position:relative;z-index:2}.tree-input:focus{border-color:var(--accent-primary)}.tree-input::placeholder{color:var(--text-dimmed)}.tree-input-row.shake{animation:shake .4s ease-in-out}.tree-input-row.shake .tree-input{border-color:var(--status-error)}.tree-node.shake{animation:shake .4s ease-in-out}.tree-rename-input{margin:0;height:18px;line-height:18px}.tree-node.disabled{opacity:.5;cursor:not-allowed}.tree-node.disabled:hover{background-color:transparent}.tree-node.loading .tree-icon{animation:spin 1s linear infinite}.explorer-tree::-webkit-scrollbar{width:10px}.explorer-tree::-webkit-scrollbar-track{background:var(--scrollbar-track-bg)}.explorer-tree::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:5px}.explorer-tree::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.explorer-tree:focus-within .tree-node.selected{background-color:var(--accent-subtle);color:var(--text-primary)}.tree-empty-state{padding:var(--space-xl);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-small)}.tree-empty-state svg{width:48px;height:48px;margin:0 auto var(--space-md);opacity:.3}@media(max-width:600px){.tree-node{min-height:28px}.tree-text{line-height:28px}.tree-action-btn{width:24px;height:24px}}.tree-node.dragging{opacity:.5;background-color:var(--accent-subtle);border:1px dashed var(--accent-primary)}.tree-node.dragging *{pointer-events:none}.tree-node.drag-over{background-color:var(--accent-subtle);outline:2px dashed var(--accent-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.tree-node.drag-over:after{background-color:var(--accent-subtle)!important}.tree-chevron,.tree-node{will-change:transform}.tree-container{contain:layout style paint}.tree-children{position:relative}.tree-children:before{content:"";position:absolute;left:11px;top:0;bottom:11px;width:1px;background:#ffffff14;z-index:14}.tree-children>.tree-node:before{content:"";position:absolute;left:11px;top:11px;width:7px;height:1px;background:#ffffff14;z-index:14}.tree-children>.tree-node.tree-leaf:before{width:23px}.tree-children>.tree-node.working-model:before{content:"";position:absolute;left:11px;top:11px;width:7px;height:1px;background:#ffffff14;z-index:14}.tree-node>.tree-children:before{left:7px}.tree-node>.tree-children>.tree-node:before{left:7px;width:23px;z-index:14}.tree-node[data-node-type=model] .tree-icon{position:relative}.tree-node[data-node-type=model] .tree-icon:after{content:"";position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:none;z-index:10}.tree-node.model-shared .tree-icon:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%2375FB4C'%3E%3Cpath d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Z'/%3E%3C/svg%3E")}.model-filter-dropdown{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background-color:var(--surface-2);border-bottom:1px solid var(--border-1)}.model-filter-dropdown .searchable-select{flex:1;min-width:0}.model-filter-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.model-filter-select{flex:1;min-width:60px;overflow:hidden;text-overflow:ellipsis;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background-color:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);cursor:pointer;outline:none;transition:all var(--transition-fast)}.model-filter-select:hover{background-color:var(--hover-3);border-color:var(--border-3)}.model-filter-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.model-filter-select option{background-color:var(--surface-3);color:var(--text-primary);padding:var(--space-xs)}.workspace-switch-dropdown{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background-color:var(--surface-2);border-bottom:1px solid var(--border-1)}.workspace-switch-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.workspace-switch-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;padding:0;background-color:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;outline:none;transition:all var(--transition-fast)}.workspace-switch-button:hover{background-color:var(--hover-3);border-color:var(--border-3);color:var(--text-primary)}.workspace-switch-button:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.workspace-switch-button:active:not(:disabled){background-color:var(--active-3)}.workspace-switch-button:disabled{opacity:.4;cursor:not-allowed}.workspace-switch-button svg{width:16px;height:16px;fill:currentColor}.dictionary-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.dictionary-icon-base{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.dictionary-icon-base svg{width:16px;height:16px}.dictionary-icon-type-overlay{position:absolute;bottom:-4px;right:-6px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.dictionary-icon-type-overlay svg{width:16px;height:16px;background:var(--surface-2);border-radius:50%}.tree-node[data-node-type=dictionary-type-group],.tree-node[data-node-type=dictionary-type-group] .tree-icon{color:#eac452}.tree-node[data-node-type=dictionary-type-group] .tree-text{color:var(--text-secondary);font-weight:var(--font-weight-medium)}.tree-node[data-node-type=dictionary-type-group] .tree-icon svg{width:14px;height:14px}.tree-node[data-node-type=datasource] .tree-icon{color:var(--icon-datasource-color, #4FC3F7)}.tree-node[data-node-type=datasource] .tree-icon svg{width:16px;height:16px}.tree-node[data-node-type=datasource-scope-folder],.tree-node[data-node-type=datasource-scope-folder] .tree-icon{color:#eac452}.tree-node[data-node-type=datasource-scope-folder] .tree-text{color:var(--text-secondary);font-weight:var(--font-weight-medium)}.tree-node[data-node-type=datasource-scope-folder] .tree-icon svg{width:16px;height:16px}.editor-container{flex:1;position:relative;overflow:hidden;z-index:19;min-height:0}.editor-instance{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;display:none}.editor-instance{flex-direction:column}.split-pane-wrapper{display:flex;flex-direction:row;flex:1;overflow:hidden;min-height:0}.pane{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0;position:relative}.split-pane-wrapper.is-split .pane{flex:none}.split-pane-wrapper.is-split .pane.focused>.tab-bar{border-bottom:1px solid var(--accent-primary)}.split-pane-divider{width:4px;cursor:ew-resize;background:var(--resize-handle-bg, var(--surface-2));flex-shrink:0;z-index:100;position:relative;border-left:1px solid var(--border-1);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.split-pane-divider:hover{background:var(--resize-handle-hover-bg, var(--accent-primary))}.split-pane-divider.resizing{background:var(--resize-handle-active-bg, var(--accent-hover, var(--accent-primary)))}.pane .tab-bar.drop-target{background:var(--surface-3);transition:background var(--transition-fast)}.editor-workspace-list{height:100%;display:flex;flex-direction:column;background:var(--surface-1)}.models-grid{flex:1;padding:var(--space-xl);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);overflow-y:auto;align-content:start}.model-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.model-card:hover{background:var(--hover-1);border-color:var(--border-2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.model-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius-md);flex-shrink:0}.model-card-icon svg{color:var(--model-icon-color)}.model-card-content{flex:1;min-width:0}.model-card-name{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-card-stats{font-size:var(--font-size-small);color:var(--text-secondary);display:flex;gap:var(--space-xs)}.model-card-badge{font-size:9px;padding:0 5px;border-radius:var(--radius-sm);line-height:16px;margin-left:var(--space-sm);vertical-align:middle;font-weight:var(--font-weight-normal)}.model-card-badge--common{color:var(--accent-primary);background:#007aff1a;border:1px solid rgba(0,122,255,.2)}.model-card-id{font-size:var(--font-size-mini);color:var(--text-dimmed);margin-top:var(--space-xs);font-family:var(--font-family-mono);letter-spacing:.02em}.model-card-open{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.model-card:hover .model-card-open{opacity:1}.model-card-open:hover{background:var(--hover-2);color:var(--text-primary)}.model-card--offline{opacity:.45}.model-card--offline:hover{opacity:.7}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-xl);text-align:center;color:var(--text-secondary);min-height:400px}.empty-state svg{color:var(--text-dimmed);margin-bottom:var(--space-lg);opacity:.5}.empty-state h3{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-sm)}.empty-state p{font-size:var(--font-size-normal);margin:0 0 var(--space-xl)}.models-grid::-webkit-scrollbar{width:8px}.models-grid::-webkit-scrollbar-track{background:transparent}.models-grid::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:4px}.models-grid::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.editor-toolbar{height:35px;background:var(--surface-2);border-bottom:1px solid var(--border-1);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);gap:var(--space-sm);flex-shrink:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-xs)}.share-copied-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:var(--font-size-small);transition:max-width .3s ease,opacity .3s ease,margin .3s ease;margin-left:0}.toolbar-btn-share.share-copied-active .share-copied-label{max-width:80px;opacity:1;margin-left:var(--space-xs)}.search-box{display:flex;align-items:center;gap:6px;height:24px;padding:0 8px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.search-box:focus-within{border-color:var(--interactive-primary);background:var(--surface-0)}.search-icon{width:14px;height:14px;flex-shrink:0;fill:var(--text-secondary)}.search-box .search-input{border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-small);width:180px;padding:0;outline:none;box-shadow:none}.search-box .search-input:focus{border:none;box-shadow:none}.search-box .search-input::placeholder{color:var(--text-tertiary)}.search-clear{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.search-box:focus-within .search-clear,.search-clear.visible{opacity:1}.search-clear:hover{color:var(--text-primary)}.search-clear svg{width:12px;height:12px;fill:currentColor}.search-warning{display:flex;align-items:center;color:var(--status-warning);cursor:help;flex-shrink:0}.toolbar-dropdown{position:relative;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.toolbar-dropdown:hover{border-color:var(--interactive-primary)}.toolbar-dropdown .toolbar-btn-run,.toolbar-dropdown .toolbar-btn-import{border:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);padding:4px 6px;background:transparent}.toolbar-dropdown .toolbar-btn-run:hover,.toolbar-dropdown .toolbar-btn-import:hover{background:var(--hover-1)}.toolbar-dropdown .toolbar-btn-run svg,.toolbar-dropdown .toolbar-btn-import svg{color:var(--interactive-primary)}.toolbar-dropdown .toolbar-dropdown-toggle{border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:1px solid var(--border-1);padding:4px 10px 4px 12px;gap:var(--space-xs);background:transparent;min-width:160px}.toolbar-dropdown .toolbar-dropdown-arrow{margin-left:auto}.toolbar-dropdown:hover .toolbar-dropdown-toggle{border-left-color:var(--border-1)}.toolbar-dropdown .toolbar-dropdown-toggle:hover{background:var(--hover-1)}.toolbar-dropdown .toolbar-dropdown-toggle svg{opacity:.7}.toolbar-dropdown .toolbar-dropdown-toggle .run-link-icon{opacity:1;color:var(--text-secondary)}.toolbar-dropdown-menu{position:absolute;top:calc(100% + 2px);left:0;min-width:220px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--dropdown-shadow);z-index:var(--z-index-dropdown);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:all var(--transition-fast)}.toolbar-dropdown-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.toolbar-dropdown-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;transition:background var(--transition-fast)}.toolbar-dropdown-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.toolbar-dropdown-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.toolbar-dropdown-item:hover:not(.disabled):not(.inactive){background:var(--hover-1)}.toolbar-dropdown-item.disabled,.toolbar-dropdown-item.inactive{opacity:.5;cursor:not-allowed}.toolbar-dropdown-item svg{flex-shrink:0;color:var(--text-secondary)}.toolbar-dropdown-separator{height:1px;background:var(--border-1);margin:var(--space-xs) 0}.dialog-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal);opacity:0;animation:dialogFadeIn var(--transition-fast) forwards}@keyframes dialogFadeIn{to{opacity:1}}.dialog-container{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);min-width:400px;max-width:600px;width:90%;display:flex;flex-direction:column;transform:scale(.95);animation:dialogSlideIn var(--transition-fast) forwards}@keyframes dialogSlideIn{to{transform:scale(1)}}.dialog-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-1);display:flex;align-items:flex-start;gap:var(--space-md)}.dialog-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.dialog-icon svg{width:24px;height:24px}.dialog-confirm .dialog-icon svg{fill:var(--status-warning)}.dialog-alert .dialog-icon svg{fill:var(--status-info)}.dialog-error .dialog-icon svg{fill:var(--status-error)}.dialog-success .dialog-icon svg{fill:var(--status-success)}.dialog-prompt .dialog-icon svg{fill:var(--interactive-primary)}.dialog-title-group{flex:1;min-width:0}.dialog-title{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-xs) 0;line-height:1.4}.dialog-body{padding:var(--space-xl);color:var(--text-secondary);font-size:var(--font-size-normal);line-height:1.6;max-height:400px;overflow-y:auto}.dialog-body p{margin:0 0 var(--space-md) 0}.dialog-body p:last-child{margin-bottom:0}.dialog-body strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.dialog-warning-text{color:var(--status-warning);font-weight:var(--font-weight-medium);margin-top:var(--space-md)}.dialog-error-text{color:var(--status-error);font-weight:var(--font-weight-medium);margin-top:var(--space-md)}.dialog-input{width:100%;padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);font-size:var(--font-size-normal);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-2);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.dialog-input:focus{border-color:var(--interactive-primary);box-shadow:0 0 0 1px var(--interactive-primary)}.dialog-input::placeholder{color:var(--text-tertiary)}.dialog-footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-1);display:flex;justify-content:flex-end;gap:var(--space-sm);background:var(--surface-3)}.dialog-body::-webkit-scrollbar{width:8px}.dialog-body::-webkit-scrollbar-track{background:transparent}.dialog-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:4px}.dialog-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}@media(max-width:600px){.dialog-container{min-width:320px;width:95%}.dialog-header{padding:var(--space-md) var(--space-lg)}.dialog-body{padding:var(--space-lg)}.dialog-footer{padding:var(--space-md) var(--space-lg);flex-direction:column-reverse}.dialog-btn{width:100%}}.dialog-btn:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px}.dialog-select{max-width:500px}.dialog-select .dialog-icon svg{fill:var(--interactive-primary)}.dialog-select-body{padding:var(--space-md) var(--space-xl) var(--space-sm) var(--space-xl)}.dialog-select-message{margin:0 0 var(--space-sm) 0;color:var(--text-secondary);font-size:var(--font-size-small)}.dialog-select-search{margin-top:0;margin-bottom:var(--space-sm)}.dialog-select-list{max-height:280px;overflow-y:auto;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1)}.dialog-select-list::-webkit-scrollbar{width:6px}.dialog-select-list::-webkit-scrollbar-track{background:transparent}.dialog-select-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:3px}.dialog-select-item{padding:var(--space-sm) var(--space-md);cursor:pointer;display:flex;flex-direction:column;gap:1px;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.dialog-select-item:last-child{border-bottom:none}.dialog-select-item:hover{background:var(--hover-1)}.dialog-select-item--selected,.dialog-select-item--selected:hover{background:var(--interactive-primary-bg)}.dialog-select-item-label{color:var(--text-primary);font-size:var(--font-size-normal);font-weight:var(--font-weight-medium)}.dialog-select-item-desc{color:var(--text-tertiary);font-size:var(--font-size-small)}.dialog-select-empty{padding:var(--space-xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-small)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container{background:var(--surface-1);border-radius:var(--border-radius);box-shadow:var(--shadow-md);max-width:600px;width:90%}.context-menu{position:fixed;z-index:10000;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000004d;min-width:180px;padding:4px 0;font-size:var(--font-size-normal);-webkit-user-select:none;user-select:none}.context-menu-item{display:flex;align-items:center;gap:var(--space-sm);padding:4px var(--space-md);cursor:pointer;color:var(--text-primary);transition:background-color .1s ease;line-height:22px}.context-menu-item:hover{background:var(--hover-3)}.context-menu-item.disabled{color:var(--text-secondary);cursor:default;opacity:.5}.context-menu-item.disabled:hover{background:transparent}.context-menu-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.context-menu-icon svg{width:16px;height:16px}.context-menu-icon svg[fill=none]{stroke:currentColor;fill:none}.context-menu-icon svg[fill=currentColor]{fill:currentColor;color:var(--text-primary)}.context-menu-label{flex:1;white-space:nowrap}.context-menu-shortcut{font-size:var(--font-xs);color:var(--text-tertiary);margin-left:auto;padding-left:var(--space-lg)}.context-menu-separator{height:1px;background:var(--border-1);margin:4px 0}.context-menu-item.context-menu-item-danger:hover,.context-menu-item.danger:hover{background:var(--status-error);color:#fff}.context-menu-item.context-menu-item-danger:hover .context-menu-icon,.context-menu-item.danger:hover .context-menu-icon{color:#fff}.context-menu-item.context-menu-item-danger:hover .context-menu-icon svg[fill=currentColor],.context-menu-item.danger:hover .context-menu-icon svg[fill=currentColor]{fill:#fff}.context-menu-item.context-menu-item-danger:hover .context-menu-icon svg[fill=none],.context-menu-item.danger:hover .context-menu-icon svg[fill=none]{stroke:#fff;fill:none}.context-menu{animation:contextMenuFadeIn .1s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.dictionary-editor{height:100%;display:flex;flex-direction:column;background:var(--surface-1)}.dictionary-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.grid-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:width .2s ease,min-width .2s ease}.grid-container.hidden{width:0;min-width:0;overflow:hidden;display:none}.grid-toolbar-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.grid-bar-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;height:24px}.grid-bar-btn-primary{color:var(--interactive-primary)}.grid-bar-btn-primary:hover:not(:disabled){background:var(--hover-1);border-color:var(--interactive-primary)}.grid-bar-btn-delete{color:var(--text-secondary)}.grid-bar-btn-delete:hover:not(:disabled){background:var(--status-error);border-color:var(--status-error);color:var(--text-bright)}.grid-bar-btn-delete:active:not(:disabled){background:var(--status-error-active);transform:translateY(1px)}.grid-bar-btn-delete:hover:not(:disabled) svg{fill:var(--text-bright)}.grid-bar-separator{width:1px;height:16px;background:var(--border-1);margin:0 var(--space-xs)}.grid-bar-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.grid-bar-show-select{position:relative}.grid-bar-show-dropdown{height:24px;padding:0 var(--space-lg) 0 var(--space-xs);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;transition:all var(--transition-fast)}.grid-bar-show-dropdown:hover:not(:disabled){border-color:var(--border-2)}.grid-bar-show-dropdown:focus{outline:none;border-color:var(--interactive-primary)}.grid-bar-show-select.disabled .grid-bar-show-dropdown{opacity:.5;cursor:not-allowed;background-color:var(--surface-2)}.grid-bar-btn-subset{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.grid-bar-btn-subset:hover:not(:disabled){background:var(--hover-1);border-color:var(--border-2);color:var(--interactive-primary)}.grid-bar-btn-subset:disabled{opacity:.3;cursor:not-allowed}.grid-bar-btn-subset svg{flex-shrink:0}.grid-bar-search{display:flex;align-items:center;gap:var(--space-xs);flex:1;max-width:200px;height:24px;padding:0 var(--space-xs);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.grid-bar-search:focus-within{border-color:var(--interactive-primary)}.grid-bar-search .search-icon{flex-shrink:0;color:var(--text-secondary)}.grid-bar-search-input{flex:1;min-width:0;height:100%;padding:0;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:transparent;border:none;outline:none}.grid-bar-search-input::placeholder{color:var(--text-tertiary)}.grid-bar-search-clear{display:none;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.grid-bar-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.grid-bar-search-clear.visible{display:flex}.grid-bar-spacer{flex:1}.grid-header{background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;overflow:hidden}.grid-header-row{display:flex;height:24px;align-items:center}.grid-header-cell.row-header-column{width:50px;min-width:50px;background:var(--surface-2);text-align:center;display:flex;align-items:center;justify-content:center}.grid-header-cell{padding:0 var(--space-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);border-right:1px solid var(--border-1);flex-shrink:0;-webkit-user-select:none;user-select:none;height:24px}.grid-header-cell:last-child{border-right:none}.grid-header-cell.sortable{cursor:pointer;display:flex;align-items:center;gap:4px}.grid-header-cell.sortable:hover{background:var(--hover-1)}.grid-header-cell .header-label{flex:1}.grid-header-cell .sort-icon{display:flex;align-items:center;justify-content:center}.grid-header-cell .sort-icon svg{width:16px;height:16px;fill:var(--text-secondary);transition:fill var(--transition-fast)}.grid-header-cell.sortable:hover .sort-icon svg{fill:var(--text-primary)}.grid-header-cell .sort-icon svg.sort-asc,.grid-header-cell .sort-icon svg.sort-desc{fill:var(--interactive-primary)}.grid-header-cell.row-header-column:hover{background:var(--hover-1)}.grid-header-cell.row-header-column.sort-active-asc,.grid-header-cell.row-header-column.sort-active-desc{background:var(--surface-3);color:var(--interactive-primary)}.grid-body{flex:1;overflow:auto;position:relative;outline:none}.grid-row{display:flex;min-height:24px;align-items:center;line-height:1.6;transition:background var(--transition-fast)}.grid-row:hover .grid-cell:not(.readonly):not(.row-header){background:var(--hover-1)}.grid-row.selected .grid-cell:not(.readonly){background:var(--interactive-surface)}.grid-row.dirty{position:relative}.grid-row.dirty:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--status-warning);z-index:1}.grid-row.saving{position:relative;pointer-events:none}.grid-row.saving:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--interactive-primary);z-index:1;animation:saving-pulse .8s ease-in-out infinite}@keyframes saving-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.grid-row.save-error:before{background:var(--status-error)}.grid-row.shake,.tree-node.shake{animation:shake .5s ease-in-out}.grid-row.element-added{background:rgba(var(--success-rgb, 0, 255, 0),.1)!important;transition:background .3s ease-out}.grid-row.clara-highlight{animation:clara-pulse .5s ease-in-out 3;background:rgba(var(--accent-primary-rgb, 99, 102, 241),.15)!important}.grid-row.clara-highlight .grid-cell{background:transparent!important}@keyframes clara-pulse{0%,to{background:rgba(var(--accent-primary-rgb, 99, 102, 241),.1)}50%{background:rgba(var(--accent-primary-rgb, 99, 102, 241),.25)}}.grid-cell{min-height:24px;padding:2px 4px;font-size:var(--font-size-normal);color:var(--text-primary);border-right:1px solid var(--border-1);border-radius:2px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-cell:focus{outline:2px solid var(--interactive-primary);outline-offset:-2px;background:var(--surface-1)}.grid-cell.editable{background:var(--cell-n-editable-bg);cursor:cell}.grid-cell.editable[contenteditable=true]:focus{outline:none}.grid-cell.editable:focus{outline:2px solid var(--cell-editing-border, #0078D4);outline-offset:-2px;background:var(--cell-editing-bg, var(--surface-1))}.grid-cell.editable:focus-within{outline:2px solid var(--cell-editing-border, #0078D4);outline-offset:-2px;background:var(--cell-editing-bg, var(--surface-1));position:relative;z-index:1}.grid-cell.readonly{background:var(--cell-n-readonly-bg, var(--surface-2))!important;color:var(--text-secondary);cursor:not-allowed}.grid-cell.cell-c-element{background:var(--cell-c-element-bg, #f0f4ff)}.grid-cell.cell-a-element{background:var(--cell-a-element-bg, var(--surface-3));font-weight:var(--font-weight-semibold)}.grid-cell.dirty{color:var(--cell-text-dirty, #0078D4);font-weight:var(--font-weight-medium)}.grid-cell.cell-number,.grid-cell.cell-weight{font-family:var(--font-mono);justify-content:flex-end;padding-right:8px}.grid-cell.row-header{background:var(--surface-2);color:var(--text-secondary);text-align:center;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;border-right:2px solid var(--border-1);cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="white"><path d="M440-200v-240H80v-80h360v-240l440 280-440 280Zm80-146 211-134-211-134v268Zm0-134Z"/></svg>') 8 8,pointer;display:flex;align-items:center;justify-content:center;min-height:24px}.grid-row:hover .grid-cell.row-header{background:var(--hover-1)}.grid-row.selected .grid-cell.row-header{background:var(--interactive-primary)!important;color:#fff!important}.dictionary-bottom-panel{height:280px;min-height:150px;display:flex;flex-direction:column;background:var(--surface-1);flex-shrink:0}.panel-resize-handle{height:4px;background:transparent;border-bottom:1px solid var(--border-1);cursor:ns-resize;flex-shrink:0;transition:background var(--transition-fast)}.panel-resize-handle:hover{background:var(--interactive-primary)}.bottom-panel-tabs{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.tab-group-caption{padding:4px 12px 2px;font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;align-self:center;border-right:1px solid var(--border-1)}.bottom-tab{padding:4px 16px;cursor:pointer;font-size:var(--font-size-small);color:var(--text-secondary);border-right:1px solid var(--border-1);border-bottom:1px solid transparent;background:var(--surface-2);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.bottom-tab:hover{background:var(--hover-1);color:var(--text-primary)}.bottom-tab.active{background:var(--surface-1);color:var(--text-primary);border-bottom-color:var(--interactive-primary)}.bottom-tab.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.bottom-panel-content{flex:1;padding:var(--space-lg);overflow-y:auto;background:var(--surface-1)}.dict-tab-content{display:none;height:100%}.dict-tab-content.active{display:block}.placeholder-content{padding:var(--space-xl);text-align:center;color:var(--text-secondary);font-style:italic}.form-group{margin-bottom:var(--space-md)}.form-row{display:flex;gap:var(--space-md)}.form-row .form-group{flex:1}.form-group label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-control{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-normal);font-family:var(--font-sans);transition:border-color var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--interactive-primary)}.form-control:read-only{background:var(--surface-2);color:var(--text-secondary);cursor:not-allowed}.form-control[readonly]{background:var(--surface-2);cursor:not-allowed;opacity:.7}.description-editor,.formula-editor{resize:vertical;min-height:100px;font-family:var(--font-sans);line-height:1.5}.formula-editor{font-family:var(--font-mono);line-height:1.4}.formula-hints{margin-top:var(--space-xs)}.formula-hints small{color:var(--text-secondary);font-size:var(--font-size-small)}.virtual-scroll-viewport{height:100%;overflow:auto}.virtual-scroll-content{position:relative}.virtual-scroll-viewport::-webkit-scrollbar,.bottom-panel-content::-webkit-scrollbar{width:8px;height:8px}.virtual-scroll-viewport::-webkit-scrollbar-track,.bottom-panel-content::-webkit-scrollbar-track{background:transparent}.virtual-scroll-viewport::-webkit-scrollbar-thumb,.bottom-panel-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:4px}.virtual-scroll-viewport::-webkit-scrollbar-thumb:hover,.bottom-panel-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}@media(max-width:1200px){.form-row{flex-direction:column;gap:var(--space-sm)}.dictionary-bottom-panel{height:200px}}.spare-row-content{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--font-size-small)}.spare-row-icon{color:var(--interactive-primary);font-size:16px}.grid-row.spare-row{opacity:.7}.grid-row.spare-row .grid-cell{border-top:1px dashed var(--border-1);border-bottom:1px dashed var(--border-1)}.grid-row.spare-row .grid-cell:first-child{border-left:none}.grid-row.spare-row .grid-cell:last-child{border-right:1px dashed var(--border-1)}.grid-row.spare-row:hover{opacity:1}.grid-row.spare-row:hover .grid-cell{background:var(--hover-1)}.panel-collapse-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-left:auto;margin-right:4px;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);flex-shrink:0}.panel-collapse-btn:hover{background:var(--hover-2)}.panel-collapse-btn:active{background:#5a5d5e73}.panel-collapse-btn svg{fill:var(--text-primary);pointer-events:none}.dictionary-bottom-panel.collapsed{height:auto;height:28px;min-height:28px}.dictionary-bottom-panel.collapsed .panel-resize-handle,.dictionary-bottom-panel.collapsed .bottom-panel-content{display:none}.grid-cell.dropdown-cell{cursor:pointer;position:relative;padding-right:24px;display:flex;align-items:center;min-height:24px}.grid-cell.dropdown-cell .dropdown-indicator{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-secondary);pointer-events:none}.grid-cell.hidden-cell,.grid-header-cell.hidden-cell{display:none}.cell-dropdown-menu{background:var(--surface-1);border:1px solid var(--border-1);border-radius:4px;box-shadow:0 4px 12px #0000004d,0 2px 4px #0003;max-height:300px;overflow-y:auto;z-index:10000}.cell-dropdown-menu .dropdown-item{padding:4px 12px;cursor:pointer;font-size:var(--font-size-normal);color:var(--text-primary);transition:background var(--transition-fast);line-height:1.4}.cell-dropdown-menu .dropdown-item:hover{background:var(--hover-1)}.cell-dropdown-menu .dropdown-item:active{background:var(--interactive-surface)}.grid-row.has-duplicate-error{border:2px solid var(--status-error);border-left:3px solid var(--status-error);background:#ff4d4d0d}.grid-row.has-duplicate-error:hover{background:#ff4d4d14}.grid-cell.row-header-error{background:var(--status-error)!important;color:#fff!important}.grid-cell.row-header-error:before{content:"⚠";margin-right:4px}.grid-cell.cell-error{background:#ff4d4d26!important;border-bottom:2px solid var(--status-error)!important}.dict-type-hint{display:none;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-small);line-height:1.5}.dict-type-hint.hint-suggestion{background:#2196f31a;border-left:3px solid var(--interactive-primary);color:var(--text-primary)}.dict-type-hint.hint-warning{background:#ff98001a;border-left:3px solid var(--status-warning);color:var(--text-primary)}.dict-properties-layout{display:flex;gap:var(--space-xl);width:100%}.dict-properties-column{flex:1;min-width:0}.dict-properties-column:first-child{max-width:400px}.description-section{height:100%;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.description-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.description-section-icon{display:flex;align-items:center;color:var(--text-tertiary)}.description-section-title{flex:1}.description-section-content{flex:1;display:flex;flex-direction:column;min-height:0}.dict-description-editor{width:100%;flex:1;min-height:60px;resize:none;font-family:var(--font-family-mono);font-size:var(--font-size-small);padding:var(--space-sm);border:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--surface-1);color:var(--text-primary);transition:background-color var(--transition-fast)}.dict-description-editor:focus{outline:none;background:var(--surface-0)}.dict-description-editor::placeholder{color:var(--text-tertiary)}.dict-type-custom-select{position:relative;width:100%}.dict-type-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);cursor:pointer;transition:border-color var(--transition-fast);min-height:38px}.dict-type-selected:hover,.dict-type-custom-select.open .dict-type-selected{border-color:var(--interactive-primary)}.dict-type-option-content{display:flex;align-items:center;gap:var(--space-sm);flex:1}.dict-type-option-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.dict-type-option-icon svg{fill:var(--text-primary)}.dict-type-option-text{font-size:var(--font-size-normal);color:var(--text-primary)}.dict-type-dropdown-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform var(--transition-fast)}.dict-type-dropdown-arrow svg{width:12px;height:12px}.dict-type-custom-select.open .dict-type-dropdown-arrow{transform:rotate(180deg)}.dict-type-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000;display:none}.dict-type-custom-select.open .dict-type-options{display:block}.dict-type-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.dict-type-option:hover{background:var(--hover-1)}.dict-type-option:active{background:var(--interactive-surface)}.dict-editability-select{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-normal);font-family:var(--font-family-sans);min-height:38px;cursor:pointer;transition:border-color var(--transition-fast);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;padding-right:calc(var(--space-sm) + 16px)}.dict-editability-select:hover{border-color:var(--interactive-primary)}.dict-editability-select:focus{border-color:var(--interactive-primary);outline:none}.dict-editability-select option{background:var(--surface-1);color:var(--text-primary);padding:var(--space-xs)}.grid-cell[data-field=name]{cursor:pointer}.grid-cell.formula-inserted{animation:formula-pulse .3s ease-out;background-color:rgba(var(--primary-color-rgb),.2)!important}@keyframes formula-pulse{0%{transform:scale(1);background-color:rgba(var(--primary-color-rgb),.4)}50%{transform:scale(1.05)}to{transform:scale(1);background-color:rgba(var(--primary-color-rgb),.2)}}.grid-cell.formula-cell{font-family:Fira Code,Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-cell.formula-cell[contenteditable=false]{cursor:cell}.grid-cell.formula-cell[contenteditable=true]{cursor:text}.grid-cell.formula-cell:hover{background-color:var(--hover-1, #f0f0f0)}.grid-cell.formula-cell .formula-keyword{color:#c678dd;font-weight:600}.grid-cell.formula-cell .formula-function{color:#61afef;font-weight:600}.grid-cell.formula-cell .formula-operator{color:#56b6c2}.grid-cell.formula-cell .formula-number{color:#d19a66}.grid-cell.formula-cell .formula-element{color:#98c379;font-weight:500}.grid-body.formula-edit-mode .grid-row:not(.spare-row) .grid-cell[data-field=name]{cursor:pointer!important}.grid-body.subset-pick-mode .grid-row:not(.spare-row){cursor:crosshair!important}.grid-body.subset-pick-mode .grid-row:not(.spare-row):hover{background:var(--accent-primary-muted, rgba(37, 99, 235, .1))!important}.grid-body.subset-pick-mode .grid-row:not(.spare-row) .grid-cell[data-field=name]{cursor:crosshair!important}.grid-cell.subset-picked{background-color:var(--accent-primary)!important;color:#fff!important;transition:background-color .3s ease}.tree-view-container{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.tree-panel-left{width:300px;min-width:200px;display:flex;flex-direction:column;background:var(--surface-1)}.tree-panel-left.hidden{width:0;min-width:0;border-right:none;overflow:hidden}.dict-tree-resize-handle{width:4px;cursor:ew-resize;background:var(--resize-handle-bg);flex-shrink:0;transition:background var(--transition-fast);position:relative}.dict-tree-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--border-1)}.dict-tree-resize-handle:hover{background:var(--resize-handle-hover-bg)}.dict-tree-resize-handle:hover:after{background:var(--resize-handle-hover-bg)}.dict-tree-resize-handle.resizing{background:var(--resize-handle-active-bg)}.dict-tree-resize-handle.resizing:after{background:var(--resize-handle-active-bg)}.tree-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.tree-panel-title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.tree-element-count{font-size:var(--font-size-small);color:var(--text-secondary)}.subset-selector-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.subset-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.subset-custom-select{position:relative;flex:1;min-width:0}.subset-selected{display:flex;align-items:center;gap:var(--space-xs);height:24px;padding:0 var(--space-xs);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:var(--font-size-small);cursor:pointer;transition:all var(--transition-fast)}.subset-selected:hover,.subset-custom-select.open .subset-selected{border-color:var(--border-2)}.subset-default-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--interactive-primary)}.subset-default-icon svg{width:18px;height:18px}.subset-selected-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subset-dropdown-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform var(--transition-fast);margin-left:auto}.subset-dropdown-arrow svg{width:12px;height:12px}.subset-custom-select.open .subset-dropdown-arrow{transform:rotate(180deg)}.subset-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:1000;display:none}.subset-custom-select.open .subset-options{display:block}.subset-option{padding:var(--space-sm) var(--space-sm);cursor:pointer;font-size:var(--font-size-small);color:var(--text-primary);transition:background var(--transition-fast)}.subset-option:hover{background:var(--hover-1)}.subset-option:active{background:var(--interactive-surface)}.subset-toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.subset-input{flex:1;min-width:0;height:24px;padding:0 var(--space-xs);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:var(--font-size-small);transition:all var(--transition-fast)}.subset-input:hover{background:var(--surface-3);border-color:var(--border-2)}.subset-input:focus{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 2px rgba(var(--interactive-primary-rgb, 59, 130, 246),.1)}.subset-input.subset-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:20px}.subset-input.new-subset{border-color:var(--interactive-primary);border-width:2px;padding:0 calc(var(--space-xs) - 1px)}.subset-input:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-1)}.design-mode-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.design-mode-btn svg{width:16px;height:16px}.design-mode-btn.active{background:var(--interactive-primary);color:#fff;border-color:var(--interactive-primary)}.design-mode-btn.active svg{fill:#fff}.can-explore-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.can-explore-btn svg{width:16px;height:16px}.sort-dropdown-container{position:relative}.sort-dropdown-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sort-dropdown-btn svg{width:16px;height:16px}.sort-dropdown-container.open .sort-dropdown-btn{background:var(--interactive-primary);color:#fff;border-color:var(--interactive-primary)}.sort-dropdown-container.open .sort-dropdown-btn svg{fill:#fff}.expand-direction-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expand-direction-btn svg{width:16px;height:16px}.expand-collapse-all-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center}.expand-collapse-all-btn svg{width:16px;height:16px}.sort-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:1000;display:none}.sort-dropdown-container.open .sort-dropdown-menu{display:block}.sort-dropdown-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--font-size-small);color:var(--text-primary);transition:background var(--transition-fast)}.sort-dropdown-option:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.sort-dropdown-option:hover{background:var(--hover-1)}.sort-dropdown-option.active{background:var(--interactive-surface)}.sort-dropdown-option .sort-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sort-dropdown-option .sort-check svg{visibility:hidden;width:14px;height:14px;fill:var(--interactive-primary)}.sort-dropdown-option.active .sort-check svg{visibility:visible}.sort-dropdown-separator{height:1px;background:var(--border-1);margin:var(--space-xs) 0}.sort-dropdown-option.checkbox-option{gap:var(--space-xs)}.sort-dropdown-option.checkbox-option label{cursor:pointer;flex:1}.sort-dropdown-option .sort-checkbox,.sort-dropdown-option .explore-checkbox{width:14px;height:14px;accent-color:var(--interactive-primary);cursor:pointer}.sort-dropdown-option .explore-checkbox:disabled{opacity:.5;cursor:default}.display-dropdown-container{position:relative}.display-dropdown-btn{height:24px;min-width:32px;padding:0 6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.display-dropdown-btn .display-btn-text{font-size:11px;font-weight:600;letter-spacing:.5px}.display-dropdown-btn svg{width:16px;height:16px;flex-shrink:0}.display-dropdown-container.open .display-dropdown-btn{background:var(--interactive-primary);color:#fff;border-color:var(--interactive-primary)}.display-dropdown-container.open .display-dropdown-btn svg{fill:#fff}.display-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:140px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:1000;display:none}.display-dropdown-container.open .display-dropdown-menu{display:block}.display-dropdown-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--font-size-small);color:var(--text-primary);transition:background var(--transition-fast)}.display-dropdown-option:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.display-dropdown-option:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.display-dropdown-option:hover{background:var(--hover-1)}.display-dropdown-option.active{background:var(--interactive-surface)}.display-dropdown-option .display-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.display-dropdown-option .display-check svg{visibility:hidden;width:14px;height:14px;fill:var(--interactive-primary)}.display-dropdown-option.active .display-check svg{visibility:visible}.tree-panel-left.design-mode{border-right-color:var(--interactive-primary);border-right-width:2px}.tree-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-xs);background:var(--cell-readonly-bg);transition:background var(--transition-fast)}.tree-panel-left.design-mode .tree-panel-body{background:var(--surface-1)}.tree-view-container .tree-node{display:flex;align-items:center;flex-wrap:wrap;min-height:22px;padding:0 var(--space-xs) 0 16px;cursor:pointer;position:relative;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.tree-view-container .tree-node>.tree-node-content,.tree-view-container .tree-node>.tree-chevron,.tree-view-container .tree-node>.tree-chevron-spacer,.tree-view-container .tree-element-icon,.tree-view-container .tree-element-name,.tree-view-container .tree-children-count{position:relative;z-index:1}.tree-view-container .tree-node:hover{background-color:var(--hover-1)}.tree-view-container .tree-node:has(.tree-node:hover){background:transparent}.tree-view-container .tree-node:hover:not(:has(.tree-node:hover)){background:var(--hover-1)}.tree-view-container .tree-node.selected{background:var(--interactive-surface);color:var(--text-primary)}.tree-view-container .tree-chevron{width:16px;height:16px;margin-right:var(--space-xs);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;position:relative;z-index:2}.tree-view-container .tree-chevron svg{width:12px;height:12px;transform:rotate(0);transition:transform var(--transition-fast);pointer-events:none}.tree-view-container .tree-chevron.expanded svg{transform:rotate(90deg)}.tree-view-container.expand-upward .tree-chevron.expanded svg{transform:rotate(-90deg)}.tree-view-container .tree-chevron:hover{color:var(--text-primary)}.tree-view-container .tree-chevron-spacer{width:16px;margin-right:var(--space-xs);flex-shrink:0}.tree-element-icon{width:16px;height:16px;margin-right:var(--space-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center}.tree-element-icon svg{width:16px;height:16px;fill:var(--text-primary)}.tree-element-name{flex:1;font-size:var(--font-size-normal);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-children-count{font-size:var(--font-size-small);color:var(--text-secondary);padding:0 4px}.tree-view-container .tree-node>.tree-node-children{flex-basis:100%;position:relative}.tree-view-container .tree-node-children:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:1px;background:#ffffff14;z-index:0}.tree-view-container .tree-node-children>.tree-node:before{content:"";position:absolute;left:8px;top:11px;width:6px;height:1px;background:#ffffff14}.tree-view-container .tree-node-children>.tree-node.tree-leaf:before{width:22px}.tree-empty{padding:var(--space-xl);text-align:center;color:var(--text-secondary);font-style:italic}.tree-view-container .tree-node-content{display:flex;align-items:center;flex:1;min-height:22px}.tree-view-container .tree-node.dragging{opacity:.5;background:var(--surface-3)}.tree-view-container .tree-node.dragging>.tree-node-content{outline:1px dashed var(--border-2);outline-offset:-1px}.tree-view-container .tree-node.dragging-multi>.tree-node-content:after{content:attr(data-drag-count);position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);background:var(--interactive-primary);color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);padding:2px 6px;border-radius:10px;min-width:16px;text-align:center}.tree-view-container .tree-node.drop-target>.tree-node-content{background:var(--interactive-subtle);outline:2px dashed var(--interactive-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.tree-view-container .tree-node.drop-above>.tree-node-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--interactive-primary);border-radius:1px;z-index:10}.tree-view-container .tree-node.drop-below>.tree-node-content:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--interactive-primary);border-radius:1px;z-index:10}.tree-panel-body.drop-root{background:var(--interactive-subtle);outline:2px dashed var(--interactive-primary);outline-offset:-4px}.tree-view-container .tree-node-content{position:relative}.tree-view-container .tree-node[draggable=true]{cursor:grab}.tree-view-container.is-dragging,.tree-view-container.is-dragging *{cursor:grabbing!important}.tree-view-container .tree-node.dragging{cursor:grabbing!important;opacity:.5}.used-by-container{display:flex;gap:var(--space-lg);padding:var(--space-sm);height:100%;overflow:auto}.used-by-section{flex:1;min-width:200px;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.used-by-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.used-by-section-icon{display:flex;align-items:center;color:var(--text-tertiary)}.used-by-section-title{flex:1}.used-by-section-count{background:var(--surface-3);color:var(--text-secondary);padding:1px 6px;border-radius:10px;font-size:10px;min-width:18px;text-align:center}.used-by-section-list{flex:1;overflow-y:auto;padding:var(--space-xs)}.used-by-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xs);cursor:pointer;transition:background-color .15s ease}.used-by-item:hover{background:var(--surface-hover)}.used-by-item-icon{display:flex;align-items:center;color:var(--text-tertiary)}.used-by-item-name{font-size:12px;color:var(--text-primary)}.used-by-empty{padding:var(--space-md);text-align:center;color:var(--text-tertiary);font-style:italic;font-size:11px}.used-by-loading{padding:var(--space-md);text-align:center;color:var(--text-secondary);font-size:11px}.used-by-error{padding:var(--space-md);text-align:center;color:var(--status-error);font-size:11px}.toolbar-btn-delete.disabled{opacity:.5;cursor:not-allowed}.toolbar-btn-delete.disabled:hover{background:transparent}.new-subset-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.new-subset-btn:active{background:var(--interactive-primary);color:#fff;border-color:var(--interactive-primary)}.new-subset-btn svg{width:16px;height:16px;flex-shrink:0}.delete-subset-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}.delete-subset-btn:hover:not(.disabled){background:var(--status-error);border-color:var(--status-error);color:var(--text-bright)}.delete-subset-btn:hover:not(.disabled) svg{fill:var(--text-bright)}.delete-subset-btn:active:not(.disabled){background:var(--status-error-active);color:var(--text-bright)}.delete-subset-btn svg{width:18px;height:18px;flex-shrink:0}.delete-subset-btn.disabled{opacity:.3;cursor:not-allowed;color:var(--text-tertiary)}.delete-subset-btn.disabled:hover{background:transparent;border-color:transparent}.set-default-subset-btn{height:24px;width:24px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.set-default-subset-btn svg{width:16px;height:16px}.set-default-subset-btn.active.disabled{opacity:1;cursor:default}.set-default-subset-btn.disabled:not(.active){opacity:.3;cursor:not-allowed;color:var(--text-tertiary)}.set-default-subset-btn.disabled:not(.active):hover{background:var(--surface-2);border-color:var(--border-1)}.subset-default-star{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:var(--interactive-primary);fill:var(--interactive-primary);margin-right:var(--space-xs);width:14px;height:14px;flex-shrink:0;position:relative;top:-1px}.subset-dynamic-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:var(--space-xs);width:14px;height:14px;flex-shrink:0;position:relative;top:-1px}.subset-dynamic-icon svg{width:14px;height:14px}.subset-new-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border-bottom:2px solid var(--interactive-primary);flex-shrink:0}.subset-new-input{flex:1;min-width:0;height:28px;padding:0 var(--space-sm);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);transition:all var(--transition-fast)}.subset-new-input:focus{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 2px rgba(var(--interactive-primary-rgb, 59, 130, 246),.2)}.subset-new-input::placeholder{color:var(--text-tertiary);font-style:italic}.subset-new-confirm{height:28px;width:28px;padding:0;background:var(--interactive-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.subset-new-confirm:hover{background:var(--interactive-primary-hover)}.subset-new-confirm svg{width:16px;height:16px}.subset-new-cancel{height:28px;width:28px;padding:0;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.subset-new-cancel:hover{background:var(--surface-3);color:var(--status-error);border-color:var(--status-error)}.subset-new-cancel svg{width:16px;height:16px}.grid-cell.multiple-aggregates{position:relative}.grid-cell.multiple-aggregates:after{content:"";position:absolute;top:2px;right:20px;width:6px;height:6px;background:var(--accent-primary);border-radius:50%;opacity:.8}.grid-cell.multiple-aggregates:hover:after{opacity:1}.grid-cell[data-field=memberOf]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:28px}.aggregation-settings-layout{padding:var(--space-sm)}.aggregation-row{display:flex;align-items:flex-end;gap:var(--space-lg);margin-top:var(--space-sm)}.aggregation-method-group{width:200px;flex-shrink:0}.aggregation-method-group>label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-small);color:var(--text-secondary)}.agg-type-custom-select{position:relative;width:100%}.agg-type-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);cursor:pointer;transition:border-color var(--transition-fast);min-height:32px}.agg-type-selected:hover,.agg-type-custom-select.open .agg-type-selected{border-color:var(--interactive-primary)}.agg-type-option-text{font-size:var(--font-size-small);color:var(--text-primary)}.agg-type-dropdown-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform var(--transition-fast)}.agg-type-dropdown-arrow svg{width:12px;height:12px}.agg-type-custom-select.open .agg-type-dropdown-arrow{transform:rotate(180deg)}.agg-type-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;max-height:160px;overflow-y:auto;z-index:1000;display:none}.agg-type-custom-select.open .agg-type-options{display:block}.agg-type-option{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);cursor:pointer;transition:background var(--transition-fast);font-size:var(--font-size-small)}.agg-type-option:hover{background:var(--hover-1)}.agg-type-option:active{background:var(--interactive-surface)}.agg-type-option.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.weight-element-group{width:200px;flex-shrink:0}.weight-element-group label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-small);color:var(--text-secondary)}.weight-element-selector{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);cursor:pointer;transition:border-color var(--transition-fast);min-height:32px}.weight-element-selector:hover{border-color:var(--interactive-primary)}.weight-element-text{font-size:var(--font-size-small);color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weight-element-text.placeholder{color:var(--text-tertiary)}.weight-element-dropdown-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);margin-left:var(--space-sm)}.weight-element-dropdown-arrow svg{width:12px;height:12px}.import-modal-overlay{z-index:var(--z-index-modal)}.import-modal{width:600px;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.import-modal .dialog-header{flex-shrink:0}.import-modal .dialog-header .dialog-icon svg{fill:var(--interactive-primary)}.import-modal .dialog-subtitle{color:var(--text-secondary);font-size:var(--font-size-small);margin:0}.import-modal-body{flex:1;overflow-y:auto;min-height:300px}.import-dropzone{border:2px dashed var(--border-2);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--surface-3)}.import-dropzone:hover,.import-dropzone.dragover{border-color:var(--interactive-primary);background:var(--hover-1)}.import-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.import-dropzone-content svg{color:var(--text-tertiary)}.import-dropzone-text{font-size:var(--font-size-normal);color:var(--text-primary);margin:0}.import-dropzone-hint{font-size:var(--font-size-small);color:var(--text-secondary);margin:0}.import-dropzone-formats{font-size:var(--font-size-tiny);color:var(--text-tertiary);margin:0}.import-template-link{margin-top:var(--space-md);text-align:center;font-size:var(--font-size-small);color:var(--text-secondary)}.import-template-link a{color:var(--interactive-primary);text-decoration:none}.import-template-link a:hover{text-decoration:underline}.import-analyzing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);gap:var(--space-md)}.import-analysis-results{display:flex;flex-direction:column;gap:var(--space-md)}.import-file-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-radius:var(--radius-sm)}.import-file-icon svg{color:var(--text-secondary)}.import-file-details{flex:1;display:flex;flex-direction:column}.import-file-name{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.import-file-size{font-size:var(--font-size-tiny);color:var(--text-tertiary)}.import-template-badge{padding:2px 8px;font-size:var(--font-size-tiny);font-weight:var(--font-weight-medium);color:var(--status-success);background:var(--surface-green);border-radius:var(--radius-sm)}.import-detection-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.import-detection-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);background:var(--surface-3);border-radius:var(--radius-sm)}.import-detection-item.detected .import-detection-icon{color:var(--status-success)}.import-detection-item.not-detected .import-detection-icon{color:var(--text-tertiary)}.import-detection-item.warning .import-detection-icon{color:var(--status-warning, #f59e0b)}.import-header-warning{display:flex;gap:var(--space-sm);padding:var(--space-sm);background:color-mix(in srgb,var(--status-warning, #f59e0b) 15%,transparent);border:1px solid color-mix(in srgb,var(--status-warning, #f59e0b) 40%,transparent);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.import-warning-icon{flex-shrink:0;color:var(--status-warning, #f59e0b)}.import-warning-content{flex:1;font-size:var(--font-size-small)}.import-warning-content strong{display:block;color:var(--text-primary);margin-bottom:var(--space-xs)}.import-warning-content p{margin:0;color:var(--text-secondary);line-height:1.4}.import-first-row-preview{margin-top:var(--space-xs)!important}.import-first-row-preview code{background:var(--surface-3);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-small)}.import-column-analysis h4{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-sm) 0}.import-column-table{width:100%;border-collapse:collapse;font-size:var(--font-size-small)}.import-column-table th,.import-column-table td{padding:var(--space-xs) var(--space-sm);text-align:left;border-bottom:1px solid var(--border-1)}.import-column-table th{font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--surface-3)}.import-column-table tr.mapped{background:var(--surface-green)}.import-column-table tr.unmapped{opacity:.7}.import-column-select{width:100%;padding:2px 4px;font-size:var(--font-size-small);font-family:var(--font-family-sans);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary)}.import-column-notes{color:var(--text-secondary);font-size:var(--font-size-tiny)}.import-summary h4{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-sm) 0}.import-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.import-summary-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-sm);background:var(--surface-3);border-radius:var(--radius-sm)}.import-summary-value{font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.import-summary-label{font-size:var(--font-size-tiny);color:var(--text-secondary);text-align:center}.import-options{padding-top:var(--space-sm);border-top:1px solid var(--border-1)}.import-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.import-option:hover{background:var(--hover-1)}.import-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--interactive-primary)}.import-option span{font-size:var(--font-size-small);color:var(--text-primary)}.import-option-danger span:first-of-type{color:var(--status-error)}.import-option-hint{color:var(--text-tertiary)!important;font-size:var(--font-size-tiny)!important}.format-container{display:flex;gap:var(--space-lg);padding:var(--space-sm);height:100%;overflow:auto}.format-section{flex:1;min-width:200px;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.format-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.format-section-icon{display:flex;align-items:center;color:var(--text-tertiary)}.format-section-title{flex:1}.format-section-body{flex:1;padding:var(--space-sm);overflow-y:auto}.format-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.format-row label{flex:0 0 120px;font-size:var(--font-size-small);color:var(--text-secondary)}.format-select{flex:1;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer}.format-select:focus{outline:none;border-color:var(--interactive-primary)}.format-input-small{flex:1;max-width:80px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small)}.format-input-small:focus{outline:none;border-color:var(--interactive-primary)}.format-preview-row{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.format-preview-label{font-size:var(--font-size-small);color:var(--text-tertiary)}.format-preview-value{font-family:var(--font-mono);font-size:var(--font-size-normal);color:var(--text-primary);font-weight:500}.format-style-placeholder{padding:var(--space-md);text-align:center;color:var(--text-tertiary);font-style:italic;font-size:11px}.subsets-tab-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.subsets-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-bottom:1px solid var(--border-subtle);background:var(--surface-2)}.subset-selector{flex:1;max-width:300px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-sans)}.subset-selector:focus{outline:none;border-color:var(--accent-primary)}.subset-action-btn{display:flex;align-items:center;gap:var(--space-xxs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast)}.subset-action-btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.subset-action-btn:disabled{opacity:.5;cursor:not-allowed}.subset-action-btn svg{flex-shrink:0}#subset-rule-editor-container{flex:1;overflow:auto;min-height:0}.subset-editor-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:var(--font-size-small);font-style:italic;padding:var(--space-lg);text-align:center}.subset-editor-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-error);font-size:var(--font-size-small);padding:var(--space-lg);text-align:center}.source-links-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.source-links-list{flex:1;overflow-y:auto;min-height:0}.source-links-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);height:100px;color:var(--text-tertiary)}.source-links-empty svg{opacity:.35}.source-links-empty span{font-size:var(--font-size-small)}.source-links-loading{display:flex;align-items:center;justify-content:center;height:80px;color:var(--text-tertiary);font-size:var(--font-size-small)}.source-link-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.source-link-row:hover{background:var(--surface-hover)}.source-link-row.running{background:var(--surface-active)}.source-link-name{font-weight:500;font-size:var(--font-size-small);color:var(--text-primary);cursor:pointer;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link-name:hover{color:var(--accent-primary);text-decoration:underline}.source-link-last-run{font-size:var(--font-size-tiny);color:var(--text-tertiary);flex-shrink:0}.source-link-stats{font-size:var(--font-size-tiny);color:var(--text-secondary);flex-shrink:0}.source-link-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.source-link-progress{width:60px;height:4px;background:var(--border-subtle);border-radius:2px;overflow:hidden;flex-shrink:0;display:none}.source-link-delete-btn:hover:not(:disabled){background:var(--status-error)!important;border-color:var(--status-error)!important;color:var(--text-bright)!important}.source-link-row.running .source-link-progress{display:block}.source-link-progress-bar{height:100%;background:var(--accent-primary);width:0%;transition:width .3s ease;border-radius:2px}.calc-priority-group{display:inline-flex;align-items:center;gap:var(--space-xs);margin-left:var(--space-sm);border-left:1px solid var(--border-subtle);padding-left:var(--space-sm)}.calc-priority-label{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap}.calc-priority-select{padding:2px var(--space-xs);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer}.formula-editor-container{position:relative;width:100%}.formula-editor-toolbar{height:35px;background:var(--surface-2, #f5f5f5);border-bottom:1px solid var(--border-1, #ddd);display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:8px;flex-shrink:0}.formula-editor-toolbar .toolbar-left,.formula-editor-toolbar .toolbar-right{display:flex;align-items:center;gap:6px}.formula-hint{font-size:12px;color:var(--text-tertiary, #999);font-style:italic}.formula-editor{width:100%;min-height:92px;max-height:400px;padding:12px;font-family:Fira Code,Monaco,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;overflow-y:auto;outline:none;white-space:pre-wrap;word-wrap:break-word;transition:border-color .2s ease}.formula-editor:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.1)}.formula-editor:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none}.formula-keyword{color:#c678dd;font-weight:600}.formula-function{color:#61afef;font-weight:600}.formula-operator{color:#56b6c2}.formula-number{color:#d19a66}.formula-element{color:#98c379;font-weight:500}.formula-autocomplete{position:absolute;top:100%;left:0;z-index:1000;width:100%;max-height:200px;margin-top:4px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #00000026;overflow-y:auto}.autocomplete-list{padding:4px 0}.autocomplete-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background-color .1s ease}.autocomplete-item:hover,.autocomplete-item.selected{background-color:var(--hover-bg)}.autocomplete-icon{flex-shrink:0;width:20px;text-align:center;font-weight:700}.autocomplete-icon.icon-element{color:#98c379}.autocomplete-icon.icon-function{color:#61afef}.autocomplete-icon.icon-keyword{color:#c678dd}.autocomplete-text{flex-grow:1;font-family:Fira Code,Monaco,Menlo,Consolas,monospace;font-size:13px;font-weight:500}.autocomplete-detail{flex-shrink:0;font-size:11px;color:var(--text-tertiary);margin-left:auto}.formula-validation{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;min-height:28px;background:var(--surface-2);border-top:1px solid var(--border-1)}.validation-icon{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.validation-icon svg{display:none;width:16px;height:16px}.validation-icon.success .icon-success{display:block;color:var(--status-success)}.validation-icon.error .icon-error{display:block;color:var(--status-error)}.validation-icon.loading .icon-loading{display:block;color:var(--text-dimmed);animation:spin 1s linear infinite}.validation-icon.empty svg{display:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.validation-message{color:var(--text-secondary);font-size:12px}.validation-message.error{color:var(--status-error)}.validation-message.success{color:var(--status-success)}.validation-message.loading{color:var(--text-dimmed);font-style:italic}.validation-message.empty{color:var(--text-dimmed)}.formula-editor::-webkit-scrollbar{width:8px}.formula-editor::-webkit-scrollbar-track{background:transparent}.formula-editor::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.formula-editor::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}@media(prefers-color-scheme:dark){.formula-editor{background-color:#1e1e1e}}.subset-rule-editor{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-sm);height:100%;overflow:auto}.rule-type-selector{display:flex;align-items:center;gap:var(--space-sm)}.rule-type-label{font-size:var(--font-size-small);font-weight:500;color:var(--text-secondary)}.rule-type-options{display:flex;gap:var(--space-md)}.rule-type-option{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:var(--transition-fast)}.rule-type-option:hover{background:var(--surface-3)}.rule-type-option input[type=radio]{cursor:pointer}.rule-type-text{font-size:var(--font-size-small);color:var(--text-primary)}.rule-config-panel{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.rule-config-row{display:flex;align-items:center;gap:var(--space-md);min-height:28px}.rule-config-row>label{min-width:140px;font-size:var(--font-size-small);color:var(--text-secondary)}.rule-config-row select,.rule-config-row input[type=text],.rule-config-row input[type=number]{flex:1;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-sans)}.rule-config-row select:focus,.rule-config-row input:focus{outline:none;border-color:var(--accent-primary)}.rule-config-row input[type=number]{max-width:80px}.target-element-selector{flex:1;display:flex;gap:var(--space-xs)}.target-element-selector input{flex:1;cursor:pointer}.target-element-input.picking{border-color:var(--accent-primary);background:var(--accent-primary-muted, rgba(37, 99, 235, .1));animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:var(--accent-primary);box-shadow:0 0 0 0 var(--accent-primary-muted, rgba(37, 99, 235, .3))}50%{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted, rgba(37, 99, 235, .1))}}.pattern-hint,.level-hint{font-size:var(--font-size-tiny);color:var(--text-tertiary);margin-left:var(--space-xs)}.class-filter-row{align-items:flex-start}.class-filter-options{display:flex;flex-direction:column;gap:var(--space-xs)}.class-filter-option{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;font-size:var(--font-size-small)}.class-filter-option input[type=checkbox]{cursor:pointer}.class-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:10px;font-weight:600;border-radius:var(--radius-sm)}.class-badge.class-n{background:var(--element-class-n-bg, #4caf50);color:#fff}.class-badge.class-c{background:var(--element-class-c-bg, #2196f3);color:#fff}.class-badge.class-a{background:var(--element-class-a-bg, #ff9800);color:#fff}.subset-rule-editor.read-only{opacity:.65;pointer-events:none}.attribute-hint{font-size:var(--font-size-tiny);color:var(--text-tertiary);font-style:italic;padding:var(--space-xs) 0}.rule-preview-panel{flex:1;min-height:150px;display:flex;flex-direction:column;background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-subtle);overflow:hidden}.preview-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle);background:var(--surface-3)}.preview-title{font-size:var(--font-size-small);font-weight:500;color:var(--text-secondary)}.preview-count{font-size:var(--font-size-tiny);color:var(--text-tertiary);margin-left:auto}.preview-refresh-btn{display:flex;align-items:center;justify-content:center;padding:var(--space-xxs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast)}.preview-refresh-btn:hover{background:var(--surface-4);color:var(--text-primary)}.preview-content{flex:1;padding:var(--space-sm);overflow-y:auto}.preview-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);color:var(--text-tertiary);font-size:var(--font-size-small)}.preview-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-lg);color:var(--text-tertiary);font-size:var(--font-size-small);text-align:center}.preview-list{display:flex;flex-direction:column;gap:var(--space-xxs)}.preview-element{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--surface-1);font-size:var(--font-size-small)}.preview-element:hover{background:var(--surface-3)}.preview-element-code{color:var(--accent-primary);font-family:var(--font-family-mono);font-size:var(--font-size-tiny);min-width:60px}.preview-element-name{color:var(--text-primary)}.preview-more{padding:var(--space-xs) var(--space-sm);color:var(--text-tertiary);font-size:var(--font-size-tiny);font-style:italic;text-align:center}.visual-canvas-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1)}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);gap:var(--space-sm);flex-shrink:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-sm)}.toolbar-btn-working.is-working{color:var(--status-success);border-color:var(--status-success);background:#28a7450d;transition:all .15s ease;cursor:default}.toolbar-btn-working.is-working svg{filter:drop-shadow(0 0 2px rgba(40,167,69,.5));transition:filter .15s ease}.toolbar-btn-working.is-working:hover{color:#2fce5e;background:#28a74526;border-color:#2fce5e;box-shadow:0 0 8px #28a7454d}.toolbar-btn-working.is-working:hover svg{filter:drop-shadow(0 0 5px rgba(40,167,69,.7))}.toolbar-btn-working.not-working{color:var(--text-secondary);border-color:var(--border-1);opacity:.7;transition:all .15s ease}.toolbar-btn-working.not-working svg{transition:filter .15s ease}.toolbar-btn-working.not-working:hover{opacity:1;color:var(--status-success);background:#28a7451a;border-color:var(--status-success);box-shadow:0 0 8px #28a74533}.toolbar-btn-working.not-working:hover svg{filter:drop-shadow(0 0 4px rgba(40,167,69,.5))}.toolbar-btn-working.not-working:active{opacity:.7;color:var(--text-secondary);background:transparent;border-color:var(--border-1);box-shadow:none}.toolbar-select{padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;min-width:150px}.toolbar-select:hover{border-color:var(--interactive-primary)}.toolbar-select:focus{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 3px #007acc1a}.canvas-container{position:relative;flex:1;overflow:hidden;background:var(--surface-1);cursor:grab}.canvas-container:active{cursor:grabbing}.canvas-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.canvas-workspace{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:0 0;transition:transform .05s ease-out}.canvas-workspace.panning{transition:none}.canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-secondary);font-size:var(--font-size-large);text-align:center;pointer-events:none}.canvas-table{position:absolute;min-width:240px;max-width:320px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),border-color var(--transition-fast);cursor:grab;-webkit-user-select:none;user-select:none;z-index:2}.canvas-table:active{cursor:grabbing}.canvas-table:hover{box-shadow:var(--shadow-md);border-color:var(--interactive-primary)}.table-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:grab}.table-header:active{cursor:grabbing}.table-header:hover{background:var(--hover-1)}.table-category-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.table-category-icon svg{width:18px;height:18px}.table-name{font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-dictionaries{max-height:240px;overflow-y:auto;overflow-x:hidden}.table-dictionary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);min-height:40px;cursor:pointer;transition:background var(--transition-fast)}.table-dictionary:hover{background:var(--hover-1)}.dict-icon{position:relative;width:24px;height:24px;flex-shrink:0}.dict-icon .dictionary-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.dict-icon .dictionary-icon-base{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--status-success)}.dict-icon .dictionary-icon-base svg{width:20px;height:20px}.dict-icon .dictionary-icon-type-overlay{position:absolute;bottom:-2px;right:-4px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.dict-icon .dictionary-icon-type-overlay svg{width:14px;height:14px;color:var(--status-success);background:var(--surface-1);border-radius:50%}.dict-name{font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-dictionary-more{padding:var(--space-xs) var(--space-md);color:var(--text-secondary);font-size:var(--font-size-small);text-align:center}.canvas-table-draft{position:absolute;top:24px;left:24px;z-index:10;border:2px dashed var(--accent-primary);background:var(--surface-1);box-shadow:var(--shadow-md);border-radius:var(--radius-md);cursor:default;width:280px}.canvas-table-draft:hover{border-color:var(--accent-primary)}.canvas-table-draft.draft-drop-active{border-color:var(--status-success);background:#28a74508}.canvas-table-draft.draft-drop-active .draft-drop-zone{color:var(--status-success)}.canvas-table-draft.draft-drop-active .draft-drop-zone svg{opacity:.8}@keyframes draft-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.canvas-table-draft.shake{animation:draft-shake .5s ease-in-out}.draft-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);cursor:default}.draft-header:hover{background:var(--surface-2)}.draft-header:active{cursor:default}.draft-name-input{flex:1;min-width:0;padding:4px 6px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans)}.draft-name-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #007acc26}.draft-actions{display:flex;gap:2px;flex-shrink:0}.draft-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;padding:0;transition:all var(--transition-fast)}.draft-btn svg{width:14px;height:14px}.draft-btn-confirm{color:var(--status-success)}.draft-btn-confirm:hover{background:var(--status-success);border-color:var(--status-success);color:#fff}.draft-btn-cancel{color:var(--text-secondary)}.draft-btn-cancel:hover{background:var(--status-error);border-color:var(--status-error);color:#fff}.draft-dictionaries{max-height:320px}.draft-dictionary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);min-height:36px;cursor:default;transition:background var(--transition-fast);position:relative}.draft-dictionary:hover{background:var(--hover-1)}.draft-dictionary.shake{animation:draft-shake .5s ease-in-out}.draft-dictionary.draft-dragging{opacity:.4}.draft-dictionary.draft-drop-above{box-shadow:inset 0 2px 0 var(--accent-primary)}.draft-dictionary.draft-drop-below{box-shadow:inset 0 -2px 0 var(--accent-primary)}.draft-drag-handle{display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--text-dimmed);cursor:grab;flex-shrink:0;opacity:.5;transition:opacity var(--transition-fast)}.draft-dictionary:hover .draft-drag-handle{opacity:1}.draft-drag-handle:active{cursor:grabbing}.draft-dict-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin-left:auto;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;opacity:0;transition:all var(--transition-fast);flex-shrink:0}.draft-dictionary:hover .draft-dict-remove{opacity:1}.draft-dict-remove:hover{color:var(--status-error);background:#dc35451a}.draft-dict-remove svg{width:12px;height:12px}.draft-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);min-height:180px;color:var(--text-dimmed);font-size:var(--font-size-small);border-top:1px solid var(--border-1)}.draft-drop-zone svg{width:28px;height:28px;opacity:.4}.table-link-handle{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border-1);cursor:pointer;transition:all var(--transition-fast);opacity:.3}.table-link-handle-left{left:-24px;border-radius:12px 0 0 12px}.table-link-handle-right{right:-24px;border-radius:0 12px 12px 0}.table-link-handle.has-links{opacity:1;visibility:visible;background:var(--surface-2);border-color:var(--interactive-primary)}.table-link-handle.has-links .link-handle-icon svg{stroke:#fff}.link-handle-icon{width:16px;height:16px;opacity:0;transition:opacity var(--transition-fast)}.link-handle-icon svg{width:100%;height:100%;color:var(--interactive-primary)}.table-link-handle:hover .link-handle-icon,.table-link-handle.has-links .link-handle-icon{opacity:1}.table-link-handle:hover{background:var(--interactive-primary);border-color:var(--interactive-primary);opacity:1!important}.table-link-handle:hover .link-handle-icon svg{color:#fff}.canvas-container.link-dragging{cursor:crosshair}.table-link-handle-left.link-drop-target{background:var(--interactive-primary);border-color:var(--interactive-primary);opacity:1!important;visibility:visible;transform:translateY(-50%) scale(1.15);transition:transform .15s ease,background .15s ease}.table-link-handle-left.link-drop-target .link-handle-icon{opacity:1}.table-link-handle-left.link-drop-target .link-handle-icon svg{color:#fff}.link-drag-line{pointer-events:none}.canvas-links{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.link-group{pointer-events:all}.link-path{fill:none;stroke-width:2;transition:stroke-width .15s ease}.link-path-hitarea{fill:none;stroke:transparent;stroke-width:12;cursor:pointer}.link-group.link-hover .link-path{stroke-width:3;filter:brightness(1.2)}.link-path.link-formula,.link-arrow-formula{stroke:#9333ea}.link-group.link-formula .link-path{stroke-dasharray:none;stroke-width:2}.link-group.link-formula:hover .link-path{stroke-width:2.5}.link-group:not(.link-formula) .link-path{stroke-dasharray:6,4}.canvas-zoom-controls{position:absolute;bottom:var(--space-lg);right:var(--space-lg);display:flex;align-items:center;gap:var(--space-xs);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:var(--space-xs);box-shadow:var(--shadow-sm)}.zoom-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.zoom-btn svg{width:18px;height:18px}.zoom-btn:hover{background:var(--hover-1)}.zoom-btn:active{background:var(--hover-2)}.zoom-level{padding:0 var(--space-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary);min-width:50px;text-align:center}:root{--canvas-grid-dot: rgba(0, 0, 0, .08)}[data-theme=dark]{--canvas-grid-dot: rgba(255, 255, 255, .06)}@keyframes link-flow{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes link-glow-pulse{0%,to{filter:drop-shadow(0 0 2px currentColor)}50%{filter:drop-shadow(0 0 6px currentColor)}}.link-group.link-running .link-path{stroke-dasharray:8 4;animation:link-flow .6s linear infinite}.link-group.link-running .link-path{filter:drop-shadow(0 0 3px currentColor)}.link-group.link-running.link-pulse .link-path{animation:link-flow .6s linear infinite,link-glow-pulse 1.5s ease-in-out infinite}.link-tooltip{position:absolute;z-index:var(--z-index-tooltip);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-sm);min-width:140px;pointer-events:auto}.link-tooltip-header{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-1)}.link-tooltip-type{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-sm)}.link-tooltip-actions{display:flex;gap:var(--space-xs)}.link-tooltip-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;transition:all var(--transition-fast)}.link-tooltip-btn:hover{background:var(--hover-1);border-color:var(--interactive-primary)}.link-tooltip-btn.btn-primary{background:var(--interactive-primary);border-color:var(--interactive-primary);color:#fff}.link-tooltip-btn.btn-primary:hover{background:var(--interactive-primary-hover)}.link-tooltip-btn svg{width:14px;height:14px}.link-group.link-selected .link-path{stroke-width:3;filter:drop-shadow(0 0 4px currentColor)}.view-selector{display:flex;align-items:center}.view-selector-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast)}.view-selector-btn svg{flex-shrink:0}.view-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-view-picker-dropdown{position:fixed;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:280px;max-width:320px;max-height:400px;display:flex;flex-direction:column;z-index:var(--z-index-dropdown);overflow:hidden}.me-view-picker-save-row{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--surface-2)}.me-view-picker-input{flex:1;padding:6px 8px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small)}.me-view-picker-input:focus{border-color:var(--accent-primary);outline:none}.me-view-picker-input::placeholder{color:var(--text-dimmed)}.me-view-picker-save-btn,.me-view-picker-cancel-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.me-view-picker-save-btn:disabled{opacity:.4;cursor:not-allowed}.me-view-picker-save-btn:not(:disabled):hover{background:var(--success);border-color:var(--success);color:#fff}.me-view-picker-cancel-btn:hover{background:var(--hover-1)}.me-view-picker-divider{height:1px;background:var(--border-1)}.me-view-picker-list{flex:1;overflow-y:auto;max-height:300px}.me-view-picker-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:var(--transition-fast)}.me-view-picker-option:hover{background:var(--hover-1)}.me-view-picker-option-selected{background:var(--accent-subtle);font-weight:500}.me-view-picker-option-selected:hover{background:var(--accent-subtle)}.me-view-picker-option svg{color:var(--text-secondary);flex-shrink:0}.me-view-picker-option-default svg{color:#5b9bd5}.me-view-picker-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small)}.me-view-picker-actions{display:flex;align-items:center;gap:2px;opacity:0;pointer-events:none;transition:var(--transition-fast)}.me-view-picker-option:hover .me-view-picker-actions{opacity:1;pointer-events:auto}.me-view-picker-option:hover .me-view-picker-default-star{opacity:0}.me-view-picker-default-star{flex-shrink:0;width:16px;height:16px;transition:var(--transition-fast)}.me-view-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.me-view-action-btn:hover{background:var(--hover-2);color:var(--text-primary)}.me-view-save-btn:hover{color:var(--success)}.me-view-default-btn:hover{color:var(--accent-primary)}.me-view-delete-btn:hover{color:var(--danger)}.me-view-picker-empty{padding:var(--space-lg);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-small)}.canvas-container.canvas-drop-active{outline:2px dashed var(--accent-primary);outline-offset:-2px}.canvas-container.canvas-drop-active .canvas-empty{color:var(--accent-primary)}.table-editor{display:flex;flex-direction:column;height:100%;background-color:var(--surface-1);position:absolute;top:0;left:0;width:100%;z-index:10}.table-setup-content{display:flex;flex-direction:column;padding:var(--space-md);height:calc(100% - 60px);overflow:auto;gap:var(--space-md)}.table-setup-columns{display:flex;gap:var(--space-lg);flex:1;min-height:0;overflow:auto}.table-setup-columns .format-section{flex:1;min-width:200px;max-width:400px}.table-setup-columns .format-section:first-child{flex:1.2}.table-setup-section-body{padding:0!important}.table-setup-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dimmed);font-size:var(--font-size-small)}.table-setup-columns .dict-count{font-size:var(--font-size-xs);color:var(--text-dimmed);background-color:var(--surface-4);padding:1px var(--space-xs);border-radius:var(--radius-sm)}.table-stats{margin-bottom:var(--space-sm);border-bottom:1px solid var(--border-1);padding-bottom:var(--space-sm)}.table-stats-empty,.table-stats-loading{font-size:var(--font-size-xs);color:var(--text-dimmed);text-align:center;padding:var(--space-xs) 0}.table-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.table-stat-item{display:flex;flex-direction:column;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--surface-2);border-left:2px solid var(--border-1)}.table-stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.2}.table-stat-label{font-size:var(--font-size-xs);color:var(--text-dimmed)}.table-stat-normal{border-left-color:var(--status-success)}.table-stat-calculated{border-left-color:var(--accent-primary)}.table-stat-aggregate{border-left-color:var(--status-warning)}.table-fill-indicator{margin-top:var(--space-xs)}.fill-bar-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.fill-bar-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.fill-bar-pct{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.fill-bar-track{height:6px;border-radius:3px;background:var(--surface-3);display:flex;overflow:hidden}.fill-bar-segment{height:100%;min-width:1px;transition:width var(--transition-fast)}.fill-bar-segment.fill-float{background:var(--status-success)}.fill-skeleton{display:inline-block;width:60px;height:10px;border-radius:3px;background:var(--surface-3);animation:fill-pulse 1.2s ease-in-out infinite}.fill-skeleton-bar{width:40%;background:var(--surface-3);animation:fill-pulse 1.2s ease-in-out infinite}@keyframes fill-pulse{0%,to{opacity:.4}50%{opacity:.8}}.table-type-selector{display:flex;align-items:center;gap:var(--space-md)}.table-type-selector>label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.table-type-options{display:flex;gap:var(--space-sm)}.table-type-option{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md);background-color:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.table-type-option:hover{background-color:var(--hover-2);border-color:var(--border-2)}.table-type-option.selected{background-color:var(--accent-subtle);border-color:var(--accent-primary)}.table-type-option.disabled{opacity:.4;cursor:default;pointer-events:none}.table-type-option input[type=radio]{display:none}.table-type-option .option-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.table-type-option .option-desc{font-size:var(--font-size-xs);color:var(--text-dimmed);margin-top:2px}.table-dictionaries-hint{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);border-bottom:1px solid var(--border-1)}.table-dictionaries-hint .hint-required{color:var(--accent-primary)}.table-dictionaries-hint .hint-optional{color:var(--text-secondary)}.table-dictionaries-hint .hint-complete{color:var(--success)}.table-dictionaries-hint .hint-info{color:var(--text-dimmed)}.table-dictionaries-panel{background-color:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-1);display:flex;flex-direction:column;overflow:hidden;width:400px;max-height:100%}.table-dictionaries-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border-bottom:1px solid var(--border-1);background-color:var(--surface-3)}.table-dictionaries-panel .panel-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.table-dictionaries-panel .dict-count{font-size:var(--font-size-sm);color:var(--text-dimmed);background-color:var(--surface-4);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.table-dictionaries-list{flex:1;overflow-y:auto;padding:var(--space-sm);transition:all var(--transition-fast)}.table-dictionaries-list.drag-over{background-color:var(--accent-subtle);border:2px dashed var(--accent-primary);border-radius:var(--radius-sm)}.empty-dictionaries{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);text-align:center;color:var(--text-dimmed)}.empty-dictionaries svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.3}.empty-dictionaries p{margin:var(--space-xs) 0;font-size:var(--font-size-sm)}.table-dict-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background-color:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);transition:all var(--transition-fast)}.table-dict-item{cursor:pointer}.table-dict-item:hover{background-color:var(--hover-3);border-color:var(--border-2)}.table-dict-item--empty{border-color:var(--status-error);background-color:color-mix(in srgb,var(--status-error) 5%,var(--surface-1))}.table-dict-item--empty:hover{border-color:var(--status-error);background-color:color-mix(in srgb,var(--status-error) 10%,var(--surface-1))}.table-dict-item--empty .dict-type-label{color:var(--status-error)}.dict-empty-warning{margin-left:var(--space-xs);font-size:var(--font-size-xs);color:var(--status-error);font-weight:var(--font-weight-semibold)}@keyframes table-dict-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.table-dict-item.shake{animation:table-dict-shake .5s ease-in-out}.dict-icon-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;position:relative}.dict-icon-container .dictionary-icon-wrapper{position:relative;display:inline-flex;width:24px;height:24px}.dict-icon-container .dictionary-icon-base{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--icon-dictionary-color)}.dict-icon-container .dictionary-icon-base svg{width:24px;height:24px;fill:var(--icon-dictionary-color)}.dict-icon-container .dictionary-icon-type-overlay{position:absolute;bottom:-6px;right:-8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;color:var(--icon-dictionary-color)}.dict-icon-container .dictionary-icon-type-overlay svg{width:20px;height:20px;fill:var(--icon-dictionary-color);background:var(--surface-2);border-radius:50%}.dict-info{flex:1;min-width:0}.dict-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dict-type-label{font-size:var(--font-size-xs);color:var(--text-dimmed);margin-top:var(--space-xxs)}.dict-actions{display:flex;gap:var(--space-xxs);flex-shrink:0}.dict-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0}.table-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.dimensions-bar{display:flex;flex-wrap:nowrap;gap:var(--space-sm);padding:4px;background-color:var(--surface-2);border-bottom:1px solid var(--border-1);align-items:flex-start;overflow-x:auto}.dimension-section{display:flex;flex-direction:column;gap:2px}.dimension-section[data-dimension=rows],.dimension-section[data-dimension=columns]{flex:0 0 auto;min-width:320px;max-width:460px}.dimension-section[data-dimension=filters]{flex:1;min-width:0;margin-left:auto}.dimension-section label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-left:4px}.dimension-tiles{display:flex;flex-wrap:wrap;gap:4px;min-height:40px;padding:4px;background-color:var(--surface-3);border:1px dashed var(--border-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;align-content:flex-start}.dimension-section[data-dimension=filters] .dimension-tiles{justify-content:flex-end}.dimension-tiles.drag-over{background-color:var(--accent-subtle);border-color:var(--accent-primary);border-style:solid}.dimension-empty{width:100%;text-align:center;padding:2px var(--space-sm);color:var(--text-dimmed);font-size:var(--font-size-xs);font-style:italic;line-height:20px}.dimension-tile{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:var(--surface-1);border:1px solid var(--border-2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.dimension-tile:hover{background-color:var(--hover-3);border-color:var(--border-3);box-shadow:0 2px 4px #0000001a}.dimension-tile.dragging{opacity:.5;transform:scale(.95)}.dimension-tile.contribution-locked{cursor:default;border-style:dashed}.dimension-tile.contribution-locked:hover{background-color:var(--surface-1);border-color:var(--border-2);box-shadow:none}.dimension-tile.contribution-locked .lock-icon{width:14px;height:14px;flex-shrink:0;color:var(--text-tertiary)}.drop-indicator-line{position:absolute;top:4px;bottom:4px;width:3px;background-color:var(--accent-primary);border-radius:2px;pointer-events:none;z-index:10;box-shadow:0 0 4px var(--accent-primary)}.drop-indicator-line.before{left:-2px}.drop-indicator-line.after{right:-2px}.dimension-tile.drop-target-replace{outline:2px solid var(--accent-primary);outline-offset:1px;background-color:var(--accent-subtle)}.dimension-tile.drop-forbidden{opacity:.4;cursor:not-allowed}.dimension-tiles.drop-forbidden{background-color:var(--surface-3);border-color:var(--text-dimmed);opacity:.6}.dimension-tile-wrapper{position:relative;display:inline-flex}.tile-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--icon-dictionary-color)}.tile-icon svg{width:14px;height:14px}.tile-count{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-3);padding:1px 6px;border-radius:var(--radius-sm);min-width:20px;text-align:center}.tile-subset{display:flex;align-items:center;gap:2px;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-3);padding:2px 4px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.tile-subset:hover{background:var(--hover-2);border-color:var(--border-2)}.tile-subset-name{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-subset svg{width:10px;height:10px;flex-shrink:0}.tile-filter-value{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-dropdown{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.tile-dropdown:hover{background:var(--hover-2);color:var(--text-primary)}.tile-dropdown svg{width:14px;height:14px}.tile-subset-config{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;margin-right:-2px;background:transparent;border:none;border-left:1px solid var(--border-subtle);border-radius:0;padding:0 0 0 4px;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.tile-subset-config:hover{background:var(--hover-2);color:var(--accent-primary);border-left-color:var(--border-2)}.tile-subset-config svg{width:14px;height:14px}.pivot-grid-container{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0;margin:0;background-color:var(--surface-1);min-height:0}.pivot-grid{flex:1;min-height:0}.pivot-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.pivot-info{text-align:center;max-width:600px;padding:var(--space-xxl)}.pivot-info svg{width:64px;height:64px;margin-bottom:var(--space-lg);color:var(--text-dimmed);opacity:.5}.pivot-info h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-md)}.dimension-summary{background-color:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0;text-align:left}.summary-item{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-sm);line-height:1.6}.summary-item:last-child{margin-bottom:0}.summary-item strong{color:var(--text-primary);font-weight:var(--font-weight-semibold);display:inline-block;min-width:80px}.pivot-note{font-size:var(--font-size-sm);color:var(--text-dimmed);font-style:italic;margin-top:var(--space-md)}.table-editor .design-mode-btn{height:24px;padding:0 var(--space-sm);white-space:nowrap;display:flex;align-items:center;gap:var(--space-xs)}.table-editor .design-mode-btn:hover:not(.active){background:var(--status-error);border-color:var(--status-error);color:var(--text-bright);box-shadow:none}.table-editor .design-mode-btn:hover:not(.active) svg{fill:var(--text-bright)}.table-editor .design-mode-btn:active:not(.active){background:var(--status-error-active);transform:translateY(1px)}.table-editor .design-mode-btn.active{background:var(--interactive-primary);color:#fff;border-color:var(--interactive-primary)}.table-editor .design-mode-btn.active svg{fill:#fff}.pivot-grid{width:100%;height:100%;padding:0;margin:0}.grid-viewport{position:relative;overflow:auto;background-color:var(--surface-1);padding:0;margin:0;box-sizing:border-box}.grid-scroll-container{position:absolute;top:0;left:0;pointer-events:none}.grid-canvas{position:sticky;top:0;left:0;width:100%;height:100%;z-index:1;display:block;margin:0;padding:0;cursor:cell}.grid-presence-layer{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:3;margin:0;padding:0}.user-selection{position:absolute;pointer-events:none;z-index:10}.user-cursor{position:absolute;pointer-events:none;z-index:20;animation:blink 1s infinite}.user-cursor-label{position:absolute;padding:2px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap;pointer-events:none}.user-editing{position:absolute;pointer-events:none;z-index:15}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.grid-cell{display:flex;align-items:center;border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);background-color:var(--surface-1);font-size:var(--font-size-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-cell:hover{background-color:var(--hover-2)}.grid-cell.selected{background-color:var(--accent-subtle);border:2px solid var(--accent-primary)}.grid-cell.calculated{background-color:var(--info-bg);color:var(--info-text);font-weight:var(--font-weight-medium)}.grid-cell.aggregate{background-color:var(--warning-bg);color:var(--warning-text);font-weight:var(--cell-font-weight-aggregate)}.grid-cell.editing{background-color:var(--surface-2);border:2px solid var(--accent-primary)}.grid-cell.error{background-color:var(--error-bg);color:var(--error-text)}.grid-header-cell{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background-color:var(--surface-3);border-right:1px solid var(--border-2);border-bottom:1px solid var(--border-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.grid-header-cell:hover{background-color:var(--hover-3)}.grid-header-cell.sortable:hover{background-color:var(--hover-4)}.grid-header-cell .sort-icon{width:16px;height:16px;color:var(--text-dimmed)}.grid-header-cell.sorted .sort-icon{color:var(--accent-primary)}.pivot-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);z-index:100}.pivot-loading-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.perf-indicator{position:fixed;bottom:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-sm);background-color:var(--surface-4);border:1px solid var(--border-2);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-dimmed);z-index:1000;opacity:.7;transition:opacity var(--transition-fast)}.perf-indicator:hover{opacity:1}.perf-indicator.good{border-color:var(--success);color:var(--success)}.perf-indicator.warning{border-color:var(--warning);color:var(--warning)}.perf-indicator.bad{border-color:var(--error);color:var(--error)}.pivot-corner{display:flex;align-items:center;justify-content:center;background-color:var(--surface-3);border-right:2px solid var(--border-2);border-bottom:2px solid var(--border-2);box-sizing:border-box}.pivot-column-headers{overflow:hidden;background-color:var(--surface-2)}.column-headers-container{width:100%;overflow:hidden;position:relative}.column-headers-scroll-wrapper{overflow:hidden;position:relative}.column-headers-content{display:flex;flex-direction:column;will-change:transform}.pivot-row-headers{overflow:hidden;background-color:var(--surface-2)}.row-headers-container{height:100%;overflow:hidden;position:relative}.row-headers-scroll-container{position:absolute;top:0;left:0;right:0;pointer-events:none}.row-headers-content{position:absolute;top:0;left:0;right:0;will-change:transform}.row-header-row{display:flex;height:32px;box-sizing:border-box}.row-header-cell{display:flex;align-items:center;height:100%;padding:0 var(--space-sm);background-color:var(--surface-2);font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;box-sizing:border-box;transition:background-color var(--transition-fast)}.row-header-cell:hover{background-color:var(--hover-3)}.row-header-cell.calculated{font-style:italic;color:var(--info-text)}.row-header-cell.aggregate,.row-header-cell.aggregate .row-header-name{font-weight:var(--cell-font-weight-aggregate)}.row-header-cell[data-depth="0"]{padding-left:var(--space-sm)}.row-header-cell[data-depth="1"]{padding-left:calc(var(--space-sm) + 20px)}.row-header-cell[data-depth="2"]{padding-left:calc(var(--space-sm) + 40px)}.row-header-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:var(--space-xs);cursor:pointer;color:var(--text-dimmed);transition:transform .15s ease,color var(--transition-fast);flex-shrink:0;border-radius:var(--radius-sm)}.row-header-toggle:hover{color:var(--text-primary);background-color:var(--hover-4)}.row-header-toggle.expanded{transform:rotate(90deg)}.row-header-toggle.hidden{visibility:hidden}.row-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-header-dimension-separator{width:1px;height:100%;background-color:var(--border-2);margin:0 var(--space-xs)}.column-header-row{display:flex;height:32px;min-height:32px;border-bottom:1px solid var(--border-1);box-sizing:border-box}.column-header-row[data-level="0"]{background-color:var(--surface-4)}.column-header-row[data-level="1"]{background-color:var(--surface-3)}.column-header-row[data-level="2"]{background-color:var(--surface-2)}.column-header-cell{display:flex;align-items:center;justify-content:center;height:100%;min-width:120px;padding:0 var(--space-sm);background-color:inherit;border-right:1px solid var(--border-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;box-sizing:border-box;transition:background-color var(--transition-fast)}.column-header-cell:hover{background-color:var(--hover-3)}.column-header-cell.aggregate,.column-header-cell.aggregate .column-header-name{font-weight:var(--cell-font-weight-aggregate)}.column-header-cell[data-span]{border-right:2px solid var(--border-2)}.column-header-row[data-level="0"] .column-header-cell{font-weight:var(--font-weight-semibold)}.column-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-header-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:var(--space-xs);cursor:pointer;color:var(--text-dimmed);transition:color var(--transition-fast);flex-shrink:0;border-radius:var(--radius-sm)}.column-header-toggle:hover{color:var(--text-primary);background-color:var(--hover-4)}@media(max-width:1200px){.table-dictionaries-panel{width:100%;max-height:400px}.dimension-section[data-dimension=rows],.dimension-section[data-dimension=columns]{min-width:200px}.dimension-section[data-dimension=filters]{min-width:120px}.dimension-section[data-dimension=filters] .dimension-tile{min-width:0;overflow:hidden}.dimension-section[data-dimension=filters] .tile-filter-value{max-width:80px}.user-avatars{max-width:120px;overflow:hidden}}@media(max-width:900px){.dimensions-bar{flex-wrap:wrap}.dimension-section[data-dimension=rows],.dimension-section[data-dimension=columns]{min-width:160px;flex:1 1 auto}.dimension-section[data-dimension=filters]{flex-basis:100%;min-width:0}}.cell-highlight--edited{border-radius:1px;animation:cell-edited-pulse .8s ease-out forwards}@keyframes cell-edited-pulse{0%{background-color:var(--status-success);opacity:.5;box-shadow:inset 0 0 0 1.5px var(--status-success)}40%{background-color:var(--status-success);opacity:.3;box-shadow:inset 0 0 0 1px var(--status-success)}to{background-color:transparent;opacity:0;box-shadow:none}}.cell-highlight--affected{border-radius:1px;animation:cell-affected-ripple 1.2s ease-out forwards}@keyframes cell-affected-ripple{0%{background-color:var(--accent-primary);opacity:0}15%{background-color:var(--accent-primary);opacity:.4}50%{background-color:var(--accent-primary);opacity:.2}to{background-color:transparent;opacity:0}}.cell-highlight--cross-table{border-radius:1px;animation:cell-cross-table-ripple 1.4s ease-out forwards}@keyframes cell-cross-table-ripple{0%{background-color:var(--status-warning);opacity:0}15%{background-color:var(--status-warning);opacity:.35}50%{background-color:var(--status-warning);opacity:.15}to{background-color:transparent;opacity:0}}.cell-highlight__direction{position:absolute;top:1px;right:2px;font-size:9px;font-weight:600;line-height:1;pointer-events:none;animation:direction-fade 1.2s ease-out forwards}.cell-highlight__direction--up{color:var(--status-success)}.cell-highlight__direction--down{color:#e05050}@keyframes direction-fade{0%{opacity:0}15%{opacity:1}60%{opacity:.8}to{opacity:0}}.view-selector-controls{display:flex;align-items:center;gap:var(--space-xs)}.view-selector-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.view-selector-btn:hover{background:var(--hover-1);border-color:var(--border-2)}.view-selector-btn svg:first-child{color:#5b9bd5}.view-label{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-separator{width:1px;height:20px;background:var(--border-1);margin:0 var(--space-sm)}.te-view-picker-dropdown{position:fixed;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000040;z-index:var(--z-index-dropdown);min-width:280px;max-height:350px;overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-family-sans)}.te-view-picker-save-row{display:flex;align-items:center;gap:var(--space-xs);padding:6px 8px;background:var(--surface-2)}.te-view-picker-input{flex:1;padding:6px 8px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-sans);outline:none;transition:border-color var(--transition-fast)}.te-view-picker-input:focus{border-color:var(--accent-primary)}.te-view-picker-input::placeholder{color:var(--text-dimmed)}.te-view-picker-save-btn,.te-view-picker-cancel-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.te-view-picker-save-btn:disabled{opacity:.4;cursor:not-allowed}.te-view-picker-save-btn:not(:disabled):hover{background:var(--success);border-color:var(--success);color:#fff}.te-view-picker-cancel-btn:hover{background:var(--hover-1)}.te-view-picker-divider{height:1px;background:var(--border-1)}.te-view-picker-list{flex:1;overflow-y:auto;max-height:250px}.te-view-picker-option{display:flex;align-items:center;gap:var(--space-xs);padding:6px 8px;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);transition:background var(--transition-fast)}.te-view-picker-option:hover{background:var(--hover-1)}.te-view-picker-option-selected{background:var(--accent-subtle);font-weight:500}.te-view-picker-option-selected:hover{background:var(--accent-subtle)}.te-view-picker-option svg{color:var(--text-secondary);flex-shrink:0}.te-view-picker-option-default svg{color:#5b9bd5}.te-view-picker-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.te-view-picker-actions{display:flex;align-items:center;gap:2px;opacity:0;pointer-events:none;transition:opacity .15s ease}.te-view-picker-option:hover .te-view-picker-actions{opacity:1;pointer-events:auto}.te-view-picker-option:hover .te-view-picker-default-star{opacity:0}.te-view-picker-default-star{flex-shrink:0;width:16px;height:16px;margin-left:auto;margin-right:4px;transition:opacity .15s ease}.te-view-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.te-view-action-btn svg{width:18px;height:18px}.te-view-action-btn:hover{background:var(--hover-2);color:var(--text-primary)}.te-view-save-btn:hover,.te-view-default-btn.is-default,.te-view-default-btn:hover{color:var(--accent-primary)}.te-view-delete-btn:hover{background:var(--status-error)}.te-view-delete-btn:hover svg{fill:#fff}.te-view-open-tab-btn:hover{color:var(--accent-primary)}.te-view-autosave-toggle{flex-shrink:0;margin:0;cursor:pointer}.te-view-autosave-toggle .toggle-slider{border:1px solid var(--border-2)}.te-view-autosave-toggle input:checked+.toggle-slider{border-color:var(--accent-primary)}.te-view-autosave-toggle input{cursor:pointer}.te-view-picker-empty{padding:16px;text-align:center;color:var(--text-dimmed);font-size:var(--font-size-sm)}.te-sandbox-picker-dropdown{position:fixed;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000040;z-index:var(--z-index-dropdown);min-width:240px;max-height:350px;overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-family-sans)}.te-sandbox-picker-save-row{display:flex;align-items:center;gap:var(--space-xs);padding:6px 8px;background:var(--surface-2)}.te-sandbox-picker-input{flex:1;padding:6px 8px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-sans);outline:none;transition:border-color var(--transition-fast)}.te-sandbox-picker-input:focus{border-color:var(--accent-primary)}.te-sandbox-picker-input::placeholder{color:var(--text-dimmed)}.te-sandbox-picker-save-btn,.te-sandbox-picker-cancel-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.te-sandbox-picker-save-btn:disabled{opacity:.4;cursor:not-allowed}.te-sandbox-picker-save-btn:not(:disabled):hover{background:var(--success);border-color:var(--success);color:#fff}.te-sandbox-picker-cancel-btn:hover{background:var(--hover-1)}.te-sandbox-picker-divider{height:1px;background:var(--border-1)}.te-sandbox-picker-list{flex:1;overflow-y:auto;max-height:250px}.te-sandbox-picker-option{display:flex;align-items:center;gap:var(--space-xs);padding:6px 8px;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);transition:background var(--transition-fast)}.te-sandbox-picker-option:hover{background:var(--hover-1)}.te-sandbox-picker-option-selected{background:var(--accent-subtle);font-weight:500}.te-sandbox-picker-option-selected:hover{background:var(--accent-subtle)}.te-sandbox-picker-option svg{color:var(--text-secondary);flex-shrink:0}.te-sandbox-picker-option-base svg{color:var(--text-dimmed)}.te-sandbox-picker-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.te-sandbox-picker-actions{display:flex;align-items:center;gap:2px;opacity:0;pointer-events:none;transition:opacity .15s ease}.te-sandbox-picker-option:hover .te-sandbox-picker-actions{opacity:1;pointer-events:auto}.te-sandbox-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.te-sandbox-action-btn svg{width:18px;height:18px}.te-sandbox-action-btn:hover{background:var(--hover-2);color:var(--text-primary)}.te-sandbox-save-btn:hover{color:var(--accent-primary)}.te-sandbox-delete-btn:hover{background:var(--status-error)}.te-sandbox-delete-btn:hover svg{fill:#fff}.sandbox-controls{display:flex;align-items:center;gap:var(--space-xs);margin-right:var(--space-md)}.sandbox-selector-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.sandbox-selector-btn:hover{background:var(--hover-1);border-color:var(--border-2)}.sandbox-selector-btn.sandbox-active{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.sandbox-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.sandbox-action-btn:hover{background:var(--hover-1)}.sandbox-commit-btn:hover{background:var(--success);border-color:var(--success);color:#fff}.sandbox-discard-btn:hover{background:var(--error);border-color:var(--error);color:#fff}.sandbox-picker-dropdown{font-family:var(--font-family-sans)}.sandbox-picker-option svg{opacity:.7}.sandbox-base-option svg{color:var(--text-dimmed)}.sandbox-item svg{color:var(--accent-primary)}.sandbox-create-option svg{color:var(--success)}.pivot-cell-editor{position:absolute;box-sizing:border-box;padding:0 8px;margin:0;border:2px solid var(--cell-editing-border, #0078D4);background:var(--cell-editing-bg, var(--surface-1));color:var(--text-primary);font-family:var(--font-family-sans);font-size:14px;text-align:right;outline:none;z-index:100}.pivot-cell-editor:focus{box-shadow:var(--cell-editing-shadow, 0 0 0 1px #0078D4)}.pivot-cell-editor.text-left{text-align:left}.pivot-cell-highlight{animation:cellHighlight .6s ease-out}@keyframes cellHighlight{0%{background:var(--cell-selected-bg, rgba(0, 120, 212, .2))}to{background:transparent}}.row-header-resize-handles{position:absolute;top:0;left:0;height:100%;pointer-events:none;z-index:10}.row-header-resize-handle{position:absolute;top:0;width:5px;height:100%;cursor:col-resize;background:transparent;pointer-events:auto;transform:translate(-50%)}.row-header-resize-handle:hover,.row-header-resize-handle.resizing{background:var(--accent-primary);opacity:.6}.row-header-resize-overlay{position:fixed;inset:0;cursor:col-resize;z-index:10000}.pivot-copied-range{position:absolute;pointer-events:none;box-sizing:border-box;--ants-color: #888;--ants-bg: transparent;border:none;background-image:linear-gradient(90deg,var(--ants-color) 50%,var(--ants-bg) 50%),linear-gradient(90deg,var(--ants-bg) 50%,var(--ants-color) 50%),linear-gradient(0deg,var(--ants-color) 50%,var(--ants-bg) 50%),linear-gradient(0deg,var(--ants-bg) 50%,var(--ants-color) 50%);background-size:8px 2px,8px 2px,2px 8px,2px 8px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:marching-ants .5s linear infinite;z-index:10}[data-theme=dark] .pivot-copied-range{--ants-color: #aaa}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:8px 0,-8px 100%,0 -8px,100% 8px}}.link-run-controls{display:flex;align-items:center;gap:var(--space-xs)}.toolbar-dropdown.link-running .toolbar-btn-run{opacity:.6;pointer-events:none}.toolbar-dropdown.link-running .toolbar-btn-run svg{animation:link-spin 1s linear infinite}.toolbar-dropdown.link-running .toolbar-dropdown-toggle{pointer-events:none;opacity:.6}@keyframes link-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toolbar-dropdown-item .link-status-badge{margin-left:auto;font-size:10px;color:var(--text-tertiary);font-style:italic}.toolbar-dropdown-item .link-open-tab-btn{margin-left:auto;background:none;border:none;padding:2px;cursor:pointer;color:var(--text-tertiary);border-radius:var(--radius-sm);display:flex;align-items:center;opacity:0;transition:var(--transition-fast)}.toolbar-dropdown-item:hover .link-open-tab-btn{opacity:1}.toolbar-dropdown-item .link-open-tab-btn:hover{color:var(--accent-primary);background:var(--hover-1)}.ttable-editor{height:100%;display:flex;flex-direction:column;background:var(--surface-1)}.ttable-editor--setup .ttable-setup-content{flex:1;overflow:auto;padding:var(--space-lg)}.ttable-editor--main .ttable-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ttable-setup-header{margin-bottom:var(--space-lg)}.table-type-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);background:var(--accent-primary);color:var(--text-on-accent);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.setup-description{color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.5}.ttable-dictionary-section{background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.section-title{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.dict-requirement{font-size:var(--font-size-small);color:var(--text-dimmed)}.dictionary-dropzone{border:2px dashed var(--border-2);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;transition:var(--transition-fast);min-height:120px;display:flex;align-items:center;justify-content:center}.dictionary-dropzone.dragover{border-color:var(--accent-primary);background:var(--accent-subtle)}.dropzone-placeholder{color:var(--text-dimmed)}.dropzone-placeholder svg{opacity:.5;margin-bottom:var(--space-sm)}.dropzone-placeholder p{margin:var(--space-xs) 0}.dropzone-placeholder .hint{font-size:var(--font-size-xs);color:var(--text-dimmed)}.selected-dictionary{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-radius:var(--radius-sm)}.selected-dictionary .dict-icon{flex-shrink:0}.selected-dictionary .dict-info{flex:1;min-width:0}.selected-dictionary .dict-name{font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-dictionary .dict-type{font-size:var(--font-size-xs);color:var(--text-dimmed)}.dict-remove-btn{flex-shrink:0;background:transparent;border:none;color:var(--text-dimmed);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition-fast)}.dict-remove-btn:hover{background:var(--hover-1);color:var(--danger)}.ttable-column-preview{background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-md)}.preview-note{color:var(--text-dimmed);font-size:var(--font-size-small);font-style:italic}.ttable-header{flex-shrink:0;background:var(--surface-2);border-bottom:1px solid var(--border-1);overflow-x:auto;overflow-y:hidden}.ttable-header::-webkit-scrollbar{display:none}.ttable-header-row{display:flex;min-width:max-content}.ttable-header-cell{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-right:1px solid var(--border-1);flex-shrink:0;min-width:80px}.ttable-checkbox-cell{width:32px;min-width:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border-1)}.ttable-rownum-cell{width:46px;min-width:46px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border-1);font-size:var(--font-size-small);color:var(--text-tertiary);background:var(--surface-2);cursor:default;-webkit-user-select:none;user-select:none}.ttable-rownum-header{font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.ttable-row:hover .ttable-rownum-cell{background:var(--hover-1)}.ttable-row.selected .ttable-rownum-cell{background:var(--accent-subtle)}.column-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-type-badge{display:none}.column-sort-btn{background:transparent;border:none;cursor:pointer;padding:2px;color:var(--text-dimmed);border-radius:var(--radius-sm);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.column-sort-btn:hover{background:var(--hover-1);color:var(--text-primary)}.column-sort-btn[data-direction=asc],.column-sort-btn[data-direction=desc]{color:var(--accent-primary)}.column-sort-btn[data-direction=desc] svg{transform:rotate(180deg)}.ttable-body{flex:1;min-height:0;overflow:auto}.ttable-row{display:flex;min-width:max-content;height:32px;border-bottom:1px solid var(--border-1);transition:background var(--transition-fast)}.ttable-row:hover{background:var(--hover-1)}.ttable-row.selected{background:var(--accent-subtle)}.ttable-row.selected:hover{background:var(--accent-subtle-hover)}.ttable-row--placeholder{opacity:.4;cursor:pointer}.ttable-row--placeholder:hover{opacity:.6;background:var(--hover-1)}.ttable-cell{display:flex;align-items:center;padding:0 var(--space-sm);font-size:var(--font-size-small);border-right:1px solid var(--border-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:80px}.ttable-cell[contenteditable=true]{cursor:text;outline:none}.ttable-cell:focus{outline:none;background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--accent-primary)}.ttable-cell--measure{text-align:right;justify-content:flex-end;font-family:var(--font-family-mono)}.ttable-cell--dimension{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);overflow:hidden}.ttable-cell--dimension:hover{background:var(--hover-2)}.ttable-dimension-chevron{flex-shrink:0;display:flex;align-items:center;color:var(--text-dimmed);opacity:.4;transition:opacity var(--transition-fast)}.ttable-cell--dimension:hover .ttable-dimension-chevron{opacity:1}.ttable-cell--dimension.ttable-cell--picker-open{background:var(--accent-subtle);box-shadow:inset 0 0 0 1px var(--accent-primary)}.ttable-cell--dimension.ttable-cell--picker-open .ttable-dimension-chevron{opacity:1;color:var(--accent-primary)}.ttable-dimension-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttable-cell--boolean{justify-content:center}.ttable-cell--boolean input[type=checkbox]{cursor:pointer}.ttable-cell--date{font-family:var(--font-family-mono)}.row-checkbox{cursor:pointer}.row-count{font-size:var(--font-size-small);color:var(--text-dimmed)}.select-all-checkbox{cursor:pointer}.column-element-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-dimmed);margin-right:var(--space-xs)}.column-element-icon svg{width:14px;height:14px}.table-stats-inline{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-small);color:var(--text-dimmed)}.table-stats-inline .stat-item{white-space:nowrap}.ttable-editor .design-mode-btn{height:24px;padding:0 var(--space-sm);white-space:nowrap;display:flex;align-items:center;gap:var(--space-xs)}.ttable-editor .design-mode-btn:hover:not(.active){background:var(--status-error);border-color:var(--status-error);color:var(--text-bright);box-shadow:none}.ttable-editor .design-mode-btn:hover:not(.active) svg{fill:var(--text-bright)}.ttable-editor .design-mode-btn:active:not(.active){background:var(--status-error-active);transform:translateY(1px)}.ttable-editor .design-mode-btn.active{background:var(--interactive-primary);color:#fff;border-color:var(--interactive-primary)}.ttable-editor .design-mode-btn.active svg{fill:#fff}.ttable-editor .toolbar-btn-delete{background:transparent;border:none;padding:var(--space-xs);border-radius:var(--radius-sm);cursor:pointer;color:var(--danger);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.ttable-editor .toolbar-btn-delete:hover{background:var(--danger);color:var(--text-on-accent)}.ttable-editor .table-stats{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-1)}.ttable-editor .table-stats .stat-item{display:flex;flex-direction:column;gap:var(--space-xs)}.ttable-editor .table-stats .stat-label{font-size:var(--font-size-xs);color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.5px}.ttable-editor .table-stats .stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ttable-editor .format-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0}.ttable-editor .format-row label{font-size:var(--font-size-small);color:var(--text-secondary)}.ttable-editor .format-select,.ttable-editor .format-input{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);color:var(--text-primary);min-width:140px}.ttable-editor .format-select:focus,.ttable-editor .format-input:focus{outline:none;border-color:var(--accent-primary)}.ttable-editor .format-input{width:80px;min-width:80px}.ttable-editor .format-value{font-size:var(--font-size-small);color:var(--text-dimmed)}.slicer-picker-container{display:flex;align-items:center;gap:var(--space-xs)}.slicer-label{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap}.slicer-picker-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;min-width:120px;max-width:220px;transition:all var(--transition-fast)}.slicer-picker-btn:hover{background:var(--hover-1);border-color:var(--border-2)}.slicer-selected-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.slicer-chevron{flex-shrink:0;color:var(--text-dimmed)}.ttable-group-header{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm);height:32px;background:var(--surface-3);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);cursor:pointer;border-bottom:1px solid var(--border-1);min-width:max-content;transition:background var(--transition-fast)}.ttable-group-header:hover{background:var(--surface-4)}.ttable-group-header .group-chevron{flex-shrink:0;transition:transform var(--transition-fast)}.ttable-group-header.collapsed .group-chevron{transform:rotate(-90deg)}.ttable-group-header .group-name{flex:1}.ttable-group-header .group-count{color:var(--text-tertiary);font-weight:var(--font-weight-normal)}#slicerDictSection .empty-dictionaries.slicer-empty{border:2px dashed var(--border-2);border-radius:var(--radius-sm);padding:var(--space-md);text-align:center;opacity:.7}#slicerDictSection .empty-dictionaries.slicer-empty p{margin:var(--space-xs) 0;font-size:var(--font-size-small);color:var(--text-dimmed)}.slicer-dict-item{border-left:3px solid var(--accent-secondary, var(--accent-primary))}.element-picker{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000040;z-index:var(--z-index-dropdown);max-height:400px;max-width:min(350px,calc(100vw - 20px));display:flex;flex-direction:column;overflow:hidden}.element-picker__header{display:flex;gap:var(--space-sm);padding:var(--space-sm);border-bottom:1px solid var(--border-subtle);background:var(--surface-2);flex-shrink:0}.element-picker__search-container{position:relative;flex:1}.element-picker__search{width:100%;padding:var(--space-xs) var(--space-sm);padding-right:28px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-sans)}.element-picker__search:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-alpha)}.element-picker__search::placeholder{color:var(--text-tertiary)}.element-picker__search-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-tertiary);pointer-events:none}.element-picker__subset-select{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-sans);min-width:120px;cursor:pointer}.element-picker__subset-select:focus{outline:none;border-color:var(--accent-primary)}.element-picker__tree{flex:1;overflow-y:auto;overflow-x:hidden;min-height:100px;max-height:320px;position:relative}.element-picker__sizer{pointer-events:none;width:100%}.element-picker__content{position:absolute;top:0;left:0;right:0;will-change:transform}.element-picker__node{display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);cursor:pointer;color:var(--text-primary);font-size:var(--font-size-small);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none;height:24px;box-sizing:border-box}.element-picker__node:hover{background:var(--hover-1)}.element-picker__node--selected,.element-picker__node--selected:hover{background:var(--accent-primary-alpha)}.element-picker__node--focused{background:var(--hover-1);outline:1px solid var(--accent-primary);outline-offset:-1px}.element-picker__node--excluded{opacity:.4;cursor:not-allowed}.element-picker__node--excluded:hover{background:transparent}.element-picker__chevron{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),transform var(--transition-fast)}.element-picker__chevron svg{transition:transform var(--transition-fast)}.element-picker__node--expanded>.element-picker__chevron svg{transform:rotate(90deg)}.element-picker__chevron:hover{background:var(--hover-2)}.element-picker__chevron-placeholder{width:16px;flex-shrink:0}.element-picker__checkbox{margin:0 var(--space-xs) 0 0;cursor:pointer}.element-picker__checkbox:disabled{cursor:not-allowed}.element-picker__icon{width:16px;height:16px;flex-shrink:0;margin-right:var(--space-xs)}.element-picker__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.element-picker__label mark{background:var(--accent-warning);color:var(--text-primary);padding:0 2px;border-radius:2px}.element-picker__none-option{color:var(--text-secondary);font-style:italic;border-bottom:1px solid var(--border-subtle)}.element-picker__empty{padding:var(--space-lg);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-small)}.element-picker__footer{display:flex;justify-content:flex-end;padding:var(--space-sm);border-top:1px solid var(--border-subtle);background:var(--surface-2);flex-shrink:0}.element-picker__save-btn{padding:var(--space-xs) var(--space-md);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;font-size:var(--font-size-small);cursor:pointer;transition:background var(--transition-fast)}.element-picker__save-btn:hover{background:var(--accent-primary-hover)}.element-picker__tree::-webkit-scrollbar{width:8px}.element-picker__tree::-webkit-scrollbar-track{background:var(--surface-2)}.element-picker__tree::-webkit-scrollbar-thumb{background:var(--border-1);border-radius:4px}.element-picker__tree::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.element-picker__footer{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--border-1);background:var(--surface-2);display:flex;justify-content:flex-end;gap:var(--space-xs)}.element-picker__confirm-btn,.element-picker__save-btn{padding:var(--space-xs) var(--space-sm);background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast)}.element-picker__confirm-btn:hover,.element-picker__save-btn:hover{background:var(--accent-primary-hover)}.link-editor{height:100%;display:flex;flex-direction:column;background:var(--surface-1)}.link-editor-content{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.link-editor-main{flex:1;display:flex;flex-direction:row;justify-content:center;gap:0;padding:var(--space-md);overflow:hidden;min-height:0}.link-history-drawer{width:0;min-width:0;overflow:hidden;background:var(--surface-2);display:flex;flex-direction:column;transition:width .2s ease,min-width .2s ease;flex-shrink:0}.link-history-drawer.open{width:250px;min-width:250px;border-right:1px solid var(--border-1)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-bottom:1px solid var(--border-1);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex-shrink:0}.drawer-header-actions{display:flex;align-items:center;gap:var(--space-xs)}.drawer-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.drawer-action-btn:hover{background:var(--hover-2);color:var(--status-error)}.drawer-close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.drawer-close-btn:hover{background:var(--hover-2);color:var(--text-primary)}.drawer-close-btn svg{width:16px;height:16px;fill:currentColor}.drawer-content{flex:1;overflow-y:auto;padding:var(--space-sm)}.history-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);background:var(--surface-1);border:1px solid var(--border-1)}.history-item--success{border-left:3px solid var(--status-success)}.history-item--error{border-left:3px solid var(--status-error)}.history-icon{font-size:14px;font-weight:var(--font-weight-bold);flex-shrink:0;width:18px;text-align:center}.history-item--success .history-icon{color:var(--status-success)}.history-item--error .history-icon{color:var(--status-error)}.history-details{flex:1;display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-small);min-width:0}.history-time{color:var(--text-primary);font-weight:var(--font-weight-medium)}.history-user{color:var(--text-dimmed);font-style:italic}.history-duration,.history-cells{color:var(--text-secondary)}.history-error{color:var(--status-error);font-size:var(--font-size-xs);word-break:break-word}.empty-history{padding:var(--space-xl);text-align:center;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-small)}.drawer-footer{padding:var(--space-xs) var(--space-md);background:var(--surface-2);border-top:1px solid var(--border-1);flex-shrink:0}.history-count{font-size:var(--font-size-xs);color:var(--text-dimmed)}.link-column{display:flex;flex-direction:column;background:transparent;overflow:hidden;min-height:0}.source-column,.target-column{width:280px;min-width:250px;max-width:350px;flex-shrink:0}.middle-column{width:380px;min-width:320px;max-width:480px;flex-shrink:0;margin:0 var(--space-md)}.link-table-section,.link-dict-mapping-section{display:flex;flex-direction:column;flex:0 0 auto;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md)}.link-elements-section,.link-element-mapping-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md)}.link-section-divider{height:16px;background:transparent;flex-shrink:0}.link-panel-toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;min-height:28px}.panel-toolbar-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.toolbar-spacer{flex:1}.element-mapping-table{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.element-mapping-header{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.element-mapping-header .mapping-col{font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase}.element-mapping-body{flex:1;overflow-y:auto;background:var(--surface-1)}.element-mapping-row{display:flex;border-bottom:1px solid var(--border-1);cursor:pointer;transition:background var(--transition-fast)}.element-mapping-row:hover{background:var(--hover-1)}.element-mapping-row.selected{background:var(--interactive-surface)}.mapping-col{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small)}.mapping-col.source-col,.mapping-col.target-col{flex:1;min-width:0}.mapping-col.arrow-col{width:24px;text-align:center;color:var(--text-dimmed);flex-shrink:0}.mapped-element{display:inline-block;padding:1px 4px;background:var(--surface-3);border-radius:var(--radius-sm);margin:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.element-mapping-empty{padding:var(--space-lg);text-align:center;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-small)}.element-mapping-info{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--accent-primary-subtle);border-bottom:1px solid var(--border-1);flex-shrink:0}.mapping-info-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--accent-primary)}.mapping-info-count{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-2);padding:2px 6px;border-radius:var(--radius-sm)}.element-mapping-row.auto-mapping{background:var(--surface-1);opacity:.9}.element-mapping-row.auto-mapping .arrow-col{color:var(--accent-primary);font-weight:var(--font-weight-semibold)}.element-mapping-more{padding:var(--space-sm) var(--space-md);text-align:center;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-xs);background:var(--surface-2);border-top:1px solid var(--border-1)}.column-header{display:flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-bottom:1px solid var(--border-1);flex-shrink:0}.column-title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.model-selector,.table-selector{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-1);border-bottom:1px solid var(--border-1);flex-shrink:0}.model-selector label,.table-selector label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);flex-shrink:0;min-width:45px}.model-selector select,.table-selector select{flex:1;height:26px;padding:0 var(--space-sm);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;transition:border-color var(--transition-fast)}.model-selector select:hover,.table-selector select:hover{border-color:var(--border-2)}.model-selector select:focus,.table-selector select:focus{outline:none;border-color:var(--interactive-primary)}.model-selector select:disabled,.table-selector select:disabled{opacity:.6;cursor:not-allowed}.model-display{flex:1;font-size:var(--font-size-small);color:var(--text-primary);padding:4px var(--space-sm);background:var(--surface-3);border-radius:var(--radius-sm)}.dictionaries-list{height:224px;overflow-y:auto;overflow-x:hidden;padding:var(--space-xs);flex-shrink:0}.dict-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);min-height:28px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none;position:relative}.dict-item:hover{background:var(--hover-1)}.dict-item.selected{background:var(--interactive-surface)}.dict-item.mapped:after{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--accent-primary);border-radius:2px}.dict-icon-container{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.dict-icon-container svg{width:18px;height:18px}.dict-name{flex:1;min-width:0;font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dict-mapped-indicator{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;flex-shrink:0}.dict-role-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-sm);font-size:9px;font-weight:600;flex-shrink:0;line-height:1}.dict-role-measures{background:var(--accent-primary);color:var(--text-on-accent, #fff)}.dict-role-slicer,.dict-role-picklist{background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border-subtle)}.dict-role-virtual{background:var(--surface-3);color:var(--accent-primary);border:1px solid var(--accent-primary)}.empty-dictionaries{padding:var(--space-lg);text-align:center;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-small)}.filter-buttons{display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);flex-shrink:0;flex-wrap:wrap}.filter-btn{padding:2px var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-btn:hover{background:var(--hover-1);border-color:var(--border-2);color:var(--text-primary)}.filter-btn.active{background:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--text-bright)}.elements-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--surface-1)}.elements-search{padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border-bottom:1px solid var(--border-1);flex-shrink:0}.elements-search input{width:100%;height:24px;padding:0 var(--space-sm);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);transition:border-color var(--transition-fast)}.elements-search input:focus{outline:none;border-color:var(--interactive-primary)}.elements-search input::placeholder{color:var(--text-dimmed)}.elements-list{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.element-row{display:flex;align-items:center;height:28px;padding:0 var(--space-sm);border-bottom:1px solid var(--border-1);cursor:default;transition:background var(--transition-fast);gap:var(--space-sm)}.element-row:hover{background:var(--hover-1)}.element-row.mapped{background:#0078d40d}.element-row.selected{background:#3b82f626;border-left:3px solid var(--accent-primary);padding-left:5px}.element-row.highlighted{background:#0078d41f;border-left:2px solid var(--accent-primary);padding-left:6px}.element-row.selectable{cursor:pointer}.element-row.selectable:hover{background:var(--hover-2)}.element-icon{display:flex;align-items:center;justify-content:center;width:16px;flex-shrink:0;color:var(--text-secondary)}.element-code{width:80px;min-width:60px;font-size:var(--font-size-small);font-family:var(--font-family-mono);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.element-name{flex:1;font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mapped-indicator{color:var(--accent-primary);font-size:12px;flex-shrink:0}.empty-elements{padding:var(--space-lg);text-align:center;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-small)}.mapping-dropdown{display:flex;align-items:center;gap:var(--space-xs)}.mapping-dropdown label{font-size:var(--font-size-small);color:var(--text-secondary)}.mapping-dropdown select{height:24px;padding:0 var(--space-xs);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer}.mapping-dropdown select:disabled{opacity:.5;cursor:not-allowed}.mapping-svg-container{height:285px;position:relative;overflow:hidden;flex-shrink:0}.mapping-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.mapping-hint{text-align:center;font-size:var(--font-size-xs);color:var(--text-dimmed);font-style:italic}.ufilter-columns{display:flex;flex:1;min-height:0}.ufilter-col{flex:1;display:flex;flex-direction:column;min-width:0;overflow-y:auto}.ufilter-divider{width:1px;background:var(--border-1);flex-shrink:0}.ufilter-item{display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);min-height:36px;border-bottom:1px solid var(--border-1);cursor:pointer;transition:background var(--transition-fast)}.ufilter-item:hover{background:var(--hover-1)}.ufilter-item.selected{background:var(--interactive-surface)}.ufilter-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small)}.ufilter-item-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--text-dimmed);cursor:pointer;border-radius:var(--radius-sm);font-size:14px;line-height:1;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.ufilter-item:hover .ufilter-item-remove{opacity:1}.ufilter-item-remove:hover{color:var(--status-error)}.ufilter-empty{padding:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-dimmed);font-style:italic;text-align:center}.unmatched-filter-drop-zone{padding:var(--space-xs) var(--space-sm);border:1px dashed var(--border-2);border-radius:var(--radius-sm);margin:var(--space-xs);text-align:center;font-size:var(--font-size-xs);color:var(--text-dimmed);font-style:italic;transition:all var(--transition-fast)}.unmatched-filter-drop-zone.drag-over{border-color:var(--accent-primary);background:var(--accent-primary-subtle);color:var(--accent-primary)}.element-row[draggable=true]:not(.selectable){cursor:grab}.element-row[draggable=true]:not(.selectable):active{cursor:grabbing}.mapping-line-group{cursor:pointer}.mapping-line-group:hover .mapping-line{stroke-width:3}.mapping-line-group.selected .mapping-line{stroke-width:3;filter:drop-shadow(0 0 4px currentColor)}.mapping-line{fill:none;stroke-width:2;transition:stroke-width .15s ease}.mapping-line--manual{stroke:var(--accent-primary)}.mapping-line--autobyid{stroke:#06b6d4}.mapping-line--bycode{stroke:#10b981}.mapping-line--byname{stroke:#8b5cf6}.mapping-line--bycodesubstring{stroke:#f59e0b}.mapping-line--bynamesubstring{stroke:#ec4899}.mapping-icon-bg{fill:var(--surface-1);stroke:var(--border-1);stroke-width:1}.mapping-line-group:hover .mapping-icon-bg{fill:var(--surface-2)}.mapping-icon-text{font-size:11px;font-weight:var(--font-weight-semibold);fill:var(--text-primary);font-family:var(--font-family-sans)}.link-status-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);background:var(--surface-2);border-top:1px solid var(--border-1);flex-shrink:0;min-height:28px}.status-badge{display:inline-flex;align-items:center;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge--valid{background:var(--status-success-bg);color:var(--status-success)}.status-badge--invalid{background:var(--status-warning-bg);color:var(--status-warning)}.status-info{display:flex;gap:var(--space-md);font-size:var(--font-size-small);color:var(--text-secondary)}.status-execution{margin-left:auto;font-size:var(--font-size-small);color:var(--text-dimmed)}.run-progress-container{width:100px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;margin-left:var(--space-sm);transition:opacity var(--transition-fast)}.run-progress-container.active{box-shadow:0 0 8px #0078d44d}.run-progress{height:100%;width:0%;background:var(--accent-primary);border-radius:2px;transition:width .2s ease}.run-progress.running{background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-hover) 50%,var(--accent-primary) 100%);background-size:200% 100%;animation:progress-shimmer 1.5s infinite}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toolbar-toggle{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;font-size:var(--font-size-small);color:var(--text-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap}.toolbar-toggle .toggle-slider{border:1px solid var(--border-2)}.toggle-label{font-size:var(--font-size-small)}.toolbar-dropdown{display:flex;align-items:center;gap:var(--space-sm)}.toolbar-dropdown label{font-size:var(--font-size-small);color:var(--text-secondary);padding-left:var(--space-sm)}.toolbar-dropdown select{height:24px;min-width:140px;padding:0 var(--space-md);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer}.toolbar-dropdown select:focus{outline:none;border-color:var(--interactive-primary)}.dictionaries-list::-webkit-scrollbar,.elements-list::-webkit-scrollbar,.drawer-content::-webkit-scrollbar,.element-mapping-body::-webkit-scrollbar{width:6px}.dictionaries-list::-webkit-scrollbar-track,.elements-list::-webkit-scrollbar-track,.drawer-content::-webkit-scrollbar-track,.element-mapping-body::-webkit-scrollbar-track{background:transparent}.dictionaries-list::-webkit-scrollbar-thumb,.elements-list::-webkit-scrollbar-thumb,.drawer-content::-webkit-scrollbar-thumb,.element-mapping-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:3px}.dictionaries-list::-webkit-scrollbar-thumb:hover,.elements-list::-webkit-scrollbar-thumb:hover,.drawer-content::-webkit-scrollbar-thumb:hover,.element-mapping-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}@media(max-width:1200px){.source-column,.target-column{width:240px;min-width:220px}.middle-column{width:320px;min-width:280px;margin:0 var(--space-sm)}}@media(max-width:1000px){.source-column,.target-column{width:200px;min-width:180px}.middle-column{width:280px;min-width:240px;margin:0 var(--space-xs)}.link-history-drawer.open{width:200px;min-width:200px}}@media(max-width:800px){.link-editor-main{flex-direction:column;align-items:stretch}.source-column,.target-column,.middle-column{width:100%;max-width:none;min-width:0}.middle-column{margin:var(--space-sm) 0;min-height:150px}}.dict-link-stbl-wrapper{flex:1;margin-left:var(--space-xs);min-width:0}.dict-link-stbl-wrapper .searchable-select__trigger{height:22px;font-size:var(--font-size-tiny);width:100%}.dict-link-mode .link-table-section,.dict-link-mode .link-dict-mapping-section{height:284px}.dict-link-mode .dictionaries-list,.dict-link-mode .mapping-svg-container{flex:1;height:auto;min-height:0}.dict-link-mode .dict-col-item{cursor:pointer}.dict-link-mode .dict-col-item.selected{background:var(--surface-active);border-left:2px solid var(--accent-primary)}.dict-link-mode .dict-col-item.selected .dict-name{color:var(--accent-primary)}.dict-link-mode .dict-field-item{cursor:pointer}.dict-link-mode .dict-field-item:hover{background:var(--surface-hover)}.dict-link-mode .dict-role-required{background:var(--accent-primary);opacity:.85;font-size:9px}.dict-link-stats-section{padding:var(--space-sm)}.dict-link-run-stats{display:flex;flex-direction:column;gap:2px}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:2px var(--space-xs);font-size:var(--font-size-tiny);border-radius:var(--radius-sm)}.stat-row:hover{background:var(--surface-hover)}.stat-label{color:var(--text-tertiary)}.stat-value{color:var(--text-secondary);font-variant-numeric:tabular-nums}.stat-label.stat-created{color:var(--color-success, #10b981)}.stat-label.stat-updated{color:var(--accent-primary)}.stat-label.stat-deleted{color:var(--color-error, #ef4444)}.dict-link-mode .link-history-drawer{display:none}.dict-link-mode .element-row.not-in-source{background:color-mix(in srgb,var(--color-error, #ef4444) 10%,transparent);color:var(--color-error, #ef4444)}.dict-link-mode .element-row.not-in-source .element-code,.dict-link-mode .element-row.not-in-source .element-name{color:var(--color-error, #ef4444)}.update-list-editor{height:100%;display:flex;flex-direction:column;background:var(--surface-1)}.update-list-content{flex:1;display:flex;flex-direction:row;gap:var(--space-md);padding:var(--space-md);overflow:hidden;min-height:0}.update-list-column{flex:1;display:flex;flex-direction:column;min-width:250px;max-width:600px;overflow:hidden;min-height:0}.update-list-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md)}.update-list-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-bottom:1px solid var(--border-1);flex-shrink:0}.update-list-panel-header .panel-title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.update-list-panel-header .panel-count{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-1);padding:1px 6px;border-radius:var(--radius-sm);min-width:18px;text-align:center}.update-list-links{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;background:var(--surface-1)}.update-list-links.drag-over{background:var(--accent-primary-subtle)}.ul-link-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);min-height:32px;border-bottom:1px solid var(--border-1);cursor:pointer;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.ul-link-row:hover{background:var(--hover-1)}.ul-link-row.included{background:#0078d40d}.ul-link-row.included:hover{background:#0078d41a}.ul-link-row.dragging{opacity:.4}.ul-link-row.drag-over-top{border-top:2px solid var(--accent-primary)}.ul-link-row.drag-over-bottom{border-bottom:2px solid var(--accent-primary)}.ul-link-order{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);background:var(--surface-3);border-radius:var(--radius-sm);flex-shrink:0}.ul-link-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ul-link-name{font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ul-link-indicator{flex-shrink:0;font-size:var(--font-size-small);color:var(--text-dimmed);width:20px;text-align:center}.ul-link-row.included .ul-link-indicator{color:var(--accent-primary);font-weight:var(--font-weight-bold)}.drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--text-dimmed);cursor:grab;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.drag-handle:hover{color:var(--text-secondary);background:var(--hover-2)}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:16px;height:16px}.run-status{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap}.update-list-links .empty-message{padding:var(--space-xl);text-align:center;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-small)}.editor-error{padding:var(--space-xl);text-align:center;color:var(--status-error);font-size:var(--font-size-small)}.update-list-links::-webkit-scrollbar{width:6px}.update-list-links::-webkit-scrollbar-track{background:transparent}.update-list-links::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:3px}.update-list-links::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}@media(max-width:800px){.update-list-content{flex-direction:column}.update-list-column{max-width:none;min-width:0}}.hidden{display:none!important}.time-settings-container{display:flex;gap:var(--space-lg);padding:var(--space-sm);height:100%;overflow:auto;position:relative}.time-settings-section{flex:1;min-width:200px;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.time-settings-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.time-settings-section-icon{display:flex;align-items:center;color:var(--text-tertiary)}.time-settings-section-icon svg{width:14px;height:14px}.time-settings-section-icon .dictionary-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.time-settings-section-icon .dictionary-icon-base{display:flex}.time-settings-section-icon .dictionary-icon-base svg{width:16px;height:16px}.time-settings-section-icon .dictionary-icon-clock-overlay{position:absolute;bottom:-2px;right:-4px;display:flex;background:var(--surface-2);border-radius:50%;padding:1px}.time-settings-section-icon .dictionary-icon-clock-overlay svg{width:10px;height:10px;color:var(--interactive-primary)}.time-settings-section-title{flex:1}.time-settings-element-name{font-weight:400;text-transform:none;color:var(--text-primary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-settings-section-content{flex:1;overflow-y:auto;padding:var(--space-sm)}.time-form-group{margin-bottom:var(--space-md)}.time-form-group:last-child{margin-bottom:0}.time-form-group.disabled{opacity:.5;pointer-events:none}.time-form-hint{display:block;margin-top:var(--space-xs);font-size:var(--font-size-small);color:var(--text-tertiary)}.time-form-label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.time-form-value{font-size:var(--font-size-normal);color:var(--text-primary);padding:var(--space-xs) 0}.time-form-value.empty{color:var(--text-tertiary);font-style:italic}.time-form-divider{height:1px;background:var(--border-1);margin:var(--space-md) 0}.time-period-status .time-checkbox-group{display:flex;flex-direction:column;gap:var(--space-xs)}.time-checkbox-label{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.time-checkbox-label:hover{background:var(--surface-hover);border-color:var(--border-2)}.time-checkbox-label:has(.time-checkbox:checked){background:var(--interactive-primary-subtle);border-color:var(--interactive-primary)}.time-checkbox{flex-shrink:0;width:14px;height:14px;cursor:pointer}.time-checkbox-text{font-size:var(--font-size-small);color:var(--text-primary)}.time-form-control{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-normal);font-family:var(--font-family-sans)}.time-form-control:focus{outline:none;border-color:var(--interactive-primary)}.time-form-control:disabled{background:var(--surface-2);color:var(--text-secondary);cursor:not-allowed}.time-form-row{display:flex;gap:var(--space-md)}.time-form-row .time-form-group{flex:1}.btn-wizard-trigger-small{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:auto;padding:0;background:var(--interactive-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-wizard-trigger-small:hover{background:var(--interactive-primary-hover);transform:scale(1.05)}.btn-wizard-trigger-small:active{background:var(--interactive-primary-active);transform:scale(.95)}.btn-wizard-trigger-small svg{width:14px;height:14px}.btn-wizard-trigger{display:flex;align-items:center;gap:var(--space-xs);margin-left:auto;padding:var(--space-xs) var(--space-sm);background:transparent;color:var(--text-secondary);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);text-transform:none;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-wizard-trigger:hover{background:var(--interactive-primary);border-color:var(--interactive-primary);color:#fff}.btn-wizard-trigger:active{background:var(--interactive-primary-active);border-color:var(--interactive-primary-active)}.btn-wizard-trigger svg{width:14px;height:14px}.btn-wizard-trigger span{white-space:nowrap}.time-wizard-panel{position:absolute;inset:0;background:var(--surface-1);display:flex;flex-direction:column;z-index:var(--z-index-dropdown);transform:translateY(100%);opacity:0;transition:transform var(--transition-medium),opacity var(--transition-medium)}.time-wizard-panel.visible{transform:translateY(0);opacity:1}.time-wizard-panel.hidden{pointer-events:none}.time-wizard-header{display:flex;align-items:center;background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.time-wizard-tabs{display:flex;flex:1}.wizard-tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.wizard-tab:hover:not(.disabled){color:var(--text-primary);background:var(--surface-hover)}.wizard-tab.active{color:var(--interactive-primary);border-bottom-color:var(--interactive-primary)}.wizard-tab.completed{color:var(--status-success)}.wizard-tab.completed:after{content:" ✓";font-size:10px}.wizard-tab.disabled{color:var(--text-disabled);cursor:not-allowed}.wizard-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:var(--space-xs);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.wizard-close-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.wizard-close-btn svg{width:16px;height:16px}.time-wizard-content{flex:1;overflow-y:auto;padding:var(--space-md)}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-step-title{margin:0 0 var(--space-md) 0;font-size:14px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.wizard-step-description{margin:0 0 var(--space-md) 0;font-size:var(--font-size-normal);color:var(--text-secondary)}.wizard-radio-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.wizard-radio-option{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.wizard-radio-option:hover{background:var(--surface-hover);border-color:var(--border-2)}.wizard-radio-option.selected{background:var(--interactive-primary-subtle);border-color:var(--interactive-primary)}.wizard-radio-option input[type=radio]{margin-top:2px;flex-shrink:0}.wizard-radio-content{flex:1}.wizard-radio-label{display:block;font-size:var(--font-size-normal);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:2px}.wizard-radio-description{font-size:var(--font-size-small);color:var(--text-secondary)}.wizard-checkbox-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.wizard-checkbox-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.wizard-checkbox-option:hover{background:var(--surface-hover);border-color:var(--border-2)}.wizard-checkbox-option.selected{background:var(--interactive-primary-subtle);border-color:var(--interactive-primary)}.wizard-checkbox-option input[type=checkbox]{flex-shrink:0}.wizard-checkbox-label{font-size:var(--font-size-normal);color:var(--text-primary)}.wizard-preview{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-radius:var(--radius-sm);margin-top:var(--space-md)}.wizard-preview-icon{color:var(--interactive-primary)}.wizard-preview-icon svg{width:16px;height:16px}.wizard-preview-text{font-size:var(--font-size-small);color:var(--text-primary)}.wizard-preview-count{font-weight:var(--font-weight-semibold);color:var(--interactive-primary)}.wizard-summary{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md)}.wizard-summary-title{font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.wizard-summary-list{list-style:none;margin:0;padding:0}.wizard-summary-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:var(--font-size-small);color:var(--text-secondary)}.wizard-summary-item-count{font-weight:var(--font-weight-semibold);color:var(--text-primary);min-width:24px}.wizard-summary-item-type{color:var(--text-primary)}.wizard-summary-total{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-sm);margin-top:var(--space-sm);border-top:1px solid var(--border-1);font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold)}.wizard-summary-total-label{color:var(--text-secondary)}.wizard-summary-total-count{color:var(--interactive-primary)}.time-wizard-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-top:1px solid var(--border-1);flex-shrink:0}.wizard-btn{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-normal);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.wizard-btn:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-secondary{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border-1)}.wizard-btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-2)}.wizard-btn-primary{background:var(--interactive-primary);color:#fff;border:1px solid var(--interactive-primary)}.wizard-btn-primary:hover:not(:disabled){background:var(--interactive-primary-hover);border-color:var(--interactive-primary-hover)}.wizard-btn-success{background:var(--status-success);color:#fff;border:1px solid var(--status-success)}.wizard-btn-success:hover:not(:disabled){background:var(--status-success-hover, #218838)}.time-settings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl);color:var(--text-tertiary);text-align:center}.time-settings-empty-icon{opacity:.5}.time-settings-empty-icon svg{width:48px;height:48px}.time-settings-empty-text{font-size:var(--font-size-normal);font-style:italic}.time-form-control[type=month],.time-form-control[type=date]{padding:var(--space-xs) var(--space-sm)}.time-form-control[type=number]{-moz-appearance:textfield}.time-form-control[type=number]::-webkit-outer-spin-button,.time-form-control[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(max-width:600px){.time-settings-container{flex-direction:column}.time-settings-section{min-width:auto}}.wizard-445-option{margin-top:var(--space-md);padding-top:var(--space-sm)}.wizard-445-option.hidden{display:none}.wizard-divider{height:1px;background:var(--border-1);margin-bottom:var(--space-sm)}.wizard-445-checkbox{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.wizard-445-checkbox .wizard-checkbox-content{display:flex;flex-direction:column;gap:2px;padding-left:22px}.wizard-445-checkbox .wizard-checkbox-label{font-weight:var(--font-weight-medium)}.wizard-445-checkbox .wizard-checkbox-description{font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.4}.wizard-notice{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--status-warning-bg, rgba(255, 193, 7, .1));border:1px solid var(--status-warning, #ffc107);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small)}.wizard-notice svg{flex-shrink:0;color:var(--status-warning, #ffc107)}.contributions-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.contributions-design-container,.contributions-contribute-container{flex:1;overflow:auto}.contributions-title-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);flex-shrink:0}.contributions-title-row .explorer-title{padding:0}.contributions-title-row .grid-bar-btn{height:18px;padding:1px 5px}.contributions-title-row .grid-bar-btn svg{height:12px;width:12px}.contributions-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.contributions-search-wrapper{position:relative;display:flex;align-items:center}.contributions-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.contributions-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.contributions-search-input::placeholder{color:var(--text-dimmed)}.contributions-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.contributions-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.contributions-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.contributions-search-clear svg{width:12px;height:12px}#sidebar-contributions-content .tree-node[data-node-type=folder]{font-weight:var(--font-weight-medium)}#sidebar-contributions-content .tree-node[data-node-type=contribution]{font-weight:400}#sidebar-contributions-content .tree-node-badge{display:inline-flex;align-items:center;margin-left:var(--space-xs);padding:1px 6px;font-size:9px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.02em;border-radius:var(--radius-sm);line-height:1.4}#sidebar-contributions-content .badge-design{background:var(--surface-blue-subtle);color:var(--text-blue)}#sidebar-contributions-content .badge-production{background:var(--surface-green-subtle);color:var(--text-green)}#sidebar-contributions-content .badge-archived{background:var(--surface-3);color:var(--text-dimmed)}#sidebar-contributions-content .tree-node:hover:not(:has(.tree-node:hover))>.tree-actions{opacity:1}#sidebar-contributions-content .tree-node.drag-over{background-color:var(--accent-primary-light);outline:2px dashed var(--accent-primary);outline-offset:-2px}#sidebar-contributions-content .tree-node.dragging{opacity:.5}.contributions-sections{display:flex;flex-direction:column;overflow-y:auto;flex:1}.contributions-section{border-bottom:1px solid var(--border-1)}.contributions-section:last-child{border-bottom:none}.contributions-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--surface-3);transition:background-color var(--transition-fast)}.contributions-section-header:hover{background-color:var(--hover-3)}.contributions-section-chevron{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.contributions-section-chevron svg{width:16px;height:16px}.contributions-section-header.expanded .contributions-section-chevron{transform:rotate(90deg)}.contributions-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex:1}.contributions-section-count{font-size:var(--font-size-xs);color:var(--text-dimmed);padding:1px 6px;background-color:var(--surface-4);border-radius:var(--radius-md);min-width:18px;text-align:center}.contributions-section-add{width:20px;height:20px;padding:2px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);margin-left:var(--space-xs)}.contributions-section-add:hover{background:var(--accent-subtle);color:var(--accent-primary)}.contributions-section-add svg{width:16px;height:16px}.contributions-section-content{display:none;padding:0}.contributions-section-content.expanded{display:block}.contributions-empty{padding:var(--space-md);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-small);font-style:italic}.contribution-task-item{padding:var(--space-sm) var(--space-md);padding-left:calc(var(--space-md) + 16px + var(--space-xs));border-bottom:1px solid var(--border-1);cursor:pointer;transition:background-color var(--transition-fast)}.contribution-task-item:last-child{border-bottom:none}.contribution-task-item:hover{background-color:var(--hover-2)}.contribution-task-item__header{display:flex;align-items:center;gap:var(--space-sm)}.contribution-task-item__name{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contribution-task-item__due{font-size:var(--font-size-xs);color:var(--text-dimmed);flex-shrink:0}.contribution-task-item__sub{font-size:var(--font-size-xs);color:var(--text-dimmed);margin-top:1px;margin-bottom:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contributions-loading{padding:var(--space-lg);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-small)}.contribution-progress-bar{display:flex;height:4px;border-radius:2px;overflow:hidden;background-color:var(--surface-4)}.contribution-progress-bar__empty{font-size:10px;color:var(--text-dimmed);line-height:4px}.contribution-progress-bar__segment{height:100%;transition:width var(--transition-medium)}.contribution-progress-bar__segment--not-started{background-color:var(--surface-5)}.contribution-progress-bar__segment--in-progress{background-color:var(--status-warning)}.contribution-progress-bar__segment--submitted{background-color:var(--accent-primary)}.contribution-progress-bar__segment--approved{background-color:var(--status-success)}.contribution-progress-bar__segment--ready{background-color:var(--accent-primary)}.extensions-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.extensions-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.extensions-search-wrapper{position:relative;display:flex;align-items:center}.extensions-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.extensions-search-input{width:100%;padding:6px 8px 6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.extensions-search-input::placeholder{color:var(--text-dimmed)}.extensions-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.extensions-tag-filters{display:flex;flex-wrap:wrap;gap:4px;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.extensions-tag-filter{padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--surface-3);border:1px solid var(--border-1);border-radius:10px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.extensions-tag-filter:hover{background:var(--hover-3);border-color:var(--tag-color, var(--border-2))}.extensions-tag-filter.active{background:var(--tag-color, var(--accent-primary));border-color:var(--tag-color, var(--accent-primary));color:#fff}.extensions-sections{display:flex;flex-direction:column;overflow-y:auto;flex:1}.extensions-section{border-bottom:1px solid var(--border-1)}.extensions-section:last-child{border-bottom:none}.extensions-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--surface-3);transition:background-color var(--transition-fast)}.extensions-section-header:hover{background-color:var(--hover-3)}.extensions-section-chevron{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.extensions-section-chevron svg{width:16px;height:16px}.extensions-section-header.expanded .extensions-section-chevron{transform:rotate(90deg)}.extensions-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex:1}.extensions-section-count{font-size:var(--font-size-xs);color:var(--text-dimmed);padding:1px 6px;background-color:var(--surface-4);border-radius:var(--radius-md);min-width:18px;text-align:center}.extensions-section-content{display:none;padding:0}.extensions-section-content.expanded{display:block}.extensions-empty{padding:var(--space-lg);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-small);font-style:italic}.extension-card{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--border-1)}.extension-card:last-child{border-bottom:none}.extension-card:hover{background-color:var(--hover-2)}.extension-icon{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-radius:var(--radius-md);color:#fff;flex-shrink:0}.extension-icon svg{width:20px;height:20px}.extension-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.extension-header{display:flex;align-items:baseline;gap:var(--space-xs)}.extension-name{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.extension-version{font-size:10px;color:var(--text-dimmed);white-space:nowrap}.extension-summary{font-size:10px;color:var(--text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.extension-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:2px}.extension-author{display:flex;align-items:center;gap:4px}.extension-author-logo{width:14px;height:14px;min-width:14px;display:flex;align-items:center;justify-content:center;background:var(--surface-5);border-radius:2px;font-size:9px;font-weight:var(--font-weight-bold);color:var(--text-secondary)}.extension-author-name{font-size:10px;color:var(--text-dimmed);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.extension-stats{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.extension-rating{display:flex;align-items:center;gap:2px;font-size:10px;color:var(--text-dimmed)}.extension-rating svg{width:10px;height:10px;fill:#f59e0b}.extension-downloads{font-size:10px;color:var(--text-dimmed)}.extension-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.extension-tag{padding:1px 5px;font-size:9px;font-weight:var(--font-weight-medium);color:var(--tag-color, var(--text-secondary));background:color-mix(in srgb,var(--tag-color, var(--accent-primary)) 15%,transparent);border-radius:8px;white-space:nowrap}.extension-actions{display:flex;align-items:flex-start;padding-top:2px;flex-shrink:0}.extension-action-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:10px;font-weight:var(--font-weight-medium)}.extension-action-btn--install{padding:4px 10px;background:var(--accent-primary);color:#fff}.extension-action-btn--install:hover{background:var(--accent-hover)}.extension-action-btn--uninstall{width:24px;height:24px;padding:4px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-dimmed)}.extension-action-btn--uninstall:hover{background:var(--status-error-bg);color:var(--status-error)}.extension-action-btn--uninstall svg{width:14px;height:14px}.extension-coming-soon-badge{padding:3px 8px;font-size:9px;font-weight:var(--font-weight-semibold);color:var(--text-dimmed);background:var(--surface-4);border-radius:var(--radius-sm);white-space:nowrap}@media(max-width:280px){.extension-card{flex-direction:column}.extension-icon{width:28px;height:28px;min-width:28px}.extension-icon svg{width:16px;height:16px}.extension-meta{flex-direction:column;align-items:flex-start}.extension-stats{margin-top:2px}.extensions-tag-filters{gap:3px}.extensions-tag-filter{font-size:9px;padding:1px 6px}}.learning-centre-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.lc-topbar{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.lc-title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);padding:2px 0}.lc-ask-tutor-btn{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:6px var(--space-sm);background:color-mix(in srgb,var(--accent-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 28%,transparent);border-radius:var(--radius-md);color:color-mix(in srgb,var(--accent-primary) 80%,var(--text-primary));font-size:var(--font-size-small);cursor:pointer;text-align:left;box-shadow:0 0 8px color-mix(in srgb,var(--accent-primary) 12%,transparent);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.lc-ask-tutor-btn svg{flex-shrink:0;color:var(--accent-primary)}.lc-ask-tutor-btn:hover{background:color-mix(in srgb,var(--accent-primary) 14%,transparent);border-color:color-mix(in srgb,var(--accent-primary) 55%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent-primary) 22%,transparent);color:var(--accent-primary)}.lc-search-wrapper{position:relative;display:flex;align-items:center}.lc-search-icon{position:absolute;left:8px;width:13px;height:13px;color:var(--text-dimmed);pointer-events:none}.lc-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.lc-search-input::placeholder{color:var(--text-dimmed)}.lc-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.lc-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.lc-search-clear:hover{color:var(--text-primary);background:var(--hover-2)}.lc-sections{display:flex;flex-direction:column;overflow-y:auto;flex:1}.lc-section{border-bottom:1px solid var(--border-1)}.lc-section:last-child{border-bottom:none}.lc-section-header{display:flex;align-items:center;gap:var(--space-xs);padding:5px var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface-3);transition:background var(--transition-fast)}.lc-section-header:hover{background:var(--hover-3)}.lc-chevron{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-dimmed);transition:transform var(--transition-fast);flex-shrink:0}.lc-chevron svg{width:14px;height:14px}.lc-section-header.expanded .lc-chevron{transform:rotate(90deg)}.lc-section-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-dimmed);flex-shrink:0}.lc-section-icon svg{width:12px;height:12px}.lc-section-title{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);flex:1}.lc-section-count{font-size:var(--font-size-xs);color:var(--text-dimmed);padding:1px 5px;background:var(--surface-4);border-radius:var(--radius-md);min-width:20px;text-align:center}.lc-section-content{display:none}.lc-section-content.expanded{display:block}.lc-item{display:flex;align-items:center;gap:var(--space-xs);padding:5px var(--space-md) 5px calc(var(--space-md) + 14px + var(--space-xs));cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-1)}.lc-item:last-child{border-bottom:none}.lc-item:hover{background:var(--hover-2)}.lc-fav-btn{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;padding:0;background:none;border:none;cursor:pointer;color:var(--text-muted);opacity:0;transition:color var(--transition-fast),opacity var(--transition-fast)}.lc-item:hover .lc-fav-btn{opacity:1}.lc-fav-btn.active{opacity:1;color:var(--status-error, #E34234)}.lc-fav-btn.active svg{fill:var(--status-error, #E34234)}.lc-fav-btn:hover{color:var(--status-error, #E34234)}.lc-item-title{font-size:var(--font-size-small);color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-item-time{font-size:10px;color:var(--text-dimmed);white-space:nowrap;flex-shrink:0}.lc-item-external{color:var(--text-dimmed);display:flex;align-items:center;flex-shrink:0}.lc-empty{padding:var(--space-sm) var(--space-md);color:var(--text-dimmed);font-size:var(--font-size-small);font-style:italic}.lc-no-results{padding:var(--space-lg) var(--space-md);color:var(--text-dimmed);font-size:var(--font-size-small);text-align:center}.lc-search-group{border-bottom:1px solid var(--border-1)}.lc-search-group:last-child{border-bottom:none}.lc-search-group-label{padding:4px var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.4px;background:var(--surface-3);border-bottom:1px solid var(--border-1)}.lc-search-group .lc-item{padding-left:var(--space-md)}.icon-dropdown{position:relative;flex:1;min-width:60px}.icon-dropdown__selected{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background-color:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);cursor:pointer;outline:none;text-align:left;transition:all var(--transition-fast)}.icon-dropdown__selected:hover{background-color:var(--hover-3);border-color:var(--border-3)}.icon-dropdown__selected:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.icon-dropdown--open .icon-dropdown__selected{border-color:var(--accent-primary)}.icon-dropdown__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px}.icon-dropdown__icon svg{width:14px;height:14px}.icon-dropdown__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-dropdown__chevron{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;color:var(--text-secondary);transition:transform var(--transition-fast)}.icon-dropdown--open .icon-dropdown__chevron{transform:rotate(180deg)}.icon-dropdown__options{position:absolute;top:calc(100% + 4px);left:0;right:0;display:none;background-color:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:var(--z-index-dropdown);max-height:200px;overflow-y:auto}.icon-dropdown--open .icon-dropdown__options{display:block}.icon-dropdown__option{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);cursor:pointer;transition:background-color var(--transition-fast)}.icon-dropdown__option:hover{background-color:var(--hover-3)}.icon-dropdown__option--selected{background-color:var(--hover-2)}.icon-dropdown__option--selected:hover{background-color:var(--hover-3)}.icon-dropdown--dimmed{opacity:.6}.icon-dropdown--dimmed .icon-dropdown__icon,.icon-dropdown--dimmed .icon-dropdown__label{color:var(--text-dimmed)}.icon-dropdown__option.icon-dropdown--dimmed .icon-dropdown__icon svg{fill:var(--text-dimmed)}.icon-dropdown__options::-webkit-scrollbar{width:8px}.icon-dropdown__options::-webkit-scrollbar-track{background:var(--scrollbar-track-bg)}.icon-dropdown__options::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:4px}.icon-dropdown__options::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.settings-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.settings-editor__header{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-xl);background:var(--surface-2);border-bottom:1px solid var(--border-1)}.settings-editor__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius-md);color:var(--accent-primary);flex-shrink:0}.settings-editor__icon svg{width:32px;height:32px}.settings-editor__title-group{flex:1}.settings-editor__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.settings-editor__subtitle{margin:var(--space-xs) 0 0 0;font-size:var(--font-size-small);color:var(--text-secondary)}.settings-editor__toolbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);background:var(--surface-2);border-bottom:1px solid var(--border-1)}.settings-editor__content{flex:1;overflow-y:auto;padding:var(--space-xl)}.settings-editor__footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);background:var(--surface-2);border-top:1px solid var(--border-1)}.settings-section{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md)}.settings-section:last-child{margin-bottom:0}.settings-section__title{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-lg) 0;padding-bottom:var(--space-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:1px solid var(--border-1)}.settings-section__title svg{width:20px;height:20px;color:var(--accent-primary)}.settings-field{margin-bottom:var(--space-lg)}.settings-field:last-child{margin-bottom:0}.settings-field--toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.settings-field__info{flex:1}.settings-field__label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-field--toggle .settings-field__label{margin-bottom:0}.settings-field__hint{margin:var(--space-xs) 0 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.settings-field__input,.settings-field__select,.settings-field__textarea{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.settings-field__input:focus,.settings-field__select:focus,.settings-field__textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.settings-field__input--small{width:120px}.settings-field__textarea{resize:vertical;min-height:80px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--surface-4);border-radius:24px;transition:all var(--transition-fast)}.toggle-slider:before{position:absolute;content:"";width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all var(--transition-fast)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.settings-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.settings-btn svg{width:18px;height:18px}.settings-btn--primary{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary)}.settings-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.settings-btn--secondary{color:var(--text-primary);background:var(--surface-3);border-color:var(--border-2)}.settings-btn--secondary:hover{background:var(--hover-3);border-color:var(--border-3)}.toolbar-search{display:flex;align-items:center;gap:var(--space-sm);flex:1;max-width:300px;padding:var(--space-xs) var(--space-md);background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm)}.toolbar-search svg{color:var(--text-secondary);flex-shrink:0}.toolbar-search__input{flex:1;border:none;background:transparent;font-size:var(--font-size-small);color:var(--text-primary);outline:none}.toolbar-search__input::placeholder{color:var(--text-dimmed)}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:var(--font-size-small)}.users-table th{padding:var(--space-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);background:var(--surface-2);border-bottom:1px solid var(--border-2)}.users-table__row{border-bottom:1px solid var(--border-1);transition:background var(--transition-fast)}.users-table__row:hover{background:var(--hover-2)}.users-table__cell{padding:var(--space-md);color:var(--text-primary);vertical-align:middle}.users-table__cell--name{display:flex;align-items:center;gap:var(--space-sm)}.users-table__cell--actions{display:flex;gap:var(--space-xs)}.users-table__empty{padding:var(--space-xl);text-align:center;color:var(--text-dimmed)}.user-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--accent-primary);border-radius:50%;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.role-badge,.status-badge{display:inline-flex;align-items:center;padding:2px var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm)}.role-badge--admin{color:#7c3aed;background:#7c3aed26}.role-badge--editor{color:#2563eb;background:#2563eb26}.role-badge--viewer{color:var(--text-secondary);background:var(--surface-3)}.status-badge--active{color:#10b981;background:#10b98126}.status-badge--inactive{color:#6b7280;background:#6b728026}.status-badge--invited{color:#f59e0b;background:#f59e0b26}.icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.icon-btn:hover{background:var(--hover-3);color:var(--text-primary)}.icon-btn--danger:hover{background:#ef444426;color:#ef4444}.icon-btn svg{width:18px;height:18px}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.group-card{display:flex;flex-direction:column;padding:var(--space-lg);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);transition:all var(--transition-fast)}.group-card:hover{border-color:var(--border-2);box-shadow:0 2px 8px #0000001a}.group-card--system{border-color:var(--accent-subtle)}.group-card__header{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.group-card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0}.group-card__icon svg{width:24px;height:24px}.group-card__title-group{flex:1;min-width:0}.group-card__title{display:flex;align-items:center;gap:var(--space-xs);margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.group-card__description{margin:var(--space-xs) 0 0 0;font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card__stats{display:flex;gap:var(--space-xl);margin-bottom:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1)}.group-card__stat{display:flex;flex-direction:column}.group-card__stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.group-card__stat-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.group-card__permissions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.group-card__actions{display:flex;gap:var(--space-xs);margin-top:auto}.system-badge{padding:2px var(--space-xs);font-size:9px;font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--accent-primary);background:var(--accent-subtle);border-radius:var(--radius-xs)}.permission-tag{padding:2px var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-secondary)}.permission-tag--read{color:#10b981;background:#10b98126}.permission-tag--write{color:#3b82f6;background:#3b82f626}.permission-tag--delete{color:#f59e0b;background:#f59e0b26}.permission-tag--admin{color:#7c3aed;background:#7c3aed26}.settings-editor__content::-webkit-scrollbar{width:10px}.settings-editor__content::-webkit-scrollbar-track{background:var(--scrollbar-track-bg)}.settings-editor__content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:5px}.settings-editor__content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.profile-card{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--surface-3);border-radius:var(--radius-md)}.profile-avatar{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;cursor:pointer;flex-shrink:0}.profile-avatar__image{width:100%;height:100%;object-fit:cover}.profile-avatar__initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--accent-primary);font-size:28px;font-weight:var(--font-weight-semibold)}.profile-avatar__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;opacity:0;transition:opacity var(--transition-fast)}.profile-avatar:hover .profile-avatar__overlay{opacity:1}.profile-info{flex:1}.profile-info__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.profile-info__email{margin-top:var(--space-xs);font-size:var(--font-size-small);color:var(--text-secondary)}.settings-form{display:flex;flex-direction:column;gap:var(--space-lg)}.settings-form__row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}@media(max-width:600px){.settings-form__row{grid-template-columns:1fr}}.settings-form__field{display:flex;flex-direction:column;gap:var(--space-xs)}.settings-form__label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-form__input,.settings-form__select{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.settings-form__input:focus,.settings-form__select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.settings-form__input:disabled{opacity:.6;cursor:not-allowed}.settings-form__hint{font-size:var(--font-size-xs);color:var(--text-dimmed)}.password-change-form{display:flex;flex-direction:column;gap:var(--space-md);max-width:400px}.password-change-form .settings-btn{align-self:flex-start;margin-top:var(--space-xs)}.account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.account-stat{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--surface-3);border-radius:var(--radius-sm)}.account-stat__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius-sm);color:var(--accent-primary);flex-shrink:0}.account-stat__icon svg{width:24px;height:24px}.account-stat__content{flex:1}.account-stat__label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-xs)}.account-stat__value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.settings-editor__actions{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-1)}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-secondary)}.settings-error{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl);text-align:center;color:var(--status-error)}.settings-error p{margin:0 0 var(--space-md) 0}.settings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-dimmed);text-align:center}.settings-empty svg{margin-bottom:var(--space-md);opacity:.5}.settings-empty p{margin:0}.settings-empty__hint{margin-top:var(--space-sm);font-size:var(--font-size-xs)}.modal-dialog{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--modal-shadow, 0 8px 32px rgba(0, 0, 0, .3));width:90%;max-width:480px;display:flex;flex-direction:column}.modal-dialog--small{max-width:400px}.modal-dialog--medium{max-width:560px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-1)}.modal-header h2{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--hover-3);color:var(--text-primary)}.modal-body{padding:var(--space-xl);max-height:400px;overflow-y:auto}.modal-body p{margin:0;color:var(--text-secondary);line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-1);background:var(--surface-3)}.form-field{margin-bottom:var(--space-lg)}.form-field:last-child{margin-bottom:0}.form-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border-1)}.form-divider span{white-space:nowrap}.form-field label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-field input,.form-field textarea,.form-field select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.form-field textarea{min-height:80px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.settings-btn--danger{color:#fff;background:var(--status-error);border-color:var(--status-error)}.settings-btn--danger:hover{background:#dc2626;border-color:#dc2626}.settings-save-status{font-size:var(--font-size-small);color:var(--text-secondary);min-width:80px;text-align:right;transition:color var(--transition-fast)}.settings-save-status[data-save-status=saving]{color:var(--text-secondary)}.settings-save-status[data-save-status=saved]{color:var(--status-success, #22c55e)}.settings-save-status[data-save-status=error]{color:var(--status-error)}.settings-field__optional{font-weight:var(--font-weight-normal);color:var(--text-secondary);font-size:var(--font-size-xs)}.branding-mode-selector{display:flex;gap:var(--space-md)}.branding-mode-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border:2px solid var(--border-1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--surface-3);min-width:140px;text-align:center;-webkit-user-select:none;user-select:none}.branding-mode-option:hover{border-color:var(--border-2);background:var(--hover-3)}.branding-mode-option--selected{border-color:var(--accent-primary);background:var(--accent-subtle)}.branding-mode-option input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.branding-mode-option__preview{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.branding-mode-option--selected .branding-mode-option__preview{color:var(--accent-primary)}.branding-mode-option__label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.branding-mode-option__desc{font-size:var(--font-size-xs);color:var(--text-secondary)}.branding-whitelabel-config{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-1);display:flex;flex-direction:column;gap:var(--space-lg)}.branding-upload{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md);background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.branding-upload__preview{width:80px;height:80px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:2px dashed var(--border-2);border-radius:var(--radius-sm);overflow:hidden;color:var(--text-dimmed)}.branding-upload__preview--small{width:40px;height:40px}.branding-upload__preview img{max-width:100%;max-height:100%;object-fit:contain}.branding-upload__controls{display:flex;flex-direction:column;justify-content:center;gap:var(--space-sm)}.branding-upload__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.members-add-section{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-1)}.members-user-select{flex:1;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm)}.members-list{display:flex;flex-direction:column;gap:var(--space-sm)}.members-empty{text-align:center;color:var(--text-dimmed);padding:var(--space-lg)}.member-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-radius:var(--radius-sm)}.member-info{display:flex;flex-direction:column;gap:2px}.member-name{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.member-email{font-size:var(--font-size-xs);color:var(--text-secondary)}.role-badge--tenant_owner{color:#9333ea;background:#9333ea26}.role-badge--workspace_owner{color:#7c3aed;background:#7c3aed26}.role-badge--modeller{color:#2563eb;background:#2563eb26}.role-badge--user{color:var(--text-secondary);background:var(--surface-3)}.avatar-picker{display:flex;gap:var(--space-lg);padding:var(--space-md);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.avatar-picker__preview{flex-shrink:0;display:flex;align-items:flex-start;justify-content:center}.avatar-picker__preview-image{width:120px;height:120px;border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--border-default);background:var(--surface-3)}.avatar-picker__options{flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.avatar-picker__section{display:flex;flex-direction:column;gap:var(--space-sm)}.avatar-picker__label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.avatar-picker__types{display:flex;gap:var(--space-sm)}.avatar-picker__type{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);background:var(--surface-1);min-width:80px}.avatar-picker__type:hover{border-color:var(--border-default);background:var(--surface-2)}.avatar-picker__type--selected{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.avatar-picker__type input[type=radio]{position:absolute;opacity:0;pointer-events:none}.avatar-picker__type-preview{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.avatar-picker__type-preview img{width:48px;height:48px;border-radius:var(--radius-sm)}.avatar-picker__type-preview svg{width:32px;height:32px}.avatar-picker__type-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}.avatar-picker__type--selected .avatar-picker__type-label{color:var(--accent-primary);font-weight:var(--font-weight-medium)}.avatar-picker__styles{transition:var(--transition-fast)}.avatar-picker__styles.hidden{display:none}.avatar-picker__style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-sm)}.avatar-picker__style{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);background:var(--surface-1)}.avatar-picker__style:hover{border-color:var(--border-default);background:var(--surface-2)}.avatar-picker__style--selected{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.avatar-picker__style input[type=radio]{position:absolute;opacity:0;pointer-events:none}.avatar-picker__style img{width:48px;height:48px;border-radius:var(--radius-sm)}.avatar-picker__style span{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}.avatar-picker__style--selected span{color:var(--accent-primary);font-weight:var(--font-weight-medium)}.avatar-picker__upload{transition:var(--transition-fast)}.avatar-picker__upload.hidden{display:none}.avatar-picker__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);border:2px dashed var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);cursor:pointer;transition:var(--transition-fast);color:var(--text-secondary)}.avatar-picker__dropzone:hover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.05)}.avatar-picker__dropzone.dragover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.avatar-picker__dropzone svg{width:32px;height:32px;color:var(--text-tertiary)}.avatar-picker__dropzone p{margin:0;font-size:var(--font-size-small)}.user-avatar{position:relative;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-3)}.user-avatar__image{width:100%;height:100%;object-fit:cover;display:block}.user-avatar--clickable{cursor:pointer;transition:var(--transition-fast)}.user-avatar--clickable:hover{opacity:.9;box-shadow:0 0 0 2px var(--accent-primary)}.profile-avatar--large{width:120px;height:120px;border-radius:var(--radius-md)}.profile-avatar--large .profile-avatar__image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.avatar-section{margin-top:var(--space-lg);padding:var(--space-md);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.avatar-type-selector{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.avatar-type-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);background:var(--surface-1);min-width:80px}.avatar-type-option:hover{border-color:var(--border-default);background:var(--surface-2)}.avatar-type-option--selected{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.avatar-type-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.avatar-type-option img{width:48px;height:48px;border-radius:var(--radius-sm)}.avatar-type-option span{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}.avatar-type-option--selected span{color:var(--accent-primary);font-weight:var(--font-weight-medium)}.dicebear-styles{margin-top:var(--space-md);transition:var(--transition-fast)}.dicebear-styles.hidden{display:none}.dicebear-styles__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.dicebear-styles__header .settings-form__label{margin:0}.avatar-style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-sm);margin-top:var(--space-sm)}.avatar-style-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);background:var(--surface-1)}.avatar-style-option:hover{border-color:var(--border-default);background:var(--surface-2)}.avatar-style-option--selected{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.avatar-style-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.avatar-style-option img{width:40px;height:40px;border-radius:var(--radius-sm)}.avatar-style-option span{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}.avatar-style-option--selected span{color:var(--accent-primary);font-weight:var(--font-weight-medium)}.permissions-grid{max-width:800px}.permissions-grid__header{display:grid;grid-template-columns:1fr 200px 200px;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm) var(--radius-sm) 0 0;position:sticky;top:0;z-index:1}.permissions-grid__header .permissions-grid__cell{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.permissions-grid__header .permissions-grid__cell--col{text-align:center}.permissions-grid__section-header{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--accent-primary);background:var(--accent-subtle);border-left:1px solid var(--border-1);border-right:1px solid var(--border-1);text-transform:uppercase;letter-spacing:.5px}.permissions-grid__row{display:grid;grid-template-columns:1fr 200px 200px;gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md);border-left:1px solid var(--border-1);border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);background:var(--surface-2);transition:background var(--transition-fast)}.permissions-grid__row:hover{background:var(--hover-2)}.permissions-grid__row:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.permissions-grid__cell--fn{font-size:var(--font-size-small);color:var(--text-primary);padding-left:var(--space-sm)}.permissions-grid__cell--col{display:flex;justify-content:center}.permissions-grid__cell--col .searchable-select{width:100%}@media(max-width:700px){.permissions-grid__header,.permissions-grid__row{grid-template-columns:1fr 140px 140px}}.are-root{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.are-header{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-xl);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.are-header__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius-md);color:var(--accent-primary);flex-shrink:0}.are-header__icon svg{width:32px;height:32px}.are-header__title-group{flex:1}.are-header__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.are-header__subtitle{margin:var(--space-xs) 0 0 0;font-size:var(--font-size-small);color:var(--text-secondary)}.are-content{flex:1;overflow-y:auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.are-section{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);overflow:hidden}.are-section__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-1);background:var(--surface-3)}.are-section__title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.are-section__body{padding:var(--space-md) var(--space-lg)}.are-section--empty .are-section__body{color:var(--text-tertiary);font-size:var(--font-size-small);font-style:italic}.are-ancestor{margin-bottom:var(--space-md)}.are-ancestor:last-child{margin-bottom:0}.are-ancestor__label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-xs)}.are-ancestor__label span{color:var(--text-primary)}.are-grant-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) 0;min-height:32px}.are-grant-row__name{flex:1;font-size:var(--font-size-small);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.are-grant-row__dots{flex:1;border-bottom:1px dotted var(--border-2);margin:0 var(--space-sm);min-width:20px}.are-grant-row__level{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap;min-width:60px;text-align:right}.are-grant-row__level--none{color:var(--text-tertiary)}.are-grant-row__level--view{color:var(--text-secondary)}.are-grant-row__level--execute{color:var(--accent-primary)}.are-grant-row__level--full{color:var(--warning-text, #b45309)}.are-grant-row--editable .are-grant-row__level{min-width:auto}.are-grant-select{font-size:var(--font-size-small);padding:2px var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;height:26px}.are-grant-select:focus{outline:none;border-color:var(--accent-primary)}.are-remove-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:var(--transition-fast)}.are-remove-btn:hover{background:var(--surface-hover);color:var(--error-text, #b91c1c)}.are-remove-btn svg{width:14px;height:14px}.are-add-group{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:none;border:1px dashed var(--border-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast);margin-top:var(--space-sm)}.are-add-group:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-subtle)}.are-add-group svg{width:14px;height:14px}.are-group-picker{position:fixed;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-index-dropdown);min-width:240px;max-height:280px;display:flex;flex-direction:column;overflow:hidden}.are-group-picker__search{padding:var(--space-sm);border-bottom:1px solid var(--border-1);flex-shrink:0}.are-group-picker__search input{width:100%;padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-primary);outline:none;box-sizing:border-box}.are-group-picker__search input:focus{border-color:var(--accent-primary)}.are-group-picker__list{overflow-y:auto;flex:1}.are-group-picker__item{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast)}.are-group-picker__item:hover{background:var(--surface-hover)}.are-group-picker__empty{padding:var(--space-md);font-size:var(--font-size-small);color:var(--text-tertiary);text-align:center;font-style:italic}.are-default-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.are-default-row__label{flex:1;font-size:var(--font-size-small);color:var(--text-secondary)}.are-default-row__label strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.are-summary-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) 0;min-height:28px}.are-summary-row__name{min-width:140px;font-size:var(--font-size-small);color:var(--text-primary);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.are-summary-row__dots{flex:1;border-bottom:1px dotted var(--border-2);margin:0 var(--space-xs);min-width:20px}.are-summary-row__level{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);min-width:60px;white-space:nowrap}.are-summary-row__level--none{color:var(--text-tertiary)}.are-summary-row__level--view{color:var(--text-secondary)}.are-summary-row__level--execute{color:var(--accent-primary)}.are-summary-row__level--full{color:var(--warning-text, #b45309)}.are-summary-row__source{font-size:10px;color:var(--text-tertiary);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.are-summary-default{padding:var(--space-sm) 0 0 0;font-size:var(--font-size-small);color:var(--text-tertiary);border-top:1px solid var(--border-1);margin-top:var(--space-sm);font-style:italic}.are-loading,.are-error{display:flex;align-items:center;justify-content:center;flex:1;font-size:var(--font-size-small);color:var(--text-secondary)}.are-error{color:var(--error-text, #b91c1c)}.searchable-select{position:relative;min-width:140px}.searchable-select__trigger{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);cursor:pointer;outline:none;text-align:left;transition:all var(--transition-fast);height:30px}.searchable-select__trigger:hover{background:var(--hover-3);border-color:var(--border-3)}.searchable-select__trigger:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.searchable-select--open .searchable-select__trigger{border-color:var(--accent-primary)}.searchable-select__trigger--empty{color:var(--text-dimmed)}.searchable-select__value{flex:1;display:flex;align-items:center;gap:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select__value--none{color:var(--text-dimmed);font-style:italic}.searchable-select__value--placeholder{color:var(--text-dimmed)}.searchable-select__chevron{display:flex;align-items:center;flex-shrink:0;margin-left:auto;color:var(--text-secondary);transition:transform var(--transition-fast)}.searchable-select--open .searchable-select__chevron{transform:rotate(180deg)}.searchable-select__tag{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:9px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-xs);flex-shrink:0}.searchable-select__tag--system{color:var(--accent-primary);background:var(--accent-subtle)}.searchable-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;display:none;background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:var(--z-index-dropdown);min-width:180px}.searchable-select--open .searchable-select__dropdown{display:flex;flex-direction:column}.searchable-select__search{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-bottom:1px solid var(--border-1)}.searchable-select__search svg{color:var(--text-secondary);flex-shrink:0}.searchable-select__input{flex:1;border:none;background:transparent;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);outline:none;min-width:0}.searchable-select__input::placeholder{color:var(--text-dimmed)}.searchable-select__list{max-height:200px;overflow-y:auto;padding:var(--space-xs) 0}.searchable-select__option{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);cursor:pointer;transition:background var(--transition-fast);font-size:var(--font-size-small)}.searchable-select__option:hover{background:var(--hover-3)}.searchable-select__option--selected{background:var(--hover-2)}.searchable-select__option--selected:hover{background:var(--hover-3)}.searchable-select__option--none .searchable-select__option-label{color:var(--text-dimmed);font-style:italic}.searchable-select__option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select__separator{height:1px;margin:var(--space-xs) var(--space-sm);background:var(--border-1)}.searchable-select__empty{padding:var(--space-md) var(--space-sm);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-xs)}.searchable-select__icon{display:flex;align-items:center;flex-shrink:0;line-height:0}.searchable-select__badge{font-size:9px;font-weight:600;letter-spacing:.04em;background:var(--surface-2, var(--surface-3));color:var(--text-secondary);border:1px solid var(--border-1);border-radius:2px;padding:1px 4px;margin-left:auto;flex-shrink:0}.searchable-select--readonly .searchable-select__trigger{cursor:default;pointer-events:none}.searchable-select--readonly .searchable-select__chevron{display:none}.searchable-select__option--disabled{opacity:.45;cursor:not-allowed}.searchable-select__option--disabled:hover{background:transparent}.searchable-select__list::-webkit-scrollbar{width:6px}.searchable-select__list::-webkit-scrollbar-track{background:var(--scrollbar-track-bg)}.searchable-select__list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:3px}.searchable-select__list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--surface-3);border-radius:11px;transition:var(--transition-fast)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:var(--transition-fast)}.toggle-switch input:checked+.toggle-slider{background:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-label{font-size:var(--font-size-small);color:var(--text-primary)}.toggle-switch--widget{width:52px;height:28px}.toggle-switch--widget .toggle-slider:before{height:24px;width:24px}.ext-editor{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface-1)}.ext-editor-header{display:flex;gap:var(--space-lg);padding:var(--space-xl) var(--space-xxl);background:linear-gradient(135deg,var(--surface-2) 0%,var(--surface-3) 100%);border-bottom:1px solid var(--border-1);flex-shrink:0}.ext-editor-icon{width:80px;height:80px;min-width:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-md);flex-shrink:0}.ext-editor-icon svg{width:44px;height:44px}.ext-editor-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.ext-editor-title-row{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap}.ext-editor-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:1.2}.ext-editor-version{font-size:var(--font-size-small);color:var(--text-dimmed);padding:2px 8px;background:var(--surface-4);border-radius:var(--radius-md)}.ext-editor-summary{font-size:var(--font-size-normal);color:var(--text-secondary);line-height:1.5;margin:0}.ext-editor-meta{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.ext-editor-author{display:flex;align-items:center;gap:var(--space-xs)}.ext-editor-author-logo{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--surface-5);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:var(--text-secondary)}.ext-editor-author-name{font-size:var(--font-size-small);color:var(--text-secondary)}.ext-editor-stats{display:flex;align-items:center;gap:var(--space-sm)}.ext-editor-rating{display:flex;align-items:center;gap:4px}.ext-editor-rating .star{width:14px;height:14px}.ext-editor-rating .star-full,.ext-editor-rating .star-half{color:#f59e0b}.ext-editor-rating .star-empty{color:var(--text-dimmed)}.ext-editor-rating-value{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-left:4px}.ext-editor-rating-count{font-size:var(--font-size-small);color:var(--text-dimmed)}.ext-editor-expected{font-size:var(--font-size-small);color:var(--accent-primary);font-weight:var(--font-weight-medium)}.ext-editor-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.ext-editor-tag{padding:3px 10px;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--tag-color, var(--text-secondary));background:color-mix(in srgb,var(--tag-color, var(--accent-primary)) 15%,transparent);border-radius:12px}.ext-editor-actions{display:flex;align-items:flex-start;flex-shrink:0}.ext-editor-action-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.ext-editor-action-btn svg{width:18px;height:18px}.ext-editor-action-btn--install{background:var(--accent-primary);color:#fff}.ext-editor-action-btn--install:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.ext-editor-action-btn--uninstall{background:transparent;color:var(--text-secondary);border:1px solid var(--border-2)}.ext-editor-action-btn--uninstall:hover{background:var(--status-error-bg);color:var(--status-error);border-color:var(--status-error)}.ext-editor-coming-soon{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--text-dimmed);background:var(--surface-4);border-radius:var(--radius-md)}.ext-editor-tabs{display:flex;gap:0;padding:0 var(--space-xxl);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.ext-editor-tab{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.ext-editor-tab:hover{color:var(--text-primary);background:var(--hover-2)}.ext-editor-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.ext-editor-content{flex:1;overflow-y:auto;padding:var(--space-xl) var(--space-xxl)}.ext-editor-tab-content{display:none}.ext-editor-tab-content.active{display:block}.ext-editor-description{max-width:800px;line-height:1.6;color:var(--text-primary)}.ext-editor-description h2{font-size:var(--font-size-large);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--space-md) 0}.ext-editor-description h3{font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:var(--space-xl) 0 var(--space-sm) 0}.ext-editor-description p{font-size:var(--font-size-normal);color:var(--text-secondary);margin:0 0 var(--space-md) 0}.ext-editor-description ul{margin:0 0 var(--space-md) 0;padding-left:var(--space-xl)}.ext-editor-description li{font-size:var(--font-size-normal);color:var(--text-secondary);margin-bottom:var(--space-xs)}.ext-editor-description li strong{color:var(--text-primary)}.ext-editor-screenshots{margin-top:var(--space-xxl)}.ext-editor-screenshots h3{font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-md) 0}.ext-editor-screenshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.ext-editor-screenshot{aspect-ratio:16 / 10;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-1)}.ext-editor-screenshot-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--surface-3);color:var(--text-dimmed)}.ext-editor-screenshot-placeholder svg{width:32px;height:32px;opacity:.5}.ext-editor-screenshot-placeholder span{font-size:var(--font-size-small)}.ext-editor-changelog{max-width:800px}.ext-editor-changelog-entry{padding:var(--space-md) 0;border-bottom:1px solid var(--border-1)}.ext-editor-changelog-entry:last-child{border-bottom:none}.ext-editor-changelog-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.ext-editor-changelog-version{font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--accent-primary);padding:2px 10px;background:var(--accent-subtle);border-radius:var(--radius-md)}.ext-editor-changelog-date{font-size:var(--font-size-small);color:var(--text-dimmed)}.ext-editor-changelog-changes{margin:0;padding-left:var(--space-xl)}.ext-editor-changelog-changes li{font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--space-xs);line-height:1.5}.ext-editor-requirements{max-width:800px}.ext-editor-requirements h3{font-size:var(--font-size-normal);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-md) 0}.ext-editor-requirements h3:not(:first-child){margin-top:var(--space-xxl)}.ext-editor-requirements-list{margin:0;padding-left:var(--space-xl)}.ext-editor-requirements-list li{font-size:var(--font-size-normal);color:var(--text-secondary);margin-bottom:var(--space-xs)}.ext-editor-support{display:flex;flex-direction:column;gap:var(--space-sm)}.ext-editor-support-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-normal);color:var(--text-secondary)}.ext-editor-support-item svg{width:18px;height:18px;color:var(--text-dimmed);flex-shrink:0}.ext-editor-support-item a{color:var(--accent-primary);text-decoration:none}.ext-editor-support-item a:hover{text-decoration:underline}.ext-editor-empty{padding:var(--space-xxl);text-align:center;color:var(--text-dimmed)}.ext-editor-empty p{margin:0;font-size:var(--font-size-normal)}@media(max-width:600px){.ext-editor-header{flex-direction:column;align-items:flex-start;padding:var(--space-lg)}.ext-editor-icon{width:60px;height:60px;min-width:60px}.ext-editor-icon svg{width:32px;height:32px}.ext-editor-title{font-size:var(--font-size-large)}.ext-editor-actions{width:100%}.ext-editor-action-btn{flex:1;justify-content:center}.ext-editor-content{padding:var(--space-lg)}.ext-editor-tabs{padding:0 var(--space-lg)}.ext-editor-screenshots-grid{grid-template-columns:1fr}}.ce-root{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:var(--font-size-small);color:var(--text-primary);font-family:var(--font-family-sans)}.ce-toolbar-field{display:flex;align-items:center;gap:6px}.ce-toolbar-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.ce-root .editor-toolbar .searchable-select__trigger{height:26px}.ce-type-select{min-width:150px;max-width:190px}.ce-mode-select{min-width:140px;max-width:175px}.ce-mode-desc{font-size:10px;color:var(--text-secondary);font-style:italic;white-space:nowrap;padding-left:4px}.ce-top{flex-shrink:0;background:var(--surface-1);position:relative;z-index:10}.ce-top-panel{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px}.ce-field{display:flex;flex-direction:column;gap:4px}.ce-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.ce-conn-string{flex:1;min-width:0;box-sizing:border-box;font-size:var(--font-size-small);font-family:var(--font-family-mono, "ui-monospace", monospace);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 2px);color:var(--text-primary);padding:5px 8px;resize:none;line-height:1.5;transition:border-color var(--transition-fast)}.ce-conn-string:focus{outline:none;border-color:var(--accent-primary)}.ce-conn-string::placeholder{color:var(--text-dimmed, var(--text-secondary));opacity:.6}.ce-test-row{display:flex;align-items:center;gap:10px}.ce-status-ok{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:#4caf50}.ce-status-time{font-size:10px;font-weight:400;color:var(--text-secondary);margin-left:2px}.ce-h-divider{height:4px;cursor:ns-resize;background:var(--resize-handle-bg, var(--surface-2));flex-shrink:0;border-top:1px solid var(--border-1);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.ce-h-divider:hover{background:var(--resize-handle-hover-bg, var(--accent-primary))}.ce-h-divider.resizing{background:var(--resize-handle-active-bg, var(--accent-hover, var(--accent-primary)))}.ce-bottom{flex:1 1 0;min-height:0;display:flex;overflow:hidden}.ce-btn{font-size:11px;font-weight:600;border:none;border-radius:var(--radius-sm, 2px);cursor:pointer;padding:5px 14px;height:28px;white-space:nowrap;transition:var(--transition-fast);font-family:inherit;flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.ce-btn--primary{background:var(--accent-primary);color:#fff}.ce-btn--primary:hover:not(:disabled){opacity:.85}.ce-btn--primary:disabled{opacity:.45;cursor:not-allowed}.ce-btn--test{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-subtle)}.ce-btn--test:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.ce-btn--test:disabled{opacity:.4;cursor:not-allowed}.ce-tables-pane{display:flex;flex-direction:column;border-right:none;background:var(--surface-1);overflow:hidden;flex-shrink:0;min-width:150px}.ce-pane-header{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--text-primary);flex-shrink:0}.ce-pane-header-label{flex:1}.ce-select-all{flex-shrink:0;cursor:pointer;accent-color:var(--accent-primary);width:13px;height:13px}.ce-pane-filter{padding:4px 8px;border-bottom:1px solid var(--border-subtle);background:var(--surface-1);flex-shrink:0}.ce-filter-input{width:100%;box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 2px);background:var(--surface-2);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-sans);padding:3px 7px;outline:none;transition:border-color var(--transition-fast)}.ce-filter-input:focus{border-color:var(--accent-primary)}.ce-filter-input::placeholder{color:var(--text-dimmed, var(--text-secondary));opacity:.7}.ce-table-list{flex:1;overflow-y:auto}.ce-table-row{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.ce-table-row:hover{background:var(--hover-1, var(--surface-2))}.ce-table-row.is-selected{background:var(--surface-3, var(--surface-2));border-left:2px solid var(--accent-primary);padding-left:8px}.ce-table-check{flex-shrink:0;cursor:pointer;accent-color:var(--accent-primary)}.ce-table-name{flex:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.ce-table-schema{color:var(--text-secondary);font-size:10px}.ce-table-rows{font-size:10px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.ce-table-synced{font-size:11px;color:#4caf50;flex-shrink:0;line-height:1}.ce-table-stale{font-size:10px;color:var(--status-warning, #ff9800);flex-shrink:0;line-height:1}.ce-table-row.is-synced .ce-table-name{color:var(--text-primary)}.ce-table-row.is-synced .ce-table-rows{color:#4caf50}.ce-table-row.is-stale .ce-table-rows{color:var(--status-warning, #ff9800)}.ce-preview-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--surface-1)}.ce-preview-header{display:flex;align-items:center;gap:8px;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--text-primary);flex-shrink:0}.ce-preview-header-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-preview-sync-meta{font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.ce-preview-sync-meta.is-stale{color:var(--status-warning, #ff9800)}.ce-preview-resync{display:flex;align-items:center;gap:4px;height:24px;padding:0 var(--space-sm);background:transparent;border:1px solid var(--border-1);border-radius:var(--radius-sm, 2px);color:var(--text-secondary);font-size:var(--font-size-small);font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:0;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.ce-preview-resync:hover{background:var(--hover-2);border-color:var(--accent-primary);color:var(--accent-primary)}.ce-preview-scroll{flex:1;overflow:auto}.ce-preview-table{border-collapse:collapse;font-size:11px;white-space:nowrap;min-width:100%}.ce-preview-th{padding:4px 10px;text-align:left;font-weight:600;font-size:11px;background:var(--surface-2);border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);position:sticky;top:0;z-index:1;color:var(--text-primary)}.ce-preview-type{margin-left:4px;font-size:9px;color:var(--text-secondary);font-weight:400;font-style:italic}.ce-preview-td{padding:3px 10px;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);color:var(--text-primary);max-width:220px;overflow:hidden;text-overflow:ellipsis}.ce-preview-td:last-child,.ce-preview-th:last-child{border-right:none}.ce-list-empty{padding:16px 12px;font-size:11px;color:var(--text-secondary);font-style:italic;text-align:center}.ce-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--text-secondary);opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.ce-preview-empty svg{opacity:.6}.ce-preview-empty p{margin:0;font-size:12px;font-style:italic}.ce-error{padding:20px;color:var(--color-error, #e53935);font-size:12px}.storytelling-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.storytelling-tree-container{flex:1;overflow:auto}.storytelling-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.storytelling-search-wrapper{position:relative;display:flex;align-items:center}.storytelling-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.storytelling-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.storytelling-search-input::placeholder{color:var(--text-dimmed)}.storytelling-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.storytelling-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.storytelling-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.storytelling-search-clear svg{width:12px;height:12px}.explorer-tree .tree-node[data-node-type=story] .tree-icon{color:var(--accent-primary)}.explorer-tree .tree-node[data-node-type=dashboard] .tree-icon{color:#c087f2}#sidebar-storyteller-content .tree-node[data-node-type=folder]{font-weight:var(--font-weight-medium)}#sidebar-storyteller-content .tree-node[data-node-type=story],#sidebar-storyteller-content .tree-node[data-node-type=dashboard]{font-weight:400}#sidebar-storyteller-content .tree-node:hover:not(:has(.tree-node:hover))>.tree-actions{opacity:1}#sidebar-storyteller-content .explorer-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-tertiary);text-align:center}#sidebar-storyteller-content .explorer-empty-state svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.5}#sidebar-storyteller-content .explorer-empty-state p{font-size:var(--font-size-small);margin:0}#sidebar-storyteller-content .tree-node.drag-over{background-color:var(--accent-primary-light);outline:2px dashed var(--accent-primary);outline-offset:-2px}#sidebar-storyteller-content .tree-node.dragging{opacity:.5}.flows-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.flows-tree-container{flex:1;overflow:auto}.flows-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.flows-search-wrapper{position:relative;display:flex;align-items:center}.flows-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.flows-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.flows-search-input::placeholder{color:var(--text-dimmed)}.flows-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.flows-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.flows-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.flows-search-clear svg{width:12px;height:12px}.explorer-tree .tree-node[data-node-type=folder]>.tree-icon{color:#eac452}#sidebar-flows-content .tree-node[data-node-type=flow] .tree-icon{color:#76b789}#sidebar-flows-content .tree-node[data-node-type=folder]{font-weight:var(--font-weight-medium)}#sidebar-flows-content .tree-node[data-node-type=flow]{font-weight:400}#sidebar-flows-content .tree-node-badge{display:inline-flex;align-items:center;margin-left:var(--space-xs);padding:1px 6px;font-size:9px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.02em;border-radius:var(--radius-sm);line-height:1.4}#sidebar-flows-content .badge-design{background:var(--surface-blue-subtle);color:var(--text-blue)}#sidebar-flows-content .badge-production{background:var(--surface-green-subtle);color:var(--text-green)}#sidebar-flows-content .badge-archived{background:var(--surface-3);color:var(--text-dimmed)}#sidebar-flows-content .tree-node:hover:not(:has(.tree-node:hover))>.tree-actions{opacity:1}#sidebar-flows-content .explorer-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-tertiary);text-align:center}#sidebar-flows-content .explorer-empty-state svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.5}#sidebar-flows-content .explorer-empty-state p{font-size:var(--font-size-small);margin:0}#sidebar-flows-content .tree-node.drag-over{background-color:var(--accent-primary-light);outline:2px dashed var(--accent-primary);outline-offset:-2px}#sidebar-flows-content .tree-node.dragging{opacity:.5}.dictionaries-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.dictionaries-tree-container{flex:1;overflow:auto}.dictionaries-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.dictionaries-search-wrapper{position:relative;display:flex;align-items:center}.dictionaries-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.dictionaries-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.dictionaries-search-input::placeholder{color:var(--text-dimmed)}.dictionaries-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.dictionaries-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.dictionaries-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.dictionaries-search-clear svg{width:12px;height:12px}#sidebar-dictionaries-content .tree-node[data-node-type=folder]>.tree-icon{color:#eac452}#sidebar-dictionaries-content .tree-node[data-node-type=folder]{font-weight:var(--font-weight-medium)}#sidebar-dictionaries-content .tree-node.drag-over{background-color:var(--accent-primary-light);outline:2px dashed var(--accent-primary);outline-offset:-2px}#sidebar-dictionaries-content .tree-node.dragging{opacity:.5}.tables-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.tables-tree-container{flex:1;overflow:auto}.tables-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.tables-search-wrapper{position:relative;display:flex;align-items:center}.tables-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.tables-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.tables-search-input::placeholder{color:var(--text-dimmed)}.tables-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.tables-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.tables-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.tables-search-clear svg{width:12px;height:12px}#sidebar-tables-content .tree-node[data-node-type=folder]>.tree-icon{color:#eac452}#sidebar-tables-content .tree-node[data-node-type=folder]{font-weight:var(--font-weight-medium)}#sidebar-tables-content .tree-node.drag-over{background-color:var(--accent-primary-light);outline:2px dashed var(--accent-primary);outline-offset:-2px}#sidebar-tables-content .tree-node.dragging{opacity:.5}.models-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.models-tree-container{flex:1;overflow:auto}.models-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.models-search-wrapper{position:relative;display:flex;align-items:center}.models-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.models-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.models-search-input::placeholder{color:var(--text-dimmed)}.models-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.models-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.models-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.models-search-clear svg{width:12px;height:12px}#sidebar-models-content .tree-node[data-node-type=folder]>.tree-icon{color:#eac452}#sidebar-models-content .tree-node[data-node-type=folder]{font-weight:var(--font-weight-medium)}#sidebar-models-content .tree-node.drag-over{background-color:var(--accent-primary-light);outline:2px dashed var(--accent-primary);outline-offset:-2px}#sidebar-models-content .tree-node.dragging{opacity:.5}.datasources-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.datasources-tree-container{flex:1;overflow:auto}.datasources-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.datasources-search-wrapper{position:relative;display:flex;align-items:center}.datasources-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.datasources-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.datasources-search-input::placeholder{color:var(--text-dimmed)}.datasources-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.datasources-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.datasources-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.datasources-search-clear svg{width:12px;height:12px}.search-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.search-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input::placeholder{color:var(--text-dimmed)}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.search-clear-btn{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.search-clear-btn:hover{color:var(--text-primary);background:var(--hover-1)}.search-clear-btn svg{width:12px;height:12px}.search-clear-btn.hidden{display:none}.search-status{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);color:var(--text-secondary);flex-shrink:0;border-bottom:1px solid var(--border-1)}.search-status.hidden{display:none}.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl, 32px) var(--space-md);gap:var(--space-sm);color:var(--text-dimmed);-webkit-user-select:none;user-select:none}.search-empty-state svg{width:48px;height:48px;opacity:.3}.search-empty-state span{font-size:var(--font-size-small);text-align:center;line-height:1.4}.search-results{flex:1;overflow-y:auto;overflow-x:hidden}.search-group{border-bottom:1px solid var(--border-1)}.search-group:last-child{border-bottom:none}.search-group-header{display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;gap:var(--space-xs);font-size:var(--font-size-small);color:var(--text-primary);font-weight:600}.search-group-header:hover{background:var(--hover-3)}.search-group-header .tree-chevron{width:16px;height:16px;flex-shrink:0}.search-group-title{flex:1;min-width:0;text-transform:uppercase;font-size:10px;letter-spacing:.5px}.search-group-count{font-size:10px;color:var(--text-secondary);font-weight:400;background:var(--surface-3);padding:0 5px;border-radius:8px;min-width:16px;text-align:center}.search-group-items{padding-bottom:var(--space-xs)}.search-result-item{display:flex;align-items:flex-start;padding:3px var(--space-sm) 3px calc(var(--space-sm) + 20px);cursor:pointer;gap:var(--space-xs);min-height:24px}.search-result-item:hover{background:var(--hover-3)}.search-result-icon{display:flex;align-items:center;justify-content:center;width:16px;height:20px;flex-shrink:0;color:var(--text-secondary)}.search-result-icon svg{width:16px;height:16px}.search-result-icon .dictionary-icon-wrapper{transform:scale(.7);transform-origin:left center}.search-result-body{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.search-result-text{font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:18px}.search-result-context{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:14px}.search-result-text mark{background:var(--accent-primary);color:var(--text-on-accent, #fff);border-radius:1px;padding:0 1px}.dashboard-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1)}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;gap:var(--space-md)}.toolbar-left{flex:1}.toolbar-right{flex:1;justify-content:flex-end}.toolbar-title{font-weight:500;color:var(--text-primary);font-size:var(--font-size-normal)}.dashboard-editor .toolbar-btn.active{background:var(--interactive-primary);color:var(--text-bright);border-color:var(--interactive-primary)}.dashboard-editor .toolbar-btn.active:hover{background:var(--interactive-primary-hover);border-color:var(--interactive-primary-hover)}.dashboard-editor .toolbar-btn.active svg{fill:var(--text-bright)}.save-indicator{font-size:var(--font-size-small);color:var(--text-tertiary)}.save-indicator.dirty{color:var(--status-warning)}.save-indicator.saved{color:var(--text-tertiary)}.dashboard-content{display:flex;flex:1;min-height:0;overflow:hidden;height:100%}.dashboard-canvas{flex:1;min-height:0;overflow-y:auto;padding:var(--space-lg);background:var(--surface-1)}.dashboard-sidebar-resize{width:4px;cursor:ew-resize;background:var(--surface-2);flex-shrink:0;align-self:stretch;-webkit-user-select:none;user-select:none;position:relative;border-left:1px solid var(--border-1)}.dashboard-sidebar-resize.hidden{display:none}.dashboard-sidebar-resize:before{content:"";position:absolute;inset:0;width:4px;background:var(--accent-primary);opacity:0;transition:opacity .15s ease .2s;pointer-events:none}.dashboard-sidebar-resize:hover:before{opacity:1}.dashboard-sidebar-resize:active:before,.dashboard-sidebar-resize.resizing:before{opacity:1;background:var(--accent-hover);transition:none}.dashboard-sidebar.resizing{pointer-events:none;transition:none}.dashboard-sidebar{width:280px;height:calc(100% - 22px);background:var(--surface-2);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;padding-bottom:22px}.dashboard-sidebar.hidden{display:none}.sidebar-section{display:flex;flex-direction:column;border-bottom:1px solid var(--border-1);flex-shrink:0}.sidebar-section:last-child{border-bottom:none}.sidebar-section.properties-section{flex:1 1 0;overflow:hidden;display:flex;flex-direction:column;min-height:0;border-bottom:none}.sidebar-section.properties-section .sidebar-section-content{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--surface-3);border-bottom:1px solid var(--border-1);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);flex-shrink:0}.sidebar-section-header:hover{background:var(--hover-1)}.sidebar-section-header span{flex:1}.section-chevron{transition:transform var(--transition-fast);opacity:.5}.sidebar-section.collapsible .sidebar-section-content{display:none}.sidebar-section.collapsible.expanded .sidebar-section-content{display:block;padding:var(--space-sm) var(--space-md)}.sidebar-section.properties-section.collapsible.expanded .sidebar-section-content{display:flex;flex-direction:column;flex:1;min-height:0}.sidebar-section.collapsible.expanded .section-chevron{transform:rotate(0)}.sidebar-section.collapsible:not(.expanded) .section-chevron{transform:rotate(-90deg)}.sidebar-section.widgets-section{flex-shrink:0;max-height:50%;overflow:hidden;display:flex;flex-direction:column}.sidebar-section.widgets-section.expanded .sidebar-section-content{flex:1;overflow-y:auto;min-height:0}.widget-palette{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);max-height:none;overflow-y:auto}.palette-category{display:flex;flex-direction:column;gap:var(--space-xs)}.palette-category-label{font-size:9px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:0 var(--space-xs)}.palette-category-items{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.palette-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-xs);background:var(--surface-1);border:1px solid transparent;border-radius:var(--radius-sm);cursor:grab;transition:all var(--transition-fast)}.palette-item:hover{border-color:var(--accent-primary);background:var(--accent-subtle)}.palette-item:active{cursor:grabbing}.palette-item-icon{color:var(--text-secondary)}.palette-item-icon svg{display:block;width:16px;height:16px}.palette-item-label{font-size:9px;color:var(--text-tertiary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.widget-properties{flex:1 1 0;padding:var(--space-sm) var(--space-md);overflow-y:auto;min-height:0;display:flex;flex-direction:column}.properties-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-tertiary);font-size:var(--font-size-small);text-align:center;padding:var(--space-md)}.property-input{width:100%;padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small)}.property-input:disabled{opacity:.6;cursor:not-allowed}.alignment-toggle{display:flex;gap:2px;background:var(--surface-3);border-radius:var(--radius-sm);padding:2px}.align-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.align-btn:hover{background:var(--hover-1);color:var(--text-primary)}.align-btn.active{background:var(--surface-1);color:var(--accent-primary);box-shadow:0 1px 2px #0000001a}.align-btn svg{flex-shrink:0}.property-group.hidden{display:none}.dashboard-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:var(--text-tertiary);text-align:center;gap:var(--space-md)}.empty-state-icon{opacity:.3}.dashboard-empty-state h3{margin:0;font-size:var(--font-size-large);color:var(--text-secondary)}.dashboard-empty-state p{margin:0;font-size:var(--font-size-small)}.add-first-row-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-md);font-size:var(--font-size-normal);cursor:pointer;transition:all var(--transition-fast)}.add-first-row-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.canvas-drop-zone{border:2px dashed var(--border-2);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.canvas-drop-zone.drag-over{border-color:var(--accent-primary);background:var(--accent-subtle)}.canvas-drop-zone.drag-over .empty-state-icon{opacity:.6;color:var(--accent-primary)}.canvas-drop-zone.drag-over h3{color:var(--accent-primary)}.dashboard-row{position:relative;min-height:60px;margin-bottom:var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.dashboard-row.design-mode{border:2px dashed var(--border-2);padding:var(--space-sm);margin-left:6px;background:var(--surface-2)}.dashboard-row.design-mode:hover{border-color:var(--accent-primary)}.dashboard-row.selected{border-color:var(--accent-primary);background:var(--accent-subtle)}.row-widgets{display:flex;flex-wrap:wrap;gap:var(--space-md);min-height:40px}.row-drop-zone{flex:1;min-height:60px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-2);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--font-size-small);transition:all var(--transition-fast)}.row-drop-zone.drag-over{border-color:var(--accent-primary);background:var(--accent-subtle);color:var(--accent-primary)}.row-hover-actions{position:absolute;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast);pointer-events:none;z-index:10}.dashboard-row:hover>.row-hover-actions{opacity:1;pointer-events:auto}.row-hover-actions:not(.bottom){top:-14px;left:0;right:0;height:28px}.row-hover-actions.bottom{bottom:-14px;left:0;right:0;height:28px}.row-left-controls{position:absolute;left:-14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity var(--transition-fast);pointer-events:none;z-index:10}.dashboard-row:hover>.row-left-controls{opacity:1;pointer-events:auto}.row-drag-handle{cursor:grab;padding:4px;border-radius:var(--radius-sm);color:var(--text-tertiary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.row-drag-handle:hover{color:var(--text-primary);background:var(--hover-1)}.row-drag-handle:active{cursor:grabbing}.row-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 1px 3px #0000001a}.row-action-btn:hover{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.row-action-btn.danger:hover{background:var(--surface-red-subtle);border-color:var(--status-error);color:var(--status-error)}.dashboard-widget{position:relative;background:var(--surface-2);border-radius:var(--radius-md);box-shadow:0 1px 3px #00000014;overflow:hidden;transition:all var(--transition-fast)}.dashboard-widget.design-mode{cursor:pointer}.dashboard-widget.design-mode:hover{box-shadow:0 2px 8px #0000001f}.dashboard-widget.selected{outline:2px solid var(--accent-primary);outline-offset:2px}.widget-width-1-6{flex-basis:calc(16.66% - var(--space-md))}.widget-width-1-4{flex-basis:calc(25% - var(--space-md))}.widget-width-1-3{flex-basis:calc(33.33% - var(--space-md))}.widget-width-1-2{flex-basis:calc(50% - var(--space-md))}.widget-width-2-3{flex-basis:calc(66.66% - var(--space-md))}.widget-width-3-4{flex-basis:calc(75% - var(--space-md))}.widget-width-5-6{flex-basis:calc(83.33% - var(--space-md))}.widget-width-full{flex-basis:100%}.widget-width-fit{flex:1 1 0;min-width:100px}.widget-width-px{flex-basis:auto;flex-grow:0;flex-shrink:0}.dashboard-widget.resizing{outline:2px solid var(--accent-primary);outline-offset:2px;opacity:.9}.widget-content{padding:var(--space-md);min-height:60px}.widget-hover-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity var(--transition-fast);z-index:5}.dashboard-widget:hover .widget-hover-actions{opacity:1}.widget-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.widget-action-btn:hover{background:var(--hover-1);color:var(--text-primary)}.widget-action-btn.danger:hover{background:var(--surface-red-subtle);border-color:var(--status-error);color:var(--status-error)}.widget-drag-handle{position:absolute;top:4px;left:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:grab;opacity:0;transition:all var(--transition-fast);z-index:5}.dashboard-widget:hover .widget-drag-handle{opacity:1}.widget-drag-handle:hover{background:var(--hover-1);color:var(--text-primary)}.widget-drag-handle:active{cursor:grabbing}@keyframes dropIndicatorPulse{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.7;transform:scaleX(1.5)}}.drop-indicator-line{position:absolute;width:4px;background:var(--accent-primary);border-radius:2px;pointer-events:none;z-index:1000;display:none;animation:dropIndicatorPulse .5s ease-in-out infinite;box-shadow:0 0 8px var(--accent-primary),0 0 16px var(--accent-primary)}.widget-resize-handle{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;transition:background var(--transition-fast)}.widget-resize-handle:hover{background:var(--accent-primary)}.widget-resize-handle-bottom{position:absolute;bottom:0;left:0;right:0;height:6px;cursor:ns-resize;background:transparent;transition:background var(--transition-fast)}.widget-resize-handle-bottom:hover{background:var(--accent-primary)}.dashboard-widget[style*=height] .widget-content{overflow-y:auto;height:100%;box-sizing:border-box}.dashboard-widget[style*=height]:has(.widget-chart) .widget-content{display:flex;flex-direction:column;overflow:hidden}.dashboard-widget[style*=height] .widget-chart{flex:1;min-height:0;height:auto}.widget-kpi{text-align:center;padding:var(--space-sm)}.kpi-label{font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--space-xs)}.kpi-value{font-size:28px;font-weight:600;color:var(--text-primary)}.dashboard-widget:has(.widget-chart) .widget-content{padding:0}.widget-chart{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column}.widget-chart .chart-container{flex:1;width:100%;min-height:180px;position:relative}.widget-chart[data-chart-type=chart_progress],.widget-chart[data-chart-type=chart_bullet],.widget-chart[data-chart-type=chart_progress] .chart-container,.widget-chart[data-chart-type=chart_bullet] .chart-container{min-height:0!important}.chart-title{font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--space-sm);text-align:center}.chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;color:var(--text-tertiary)}.widget-chart canvas{max-width:100%}.chart-container.chart-loading{position:relative}.chart-container.chart-loading:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:chart-spin .8s linear infinite}@keyframes chart-spin{to{transform:rotate(360deg)}}.chart-container.chart-error{display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-tertiary);font-size:var(--font-size-small)}.chart-container.chart-error:before{content:"Failed to load data"}.widget-grid{min-height:100px}.grid-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--text-tertiary);font-size:var(--font-size-small)}.widget-richtext{font-size:var(--font-size-normal);color:var(--text-primary);line-height:1.5}.widget-richtext p{margin:0}.dashboard-widget[data-widget-type=separator]{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.dashboard-widget[data-widget-type=separator] .widget-content{padding:0!important;min-height:0!important}.dashboard-widget.design-mode[data-widget-type=separator]{border:1px dashed var(--border-2)!important}.dashboard-widget.design-mode[data-widget-type=separator]:hover{border-color:var(--border-1)!important}.widget-separator{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%}.widget-separator .separator-line.horizontal{width:100%;height:0;display:block}.widget-separator .separator-line.vertical{width:0;height:100%;display:block}.widget-toggle{display:flex;align-items:center;gap:var(--space-sm)}.widget-toggle--empty{flex-direction:column;justify-content:center;color:var(--text-tertiary);gap:var(--space-sm);font-size:var(--font-size-small);padding:var(--space-md);width:100%;height:100%;min-height:80px}.toggle-switch--widget input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-property-row{display:flex;align-items:center;justify-content:space-between}.toggle-switch--small{width:28px;height:16px}.toggle-switch--small .toggle-slider{border-radius:8px}.toggle-switch--small .toggle-slider:before{height:12px;width:12px}.toggle-switch--small input:checked+.toggle-slider:before{transform:translate(12px)}.toggle-switch--small input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}.filter-settings-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:0 var(--space-sm)}.filter-settings-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--border-1)}.filter-settings-row:last-child{border-bottom:none}.filter-settings-name{font-size:var(--font-size-small);color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-settings-switches{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.filter-switch-label{font-size:10px;color:var(--text-secondary);min-width:38px}.property-hint{font-size:var(--font-size-small);color:var(--text-secondary);font-style:italic}.widget-filter-selector{display:flex;flex-direction:column;gap:var(--space-xs)}.widget-filter-selector label{font-size:var(--font-size-small);color:var(--text-secondary)}.widget-filter-selector select{padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small)}.widget-context-selector{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.widget-context-selector .context-label{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap}.widget-context-selector .context-combo{display:flex;align-items:center;gap:6px;padding:5px var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;min-width:140px;flex:1;transition:var(--transition-fast)}.widget-context-selector .context-combo:hover{border-color:var(--accent-primary);background:var(--surface-2)}.widget-context-selector .context-combo--disabled{cursor:default;opacity:.6}.widget-context-selector .context-combo--disabled:hover{border-color:var(--border-1);background:var(--surface-1)}.widget-context-selector .context-search-icon{flex-shrink:0;opacity:.4}.widget-context-selector .context-combo:hover .context-search-icon{opacity:.7}.widget-context-selector .context-combo__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.widget-context-selector .context-combo__text.placeholder{color:var(--text-muted)}.widget-context-selector .context-combo__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:inherit;font-size:inherit;font-family:inherit;padding:0}.widget-context-selector .context-combo__input::placeholder{color:var(--text-muted)}.widget-context-selector .context-chevron{flex-shrink:0;opacity:.4;margin-left:auto}.widget-container{display:flex;flex-wrap:wrap;gap:var(--space-sm);min-height:60px;border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:var(--space-sm);align-items:flex-start;align-content:flex-start;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.widget-container.has-children{border-style:solid;border-color:var(--border-1)}.widget-container.drag-over{background:var(--accent-subtle);border-color:var(--accent-primary);border-style:dashed;border-width:2px;animation:dropIndicatorPulse .6s ease-in-out infinite}.container-drop-zone{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;border:2px dashed var(--border-2);border-radius:var(--radius-sm);background:var(--surface-1);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.container-drop-zone.drag-over{border-color:var(--accent-primary);border-width:3px;background:var(--accent-subtle);animation:dropIndicatorPulse .6s ease-in-out infinite}.container-drop-label,.container-label{color:var(--text-tertiary);font-size:var(--font-size-small)}.dashboard-widget.container-child{position:relative;background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border-1)}.dashboard-widget.container-child.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.dashboard-row.drag-over{background:var(--accent-subtle);border-color:var(--accent-primary)}.dashboard-widget.dragging,.palette-item.dragging{opacity:.5}.drop-indicator{position:absolute;height:3px;background:var(--accent-primary);border-radius:2px;pointer-events:none;z-index:100}.dashboard-editor.row-dragging{cursor:grabbing}.dashboard-row.dragging{opacity:.4;border-style:dashed}.dashboard-row.drop-before:before{content:"";position:absolute;top:-4px;left:0;right:0;height:4px;background:var(--accent-primary);border-radius:2px}.dashboard-row.drop-after:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:4px;background:var(--accent-primary);border-radius:2px}.row-drag-ghost{box-shadow:0 4px 12px #00000026}.widget-title{width:100%;min-height:32px}.widget-title .title-input{width:100%;background:transparent;border:none;outline:none;color:inherit;font:inherit;padding:0;margin:0}.widget-title .title-input:focus{outline:none}.widget-title .title-input::placeholder{color:var(--text-dimmed)}.widget-simple-text{width:100%;min-height:40px}.widget-simple-text.design-mode{display:flex;flex-direction:column;gap:var(--space-xs)}.simple-text-toolbar{display:flex;align-items:center;gap:2px;padding:var(--space-xs);background:var(--surface-3);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast)}.widget-simple-text.design-mode:hover .simple-text-toolbar,.widget-simple-text.design-mode:focus-within .simple-text-toolbar{opacity:1}.text-toolbar-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.text-toolbar-btn:hover{background:var(--surface-4);color:var(--text-primary)}.text-toolbar-btn.active{background:var(--accent-primary);color:var(--text-bright)}.simple-text-toolbar .toolbar-divider{width:1px;height:16px;background:var(--border-1);margin:0 var(--space-xs)}.simple-text-content{min-height:24px;padding:var(--space-xs);outline:none;white-space:pre-wrap;word-wrap:break-word}.simple-text-content div,.simple-text-content p,.simple-text-content span,.widget-simple-text div,.widget-simple-text p,.widget-simple-text span{font-weight:inherit;font-style:inherit;font-family:inherit;font-size:inherit}.simple-text-content:empty:before{content:attr(data-placeholder);color:var(--text-dimmed);pointer-events:none}.simple-text-content:focus{background:var(--surface-2);border-radius:var(--radius-sm)}.property-divider{height:1px;background:var(--border-subtle);margin:var(--space-md) 0}.property-group-header{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.font-settings-row{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md)}.font-settings-row .font-selector{flex:0 0 33%;min-width:0}.font-settings-row .size-selector{width:60px;flex-shrink:0}.font-settings-row .font-style-buttons,.font-settings-row .text-align-buttons{display:flex;gap:2px}.font-style-buttons{display:flex;gap:4px}.font-style-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.font-style-btn:hover{background:var(--surface-3);color:var(--text-primary)}.font-style-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-bright)}.text-align-buttons{display:flex;gap:4px}.text-align-buttons .align-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.text-align-buttons .align-btn:hover{background:var(--surface-3);color:var(--text-primary)}.text-align-buttons .align-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-bright)}.font-selector{font-size:var(--font-size-small)}.font-selector optgroup{font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.font-selector option{font-weight:400;color:var(--text-primary)}.property-type-indicator{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.property-type-indicator input{opacity:.6}.property-group-header.compact{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--border-subtle)}.property-group-header.compact:first-child{margin-top:0;padding-top:0;border-top:none}.button-actions-accordion{margin-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.button-actions-accordion-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none}.button-actions-accordion-header:hover{color:var(--text-primary)}.button-actions-accordion-header .section-chevron{transition:transform var(--transition-fast);flex-shrink:0}.button-actions-accordion:not(.expanded) .section-chevron{transform:rotate(-90deg)}.button-actions-accordion:not(.expanded) .button-actions-accordion-body{display:none}.button-actions-accordion-body{padding-bottom:var(--space-xs)}.button-actions-count{margin-left:auto;background:var(--surface-3);color:var(--text-dimmed);border-radius:8px;padding:0 6px;font-size:10px;min-width:16px;text-align:center;line-height:16px}.button-actions-count:empty{display:none}.button-actions-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:0 var(--space-sm)}.button-action-item{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:var(--space-xs);display:flex;flex-direction:column;gap:var(--space-xs)}.button-action-header{display:flex;align-items:center;gap:var(--space-xs)}.button-action-number{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-primary);color:var(--text-bright);font-size:10px;font-weight:var(--font-weight-semibold);flex-shrink:0}.button-action-type-select{flex:1;min-width:0}.button-action-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--text-dimmed);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;transition:all var(--transition-fast)}.button-action-remove:hover{background:var(--status-error-bg);color:var(--status-error)}.button-action-param{display:flex;flex-direction:column;gap:2px;padding-left:26px}.button-action-param label{font-size:10px;color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.5px}.button-action-param select,.button-action-param input{font-size:var(--font-size-small);padding:3px 6px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary)}.button-action-add{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:none;border:1px dashed var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-small);transition:all var(--transition-fast)}.button-action-add:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--surface-2)}.widget-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:80px;overflow:hidden}.widget-image img{max-width:100%;max-height:100%;display:block}.widget-image .image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);color:var(--text-dimmed);padding:var(--space-lg)}.widget-image .image-placeholder span{font-size:var(--font-size-small)}.image-upload-zone{border:2px dashed var(--border-2);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.image-upload-zone:hover{border-color:var(--accent-primary);background:var(--hover-1)}.image-drop-target{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-md);color:var(--text-secondary);text-align:center}.image-drop-target span{font-size:var(--font-size-small)}.image-drop-target .image-hint{font-size:10px;color:var(--text-dimmed)}.image-preview{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-sm);background:var(--surface-1)}.image-preview img{max-width:100%;max-height:120px;object-fit:contain;border-radius:var(--radius-sm)}.image-remove-btn{position:absolute;top:var(--space-xs);right:var(--space-xs);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.image-upload-zone:hover .image-remove-btn{opacity:1}.image-remove-btn:hover{background:var(--status-error);border-color:var(--status-error);color:#fff}.dashboard-widget:has(.widget-iframe) .widget-content{padding:0}.widget-iframe{position:relative;width:100%;min-height:200px;background:var(--surface-1);overflow:hidden}.widget-iframe iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.widget-iframe.aspect-ratio-16-9{aspect-ratio:16 / 9;height:auto;min-height:unset}.widget-iframe.aspect-ratio-4-3{aspect-ratio:4 / 3;height:auto;min-height:unset}.widget-iframe.aspect-ratio-1-1{aspect-ratio:1 / 1;height:auto;min-height:unset}.widget-iframe.aspect-ratio-21-9{aspect-ratio:21 / 9;height:auto;min-height:unset}.widget-iframe .iframe-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);height:100%;min-height:200px;color:var(--text-dimmed);padding:var(--space-lg)}.widget-iframe .iframe-placeholder span{font-size:var(--font-size-small)}.widget-iframe .iframe-placeholder .iframe-hint{font-size:10px;color:var(--text-tertiary)}.iframe-security-note{display:flex;align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm);margin-top:var(--space-sm);background:var(--surface-3);border-radius:var(--radius-sm);font-size:10px;color:var(--text-tertiary)}.iframe-security-note svg{flex-shrink:0;opacity:.6}.checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-small);color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}@media(max-width:768px){.dashboard-sidebar{width:240px}.palette-category-items{grid-template-columns:repeat(3,1fr)}.widget-width-1-6,.widget-width-1-4,.widget-width-1-3{flex-basis:calc(50% - var(--space-md))}}.story-page-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);gap:var(--space-md);flex-shrink:0;margin-bottom:var(--space-md)}.page-nav-left{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-small);color:var(--text-secondary);min-width:0;flex:1}.page-nav-left .chapter-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-nav-left .page-separator{color:var(--text-muted)}.page-nav-left .page-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-nav-center{display:flex;align-items:center;gap:var(--space-sm)}.page-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.page-nav-btn:hover:not(:disabled){background:var(--hover-1);color:var(--text-primary);border-color:var(--border-2)}.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.page-indicator{font-size:var(--font-size-small);color:var(--text-secondary);min-width:50px;text-align:center}.page-nav-right{display:flex;align-items:center;gap:var(--space-sm);flex:1;justify-content:flex-end}.chapter-select{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;max-width:150px}.chapter-select:hover{border-color:var(--border-2)}.toolbar-btn-snapshot,.toolbar-btn-snapshot-list{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;font-size:var(--font-size-small);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.toolbar-btn-snapshot:hover,.toolbar-btn-snapshot-list:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-1)}.snapshot-playback-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md);background:var(--accent-primary-soft, #e3f2fd);border-bottom:2px solid var(--accent-primary, #1976d2);flex-shrink:0}.snapshot-playback-label{font-size:var(--font-size-small);color:var(--text-primary)}.snapshot-playback-exit{padding:3px 10px;font-size:var(--font-size-small);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.snapshot-playback-exit:hover{background:var(--surface-hover)}.snapshot-manager-list{max-height:300px;overflow-y:auto}.snapshot-manager-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-subtle)}.snapshot-manager-info{flex:1;display:flex;flex-direction:column;min-width:0}.snapshot-manager-name{font-size:var(--font-size-small);font-weight:500;color:var(--text-primary)}.snapshot-manager-date{font-size:10px;color:var(--text-tertiary)}.snapshot-manager-load,.snapshot-manager-delete{padding:2px 6px;font-size:var(--font-size-small);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary)}.snapshot-manager-delete:hover{color:var(--text-danger, #e53935)}.snapshot-manager-actions{padding:var(--space-sm) 0}.snapshot-manager-compare-btn{padding:4px 12px;font-size:var(--font-size-small);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer}.snapshot-manager-compare-btn:disabled{opacity:.4;cursor:not-allowed}.comparison-table{width:100%;border-collapse:collapse;font-size:var(--font-size-small)}.comparison-table th{padding:var(--space-xs) var(--space-sm);text-align:left;font-weight:600;border-bottom:2px solid var(--border-1);color:var(--text-secondary)}.comparison-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-subtle)}.comparison-name{font-weight:500}.comparison-val{font-variant-numeric:tabular-nums}.comparison-change,.comparison-pct{font-variant-numeric:tabular-nums;font-weight:500}.comparison-row.positive .comparison-change,.comparison-row.positive .comparison-pct{color:var(--text-success, #2e7d32)}.comparison-row.negative .comparison-change,.comparison-row.negative .comparison-pct{color:var(--text-danger, #e53935)}.story-parameter-bar{display:flex;align-items:flex-end;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--surface-1);border-bottom:1px solid var(--border-1);flex-wrap:wrap;flex-shrink:0}.param-picker{display:flex;flex-direction:column;gap:2px}.param-picker-label{font-size:10px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.param-picker-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;font-size:var(--font-size-small);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;white-space:nowrap;min-width:100px;transition:all var(--transition-fast)}.param-picker-btn:hover{background:var(--surface-hover);border-color:var(--border-2)}.param-picker-btn svg{flex-shrink:0;color:var(--text-secondary)}.param-picker-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.structure-panel{display:flex;flex-direction:column;gap:0}.structure-list{display:flex;flex-direction:column;gap:2px}.structure-empty{padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--font-size-small);font-style:italic}.structure-item{display:flex;flex-direction:column;background:var(--surface-1);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.structure-item:hover{background:var(--hover-1)}.structure-item.active{background:var(--interactive-muted)}.parameter-item,.variant-item{flex-direction:row;align-items:center;padding:var(--space-xs) var(--space-sm);gap:var(--space-sm)}.structure-item-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.structure-item-name{font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.structure-item-meta{font-size:10px;color:var(--text-muted)}.structure-item-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.structure-item:hover .structure-item-actions{opacity:1}.structure-action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.structure-action-btn:hover{background:var(--hover-2);color:var(--text-primary)}.structure-action-btn.danger:hover{background:var(--status-error);color:#fff}.chapter-item,.chapter-item:hover{background:transparent}.chapter-header{display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);gap:var(--space-xs);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.chapter-header:hover{background:var(--hover-1)}.chapter-item.active>.chapter-header{background:var(--interactive-muted)}.chapter-chevron{flex-shrink:0;transition:transform var(--transition-fast);color:var(--text-muted)}.chapter-chevron.expanded{transform:rotate(90deg)}.chapter-header .structure-item-name{flex:1}.chapter-header .structure-item-meta{margin-right:var(--space-xs)}.chapter-header .structure-item-actions{opacity:0}.chapter-header:hover .structure-item-actions{opacity:1}.chapter-pages{display:none;flex-direction:column;padding-left:var(--space-md);gap:2px;margin-top:2px}.chapter-pages.expanded{display:flex}.page-item{flex-direction:row;align-items:center;padding:var(--space-xs) var(--space-sm);gap:var(--space-xs);cursor:pointer}.page-item .page-icon{flex-shrink:0;color:var(--text-muted)}.page-item.active .page-icon{color:var(--accent-primary)}.page-item .structure-item-name{flex:1}.structure-add-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);margin-top:var(--space-xs);background:transparent;border:1px dashed var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer;transition:all var(--transition-fast);width:100%;justify-content:center}.structure-add-btn:hover{background:var(--hover-1);border-color:var(--border-2);color:var(--text-primary)}.structure-add-btn.small{padding:4px var(--space-sm);font-size:11px;margin-left:var(--space-sm);width:calc(100% - var(--space-sm))}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-1);flex-shrink:0}.sidebar-tab{flex:1;padding:var(--space-sm) var(--space-xs);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}:root{--paper-a4-width: 794px;--paper-a4-height: 1123px;--paper-letter-width: 816px;--paper-letter-height: 1056px;--paper-margin: 40px}.dashboard-canvas.paper-mode{background:var(--surface-3);display:flex;flex-direction:column;align-items:center;padding:var(--space-lg);overflow:auto}.story-paper{background:#fff;box-shadow:0 2px 8px #00000026,0 0 1px #0000001a;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;transform-origin:top center;transition:transform .2s ease}.story-paper-content{flex:1;display:flex;flex-direction:column;padding:var(--paper-margin);overflow:hidden}.story-paper.format-a4.orientation-portrait{width:var(--paper-a4-width);min-height:var(--paper-a4-height)}.story-paper.format-a4.orientation-landscape{width:var(--paper-a4-height);min-height:var(--paper-a4-width)}.story-paper.format-letter.orientation-portrait{width:var(--paper-letter-width);min-height:var(--paper-letter-height)}.story-paper.format-letter.orientation-landscape{width:var(--paper-letter-height);min-height:var(--paper-letter-width)}.story-paper.zoom-50{transform:scale(.5)}.story-paper.zoom-75{transform:scale(.75)}.story-paper.zoom-100{transform:scale(1)}.story-paper.zoom-125{transform:scale(1.25)}.story-paper.zoom-150{transform:scale(1.5)}.dashboard-canvas.paper-mode.zoom-50{padding:var(--space-md)}.dashboard-canvas.paper-mode.zoom-150{padding:var(--space-xl)}.dashboard-canvas.paper-mode .story-page-nav{background:var(--surface-2);border-radius:var(--radius-md);margin-bottom:var(--space-md);box-shadow:0 1px 3px #0000001a;width:100%;max-width:var(--paper-a4-width)}.dashboard-canvas.paper-mode.format-letter .story-page-nav{max-width:var(--paper-letter-width)}.dashboard-canvas.paper-mode.orientation-landscape .story-page-nav{max-width:var(--paper-a4-height)}.dashboard-canvas.paper-mode.format-letter.orientation-landscape .story-page-nav{max-width:var(--paper-letter-height)}.paper-controls{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm);border-left:1px solid var(--border-1);margin-left:var(--space-sm)}.paper-control-group{display:flex;align-items:center;gap:var(--space-xs)}.paper-control-label{font-size:var(--font-size-tiny);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.paper-select{padding:2px var(--space-xs);font-size:var(--font-size-small);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;min-width:70px}.paper-select:hover{border-color:var(--border-2)}.zoom-controls{display:flex;align-items:center;gap:2px}.zoom-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.zoom-btn:hover{background:var(--hover-1);color:var(--text-primary);border-color:var(--border-2)}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-value{min-width:40px;text-align:center;font-size:var(--font-size-small);color:var(--text-secondary)}.toolbar-btn.paper-mode-active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.toolbar-btn.paper-mode-active:hover{background:var(--accent-hover)}.widget-richtext{width:100%;min-height:60px}.widget-richtext.design-mode{display:flex;flex-direction:column;gap:var(--space-xs)}.richtext-toolbar{display:flex;align-items:center;gap:2px;padding:var(--space-xs);background:var(--surface-3);border-radius:var(--radius-sm);flex-wrap:wrap;opacity:0;transition:opacity var(--transition-fast)}.widget-richtext.design-mode:hover .richtext-toolbar,.widget-richtext.design-mode:focus-within .richtext-toolbar{opacity:1}.richtext-font-select,.richtext-size-select{height:24px;padding:0 var(--space-xs);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-small);cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.richtext-font-select:hover,.richtext-size-select:hover{border-color:var(--accent-primary)}.richtext-font-select:focus,.richtext-size-select:focus{border-color:var(--accent-primary)}.richtext-font-select{width:120px}.richtext-size-select{width:60px}.richtext-toolbar-btn{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 2px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-sans)}.richtext-toolbar-btn:hover{background:var(--surface-4);color:var(--text-primary)}.richtext-toolbar-btn.active{background:var(--accent-primary);color:var(--text-bright)}.richtext-toolbar .toolbar-divider{width:1px;height:16px;background:var(--border-1);margin:0 var(--space-xs)}.richtext-content .tiptap{outline:none;min-height:40px;padding:var(--space-xs);color:var(--dash-text, var(--text-primary));font-family:var(--font-family-sans);font-size:var(--font-size-normal);line-height:1.6}.richtext-content .tiptap:focus{background:var(--surface-2);border-radius:var(--radius-sm)}.richtext-content .tiptap p{margin:0 0 .4em}.richtext-content .tiptap p:last-child{margin-bottom:0}.richtext-content .tiptap h1{font-size:1.8em;font-weight:700;margin:.5em 0 .3em;line-height:1.3}.richtext-content .tiptap h2{font-size:1.4em;font-weight:600;margin:.5em 0 .3em;line-height:1.3}.richtext-content .tiptap h3{font-size:1.15em;font-weight:600;margin:.5em 0 .3em;line-height:1.3}.richtext-content .tiptap ul,.richtext-content .tiptap ol{padding-left:1.5em;margin:.3em 0}.richtext-content .tiptap li{margin:.1em 0}.richtext-content .tiptap li p{margin:0}.richtext-content .tiptap blockquote{border-left:3px solid var(--accent-primary);padding-left:var(--space-md);margin:.5em 0;color:var(--dash-text-secondary, var(--text-secondary))}.richtext-content .tiptap code{background:var(--surface-3);border-radius:var(--radius-sm);padding:.1em .3em;font-family:var(--font-family-mono);font-size:.9em}.richtext-content .tiptap pre{background:var(--surface-3);border-radius:var(--radius-md);padding:var(--space-sm);margin:.5em 0;overflow-x:auto}.richtext-content .tiptap pre code{background:none;padding:0;border-radius:0;font-size:var(--font-size-small)}.richtext-content .tiptap s{text-decoration:line-through}.richtext-content .tiptap hr{border:none;border-top:1px solid var(--border-1);margin:.8em 0}.richtext-content .tiptap a{color:var(--accent-primary);text-decoration:underline;cursor:pointer}.richtext-content .tiptap a:hover{color:var(--accent-hover, var(--accent-primary))}.richtext-content .tiptap img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:.5em 0}.richtext-content .tiptap img.ProseMirror-selectednode{outline:2px solid var(--accent-primary);outline-offset:2px}.richtext-content .tiptap sup{font-size:.75em;vertical-align:super}.richtext-content .tiptap sub{font-size:.75em;vertical-align:sub}.richtext-content .tiptap mark{border-radius:2px;padding:0 2px}.richtext-content .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.5em 0;overflow:hidden}.richtext-content .tiptap table td,.richtext-content .tiptap table th{min-width:1em;border:1px solid var(--border-1);padding:var(--space-xs) var(--space-sm);vertical-align:top;box-sizing:border-box;position:relative}.richtext-content .tiptap table th{background:var(--surface-3);font-weight:600;text-align:left}.richtext-content .tiptap table td>*,.richtext-content .tiptap table th>*{margin-bottom:0}.richtext-content .tiptap table .selectedCell:after{content:"";position:absolute;inset:0;background:var(--accent-subtle, rgba(var(--accent-rgb, 66, 133, 244), .15));pointer-events:none;z-index:2}.richtext-content .tiptap .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:var(--accent-primary);pointer-events:none}.richtext-content .tiptap.resize-cursor{cursor:col-resize}.richtext-color-btn{position:relative;cursor:pointer;padding-bottom:5px}.richtext-color-btn .color-indicator{position:absolute;bottom:2px;left:4px;right:4px;height:3px;border-radius:1px;pointer-events:none}.richtext-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-dimmed);pointer-events:none;float:left;height:0}.property-hint{font-size:var(--font-size-small);color:var(--text-dimmed)}.story-variable-node{display:inline;vertical-align:baseline;border-radius:var(--radius-sm);padding:0 4px;font-family:inherit;font-size:inherit;line-height:inherit;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:default;transition:background var(--transition-fast),color var(--transition-fast)}.story-variable-node.design-mode{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--accent-primary);border:1px solid var(--accent-primary);font-weight:500;font-size:.9em;border-radius:10px;padding:1px 8px}.story-variable-node.design-mode:hover{background:var(--accent-primary);color:var(--surface-1)}.story-variable-node.display-mode{background:transparent;color:inherit;border:none;padding:0;font-weight:inherit}.story-variable-node.loading{color:var(--text-dimmed);font-style:italic}.story-variable-node.error{color:var(--status-error);text-decoration:underline wavy}.story-variable-node.ProseMirror-selectednode{outline:2px solid var(--accent-primary);outline-offset:1px}.variable-item .structure-item-meta{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variables-panel{display:flex;flex-direction:column;height:100%}.variables-tree-container{flex:1;overflow-y:auto;min-height:100px;padding:var(--space-xs)}.variables-detail-container{flex:0 0 auto;max-height:50%;overflow-y:auto;border-top:1px solid var(--border-1)}.vartree-group{margin-bottom:2px}.vartree-group-header{display:flex;align-items:center;padding:4px 6px;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm)}.vartree-group-header:hover{background:var(--hover-1)}.vartree-group-name{font-size:var(--font-size-small);font-weight:600;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vartree-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s}.vartree-group.collapsed .vartree-chevron{transform:rotate(-90deg)}.vartree-group.collapsed .vartree-group-children{display:none}.vartree-add-btn{opacity:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.vartree-group-header:hover .vartree-add-btn{opacity:1}.vartree-add-btn:hover{background:var(--hover-2);color:var(--text-primary)}.vartree-group-children{display:flex;flex-direction:column;gap:1px;padding-left:8px}.vartree-node{display:flex;align-items:center;padding:3px 8px;gap:6px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.vartree-node:hover{background:var(--hover-1)}.vartree-node.selected{background:var(--interactive-muted)}.vartree-node-badge{font-size:9px;font-weight:700;width:16px;height:16px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.vartree-node-badge.param{background:color-mix(in srgb,var(--accent-primary) 15%,transparent);color:var(--accent-primary)}.vartree-node-badge.variable{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.vartree-node-name{font-size:var(--font-size-small);color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vartree-node-value{font-size:10px;color:var(--text-muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.vartree-empty{padding:4px 8px;color:var(--text-muted);font-size:10px;font-style:italic}.vartree-rename-input{flex:1;min-width:60px;background:var(--input-bg, var(--surface-2));border:1px solid var(--accent-primary);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--font-size-small);color:var(--text-primary);outline:none;height:18px;line-height:18px;margin:0}.vardetail-empty{padding:var(--space-md);color:var(--text-muted);font-size:var(--font-size-small);font-style:italic;text-align:center}.vardetail-panel{padding:var(--space-sm)}.vardetail-header{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-sm)}.vardetail-title{font-size:var(--font-size-small);font-weight:600;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis}.vardetail-fields{display:flex;flex-direction:column;gap:2px}.vardetail-fields label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-sm)}.vardetail-fields label:first-child{margin-top:0}.vardetail-input{width:100%;padding:4px 8px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-small);outline:none;transition:border-color var(--transition-fast);box-sizing:border-box}.vardetail-input:focus{border-color:var(--accent-primary)}.vardetail-input[type=number]{width:100%}.vardetail-row{display:flex;gap:var(--space-sm)}.vardetail-field{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.vardetail-checkbox-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-small)!important;color:var(--text-primary)!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer;margin-top:var(--space-sm)}.vardetail-checkbox-label input[type=checkbox]{width:auto;margin:0}.vardetail-cell-selector-container{margin-top:var(--space-sm);border-top:1px solid var(--border-subtle);padding-top:var(--space-sm)}.vardetail-element-picker-row{display:flex;align-items:center;gap:var(--space-xs);padding:2px 0}.vardetail-element-value{flex:1;font-size:var(--font-size-small);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vardetail-element-btn{padding:2px 8px;font-size:var(--font-size-small);background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;white-space:nowrap}.vardetail-element-btn:hover:not(:disabled){background:var(--surface-hover)}.vardetail-element-btn:disabled{opacity:.4;cursor:not-allowed}.vardetail-element-clear{width:20px;height:20px;padding:0;font-size:14px;line-height:1;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.vardetail-element-clear:hover{color:var(--text-danger, #e53935);border-color:var(--border-subtle)}.vardetail-hint{font-size:10px;color:var(--text-tertiary);font-weight:400}.vardetail-param-links{margin-top:var(--space-sm)}.vardetail-paramlinks-header{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;padding:var(--space-xs) 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-xs)}.vardetail-paramlink-row{display:flex;align-items:center;gap:var(--space-sm);padding:2px 0}.vardetail-paramlink-dict{flex:1;font-size:var(--font-size-small);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vardetail-paramlink-select{width:120px;padding:2px 4px;font-size:var(--font-size-small);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.richtext-variable-select{height:24px;padding:0 var(--space-xs);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-small);cursor:pointer;outline:none;transition:border-color var(--transition-fast);max-width:150px}.richtext-variable-select:hover,.richtext-variable-select:focus{border-color:var(--accent-primary)}.chart-subtype-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 var(--space-sm)}.chart-subtype-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);min-height:52px}.chart-subtype-tile:hover{background:var(--surface-2);border-color:var(--border-1);color:var(--text-primary)}.chart-subtype-tile.active{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);border-color:var(--accent-primary);color:var(--accent-primary)}.chart-subtype-tile__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.chart-subtype-tile__icon svg{width:20px;height:20px}.chart-subtype-tile__label{font-size:10px;line-height:1.2;text-align:center;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.chart-dim-hint{font-size:var(--font-size-small);color:var(--text-secondary);font-style:italic;line-height:1.5;margin:0 0 var(--space-sm);padding:0 2px}.chart-dim-hint strong{font-style:normal;font-weight:600;color:var(--text-primary)}.dashboard-canvas{--dash-canvas-bg: var(--surface-1);--dash-canvas-padding: 24px;--dash-widget-bg: var(--surface-2);--dash-widget-bg-hover: var(--surface-2);--dash-widget-border: 1px solid var(--border-1);--dash-widget-radius: var(--radius-md);--dash-widget-shadow: 0 1px 3px rgba(0, 0, 0, .08);--dash-widget-shadow-hover: 0 4px 12px rgba(0, 0, 0, .12);--dash-widget-padding: var(--space-md);--dash-widget-backdrop: none;--dash-text: var(--text-primary);--dash-text-secondary: var(--text-secondary);--dash-text-muted: var(--text-dimmed);--dash-accent: var(--accent-primary);--dash-accent-hover: var(--accent-hover);--dash-positive: var(--status-success);--dash-negative: var(--status-error);--dash-warning: var(--status-warning);--dash-chart-grid: var(--border-1);--dash-chart-axis: var(--text-secondary);--dash-chart-bg: transparent;--dash-kpi-value-size: 28px;--dash-kpi-value-weight: 600;--dash-kpi-label-size: var(--font-size-small);--dash-kpi-positive: var(--status-success);--dash-kpi-negative: var(--status-error);--dash-font-family: inherit;--dash-heading-weight: 600;--dash-body-weight: 400;--dash-widget-gap: var(--space-md);--dash-row-gap: var(--space-md);--dash-section-gap: var(--space-lg)}.dashboard-canvas[data-dashboard-theme]{background:var(--dash-canvas-bg);padding:var(--dash-canvas-padding);padding-bottom:46px;font-family:var(--dash-font-family)}.dashboard-canvas[data-dashboard-theme] .dashboard-widget{background:var(--dash-widget-bg);border:var(--dash-widget-border);border-radius:var(--dash-widget-radius);box-shadow:var(--dash-widget-shadow);backdrop-filter:var(--dash-widget-backdrop);-webkit-backdrop-filter:var(--dash-widget-backdrop);transition:all var(--transition-fast)}.dashboard-canvas[data-dashboard-theme] .dashboard-widget:not(.design-mode):hover{background:var(--dash-widget-bg-hover);box-shadow:var(--dash-widget-shadow-hover)}.dashboard-canvas[data-dashboard-theme] .widget-content{padding:var(--dash-widget-padding);color:var(--dash-text)}.dashboard-canvas[data-dashboard-theme] .row-widgets{gap:var(--dash-widget-gap)}.dashboard-canvas[data-dashboard-theme] .dashboard-row{margin-bottom:var(--dash-row-gap)}.dashboard-canvas[data-dashboard-theme] .widget-kpi .kpi-value{font-size:var(--dash-kpi-value-size);font-weight:var(--dash-kpi-value-weight);color:var(--dash-text)}.dashboard-canvas[data-dashboard-theme] .widget-kpi .kpi-label{font-size:var(--dash-kpi-label-size);color:var(--dash-text-secondary)}.dashboard-canvas[data-dashboard-theme] .widget-kpi .kpi-trend.positive{color:var(--dash-kpi-positive)}.dashboard-canvas[data-dashboard-theme] .widget-kpi .kpi-trend.negative{color:var(--dash-kpi-negative)}.dashboard-canvas[data-dashboard-theme] .widget-chart .chart-title{color:var(--dash-text);font-weight:var(--dash-heading-weight)}.dashboard-canvas[data-dashboard-theme] .widget-chart .chart-placeholder{color:var(--dash-text-muted)}.dashboard-canvas[data-dashboard-theme] .widget-text{color:var(--dash-text);font-weight:var(--dash-body-weight)}.dashboard-canvas[data-dashboard-theme] .widget-richtext{color:var(--dash-text)}.dashboard-canvas[data-dashboard-theme] .widget-richtext h1,.dashboard-canvas[data-dashboard-theme] .widget-richtext h2,.dashboard-canvas[data-dashboard-theme] .widget-richtext h3{font-weight:var(--dash-heading-weight)}.dashboard-canvas[data-dashboard-theme] .widget-grid .grid-placeholder{color:var(--dash-text-muted)}.dashboard-canvas[data-dashboard-theme] .widget-button{display:flex;width:100%;height:100%}.dashboard-canvas[data-dashboard-theme] .widget-button button{background:var(--dash-accent);color:var(--dash-widget-bg);border:none;border-radius:var(--dash-widget-radius);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast);flex:1}.dashboard-canvas[data-dashboard-theme] .widget-button button:hover{background:var(--dash-accent-hover)}.dashboard-canvas[data-dashboard-theme] .widget-button button.executing{opacity:.7;pointer-events:none;position:relative}.dashboard-canvas[data-dashboard-theme] .widget-button button.executing:after{content:"";position:absolute;top:50%;right:12px;width:14px;height:14px;margin-top:-7px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:dash-btn-spin .6s linear infinite}@keyframes dash-btn-spin{to{transform:rotate(360deg)}}.dashboard-canvas[data-dashboard-theme] .widget-button button.no-actions{opacity:.6;cursor:default}.dashboard-canvas[data-dashboard-theme] .widget-toggle .toggle-label{color:var(--dash-text)}.dashboard-canvas[data-dashboard-theme] .widget-toggle .toggle-slider{background:var(--dash-text-muted)}.dashboard-canvas[data-dashboard-theme] .widget-toggle input:checked+.toggle-slider{background:var(--dash-accent)}.dashboard-canvas[data-dashboard-theme] .widget-filter-selector label,.dashboard-canvas[data-dashboard-theme] .widget-context-selector .context-label{color:var(--dash-text-secondary)}.dashboard-canvas[data-dashboard-theme] .widget-filter-selector select,.dashboard-canvas[data-dashboard-theme] .widget-context-selector .context-combo{background:var(--dash-widget-bg);color:var(--dash-text);border:1px solid var(--dash-text-muted);border-radius:calc(var(--dash-widget-radius) / 2)}.dashboard-canvas[data-dashboard-theme] .widget-context-selector .context-combo:hover{background:var(--dash-widget-bg);border-color:var(--dash-accent)}.dashboard-canvas[data-dashboard-theme] .widget-separator,.dashboard-canvas[data-dashboard-theme] .widget-container{border-color:var(--dash-text-muted)}.dashboard-canvas[data-dashboard-theme] .widget-container .container-label,.dashboard-canvas[data-dashboard-theme] .widget-map .map-placeholder,.dashboard-canvas[data-dashboard-theme] .widget-image .image-placeholder,.dashboard-canvas[data-dashboard-theme] .widget-iframe .iframe-placeholder,.dashboard-canvas[data-dashboard-theme] .dashboard-empty-state{color:var(--dash-text-muted)}.dashboard-canvas[data-dashboard-theme] .dashboard-empty-state h3{color:var(--dash-text-secondary)}.dashboard-canvas[data-dashboard-theme] .dashboard-row.design-mode{border-color:var(--dash-text-muted);background:#8080800d}.dashboard-canvas[data-dashboard-theme] .dashboard-row.design-mode:hover{border-color:var(--dash-accent)}.dashboard-canvas[data-dashboard-theme] .dashboard-row.selected{border-color:var(--dash-accent);background:#8080801a}.dashboard-canvas[data-dashboard-theme] .row-drop-zone{border-color:var(--dash-text-muted);color:var(--dash-text-muted)}.dashboard-canvas[data-dashboard-theme] .row-drop-zone.drag-over{border-color:var(--dash-accent);color:var(--dash-accent)}.dashboard-canvas[data-dashboard-theme=liquid-glass]{position:relative;isolation:isolate}.dashboard-canvas[data-dashboard-theme=liquid-glass] .dashboard-widget{position:relative}.dashboard-canvas[data-dashboard-theme=ibcs-grey] .dashboard-widget{border-width:1px}.dashboard-canvas[data-dashboard-theme=windows-fluent] .dashboard-widget{transition:all .2s ease,background .1s ease}.dashboard-canvas[data-dashboard-theme] .widget-chart{background:var(--dash-chart-bg)}.dashboard-canvas[data-dashboard-theme] .widget-chart .chart-container{width:100%;height:100%;min-height:180px}.dashboard-canvas[data-dashboard-theme] .widget-chart[data-sample-data]:after{content:"Sample Data";position:absolute;bottom:8px;right:8px;font-size:9px;color:var(--dash-text-muted);opacity:.6;text-transform:uppercase;letter-spacing:.5px}.dashboard-canvas[data-dashboard-theme].paper-mode{background:#e8e8e8}.dashboard-canvas[data-dashboard-theme] .story-paper{background:#fff}.dashboard-canvas[data-dashboard-theme] .story-paper-content{color:var(--dash-text-primary);font-family:var(--dash-font-family)}.dashboard-canvas[data-dashboard-theme].paper-mode .dashboard-row{margin-bottom:var(--space-sm)}.dashboard-canvas.paper-mode .dashboard-widget{background:transparent;border:none;box-shadow:none}.widget-data-grid{width:100%;height:100%;min-height:150px;display:flex;flex-direction:column}.data-grid-container{flex:1;overflow:hidden;position:relative}.data-grid-widget{display:flex;flex-direction:column;height:100%;font-family:var(--font-family-sans);font-size:var(--font-size-small);position:relative;border:1px solid var(--border-1);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-1)}.dgw-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0}.dgw-filter-item{display:flex;align-items:center;gap:var(--space-xs)}.dgw-filter-label{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap}.dgw-filter-tile{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-small);padding:2px 6px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);min-width:80px;max-width:200px;cursor:pointer;font-family:var(--font-family-sans);line-height:1.4}.dgw-filter-tile:hover{border-color:var(--border-2);background:var(--hover-1)}.dgw-filter-tile:focus{outline:none;border-color:var(--accent-primary)}.dgw-filter-tile--disabled{opacity:.6;cursor:not-allowed}.dgw-filter-tile--disabled:hover{border-color:var(--border-1);background:var(--surface-1)}.dgw-filter-tile-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.dgw-filter-tile-arrow{flex-shrink:0;color:var(--text-secondary)}.dgw-filter-global .dgw-filter-value-readonly{font-size:var(--font-size-small);color:var(--text-secondary);font-style:italic;padding:2px 6px}.dgw-header-container{flex-shrink:0;overflow:hidden;background:var(--surface-3);border-bottom:1px solid var(--border-1)}.dgw-header-row{display:flex;white-space:nowrap}.dgw-header-cell{flex-shrink:0;height:28px;padding:0 var(--space-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);border-right:1px solid var(--border-1);display:flex;align-items:center;gap:var(--space-xs);background:var(--surface-3);box-sizing:border-box}.dgw-header-cell:last-child{border-right:none}.dgw-header-cell.hierarchy-level-1{padding-left:calc(var(--space-sm) + 16px)}.dgw-header-cell.hierarchy-level-2{padding-left:calc(var(--space-sm) + 32px)}.dgw-header-cell.hierarchy-level-3{padding-left:calc(var(--space-sm) + 48px)}.dgw-header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dgw-expand-btn{width:14px;height:14px;min-width:14px;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform var(--transition-fast),color var(--transition-fast);border-radius:var(--radius-sm)}.dgw-expand-btn:hover{color:var(--text-primary);background:var(--hover-1)}.dgw-expand-btn.expanded{transform:rotate(90deg)}.dgw-expand-btn svg{width:10px;height:10px}.dgw-body-wrapper{flex:1;overflow:auto;position:relative;outline:none;-webkit-user-select:none;user-select:none}.dgw-body-wrapper:focus{box-shadow:inset 0 0 0 2px var(--accent-primary-alpha, rgba(0, 120, 212, .2))}.dgw-body-scroll{position:relative;min-height:100%}.dgw-body-content{position:absolute;top:0;left:0;right:0}.dgw-row{display:flex;border-bottom:1px solid var(--border-1);box-sizing:border-box}.dgw-row:last-child{border-bottom:none}.dgw-row:hover .dgw-cell:not(.dgw-row-header){background-color:var(--hover-1)}.dgw-row:hover .dgw-cell.selected{background-color:var(--cell-selected-bg)}.dgw-cell{flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center;border-right:1px solid var(--border-1);font-family:var(--font-family-mono);font-weight:var(--cell-font-weight);color:var(--cell-text-normal);box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dgw-cell:last-child{border-right:none}.dgw-cell.align-right{justify-content:flex-end;text-align:right}.dgw-cell.align-left{justify-content:flex-start;text-align:left}.dgw-cell.align-center{justify-content:center;text-align:center}.dgw-cell.editable{background:var(--cell-n-editable-bg);cursor:cell}.dgw-cell.readonly{background:var(--cell-n-readonly-bg);cursor:default}.dgw-cell.calculated{background:var(--cell-c-element-bg)}.dgw-cell.aggregate{background:var(--cell-a-element-bg);font-weight:var(--cell-font-weight-aggregate)}.dgw-cell.selected{outline:2px solid var(--cell-selected-border);outline-offset:-2px;background:var(--cell-selected-bg);z-index:1;position:relative}.dgw-cell.in-range{background:var(--cell-selected-bg);position:relative}.dgw-cell.in-range.selected{outline:2px solid var(--cell-selected-border);outline-offset:-2px;z-index:1}.dgw-cell.dirty{color:var(--cell-text-dirty)}.dgw-range-overlay{position:absolute;pointer-events:none;z-index:2;border:2px solid var(--cell-selected-border)}.dgw-copied-range-overlay{position:absolute;pointer-events:none;box-sizing:border-box;z-index:3;--ants-color: #888;--ants-bg: transparent;border:none;background-image:linear-gradient(90deg,var(--ants-color) 50%,var(--ants-bg) 50%),linear-gradient(90deg,var(--ants-bg) 50%,var(--ants-color) 50%),linear-gradient(0deg,var(--ants-color) 50%,var(--ants-bg) 50%),linear-gradient(0deg,var(--ants-bg) 50%,var(--ants-color) 50%);background-size:8px 2px,8px 2px,2px 8px,2px 8px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:dgw-marching-ants .5s linear infinite}[data-theme=dark] .dgw-copied-range-overlay{--ants-color: #aaa}@keyframes dgw-marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:8px 0,-8px 100%,0 -8px,100% 8px}}.dgw-corner-cell{background:var(--surface-3);border-right:1px solid var(--border-1)}.dgw-row-header{background:var(--surface-2);font-weight:var(--font-weight-medium);color:var(--text-primary);font-family:var(--font-family-sans);border-right:1px solid var(--border-1)}.dgw-row-header.hierarchy-level-1{padding-left:calc(var(--space-sm) + 16px)}.dgw-row-header.hierarchy-level-2{padding-left:calc(var(--space-sm) + 32px)}.dgw-row-header.hierarchy-level-3{padding-left:calc(var(--space-sm) + 48px)}.dgw-inline-editor{position:absolute;z-index:10;background:var(--cell-editing-bg);border:2px solid var(--cell-editing-border);box-shadow:var(--cell-editing-shadow);font-family:var(--font-family-mono);font-size:var(--font-size-small);font-weight:var(--cell-font-weight);padding:0 var(--space-xs);margin:0;box-sizing:border-box;outline:none}.dgw-inline-editor{-webkit-user-select:text;user-select:text}.dgw-inline-editor:focus{outline:none}.dgw-loading{display:flex;align-items:center;justify-content:center;height:100%;gap:var(--space-sm);color:var(--text-dimmed);font-size:var(--font-size-small)}.dgw-loading-overlay{position:absolute;inset:0;background:rgba(var(--surface-1-rgb, 255, 255, 255),.7);display:flex;align-items:center;justify-content:center;z-index:5}.dgw-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-sm);color:var(--status-error);padding:var(--space-md);text-align:center;font-size:var(--font-size-small)}.dgw-error-icon{width:24px;height:24px;border:2px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.dgw-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dimmed);font-size:var(--font-size-small)}.widget-data-grid.compact .dgw-header-cell{height:22px;padding:0 var(--space-xs);font-size:10px}.widget-data-grid.compact .dgw-cell{height:20px;padding:0 var(--space-xs);font-size:10px}.widget-data-grid.compact .dgw-row-header{min-width:80px;max-width:150px}[data-theme=dark] .dgw-loading-overlay{background:#121212b3}.dgw-body-wrapper::-webkit-scrollbar{width:8px;height:8px}.dgw-body-wrapper::-webkit-scrollbar-track{background:var(--surface-2)}.dgw-body-wrapper::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.dgw-body-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-dimmed)}.dgw-body-wrapper::-webkit-scrollbar-corner{background:var(--surface-2)}.widget-single-value{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);width:100%;height:100%;min-height:80px}.widget-single-value--empty{color:var(--text-tertiary);gap:var(--space-sm);font-size:var(--font-size-small)}.single-value__label{color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.single-value__display{display:flex;align-items:baseline;gap:var(--space-xs);color:var(--text-primary);line-height:1.2}.single-value__prefix,.single-value__suffix{color:var(--text-secondary)}.single-value__bool--true{color:var(--status-success)}.single-value__bool--false{color:var(--text-tertiary)}.single-value__text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-selector{display:flex;flex-direction:column;gap:var(--space-xs)}.cell-selector__row{display:flex;align-items:center;gap:var(--space-sm)}.cell-selector__label{font-size:var(--font-size-small);color:var(--text-secondary);min-width:52px;flex-shrink:0}.cell-selector__select{flex:1;min-width:0;padding:4px 6px;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);outline:none;cursor:pointer;transition:var(--transition-fast)}.cell-selector__select:hover{border-color:var(--accent-primary)}.cell-selector__select:focus{border-color:var(--accent-primary)}.cell-selector__select:disabled{opacity:.5;cursor:not-allowed}.cell-selector__dimensions{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-xs)}.cell-selector__dim-row{display:flex;align-items:center;gap:var(--space-sm)}.cell-selector__dim-name{font-size:var(--font-size-small);color:var(--text-secondary);min-width:52px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-selector__dim-value{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-xs);padding:3px 8px;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);text-align:left}.cell-selector__dim-value:hover{border-color:var(--accent-primary);background:var(--surface-3)}.cell-selector__dim-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-selector__dim-text--placeholder{color:var(--text-tertiary);font-style:italic}.cell-selector__dim-chevron{flex-shrink:0;color:var(--text-tertiary);transition:var(--transition-fast)}.cell-selector__dim-value:hover .cell-selector__dim-chevron{color:var(--text-secondary)}.cell-selector__loading{font-size:var(--font-size-small);color:var(--text-tertiary);padding:var(--space-xs) 0;font-style:italic}.theme-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.theme-panel-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:var(--space-lg)}.theme-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);background:var(--surface-2);flex-shrink:0}.theme-name-field{flex:1;min-width:0}.theme-name-display{color:var(--text-primary);font-size:var(--font-size-small);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-mode-toggle{display:flex;background:var(--surface-3);border-radius:var(--radius-sm);padding:2px;gap:2px}.mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:24px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.mode-btn:hover{color:var(--text-secondary);background:var(--hover-1)}.mode-btn.active{color:var(--accent-primary);background:var(--surface-1);box-shadow:0 1px 2px #00000014}.theme-section{border-bottom:1px solid var(--border-1)}.theme-section:last-child{border-bottom:none}.theme-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--surface-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.theme-section-header:hover{background:var(--hover-1)}.theme-section-header span{flex:1}.theme-section .section-chevron{transition:transform var(--transition-fast);opacity:.5}.theme-section.expanded .section-chevron{transform:rotate(0)}.theme-section:not(.expanded) .section-chevron{transform:rotate(-90deg)}.theme-section-content{display:none;padding:var(--space-sm) var(--space-md)}.theme-section.expanded .theme-section-content{display:block}.theme-grid-container,.theme-grid-header{margin-bottom:var(--space-sm)}.theme-grid-title{font-size:var(--font-size-small);font-weight:500;color:var(--text-secondary)}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.theme-grid-item{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:2px;padding:6px;height:36px;border:1px solid var(--border-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box}.theme-grid-item:hover{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.theme-grid-item.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary)}.theme-color-dots{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.theme-color-dot{width:16px;height:16px;border-radius:2px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.theme-grid-item-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--surface-1);color:var(--text-tertiary);font-size:9px;height:36px}.theme-grid-item-new:hover{color:var(--accent-primary);background:var(--accent-subtle)}.theme-grid-item-new svg{opacity:.6}.theme-fields{display:flex;flex-direction:column;gap:var(--space-sm)}.theme-field{display:flex;flex-direction:column;gap:var(--space-xs)}.theme-field-label{font-size:var(--font-size-small);color:var(--text-secondary);font-weight:500}.theme-field-control{display:flex;align-items:center;gap:var(--space-sm)}.color-picker-field .theme-field-control{flex-wrap:wrap}.color-picker-wrapper{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.color-picker-wrapper.disabled{opacity:.5;pointer-events:none}.color-swatch{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-1);cursor:pointer;flex-shrink:0}.color-text-input{flex:1;min-width:80px;padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-mono, monospace)}.color-text-input:focus{outline:none;border-color:var(--accent-primary)}.color-text-input:disabled{opacity:.6;cursor:not-allowed}.color-list-field .theme-field-control{flex-direction:column;align-items:stretch}.color-list-wrapper{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}.color-list-wrapper.disabled{opacity:.5;pointer-events:none}.color-list-items{display:flex;flex-direction:column;gap:4px}.color-list-item{display:flex;align-items:center;gap:var(--space-xs)}.color-list-item .color-swatch{width:24px;height:24px}.color-list-item .color-text-input{flex:1;min-width:60px;padding:4px var(--space-sm);font-size:11px}.color-item-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;padding:0;transition:all var(--transition-fast)}.color-item-remove:hover{background:var(--surface-red-subtle);color:var(--status-error)}.color-list-actions{display:flex;gap:var(--space-xs)}.color-list-btn{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.color-list-btn:hover:not(:disabled){background:var(--hover-1);color:var(--text-primary)}.color-list-btn:disabled{opacity:.5;cursor:not-allowed}.color-list-btn.add-btn:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.theme-input{width:100%;padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small)}.theme-input:focus{outline:none;border-color:var(--accent-primary)}.theme-input-number{width:80px}.theme-select{width:100%;padding:var(--space-xs) var(--space-sm);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer}.theme-select:focus{outline:none;border-color:var(--accent-primary)}.theme-checkbox{display:flex;align-items:center;cursor:pointer}.theme-checkbox input{width:16px;height:16px;cursor:pointer}.theme-toggle{position:relative;display:inline-block;width:36px;height:20px}.theme-toggle input{opacity:0;width:0;height:0}.theme-toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--surface-3);border-radius:10px;transition:var(--transition-fast)}.theme-toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:var(--transition-fast);box-shadow:0 1px 2px #0003}.theme-toggle input:checked+.theme-toggle-slider{background:var(--accent-primary)}.theme-toggle input:checked+.theme-toggle-slider:before{transform:translate(16px)}.theme-field-checkbox{flex-direction:row;align-items:center;justify-content:space-between}.theme-field-checkbox .theme-field-label{margin-bottom:0}.pcr-app{z-index:var(--z-index-dropdown, 1000)}.pcr-button{width:28px!important;height:28px!important;border-radius:var(--radius-sm)!important;border:1px solid var(--border-1)!important}.color-list-item .pcr-button{width:24px!important;height:24px!important}.pcr-app[data-theme=nano]{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000026}.pcr-app[data-theme=nano] .pcr-interaction input,.pcr-app[data-theme=nano] .pcr-interaction .pcr-result{background:var(--surface-1);border:1px solid var(--border-1);color:var(--text-primary);border-radius:var(--radius-sm)}.pcr-app[data-theme=nano] .pcr-interaction .pcr-save{background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm)}.pcr-app[data-theme=nano] .pcr-interaction .pcr-save:hover{background:var(--accent-hover)}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-1);background:var(--surface-2);flex-shrink:0}.sidebar-tab{flex:1;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-size-small);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center}.sidebar-tab:hover{color:var(--text-primary);background:var(--hover-1)}.sidebar-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.sidebar-tab-content{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sidebar-tab-content.active{display:flex}.sidebar-tab-wrapper,.theme-panel-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.flow-editor{flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.flow-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);gap:var(--space-md)}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:var(--space-sm)}.toolbar-title{font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.toolbar-separator{width:1px;height:20px;background:var(--border-1);margin:0 var(--space-xs)}.flow-state-badge{padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;border-radius:var(--radius-sm)}.badge-design{background:var(--surface-blue-subtle);color:var(--text-blue)}.badge-production{background:var(--surface-green-subtle);color:var(--text-green)}.badge-archived{background:var(--surface-3);color:var(--text-dimmed)}.mode-toggle{display:flex;background:var(--surface-3);border-radius:var(--radius-md);padding:2px}.mode-toggle-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 10px;background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.mode-toggle-btn:hover{color:var(--text-primary)}.mode-toggle-btn.active{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.mode-toggle-btn svg{width:14px;height:14px}.round-selector{display:flex;align-items:center;gap:var(--space-xs);margin-left:var(--space-sm)}.round-select{padding:4px 8px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-primary);cursor:pointer;min-width:140px}.save-indicator{font-size:var(--font-size-small);color:var(--text-dimmed)}.save-indicator.dirty{color:var(--text-yellow)}.flow-content{display:flex;flex:1;min-height:0;overflow:hidden}.flow-grid-wrapper{flex:1;min-width:0;overflow:auto;padding:var(--space-md);background:var(--surface-1)}.flow-grid{position:relative;display:flex;flex-direction:column}.step-headers{display:flex;position:sticky;top:0;z-index:10;background:var(--surface-1)}.step-header{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);background:var(--surface-2);border:1px solid var(--border-1);border-left:none;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);position:relative}.step-header:first-child{border-left:1px solid var(--border-1)}.step-header.selected{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.step-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.add-step-header{display:flex;align-items:center;justify-content:center}.lanes-container{display:flex;flex-direction:column}.flow-lane{display:flex}.flow-lane.selected{background:var(--accent-subtle)}.lane-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm);background:var(--surface-2);border:1px solid var(--border-1);border-top:none;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);position:relative;flex-shrink:0}.flow-lane:first-child .lane-header{border-top:1px solid var(--border-1)}.lane-header.selected{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.lane-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.inline-rename-input{background:var(--input-bg);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);outline:none;width:80px;height:20px}.header-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.lane-header:hover .header-action-btn,.step-header:hover .header-action-btn{opacity:1}.header-action-btn:hover{background:var(--hover-1);color:var(--text-primary)}.lane-cells{display:flex}.flow-cell{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-1);border-left:none;border-top:none;background:var(--surface-1);position:relative;transition:all var(--transition-fast)}.flow-lane:first-child .flow-cell{border-top:1px solid var(--border-1)}.flow-cell:first-child{border-left:1px solid var(--border-1)}.flow-cell.selected{border-color:var(--accent-primary);box-shadow:inset 0 0 0 2px var(--accent-primary);z-index:1}.flow-cell.empty:hover{background:var(--hover-1)}.flow-cell.task-state-pending{background:var(--surface-2)}.flow-cell.task-state-ready{background:var(--surface-yellow-subtle);border-color:var(--border-yellow)}.flow-cell.task-state-in_progress{background:var(--surface-blue-subtle);border-color:var(--border-blue)}.flow-cell.task-state-completed{background:var(--surface-green-subtle);border-color:var(--border-green)}.flow-cell.task-state-skipped{background:var(--surface-3);opacity:.6}.flow-cell.task-state-failed{background:var(--surface-red-subtle);border-color:var(--border-red)}.add-task-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:2px dashed var(--border-2);border-radius:var(--radius-md);color:var(--text-dimmed);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.flow-cell:hover .add-task-btn{opacity:1}.add-task-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-subtle)}.task-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-xs);cursor:pointer}.task-icon{width:24px;height:24px;margin-bottom:var(--space-xs);color:#76b789}.task-icon svg{width:100%;height:100%}.task-name{font-size:10px;text-align:center;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}.task-state-indicator{font-size:8px;text-transform:uppercase;margin-top:2px;padding:1px 4px;border-radius:2px;background:var(--surface-3);color:var(--text-dimmed)}.task-state-indicator.completed{background:var(--surface-green-subtle);color:var(--text-green)}.task-state-indicator.in_progress{background:var(--surface-blue-subtle);color:var(--text-blue)}.task-state-indicator.failed{background:var(--surface-red-subtle);color:var(--text-red)}.add-lane-row{display:flex;margin-top:var(--space-sm);justify-content:center}.add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:transparent;border:2px dashed var(--border-2);border-radius:var(--radius-md);color:var(--text-dimmed);font-size:var(--font-size-small);cursor:pointer;transition:all var(--transition-fast)}.add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-subtle)}.add-lane-btn{padding:var(--space-sm) var(--space-md)}.predecessor-arrows{position:absolute;top:0;left:0;pointer-events:none;z-index:5}.arrow-line.required{stroke:var(--accent-primary)}.arrow-line.optional{stroke:var(--text-dimmed)}.flow-sidebar-resize{width:4px;flex-shrink:0;align-self:stretch;cursor:ew-resize;background:var(--surface-2);-webkit-user-select:none;user-select:none;position:relative;border-left:1px solid var(--border-1)}.flow-sidebar-resize:before{content:"";position:absolute;inset:0;width:4px;background:var(--accent-primary);opacity:0;transition:opacity .15s ease .2s;pointer-events:none}.flow-sidebar-resize:hover:before{opacity:1}.flow-sidebar-resize:active:before,.flow-sidebar-resize.resizing:before{opacity:1;background:var(--accent-hover);transition:none}.flow-properties-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface-2);overflow-y:auto}.flow-properties-panel.resizing{pointer-events:none;transition:none}.properties-section{display:flex;flex-direction:column;height:100%}.properties-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-3);border-bottom:1px solid var(--border-1);font-weight:var(--font-weight-medium);font-size:var(--font-size-small);color:var(--text-secondary)}.properties-delete-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:all var(--transition-fast)}.properties-delete-btn:hover{background:var(--status-error);border-color:var(--status-error);color:var(--text-bright)}.properties-content{padding:var(--space-md);flex:1;overflow-y:auto}.property-group{margin-bottom:var(--space-md)}.property-group label{display:block;font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:var(--space-xs)}.property-input{width:100%;padding:var(--space-xs) var(--space-sm);background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-primary)}.property-input:focus{outline:none;border-color:var(--accent-primary)}.property-input:disabled{background:var(--surface-3);color:var(--text-dimmed)}textarea.property-input{resize:vertical;min-height:60px}.checkbox-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-small);color:var(--text-primary);cursor:pointer}.checkbox-label.small{font-size:11px}.predecessors-list{display:flex;flex-direction:column;gap:var(--space-xs)}.predecessor-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs);background:var(--surface-3);border-radius:var(--radius-sm)}.predecessor-name{flex:1;font-size:11px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer}.remove-btn:hover{color:var(--text-red);background:var(--surface-red-subtle)}.task-state-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-1)}.task-state-section h4{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0 0 var(--space-sm) 0}.flow-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-xl);text-align:center;color:var(--text-dimmed)}.flow-empty-state.design-mode{min-height:300px}.empty-state-content h3{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-large);color:var(--text-secondary)}.empty-state-content p{margin:0 0 var(--space-lg) 0;font-size:var(--font-size-small)}.empty-state-actions{display:flex;gap:var(--space-sm)}.flow-cell.automation-running{border-color:var(--accent-primary);box-shadow:inset 0 0 0 2px var(--accent-primary);background:var(--surface-blue-subtle);animation:automation-pulse 1.5s ease-in-out infinite}@keyframes automation-pulse{0%,to{opacity:1}50%{opacity:.7}}.flow-cell.automation-completed{border-color:var(--border-green);background:var(--surface-green-subtle)}.flow-cell.automation-failed{border-color:var(--border-red);background:var(--surface-red-subtle)}.contribution-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.toolbar-label{font-size:var(--font-size-small);color:var(--text-dimmed);font-style:italic}.contribution-tabs{display:flex;gap:0;background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;padding:0 var(--space-md)}.contribution-tab{padding:var(--space-sm) var(--space-md);border:none;background:transparent;font-size:var(--font-size-small);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.contribution-tab:hover{color:var(--text-primary);background:var(--hover-1)}.contribution-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:var(--font-weight-medium)}.contribution-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.contribution-content--panel{overflow:hidden;padding:0;display:flex;flex-direction:column}.contribution-settings{max-width:600px;display:flex;flex-direction:column;gap:var(--space-lg)}.settings-group{display:flex;flex-direction:column;gap:var(--space-xs)}.settings-group--inline{flex-direction:row;align-items:center}.settings-label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.settings-input,.settings-textarea{padding:var(--space-sm);background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-primary);font-family:var(--font-family-sans);outline:none;transition:border-color var(--transition-fast)}.settings-input:focus,.settings-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.settings-textarea{resize:vertical;min-height:60px}.settings-value{font-size:var(--font-size-small);color:var(--text-primary);padding:var(--space-sm) 0}.settings-btn{align-self:flex-start;padding:4px 10px;border:1px solid var(--border-1);background:var(--surface-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.settings-btn:hover{background:var(--hover-2)}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-tree-selectors{display:flex;gap:var(--space-sm);align-items:center}.settings-tree-select{flex:1;min-width:0}.settings-open-dict-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-1);background:var(--surface-3);border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.settings-open-dict-btn:hover{background:var(--hover-2);color:var(--accent-primary);border-color:var(--accent-primary)}.settings-tree-validation__error{font-size:var(--font-size-small);color:var(--status-error, #e74c3c);padding:var(--space-xs) 0}.settings-toggle-row{flex-direction:row;align-items:center;gap:var(--space-sm)}.assignment-tree{display:flex;flex-direction:column;font-size:var(--font-size-small)}.assignment-tree__toolbar{position:sticky;top:calc(-1 * var(--space-lg));z-index:2;background:var(--surface-1);padding-top:var(--space-lg);padding-bottom:var(--space-sm)}.assignment-tree__search{padding-bottom:var(--space-sm)}.assignment-tree__search-input{width:260px;padding:var(--space-xs) var(--space-sm);background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-primary);font-family:var(--font-family-sans);outline:none;transition:border-color var(--transition-fast)}.assignment-tree__search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.assignment-tree__search-input::placeholder{color:var(--text-dimmed)}.assignment-tree-empty{text-align:center;color:var(--text-dimmed);font-style:italic;padding:var(--space-xl)}.assignment-tree__header{display:flex;align-items:center;padding:var(--space-xs) 0;border-bottom:2px solid var(--border-1)}.assignment-tree__header .assignment-tree__col{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.assignment-tree__body{display:flex;flex-direction:column}.assignment-tree__row{display:flex;align-items:center;min-height:34px;border-bottom:1px solid var(--border-subtle, var(--border-1));transition:background var(--transition-fast)}.assignment-tree__row:hover{background:var(--hover-1)}.assignment-tree__node:nth-child(2n)>.assignment-tree__row{background:var(--surface-2)}.assignment-tree__node:nth-child(2n)>.assignment-tree__row:hover{background:var(--hover-1)}.assignment-tree__row--disabled{opacity:.5}.assignment-tree__row--disabled .assignment-tree__name{text-decoration:line-through}.assignment-tree__col{padding:var(--space-xs) var(--space-sm);min-width:0}.assignment-tree__col--name{flex:1.5;display:flex;align-items:center;gap:var(--space-xs);overflow:hidden}.assignment-tree__col--group{flex:1}.assignment-tree__col--formset{flex:.8}.assignment-tree__col--toggle{width:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.assignment-tree__toggle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.assignment-tree__toggle:hover{background:var(--hover-2);color:var(--text-primary)}.assignment-tree__toggle svg{transition:transform var(--transition-fast)}.assignment-tree__toggle--expanded svg{transform:rotate(90deg)}.assignment-tree__indent{display:inline-block;flex-shrink:0}.assignment-tree__toggle-spacer{display:inline-block;width:18px;flex-shrink:0}.assignment-tree__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.assignment-tree__disabled-cell{color:var(--text-dimmed);font-style:italic;-webkit-user-select:none;user-select:none}.assignment-tree .toggle-switch input:checked+.toggle-slider{background:var(--status-error)}.assignment-tree__select .searchable-select__trigger{height:26px;min-height:26px;font-size:var(--font-size-xs)}[data-required=true] .searchable-select__trigger--empty{border-color:var(--status-error, #e74c3c)}.contribution-formsets{display:flex;flex-direction:column;gap:var(--space-md)}.formsets-instruction{font-size:var(--font-size-small);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);line-height:1.5}.formsets-instruction strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.formset-card{border:1px solid var(--border-1);border-radius:var(--radius-md);overflow:hidden}.formset-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border-bottom:1px solid var(--border-1);-webkit-user-select:none;user-select:none}.formset-card--collapsed .formset-header{border-bottom:none}.formset-collapse-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:background var(--transition-fast)}.formset-collapse-btn:hover{background:var(--hover-2);color:var(--text-primary)}.formset-collapse-icon{transform:rotate(-90deg);transition:transform var(--transition-fast)}.formset-collapse-icon--open{transform:rotate(0)}.formset-name{flex:1;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.formset-actions{display:flex;gap:var(--space-xs)}.formset-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:all var(--transition-fast)}.formset-action-btn:hover{background:var(--hover-1);color:var(--accent-primary)}.formset-items{padding:var(--space-xs) var(--space-sm);display:flex;flex-direction:column;gap:1px;transition:background var(--transition-fast)}.formset-items--drag-over{background:var(--accent-subtle, rgba(var(--accent-primary-rgb, 59, 130, 246), .06));outline:2px dashed var(--accent-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.formset-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.formset-item:hover{background:var(--hover-1)}.formset-item-reorder{display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity var(--transition-fast)}.formset-item:hover .formset-item-reorder{opacity:1}.formset-reorder-btn{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:transparent;border-radius:2px;color:var(--text-dimmed);cursor:pointer;padding:0;transition:all var(--transition-fast)}.formset-reorder-btn:hover:not(:disabled){background:var(--hover-2);color:var(--text-primary)}.formset-reorder-btn:disabled{opacity:.25;cursor:not-allowed}.formset-item-type{font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:var(--radius-sm);flex-shrink:0}.formset-item-type--view{background:var(--surface-blue-subtle, rgba(59, 130, 246, .1));color:var(--text-blue, #3b82f6)}.formset-item-type--dashboard{background:var(--surface-green-subtle, rgba(34, 197, 94, .1));color:var(--text-green, #16a34a)}.formset-item-name{flex:1;font-size:var(--font-size-small);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formset-item-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.formset-item:hover .formset-item-delete{opacity:1}.formset-item-delete:hover{color:var(--status-error)}.formset-drop-zone{display:flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-sm);border:1px dashed var(--border-1);border-radius:var(--radius-sm);margin-top:var(--space-xs);transition:all var(--transition-fast);cursor:default}.formset-drop-zone--empty{padding:var(--space-lg)}.formset-drop-zone__text{font-size:var(--font-size-xs);color:var(--text-dimmed)}.formset-items--drag-over .formset-drop-zone{border-color:var(--accent-primary);background:var(--accent-subtle)}.formset-items--drag-over .formset-drop-zone__text{color:var(--accent-primary)}.sub-2col{display:flex;height:100%;border:1px solid var(--border-1);border-radius:var(--radius-sm);overflow:hidden}.sub-list{width:210px;min-width:140px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--surface-2)}.sub-list-item{display:flex;align-items:center;gap:var(--space-xs);padding:6px var(--space-sm);cursor:pointer;font-size:var(--font-size-small);color:var(--text-primary);border-bottom:1px solid var(--border-1);transition:background var(--transition-fast);position:relative;min-height:30px;border-left:3px solid transparent}.sub-list-item:hover{background:var(--hover-1)}.sub-list-item--open{border-left-color:var(--status-success)}.sub-list-item--active{background:var(--accent-subtle);color:var(--accent-primary)}.sub-list-item--active:hover{background:var(--accent-subtle)}.sub-state-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.sub-state-icon--open{color:var(--status-success)}.sub-state-icon--paused{color:var(--status-warning, #f59e0b)}.sub-state-icon--cancelled{color:var(--status-error)}.sub-state-icon--completed{color:var(--status-success)}.sub-state-icon--default{opacity:0}.sub-list-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-list-item-del{display:none;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-dimmed);cursor:pointer;padding:2px;border-radius:var(--radius-sm);flex-shrink:0}.sub-list-item:hover .sub-list-item-del{display:flex}.sub-list-item-del:hover{color:var(--status-error)}.sub-list-empty{padding:var(--space-md);font-size:var(--font-size-small);color:var(--text-dimmed);font-style:italic}.sub-list-add-row{display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);gap:var(--space-xs);border-bottom:1px solid var(--border-1)}.sub-list-add-input{flex:1;height:24px;padding:0 var(--space-xs);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);font-size:var(--font-size-small);background:var(--input-bg);color:var(--text-primary);outline:none}.sub-list-add-confirm,.sub-list-add-cancel{background:transparent;border:none;cursor:pointer;font-size:14px;padding:2px 3px;color:var(--text-dimmed);border-radius:var(--radius-sm)}.sub-list-add-confirm:hover{color:var(--status-success)}.sub-list-add-cancel:hover{color:var(--status-error)}.sub-list-add-btn{display:block;width:100%;padding:var(--space-sm);text-align:left;font-size:var(--font-size-small);color:var(--text-dimmed);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.sub-list-add-btn:hover{color:var(--accent-primary)}.sub-detail{flex:1;overflow-y:auto;background:var(--surface-1);display:flex;flex-direction:column}.sub-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-dimmed);font-size:var(--font-size-small);font-style:italic}.sub-detail-content{display:flex;flex-direction:column;height:100%}.sub-detail-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--border-1);background:var(--surface-2);flex-shrink:0;min-height:36px}.sub-ctrl-btn{display:inline-flex;align-items:center;gap:4px}.sub-detail-archive-btn,.sub-detail-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:transparent;color:var(--text-dimmed);cursor:pointer;transition:all var(--transition-fast)}.sub-detail-archive-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--surface-3)}.sub-detail-delete-btn:hover{color:var(--status-error);border-color:var(--status-error);background:var(--surface-3)}.sub-detail-toolbar-spacer{flex:1}.sub-detail-form{flex:1;overflow-y:auto;padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.sub-detail-group{display:flex;flex-direction:column;gap:3px}.sub-detail-row{display:flex;gap:var(--space-md)}.sub-detail-row .sub-detail-group{flex:1}.sub-detail-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:var(--font-weight-medium)}.sub-detail-input{height:28px;padding:0 var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--font-size-small);width:100%;box-sizing:border-box}.sub-detail-textarea{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--font-size-small);resize:vertical;min-height:52px;font-family:var(--font-family-sans);width:100%;box-sizing:border-box}.sub-detail-select{height:28px;padding:0 var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--font-size-small);width:100%;box-sizing:border-box;cursor:pointer}.sub-detail-input:focus,.sub-detail-textarea:focus,.sub-detail-select:focus{outline:none;border-color:var(--accent-primary)}.sub-detail-section{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-1)}.sub-detail-section-title{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:var(--font-weight-semibold)}.sub-detail-hint{font-size:var(--font-size-small);color:var(--text-dimmed);font-style:italic}.sub-element-picker-btn{height:28px;padding:0 var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--font-size-small);cursor:pointer;text-align:left;display:flex;align-items:center;width:100%;box-sizing:border-box;transition:border-color var(--transition-fast)}.sub-element-picker-btn:hover{border-color:var(--accent-primary)}.sub-element-picker-btn--none{color:var(--text-dimmed)}.sub-automation-row{display:flex;align-items:center;gap:var(--space-sm)}.sub-automation-select-wrap{flex:1;min-width:0}.sub-automation-name{font-size:var(--font-size-small);color:var(--text-primary)}.sub-automation-remove-btn{background:transparent;border:none;color:var(--text-dimmed);cursor:pointer;font-size:16px;padding:2px 4px;line-height:1;border-radius:var(--radius-sm);flex-shrink:0}.sub-automation-remove-btn:hover{color:var(--status-error)}.sub-add-automation-btn{align-self:flex-start;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.sub-add-automation-btn:hover{color:var(--accent-primary)}.contribution-tasks-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.ct-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;gap:var(--space-md)}.ct-toolbar-left,.ct-toolbar-right{display:flex;align-items:center;gap:var(--space-sm)}.ct-title{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-base)}.ct-state-badge{padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm)}.ct-state-badge--design{background:var(--surface-blue-subtle);color:var(--text-blue)}.ct-state-badge--production{background:var(--surface-green-subtle);color:var(--text-green)}.ct-state-badge--archived{background:var(--surface-3);color:var(--text-dimmed)}.ct-submission-label{font-size:var(--font-size-small);color:var(--text-secondary)}.ct-submission-select{padding:3px 8px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);color:var(--text-primary);cursor:pointer;max-width:280px}.ct-body{flex:1;overflow-y:auto;padding:0}.ct-empty{padding:var(--space-xl);text-align:center;color:var(--text-dimmed);font-size:var(--font-size-small);font-style:italic}.ct-submission-header{padding:var(--space-md) var(--space-lg);background:var(--surface-2);border-bottom:1px solid var(--border-1);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.ct-submission-info{display:flex;align-items:center;gap:var(--space-sm)}.ct-submission-name{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-small)}.ct-submission-state{padding:2px 6px;font-size:9px;font-weight:var(--font-weight-medium);text-transform:uppercase;border-radius:var(--radius-sm)}.ct-submission-state--open{background:var(--surface-green-subtle);color:var(--text-green)}.ct-submission-state--paused{background:var(--surface-yellow-subtle, var(--surface-3));color:var(--text-yellow, var(--status-warning))}.ct-submission-state--cancelled,.ct-submission-state--completed,.ct-submission-state--archived{background:var(--surface-3);color:var(--text-dimmed)}.ct-submission-due{font-size:var(--font-size-xs);color:var(--text-tertiary)}.ct-progress{display:flex;align-items:center;gap:var(--space-sm);min-width:200px}.ct-progress-bar{flex:1;height:6px;border-radius:3px;overflow:hidden;background:var(--surface-4);display:flex}.ct-progress-seg{height:100%;transition:width var(--transition-normal)}.ct-progress-seg--approved{background:var(--status-success)}.ct-progress-seg--submitted{background:var(--status-info)}.ct-progress-seg--in-progress{background:var(--status-warning)}.ct-progress-seg--not-started{background:var(--surface-4)}.ct-progress-text{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.ct-tree{padding:var(--space-sm) 0}.ct-tree-container{display:flex;flex-direction:column}.ct-node-row{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);min-height:32px;cursor:default;transition:background var(--transition-fast)}.ct-node-row:hover{background:var(--hover-1)}.ct-node-toggle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;cursor:pointer;color:var(--text-tertiary);padding:0;flex-shrink:0;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ct-node-toggle:hover{background:var(--hover-2);color:var(--text-primary)}.ct-node-toggle-spacer{width:18px;flex-shrink:0}.ct-node-icon{display:flex;align-items:center;flex-shrink:0}.ct-node-name{font-size:var(--font-size-small);color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-node-progress{font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--surface-3);padding:1px 6px;border-radius:8px;flex-shrink:0}.ct-node-state{padding:1px 6px;font-size:9px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.02em;border-radius:var(--radius-sm);flex-shrink:0}.ct-node-state--not-started{background:var(--surface-3);color:var(--text-dimmed)}.ct-node-state--in-progress{background:var(--surface-yellow-subtle, var(--surface-3));color:var(--text-yellow, var(--status-warning))}.ct-node-state--submitted{background:var(--surface-blue-subtle);color:var(--text-blue)}.ct-node-state--approved{background:var(--surface-green-subtle);color:var(--text-green)}.ct-node-state--rejected{background:var(--surface-error-subtle, var(--surface-3));color:var(--status-error)}.ct-node-role{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:var(--font-weight-semibold);border-radius:50%;background:var(--surface-3);color:var(--text-secondary);flex-shrink:0;cursor:help}.ct-node-actions{display:flex;gap:var(--space-xs);flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.ct-node-row:hover .ct-node-actions{opacity:1}.ct-action-btn{padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ct-action-btn:hover{background:var(--hover-2)}.ct-action-btn--start{color:var(--text-blue);border-color:var(--text-blue)}.ct-action-btn--start:hover{background:var(--surface-blue-subtle)}.ct-action-btn--submit{color:var(--text-blue);border-color:var(--text-blue)}.ct-action-btn--submit:hover{background:var(--surface-blue-subtle)}.ct-action-btn--approve{color:var(--text-green);border-color:var(--text-green)}.ct-action-btn--approve:hover{background:var(--surface-green-subtle)}.ct-action-btn--reject{color:var(--status-error);border-color:var(--status-error)}.ct-action-btn--reject:hover{background:var(--surface-error-subtle, var(--surface-3))}.ct-body::-webkit-scrollbar{width:8px}.ct-body::-webkit-scrollbar-track{background:transparent}.ct-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:4px}.ct-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.ct-flat-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.ct-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ct-card:hover{border-color:var(--border-1);background:var(--hover-1)}.ct-card-main{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0;cursor:pointer}.ct-card-icon{display:flex;align-items:center;flex-shrink:0}.ct-card-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.ct-card-name{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-card-path{font-size:var(--font-size-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-card-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.cw-takeover{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.contribution-workspace{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.cw-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;gap:var(--space-md);min-height:40px}.cw-header-left,.cw-header-right{display:flex;align-items:center;gap:var(--space-sm)}.cw-header-left{flex:1;min-width:0;overflow:hidden}.cw-back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-1);background:var(--surface-1);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:all var(--transition-fast)}.cw-back-btn:hover{background:var(--hover-2);color:var(--text-primary);border-color:var(--border-2)}.cw-breadcrumb{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-small);color:var(--text-secondary);min-width:0;overflow:hidden}.cw-crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cw-crumb--active{color:var(--text-primary);font-weight:var(--font-weight-medium)}.cw-crumb-sep{color:var(--text-dimmed);flex-shrink:0;margin:0 2px}.cw-state{padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);flex-shrink:0;white-space:nowrap}.cw-state--not-started{background:var(--surface-3);color:var(--text-dimmed)}.cw-state--in-progress{background:var(--surface-yellow-subtle, var(--surface-3));color:var(--text-yellow, var(--status-warning))}.cw-state--submitted{background:var(--surface-blue-subtle);color:var(--text-blue)}.cw-state--approved{background:var(--surface-green-subtle);color:var(--text-green)}.cw-state--rejected{background:var(--surface-error-subtle, var(--surface-3));color:var(--status-error)}.cw-role-badge{padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);flex-shrink:0;white-space:nowrap}.cw-role-badge--contribute{background:var(--surface-blue-subtle);color:var(--text-blue)}.cw-role-badge--approve{background:var(--surface-green-subtle);color:var(--text-green)}.cw-role-badge--view{background:var(--surface-3);color:var(--text-secondary)}.cw-action-btn{padding:4px 14px;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.cw-action-btn:hover{background:var(--hover-2)}.cw-action-btn--start{color:var(--text-blue);border-color:var(--text-blue)}.cw-action-btn--start:hover{background:var(--surface-blue-subtle)}.cw-action-btn--submit{color:var(--text-blue);border-color:var(--text-blue);background:var(--surface-blue-subtle)}.cw-action-btn--submit:hover{filter:brightness(.95)}.cw-action-btn--approve{color:var(--text-green);border-color:var(--text-green)}.cw-action-btn--approve:hover{background:var(--surface-green-subtle)}.cw-action-btn--reject{color:var(--status-error);border-color:var(--status-error)}.cw-action-btn--reject:hover{background:var(--surface-error-subtle, var(--surface-3))}.cw-action-info{font-size:var(--font-size-small);color:var(--text-dimmed);font-style:italic}.cw-action-info--success{color:var(--text-green);font-style:normal;font-weight:var(--font-weight-medium)}.cw-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.cw-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-xl);text-align:center;gap:var(--space-sm)}.cw-empty-icon{opacity:.4;margin-bottom:var(--space-sm)}.cw-empty-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.cw-empty-desc{font-size:var(--font-size-small);color:var(--text-dimmed);max-width:400px;line-height:1.5}.cw-editor-instance{flex:1;flex-direction:column;overflow:hidden;min-height:0}.cw-editor-instance[style*="display: flex"]{display:flex!important}.cw-sheet-bar{display:flex;align-items:center;gap:0;background:var(--surface-2);border-top:1px solid var(--border-1);flex-shrink:0;min-height:32px;padding:0 var(--space-sm)}.cw-formset-selector{display:flex;align-items:center;padding-right:var(--space-sm);border-right:1px solid var(--border-1);margin-right:var(--space-sm)}.cw-formset-select{padding:2px 6px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-primary);cursor:pointer;max-width:160px}.cw-sheet-tabs{display:flex;align-items:center;gap:0;overflow-x:auto;flex:1}.cw-sheet-tab{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:none;background:transparent;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-top:2px solid transparent;transition:all var(--transition-fast);min-height:30px}.cw-sheet-tab:hover{color:var(--text-primary);background:var(--hover-1)}.cw-sheet-tab--active{color:var(--accent-primary);background:var(--surface-1);border-top-color:var(--accent-primary);font-weight:var(--font-weight-medium)}.cw-sheet-tabs::-webkit-scrollbar{height:3px}.cw-sheet-tabs::-webkit-scrollbar-track{background:transparent}.cw-sheet-tabs::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:2px}.drawer-panel[data-drawer=comments] .drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-panel[data-drawer=comments] .drawer-title{display:flex;align-items:center;gap:var(--space-sm)}.drawer-panel[data-drawer=comments] .drawer-header-actions{display:flex;align-items:center;gap:var(--space-xs)}.back-button{background:none;border:none;padding:var(--space-xs);cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.back-button:hover{background:var(--hover-1);color:var(--text-primary)}.back-button.hidden{display:none}.compose-header-input{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);min-width:0;position:relative}.compose-header-input.hidden{display:none}.compose-header-input .compose-recipient-input{flex:1;min-width:80px;background:transparent;border:none;font-size:var(--font-size-small);color:var(--text-primary);outline:none;padding:var(--space-xs) 0}.compose-header-input .compose-recipient-input::placeholder{color:var(--text-dimmed)}.compose-header-input .compose-search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface-1);border:1px solid var(--border-2);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:10}.new-thread-btn{background:var(--accent-primary);border:none;border-radius:var(--radius-md);padding:var(--space-xs);cursor:pointer;color:var(--text-bright);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.new-thread-btn:hover{background:var(--accent-hover);box-shadow:0 2px 8px rgba(var(--accent-primary-rgb, 59, 130, 246),.35)}.new-thread-btn.hidden{display:none}.comments-filters{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1)}.comments-filters.hidden{display:none}.filter-chip{padding:var(--space-xs) var(--space-md);border:1px solid var(--border-2);border-radius:16px;background:transparent;font-size:var(--font-size-small);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.filter-chip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-bright)}.comments-thread-list{flex:1;overflow-y:auto}.comments-thread-list.hidden{display:none}.comments-thread-item{display:flex;align-items:flex-start;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);cursor:pointer;transition:background-color var(--transition-fast);gap:var(--space-sm);position:relative}.comments-thread-item:hover{background:var(--hover-1)}.comments-thread-item.unread{background:var(--surface-3)}.comments-thread-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-primary)}.thread-avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);overflow:hidden}.thread-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.thread-avatar.object{border-radius:var(--radius-md);background:var(--accent-primary);color:var(--text-bright)}.thread-avatar.object img{border-radius:var(--radius-md)}.thread-content{flex:1;min-width:0}.thread-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.thread-subject{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-time{font-size:var(--font-size-xs);color:var(--text-dimmed);flex-shrink:0;margin-left:var(--space-sm)}.thread-preview{font-size:var(--font-size-small);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:2px}.thread-target{font-size:var(--font-size-xs);color:var(--text-dimmed);background:var(--surface-3);padding:2px var(--space-sm);border-radius:var(--radius-sm)}.thread-meta .unread-badge{background:var(--accent-primary);color:var(--text-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.task-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.task-badge svg{width:10px;height:10px}.task-badge.open{background:var(--status-warning-bg);color:var(--status-warning)}.task-badge.completed{background:var(--status-success-bg);color:var(--status-success)}.task-badge.overdue{background:var(--status-error-bg);color:var(--status-error)}.due-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.due-date.overdue{color:var(--status-error);font-weight:var(--font-weight-medium)}.task-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1)}.task-checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-small);color:var(--text-secondary)}.task-checkbox-label input[type=checkbox]{display:none}.task-checkbox-custom{width:18px;height:18px;border:2px solid var(--border-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.task-checkbox-custom.completed{background:var(--status-success);border-color:var(--status-success)}.task-checkbox-custom.completed:after{content:"";width:10px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='white'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E") center/contain no-repeat}.task-due-date{display:flex;align-items:center;gap:var(--space-sm)}.due-date-input{background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);color:var(--text-primary)}.due-date-display{font-size:var(--font-size-small);color:var(--text-secondary)}.due-date-display.overdue{color:var(--status-error)}.comments-thread-detail{display:flex;flex-direction:column;flex:1;overflow:hidden}.comments-thread-detail.hidden{display:none}.thread-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1);background:var(--surface-2)}.thread-info{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1}.thread-info .thread-subject{font-size:var(--font-size-normal);font-weight:var(--font-weight-medium)}.thread-target-badge{font-size:var(--font-size-xs);background:var(--accent-subtle);color:var(--accent-primary);padding:2px var(--space-sm);border-radius:var(--radius-sm)}.thread-actions{display:flex;align-items:center;gap:var(--space-xs)}.task-toggle-btn,.thread-menu-btn{background:none;border:none;padding:var(--space-xs);cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.task-toggle-btn:hover,.thread-menu-btn:hover{background:var(--hover-1);color:var(--text-primary)}.task-toggle-btn.is-task{color:var(--status-success)}.messages-list{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);justify-content:flex-end}.comment-message{display:flex;gap:var(--space-sm);max-width:85%;align-items:flex-start}.comment-message.own{flex-direction:row-reverse;margin-left:auto}.message-avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.message-content{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:100%}.comment-message.own .message-content{align-items:flex-end}.message-meta{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-xs)}.comment-message.own .message-meta{flex-direction:row-reverse}.message-author{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.message-time{font-size:var(--font-size-xs);color:var(--text-dimmed)}.message-edited{font-size:var(--font-size-xs);font-style:italic;color:var(--text-dimmed)}.message-bubble{background:var(--surface-4);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-sm);max-width:100%}.comment-message.own .message-bubble{background:color-mix(in srgb,var(--accent-primary) 60%,transparent);color:var(--text-bright)}.message-text{font-size:var(--font-size-normal);line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.typing-indicator{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small);color:var(--text-secondary)}.typing-indicator.hidden{display:none}.typing-dots{display:flex;gap:3px}.typing-dot{width:6px;height:6px;background:var(--text-dimmed);border-radius:50%;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.comments-create-thread{flex:1;overflow-y:auto}.comments-create-thread.hidden{display:none}.create-thread-form{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-sm)}.form-label input[type=checkbox]{margin:0}.form-input,.form-select,.form-textarea{background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-normal);color:var(--text-primary);font-family:var(--font-family-sans);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary)}.form-textarea{resize:vertical;min-height:80px}.task-due-date-group.hidden{display:none}.attached-object{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--surface-3);border-radius:var(--radius-sm)}.attached-type{font-size:var(--font-size-xs);text-transform:uppercase;background:var(--accent-subtle);color:var(--accent-primary);padding:2px var(--space-sm);border-radius:var(--radius-sm)}.attached-name{font-size:var(--font-size-small);color:var(--text-primary)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.comment-compose-area{border-top:1px solid var(--border-1);background:var(--surface-2);display:flex;flex-direction:column}.comment-compose-area.hidden{display:none}.drawer-panel[data-drawer=comments]{display:flex;flex-direction:column;overflow:hidden}.drawer-panel[data-drawer=comments] .drawer-content{flex:1;overflow-y:auto;overflow-x:hidden}.compose-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.compose-tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);background:var(--accent-subtle);border:1px solid var(--accent-primary);border-radius:12px;font-size:var(--font-size-xs);color:var(--accent-primary);max-width:200px}.compose-tag.user{background:var(--surface-3);border-color:var(--border-2);color:var(--text-primary)}.compose-tag.group{background:var(--status-info-bg);border-color:var(--status-info);color:var(--status-info)}.compose-tag-icon{width:12px;height:12px;flex-shrink:0}.compose-tag-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-tag-remove{background:none;border:none;padding:0;cursor:pointer;color:inherit;opacity:.6;display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;transition:opacity var(--transition-fast)}.compose-tag-remove:hover{opacity:1}.compose-tag-remove svg{width:10px;height:10px}.compose-search-dropdown.hidden{display:none}.compose-search-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background-color var(--transition-fast)}.compose-search-item:hover,.compose-search-item.selected{background:var(--hover-1)}.compose-search-item-avatar{width:24px;height:24px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);overflow:hidden;flex-shrink:0}.compose-search-item-avatar img{width:100%;height:100%;object-fit:cover}.compose-search-item-avatar.group{border-radius:var(--radius-sm);background:var(--status-info-bg);color:var(--status-info)}.compose-search-item-info{flex:1;min-width:0}.compose-search-item-name{font-size:var(--font-size-small);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-search-item-type{font-size:var(--font-size-xs);color:var(--text-dimmed)}.compose-search-empty{padding:var(--space-md);text-align:center;font-size:var(--font-size-small);color:var(--text-dimmed);font-style:italic}.compose-search-empty.error{color:var(--status-error);font-style:normal;font-weight:var(--font-weight-medium)}.compose-recipient-input.error{color:var(--status-error)}.compose-header-input.shake{animation:shake .4s ease-in-out}.compose-task-bar{display:none;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-1)}.compose-task-bar:not(.hidden){display:flex}.compose-task-checkbox{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-small);color:var(--text-secondary)}.compose-task-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.compose-due-date{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);transition:opacity var(--transition-fast)}.compose-due-date.dimmed{opacity:.4;pointer-events:none}.compose-due-date svg{flex-shrink:0}.due-date-input{background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-small);color:var(--text-primary);font-family:var(--font-family-sans)}.due-date-input:focus{outline:none;border-color:var(--accent-primary)}.due-date-input:disabled{background:transparent;border-color:transparent}.compose-input-row{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);align-items:flex-end}.comment-input{flex:1;background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-normal);font-family:var(--font-family-sans);color:var(--text-primary);resize:none;min-height:36px;max-height:120px;transition:border-color var(--transition-fast)}.comment-input:focus{outline:none;border-color:var(--accent-primary)}.comment-input::placeholder{color:var(--text-dimmed)}.comment-submit-btn{background:var(--accent-primary);border:none;border-radius:var(--radius-md);padding:var(--space-sm);cursor:pointer;color:var(--text-bright);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);min-width:36px;height:36px}.comment-submit-btn:hover{background:var(--accent-hover);box-shadow:0 2px 8px rgba(var(--accent-primary-rgb, 59, 130, 246),.35)}.comment-submit-btn:disabled{background:var(--surface-4);cursor:not-allowed;opacity:.5}.comment-submit-btn:disabled:hover{box-shadow:none}.compose-hint{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs);color:var(--text-dimmed);background:var(--surface-3)}.compose-hint.hidden{display:none}.compose-hint kbd{background:var(--surface-4);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:1px 4px;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.comments-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center}.comments-empty-state.small{padding:var(--space-lg)}.comments-empty-state svg{width:48px;height:48px;fill:var(--text-dimmed);margin-bottom:var(--space-md)}.comments-empty-state .title{font-size:var(--font-size-normal);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-xs)}.comments-empty-state .description{font-size:var(--font-size-small);color:var(--text-secondary)}.right-sidebar-icon[data-drawer=comments]{position:relative}.right-sidebar-icon[data-drawer=comments] .unread-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;background:var(--status-error);color:var(--text-bright);font-size:10px;font-weight:var(--font-weight-semibold);border-radius:10px;display:flex;align-items:center;justify-content:center}.message-ref-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;background:var(--surface-4);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);vertical-align:middle;margin:0 2px}.message-ref-chip:hover{background:var(--accent-primary);color:var(--text-bright)}.message-ref-icon{width:14px;height:14px;flex-shrink:0}.message-ref-text{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.comment-message.own .message-ref-chip{background:#fff3}.comment-message.own .message-ref-chip:hover{background:#ffffff59}.experiment-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.experiment-editor-content{flex:1;height:100%;min-height:0;overflow:hidden;background:var(--surface-1)}.experiment-editor-iframe{width:100%;height:100%;border:none;display:block;background:var(--surface-1)}.tx-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.tx-header{display:flex;align-items:center;justify-content:space-between;height:35px;padding:0 var(--space-md) 0 var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.tx-header-title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.tx-open-btn{opacity:0;transition:opacity var(--transition-fast)}.tx-header:hover .tx-open-btn{opacity:1}.tx-body{flex:1;overflow-y:auto;padding:var(--space-sm) 0 var(--space-lg)}.tx-body::-webkit-scrollbar{width:4px}.tx-body::-webkit-scrollbar-track{background:transparent}.tx-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:2px}.tx-section{margin-bottom:var(--space-xs)}.tx-section-title{padding:var(--space-sm) var(--space-md) 3px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.tx-item{display:flex;align-items:center;gap:var(--space-sm);padding:5px var(--space-md);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-small);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),color var(--transition-fast)}.tx-item:hover{background:var(--hover-1);color:var(--text-primary)}.tx-item.active{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--accent-primary);font-weight:var(--font-weight-medium)}.tx-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--surface-5)}.tx-dot--error{background:var(--status-error)}.tx-dot--warn{background:var(--status-warning)}.tx-dot--info{background:var(--status-info)}.tx-dot--ok{background:var(--status-success)}.tx-dot--muted{background:var(--surface-5)}.tx-icon{width:14px;height:14px;flex-shrink:0;color:var(--text-dimmed);display:flex;align-items:center}.tx-item.active .tx-icon{color:var(--accent-primary)}.tx-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:15px;padding:0 4px;background:var(--surface-4);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:7px;flex-shrink:0}.tx-badge--danger{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.tx-item.active .tx-badge{background:var(--accent-primary);color:var(--text-bright)}.tx-divider{height:1px;background:var(--border-1);margin:var(--space-sm) var(--space-md)}.ti-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden}.ti-toolbar{display:flex;align-items:center;justify-content:space-between;height:35px;padding:0 var(--space-md);background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;gap:var(--space-sm)}.ti-toolbar-icon{display:flex;align-items:center;color:var(--text-secondary)}.ti-title{font-size:var(--font-size-normal);font-weight:var(--font-weight-medium);color:var(--text-primary)}.ti-toolbar-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;background:var(--accent-primary);color:var(--text-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:8px;line-height:1}.ti-sort-select{height:24px;padding:0 var(--space-sm);border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-secondary);font-size:var(--font-size-small);font-family:var(--font-family-sans);cursor:pointer;outline:none;transition:border-color var(--transition-fast),color var(--transition-fast)}.ti-sort-select:hover{border-color:var(--border-2);color:var(--text-primary)}.ti-search-wrap{position:relative;display:flex;align-items:center}.ti-search-icon{position:absolute;left:6px;color:var(--text-dimmed);pointer-events:none}.ti-search-input{height:24px;padding:0 var(--space-sm) 0 24px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:var(--font-size-small);font-family:var(--font-family-sans);outline:none;width:180px;transition:border-color var(--transition-fast),width var(--transition-fast)}.ti-search-input::placeholder{color:var(--text-dimmed)}.ti-search-input:focus{border-color:var(--accent-primary);width:240px}.ti-body{display:flex;flex:1;min-height:0;overflow:hidden}.ti-list-pane{flex:1;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border-1)}.ti-list-header{display:flex;align-items:center;height:27px;padding:0 var(--space-md) 0 calc(3px + var(--space-sm));background:var(--surface-2);border-bottom:1px solid var(--border-1);flex-shrink:0;gap:var(--space-sm)}.ti-lh-task,.ti-lh-source,.ti-lh-due{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.3px;-webkit-user-select:none;user-select:none}.ti-lh-task{flex:1;cursor:pointer}.ti-lh-task:hover{color:var(--text-secondary)}.ti-lh-source{width:90px;flex-shrink:0}.ti-lh-due{width:82px;flex-shrink:0;text-align:right;cursor:pointer}.ti-lh-due:hover{color:var(--text-secondary)}.ti-list-body{flex:1;overflow-y:auto;overflow-x:hidden}.ti-list-body::-webkit-scrollbar{width:6px}.ti-list-body::-webkit-scrollbar-track{background:transparent}.ti-list-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:3px}.ti-list-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg)}.ti-task-row{display:flex;align-items:stretch;min-height:56px;border-bottom:1px solid var(--border-1);cursor:pointer;transition:background var(--transition-fast)}.ti-task-row:hover{background:var(--hover-1)}.ti-task-row.selected{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.ti-task-row.selected:hover{background:color-mix(in srgb,var(--accent-primary) 12%,transparent)}.ti-stripe{width:3px;flex-shrink:0;background:var(--surface-4);transition:background var(--transition-fast)}.ti-task-row[data-urgency=overdue] .ti-stripe{background:var(--status-error)}.ti-task-row[data-urgency=today] .ti-stripe{background:var(--status-warning)}.ti-task-row[data-urgency=week] .ti-stripe{background:var(--status-info)}.ti-task-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-sm)}.ti-task-row-top{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.ti-task-title{flex:1;font-size:var(--font-size-normal);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ti-task-row[data-urgency=overdue] .ti-task-title{color:var(--status-error)}.ti-source-chip{display:inline-flex;align-items:center;height:15px;padding:0 6px;border-radius:7px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;flex-shrink:0}.ti-source-chip--contribution{background:color-mix(in srgb,var(--status-info) 14%,transparent);color:var(--status-info)}.ti-source-chip--approval{background:color-mix(in srgb,var(--status-success) 14%,transparent);color:var(--status-success)}.ti-source-chip--flow{background:color-mix(in srgb,#6B2FBB 12%,transparent);color:#6b2fbb}[data-theme=dark] .ti-source-chip--flow{background:color-mix(in srgb,#A78BFA 14%,transparent);color:#a78bfa}.ti-due-chip{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;flex-shrink:0;min-width:72px;text-align:right}.ti-task-row[data-urgency=overdue] .ti-due-chip{color:var(--status-error);font-weight:var(--font-weight-medium)}.ti-task-row[data-urgency=today] .ti-due-chip{color:var(--status-warning);font-weight:var(--font-weight-medium)}.ti-task-row-bottom{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.ti-task-meta{flex:1;font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ti-status-dot{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-dimmed);white-space:nowrap;flex-shrink:0}.ti-status-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--surface-4)}.ti-status-dot--pending:before{background:var(--surface-5)}.ti-status-dot--in_progress:before{background:var(--status-warning)}.ti-status-dot--submitted:before{background:var(--status-info)}.ti-status-dot--completed:before{background:var(--status-success)}.ti-status-dot--not_started:before{background:var(--surface-5)}.ti-list-empty,.ti-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-md);color:var(--text-dimmed);font-size:var(--font-size-small);padding:var(--space-xxl);text-align:center}.ti-list-empty svg{opacity:.25}.ti-detail-pane{width:340px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-1)}.ti-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--space-md);color:var(--text-dimmed);font-size:var(--font-size-small);padding:var(--space-xxl);text-align:center;-webkit-user-select:none;user-select:none}.ti-detail-empty svg{opacity:.2}.ti-detail-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.ti-detail-content::-webkit-scrollbar{width:6px}.ti-detail-content::-webkit-scrollbar-track{background:transparent}.ti-detail-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:3px}.ti-detail-header{padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-1);flex-shrink:0}.ti-detail-urgency{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.4px;margin-bottom:var(--space-xs)}.ti-detail-urgency--overdue{color:var(--status-error)}.ti-detail-urgency--today{color:var(--status-warning)}.ti-detail-urgency--week{color:var(--status-info)}.ti-detail-title{font-size:14px;font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.35;margin:0 0 var(--space-sm) 0}.ti-detail-status{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-sm);border-radius:9px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.ti-detail-status--pending{background:var(--surface-3);color:var(--text-secondary)}.ti-detail-status--in_progress{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.ti-detail-status--submitted{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.ti-detail-status--completed{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.ti-detail-meta{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-1);display:flex;flex-direction:column;gap:5px}.ti-meta-row{display:flex;gap:var(--space-sm);align-items:baseline}.ti-meta-label{width:78px;flex-shrink:0;font-size:var(--font-size-small);color:var(--text-dimmed)}.ti-meta-value{flex:1;font-size:var(--font-size-small);color:var(--text-primary);word-break:break-word}.ti-meta-value--overdue{color:var(--status-error);font-weight:var(--font-weight-medium)}.ti-meta-value--today{color:var(--status-warning);font-weight:var(--font-weight-medium)}.ti-detail-section{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-1)}.ti-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-dimmed);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-xs)}.ti-detail-text{font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.55}.ti-node-state{display:inline-flex;margin-top:5px}.ti-detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);margin-top:auto;border-top:1px solid var(--border-1);flex-shrink:0}.ti-action-btn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 var(--space-md);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);font-family:var(--font-family-sans);cursor:pointer;transition:all var(--transition-fast);background:var(--surface-2);color:var(--text-primary);white-space:nowrap}.ti-action-btn:hover{background:var(--hover-2);border-color:var(--border-2)}.ti-action-btn--primary{background:var(--accent-primary);color:var(--text-bright);border-color:var(--accent-primary)}.ti-action-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ti-action-btn--approve{color:var(--status-success);border-color:var(--status-success);background:transparent}.ti-action-btn--approve:hover{background:color-mix(in srgb,var(--status-success) 12%,transparent)}.ti-action-btn--reject{color:var(--status-error);border-color:var(--status-error);background:transparent}.ti-action-btn--reject:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.ti-action-btn--open{color:var(--text-secondary)}.content-viewer{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden;position:relative}.cv-toolbar{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle);background:var(--surface-2);flex-shrink:0}.cv-breadcrumb{font-size:var(--font-size-small);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.cv-meta-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.cv-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cv-badge--beginner{background:color-mix(in srgb,#22C55E 15%,transparent);color:#22c55e}.cv-badge--intermediate{background:color-mix(in srgb,#F59E0B 15%,transparent);color:#f59e0b}.cv-badge--advanced{background:color-mix(in srgb,#E34234 15%,transparent);color:#e34234}.cv-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-small);color:var(--text-muted)}.cv-meta-item svg{flex-shrink:0}.cv-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.cv-body{max-width:780px;margin:0 auto;padding:var(--space-lg) var(--space-xl) 160px}.cv-article{color:var(--text-primary);line-height:1.7;font-size:14px}.cv-h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-md);line-height:1.3}.cv-h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:var(--space-xl) 0 var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.cv-h2:first-child,.cv-h1+.cv-h2{border-top:none;margin-top:var(--space-md)}.cv-h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:var(--space-md) 0 var(--space-xs)}.cv-h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin:var(--space-sm) 0 4px;text-transform:uppercase;letter-spacing:.04em}.cv-p{margin:0 0 var(--space-sm);color:var(--text-secondary)}.cv-hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-lg) 0}.cv-ul,.cv-ol{margin:0 0 var(--space-sm);padding-left:24px;color:var(--text-secondary)}.cv-ul li,.cv-ol li{margin-bottom:4px;line-height:1.6}.cv-blockquote{margin:var(--space-sm) 0;padding:var(--space-sm) var(--space-md);border-left:3px solid var(--accent-primary);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);font-style:italic}.cv-code{font-family:var(--font-family-mono, "Fira Code", monospace);font-size:12px;background:var(--surface-3, var(--surface-2));color:var(--accent-primary);padding:1px 5px;border-radius:3px;border:1px solid var(--border-subtle)}.cv-code-block{margin:var(--space-sm) 0;padding:var(--space-sm) var(--space-md);background:var(--surface-3, var(--surface-2));border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow-x:auto}.cv-code-block code{font-family:var(--font-family-mono, "Fira Code", monospace);font-size:12px;line-height:1.6;color:var(--text-primary);white-space:pre}.cv-link{color:var(--accent-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.cv-link:hover{border-bottom-color:var(--accent-primary)}.cv-link--novi:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-primary);margin-right:4px;vertical-align:middle;opacity:.7}.cv-img{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin:var(--space-sm) 0;display:block}.cv-table-wrap{overflow-x:auto;margin:var(--space-sm) 0}.cv-table{width:100%;border-collapse:collapse;font-size:13px}.cv-th{text-align:left;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border-subtle);font-weight:600;color:var(--text-primary);white-space:nowrap}.cv-td{padding:7px 12px;border:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.cv-table tr:hover .cv-td{background:var(--surface-2)}.cv-error{padding:var(--space-md);color:var(--status-error, #E34234);font-size:13px}.cv-graph-links{margin-top:var(--space-xl)}.cv-graph-links__inner{border-top:1px solid var(--border-subtle);padding-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.cv-graph-section__label{font-size:var(--font-size-small);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-xs)}.cv-graph-section__items{display:flex;flex-direction:column;gap:4px}.cv-graph-item{display:flex;align-items:center;justify-content:space-between;padding:8px var(--space-sm);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.cv-graph-item:hover{background:var(--surface-3, var(--surface-2));border-color:var(--accent-primary)}.cv-graph-item__title{font-size:13px;font-weight:500;color:var(--text-primary)}.cv-graph-item__meta{font-size:11px;color:var(--text-muted);white-space:nowrap;margin-left:var(--space-sm)}.cv-tutor-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:min(780px,calc(100% - 48px));z-index:10;background:var(--surface-2);border:1px solid var(--border-1);border-radius:10px;box-shadow:0 4px 20px #0000001f,0 1px 4px #00000014;padding:10px 12px}.cv-tutor-trigger{display:flex;align-items:center;gap:8px;padding:2px 4px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.cv-tutor-trigger:hover{background:var(--surface-3)}.cv-tutor-trigger__icon{color:var(--accent-primary);display:flex;align-items:center;flex-shrink:0}.cv-tutor-trigger__placeholder{font-size:var(--font-size-small);color:var(--text-tertiary)}.cv-tutor-conversation{margin-top:var(--space-xl);display:flex;flex-direction:column;gap:20px}.cv-tutor-conv-sep{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-small);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.cv-tutor-conv-sep:before,.cv-tutor-conv-sep:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.cv-tutor-msg{font-size:14px;line-height:1.7;word-break:break-word}.cv-tutor-msg--user{align-self:flex-end;background:var(--accent-primary);color:#fff;padding:8px 14px;border-radius:18px 18px 4px;max-width:80%}.cv-tutor-msg--assistant{align-self:flex-start;color:var(--text-secondary);white-space:pre-wrap;max-width:100%}.cv-tutor-msg--thinking{padding:2px 0}.cv-tutor-input-row{display:flex;align-items:flex-end;gap:var(--space-sm)}.cv-tutor-input{flex:1;resize:none;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:6px 10px;font-family:var(--font-family-sans);font-size:var(--font-size-small);color:var(--text-primary);line-height:1.5;min-height:30px;max-height:120px;overflow-y:auto;outline:none;transition:border-color var(--transition-fast)}.cv-tutor-input::placeholder{color:var(--text-tertiary)}.cv-tutor-input:focus{border-color:var(--accent-primary)}.cv-tutor-send-btn{width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-sm);border:none;background:var(--accent-primary);color:#fff;font-size:16px;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;line-height:1}.cv-tutor-send-btn:hover:not(:disabled){opacity:.85}.cv-tutor-send-btn:disabled{background:var(--surface-3);color:var(--text-tertiary);cursor:not-allowed}.clara-editor{display:flex;flex-direction:column;height:100%;background:var(--surface-1);overflow:hidden;position:relative}.clara-editor--clara:after{content:"";position:absolute;bottom:0;left:0;right:0;height:140px;background:linear-gradient(to bottom,transparent 0%,var(--surface-1) 85%);pointer-events:none;z-index:5}@keyframes clara-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes clara-glow-pulse{0%,to{box-shadow:0 0 #8a63ff00}50%{box-shadow:0 0 20px 4px var(--clara-glow)}}.te-toolbar{flex-shrink:0}.te-messages{flex:1;overflow-y:auto;padding:40px 60px 120px;scroll-behavior:smooth}.te-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 40px 40px;gap:var(--space-md);min-height:300px}.te-welcome-icon{color:var(--accent-primary);margin-bottom:var(--space-sm);-webkit-user-select:none;user-select:none}.te-welcome-icon svg{width:48px;height:48px}.te-welcome-text{font-size:var(--font-size-base);color:var(--text-primary);max-width:400px;line-height:1.5;margin:0}.clara-editor--clara .te-welcome-icon{width:72px;height:72px;border-radius:50%;background:var(--clara-gradient);display:flex;align-items:center;justify-content:center;color:#fff;animation:clara-breathe 4s ease-in-out infinite,clara-glow-pulse 4s ease-in-out infinite}.clara-editor--clara .te-welcome-icon svg{width:40px;height:40px}.te-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-top:var(--space-sm)}.te-suggestion-chip{padding:6px 14px;border-radius:16px;border:1px solid var(--border-1);background:var(--surface-2);color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast);font-family:var(--font-family-sans)}.te-suggestion-chip:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--surface-3)}.clara-editor--clara .te-suggestion-chip:hover{border-color:var(--clara-primary);color:var(--clara-text);background:var(--clara-subtle)}.te-message{max-width:720px;margin-bottom:16px;line-height:1.6;font-size:var(--font-size-base)}.te-message--user{margin-left:auto;background:var(--accent-primary);color:#fff;padding:10px 16px;border-radius:18px 18px 4px;max-width:75%;word-break:break-word;white-space:pre-wrap}.clara-editor--clara .te-message--user{background:var(--clara-primary)}.te-message--assistant{color:var(--text-primary);padding:2px 0}.clara-editor--clara .te-message--assistant{padding:2px 0 2px 12px;border-left:2px solid var(--clara-border)}.te-message--assistant h1,.te-message--assistant h2,.te-message--assistant h3{font-size:var(--font-size-base);font-weight:600;margin:12px 0 6px;color:var(--text-primary)}.te-message--assistant strong{font-weight:600}.te-message--assistant em{font-style:italic}.te-message--assistant code{font-family:var(--font-family-mono);font-size:.9em;background:var(--surface-3);padding:1px 5px;border-radius:var(--radius-sm);color:var(--accent-primary)}.clara-editor--clara .te-message--assistant code{color:var(--clara-text)}.te-message--assistant pre{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-sm);overflow-x:auto;margin:8px 0}.te-message--assistant pre code{background:none;padding:0;color:var(--text-primary);font-size:var(--font-size-small)}.te-message--assistant p{margin:0 0 6px}.te-message--assistant p:last-child{margin-bottom:0}.te-message--assistant ul{padding-left:20px;margin:4px 0}.te-message--assistant li{margin-bottom:2px}.te-message--thinking{padding:4px 0}.te-article-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;border:1px solid var(--border-1);background:var(--surface-2);color:var(--accent-primary);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast);margin:2px 3px;text-decoration:none;vertical-align:middle}.te-article-chip:hover{background:var(--surface-3);border-color:var(--accent-primary)}.te-article-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-sm)}.te-link-text{color:var(--accent-primary);text-decoration:underline;cursor:default}.te-msg-refs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.te-msg-ref{display:inline-block;font-size:10px;padding:1px 6px;background:#ffffff14;border-radius:8px;color:#ffffffb3;text-transform:capitalize}.clara-editor--clara .te-msg-ref{background:#7c3aed26;color:#fffc}.te-msg-ref--clickable{cursor:pointer;transition:var(--transition-fast)}.te-msg-ref--clickable:hover{background:#ffffff29;color:var(--text-primary)}.clara-editor--clara .te-msg-ref--clickable:hover{background:#7c3aed4d;color:#fff}.te-input-overlay{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:min(720px,calc(100% - 48px));z-index:10;background:var(--surface-2);border:1px solid var(--border-1);border-radius:10px;box-shadow:0 4px 20px #0000001f,0 1px 4px #00000014;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.clara-editor--clara .te-input-overlay:focus-within{border-color:var(--clara-border);box-shadow:0 4px 20px #0000001f,0 0 0 1px var(--clara-border),0 0 16px var(--clara-glow)}.clara-editor--clara .te-input-overlay:focus-within .cp-picker:not([hidden]),.clara-editor--clara .te-input-overlay:focus-within .te-slash-menu:not([hidden]){border-color:var(--clara-border);box-shadow:0 0 0 1px var(--clara-border),0 0 16px var(--clara-glow);clip-path:inset(-20px -20px 0 -20px)}.te-slash-menu{position:absolute;bottom:100%;left:-1px;right:-1px;background:var(--surface-2);border:1px solid var(--border-1);border-bottom:none;border-radius:10px 10px 0 0;list-style:none;margin:0;padding:4px 0;overflow:hidden}.te-input-overlay:has(.te-slash-menu:not([hidden])){border-radius:0 0 10px 10px;border-top:none}.te-slash-item{display:flex;align-items:center;gap:12px;padding:7px 16px;cursor:pointer;transition:var(--transition-fast);outline:none}.te-slash-item:hover,.te-slash-item:focus{background:var(--surface-3)}.te-slash-cmd{font-family:var(--font-family-mono);font-size:var(--font-size-small);color:var(--accent-primary);min-width:80px;font-weight:500}.clara-editor--clara .te-slash-cmd{color:var(--clara-text)}.te-slash-desc{font-size:var(--font-size-small);color:var(--text-secondary)}.te-input-top{padding:10px 14px 6px}.te-textarea{width:100%;resize:none;background:transparent;border:none;padding:0;font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;min-height:24px;max-height:200px;overflow-y:auto;outline:none}.te-textarea::placeholder{color:var(--text-tertiary)}.te-input-divider{height:1px;background:var(--border-subtle, var(--border-1));margin:0 14px;opacity:.5}.te-input-statusbar{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 12px;min-height:30px}.te-statusbar-left{display:flex;align-items:center;gap:0;font-size:11px;color:var(--text-tertiary);min-width:0}.te-statusbar-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.te-statusbar-sep{width:3px;height:3px;border-radius:50%;background:var(--text-tertiary);opacity:.4;margin:0 8px;flex-shrink:0}.te-statusbar-model,.te-statusbar-usage{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.te-statusbar-model svg,.te-statusbar-usage svg{flex-shrink:0;opacity:.6}.te-statusbar-model:not(.te-statusbar-model--none){cursor:pointer;border-radius:var(--radius-sm);padding:1px 4px;margin:-1px -4px}.te-statusbar-model:not(.te-statusbar-model--none):hover{background:var(--surface-hover, rgba(255, 255, 255, .06))}.te-statusbar-model--none{opacity:.5}.te-model-name{max-width:140px;overflow:hidden;text-overflow:ellipsis}.te-usage--warn{color:var(--warning-text, #d97706)}.te-usage--danger{color:var(--error-text, #dc2626)}.te-statusbar-btn{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.te-statusbar-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text-secondary)}.te-statusbar-btn:disabled{opacity:.35;cursor:not-allowed}.te-send-btn{width:28px;height:28px;flex-shrink:0;border-radius:8px;border:none;background:var(--accent-primary);color:#fff;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.clara-editor--clara .te-send-btn{background:var(--clara-gradient)}.te-send-btn:hover:not(:disabled){opacity:.85}.te-send-btn:disabled{background:var(--surface-3);color:var(--text-tertiary);cursor:not-allowed}.te-action-buttons{display:flex;gap:var(--space-sm);margin-bottom:16px;flex-wrap:wrap}.te-action-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 14px;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);border:1px solid var(--border-1)}.te-action-btn.primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.clara-editor--clara .te-action-btn.primary{background:var(--clara-gradient);border-color:var(--clara-primary)}.te-action-btn.primary:hover{opacity:.85}.te-action-btn.secondary{background:var(--surface-2);color:var(--text-secondary)}.te-action-btn.secondary:hover{background:var(--surface-3);color:var(--text-primary)}.te-minion-indicator{display:flex;align-items:center;gap:var(--space-sm);padding:6px 0}.te-minion-name{font-size:var(--font-size-small);font-weight:600;color:var(--accent-primary)}.clara-editor--clara .te-minion-name{color:var(--clara-text)}.te-minion-tagline{font-size:var(--font-size-small);color:var(--text-secondary);font-style:italic}.te-agent-steps-group{display:flex;flex-direction:column;gap:2px;padding:4px 0 4px 12px}.te-thinking-indicator{display:flex;align-items:center;gap:var(--space-sm)}.te-thinking-label{font-size:var(--font-size-small);color:var(--text-secondary);font-style:italic}.te-agent-step{display:flex;align-items:center;gap:6px;font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.4}.te-agent-step--error{color:var(--status-error, #e54d42)}.te-step-icon{flex-shrink:0;width:14px;text-align:center;font-size:10px}.te-step-icon--done{color:var(--status-success, #3caa5f)}.te-step-icon--error{color:var(--status-error, #e54d42);font-weight:700}.te-step-icon--running{display:inline-flex;align-items:center;justify-content:center}.te-dot-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);animation:te-dot-pulse 1s ease-in-out infinite}@keyframes te-dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.te-message--viz{max-width:none;padding:0}.clara-editor--clara .te-message--viz{border-left:none;padding-left:0}.te-inline-viz{margin:var(--space-md) 0;border-radius:var(--radius-md, 6px);overflow:hidden}.te-viz-row{display:flex;gap:var(--space-md);margin:var(--space-md) 0}.te-viz-row>.te-inline-viz{flex:1;min-width:0;margin:0}.te-inline-chart{background:var(--surface-2);border:1px solid var(--border-subtle);padding:var(--space-sm);border-radius:var(--radius-md, 6px)}.te-inline-kpis{display:flex;gap:var(--space-sm);flex-wrap:wrap}.te-kpi-card{flex:1 1 120px;min-width:120px;max-width:200px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);padding:var(--space-md) var(--space-md);text-align:center}.te-kpi-label{font-size:var(--font-size-small, 11px);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.te-kpi-value{font-size:22px;font-weight:600;color:var(--text-primary);line-height:1.2}.te-kpi-change{font-size:var(--font-size-small, 11px);color:var(--text-secondary);margin-top:var(--space-xs);display:flex;align-items:center;justify-content:center;gap:2px}.te-kpi-trend{font-size:9px}.te-kpi-trend--up{color:var(--color-success, #00b294)}.te-kpi-trend--down{color:var(--color-error, #e74856)}.te-inline-table{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);overflow:hidden}.te-inline-table-title{font-size:var(--font-size-base, 13px);font-weight:600;color:var(--text-primary);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle)}.te-inline-table table{width:100%;border-collapse:collapse;font-size:var(--font-size-small, 11px)}.te-inline-table thead th{background:var(--surface-3);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:var(--space-xs) var(--space-sm);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.te-inline-table tbody td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.te-inline-table tbody tr:last-child td{border-bottom:none}.te-inline-table tbody tr:hover td{background:var(--cell-hover-bg, rgba(0,0,0,.03))}.te-inline-table tfoot td{font-weight:600;background:var(--surface-3);padding:var(--space-xs) var(--space-sm);border-top:2px solid var(--border-1);color:var(--text-primary)}.te-inline-grid{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);overflow:hidden}.te-inline-grid-container{width:100%;min-height:200px}.te-mode-selector{position:relative;flex-shrink:0}.te-mode-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;color:var(--text-tertiary);font-family:var(--font-family-sans);font-size:11px;cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.te-mode-btn:hover{color:var(--text-primary)}.te-mode-btn[data-mode=plan]{color:var(--warning-text, #d97706)}.te-mode-btn[data-mode=confirm]{color:var(--clara-text)}.te-mode-label{font-weight:var(--font-weight-medium)}.te-mode-menu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:220px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:0 -4px 16px #00000026;padding:4px 0;z-index:var(--z-index-dropdown)}.te-mode-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:var(--transition-fast);flex-wrap:wrap}.te-mode-option:hover{background:var(--surface-3)}.te-mode-option--active{background:#7c3aed14}.te-mode-option-icon{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.te-mode-option--active .te-mode-option-icon{color:var(--clara-text)}.te-mode-option-label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-primary)}.te-mode-option-desc{font-size:10px;color:var(--text-tertiary);width:100%;padding-left:22px;margin-top:-2px}.te-confirm{position:absolute;bottom:100%;left:-1px;right:-1px;background:var(--surface-2);border:1px solid var(--border-1);border-bottom:none;border-radius:10px 10px 0 0;overflow:hidden;z-index:20}.te-input-overlay:has(.te-confirm){border-radius:0 0 10px 10px;border-top:none}.clara-editor--clara .te-input-overlay:focus-within .te-confirm,.clara-editor--clara .te-input-overlay .te-confirm{border-color:var(--clara-border);box-shadow:0 0 0 1px var(--clara-border),0 0 16px var(--clara-glow);clip-path:inset(-20px -20px 0 -20px)}.te-confirm-header{padding:12px 16px 4px;font-size:var(--font-size-base);color:var(--text-primary)}.te-confirm-detail{padding:2px 16px;font-size:var(--font-size-small)}.te-confirm-detail code{font-family:var(--font-family-mono);font-size:11px;color:var(--text-secondary)}.te-confirm-desc{padding:2px 16px 8px;font-size:var(--font-size-small);color:var(--text-secondary)}.te-confirm-actions{display:flex;flex-direction:column;padding:4px 12px 8px;gap:4px}.te-confirm-btn{display:flex;align-items:center;gap:10px;padding:8px 12px;background:none;border:1px solid var(--border-1);border-radius:var(--radius-md, 6px);color:var(--text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-small);cursor:pointer;text-align:left;transition:var(--transition-fast)}.te-confirm-btn:hover{background:var(--surface-3);border-color:var(--text-tertiary)}.te-confirm-btn--focused,.te-confirm-btn--focused:hover{background:var(--clara-primary, #7c3aed);border-color:var(--clara-primary, #7c3aed);color:#fff}.te-confirm-btn--focused .te-confirm-key{background:#fff3;border-color:#ffffff4d;color:#fff}.te-confirm-input-row{padding:0}.te-confirm-input{width:100%;padding:8px 12px;background:none;border:1px solid var(--border-1);border-radius:var(--radius-md, 6px);color:var(--text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-small);outline:none;transition:var(--transition-fast);box-sizing:border-box}.te-confirm-input::placeholder{color:var(--text-tertiary)}.te-confirm-input:focus{border-color:var(--text-tertiary)}.te-confirm-hint{padding:4px 4px 0;font-size:10px;color:var(--text-tertiary)}.te-confirm-key{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:1px solid var(--border-1);background:var(--surface-1);font-size:10px;font-family:var(--font-family-mono);color:var(--text-tertiary);flex-shrink:0}.clara-explorer{display:flex;flex-direction:column;height:100%;overflow:hidden}.cle-topbar{padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);flex-shrink:0}.cle-title{font-size:var(--font-size-small);font-weight:600;color:var(--clara-muted);text-transform:uppercase;letter-spacing:1.5px;padding:var(--space-xs) 0}.cle-new-btn,.cle-tutor-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-small);cursor:pointer;transition:var(--transition-fast);text-align:left}.cle-new-btn:hover{border-color:var(--clara-primary);color:var(--clara-text);background:var(--clara-subtle)}.cle-new-btn svg{flex-shrink:0;color:var(--clara-primary)}.cle-tutor-bar{padding:0 var(--space-md) var(--space-sm);flex-shrink:0}.cle-tutor-btn:hover{border-color:var(--clara-primary);color:var(--clara-text);background:var(--clara-subtle)}.cle-tutor-btn svg{flex-shrink:0;color:var(--text-secondary)}.cle-tutor-btn:hover svg{color:var(--clara-primary)}.cle-search{padding:0 var(--space-md) var(--space-sm);flex-shrink:0}.cle-search-wrapper{position:relative;display:flex;align-items:center}.cle-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--text-dimmed);pointer-events:none}.cle-search-input{width:100%;padding:6px 28px;background:var(--input-bg);border:1px solid var(--border-1);border-radius:var(--radius-md);font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cle-search-input::placeholder{color:var(--text-dimmed)}.cle-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.cle-search-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dimmed);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.cle-search-clear:hover{color:var(--text-primary);background:var(--hover-1)}.cle-list{flex:1;overflow-y:auto;padding:0 var(--space-sm)}.cle-section{margin-top:0}.cle-group-header{display:flex;align-items:center;gap:var(--space-xs);padding:5px var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface-3);transition:background var(--transition-fast)}.cle-group-header:hover{background:var(--hover-3)}.cle-chevron{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-dimmed);transition:transform var(--transition-fast);flex-shrink:0}.cle-chevron svg{width:14px;height:14px}.cle-group-header.expanded .cle-chevron{transform:rotate(90deg)}.cle-group-title{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);flex:1}.cle-group-count{font-size:var(--font-size-xs);color:var(--text-dimmed);padding:1px 5px;background:var(--surface-4);border-radius:var(--radius-md);min-width:20px;text-align:center}.cle-group-content{display:none}.cle-group-content.expanded{display:block}.cle-item{display:flex;flex-direction:row;align-items:flex-start;gap:0;padding:var(--space-sm) var(--space-sm) var(--space-sm) 0;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);position:relative}.cle-item-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cle-status-indicator{width:24px;height:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-top:10px}.cle-status-indicator:not(.cle-status-indicator--working):after{content:"";width:8px;height:8px;border:1px solid var(--border-subtle, var(--border-1));border-radius:2px;opacity:.3;transition:opacity var(--transition-fast)}.cle-item:hover .cle-status-indicator:not(.cle-status-indicator--working):after{opacity:.5}.cle-status-indicator--working:after{display:none}.cle-item:hover,.cle-item--active{background:var(--hover-3)}.cle-item--active .cle-item-title{color:var(--clara-text)}.cle-item-main{display:flex;align-items:center;gap:var(--space-xs);min-height:18px}.cle-item-title{font-size:var(--font-size-small);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.cle-item-time{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.cle-item-sub{display:flex;align-items:center;gap:var(--space-sm);font-size:10px;color:var(--text-dimmed)}.cle-item-model{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.cle-item-size{flex-shrink:0}.cle-item-actions{display:flex;gap:2px;opacity:0;visibility:hidden;width:0;overflow:hidden;flex-shrink:0;transition:opacity var(--transition-fast),width var(--transition-fast),visibility 0s linear .15s}.cle-item:hover .cle-item-actions{opacity:1;visibility:visible;width:auto;transition:opacity var(--transition-fast),width var(--transition-fast),visibility 0s linear 0s}.cle-action-btn{width:20px;height:20px;padding:2px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.cle-action-btn:hover{background:var(--clara-subtle);color:var(--clara-primary);transform:scale(1.1)}.cle-action-btn:active{transform:scale(.95)}.cle-action-delete:hover{color:var(--status-error, #e55);background:#e555551a}.cle-rename-input{flex:1;min-width:60px;height:18px;line-height:18px;background:var(--input-bg);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--font-size-small);font-family:var(--font-family-sans);color:var(--text-primary);outline:none;position:relative;z-index:2}.cle-rename-input:focus{border-color:var(--clara-primary)}.cle-empty{text-align:center;padding:40px 20px;font-size:var(--font-size-small);color:var(--text-tertiary)}.cp-picker{position:absolute;bottom:100%;left:-1px;right:-1px;max-height:280px;background:var(--surface-2);border:1px solid var(--border-1);border-bottom:none;border-radius:10px 10px 0 0;display:flex;flex-direction:column;overflow:hidden;z-index:20}.te-input-overlay:has(.cp-picker:not([hidden])){border-radius:0 0 10px 10px;border-top:none}.cp-picker[hidden]{display:none}.cp-breadcrumb{display:flex;align-items:center;gap:2px;padding:6px 12px;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-small);color:var(--text-secondary);flex-shrink:0}.cp-breadcrumb[hidden]{display:none}.cp-crumb{cursor:pointer;padding:1px 4px;border-radius:3px;color:var(--text-secondary);transition:var(--transition-fast)}.cp-crumb:hover{background:var(--surface-3);color:var(--text-primary)}.cp-crumb--root{color:var(--clara-text, var(--accent-primary));font-weight:600}.cp-crumb-sep{color:var(--text-tertiary);font-size:10px;-webkit-user-select:none;user-select:none}.cp-list{list-style:none;margin:0;padding:4px 0;overflow-y:auto;flex:1}.cp-item{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;transition:background var(--transition-fast);outline:none}.cp-item:hover,.cp-item--focused{background:var(--surface-3)}.cp-item--focused{background:var(--surface-3);outline:1px solid var(--clara-border, var(--accent-primary));outline-offset:-1px}.cp-item-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.cp-item-icon svg{width:16px;height:16px}.cp-item-icon .dictionary-icon-wrapper{transform:scale(.7)}.cp-item-icon[data-entity=model]{color:var(--model-icon-color)}.cp-item-icon[data-entity=table]{color:var(--icon-table-color)}.cp-item-icon[data-entity=dictionary]{color:var(--icon-dictionary-color)}.cp-item-icon[data-entity=contribution]{color:var(--icon-contribution-color)}.cp-item-icon[data-entity=flow]{color:var(--icon-flow-color)}.cp-item-icon[data-entity=automation]{color:var(--icon-automation-color)}.cp-item-icon[data-entity=story]{color:var(--icon-story-color)}.cp-item-icon[data-entity=dashboard]{color:var(--icon-dashboard-color)}.cp-item-icon[data-entity=datasource]{color:var(--icon-datasource-color)}.cp-item-label{flex:1;font-size:var(--font-size-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-item-arrow{color:var(--text-tertiary);font-size:16px;font-weight:300;margin-left:auto;flex-shrink:0;padding:2px 6px;border-radius:var(--radius-sm);transition:var(--transition-fast)}.cp-item-arrow:hover{background:var(--surface-4, var(--surface-3));color:var(--text-primary)}.cp-empty{padding:12px 14px;font-size:var(--font-size-small);color:var(--text-tertiary);font-style:italic;text-align:center}.te-chips-tray{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0;border-bottom:1px solid var(--border-subtle)}.te-chips-tray:empty{display:none}.te-context-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 6px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:12px;font-size:11px;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);max-width:200px;line-height:1.3}.te-context-chip:hover{background:var(--surface-hover, var(--surface-3));border-color:var(--clara-border, var(--accent-primary))}.te-context-chip__icon{display:flex;align-items:center;flex-shrink:0;width:14px;height:14px}.te-context-chip__icon svg{width:14px;height:14px}.te-context-chip__icon .dictionary-icon-wrapper{transform:scale(.55);transform-origin:left center}.te-context-chip__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.te-context-chip__type{color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.te-context-chip__close{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:transparent;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;padding:0;line-height:1;flex-shrink:0;transition:var(--transition-fast)}.te-context-chip__close:hover{background:var(--surface-4, var(--surface-3));color:var(--text-primary)}.clara-editor--clara .te-context-chip{border-color:var(--clara-border, #7c3aed33)}.clara-editor--clara .te-context-chip:hover{border-color:var(--clara-primary, #7c3aed);box-shadow:0 0 6px var(--clara-glow, rgba(124, 58, 237, .15))}.clara-editor--clara .te-context-chip__type{color:var(--clara-text, #a78bfa)}
