:root,[data-theme=light]{--sap-blue:#1a73e8;--sap-blue-hover:#1559c0;--sap-blue-soft:#1a73e814;--sap-blue-ring:#1a73e840;--bg:#eef1f6;--panel:#f6f8fc;--surface:#fff;--surface-raised:#fff;--text:#1f1f1f;--text-secondary:#5f6368;--text-muted:#79808a;--border:#e4e7ec;--border-strong:#d4d8e0;--border-soft:#eef1f6;--hover-bg:#eef1f6;--success:#188918;--success-bg:#18891817;--error:#cc1919;--error-bg:#cc191914;--warning:#e76500;--warning-bg:#e7650017;--info:#1a73e8;--info-bg:#1a73e814;--syn-keyword:#0070f2;--syn-string:#188918;--syn-number:#e76500;--syn-error:#cc1919;--syn-fn:#0058c1;--syn-punct:#6a7a8c;--syn-builtin:#9b4dca;--radius-sm:6px;--radius:10px;--radius-lg:18px;--mono:"Roboto Mono", "JetBrains Mono", "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, monospace;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--body:var(--sans);--text-display:20px;--text-title:14px;--text-body:13px;--text-ui:12px;--text-caption:11px;--text-code:12.5px;--diff-w:380px;--diff-w-min:200px;--workspace-min:280px;--chat-max-w:clamp(520px, 70%, 860px);--zone-left-w:260px;--zone-right-w:300px;--zone-bottom-h:0px;--top-nav-h:40px;--status-bar-h:24px;--code-bg:#1e2228;--code-fg:#dce0e6;--code-border:#2a3038;--surface-agent:#f5f7fb;--rail-agent:var(--sap-blue);--prompt-glyph:var(--sap-blue);--syn-keyword-dk:#6fb3fb;--syn-string-dk:#98c379;--syn-number-dk:#e5c07b;--syn-builtin-dk:#c678dd;--syn-fn-dk:#61afef;--syn-comment-dk:#7f8b99;--syn-error-dk:#ff7676;--syn-punct-dk:#a9b4c0;--chevron-light:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236A7A8C' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");--chevron-mute:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23A9B4C0' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");--brand:#1a73e8;--brand-ink:#1559c0;--violet:#9b72cb;--pink:#d96570;--grad:linear-gradient(100deg, #4285f4 0%, #9b72cb 50%, #d96570 100%);--grad-btn:linear-gradient(100deg, #1a73e8 0%, #7b5cf0 55%, #c84d8f 100%);--radius-pill:999px;--radius-card:24px;--radius-inner:16px;--radius-input:12px;--radius-focus:6px;--shadow-card:0 30px 60px -30px #1f1f1f38;--shadow-card-soft:0 1px 3px #14182114, 0 14px 30px -10px #1418214d;--shadow-btn-glow:0 8px 20px -8px #7b5cf08c;--shadow-modal:0 40px 90px -30px #1418218c;--sp-1:4px;--sp-2:8px;--sp-4:16px;--sp-6:24px;--ink:var(--text);--muted:var(--text-secondary);--line:var(--border);--ok:var(--success)}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.panel-loading-bar{z-index:5;pointer-events:none;opacity:0;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0;overflow:hidden}.panel-loading-bar.active{opacity:1}.panel-loading-bar:after{content:"";background:var(--sap-blue);border-radius:1px;width:40%;height:100%;animation:1.2s ease-in-out infinite panel-loading-slide;display:block}@keyframes panel-loading-slide{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(-100%)}}.panel-caret{width:14px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:9px;transition:transform .15s;display:inline-flex}.panel-caret.open{transform:rotate(90deg)}.panel-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary);align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:600;display:flex}.panel-group-header:hover{background:#0000000a}.panel-group-count{color:var(--text-muted);margin-left:auto;font-size:10px;font-weight:400}.app-shell{grid-template-areas:"topnav topnav topnav topnav topnav""ab rail left center right""ab rail left bottom bottom""status status status status status";grid-template-columns:44px var(--session-rail-w) var(--zone-left-w) 1fr var(--zone-right-w);grid-template-rows:var(--top-nav-h) 1fr var(--zone-bottom-h) var(--status-bar-h);width:100%;height:100dvh;display:grid;overflow:hidden}.app-shell.animating{transition:grid-template-columns .25s}.app-shell.left-collapsed{grid-template-columns:44px var(--session-rail-w) 0px 1fr var(--zone-right-w)}.app-shell.right-collapsed{grid-template-columns:44px var(--session-rail-w) var(--zone-left-w) 1fr 0px}.app-shell.left-collapsed.right-collapsed{grid-template-columns:44px var(--session-rail-w) 0px 1fr 0px}.app-shell.rail-collapsed{grid-template-columns:44px 0px var(--zone-left-w) 1fr var(--zone-right-w)}.app-shell.rail-collapsed.left-collapsed{grid-template-columns:44px 0px 0px 1fr var(--zone-right-w)}.app-shell.rail-collapsed.right-collapsed{grid-template-columns:44px 0px var(--zone-left-w) 1fr 0px}.app-shell.rail-collapsed.left-collapsed.right-collapsed{grid-template-columns:44px 0 0 1fr 0}.activity-bar{cursor:default;background:#f7f8f9;border-right:.5px solid #0000000f;flex-direction:column;grid-area:ab;align-items:center;gap:2px;width:44px;padding-top:8px;display:flex}.ab-spacer{flex:1}.ab-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:relative}.ab-btn:hover{color:var(--text);background:#0000000a}.ab-btn.active{color:var(--sap-blue)}.ab-btn.active:before{content:"";background:var(--sap-blue);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:-6px}:root{--session-rail-w:160px}.session-rail{width:var(--session-rail-w);background:#f7f8f9;border-right:.5px solid #0000000f;flex-direction:column;grid-area:rail;min-width:0;display:flex;overflow:hidden}.rail-header{background:#f7f8f9;border-bottom:.5px solid #0000000f;flex-shrink:0;justify-content:space-between;align-items:center;height:32px;min-height:32px;padding:0 10px 0 12px;display:flex}.rail-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.rail-new-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}.rail-new-btn:hover{color:var(--sap-blue);background:var(--sap-blue-soft)}.rail-rows{flex:1;padding:4px 0;overflow-y:auto}.rail-row{text-align:left;cursor:pointer;width:100%;font-family:var(--sans);color:var(--text-secondary);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:7px;min-width:0;padding:6px 10px 6px 12px;font-size:12px;display:flex}.rail-row:hover{background:var(--hover-bg);color:var(--text)}.rail-row--active{background:var(--sap-blue-soft);color:var(--sap-blue);border-left-color:var(--sap-blue);font-weight:500}.rail-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-row-cost{font-size:10px;font-family:var(--mono);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.rail-dot{flex-shrink:0;width:12px;height:12px;font-size:12px}.rail-dot--running{color:var(--sap-blue)}.rail-dot--waiting{color:var(--warning)}.rail-dot--idle{color:var(--success)}.rail-dot--unknown{background:var(--border-strong);border-radius:50%;width:7px;height:7px;margin:2px 2.5px;display:inline-block}@keyframes rail-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rail-dot--running.ic-loader{animation:1s linear infinite rail-spin}.top-nav{height:var(--top-nav-h);background:var(--surface,#fff);z-index:10;border-bottom:.5px solid #0000000f;grid-area:topnav;align-items:center;gap:10px;padding:0 12px;display:flex}.nav-brand{flex-shrink:0;align-items:center;gap:8px;display:flex}.nav-brand .brand-mark{width:26px;height:26px;font-size:8px}.nav-brand .brand-title{letter-spacing:-.01em;font-size:13px;font-weight:700}.nav-dropdown{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:28px;color:var(--text);cursor:pointer;appearance:none;background-image:var(--chevron-light);background-position:right 6px center;background-repeat:no-repeat;padding:0 24px 0 8px;font-size:12px;font-weight:500}.nav-tenant-btn{background-image:none;align-items:center;min-width:80px;max-width:180px;padding:0 8px;display:inline-flex;overflow:hidden}.nav-tenant-btn #tenantName{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-tenant-wrap{align-items:center;display:flex}.sync-badges{align-items:center;gap:4px;display:flex}.sync-badge-nav{min-width:20px;height:18px;font-size:10px;font-weight:700;font-family:var(--mono);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.sync-badge-nav.in_sync{background:var(--success-bg);color:var(--success)}.sync-badge-nav.local_only{background:var(--info-bg);color:var(--info)}.sync-badge-nav.remote_only{background:var(--warning-bg);color:var(--warning)}.sync-badge-nav.conflict{background:var(--error-bg);color:var(--error)}.nav-spacer{flex:1}.nav-avatar{background:var(--sap-blue-soft);width:26px;height:26px;color:var(--sap-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.nav-conn{flex-shrink:0;align-items:center;display:flex}.nav-conn .health-dot{width:8px;height:8px}.zone{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.zone-left{background:#f5f5f7d9;border-right:.5px solid #0000000f;grid-area:left}.zone-center{background:var(--surface);grid-area:center}.zone-center .panel-container{background:var(--surface)}.zone-right{background:#fafbfce6;border-left:.5px solid #0000000f;grid-area:right}.zone-bottom{background:#fafbfce6;border-top:.5px solid #00000014;grid-area:bottom}.zone-tabs{background:#f7f8f9;border-bottom:.5px solid #0000000f;flex-shrink:0;align-items:center;gap:2px;height:32px;min-height:32px;padding:0 8px;display:flex;overflow-x:auto}.zone-tabs:empty,.zone-left>.zone-tabs{display:none}.zone-content{flex:1;min-height:0;overflow:auto}.zone-tab{font-size:11px;font-family:var(--sans);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;height:100%;padding:4px 12px;display:flex}.zone-tab:hover{color:var(--text);background:var(--sap-blue-soft)}.zone-tab.active{color:var(--sap-blue);background:var(--surface);border-bottom-color:var(--sap-blue);font-weight:500}.zone-tab.dragging{opacity:.4}.zone-tabs.drop-target{background:var(--sap-blue-soft);outline:2px dashed var(--sap-blue);outline-offset:-2px}.zone-content.drop-target{outline:2px dashed var(--sap-blue);outline-offset:-2px}.zone-edge-strip{z-index:100;box-sizing:border-box;background:0 0;transition:background .15s,border-color .15s;position:fixed}.zone-edge-strip.zone-edge-bottom{bottom:var(--status-bar-h,24px);height:20px;left:44px;right:0}.zone-edge-strip.zone-edge-left{top:var(--top-nav-h,40px);left:44px;bottom:var(--status-bar-h,24px);width:20px}.zone-edge-strip.zone-edge-right{top:var(--top-nav-h,40px);right:0;bottom:var(--status-bar-h,24px);width:20px}.zone-edge-strip.active{background:#1a73e826;border:2px dashed #1a73e866}.editor-panel{flex-direction:column;height:100%;min-height:0;display:flex}.editor-panel>.file-viewer{flex:1;min-height:0}.zone-center>.zone-tabs{scrollbar-width:thin;overflow-x:auto}.panel-container{width:100%;height:100%;position:relative;overflow:auto}.explorer-panel{background:var(--panel);flex-direction:column;height:100%;display:flex}.explorer-header{align-items:center;padding:8px 10px 4px;font-size:12px;font-weight:600;display:flex}.explorer-header .explorer-title{flex:1}.explorer-search{padding:0 10px 6px}.explorer-filter-input{background:var(--surface);border:1px solid var(--border);width:100%;font-size:11px;font-family:var(--sans);color:var(--text);border-radius:6px;outline:none;padding:5px 8px}.explorer-filter-input:focus{border-color:var(--sap-blue);box-shadow:0 0 0 2px var(--sap-blue-ring)}.zone-resize-handle{z-index:10;position:absolute}.zone-resize-right{cursor:col-resize;width:6px;height:100%;top:0;right:-3px}.zone-resize-left{cursor:col-resize;width:6px;height:100%;top:0;left:-3px}.zone-resize-top{cursor:row-resize;width:100%;height:6px;top:-3px;left:0}.zone-resize-handle:after{content:"";background:0 0;border-radius:1px;transition:background .15s;position:absolute}.zone-resize-right:after{width:2px;height:100%;top:0;left:2px}.zone-resize-left:after{width:2px;height:100%;top:0;right:2px}.zone-resize-top:after{width:100%;height:2px;top:2px;left:0}.zone-resize-handle:hover:after{background:var(--sap-blue)}.status-bar{height:var(--status-bar-h);background:var(--surface,#fff);color:var(--text-muted);font-size:11px;font-family:var(--sans);border-top:.5px solid #0000000f;border-top:1px solid var(--border);flex-shrink:0;grid-area:status;align-items:center;gap:2px;padding:0 10px;display:flex;overflow:hidden}.sb-segment{white-space:nowrap;text-overflow:ellipsis;padding:0 6px;overflow:hidden}.sb-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:0 6px;font-size:11px}.sb-btn:hover{background:#0000000f}.sb-btn.active{color:var(--text-secondary);background:#00000014}.sb-spacer{flex:1}[data-theme=dark]{--sap-blue:#8ab4f8;--sap-blue-hover:#aecbfa;--sap-blue-soft:#8ab4f824;--sap-blue-ring:#8ab4f859;--bg:#12171c;--panel:#1c2530;--surface:#232f3e;--surface-raised:#2b384a;--text:#eaecee;--text-secondary:#a9b4c0;--text-muted:#7a8694;--border:#2e3b4b;--border-strong:#3f4d5f;--border-soft:#253040;--hover-bg:#ffffff0d;--success:#5cb85c;--success-bg:#5cb85c24;--error:#ff5858;--error-bg:#ff585824;--warning:#ffb84d;--warning-bg:#ffb84d24;--info:#8ab4f8;--info-bg:#8ab4f824;--code-bg:#16191e;--code-border:#232830;--surface-agent:#1a222d}.sb-search-bar{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 12px 0}.sb-search-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:4px;padding:0 6px;transition:border-color .15s,box-shadow .15s;display:flex}.sb-search-input-wrap:focus-within{border-color:var(--sap-blue);box-shadow:0 0 0 3px var(--sap-blue-ring)}.sb-search-icon{color:var(--text-muted);flex-shrink:0}.sb-search-input{font-family:var(--sans);color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 0;font-size:12.5px}.sb-search-input::placeholder{color:var(--text-muted)}.sb-search-toggles{flex-shrink:0;gap:1px;display:flex}.sb-search-scopes{gap:0;padding:8px 0 0;display:flex}.sb-scope{font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 8px 6px;font-size:11px;font-weight:600;transition:color .12s,border-color .12s}.sb-scope:hover{color:var(--text-secondary)}.sb-scope.active{color:var(--sap-blue);border-bottom-color:var(--sap-blue)}.sb-search-results{flex:1;min-height:0;overflow-y:auto}.sb-search-stats{font-size:11px;font-family:var(--mono);color:var(--text-muted);border-top:1px solid var(--border);flex-shrink:0;min-height:28px;padding:6px 12px}.sb-search-stats:empty{display:none}.sb-file-group{border-bottom:1px solid var(--border)}.sb-file-header{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;background:var(--panel);z-index:1;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:flex;position:sticky;top:0}.sb-file-header:hover{background:var(--sap-blue-soft)}.sb-caret{color:var(--text-muted);flex-shrink:0;transition:transform .12s}.sb-file-header.collapsed .sb-caret{transform:rotate(-90deg)}.sb-file-header svg.ws-tab-icon{flex-shrink:0;width:14px;height:14px}.sb-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sb-file-count{color:var(--text-muted);background:var(--border);text-align:center;border-radius:8px;flex-shrink:0;min-width:18px;padding:0 6px;font-size:10px;font-weight:400}.sb-match-row{cursor:pointer;font-size:11.5px;font-family:var(--mono);align-items:baseline;gap:6px;padding:2px 10px 2px 24px;line-height:1.5;transition:background 60ms;display:flex}.sb-match-row:hover{background:var(--sap-blue-soft)}.sb-match-row.active{background:var(--sap-blue-soft);outline:1px solid var(--sap-blue-ring);outline-offset:-1px;border-radius:2px}.sb-match-num{color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:28px;font-size:10px}.sb-match-text{white-space:nowrap;text-overflow:ellipsis;color:var(--text);flex:1;overflow:hidden}.sb-match-text mark{color:var(--sap-blue);background:#1a73e82e;border-radius:2px;padding:0 1px}.sb-searching{padding:16px}.pipeline-header{justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 8px;display:flex}.pipeline-actions{flex-shrink:0;gap:4px;display:flex}.pipeline-title{color:var(--text);margin:0;font-size:13px;font-weight:600}.pipeline-scope{border-bottom:1px solid #e0e2e6;gap:0;padding:0 12px 8px;display:flex}.pipeline-scope .tab{padding:4px 10px;font-size:11px}.pipeline-body{flex:1;padding:8px 0;overflow-y:auto}.history-header{justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 8px;display:flex}.history-title{color:var(--text);margin:0;font-size:13px;font-weight:600}#modeHistory .conversations{flex:1;overflow-y:auto}.kb-header{border-bottom:none;flex-direction:column;gap:6px;padding:10px 12px 6px;display:flex}.kb-tabs{gap:2px;display:flex}.kb-tab-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex:1;padding:5px 0;font-size:11px;font-weight:600;transition:all .15s}.kb-tab-btn:hover{color:var(--text);background:#0000000a}.kb-tab-btn.active{color:var(--sap-blue);background:var(--sap-blue-soft)}.kb-search{box-sizing:border-box;border:1px solid var(--border-soft,#e0e2e6);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:5px 8px;font-size:12px}.kb-search:focus{border-color:var(--sap-blue)}.kb-tab-body{flex-direction:column;flex:1;min-height:0;display:flex}.kb-tab-body[hidden]{display:none!important}.kb-filters{padding:6px 12px}.kb-filter-select{border:1px solid var(--border-soft,#e0e2e6);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:4px 6px;font-size:11px}.kb-list{flex:1;padding:4px 0;overflow-y:auto}.kb-empty{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:12px}.kb-loading{color:var(--text-muted);padding:12px 16px;font-size:11px}.kb-item{border-bottom:1px solid #0000000a}.kb-item-header{cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.kb-item-header:hover{background:#00000008}.kb-item-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.kb-counts{color:var(--text-muted);white-space:nowrap;font-size:10px}.kb-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600;display:inline-block}.kb-badge-class{color:#e65100;background:#fff3e0}.kb-badge-enum{color:#7b1fa2;background:#f3e5f5}.kb-badge-event{color:#2e7d32;background:#e8f5e9}.kb-badge-pattern{color:#f57f17;background:#fff8e1}.kb-insert-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:14px;font-weight:700;line-height:1}.kb-insert-btn:hover{color:var(--sap-blue);background:var(--sap-blue-soft)}.kb-item-detail{max-height:400px;padding:0 12px 8px;font-size:11px;overflow-y:auto}.kb-desc{color:var(--text-secondary);margin-bottom:6px;line-height:1.4}.kb-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:8px;margin-bottom:4px;font-size:10px;font-weight:600}.kb-prop-list,.kb-method-list{flex-direction:column;gap:1px;display:flex}.kb-prop,.kb-method{border-radius:2px;align-items:baseline;gap:6px;padding:2px 4px;display:flex}.kb-prop:hover,.kb-method:hover{background:#1a73e80d}.kb-prop-name,.kb-method-name{color:var(--text);font-weight:500;font-family:var(--mono);font-size:11px}.kb-prop-type,.kb-method-sig{color:var(--text-muted);font-size:10px;font-family:var(--mono)}.kb-rw{color:#2e7d32;font-size:9px;font-weight:600}.kb-more{color:var(--text-muted);padding:4px;font-size:10px;font-style:italic}.kb-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;padding:8px 12px 4px;font-size:10px;font-weight:600}.kb-event-desc,.kb-pattern-desc{color:var(--text-secondary);padding:0 12px 4px 42px;font-size:11px;line-height:1.3}.kb-pattern-kws{color:var(--text-muted);padding:0 12px 6px 42px;font-size:10px;font-style:italic}.kb-badge-custom{color:#1565c0;background:#e3f2fd}.kb-event-note{color:var(--text-secondary);white-space:pre-wrap;margin-bottom:4px;font-size:11px;line-height:1.4}.kb-add-bar{padding:8px 12px}.kb-add-btn{border:1px dashed var(--border-soft,#d0d3d8);width:100%;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;padding:5px 0;font-size:11px;font-weight:600;transition:all .15s}.kb-add-btn:hover{border-color:var(--sap-blue);color:var(--sap-blue);background:#1a73e80a}.kb-pattern-form{border-bottom:1px solid var(--border-soft,#e8e8e8);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.kb-form-input,.kb-form-select,.kb-form-textarea{box-sizing:border-box;border:1px solid var(--border-soft,#e0e2e6);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:5px 8px;font-family:inherit;font-size:12px}.kb-form-textarea{font-family:var(--sans);resize:vertical;min-height:80px;font-size:11px}.kb-form-input:focus,.kb-form-select:focus,.kb-form-textarea:focus{border-color:var(--sap-blue)}.kb-form-buttons{justify-content:flex-end;gap:6px;display:flex}.kb-form-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:4px 12px;font-size:11px;font-weight:600}.kb-form-save{background:var(--sap-blue);color:#fff}.kb-form-save:hover{background:#0b5a94}.kb-form-cancel{color:var(--text-muted);border:1px solid var(--border-soft,#d0d3d8);background:0 0}.kb-form-cancel:hover{background:#0000000a}.kb-pattern-actions{flex-shrink:0;gap:2px;margin-left:auto;display:none}.kb-pattern-item:hover .kb-pattern-actions{display:flex}.kb-action-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:0 3px;font-size:13px;line-height:1}.kb-action-btn:hover{background:#0000000f}.kb-edit-btn:hover{color:var(--sap-blue)}.kb-delete-btn:hover{color:#c62828}.pipeline-placeholder{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:12px}.pl-group{margin-bottom:4px}.pl-group-header{text-transform:uppercase;letter-spacing:.5px}.pl-group.open>.panel-group-header>.panel-caret{transform:rotate(90deg)}.pl-group-items{display:none}.pl-group.open .pl-group-items{display:block}.pl-item{color:var(--text);cursor:default;align-items:center;gap:8px;padding:4px 16px 4px 28px;font-size:12px;display:flex}.pl-item:hover{background:#00000005}.pl-item.inactive{opacity:.45}.pl-rank{text-align:right;min-width:24px;font-family:var(--mono);color:var(--text-muted);font-size:10px;font-weight:500}.pl-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pl-modules{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-style:italic;display:block;overflow:hidden}.pl-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600}.pl-badge.sys{color:var(--text-secondary);background:#e8e9eb}.pl-badge.usr{background:var(--sap-blue-soft);color:var(--sap-blue)}.pl-badge.script{color:#188918;background:#18891817}.pipeline-stats{color:var(--text-muted);border-top:1px solid #e0e2e6;margin-top:8px;padding:12px 16px;font-size:11px}.pl-field{cursor:pointer;color:var(--text);align-items:center;gap:6px;padding:4px 12px 4px 28px;font-size:12px;transition:background .15s;display:flex}.pl-field:hover{background:#00000005}.pl-field-caret{width:10px;font-size:7px}.pl-field-wrap.open .pl-field-caret{transform:rotate(90deg)}.pl-field-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pl-field-count{color:var(--text-muted);font-size:10px;font-family:var(--mono);flex-shrink:0}.pl-field-calcs{display:none}.pl-field-wrap.open .pl-field-calcs{display:block}.pl-field-loading{color:var(--text-muted);padding:4px 12px 4px 44px;font-size:11px}.pl-field-spinner{border:1.5px solid var(--border);border-top-color:var(--sap-blue);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:4px;animation:.6s linear infinite pl-spin;display:inline-block}@keyframes pl-spin{to{transform:rotate(360deg)}}.pl-calc{color:var(--text);cursor:default;align-items:center;gap:8px;padding:4px 12px 4px 44px;font-size:12px;transition:opacity .15s,background .15s;display:flex}.pl-calc:hover{background:#00000005}.pl-drag-handle{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:14px;line-height:1}.pl-drag-handle:active{cursor:grabbing}.pl-calc.dragging{opacity:.35}.pl-calc.drag-over-above{box-shadow:inset 0 2px 0 0 var(--sap-blue)}.pl-calc.drag-over-below{box-shadow:inset 0 -2px 0 0 var(--sap-blue)}.pl-formula-btn{all:unset;cursor:pointer;font-family:var(--mono);color:var(--text-muted);border:1px solid var(--border);background:0 0;border-radius:3px;flex-shrink:0;margin-left:auto;padding:1px 4px;font-size:9px;font-weight:600;line-height:1.2;transition:color .15s,border-color .15s,background .15s}.pl-formula-btn:hover{color:var(--sap-blue);border-color:var(--sap-blue);background:var(--sap-blue-soft)}.formula-dialog{max-width:480px}.formula-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.formula-header h3{margin:0;font-size:15px;font-weight:700;line-height:1.3}.formula-close-btn{all:unset;cursor:pointer;color:var(--text-muted);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:20px;line-height:1}.formula-close-btn:hover{color:var(--text);background:#0000000d}.formula-detail{flex-direction:column;gap:12px;margin-top:16px;display:flex}.formula-detail[hidden],.formula-row[hidden],.formula-loading[hidden],.formula-error[hidden]{display:none}.formula-row{flex-direction:column;gap:4px;display:flex}.formula-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:10px;font-weight:600}.formula-value{color:var(--text);font-size:13px;line-height:1.5}.formula-code{font-family:var(--mono);background:var(--bg);border-radius:var(--radius-sm);color:var(--text);white-space:pre-wrap;word-break:break-all;padding:8px 10px;font-size:12px;line-height:1.5;display:block}.formula-loading{color:var(--text-muted);padding:16px 0;font-size:13px}.formula-error{color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);margin-top:12px;padding:12px;font-size:13px}.formula-script-preview{tab-size:4;max-height:220px;font-size:11px;overflow-y:auto}.formula-field-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.formula-field-list li{color:var(--text);background:var(--bg);font-size:12px;font-family:var(--mono);border-radius:3px;padding:2px 6px}.formula-flags{flex-direction:column;gap:4px;font-size:12px;display:flex}.formula-flag{color:var(--text);align-items:center;gap:6px;display:flex}.formula-flag-icon{text-align:center;width:14px;font-size:11px}.formula-flag-icon.on{color:var(--success)}.formula-flag-icon.off{color:var(--text-muted)}.formula-editor-link{color:var(--sap-blue);cursor:pointer;align-self:flex-start;font-size:12px;text-decoration:none}.formula-editor-link:hover{text-decoration:underline}.formula-editor-notfound{color:var(--text-muted);cursor:default;pointer-events:none;font-style:italic}.formula-pull-btn{align-self:flex-start;margin-top:4px}.pl-script-toast{color:var(--error);white-space:nowrap;margin-left:6px;font-size:10px}.formula-muted{color:var(--text-muted);font-size:12px;font-style:italic}.formula-imports{flex-wrap:wrap;gap:4px;display:flex}.formula-import-tag{font-size:11px;font-family:var(--mono);background:var(--sap-blue-soft);color:var(--sap-blue);border-radius:3px;padding:2px 6px}.pl-field.pl-save-ok{background:var(--success-bg);transition:background .3s}.pl-field.pl-save-err{background:var(--error-bg);transition:background .3s}.brand-mark{background:var(--sap-blue);color:#fff;width:32px;height:32px;font-family:var(--mono);letter-spacing:.04em;border-radius:8px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.brand-title{letter-spacing:-.01em;font-size:14px;font-weight:700}.tenant-dropdown{background:var(--surface,#fff);z-index:200;border:.5px solid #00000014;border-radius:12px;max-height:320px;margin-top:4px;position:absolute;top:100%;left:12px;right:12px;overflow-y:auto;box-shadow:0 8px 32px #0000001f,0 0 0 .5px #0000000a}.td-list{padding:4px 0}.td-item{cursor:pointer;flex-direction:column;transition:background .1s;display:flex}.td-item:hover,.td-item.active{background:var(--sap-blue-soft)}.td-item-row{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.td-item-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.td-group-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 12px 4px;font-size:10px;font-weight:700}.td-env{border-radius:4px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:700}.td-env-dev{color:#2563eb;background:#eef4ff}.td-env-test{color:#d97706;background:#fff7ea}.td-env-prod{color:#16a34a;background:#eefaf1}.td-lineage-btn{cursor:pointer;opacity:.6;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0 4px}.td-lineage-btn:hover{opacity:1}.td-item:hover .td-lineage-btn{opacity:.8}.td-lineage-editor{align-items:center;gap:6px;padding:6px 12px 10px;display:flex}.td-lineage-editor[hidden]{display:none}.td-fam-input,.td-env-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-sidebar,#f6f7f9);color:var(--text);padding:3px 6px;font-size:12px}.td-lineage-save{cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--sap-blue);background:0 0;padding:3px 10px;font-size:11px;font-weight:600}.td-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:8px;height:8px}.td-dot.connected{background:var(--success)}.td-dot.off{background:var(--border-strong)}.td-dot.connecting{background:var(--warning,#f59e0b);animation:1.4s ease-in-out infinite td-dot-pulse}@keyframes td-dot-pulse{0%,to{opacity:1}50%{opacity:.45}}.td-item-info{flex-direction:column;min-width:0;display:flex}.td-name{font-size:13px;font-weight:600;font-family:var(--mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-user{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.td-unsaved{color:var(--warning);margin-left:4px;font-size:14px}.td-remove{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1;transition:opacity .1s}.td-item:hover .td-remove{opacity:1}.td-remove:hover{color:var(--error)}.td-kebab{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;align-items:center;padding:0 2px;transition:opacity .1s;display:flex}.td-item:hover .td-kebab,.td-item:focus-within .td-kebab{opacity:1}.td-kebab:hover{color:var(--text-primary,#1f1f1f);background:var(--hover-bg,#0000000f)}.td-divider{background:var(--border);height:1px;margin:2px 0}.td-add-btn{width:100%;color:var(--sap-blue);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:12px;font-weight:600;display:block}.td-add-btn:hover{background:var(--sap-blue-soft)}.login-dialog .confirm-body{max-width:400px}.scaffold-dialog .confirm-body{max-width:440px}.scaffold-desc{color:var(--text-muted);margin:4px 0 8px;font-size:12px}.scaffold-preview{font-family:var(--mono);color:var(--text-muted);background:var(--bg-sidebar);border-radius:var(--radius-sm);margin:4px 0 0;padding:6px 8px;font-size:12px}.system-badge{color:var(--text-muted);background:var(--bg-sidebar);border-radius:3px;margin-left:4px;padding:1px 5px;font-size:10px}.login-form{flex-direction:column;gap:12px;margin:16px 0;display:flex}.login-label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.login-input{font-size:13px;font-family:var(--sans);color:var(--text);background:#fff9;border:1px solid #0000001a;border-radius:8px;outline:none;padding:8px 10px;transition:border-color .15s}.login-input:focus{border-color:var(--sap-blue);box-shadow:0 0 0 2px var(--sap-blue-ring)}.login-checkbox{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.login-checkbox input{cursor:pointer}.login-error{color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);margin:0;padding:6px 8px;font-size:12px}.login-seg{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:4px;padding:3px;display:flex}.login-seg button{border-radius:var(--radius-sm);min-height:30px;color:var(--text-secondary);font-family:var(--sans);cursor:pointer;background:0 0;border:0;flex:1;font-size:12px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.login-seg button.is-active{background:var(--surface);color:var(--sap-blue);font-weight:600;box-shadow:0 1px 3px #00000014}.login-fields-group{flex-direction:column;gap:12px;display:flex}.conn-dot{background:var(--border-strong);cursor:help;border-radius:50%;width:10px;height:10px;transition:background .3s}.conn-dot.connected{background:var(--success);box-shadow:0 0 0 3px var(--success-bg)}.tab{font:inherit;color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 0;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--sap-blue);border-bottom-color:var(--sap-blue)}.sync-toolbar{border-bottom:1px solid var(--border);background:var(--panel);z-index:2;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.sync-summary{color:var(--text-secondary);font-size:11px;font-family:var(--mono)}.sync-summary.has-conflicts{cursor:pointer;color:var(--error)}.sync-summary.has-conflicts:hover{text-decoration:underline}.sync-conflict-count{background:var(--error);color:#fff;min-width:16px;height:16px;font-size:10px;font-weight:700;font-family:var(--mono);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.file-tree{flex:1;min-height:0;padding:4px 8px 12px;overflow:auto}.tree-placeholder{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.tree-ul{margin:0;padding:0;list-style:none}.tree-ul .tree-ul{border-left:1px solid var(--border);margin-left:12px;padding-left:10px}.tree-row{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;min-height:28px;padding:3px 8px;font-size:13px;transition:background .1s;display:flex;position:relative}.tree-row:hover,.tree-row.active-file{background:var(--sap-blue-soft)}.tree-row.selected{background:var(--sap-blue-soft);box-shadow:inset 2px 0 0 var(--sap-blue)}.tree-row.selected:hover{filter:brightness(.97)}.file-tree-multiselect .tree-row .tree-actions{display:none!important}.tree-caret{height:14px}.tree-icon{flex-shrink:0;width:16px;height:16px}.tree-icon svg{width:16px;height:16px}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.sync-badge{width:18px;height:18px;font-size:10px;font-weight:700;font-family:var(--mono);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sync-badge svg{width:12px;height:12px}.sync-badge.in_sync{background:var(--success-bg);color:var(--success)}.sync-badge.local_only{background:var(--info-bg);color:var(--info)}.sync-badge.remote_only{background:var(--warning-bg);color:var(--warning)}.sync-badge.conflict{background:var(--error-bg);color:var(--error)}.sync-badge.sync-error{color:#856404;cursor:help;background:#fff3cd}.sync-badge.local{background:var(--panel);color:var(--text-muted)}.sync-badge.loading{background:var(--panel)}.sync-spinner-sm{border:1.5px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin-sm}@keyframes spin-sm{to{transform:rotate(360deg)}}.tree-actions{align-items:center;gap:2px;margin-left:auto;display:none}.tree-row:hover .tree-actions{display:flex}.tree-row:hover .sync-badge{display:none}.tree-actions .btn-icon{width:22px;height:22px;padding:0}.conversations{padding:8px}.conv-card{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000;margin-bottom:4px;padding:10px;transition:border-color .12s,background .12s;display:block}.conv-card:hover{border-color:var(--border);background:var(--surface)}.conv-card.active{border-color:var(--sap-blue-ring);background:var(--sap-blue-soft)}.conv-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;overflow:hidden}.conv-meta{color:var(--text-muted);margin:4px 0 0;font-size:11px}.conv-actions{gap:6px;padding:8px 8px 4px;display:flex}.conv-actions .btn{align-items:center;gap:4px;display:inline-flex}.conv-actions .btn svg{flex-shrink:0}.conv-card-header{align-items:center;gap:4px;display:flex}.conv-card-header .conv-title{flex:1;min-width:0}.conv-live{background:var(--success-bg);color:var(--success);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:600}.conv-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1;display:none}.conv-card:hover .conv-delete{display:block}.conv-delete:hover{color:var(--error)}.template-picker-dialog{max-width:500px}.template-list{border:1px solid var(--border);border-radius:var(--radius);max-height:300px;margin:0 0 16px;overflow-y:auto}.template-card{border-bottom:1px solid var(--border);cursor:pointer;padding:10px 14px;transition:background .1s}.template-card:last-child{border-bottom:none}.template-card:hover{background:var(--sap-blue-soft)}.template-card.selected{background:var(--info-bg,#1a73e80f);border-left:3px solid var(--sap-blue);padding-left:11px}.template-card-name{font-size:13px;font-weight:500}.template-card-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.workspace{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.select-model{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:32px;color:var(--text);cursor:pointer;appearance:none;background-image:var(--chevron-light);background-position:right 10px center;background-repeat:no-repeat;padding:0 28px 0 10px;font-size:12px;font-weight:500}.select-model:focus-visible{outline:2px solid var(--sap-blue-ring);outline-offset:1px}.health-chip{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.health-dot{background:var(--border-strong);border-radius:50%;width:7px;height:7px;transition:background .3s}.health-chip.ok .health-dot{background:var(--success)}.health-chip.ok{color:var(--success);border-color:#18891840}.chat-stream{scroll-behavior:smooth;flex:1;padding:24px 0;overflow-y:auto}.chat-welcome{text-align:center;padding:60px 24px 40px;animation:.4s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{opacity:.6;margin-bottom:16px}.chat-welcome h2{letter-spacing:-.02em;margin:0 0 6px;font-size:20px;font-weight:700}.chat-welcome p{color:var(--text-secondary);margin:0 0 24px;font-size:14px}.welcome-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:480px;margin:0 auto;display:flex}.chip{border:1px solid var(--border);font:inherit;background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s,color .12s}.chip:hover{border-color:var(--sap-blue);background:var(--sap-blue-soft);color:var(--sap-blue)}.chat-msg{max-width:var(--chat-max-w);gap:12px;margin:0 auto 20px;padding:0 24px;animation:.2s both fadeUp;display:flex}.code-card{border:1px solid var(--code-border);border-radius:var(--radius);background:var(--code-bg);max-width:100%;margin:12px 0 8px;overflow:hidden}.code-header{background:var(--code-bg);border-bottom:1px solid var(--code-border);color:var(--code-fg);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.code-filename{font-family:var(--mono);color:var(--code-fg);opacity:.85;font-size:11px;font-weight:600}.code-actions{gap:4px;display:flex}.code-header-left{align-items:center;gap:10px;min-width:0;display:flex}.code-view-toggle{border:1px solid var(--border);border-radius:5px;display:flex;overflow:hidden}.code-tab{font:inherit;color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;padding:2px 8px;font-size:10px;font-weight:600;transition:background .1s,color .1s}.code-tab:hover{color:var(--text-secondary)}.code-tab.active{background:var(--sap-blue-soft);color:var(--sap-blue)}.code-tab+.code-tab{border-left:1px solid var(--border)}.code-actions .btn-xs{gap:4px;height:24px;padding:0 8px;font-size:11px}.code-actions .btn-success{color:#2e7d32;border-color:#2e7d32}.code-actions .btn-danger{color:#c62828;border-color:#c62828}.code-validation-errors{font-size:11px;font-family:var(--mono);color:#c62828;background:#fff3f3;border-top:1px solid #ffcdd2;max-height:120px;padding:8px 16px;overflow-y:auto}.code-val-error{padding:2px 0;line-height:1.4}.code-val-error+.code-val-error{border-top:1px solid #c628281a}.code-body{background:var(--code-bg);color:var(--code-fg);font-feature-settings:"calt" 0, "liga" 0, "zero" 1;padding:12px 16px;overflow-x:auto}.code-body pre{font-family:var(--mono);font-size:var(--text-code);color:var(--code-fg);white-space:pre;tab-size:4;margin:0;line-height:1.7}.code-body .py-kw{color:var(--syn-keyword-dk);font-weight:600}.code-body .py-str{color:var(--syn-string-dk)}.code-body .py-num{color:var(--syn-number-dk)}.code-body .py-comment{color:var(--syn-comment-dk);font-style:italic}.code-body .py-builtin{color:var(--syn-builtin-dk)}.code-body .py-self{color:var(--syn-error-dk);font-weight:500}.code-body .py-fn{color:var(--syn-fn-dk)}.code-body .hl-tag{color:var(--syn-error-dk);font-weight:500}.code-body .hl-attr{color:var(--syn-number-dk)}.code-body .hl-ko-attr{color:var(--syn-builtin-dk);font-weight:500}.code-body .hl-str{color:var(--syn-string-dk)}.code-body .hl-bracket{color:var(--syn-punct-dk)}.code-body .jn-key{color:var(--syn-keyword-dk);font-weight:500}.code-body .jn-str{color:var(--syn-string-dk)}.code-body .jn-num{color:var(--syn-number-dk)}.code-body .dt-add{color:var(--syn-string-dk)}.code-body .dt-del{color:var(--syn-error-dk)}.py-kw{color:var(--syn-keyword);font-weight:600}.py-str{color:var(--syn-string)}.py-num{color:var(--syn-number)}.py-comment{color:var(--text-muted);font-style:italic}.py-builtin{color:var(--syn-builtin)}.py-self{color:var(--syn-error);font-weight:500}.py-fn{color:var(--syn-fn)}.hl-tag{color:var(--syn-error);font-weight:500}.hl-attr{color:var(--syn-number)}.hl-ko-attr{color:var(--syn-builtin);font-weight:500}.hl-str{color:var(--syn-string)}.hl-bracket{color:var(--syn-punct)}.hl-comment{color:var(--text-muted);font-style:italic}.hl-entity{color:var(--syn-number)}.hl-razor{color:var(--syn-builtin);font-weight:500}.jn-key{color:var(--syn-keyword);font-weight:500}.jn-str{color:var(--syn-string)}.jn-num{color:var(--syn-number)}.jn-bool{color:var(--syn-builtin);font-weight:500}.jn-null{color:var(--text-muted);font-style:italic}.jn-punct{color:var(--syn-punct)}.dt-tag{color:var(--syn-keyword);font-weight:600}.dt-param{color:var(--syn-string)}.dt-mod{color:var(--syn-number)}.dt-ctx{color:var(--syn-string);font-weight:500}.dt-fn{color:var(--syn-builtin)}.dt-cond{color:var(--syn-error);font-weight:500}.code-actions .ico{fill:none;stroke:currentColor;stroke-width:1.2px;vertical-align:-2px;width:12px;height:12px;margin-right:2px}.code-diff-body{font-family:var(--mono);background:#fafbfc;padding:0;font-size:12px;line-height:1.7;overflow-x:auto}.cd-hunk{background:var(--sap-blue-soft);color:var(--sap-blue);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3px 12px;font-size:11px;font-weight:500}.cd-line{min-height:22px;padding-right:12px;display:flex}.cd-num{text-align:right;width:36px;min-width:36px;color:var(--text-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 4px;font-size:11px}.cd-num-new{border-right:1px solid var(--border)}.cd-marker{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:18px;min-width:18px;font-weight:700}.cd-content{white-space:pre;flex:1;min-width:0;padding-left:6px}.cd-line.addition{background:var(--success-bg);border-left:3px solid var(--success)}.cd-line.addition .cd-marker,.cd-line.addition .cd-num{color:var(--success)}.cd-line.removal{background:var(--error-bg);border-left:3px solid var(--error)}.cd-line.removal .cd-marker,.cd-line.removal .cd-num{color:var(--error)}.cd-line.removal .cd-content{opacity:.7;text-decoration:line-through}.cd-line.context{border-left:3px solid #0000}.cd-line.context .cd-content{color:var(--text-secondary)}.cd-word-add{background:#2ea0434d;border-radius:2px;padding:0 1px}.cd-word-del{background:#f851494d;border-radius:2px;padding:0 1px}.cd-sbs-toggle{gap:2px;margin-left:auto;font-size:11px;display:inline-flex}.cd-sbs-toggle button{border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:1px 6px;font-size:11px}.cd-sbs-toggle button.active{background:var(--sap-blue-soft);color:var(--sap-blue);border-color:var(--sap-blue)}.cd-sbs-container{gap:0;display:flex;overflow-x:auto}.cd-sbs-pane{flex:1;min-width:0;overflow-x:auto}.cd-sbs-pane:first-child{border-right:1px solid var(--border)}.cd-sbs-pane .cd-line{padding-right:8px}.cd-sbs-pane .cd-num-new,.cd-sbs-pane .cd-num-old:not(:first-child){display:none}.cd-sbs-pane .cd-num{width:28px;min-width:28px}.cd-sbs-label{color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:2px 8px;font-size:11px;font-weight:600}.tool-result{border:1px solid var(--border);border-radius:var(--radius-sm);margin:8px 0;overflow:hidden}.tool-result-header{background:var(--panel);border-bottom:1px solid var(--border);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.tool-result-header:before{content:">";font-family:var(--mono);font-size:10px;transition:transform .15s}.tool-result-header.expanded:before{transform:rotate(90deg)}.tool-result-body{background:#fafbfc;max-height:clamp(180px,35vh,480px);padding:8px 12px;display:none;overflow:auto}.tool-result-body.expanded{display:block}.tool-result-body pre{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-all;margin:0;font-size:11px;line-height:1.6}.tr-label{font-weight:600}.tr-badge{border-radius:3px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:500}.tr-badge-existing_test{background:var(--sap-blue-soft);color:var(--sap-blue)}.tr-badge-generated{color:#188918;background:#1889181a}.tr-badge-direct{color:#6750a4;background:#6750a41a}.tr-traces{font-family:var(--mono);font-size:11px;line-height:1.7}.tr-trace{border-bottom:1px solid var(--border-light);padding:2px 0}.tr-trace:last-child{border-bottom:none}.tr-ts{color:var(--text-muted);margin-right:8px;font-size:10px}.tr-meta{color:var(--text-secondary);border-top:1px solid var(--border-light);margin-top:6px;padding-top:4px;font-size:11px}.tr-error{font-family:var(--mono);color:#cc1919;white-space:pre-wrap;font-size:11px}.cfg-table{border-collapse:collapse;width:100%;margin:4px 0;font-size:12px}.cfg-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border);padding:4px 8px;font-size:10px;font-weight:600}.cfg-table td{border-bottom:1px solid var(--border-light);vertical-align:top;padding:6px 8px}.cfg-name{white-space:nowrap;font-weight:500}.cfg-req{color:#cc1919;margin-left:2px}.cfg-type{color:var(--text-muted);white-space:nowrap;font-size:11px}.cfg-value{max-width:300px}.cfg-current{font-family:var(--mono);color:var(--text-secondary);font-size:11px}.cfg-opts{flex-wrap:wrap;gap:4px;display:flex}.cfg-opt{background:var(--surface-elevated);border:1px solid var(--border-light);cursor:pointer;border-radius:3px;padding:2px 8px;font-size:11px;transition:all .15s;display:inline-block}.cfg-opt:hover{border-color:var(--accent);color:var(--accent)}.cfg-opt-selected{border-color:var(--accent);color:var(--accent);background:#1a73e81a;font-weight:500}.cfg-disabled td{opacity:.45}.cfg-price{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:600}.cfg-hint{color:var(--text-muted);border-top:1px solid var(--border-light);margin-top:8px;padding-top:6px;font-size:11px}.cfg-hint code{font-family:var(--mono);background:var(--surface-elevated);border-radius:2px;padding:1px 4px;font-size:10px}.cfg-embed{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:opacity .3s;overflow:hidden;box-shadow:0 2px 12px #00000014}.cfg-embed.done{box-shadow:none;border:none}.cfg-embed-header{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.cfg-embed-title{align-items:center;gap:8px;min-width:0;display:flex}.cfg-embed-title strong{font-size:14px;font-weight:700}.cfg-embed-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.cfg-iframe{background:var(--bg);border:none;width:100%;height:clamp(360px,50vh,640px);display:block}.cfg-embed:not(.loaded) .cfg-iframe{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='20' cy='20' r='16' fill='none' stroke='%23DDE1E6' stroke-width='3' stroke-dasharray='40 20'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 20 20' to='360 20 20' dur='1s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center center no-repeat}.cfg-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:640px;transition:opacity .3s;overflow:hidden;box-shadow:0 2px 8px #0000000f}.cfg-card.done{opacity:.85}.cfg-card-header{border-bottom:1px solid var(--border);background:var(--panel);padding:14px 16px 10px}.cfg-header-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.cfg-header-title{align-items:center;gap:8px;min-width:0;display:flex}.cfg-header-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.cfg-gear-icon{flex-shrink:0;font-size:16px}.cfg-part-number{font-family:var(--mono);color:var(--text-muted);background:var(--bg);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:11px}.cfg-header-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.cfg-header-price{color:var(--text);white-space:nowrap;font-size:14px;font-weight:700}.cfg-header-progress{font-size:11px;font-family:var(--mono);color:var(--text-secondary);white-space:nowrap}.cfg-progress-bar-track{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.cfg-progress-bar-fill{background:var(--success);border-radius:2px;height:100%;transition:width .3s}.cfg-tabs{border-bottom:1px solid var(--border);background:var(--panel);padding:0 8px;display:flex}.cfg-tab-btn{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.cfg-tab-btn:hover{color:var(--text-secondary)}.cfg-tab-btn.active{color:var(--sap-blue);border-bottom-color:var(--sap-blue)}.cfg-card-body{max-height:clamp(280px,45vh,560px);padding:8px 0;overflow-y:auto}.cfg-attr-row{border-left:3px solid #0000;align-items:center;gap:12px;padding:8px 16px;transition:background .2s,border-color .2s;display:flex;position:relative}.cfg-attr-row:hover{background:#00000004}.cfg-attr-row.incomplete{border-left-color:var(--error)}.cfg-attr-row.conflict{border-left-color:var(--warning)}.cfg-attr-row.disabled{opacity:.4;pointer-events:none}.cfg-attr-row.updating{background:var(--sap-blue-soft);animation:1s infinite cfgPulse}.cfg-attr-row.changed{animation:.6s cfgFlash}@keyframes cfgPulse{0%,to{background:var(--sap-blue-soft)}50%{background:#1a73e80a}}@keyframes cfgFlash{0%{background:var(--success-bg)}to{background:0 0}}.cfg-attr-label{width:160px;min-width:120px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:13px;font-weight:500;overflow:hidden}.cfg-control{flex:1;min-width:0}.cfg-select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:280px;height:32px;color:var(--text);cursor:pointer;appearance:none;background-image:var(--chevron-light);background-position:right 10px center;background-repeat:no-repeat;padding:0 28px 0 10px;font-size:13px;transition:border-color .15s}.cfg-select:focus{border-color:var(--sap-blue);box-shadow:0 0 0 2px var(--sap-blue-ring);outline:none}.cfg-select:disabled{opacity:.5;cursor:not-allowed}.cfg-radio-group{flex-wrap:wrap;gap:6px 16px;display:flex}.cfg-radio-label{cursor:pointer;color:var(--text);align-items:center;gap:5px;font-size:13px;display:flex}.cfg-radio-label.disabled{opacity:.45;cursor:not-allowed}.cfg-radio-label input[type=radio]{accent-color:var(--sap-blue);cursor:inherit}.cfg-checkbox-group{flex-wrap:wrap;gap:6px 16px;display:flex}.cfg-checkbox-label{cursor:pointer;color:var(--text);align-items:center;gap:5px;font-size:13px;display:flex}.cfg-checkbox-label.disabled{opacity:.45;cursor:not-allowed}.cfg-checkbox-label input[type=checkbox]{accent-color:var(--sap-blue);cursor:inherit}.cfg-tile-group{flex-wrap:wrap;gap:6px;display:flex}.cfg-tile{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:6px 12px;font-size:12px;font-weight:500;transition:border-color .15s,background .15s}.cfg-tile:hover{border-color:var(--sap-blue);background:var(--sap-blue-soft)}.cfg-tile.selected{border-color:var(--sap-blue);background:var(--sap-blue-soft);color:var(--sap-blue);font-weight:600}.cfg-tile.disabled{opacity:.45;cursor:not-allowed}.cfg-text-input{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:280px;height:32px;color:var(--text);padding:0 10px;font-size:13px;transition:border-color .15s}.cfg-text-input:focus{border-color:var(--sap-blue);box-shadow:0 0 0 2px var(--sap-blue-ring);outline:none}.cfg-text-input:disabled{opacity:.5;cursor:not-allowed}.cfg-option-price{color:var(--text-muted);font-size:11px;font-family:var(--mono)}.cfg-readonly-value{color:var(--text-muted);font-size:13px;font-family:var(--mono)}.cfg-row-spinner{display:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.cfg-attr-row.updating .cfg-row-spinner{display:block}.cfg-spinner-dot{border:2px solid var(--border);border-top-color:var(--sap-blue);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite cfgSpin}@keyframes cfgSpin{to{transform:rotate(360deg)}}.cfg-messages{padding:0 16px}.cfg-messages:empty{display:none}.cfg-msg{border-radius:var(--radius-sm);margin:4px 0;padding:8px 12px;font-size:12px;line-height:1.5}.cfg-msg-error{background:var(--error-bg);color:var(--error)}.cfg-msg-incomplete{background:var(--warning-bg);color:var(--warning)}.cfg-msg-invalid{background:var(--error-bg);color:var(--error)}.cfg-msg-conflict{background:var(--warning-bg);color:var(--warning)}.cfg-msg-info{background:var(--info-bg);color:var(--info)}.cfg-footer{border-top:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cfg-add-btn:disabled{opacity:.4;cursor:not-allowed}.cfg-done-msg{text-align:center;color:var(--success);padding:24px 16px;font-size:15px;font-weight:600}.cfg-done-msg.cfg-cancelled{color:var(--text-muted)}.cfg-trace-panel{border-top:1px solid var(--border);background:var(--panel);border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.cfg-trace-toggle{justify-content:space-between;align-items:center;height:34px;padding:0 12px;display:flex}.cfg-trace-toggle-btn{cursor:pointer;font-family:var(--mono);color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:4px 6px;font-size:11px;transition:color .15s;display:inline-flex}.cfg-trace-toggle-btn:hover{color:var(--sap-blue)}.cfg-trace-toggle-btn svg{flex-shrink:0}.cfg-trace-badge{background:var(--sap-blue);color:#fff;min-width:18px;height:16px;font-size:10px;font-weight:600;font-family:var(--sans);border-radius:8px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.cfg-trace-badge.pulse{animation:.4s ease-out cfgTraceBadgePulse}@keyframes cfgTraceBadgePulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.cfg-trace-controls{align-items:center;gap:8px;display:flex}.cfg-trace-filter-group{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.cfg-trace-filter-btn{border:none;border-right:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;padding:2px 10px;font-size:11px;transition:background .15s,color .15s}.cfg-trace-filter-btn:last-child{border-right:none}.cfg-trace-filter-btn.active{background:var(--sap-blue-soft);color:var(--sap-blue);font-weight:600}.cfg-trace-filter-btn:hover:not(.active){background:var(--sap-blue-soft)}.cfg-trace-clear-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);background:0 0;padding:2px 10px;font-size:11px;transition:background .15s,color .15s}.cfg-trace-clear-btn:hover{background:var(--error-bg);color:var(--error);border-color:var(--error)}.cfg-label-filter{align-items:center;display:inline-flex;position:relative}.cfg-label-filter-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:2px 8px;font-family:inherit;font-size:11px;line-height:1.4;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.cfg-label-filter-btn:hover,.cfg-label-filter-btn.active{background:var(--sap-blue-soft);border-color:var(--sap-blue);color:var(--sap-blue)}.cfg-label-filter-text{font-size:11px}.cfg-label-filter-arrow{opacity:.6;font-size:8px;line-height:1}.cfg-label-filter-panel{background:var(--surface);border:1px solid var(--border);z-index:9999;border-radius:6px;min-width:150px;max-height:260px;padding:3px 0;position:fixed;overflow-y:auto;box-shadow:0 4px 14px #00000024}.cfg-label-filter-opt{cursor:pointer;font-size:11px;font-family:var(--mono);color:var(--text-secondary);align-items:center;gap:6px;padding:5px 10px;transition:background .1s;display:flex}.cfg-label-filter-opt:hover{background:var(--sap-blue-soft)}.cfg-label-filter-opt.active{color:var(--text);background:#1a73e80f;font-weight:500}.cfg-trace-body{background:var(--surface);border-top:1px solid var(--border);max-height:clamp(200px,30vh,400px);overflow-y:auto}.cfg-trace-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.cfg-trace-action{border-bottom:1px solid var(--border)}.cfg-trace-action:last-child{border-bottom:none}.cfg-trace-action.cfg-trace-new{animation:1.2s ease-out trace-arrive}@keyframes trace-arrive{0%{background:linear-gradient(90deg,#0000 0%,#1a73e826 30%,#1a73e840 50%,#1a73e826 70%,#0000 100%) -100% 0/200% 100%}40%{background:linear-gradient(90deg,#0000 0%,#1a73e826 30%,#1a73e840 50%,#1a73e826 70%,#0000 100%) 100% 0/200% 100%}to{background:0 0}}.cfg-trace-action-header{cursor:pointer;font-family:var(--mono);color:var(--text);align-items:center;gap:6px;padding:6px 12px;font-size:11px;transition:background .1s;display:flex}.cfg-trace-action-header:hover{background:var(--sap-blue-soft)}.cfg-trace-chevron{color:var(--text-muted);text-align:center;flex-shrink:0;width:12px;font-size:10px;transition:transform .15s}.cfg-trace-action.expanded .cfg-trace-chevron{transform:rotate(90deg)}.cfg-trace-action-name{color:var(--sap-blue);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cfg-trace-action-meta{color:var(--text-muted);flex-shrink:0;gap:8px;margin-left:auto;font-size:10px;display:flex}.cfg-trace-action-body{border-top:1px solid var(--border);background:var(--panel)}.cfg-trace-line{font-family:var(--mono);align-items:baseline;gap:6px;padding:2px 12px;font-size:11px;line-height:1.6;animation:.15s ease-out cfgTraceLineIn;display:flex}.cfg-trace-line:nth-child(2n){background:#00000005}@keyframes cfgTraceLineIn{0%{opacity:0}to{opacity:1}}.cfg-trace-level{text-transform:uppercase;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;min-width:16px;height:15px;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.cfg-trace-level-h{background:var(--sap-blue-soft);color:var(--sap-blue)}.cfg-trace-level-l{color:var(--text-secondary);background:#6a7a8c1a}.cfg-trace-level-error{color:#dc2626;background:#dc26261a}.cfg-trace-label{text-transform:uppercase;height:15px;color:var(--text-muted);background:#6a7a8c14;border-radius:3px;flex-shrink:0;align-items:center;padding:0 4px;font-size:8px;font-weight:600;line-height:1;display:inline-flex}.cfg-trace-label-script,.cfg-trace-label-scriptevent{color:#7c3aed;background:#8b5cf61a}.cfg-trace-label-scripterror{color:#dc2626;background:#dc26261a}.cfg-trace-label-ruleengine{color:#b45309;background:#f59e0b1a}.cfg-trace-label-database{color:#0891b2;background:#06b6d41a}.cfg-trace-msg{word-break:break-word;min-width:0;color:var(--text);flex:1}.cfg-trace-dur{color:var(--text-muted);text-align:right;flex-shrink:0;min-width:40px;font-size:10px}.cfg-trace-empty-action{color:var(--text-muted);padding:8px 12px;font-size:11px;font-style:italic}.cfg-trace-group-header{cursor:pointer;font-family:var(--mono);color:var(--text-secondary);align-items:baseline;gap:6px;padding:2px 12px;font-size:11px;line-height:1.6;transition:background .1s;display:flex}.cfg-trace-group-header:hover{background:var(--sap-blue-soft)}.cfg-trace-group.expanded>.cfg-trace-group-header{color:var(--text);background:#1a73e80a}.cfg-trace-group.expanded>.cfg-trace-group-header .cfg-trace-chevron{transform:rotate(90deg)}.cfg-trace-group-text{word-break:break-word;flex:1;min-width:0}.cfg-trace-group-meta{color:var(--text-muted);flex-shrink:0;gap:6px;margin-left:auto;font-size:10px;display:flex}.cfg-trace-group-dur{color:var(--text-muted);font-size:10px}.cfg-trace-group-body{padding-left:18px}.cfg-trace-group .cfg-trace-group{margin-left:0}.cfg-trace-synthetic>.cfg-trace-group-header{opacity:.55;font-style:italic}.cfg-trace-line.cfg-trace-synthetic{opacity:.4;font-style:italic}.cfg-embed .cfg-trace-panel{border-radius:0 0 var(--radius) var(--radius)}.composer{background:var(--surface,transparent);border-top:1px solid var(--border,#e5e7eb);padding:14px 16px 16px;position:relative}.composer-inner{max-width:var(--chat-max-w);background:#fafafa;border:1px solid #e5e7eb;border-radius:22px;align-items:center;gap:8px;margin:0 auto;padding:8px 10px 8px 14px;transition:border-color .12s,background .12s;display:flex}.composer-inner:focus-within{background:#fff;border-color:#1f2937}[data-theme=dark] .composer-inner{background:#ffffff0a;border-color:#ffffff1a}[data-theme=dark] .composer-inner:focus-within{background:#ffffff0f;border-color:#ffffff4d}.composer-inner.drag-over{border-color:var(--sap-blue);background:var(--sap-blue-soft)}.composer-inner textarea{resize:none;min-width:0;font:inherit;color:inherit;background:0 0;border:0;outline:0;flex:1;padding:4px 0;font-size:13.5px;line-height:1.4}.composer-inner textarea::placeholder{color:var(--text-muted)}.composer-inner textarea:disabled{opacity:.5;cursor:not-allowed}.btn-attach{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,background .12s;display:flex}.btn-attach:hover{color:var(--sap-blue);background:var(--sap-blue-soft)}.composer-attachments{max-width:var(--chat-max-w);flex-wrap:wrap;gap:6px;margin:0 auto 6px;display:flex}.attach-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;align-items:center;gap:6px;max-width:280px;padding:4px 10px;font-size:12px;display:inline-flex}.attach-chip.uploading{color:var(--text-muted);font-style:italic}.attach-chip svg{color:var(--sap-blue);flex-shrink:0}.attach-chip.image{padding-left:4px}.attach-chip.text{padding-left:6px}.attach-text-badge{letter-spacing:.5px;background:var(--sap-blue-soft,#0d6efd1a);color:var(--sap-blue);border:1px solid var(--sap-blue);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 5px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.attach-thumb{object-fit:cover;border:1px solid var(--border);background:var(--panel-2,var(--panel));border-radius:4px;flex-shrink:0;width:28px;height:28px}.attach-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:500;overflow:hidden}.attach-meta{color:var(--text-muted)}.attach-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:2px;padding:0 2px;font-size:16px;line-height:1}.attach-remove:hover{color:var(--error)}.composer-inner .btn-send{color:#fff;cursor:pointer;background:#1f2937;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.composer-inner .btn-send:disabled{cursor:default;background:#d1d5db}.composer-inner .btn-send svg{width:14px;height:14px}[data-theme=dark] .composer-inner .btn-send{color:#111827;background:#e5e7eb}[data-theme=dark] .composer-inner .btn-send:disabled{color:#9ca3af;background:#ffffff1a}.at-autocomplete{width:100%;max-width:var(--chat-max-w);background:var(--surface,#fff);z-index:20;border:.5px solid #00000014;border-radius:12px;max-height:220px;padding:4px;position:absolute;bottom:100%;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 32px #0000001f,0 0 0 .5px #0000000a}.at-autocomplete[hidden]{display:none}.at-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background 80ms;display:flex}.at-item:hover,.at-item.active{background:var(--sap-blue-soft)}.at-item.active{outline:2px solid var(--sap-blue-ring);outline-offset:-2px}.at-item-icon{width:16px;height:16px;color:var(--sap-blue);flex-shrink:0}.at-item-name{font-family:var(--mono);flex:1;font-size:12px;font-weight:600}.at-item-path{color:var(--text-muted);font-size:10px;font-family:var(--mono)}.at-item-name mark{color:var(--sap-blue);background:#1a73e826;border-radius:2px;padding:0 1px}.at-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:12px}.composer-hint{max-width:var(--chat-max-w);color:var(--text-muted);text-align:center;margin:6px auto 0;font-size:11px}#panel-chat{overflow:hidden}.chat-panel{flex-direction:column;height:100%;min-height:0;display:flex}.chat-panel-header{background:#f7f8f9;border-bottom:.5px solid #0000000f;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex;position:relative}.chat-panel-icon{color:var(--sap-blue);font-size:14px}.chat-panel-title{flex:1;font-size:12px;font-weight:600}.chat-panel-actions{align-items:center;gap:4px;display:flex}.backend-picker{border:1px solid var(--border,#e5e7eb);font:inherit;color:var(--text,#1f2937);cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:5px;max-width:180px;margin-right:4px;padding:3px 9px;font-size:11.5px;transition:background .1s,border-color .1s;display:inline-flex}.backend-picker:hover{background:#00000008;border-color:#00000026}.backend-picker svg{opacity:.55;flex:none}.backend-picker-label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}[data-theme=dark] .backend-picker{color:var(--text,#e5e7eb);border-color:#ffffff1f}[data-theme=dark] .backend-picker:hover{background:#ffffff0d;border-color:#fff3}.backend-menu{background:var(--surface,#fff);z-index:50;border:1px solid #00000014;border-radius:10px;width:280px;margin-top:4px;padding:4px;position:absolute;top:100%;right:8px;box-shadow:0 8px 24px #0000001a,0 0 0 .5px #0000000a}.backend-menu[hidden]{display:none}[data-theme=dark] .backend-menu{background:var(--surface);border-color:#ffffff1f}.backend-menu-item{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 10px;display:grid}.backend-menu-item:hover{background:#0000000a}[data-theme=dark] .backend-menu-item:hover{background:#ffffff0f}.backend-menu-item.active{background:#4b8efb14}[data-theme=dark] .backend-menu-item.active{background:#4b8efb24}.backend-menu-label{color:var(--text,#1f2937);font-size:13px;font-weight:500}.backend-menu-hint{color:var(--text-muted,#6b7280);grid-column:1/2;margin-top:1px;font-size:11px}.backend-menu-check{color:#16a34a;grid-area:1/2/2/3;align-self:center;font-size:13px}.history-dropdown{background:var(--surface,#fff);z-index:20;border:.5px solid #00000014;border-radius:12px;width:280px;max-height:320px;padding:4px 0;position:absolute;top:100%;right:8px;overflow:auto;box-shadow:0 8px 32px #0000001f,0 0 0 .5px #0000000a}.history-item{text-align:left;cursor:pointer;width:100%;font-family:var(--sans);background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.history-item:hover{background:var(--sap-blue-soft)}.history-item-title{color:var(--text);font-size:12px;font-weight:500}.history-item-date{color:var(--text-muted);font-size:10px}.history-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:12px}.diff-panel-inner{background:var(--panel);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diff-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.diff-title{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:700}.diff-bulk-actions{gap:4px;margin-left:auto;margin-right:8px;display:flex}.diff-file-list{flex:1;padding:6px;overflow-y:auto}.diff-file-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:6px;overflow:hidden}.diff-file-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.diff-file-card-header:hover{background:var(--sap-blue-soft)}.diff-file-card.expanded>.diff-file-card-header{background:var(--sap-blue-soft);border-bottom:1px solid var(--border)}.diff-card-caret{width:12px;color:var(--text-muted);flex-shrink:0;font-size:9px;transition:transform .12s}.diff-card-caret.open{transform:rotate(90deg)}.diff-card-actions{gap:4px;margin-left:auto;display:flex}.diff-file-card-body{font-family:var(--mono);max-height:480px;font-size:12px;line-height:1.7;overflow:auto}.diff-file-card:not(.expanded)>.diff-file-card-body{display:none}.diff-empty-state{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:12px}.diff-error{color:var(--error)}.diff-file-row{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:background .1s;display:flex}.diff-file-row:hover{background:var(--sap-blue-soft)}.diff-file-row.active{background:var(--sap-blue-soft);font-weight:600}.diff-file-name{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.diff-file-dir{color:var(--text-muted);font-size:10px}.diff-file-actions{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;width:100%;margin-top:2px;font-size:9px;display:block;overflow:hidden}.diff-view{font-family:var(--mono);flex:1;font-size:12px;line-height:1.7;overflow:auto}.diff-empty{text-align:center;color:var(--text-muted);font-family:var(--sans);padding:40px 20px;font-size:13px}.diff-hunk-header{background:var(--sap-blue-soft);color:var(--sap-blue);border-top:1px solid var(--border);border-bottom:1px solid var(--border);z-index:1;padding:4px 12px;font-size:11px;font-weight:500;position:sticky;top:0}.diff-line{min-height:22px;padding:0 12px;display:flex}.diff-line-marker{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:18px;font-weight:600}.diff-line-content{white-space:pre;flex:1;padding-left:8px}.diff-line.addition{background:var(--success-bg);border-left:3px solid var(--success)}.diff-line.addition .diff-line-marker{color:var(--success)}.diff-line.removal{background:var(--error-bg);border-left:3px solid var(--error)}.diff-line.removal .diff-line-marker{color:var(--error)}.diff-line.context{color:var(--text-muted);border-left:3px solid #0000}.diff-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.btn{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:13px;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.btn:hover{border-color:var(--border-strong);background:var(--panel)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.chip:focus-visible,.cfg-tab-btn:focus-visible,.tree-row:focus-visible,.cfg-tile:focus-visible,.tab:focus-visible,.td-item:focus-visible,.at-item:focus-visible{outline:2px solid var(--sap-blue-ring);outline-offset:1px}.btn-primary{background:var(--sap-blue);border-color:var(--sap-blue);color:#fff;font-weight:600}.btn-primary:hover{background:var(--sap-blue-hover);border-color:var(--sap-blue-hover)}.btn-success{background:var(--success);border-color:var(--success);color:#fff;font-weight:600}.btn-success:hover{background:#147014;border-color:#147014}.btn-danger{background:var(--error);border-color:var(--error);color:#fff;font-weight:600}.btn-xs{border-radius:5px;gap:4px;height:26px;padding:0 8px;font-size:11px}.btn-icon{border-radius:var(--radius-sm);width:28px;min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:flex}.btn-icon:hover{color:var(--text);background:var(--sap-blue-soft)}.ico{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.confirm-dialog{background:var(--surface,#fff);width:90vw;max-width:420px;color:var(--text);border:none;border-radius:16px;padding:0;box-shadow:0 0 0 .5px #0000000f,0 8px 40px #0000001f,0 2px 8px #0000000f}.confirm-dialog::backdrop{background:#0000004d}.confirm-body{padding:24px 24px 20px}.confirm-body h3{letter-spacing:-.01em;margin:0 0 6px;font-size:15px;font-weight:600}.confirm-body p{color:var(--text-secondary);white-space:pre-line;margin:0 0 20px;font-size:13px;line-height:1.5}.confirm-btns{justify-content:flex-end;gap:8px;display:flex}#confirmTypedInput{box-sizing:border-box;width:100%;margin:4px 0 20px;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@media (width<=1100px){:root{--sidebar-w:240px;--diff-w:min(320px, 35vw)}}@media (width<=960px){.diff-file-dir,.health-label{display:none}}@media (width<=820px){:root{--chat-max-w:100%}.chat-msg{padding:0 12px}.composer{padding:10px 12px 8px}.top-nav{gap:6px;padding:0 8px}.select-model,.activity-bar{display:none}.diff-title{font-size:11px}.diff-file-list{max-height:120px;padding:4px}.diff-file-row{padding:4px 6px;font-size:11px}.diff-file-name{font-size:11px}.diff-file-dir{display:none}.diff-hunk-header{padding:3px 8px;font-size:10px}.diff-line{padding:0 6px}.diff-line-marker{width:14px}.diff-actions{padding:8px 10px}.diff-header{padding:10px 12px}}@media (width<=680px){:root{--diff-w:200px;--diff-w-min:160px;--workspace-min:240px}.chat-msg{gap:8px;padding:0 8px}.msg-content{font-size:13px}.composer-hint{display:none}.diff-header{padding:8px}.diff-view{font-size:11px;line-height:1.5}.diff-actions{padding:6px 8px}}.initial-sync-banner{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;align-items:flex-start;gap:10px;max-width:480px;margin:8px 0 8px 40px;padding:10px 14px;display:flex}.sync-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:2px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sync-text{flex:1;min-width:0}.sync-msg{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:13px;display:block;overflow:hidden}.sync-progress-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.sync-progress-fill{background:var(--accent);border-radius:2px;width:0%;height:100%;transition:width .3s}.search-dialog{background:var(--surface);border:none;border-radius:12px;width:90vw;max-width:800px;max-height:80vh;margin:0;padding:0;position:fixed;top:80px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 .5px #0000001a,0 16px 48px #0003,0 4px 12px #00000014}.search-dialog::backdrop{display:none}.search-dialog-dragging{transition:none!important;transform:none!important}.search-dialog .search-header{cursor:move}.search-dialog .search-body{cursor:default}.search-dialog-inner{flex-direction:column;height:80vh;max-height:80vh;display:flex}.search-header{border-bottom:1px solid var(--border);flex-shrink:0}.search-input-row{align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.search-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex:1;align-items:center;gap:6px;padding:0 8px;transition:border-color .15s;display:flex}.search-input-wrap:focus-within{border-color:var(--sap-blue);box-shadow:0 0 0 3px var(--sap-blue-ring)}.search-icon{color:var(--text-muted);flex-shrink:0}.search-input{font-family:var(--sans);color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:14px}.search-input::placeholder{color:var(--text-muted)}.search-toggles{flex-shrink:0;gap:2px;display:flex}.search-toggle{width:28px;height:28px;font-family:var(--mono);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background .1s,color .1s;display:flex}.search-toggle:hover{background:var(--panel);color:var(--text-secondary)}.search-toggle.active{background:var(--sap-blue-soft);color:var(--sap-blue)}.search-close-btn{flex-shrink:0}.search-scope-row{justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.search-scope-tabs{gap:0;display:flex}.search-scope-tab{font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-size:12px;font-weight:600;transition:color .12s,border-color .12s}.search-scope-tab:hover{color:var(--text-secondary)}.search-scope-tab.active{color:var(--sap-blue);border-bottom-color:var(--sap-blue)}.search-file-filter{flex-shrink:0;align-items:center;gap:10px;display:flex}.search-filter-check{font-size:12px;font-family:var(--mono);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.search-filter-check input[type=checkbox]{accent-color:var(--sap-blue)}.search-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.search-results{flex:1;min-height:100px;overflow-y:auto}.search-split-handle{background:var(--border);cursor:row-resize;flex-shrink:0;height:4px;transition:background .1s}.search-split-handle:hover,.search-dialog.split-resizing .search-split-handle{background:var(--sap-blue)}.search-dialog.split-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.search-preview{border-top:1px solid var(--border);flex-direction:column;flex:1;min-height:100px;display:flex;overflow:hidden}.search-preview-header{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:8px;min-height:32px;padding:6px 14px;font-size:12px;display:flex}.search-preview-filename{color:var(--text);font-weight:600}.search-preview-path{color:var(--text-muted);font-family:var(--mono);font-size:11px}.search-preview-body{font-family:var(--mono);flex:1;font-size:12.5px;line-height:1.7;overflow:auto}.search-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:13px}.search-file-group-header{background:var(--panel);border-bottom:1px solid var(--border);z-index:1;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:flex;position:sticky;top:0}.search-file-group-header:hover{background:var(--sap-blue-soft)}.search-file-chevron{width:10px;color:var(--text-muted);font-size:10px;transition:transform .15s;display:inline-block}.search-file-group.collapsed .search-file-group-rows{display:none}.search-file-group-header svg{flex-shrink:0;width:14px;height:14px}.search-file-group-count{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:400}.search-match-row{cursor:pointer;font-size:12.5px;font-family:var(--mono);align-items:baseline;gap:10px;padding:3px 14px 3px 28px;line-height:1.6;transition:background 80ms;display:flex}.search-match-row:hover{background:var(--sap-blue-soft)}.search-match-row.active{background:var(--sap-blue-soft);outline:2px solid var(--sap-blue-ring);outline-offset:-2px;border-radius:3px}.search-match-line-num{color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:36px;font-size:11px}.search-match-text{white-space:nowrap;text-overflow:ellipsis;color:var(--text);flex:1;overflow:hidden}.search-match-text mark{color:var(--sap-blue);background:#1a73e826;border-radius:2px;padding:0 1px}.code-line{width:fit-content;min-width:100%;min-height:21px;padding:0 14px;display:flex}.code-line.highlight{background:var(--sap-blue-soft);border-left:3px solid var(--sap-blue);padding-left:11px}.code-num{text-align:right;width:44px;color:var(--text-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px;font-size:11px}.code-content{white-space:pre;flex:1;overflow-x:auto}.search-footer{border-top:1px solid var(--border);background:var(--panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}.search-footer-check{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.search-footer-check input[type=checkbox]{accent-color:var(--sap-blue)}.search-footer-stats{color:var(--text-muted);font-family:var(--mono)}.workspace-tabs-bar{flex:1;align-items:center;gap:0;min-width:0;height:100%;display:flex}.workspace-tabs-bar[hidden]{display:none}.ws-tabs-scroll-zone{flex:1;align-items:center;min-width:0;height:100%;display:flex;position:relative}.ws-tabs-scroll-zone:before,.ws-tabs-scroll-zone:after{content:"";pointer-events:none;z-index:1;opacity:0;width:20px;transition:opacity .15s;position:absolute;top:0;bottom:0}.ws-tabs-scroll-zone:before{background:linear-gradient(to right, var(--surface), transparent);left:24px}.ws-tabs-scroll-zone:after{background:linear-gradient(to left, var(--surface), transparent);right:24px}.ws-tabs-scroll-zone.fade-left:before,.ws-tabs-scroll-zone.fade-right:after{opacity:1}.ws-scroll-btn{width:24px;height:100%;color:var(--text-muted);cursor:pointer;z-index:2;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s;display:flex}.ws-scroll-btn:hover{color:var(--sap-blue)}.ws-scroll-btn[hidden]{display:none}.ws-scroll-btn svg{width:10px;height:10px}.workspace-tabs{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex:1;align-items:center;gap:0;min-width:0;height:100%;display:flex;overflow-x:auto}.workspace-tabs::-webkit-scrollbar{display:none}.ws-tab{max-width:160px;height:100%;font:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:500;transition:color .1s,border-color .1s,background .1s;display:flex;position:relative}.ws-tab:hover{color:var(--text)}.ws-tab.active{color:var(--sap-blue);border-bottom-color:var(--sap-blue);background:var(--surface);font-weight:600}.ws-tab.ws-tab-pinned{border-right:1px solid var(--border);flex-shrink:0;max-width:none;margin-right:2px;padding:0 10px}.ws-tab.ws-tab-pinned .ws-tab-icon{color:var(--sap-blue)}.ws-tab.ws-tab-pinned.active{background:0 0}.ws-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-tab-close{width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:opacity .1s,background .1s;display:inline-flex}.ws-tab-close:before{content:"×"}.ws-tab:hover .ws-tab-close{opacity:.6}.ws-tab-close:hover{background:var(--border);opacity:1!important}.ws-tab.dirty .ws-tab-close{opacity:1}.ws-tab.dirty .ws-tab-close:before{content:"●";color:var(--text-muted);font-size:9px}.ws-tab.dirty:hover .ws-tab-close:before{content:"×";color:var(--text-muted);font-size:14px}.ws-tab.dirty .ws-tab-close:hover{background:var(--border)}.ws-tab-icon{flex-shrink:0;width:12px;height:12px}.ws-tab-sync{border-radius:3px;flex-shrink:0;width:14px;height:14px;margin-left:-2px}.ws-tab-sync svg{width:10px;height:10px}.ws-tab-count{background:var(--border);min-width:20px;height:18px;color:var(--text-secondary);font-size:10px;font-weight:600;font-family:var(--mono);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0 5px;display:inline-flex}.ws-tab-count[hidden]{display:none}.ws-overflow-btn{width:24px;min-width:24px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:color .12s,background .12s;display:flex}.ws-overflow-btn:hover{color:var(--text);background:var(--sap-blue-soft)}.ws-overflow-btn.active{color:var(--sap-blue);background:var(--sap-blue-soft)}.ws-overflow-btn[hidden]{display:none}.ws-overflow-btn svg{width:12px;height:12px}.ws-overflow-panel{background:var(--surface);border:1px solid var(--border);z-index:9999;border-radius:8px;min-width:200px;max-width:320px;max-height:360px;padding:4px 0;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.ws-overflow-panel[hidden]{display:none}.ws-overflow-item{cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 12px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.ws-overflow-item:hover{background:var(--sap-blue-soft)}.ws-overflow-item.active{color:var(--sap-blue);background:#1a73e80f;font-weight:600}.ws-overflow-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ws-overflow-item .ws-tab-icon{flex-shrink:0}.ws-ctx-menu{background:var(--surface);border:1px solid var(--border);z-index:10000;border-radius:8px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 4px 16px #00000024}.ws-ctx-menu[hidden]{display:none}.ws-ctx-item{cursor:pointer;color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 14px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.ws-ctx-item:hover{background:var(--sap-blue-soft)}.ws-ctx-item.danger{color:var(--error)}.ws-ctx-item.danger:hover{background:var(--error-bg)}.ws-ctx-sep{background:var(--border);height:1px;margin:3px 0}.settings-menu{background:var(--surface,#fff);z-index:10000;border:.5px solid #00000014;border-radius:12px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 8px 32px #0000001f,0 0 0 .5px #0000000a}.settings-menu[hidden]{display:none}.settings-menu-item{cursor:pointer;color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 14px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.settings-menu-item:hover{background:var(--sap-blue-soft)}@media (width<=960px){.ws-tab-count{display:none}.ws-tab{max-width:120px}}@media (width<=680px){.ws-tab{max-width:90px;font-size:10px}}.file-viewer{min-height:0;font-family:var(--mono);flex-direction:column;flex:1;min-width:0;font-size:12.5px;line-height:1.7;display:flex;overflow:hidden}.file-viewer[hidden]{display:none}.fv-shell{flex:1;min-height:0;display:flex}.fv-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.fv-rail{border-right:1px solid var(--border-soft,#eef0f3);background:var(--panel);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:34px;padding:8px 0;display:flex}.fv-rail-spacer{flex:1}.fv-rail-btn{width:26px;height:26px;color:var(--text-muted,#6f7785);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex;position:relative}.fv-rail-btn:hover{background:var(--hover-bg,#eef1f5);color:var(--text)}.fv-rail-btn[disabled]{opacity:.35;cursor:default}.fv-rail-btn[disabled]:hover{color:var(--text-muted);background:0 0}.fv-rail-btn:focus-visible,.fv-sync-icon:focus-visible,.fv-overflow-row:focus-visible,.shortcuts-dialog .sd-close:focus-visible,.statusbar-shortcuts-btn:focus-visible{outline:2px solid var(--sap-blue-ring);outline-offset:1px}.fv-rail-btn.run{color:#2e8b2e}.fv-rail-btn.accent{color:var(--sap-blue,#1a73e8)}.fv-rail-btn.warn{color:#c55400}.fv-rail-btn.danger{color:#c62828}.fv-rail-btn.muted{color:#b6bdc8}.fv-rail-btn .conflict-dot{border:1.5px solid var(--panel,#fbfbfc);background:#c62828;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.file-viewer-header{border-bottom:1px solid var(--border-soft,#eef0f3);background:var(--panel);flex-shrink:0;align-items:center;gap:8px;padding:7px 14px;font-size:12px;display:flex}.fv-kind-chip{width:18px;height:18px;font-size:10px;font-weight:800;font-family:var(--mono);border:1px solid;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fv-kind-chip[data-kind=script]{color:var(--sap-blue);background:#1a73e81a;border-color:#1a73e847}.fv-kind-chip[data-kind=calculation]{color:#7a36a8;background:#9b4dca1a;border-color:#9b4dca4d}.fv-kind-chip[data-kind=template]{color:#c55400;background:#e765001a;border-color:#e7650052}.fv-kind-chip[data-kind=quote-table]{color:#0e6b0e;background:#1889181a;border-color:#1889184d}.fv-kind-chip[data-kind=properties]{color:var(--text-muted);background:#0000000a;border-color:#0000001f}.fv-filename{color:var(--text);flex-shrink:0;font-size:12.5px;font-weight:600}.fv-path{color:var(--text-muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10.5px;overflow:hidden}.fv-grow{flex:1;min-width:0}.fv-sync-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:22px;display:inline-flex;position:relative}.fv-sync-icon:hover{background:var(--hover-bg,#eef1f5)}.fv-sync-icon svg,.fv-sync-icon[data-status=in_sync] svg{color:var(--text-muted)}.fv-sync-icon[data-status=local_only] svg{color:var(--sap-blue,#1a73e8)}.fv-sync-icon[data-status=remote_only] svg{color:#c55400}.fv-sync-icon[data-status=conflict] svg{color:#c62828}.fv-sync-icon .status-dot{border:1.5px solid var(--panel,#fff);border-radius:50%;width:7px;height:7px;position:absolute;bottom:3px;right:3px}.fv-sync-icon[data-status=in_sync] .status-dot{background:#2e8b2e}.fv-sync-icon[data-status=local_only] .status-dot{background:var(--sap-blue,#1a73e8)}.fv-sync-icon[data-status=remote_only] .status-dot{background:#c55400}.fv-sync-icon[data-status=conflict] .status-dot{background:#c62828}.fv-overflow-menu{z-index:60;background:var(--panel,#fff);border:1px solid var(--border,#d8dde3);color:var(--text);border-radius:6px;min-width:200px;padding:4px;font-size:12px;position:absolute;box-shadow:0 8px 24px #0000001a}.fv-overflow-row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.fv-overflow-row:hover{background:var(--hover-bg,#eef1f5)}.fv-overflow-row .fv-overflow-ico{width:14px;height:14px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.fv-overflow-sep{background:var(--border-soft,#eef0f3);height:1px;margin:4px 2px}.shortcuts-dialog-backdrop{z-index:1000;background:#0f162452;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-dialog{background:var(--panel,#fff);border:1px solid var(--border,#d8dde3);width:min(640px,92vw);max-height:84vh;font-family:var(--mono);border-radius:8px;padding:22px 26px 24px;position:relative;overflow-y:auto;box-shadow:0 12px 40px #0000002e}.shortcuts-dialog h3{color:var(--text);margin:0 0 4px;font-size:16px}.shortcuts-dialog .sd-sub{color:var(--text-muted);margin-bottom:18px;font-size:12px}.shortcuts-dialog .sd-close{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:12px;right:14px}.shortcuts-dialog .sd-close:hover{background:var(--hover-bg,#eef1f5);color:var(--text)}.shortcuts-dialog .sd-group{margin-bottom:16px}.shortcuts-dialog .sd-group h4{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:10.5px;font-weight:700}.shortcuts-dialog .sd-row{color:var(--text);justify-content:space-between;align-items:center;padding:5px 0;font-size:12.5px;display:flex}.shortcuts-dialog .sd-row+.sd-row{border-top:1px solid var(--border-soft,#eef0f3)}.shortcuts-dialog .sd-keys{align-items:center;gap:4px;display:inline-flex}.shortcuts-dialog .sd-key{background:var(--bg,#f5f6f8);border:1px solid var(--border,#d8dde3);min-width:22px;height:22px;font-family:var(--mono);color:var(--text-secondary,#4a5260);border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.shortcuts-dialog .sd-plus{color:var(--text-muted);padding:0 2px;font-size:11px}.statusbar-shortcuts-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.statusbar-shortcuts-btn:hover{background:var(--hover-bg,#eef1f5);color:var(--text)}.file-viewer-body{flex:1;padding:0;position:relative;overflow:hidden}.file-viewer-body .monaco-editor{height:100%!important}.file-viewer-body>.code-lines{height:100%;padding:4px 0;overflow:auto}.file-viewer-main{flex:1;min-height:0;display:flex;overflow:hidden}.file-viewer-main>.file-viewer-body{flex:1;min-width:0}.structure-panel{border-left:1px solid var(--border-soft,#e0e2e6);background:var(--panel);flex-direction:column;flex-shrink:0;width:220px;display:flex;position:relative;overflow:hidden}.structure-panel[hidden]{display:none!important}.sp-resize-handle{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0;left:-3px}.sp-resize-handle:hover,.sp-resize-handle:active{background:var(--sap-blue);opacity:.3}.sp-header{border-bottom:1px solid var(--border-soft,#e0e2e6);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.sp-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.sp-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.sp-close:hover{color:var(--text)}.sp-body{flex:1;padding:4px 0;overflow-y:auto}.sp-empty{text-align:center;color:var(--text-muted);padding:20px 12px;font-size:11px}.sp-tree{margin:0;padding:0;list-style:none}.sp-nested{padding-left:16px}.sp-row{cursor:pointer;color:var(--text);white-space:nowrap;border-radius:2px;align-items:center;gap:5px;margin:0 4px;padding:3px 10px;font-size:12px;display:flex;overflow:hidden}.sp-row:hover{background:#0000000a}.sp-row.active{background:var(--sap-blue-soft)}.sym-ico{flex-shrink:0;width:16px;height:16px}.sym-class{color:#0d6aa8}.sym-method{color:#7b1fa2}.sym-private{color:#9e9e9e}.sym-dunder{color:#e65100}.sym-func{color:#2e7d32}.sym-const{color:#f57f17}.sym-var{color:#78909c}.sym-prop{color:#00897b}[data-theme=dark] .sym-class{color:#5bb1f0}[data-theme=dark] .sym-method{color:#c57ff5}[data-theme=dark] .sym-private{color:#c7c7cb}[data-theme=dark] .sym-dunder{color:#ffae5c}[data-theme=dark] .sym-func{color:#7cd68a}[data-theme=dark] .sym-const{color:#ffc95c}[data-theme=dark] .sym-var{color:#b7c2cc}[data-theme=dark] .sym-prop{color:#5fcbb8}.sp-name{text-overflow:ellipsis;font-family:var(--mono);flex:1;font-size:12px;overflow:hidden}.sp-params{color:var(--text-muted);font-family:var(--mono);text-overflow:ellipsis;max-width:100px;font-size:11px;overflow:hidden}.sp-line{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:10px}:root{--preview-w:420px;--preview-w-min:250px;--preview-h:300px;--preview-h-min:150px}.preview-panel{background:var(--panel);flex-direction:column;min-height:0;display:none;position:relative;overflow:hidden}.preview-panel.visible{display:flex}.preview-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;display:flex}.preview-title{white-space:nowrap;margin:0;font-size:13px;font-weight:700}.preview-toolbar{align-items:center;gap:4px;display:flex}.preview-dock-group{border:1px solid var(--border);border-radius:4px;display:flex;overflow:hidden}.preview-dock-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:3px 5px;display:flex}.preview-dock-btn+.preview-dock-btn{border-left:1px solid var(--border)}.preview-dock-btn.active{background:var(--sap-blue);color:#fff}.preview-dock-btn:hover:not(.active){background:var(--bg-hover)}.preview-iframe{background:#fff;border:none;flex:1;width:100%;min-height:0}.conflict-dialog{width:90vw;max-width:820px}.conflict-dialog .confirm-body{max-width:none}.conflict-desc{color:var(--text-muted);margin:4px 0 12px;font-size:13px}.conflict-list{max-height:340px;margin-bottom:16px;overflow-y:auto}.conflict-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.conflict-item:last-child{border-bottom:none}.conflict-item.resolved{opacity:.45}.conflict-item-name{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.conflict-item-kind{color:var(--text-muted);text-transform:uppercase;flex-shrink:0;font-size:10px}.conflict-item-actions-hint{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;margin-left:28px;font-size:10px;overflow:hidden}.conflict-item-actions{flex-shrink:0;gap:4px;display:flex}.conflict-item-status{color:var(--success);flex-shrink:0;font-size:11px;font-weight:600}.conflict-remember{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;display:flex}.conflict-remember input{margin:0}.conflict-btns{gap:6px}.conflict-diff-inline{border-bottom:1px solid var(--border);padding:0 12px 8px}.conflict-diff-content{font-family:var(--mono);background:var(--bg);border-radius:var(--radius-sm,6px);white-space:pre-wrap;word-break:break-all;max-height:240px;margin:4px 0 0;padding:8px;font-size:11px;line-height:1.6;overflow:auto}.conflict-diff-content .diff-add{color:#166416;background:#1889181f;width:100%;display:inline-block}.conflict-diff-content .diff-del{color:#a31515;background:#cc19191a;width:100%;display:inline-block}.conflict-diff-content .diff-hunk{width:100%;color:var(--sap-blue);display:inline-block}.conflict-diff-content .diff-file{width:100%;color:var(--text-muted);font-weight:600;display:inline-block}.console-panel{flex-direction:column;height:100%;display:flex}.console-header{background:#f7f8f9;border-bottom:.5px solid #0000000f;flex-shrink:0;align-items:center;padding:6px 12px;font-size:12px;display:flex}.console-title{flex:1;font-size:11px;font-weight:600}.console-actions{gap:4px;display:flex}.console-tabs{background:#f7f8f999;border-bottom:.5px solid #0000000f;flex-shrink:0;height:28px;display:flex}.console-tab{color:var(--text-secondary);cursor:pointer;font-size:10px;font-family:var(--sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:0 12px}.console-tab.active{color:var(--sap-blue);border-bottom-color:var(--sap-blue);font-weight:500}.console-body{font-family:var(--mono);flex:1;padding:6px 10px;font-size:11px;line-height:1.6;overflow:auto}.console-line{white-space:pre-wrap;word-break:break-all}.console-time{color:var(--text-muted)}.console-level{font-weight:500}.console-level-error{color:var(--error)}.console-level-log{color:var(--success)}.console-level-trace{color:var(--warning)}.console-level-info{color:var(--info)}.quote-frame-panel{flex-direction:column;height:100%;display:flex}.quote-frame-header{background:#f7f8f9;border-bottom:.5px solid #0000000f;flex-shrink:0;align-items:center;padding:6px 12px;font-size:12px;display:flex}.quote-frame-title{flex:1;font-size:11px;font-weight:600}.quote-frame-actions{gap:4px;display:flex}.quote-frame-body{flex:1;position:relative;overflow:hidden}.quote-frame-placeholder{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.quote-iframe{border:none;width:100%;height:100%}.zone-bottom>.zone-content{flex-direction:row;display:flex}.zone-bottom .panel-container{flex:1;min-width:0}.zone-bottom .panel-container+.panel-container{border-left:1px solid var(--border)}.console-header,.quote-frame-header,.chat-panel-header,.explorer-header,.pipeline-header,.kb-header,.diff-header{box-shadow:0 1px #0000000f}.composer-inner{box-shadow:0 1px 3px #0000000a}.zone-tab{transition:all .15s}.zone-resize-handle{background:0 0}.zone-resize-handle:hover{background:#1a73e826;transition:background .2s}.zone-resize-handle:active{background:#1a73e84d}[draggable=true].console-header,[draggable=true].quote-frame-header,[draggable=true].chat-panel-header,[draggable=true].explorer-header,[draggable=true].pipeline-header,[draggable=true].kb-header,[draggable=true].diff-header{-webkit-user-select:none;user-select:none}.validation-bar{font-size:11px;font-family:var(--mono);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:4px 12px;display:flex}.validation-bar-valid{background:var(--success-bg);color:var(--success)}.validation-bar-errors{background:var(--error-bg);color:var(--error)}.validation-bar-stale,.validation-bar-validating{background:var(--panel);color:var(--text-muted)}.validation-bar-icon{text-align:center;min-width:14px;font-weight:700}.validation-bar-message{flex:1}.validation-bar-close{cursor:pointer;color:inherit;opacity:.5;font-size:14px;font-family:var(--sans);background:0 0;border:none;padding:0 4px}.validation-bar-close:hover{opacity:1}.validation-bar-validating .validation-bar-icon{animation:1s linear infinite validation-spin;display:inline-block}@keyframes validation-spin{to{transform:rotate(360deg)}}.db-inspector-panel{height:100%;font-family:var(--sans);flex-direction:column;font-size:12px;display:flex}.db-inspector-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px 4px;display:flex}.db-inspector-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0;font-size:11px;font-weight:600}.db-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-family:var(--sans);background:var(--bg-input);outline:none;margin:4px 8px 8px;padding:5px 8px}.db-search-input:focus{border-color:var(--sap-blue)}.db-recent-section{border-bottom:1px solid var(--border);margin-bottom:4px;padding:0 4px 8px}.db-recent-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 8px 2px;font-size:10px;font-weight:600}.db-tables-list{flex:1;padding:0 4px;overflow-y:auto}.db-tables-placeholder{color:var(--text-muted);text-align:center;padding:16px 12px;font-size:12px}.db-error{color:var(--danger)}.db-table-row{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:3px 8px;display:flex;overflow:hidden}.db-table-row:hover{background:#0000000a}.db-table-icon{opacity:.5;flex-shrink:0;font-size:13px}.db-table-name{font-size:12px;font-family:var(--mono);text-overflow:ellipsis;overflow:hidden}.db-table-recent .db-table-name{font-weight:500}.data-wrangler{height:100%;font-family:var(--sans);flex-direction:column;font-size:13px;display:flex}.dw-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:8px 12px;display:flex}.dw-table-name{font-weight:600;font-family:var(--mono);font-size:13px}.dw-row-count{color:var(--text-muted);font-size:11px}.dw-toolbar{align-items:center;gap:8px;margin-left:auto;display:flex}.dw-page-label{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.dw-page-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-size:11px;font-family:var(--sans);padding:2px 4px}.dw-grid{flex:1;overflow:hidden}.dw-loading{text-align:center;color:var(--text-muted);padding:24px}.dw-error{color:var(--danger)}.dw-col-header{flex-direction:column;gap:2px;padding:2px 0;display:flex}.dw-col-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.dw-col-type{text-transform:uppercase;color:var(--sap-blue);background:var(--sap-blue-soft);border-radius:3px;width:fit-content;padding:1px 4px;font-size:9px;font-weight:500}.dw-col-stats{margin-top:3px}.dw-dist-bar{background:var(--border);border-radius:3px;width:100%;height:6px;display:flex;overflow:hidden}.dw-dist-fill{background:var(--sap-blue);height:100%}.dw-dist-null{background:#0000001f;height:100%}.dw-stat-line{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-family:var(--mono);margin-top:2px;overflow:hidden}.dw-pagination{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:6px 12px;display:flex}.dw-page-btn{border:1px solid var(--border);background:var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-family:var(--sans);padding:3px 10px}.dw-page-btn:disabled{opacity:.4;cursor:default}.dw-page-btn:not(:disabled):hover{background:#0000000a}.dw-page-info{color:var(--text-muted);font-size:11px}.dw-grid .tabulator{font-family:var(--sans);background:0 0;border:none;font-size:12px}.dw-grid .tabulator-header{border-bottom:1px solid var(--border);background:#f7f8f9}.dw-grid .tabulator-col{border-right:1px solid var(--border)}.dw-grid .tabulator-row{border-bottom:1px solid #0000000a}.dw-grid .tabulator-row:hover{background:#1a73e80a}.dw-grid .tabulator-cell{font-family:var(--mono);padding:4px 8px;font-size:12px}.dw-grid .tabulator-header-filter input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:var(--sans);padding:2px 6px}.sync-status-panel{flex-direction:column;height:100%;font-size:12px;display:flex}.sync-status-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 10px 4px;display:flex}.sync-status-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin:0;font-size:11px;font-weight:600}.sps-badge{min-width:20px;height:18px;font-size:10px;font-weight:700;font-family:var(--mono);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.sps-badge.sps-ok{background:var(--success-bg);color:var(--success)}.sps-badge.sps-local{background:var(--info-bg);color:var(--info)}.sps-badge.sps-remote{background:var(--warning-bg);color:var(--warning)}.sps-badge.sps-conflict{background:var(--error-bg);color:var(--error)}.sps-group-header .sps-badge{margin-left:auto}.sps-empty{color:var(--text-muted);font-style:italic}.sync-status-groups{flex:1;padding:4px 0;overflow-y:auto}.sps-group{margin-bottom:2px}.sps-file-list{padding-left:6px}.sps-file-row{border-radius:3px;align-items:center;gap:6px;padding:3px 10px 3px 16px;transition:background .15s;display:flex}.sps-file-row:hover{background:#0000000a}.sps-file-row.sps-resolved{background:var(--success-bg);transition:background .5s}.sps-file-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);flex:1;font-size:12px;overflow:hidden}.sps-file-kind{color:var(--text-muted);white-space:nowrap;font-size:10px}.sps-actions{opacity:0;gap:2px;margin-left:auto;transition:opacity .15s;display:flex}.sps-file-row:hover .sps-actions{opacity:1}.sps-action-btn{border-radius:3px;width:22px;height:22px;padding:3px}.sps-action-btn:hover{background:#00000014}.sps-action-btn .ico{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;width:14px;height:14px}.sync-status-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;padding:6px 10px;display:flex}.sync-status-footer:empty{display:none}.sb-sync{cursor:pointer;white-space:nowrap;border-radius:2px;align-items:center;gap:4px;padding:0 8px;transition:background .15s;display:inline-flex}.sb-sync:hover{background:#0000000f}.sb-sync-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.sb-sync.sb-sync-ok .sb-sync-dot{background:var(--success)}.sb-sync.sb-sync-local .sb-sync-dot{background:var(--info)}.sb-sync.sb-sync-remote .sb-sync-dot{background:var(--warning)}.sb-sync.sb-sync-conflict .sb-sync-dot{background:var(--error)}.sb-sync.sb-sync-syncing .sb-sync-dot{background:var(--warning);animation:1.2s ease-in-out infinite sb-pulse}.sb-sync.sb-sync-offline .sb-sync-dot{background:var(--border-strong)}.sb-sync.sb-sync-error .sb-sync-dot{background:var(--error)}@keyframes sb-pulse{0%,to{opacity:1}50%{opacity:.3}}.sb-sync-flash{animation:.5s ease-out sb-flash}@keyframes sb-flash{0%{background:#1a73e826}to{background:0 0}}.toast-container{top:calc(var(--top-nav-h) + 12px);z-index:1100;pointer-events:none;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;right:16px}.toast{background:var(--surface,#fff);min-width:240px;color:var(--text,#1d1d1f);opacity:0;pointer-events:auto;border:.5px solid #00000014;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:opacity .16s,transform .16s;display:flex;transform:translate(16px);box-shadow:0 0 0 .5px #0000000a,0 6px 18px #0000001f,0 2px 4px #0000000d}.toast.visible{opacity:1;transform:translate(0)}.toast-icon{width:18px;height:18px;color:var(--sap-blue,#1a73e8);flex:none;justify-content:center;align-items:center;display:flex}.toast-message{word-break:break-word;flex:auto;line-height:1.3}.toast-progress .toast-icon{color:var(--sap-blue,#1a73e8)}.toast-info .toast-icon{color:var(--info,#1a73e8)}.toast-success .toast-icon{color:var(--success,#188918)}.toast-error .toast-icon{color:var(--error,#cc1919)}.toast-error{border-color:#cc191940}.toast-success{border-color:#18891840}.toast-spinner{border:2px solid #1a73e833;border-top-color:var(--sap-blue,#1a73e8);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite toast-spin;display:block}@keyframes toast-spin{to{transform:rotate(360deg)}}.tree-ctx-menu{z-index:1200;background:var(--surface,#fff);border:.5px solid #0000001a;border-radius:8px;flex-direction:column;gap:1px;min-width:180px;padding:4px;display:flex;position:fixed;box-shadow:0 0 0 .5px #0000000a,0 8px 24px #00000029,0 2px 6px #0000000f}.tree-ctx-menu[hidden]{display:none}.tree-ctx-item{color:var(--text,#1d1d1f);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:12.5px;transition:background 80ms;display:flex}.tree-ctx-item:hover{background:var(--sap-blue-soft,#1a73e814)}.tree-ctx-icon{width:14px;height:14px;color:var(--text-secondary,#6a7a8c);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tree-ctx-icon .ico{fill:currentColor;stroke:currentColor;width:14px;height:14px}.tree-ctx-label{flex:auto}[data-theme=dark] .py-kw{color:#4f9cff}[data-theme=dark] .py-str{color:#8bdd8b}[data-theme=dark] .py-num{color:#ffad66}[data-theme=dark] .py-builtin{color:#d69aff}[data-theme=dark] .py-self{color:#ff7a7a}[data-theme=dark] .py-fn{color:#5b9bff}[data-theme=dark] .py-comment{color:#8d9aaa}[data-theme=dark] .toast{background:var(--surface);border-color:#ffffff14}[data-theme=dark] .toast.toast-error{border-color:#ff585873}[data-theme=dark] .toast.toast-success{border-color:#5cb85c73}[data-theme=dark] .tree-ctx-menu{background:var(--surface);border-color:#ffffff14}[data-theme=dark] .tree-ctx-item:hover{background:var(--sap-blue-soft)}[data-theme=dark] .top-nav{background:var(--panel);border-bottom-color:#ffffff0f}[data-theme=dark] .activity-bar{background:var(--bg);border-right-color:#ffffff0f}[data-theme=dark] .status-bar{background:var(--bg);border-top-color:#ffffff0f}[data-theme=dark] .chat-panel-header,[data-theme=dark] .console-header,[data-theme=dark] .quote-frame-header{background:var(--panel);border-bottom-color:#ffffff0f}[data-theme=dark] .console-tabs{background:#1c253099;border-bottom-color:#ffffff0f}[data-theme=dark] .zone-tabs{background:var(--panel);border-bottom-color:#ffffff0f}[data-theme=dark] .settings-menu,[data-theme=dark] .history-dropdown{background:var(--surface);border-color:#ffffff14}[data-theme=dark] .confirm-dialog{background:var(--surface)}[data-theme=dark] dialog{color:var(--text)}[data-theme=dark] pre,[data-theme=dark] code{background:var(--panel)}[data-theme=dark] .kb-badge-class{color:#ffb84d;background:#ff98002e}[data-theme=dark] .kb-badge-enum{color:#d69aff;background:#9b4dca38}[data-theme=dark] .kb-badge-pattern,[data-theme=dark] .sync-badge.sync-error{color:#ffd360;background:#ffc1072e}[data-theme=dark] [style*=\#FAFBFC],[data-theme=dark] [style*=\#fafbfc]{background:var(--surface)!important}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface);color:var(--text);border-color:var(--border)}[data-theme=dark] .nav-dropdown{background-color:var(--surface);color:var(--text);background-image:var(--chevron-mute)}[data-theme=dark] .ab-btn:hover{background:#ffffff0f}.settings-panel{background:var(--panel);height:100%;color:var(--text);flex-direction:column;display:flex}.settings-header{border-bottom:.5px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.settings-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 4px;font-size:22px;line-height:1}.settings-close-btn:hover{color:var(--text);background:var(--sap-blue-soft)}.settings-dialog{border:.5px solid var(--border);background:var(--panel);width:min(720px,92vw);max-width:92vw;height:min(560px,80vh);color:var(--text);border-radius:12px;padding:0;overflow:hidden;box-shadow:0 14px 48px #00000038}.settings-dialog::backdrop{background:#0000004d}.settings-dialog-body{flex-direction:column;height:100%;display:flex}.settings-dialog .settings-panel{border-radius:12px;height:100%}.settings-body{flex:auto;grid-template-columns:140px 1fr;min-height:0;display:grid}.settings-nav{border-right:.5px solid var(--border);flex-direction:column;padding:8px 4px;display:flex;overflow-y:auto}.settings-nav-item{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:6px 10px;font-size:12.5px;transition:background 80ms}.settings-nav-item:hover{background:var(--sap-blue-soft)}.settings-nav-item.active{background:var(--sap-blue-soft);color:var(--sap-blue);font-weight:600}.settings-content{padding:14px 18px;font-size:13px;overflow-y:auto}.settings-section-title{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.settings-hint{color:var(--text-secondary);margin:6px 0 12px;font-size:12px}.settings-radio-group{flex-direction:column;gap:4px;margin:4px 0 12px;display:flex}.settings-radio{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:4px 0;display:flex}.settings-radio input[type=radio]{accent-color:var(--sap-blue)}.settings-editor-colors{border-collapse:collapse;width:100%;margin-top:4px}.settings-editor-colors th{text-align:left;color:var(--text-secondary);border-bottom:.5px solid var(--border);padding:6px 4px;font-size:11px;font-weight:600}.settings-editor-colors td{border-bottom:.5px solid var(--border);vertical-align:middle;padding:6px 4px;font-size:12.5px}.settings-editor-colors td.ec-label{width:38%}.settings-editor-colors td.ec-sample{width:44%}.settings-editor-colors td.ec-sample code{background:var(--sap-blue-soft);font-family:var(--mono);border-radius:3px;padding:1px 6px;font-size:11.5px}.settings-editor-colors td.ec-color{text-align:right;width:18%}.ec-picker{border:.5px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:4px;width:36px;height:22px;padding:0}.settings-actions{gap:8px;margin-top:12px;display:flex}.rt-settings{flex-direction:column;gap:16px;margin-top:8px;display:flex}.rt-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:4px 0 6px;font-size:11px}.rt-row{border-bottom:1px solid var(--border-subtle,#7f7f7f2e);padding:8px 0}.rt-row:last-child{border-bottom:none}.rt-row-head{align-items:center;gap:8px;display:flex}.rt-key{font-size:12px}.rt-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--sap-blue-soft,#4285f424);color:var(--text-secondary);border-radius:999px;padding:1px 6px;font-size:10px}.rt-source{color:var(--text-secondary);text-transform:uppercase;margin-left:auto;font-size:10px}.rt-source-override{color:var(--sap-blue,#4285f4);font-weight:600}.rt-row-desc{color:var(--text-secondary);margin:3px 0 6px;font-size:12px}.rt-row-edit{align-items:center;gap:8px;display:flex}.rt-input{border:1px solid var(--border,#7f7f7f59);background:var(--bg-input,transparent);min-width:140px;color:inherit;border-radius:6px;padding:4px 8px;font-size:13px}.rt-history{flex-direction:column;gap:2px;margin-top:4px;display:flex}.rt-hist-row{border-bottom:1px solid var(--border-subtle,#7f7f7f1f);align-items:baseline;gap:8px;padding:3px 0;font-size:12px;display:flex}.rt-hist-change{color:var(--text-secondary)}.rt-hist-meta{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:11px}.rt-hist-row .rt-revert{flex:none}.rt-hist-status{color:var(--text-secondary);font-size:11px}.rt-hist-status.rt-error{color:var(--danger,#c62828)}.rt-status{color:var(--text-secondary);font-size:12px}.rt-status.rt-ok{color:var(--success,#2e7d32)}.rt-status.rt-error,.settings-hint.rt-error{color:var(--danger,#c62828)}.rt-confirm{margin-top:6px}.rt-confirm-input{border:1px solid var(--danger,#c62828);background:var(--bg-input,transparent);min-width:220px;color:inherit;border-radius:6px;padding:4px 8px;font-size:13px}.zone-tab-menu-btn{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;font-family:inherit;font-size:16px;line-height:1;display:inline-flex}.zone-tab-menu-btn:hover{color:var(--text);background:var(--sap-blue-soft)}[data-theme=dark] .zone-tab-menu-btn{color:var(--text-secondary)}[data-theme=dark] .zone-tab-menu-btn:hover{color:var(--text);background:#8ab4f838}.ws-ctx-menu.zone-tab-ctx-menu{min-width:160px}.ws-ctx-item[disabled]{opacity:.45;cursor:default}.ws-ctx-item[disabled]:hover{background:0 0}.view-menu{min-width:240px;padding:4px 0}.view-menu-header{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;padding:6px 12px 4px;font-size:11px;font-weight:600}.view-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;grid-template-columns:18px 1fr;align-items:center;padding:6px 12px;font-size:13px;display:grid}.view-menu-item:hover:not(:disabled){background:var(--sap-blue-soft)}.view-menu-item:disabled{opacity:.5;cursor:default}.view-menu-item .vm-check{text-align:center;width:18px;color:var(--sap-blue)}.view-menu-item .vm-label{white-space:nowrap}.tree-icon[data-script-type]{position:relative}.tree-icon[data-script-type]:after{content:"";border:1.5px solid var(--bg-base,#fff);box-sizing:border-box;pointer-events:none;border-radius:50%;width:6px;height:6px;position:absolute;bottom:-1px;right:-1px}.tree-icon[data-script-type=E]:after{background:#2563eb}.tree-icon[data-script-type=M]:after{background:#6b7280}.tree-icon[data-script-type=R]:after{background:#dc2626}[data-theme=dark] .tree-icon[data-script-type]:after{border-color:var(--bg-base,#1e1e1e)}[data-theme=dark] .tree-icon[data-script-type=E]:after{background:#60a5fa}[data-theme=dark] .tree-icon[data-script-type=M]:after{background:#9ca3af}[data-theme=dark] .tree-icon[data-script-type=R]:after{background:#f87171}.template-slot-chip{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-sidebar,#0000000a);white-space:nowrap;cursor:default;border:1px solid #0000;border-radius:3px;flex:none;margin-left:8px;padding:1px 5px;font-size:9.5px}.template-override{color:var(--text-muted);cursor:default;flex:none;margin-left:6px;font-size:11px}.template-override-modifies{color:#2563eb}.template-override-pure{color:#16a34a}.template-override-sys{letter-spacing:.04em;background:var(--bg-sidebar,#0000000a);color:var(--text-muted);border-radius:3px;padding:1px 5px;font-size:9.5px}[data-theme=dark] .template-override-modifies{color:#60a5fa}[data-theme=dark] .template-override-pure{color:#4ade80}.section-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:8px;font-size:11px}.section-rollup{color:var(--text-muted);opacity:.85;margin-left:6px;font-size:11px}.art-row{gap:12px;padding:4px 0;font-size:13px;display:flex}.art-row .art-label{width:160px;color:var(--text-muted);flex:none}.art-row .art-value{color:var(--text);word-break:break-word;flex:auto}.billing-conn-table{border-collapse:collapse;width:100%;font-size:12.5px}.billing-conn-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px;font-weight:600}.billing-conn-table td{border-bottom:1px solid var(--border-subtle,var(--border));color:var(--text);padding:6px 8px}.billing-conn-table tr:last-child td{border-bottom:0}.pinned-divider{background:var(--border-subtle,#0000001f);height:1px;margin:4px 12px}.artifact-hover-popover{z-index:9999;background:var(--bg-elevated,#fff);min-width:220px;max-width:320px;color:var(--text);border:1px solid var(--border-subtle,#00000029);pointer-events:none;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 6px 16px #0000001f}.artifact-hover-popover[hidden]{display:none}.artifact-hover-popover .hover-title{margin-bottom:4px;font-weight:600}.artifact-hover-popover .hover-line{margin-top:2px}.artifact-hover-popover .hover-muted{color:var(--text-muted);margin-top:4px}[data-theme=dark] .artifact-hover-popover{background:var(--bg-elevated,#1f2937);border-color:#ffffff1f}.tool-card-permission{background:#fffbeb;border:1px solid #f5d0a3;border-left:3px solid #f59e0b;border-radius:6px;margin:8px 0}[data-theme=dark] .tool-card-permission{background:#f59e0b1a;border-color:#f59e0b59}.permission-body{background:0 0!important}.permission-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tool-card-question{background:#f5f9ff;border:1px solid #c7d7ff;border-left:3px solid #4b8efb;border-radius:6px;margin:8px 0}[data-theme=dark] .tool-card-question{background:#4b8efb1a;border-color:#4b8efb59}.question-body{padding:10px 12px 12px;background:0 0!important}.question-block{border-bottom:1px dashed #00000014;margin-bottom:14px;padding-bottom:12px}.question-block:last-of-type{border-bottom:0;margin-bottom:4px;padding-bottom:4px}.question-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#6b7280);margin-bottom:4px;font-size:11.5px;font-weight:600}.question-text{color:var(--text,#1f2937);margin-bottom:8px;font-size:13.5px;line-height:1.4}.question-option{cursor:pointer;border-radius:4px;align-items:baseline;gap:8px;padding:5px 6px;font-size:13px;display:flex}.question-option:hover{background:#0000000a}.question-option input{flex:none}.question-option-label{font-weight:500}.question-option-desc{color:var(--text-muted,#6b7280);margin-left:4px;font-size:12px}.question-option-other{font-style:italic}.question-other-input{border:1px solid var(--border,#d1d5db);width:100%;font:inherit;box-sizing:border-box;border-radius:4px;margin-top:6px;padding:6px 8px;font-size:13px}.question-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.question-actions button:disabled,.question-block input:disabled,.question-other-input:disabled{opacity:.55;cursor:not-allowed}.action-btn-danger{color:var(--error,#b42a2a);background:0 0;border:1px solid #dc262659}.action-btn-danger:hover{background:var(--error-bg,#fde2e2)}[data-theme=dark] .action-btn-danger{color:#f5a3a3;border-color:#dc262673}.agent-inline-text{color:var(--text,#1f2937);white-space:pre-wrap;padding:4px 2px;font-size:14px;line-height:1.55}.agent-summary.md{color:var(--text,#1f2937);margin-top:8px;font-size:14px;line-height:1.55}.agent-summary.md>:first-child{margin-top:0}.agent-summary.md>:last-child{margin-bottom:0}.md-h{margin:14px 0 4px;font-weight:600;line-height:1.3}.md-h1{font-size:17px}.md-h2{font-size:15.5px}.md-h3{color:var(--text-muted,#6b7280);font-size:14px}.md-p{margin:6px 0}.md-ul,.md-ol{margin:4px 0 4px 18px;padding:0}.md-ul li,.md-ol li{margin:2px 0}.md-code-inline{font-family:var(--mono);background:var(--panel,#0000000d);border-radius:3px;padding:1px 5px;font-size:.88em}.md-code{font-family:var(--mono);background:var(--panel,#f4f4f7);border:1px solid var(--border,#0000000f);border-radius:6px;margin:8px 0;padding:8px 10px;font-size:12px;overflow-x:auto}.md-table-wrap{border:1px solid var(--border,#00000014);border-radius:6px;margin:10px 0;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:13px}.md-table th,.md-table td{text-align:left;border-bottom:1px solid var(--border,#0000000f);vertical-align:top;padding:6px 10px}.md-table th{background:var(--panel,#f4f4f7);color:var(--text-muted,#6b7280);font-size:12.5px;font-weight:600}.md-table tr:last-child td{border-bottom:0}[data-theme=dark] .md-table-wrap{border-color:#ffffff1a}[data-theme=dark] .md-table th{background:#ffffff0a}[data-theme=dark] .md-table th,[data-theme=dark] .md-table td{border-bottom-color:#ffffff0f}.agent-actions{border-top:1px solid var(--border,#0000000d);flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:8px;display:flex}.action-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:filter .12s,background .12s;display:inline-flex}.action-btn-primary{background:var(--sap-blue,#4b8efb);color:#fff;border-color:var(--sap-blue,#4b8efb)}.action-btn-primary:hover{filter:brightness(1.05)}.action-btn-ghost{color:var(--text,#1f2937);border-color:var(--border,#0000001f);background:0 0}.action-btn-ghost:hover{background:var(--panel,#f4f4f7)}.action-icon{font-size:12px}.agent-error-box{flex-direction:column;gap:8px;margin-top:8px;display:flex}.agent-error-banner{background:var(--error-bg,#fde2e2);color:var(--error,#8a1a1a);white-space:pre-wrap;border:1px solid #dc262633;border-radius:6px;padding:8px 12px;font-size:13px}[data-theme=dark] .md-code,[data-theme=dark] .md-code-inline{background:#ffffff0f;border-color:#ffffff14}[data-theme=dark] .action-btn-ghost{color:#e5e7eb;border-color:#ffffff26}[data-theme=dark] .action-btn-ghost:hover{background:#ffffff0d}.chat-msg-user{justify-content:flex-end;margin:14px 0;padding:0 12px;display:flex}.chat-msg-user .msg-bubble{color:#1f2937;background:#f3f4f6;border-radius:16px;max-width:75%;padding:10px 14px;font-size:13.5px;line-height:1.45}[data-theme=dark] .chat-msg-user .msg-bubble{color:#e5e7eb;background:#ffffff12}.chat-msg-asst{margin:var(--sp-6) 12px;background:0 0;border:0;border-radius:0;padding:0;position:relative}.chat-msg-asst .msg-prose{color:var(--text);max-width:92%;font-size:13.5px;line-height:1.6}[data-theme=dark] .chat-msg-asst .msg-prose{color:var(--text)}@keyframes codex-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.activity-row{margin:0;font-size:12px;display:block}.activity-row-head{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:10px;padding:3px 0;display:flex}.activity-row-head:hover{background:#00000006}[data-theme=dark] .activity-row-head:hover{background:#ffffff0a}.activity-verb{color:#6b7280;flex:none;min-width:56px;font-weight:500}.activity-target{font-family:var(--mono);color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11.5px;overflow:hidden}[data-theme=dark] .activity-target{color:#e5e7eb}.activity-check{font-size:11.5px;font-family:var(--mono);flex:none;align-items:center;display:inline-flex}.activity-check-ok{color:#16a34a}.activity-check-err{color:#dc2626}.activity-row-running .activity-target{background:linear-gradient(90deg,#0000 0%,#4b8efb1a 50%,#0000 100%) 0 0/200% 100%;border-radius:3px;margin:0 -4px;padding:0 4px;animation:1.4s linear infinite codex-shimmer}.activity-row-running .activity-row-head:after{content:"…";color:#9ca3af;font-family:var(--mono);flex:none}.activity-row-detail{padding:6px 8px 10px 66px;font-size:12px;display:none}.activity-row.open .activity-row-detail{display:block}.activity-detail-label{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin:4px 0 2px;font-size:10.5px}.activity-detail-pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;color:#374151;background:#00000006;border-radius:4px;margin:0 0 6px;padding:6px 8px;font-size:11.5px}[data-theme=dark] .activity-detail-pre{color:#d1d5db;background:#ffffff0a}.script-sanitized-row .sanitize-head{cursor:default}.sanitize-summary{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:11.5px;overflow:hidden}[data-theme=dark] .sanitize-summary{color:#9ca3af}.sanitize-diff-toggle{color:#4b8efb;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;font-size:11.5px}.sanitize-diff-toggle:hover{text-decoration:underline}.sanitize-diff{flex-direction:column;gap:6px;display:flex}.sanitize-diff-pane{min-width:0}.activity-detail-pre.sanitize-before{border-left:3px solid #dc2626}.activity-detail-pre.sanitize-after{border-left:3px solid #16a34a}.agent-worked{color:#9ca3af;text-align:center;align-items:center;gap:12px;margin:14px 0;font-size:12px;display:flex}.agent-worked:before,.agent-worked:after{content:"";background:#e5e7eb;flex:1;height:1px}[data-theme=dark] .agent-worked{color:#6b7280}[data-theme=dark] .agent-worked:before,[data-theme=dark] .agent-worked:after{background:#ffffff14}.agent-transcript{flex-direction:column;gap:2px;margin:0 0 12px;display:flex}.agent-transcript-row{border-radius:6px;align-items:baseline;gap:8px;padding:2px 8px;font-size:12px;line-height:1.5;display:flex}.agent-transcript-row:hover{background:#00000008}[data-theme=dark] .agent-transcript-row:hover{background:#ffffff0a}.agent-transcript-row .att-verb{color:#6b7280;flex:none;font-weight:600}.agent-transcript-row .att-target{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}[data-theme=dark] .agent-transcript-row .att-target{color:#d1d5db}.agent-transcript-row .att-ms{color:#9ca3af;font-variant-numeric:tabular-nums;flex:none}.agent-transcript-row.err .att-verb{color:#dc2626}.md-flink{color:#2563eb;text-underline-offset:2px;cursor:pointer;-webkit-text-decoration:underline #2563eb66;text-decoration:underline #2563eb66}.md-flink:hover{text-decoration-color:#2563eb}[data-theme=dark] .md-flink{color:#93c5fd;text-decoration-color:#93c5fd66}[data-theme=dark] .md-flink:hover{text-decoration-color:#93c5fd}.changed-files{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin-top:14px;overflow:hidden}[data-theme=dark] .changed-files{background:#ffffff08;border-color:#ffffff14}.changed-header{background:#f3f4f6;border-bottom:1px solid #e5e7eb;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;display:flex}[data-theme=dark] .changed-header{background:#ffffff0d;border-color:#ffffff14}.changed-title{color:#1f2937;font-weight:600}[data-theme=dark] .changed-title{color:#e5e7eb}.changed-stats{color:#6b7280;font-family:var(--mono);font-size:12px}.changed-bulk{gap:6px;margin-left:auto;display:flex}.changed-file{border-bottom:1px solid #f0f1f3}[data-theme=dark] .changed-file{border-color:#ffffff0f}.changed-file:last-child{border-bottom:0}.changed-file[open]{background:#fff}[data-theme=dark] .changed-file[open]{background:#ffffff05}.changed-summary{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;list-style:none;display:flex}.changed-summary::-webkit-details-marker{display:none}.changed-summary::marker{content:""}.changed-file-no-diff .changed-summary{cursor:default}.changed-summary:hover{background:#4b8efb0a}[data-theme=dark] .changed-summary:hover{background:#4b8efb0f}.changed-path{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:auto;min-width:0;overflow:hidden}[data-theme=dark] .changed-path{color:#e5e7eb}.changed-path:hover{text-underline-offset:2px;-webkit-text-decoration:underline #1f293766;text-decoration:underline #1f293766}.changed-kind{font-size:11px;font-family:var(--mono);color:#6b7280;background:#0000000a;border-radius:3px;flex:none;padding:1px 6px}.changed-kind-new{color:#16a34a;background:#16a34a1a}.changed-row-stats{font-family:var(--mono);text-align:right;flex:none;min-width:64px;font-size:12px}.stat-add{color:#16a34a}.stat-rem{color:#dc2626}.changed-actions{flex:none;gap:4px;display:flex}.changed-files .btn-primary,.changed-files .btn-ghost{font:inherit;color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:3px 9px;font-size:11.5px}.changed-files .btn-primary{color:#fff;background:#1f2937;border-color:#1f2937;font-weight:500}.changed-files .btn-primary:hover{background:#111827;border-color:#111827}.changed-files .btn-ghost{background:0 0}.changed-files .btn-ghost:hover{color:#dc2626;border-color:#dc262659}.changed-files .btn-icon{padding:3px 7px}.changed-files .btn-primary:disabled,.changed-files .btn-ghost:disabled{opacity:.55;cursor:default}.changed-files .btn-pushed{background:#16a34a!important;border-color:#16a34a!important}[data-theme=dark] .changed-files .btn-primary{color:#111827;background:#e5e7eb;border-color:#e5e7eb}[data-theme=dark] .changed-files .btn-primary:hover{background:#fff;border-color:#fff}[data-theme=dark] .changed-files .btn-ghost{color:#e5e7eb}.changed-file-discarded .changed-path{color:#9ca3af;-webkit-text-decoration:line-through #1f293766;text-decoration:line-through #1f293766}.changed-diff{font-family:var(--mono);background:#fcfcfd;border-top:1px solid #f0f1f3;padding:8px 12px 10px;font-size:12px}[data-theme=dark] .changed-diff{background:#ffffff05;border-color:#ffffff0f}.diff-line{white-space:pre-wrap;word-break:break-all;padding:1px 4px}.diff-add{color:#14532d;background:#16a34a1a}.diff-rem{color:#7f1d1d;background:#dc26261a}.diff-ctx{color:#6b7280}[data-theme=dark] .diff-add{color:#86efac;background:#16a34a2e}[data-theme=dark] .diff-rem{color:#fca5a5;background:#dc26262e}.diff-more{color:#2563eb;width:100%;font:inherit;text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin-top:6px;font-size:11.5px;-webkit-text-decoration:underline #2563eb66;text-decoration:underline #2563eb66;display:block}.diff-more:hover{text-decoration-color:#2563eb}.changed-diff-empty{color:#9ca3af;font-size:12px;font-style:italic}.rw-chip{color:#374151;background:#fafafa;border:1px solid #e5e7eb;border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;font-family:inherit;font-size:12px;display:flex}[data-theme=dark] .rw-chip{color:#d1d5db;background:#ffffff0a;border-color:#ffffff1a}.rw-chip-lead{color:#111827;align-items:center;gap:5px;font-weight:500;display:inline-flex}[data-theme=dark] .rw-chip-lead{color:#f3f4f6}.rw-chip-sp{margin-left:auto}.rw-chip-undo{align-items:center;gap:4px;display:inline-flex}.routing-chip{color:#6b7280;background:#8c8c961f;border-radius:6px;align-items:center;gap:5px;margin-bottom:6px;padding:2px 8px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}[data-theme=dark] .routing-chip{color:#9ca3af;background:#ffffff12}.tool-card-permission .tool-card-head,.tool-card-question .tool-card-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;display:flex}.tool-card-permission .tool-card-head:hover,.tool-card-question .tool-card-head:hover{background:#00000006}[data-theme=dark] .tool-card-permission .tool-card-head:hover,[data-theme=dark] .tool-card-question .tool-card-head:hover{background:#ffffff0a}.tool-card-permission.open .tool-card-head,.tool-card-question.open .tool-card-head{background:#00000006}.tool-card-permission .tool-icon,.tool-card-question .tool-icon{text-align:center;flex:0 0 18px;font-size:14px;line-height:1}.tool-card-permission .tool-label,.tool-card-question .tool-label{flex:auto;align-items:baseline;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.tool-card-permission .tool-name,.tool-card-question .tool-name{color:var(--text,#1f2937);flex:none;font-size:13px;font-weight:500}.tool-card-permission .tool-args,.tool-card-question .tool-args{font-family:var(--mono);color:var(--text-muted,#6b7280);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:12px;overflow:hidden}.tool-card-permission .tool-status,.tool-card-question .tool-status{font-family:var(--mono);color:var(--text-muted,#6b7280);border-radius:4px;flex:none;padding:1px 6px;font-size:11.5px}.tool-card-permission .tool-status-pending,.tool-card-question .tool-status-pending{opacity:.6}.tool-card-permission .tool-status-ok,.tool-card-question .tool-status-ok{color:#16a34a;background:#22c55e14}.tool-card-permission .tool-status-err,.tool-card-question .tool-status-err{color:#dc2626;background:#dc262614}.tool-card-permission .tool-card-body,.tool-card-question .tool-card-body{padding:8px 12px 12px;display:none}.tool-card-permission.open .tool-card-body,.tool-card-question.open .tool-card-body{display:block}.tool-card-permission .tool-detail-label,.tool-card-question .tool-detail-label{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin:4px 0 2px;font-size:10.5px}.tool-card-permission .tool-detail-pre,.tool-card-question .tool-detail-pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;color:#374151;background:#00000006;border-radius:4px;margin:0 0 6px;padding:6px 8px;font-size:11.5px}[data-theme=dark] .tool-card-permission .tool-detail-pre,[data-theme=dark] .tool-card-question .tool-detail-pre{color:#d1d5db;background:#ffffff0a}.tool-card-permission.tool-card-ok,.tool-card-question.tool-card-ok{background:#16a34a0f;border-left-color:#16a34a!important}.tool-card-permission.tool-card-err,.tool-card-question.tool-card-err{background:#dc26260f;border-left-color:#dc2626!important}[data-theme=dark] .tool-card-permission.tool-card-ok,[data-theme=dark] .tool-card-question.tool-card-ok{background:#16a34a1a}[data-theme=dark] .tool-card-permission.tool-card-err,[data-theme=dark] .tool-card-question.tool-card-err{background:#dc26261a}.tl-head{border-bottom:1px solid var(--border);background:var(--panel);color:var(--text);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.tl-head span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:12px;font-weight:600}#tlCheckpoint{background:var(--sap-blue-soft);color:var(--sap-blue);border:1px solid var(--sap-blue-ring);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--sans);align-items:center;gap:5px;padding:3px 9px;transition:background .15s;display:inline-flex}#tlCheckpoint:hover{background:var(--sap-blue);color:#fff}#timelineBody{flex:1;padding:0;overflow-y:auto}.tl-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:13px}.tl-group{border-bottom:1px solid var(--border-soft)}.tl-ghead{background:var(--panel);z-index:1;align-items:center;gap:6px;padding:6px 10px 6px 12px;font-size:12px;display:flex;position:sticky;top:0}.tl-nm{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.tl-cnt{color:var(--text-muted);white-space:nowrap;font-size:11px}.tl-undo-task{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:var(--sans);white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:2px 7px;transition:background .12s,color .12s;display:inline-flex}.tl-undo-task:hover{background:var(--hover-bg);color:var(--text)}.tl-row{border-bottom:1px solid var(--border-soft);cursor:pointer;align-items:center;gap:7px;min-height:30px;padding:5px 10px 5px 20px;transition:background .1s;display:flex}.tl-row:hover{background:var(--hover-bg)}.tl-row:last-child{border-bottom:none}.tl-tgt{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.tl-tgt b{color:var(--text);font-weight:500}.tl-done{color:var(--text-muted);background:var(--border-soft);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px}.tl-acts{opacity:0;align-items:center;gap:2px;transition:opacity .1s;display:flex}.tl-row:hover .tl-acts{opacity:1}.tl-a{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.tl-a:hover{background:var(--sap-blue-soft);color:var(--sap-blue)}.rw-dialog{background:var(--surface,#fff);width:92vw;max-width:520px;color:var(--text);font-family:var(--mono);border:none;border-radius:16px;padding:0;box-shadow:0 0 0 .5px #0000000f,0 8px 40px #0000001f,0 2px 8px #0000000f}.rw-dialog::backdrop{background:#0000004d}.rw-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.rw-head-title{letter-spacing:-.01em;color:var(--text);align-items:center;gap:7px;font-size:15px;font-weight:600;display:inline-flex}.rw-x{flex-shrink:0}.rw-sub{color:var(--text-secondary);padding:5px 20px 0;font-size:12px;line-height:1.5}.rw-steps{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg);max-height:260px;margin:12px 20px 0;overflow-y:auto}.rw-step{border-bottom:1px solid var(--border-soft);color:var(--text);align-items:center;gap:8px;padding:7px 10px;font-size:12px;line-height:1.4;display:flex}.rw-step:last-child{border-bottom:none}.rw-t{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);flex:1;overflow:hidden}.rw-t b{color:var(--text);font-weight:500}.rw-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:12px}.rw-opts{flex-direction:column;gap:6px;padding:12px 20px 0;display:flex}.rw-ck{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:12px;display:inline-flex}.rw-ck input[type=checkbox]{cursor:pointer;width:13px;height:13px;accent-color:var(--sap-blue);flex-shrink:0}.rw-dis{color:var(--text-muted);cursor:default}.rw-dis input[type=checkbox]{cursor:default}.rw-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px 16px;display:flex}.rw-foot-end{justify-content:flex-end}.rw-sum{color:var(--text-muted);white-space:nowrap;font-size:11px}.rw-sp{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.rw-partial{padding:4px 20px 0}.rw-err{border-radius:var(--radius-sm);color:#c0392b;background:#c81e1e14;border:1px solid #c81e1e2e;margin:8px 20px 0;padding:8px 10px;font-size:12px;line-height:1.5}.rw-err-text{color:#c0392b}.rw-loading{color:var(--text-muted);text-align:center;padding:28px 20px;font-size:13px}[data-theme=dark] .rw-dialog{background:var(--surface)}[data-theme=dark] .rw-err{color:#e57373;background:#c8323226;border-color:#c8505040}[data-theme=dark] .rw-err-text{color:#e57373}.composer-footer-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.autonomy-chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:600;line-height:1.6;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.autonomy-chip:hover{background:var(--sap-blue-soft)}.autonomy-chip:focus-visible{outline:2px solid var(--sap-blue-ring,#1a73e840);outline-offset:1px}.autonomy-dot{background:var(--text-muted,#92a0ae);border-radius:50%;flex:none;width:7px;height:7px}.autonomy-chip.tone-calm{border-color:var(--border-strong,#d1d1d6);color:var(--text-secondary)}.autonomy-chip.tone-calm .autonomy-dot,.autonomy-dot.dot-calm{background:var(--success)}.autonomy-chip.tone-armed{border-color:var(--warning);color:var(--warning);background:#e765001a}.autonomy-chip.tone-armed:hover{background:#e7650029}.autonomy-chip.tone-armed .autonomy-dot,.autonomy-dot.dot-armed{background:var(--warning)}.autonomy-chip.tone-neutral{color:var(--text-muted,#92a0ae)}.autonomy-dot.dot-neutral{background:var(--text-muted,#92a0ae)}.autonomy-chip:disabled{cursor:not-allowed;opacity:.65}.autonomy-chip:disabled:hover{background:0 0}.agent-dock{border:1px solid var(--border);border-radius:var(--radius,10px);background:var(--panel,var(--surface));margin:0 0 8px;font-size:12px;overflow:hidden}.dock-banner{border-left:3px solid #0000;align-items:center;gap:7px;padding:6px 10px;font-weight:600;display:flex}.dock-banner-spacer{flex:auto}.dock-banner.tone-calm{border-left-color:var(--success)}.dock-banner.tone-armed{border-left-color:var(--warning);color:var(--warning)}.dock-banner.tone-neutral{border-left-color:var(--border-strong,#d1d1d6);color:var(--text-secondary)}.dock-cancel{border:1px solid var(--error,#cc1919);color:var(--error,#cc1919);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.dock-cancel:hover{background:#cc191914}.dock-section{border-top:1px solid var(--border-soft,var(--border));padding:6px 10px}.dock-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted,#92a0ae);margin-bottom:4px;font-size:9.5px;font-weight:700}.dock-plan-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.dock-plan-item{color:var(--text-secondary);align-items:baseline;gap:6px;display:flex}.dock-plan-glyph{flex:none;font-size:11px}.dock-plan-item.st-completed{color:var(--text-muted,#92a0ae);text-decoration:line-through}.dock-plan-item.st-in_progress{color:var(--text);font-weight:600}.dock-plan-item.st-in_progress .dock-plan-glyph{color:var(--sap-blue)}.dock-timeline{flex-direction:column;gap:1px;max-height:180px;display:flex;overflow-y:auto}.dock-step{border-left:2px solid #0000;align-items:baseline;gap:6px;padding:2px 0 2px 6px;display:flex}.dock-step-glyph{color:var(--text-muted,#92a0ae);flex:none}.dock-step.st-ok .dock-step-glyph{color:var(--success)}.dock-step.st-err .dock-step-glyph{color:var(--error,#cc1919)}.dock-step.st-running .dock-step-glyph{color:var(--sap-blue)}.dock-step-verb{color:var(--text);white-space:nowrap;font-weight:600}.dock-step-target{font-family:var(--mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dock-step-why{color:var(--text-muted,#92a0ae);font-size:11px}.dock-step-ms{color:var(--text-muted,#92a0ae);font-size:10.5px;font-family:var(--mono);flex:none;margin-left:auto}.dock-step.risk-destructive{border-left-color:var(--warning)}.dock-step.risk-destructive .dock-step-verb{color:var(--warning)}.dock-step.risk-mutate{border-left-color:var(--sap-blue-soft)}.dock-now{border-top:1px solid var(--border-soft,var(--border));color:var(--text-secondary);align-items:center;gap:7px;padding:6px 10px;font-style:italic;display:flex}.dock-spinner{border:2px solid var(--sap-blue-soft);border-top-color:var(--sap-blue);border-radius:50%;flex:none;width:11px;height:11px;animation:.7s linear infinite spin}.dock-step.file-write{cursor:pointer}.dock-step.file-write:hover{background:var(--sap-blue-soft)}.dock-step-diff-toggle{color:var(--text-muted,#92a0ae);flex:none;margin-left:auto;font-size:10.5px}.dock-step-diff{border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-sm,6px);background:var(--surface);max-height:220px;font-family:var(--mono);margin:2px 0 5px 18px;font-size:11px;overflow:auto}.dock-step-diff .diff-line{white-space:pre-wrap;padding:0 6px}.dock-step-diff .diff-hunk-header{color:var(--text-muted,#92a0ae);padding:1px 6px}.sps-caret{width:12px;color:var(--text-muted,#92a0ae);font-size:9px;transition:transform .12s;display:inline-block}.sps-caret.open{transform:rotate(90deg)}.sps-file-row{cursor:pointer}.sps-diff-body{border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-sm,6px);background:var(--surface);max-height:240px;font-family:var(--mono);margin:0 0 4px 18px;font-size:11px;overflow:auto}.sps-diff-body .diff-line{white-space:pre-wrap;padding:0 6px}.sps-diff-body .diff-hunk-header{color:var(--text-muted,#92a0ae);padding:1px 6px}.cfg-trace-open{cursor:pointer;color:var(--sap-blue);font-family:var(--mono);opacity:0;background:0 0;border:none;border-radius:4px;padding:0 4px;font-size:10px;transition:opacity .12s,background .12s}.cfg-trace-linkable:hover .cfg-trace-open,.cfg-trace-open:focus-visible{opacity:1}.cfg-trace-open:hover{background:var(--sap-blue-soft)}.trace-jump-line{background:#e765002e;transition:background 1s}.trace-jump-glyph{background:var(--warning);margin-left:2px;width:3px!important}.formula-dialog[open]{width:380px;max-width:92vw;max-height:none;margin:0;position:fixed;inset:56px 16px 16px auto;transform:none}.tr-cfg-breadcrumb{color:var(--text-secondary);padding:8px 10px;font-size:13px}.tr-cfg-breadcrumb strong{color:var(--text)}.rev-badge{border-radius:6px;align-items:center;gap:5px;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.rev-badge .rev-dot{border-radius:50%;width:6px;height:6px}.rev-ok{color:#2ea96a;background:#23a05a24}.rev-ok .rev-dot{background:#2ea96a}.rev-risk{color:#d6962f;background:#d6962829}.rev-risk .rev-dot{background:#d6962f}.rev-no{color:#8c8c96;background:#8c8c9629}.rev-no .rev-dot{background:#8c8c96}.rev-drift{color:#d66e28;background:#d66e2829}.rev-drift .rev-dot{background:#d66e28}.welcome-glyph{color:var(--sap-blue);font-size:40px}.file-icon-py{color:#0070f2}.file-icon-json{color:#e76500}.file-icon-html{color:#cc1919}.file-icon-generic{color:#92a0ae}.file-icon-folder{color:#6a7a8c}[data-theme=dark] .file-icon-py{color:#5b9bff}[data-theme=dark] .file-icon-json{color:#ffb14c}[data-theme=dark] .file-icon-html{color:#ff7676}[data-theme=dark] .file-icon-generic,[data-theme=dark] .file-icon-folder{color:#a9b4c0}:focus-visible{outline:2px solid var(--sap-blue);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.ic-spin,.process-label.is-live,.agent-part-tool.st-running .tool-target{animation:none!important}.process-label.is-live{color:var(--text-secondary,#6a7a8c);-webkit-text-fill-color:currentColor}}.kbd{border:1px solid var(--border-strong);background:var(--surface);min-width:18px;color:var(--text-secondary);font-family:var(--mono);text-align:center;vertical-align:1px;border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-size:.85em;font-weight:500;line-height:1.3;display:inline-block}.agent-part{font-size:var(--text-body,13px);margin:2px 0}.agent-part-text.md-block{line-height:1.6}.agent-process{margin:var(--sp-1) 0 var(--sp-2)}.agent-process[hidden]{display:none}.process-head{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-1) 0;color:var(--text-secondary,#6a7a8c);font-size:var(--text-ui,12px);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:0;font-weight:500;display:flex}.process-head:hover{color:var(--text,#1d2d3e)}.process-head:focus-visible{outline:2px solid var(--sap-blue,#1a73e8);outline-offset:2px;border-radius:4px}.process-label{flex:auto}.process-label.is-live{color:#0000;background:linear-gradient(90deg,#d1d5db 0%,#6b7280 50%,#d1d5db 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite codex-shimmer}[data-theme=dark] .process-label.is-live{background:linear-gradient(90deg,#4b5563 0%,#d1d5db 50%,#4b5563 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text}.process-cancel{font:inherit;color:var(--text-muted,#92a0ae);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;flex:none;padding:0;font-size:11px;text-decoration:underline}.process-cancel:hover{color:#dc2626}.process-chevron{color:var(--text-muted,#92a0ae);flex:none;transition:transform .12s}.agent-process.open .process-chevron{transform:rotate(180deg)}.process-body{padding:var(--sp-1) 0 var(--sp-1) var(--sp-2);display:none}.agent-process.open .process-body{display:block}.agent-answer{margin-top:var(--sp-4);color:var(--text);font-size:14px;line-height:1.6}.agent-answer:first-child,.agent-process[hidden]+.agent-answer{margin-top:0}.agent-answer .agent-part-text{font-size:14px}.agent-part-reasoning{margin:4px 0}.reasoning-head{width:100%;font:inherit;color:var(--text-secondary,#6a7a8c);font-size:var(--text-ui,12px);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:3px 0;display:flex}.reasoning-head:hover{color:var(--text,#1d2d3e)}.reasoning-label{flex:auto}.reasoning-body{color:var(--text-secondary,#6a7a8c);font-size:var(--text-ui,12px);border-left:2px solid var(--border,#e5e5e5);margin-left:8px;padding:6px 8px 8px 24px;line-height:1.55;display:none}.agent-part-reasoning.open .reasoning-body{display:block}.agent-part-tool{margin:0;display:block}.tool-bullet{background:var(--border-strong,#d1d5db);border-radius:50%;flex:none;align-self:center;width:6px;height:6px}.tool-head{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:10px;padding:3px 0;font-size:12px;display:flex}.tool-head:hover{background:#00000006}[data-theme=dark] .tool-head:hover{background:#ffffff0a}.tool-verb{color:#6b7280;flex:none;min-width:56px;font-weight:500}.tool-target{font-family:var(--mono);color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11.5px;overflow:hidden}[data-theme=dark] .tool-target{color:#e5e7eb}.tool-dur{font-family:var(--mono);font-size:var(--text-caption,11px);color:var(--text-muted,#92a0ae);flex:none}.tool-check{flex:none;align-items:center;display:inline-flex}.agent-part-tool.st-ok .tool-check{color:#16a34a}.agent-part-tool.st-err .tool-check{color:#dc2626}.agent-part-tool.st-running .tool-check{color:var(--text-muted,#92a0ae)}.tool-chevron,.rollup-chevron{color:var(--text-muted,#92a0ae);flex:none;display:inline-flex}.tool-chevron .ic,.rollup-chevron .ic{transition:transform .12s}.agent-part-tool.open .tool-chevron .ic,.agent-rollup.open .rollup-chevron .ic{transform:rotate(90deg)}@keyframes ic-spin{to{transform:rotate(360deg)}}.ic-spin{animation:.9s linear infinite ic-spin}.agent-part-tool.st-running .tool-target{background:linear-gradient(90deg,#0000 0%,#4b8efb1a 50%,#0000 100%) 0 0/200% 100%;border-radius:3px;margin:0 -4px;padding:0 4px;animation:1.4s linear infinite codex-shimmer}.tool-body{font-size:var(--text-caption,11px);padding:6px 8px 10px 66px;display:none}.agent-part-tool.open .tool-body{display:block}.tool-body-label{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin:4px 0 2px;font-size:10.5px}.tool-body-pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;color:#374151;background:#00000006;border-radius:4px;margin:0 0 6px;padding:6px 8px;font-size:11.5px}[data-theme=dark] .tool-body-pre{color:#d1d5db;background:#ffffff0a}.agent-part-tool.risk-mutate .tool-head{border-left:2px solid #f59e0b;padding-left:6px}.agent-part-tool.risk-delete .tool-head,.agent-part-tool.risk-destructive .tool-head{border-left:2px solid #dc2626;padding-left:6px}.agent-part-plan{margin:4px 0}.plan-title{font-size:var(--text-ui,12px);color:var(--text-muted,#92a0ae);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-weight:600}.plan-list{margin:0;padding:0;list-style:none}.plan-item{font-size:var(--text-body,13px);color:var(--text,#1d2d3e);align-items:flex-start;gap:8px;padding:2px 0;display:flex}.plan-glyph{color:var(--text-muted,#92a0ae);font-family:var(--mono);flex:none;align-items:center;font-size:13px;line-height:1.4;display:inline-flex}.plan-text{flex:auto;line-height:1.4}.plan-item.st-completed .plan-glyph{color:#16a34a}.plan-item.st-completed .plan-text{color:var(--text-muted,#92a0ae);text-decoration:line-through}.plan-item.st-in_progress .plan-glyph{color:var(--sap-blue,#1a73e8)}.agent-rollup{margin:0}.rollup-head{width:100%;font:inherit;color:var(--text-secondary,#6a7a8c);font-size:var(--text-ui,12px);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:3px 0;display:flex}.rollup-head:hover{color:var(--text,#1d2d3e);background:#00000006}[data-theme=dark] .rollup-head:hover{background:#ffffff0a}.rollup-label{color:#6b7280;flex:auto;font-weight:500}.rollup-body{padding-left:24px}.rollup-body[hidden]{display:none}.pl-board{flex-direction:column;gap:14px;padding:16px;display:flex;overflow:auto}.pl-loading,.pl-empty,.pl-error{color:var(--text-muted,#8a929b);padding:24px;font-size:13px}.pl-error{color:var(--danger,#e5484d)}.pl-strip{border:1px solid var(--border,#e7ebef);background:var(--bg-elevated,#fff);border-radius:10px;padding:12px 14px}.pl-fam{align-items:center;gap:7px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.pl-fam-dot{background:var(--sap-blue,#2563eb);border-radius:50%;width:8px;height:8px;display:inline-block}.pl-flow{align-items:stretch;gap:0;display:flex;overflow-x:auto}.pl-node{border:1px solid var(--border,#e2e8f0);background:var(--bg-sidebar,#fbfcfd);border-radius:9px;align-self:center;min-width:130px;padding:9px 10px}.pl-node-active{box-shadow:0 0 0 2px var(--sap-blue,#2563eb) inset}.pl-node-env{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.pl-env-dev{color:#2563eb}.pl-env-test{color:#d97706}.pl-env-prod{color:#16a34a}.pl-node-tenant{white-space:nowrap;text-overflow:ellipsis;margin:3px 0 5px;font-family:ui-monospace,Menlo,monospace;font-size:12px;overflow:hidden}.pl-node-status{color:var(--text-muted,#8a929b);align-items:center;gap:5px;font-size:10px;display:flex}.pl-dot{background:#9aa4ad;border-radius:50%;width:7px;height:7px;display:inline-block}.pl-dot-on{background:#16a34a}.pl-conduit{align-self:center;align-items:center;min-width:56px;padding:0 6px;display:flex}.pl-conduit-pipe{background-image:repeating-linear-gradient(115deg,#e6ebf0 0 7px,#eef2f6 7px 14px);border:1px solid #e0e6ec;border-radius:7px;width:100%;height:14px}.pl-ungrouped{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.pl-ungrouped-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#8a929b);font-size:10px;font-weight:700}.pl-chip{border:1px solid var(--border,#e7ebef);color:var(--text-muted,#8a929b);border-radius:6px;padding:2px 7px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.pl-head{border-bottom:1px solid var(--border);background:var(--panel);color:var(--text);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.pl-head span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:12px;font-weight:600}.pl-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.pl-close:hover{color:var(--text);background:var(--sap-blue-soft)}.pl-board-shell{flex:1;overflow-y:auto}.pl-conduit{cursor:pointer}.pl-conduit:hover .pl-conduit-pipe{outline:2px solid var(--sap-blue,#1a73e8);outline-offset:1px}.pl-preview{padding:14px 16px}.pl-prev-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pl-back{border:1px solid var(--border,#e5e5e5);background:var(--surface,#fff);cursor:pointer;color:var(--text);border-radius:7px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.pl-back:hover{background:var(--hover-bg,#eef1f5)}.pl-prev-route{font-size:12px}.pl-mono{font-family:var(--mono)}.pl-prev-count{color:var(--text-muted,#92a0ae);margin-bottom:8px;font-size:11px;font-weight:700}.pl-prev-blocked{color:var(--error,#cc1919);background:var(--error-bg,#cc191914);border:1px solid var(--error,#cc1919);border-radius:8px;padding:10px;font-size:13px}.pl-prev-empty{color:var(--text-muted,#92a0ae);padding:12px;font-size:13px}.pl-prev-group{margin-bottom:10px}.pl-prev-type{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#92a0ae);margin-bottom:4px;font-size:10px;font-weight:700}.pl-prev-row{border-radius:7px;align-items:center;gap:9px;padding:5px 6px;font-size:12.5px;display:flex}.pl-prev-row:hover{background:var(--hover-bg,#eef1f5)}.pl-prev-glyph{flex:none}.pl-prev-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pl-prev-action{color:var(--text-muted,#92a0ae);flex-shrink:0;font-size:11px}.pl-act-create .pl-prev-glyph{color:var(--sap-blue,#1a73e8)}.pl-act-update .pl-prev-glyph{color:var(--warning,#e76500)}.pl-act-delete .pl-prev-glyph{color:var(--error,#cc1919)}.pl-act-in_sync .pl-prev-glyph{color:var(--success,#188918)}.pl-optin-row{background:var(--bg-sidebar,#fbfcfd);border:1px dashed var(--border,#e2e8f0);border-radius:8px;flex-wrap:wrap;gap:14px;margin:6px 0 10px;padding:7px 9px;display:flex}.pl-optin-label{cursor:pointer;color:var(--text-muted,#6b7280);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pl-optin-label input{cursor:pointer}.pl-advisory{color:var(--warning,#e76500);cursor:default;flex-shrink:0}.prd-drawer{padding:14px 16px}.prd-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.prd-route{font-size:12px}.prd-arrow{color:var(--text-muted,#92a0ae)}.prd-prog{color:var(--text-muted,#92a0ae);margin-left:auto;font-size:11px}.prd-pill{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:1px 7px;font-size:9px;font-weight:800}.prd-pill-ok{color:#16a34a;background:#eefaf1}.prd-pill-warn{color:#d97706;background:#fff7ea}.prd-pill-err{color:#e5484d;background:#fdeced}.prd-pill-muted{color:#8a929b;background:#f1f3f5}.prd-pill-run{color:#2563eb;background:#eef4ff}.prd-gate-err{color:#e5484d;background:#fdeced;border:1px solid #f6cdd0;border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:13px}.prd-log{flex-direction:column;gap:2px;display:flex}.prd-row{border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:9px;padding:5px 6px;font-size:12.5px;display:flex}.prd-glyph{flex:none;align-self:center}.prd-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;overflow:hidden}.prd-type,.prd-status{color:var(--text-muted,#8a929b);font-size:11px}.prd-applied .prd-glyph,.prd-in_sync .prd-glyph{color:#16a34a}.prd-failed .prd-glyph,.prd-blocked .prd-glyph,.prd-skipped .prd-glyph{color:#e5484d}.prd-running .prd-glyph{color:#d97706}.prd-err{color:#9b1c1c;background:#fef5f5;border:1px solid #f6d4d4;border-radius:6px;flex-basis:100%;margin-left:33px;padding:6px 8px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.prd-loading,.prd-empty{color:var(--text-muted,#8a929b);padding:12px;font-size:13px}.prd-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.prd-retry{border:1px solid var(--sap-blue,#2563eb);color:var(--sap-blue,#2563eb);background:var(--bg-elevated,#fff);cursor:pointer;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600}.prd-retry:hover{background:#eef4ff}.prd-retry-emphasis{background:var(--sap-blue,#2563eb);color:#fff;box-shadow:0 0 0 2px #bfdbfe}.prd-retry-emphasis:hover{background:#1d4ed8}.prd-fix{border:1px solid var(--border,#e7ebef);color:var(--text-secondary,#4a5568);background:var(--bg-elevated,#fff);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.prd-fix:hover{border-color:var(--sap-blue,#2563eb);color:var(--sap-blue,#2563eb);background:#f0f4ff}.prd-fix:disabled{opacity:.5;cursor:not-allowed}.prd-fix-note{color:var(--text-muted,#8a929b);flex:1;min-width:0;font-size:11px}.prd-ask{border:1px solid var(--border,#e7ebef);background:var(--bg-elevated,#fff);cursor:pointer;color:var(--sap-blue,#2563eb);border-radius:6px;flex:none;margin-left:4px;padding:2px 6px}.prd-ask:hover{background:#eef4ff}.prd-fixmanual{border:1px solid var(--border,#e7ebef);background:var(--bg-elevated,#fff);cursor:pointer;color:var(--text-secondary,#4a5568);border-radius:6px;flex:none;margin-left:8px;padding:2px 6px}.prd-fixmanual:hover{border-color:var(--text-secondary,#4a5568);background:#f5f5f5}.prd-dl{border:1px solid var(--border,#e7ebef);color:var(--text-secondary,#4a5568);background:var(--bg-elevated,#fff);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;display:inline-flex}.prd-dl:hover{border-color:var(--sap-blue,#2563eb);color:var(--sap-blue,#2563eb);background:#f0f4ff}.prd-dl-foot{justify-content:flex-end;padding-top:6px}.prd-reverse{border:1px solid var(--border,#e7ebef);color:var(--text-secondary,#4a5568);background:var(--bg-elevated,#fff);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.prd-reverse:hover{border-color:var(--sap-blue,#2563eb);color:var(--sap-blue,#2563eb);background:#f0f4ff}.prd-reverse:disabled{opacity:.5;cursor:not-allowed}.prd-rev-foot{border-top:1px solid var(--border,#e7ebef);justify-content:flex-start;margin-top:6px;padding-top:8px}.prd-rev-label{color:var(--text-muted,#8a929b);font-size:11px}.prd-rev-input{border:1px solid var(--border,#e7ebef);border-radius:6px;outline:none;width:90px;padding:4px 8px;font-size:12px}.prd-rev-input:focus{border-color:var(--sap-blue,#2563eb)}.prd-rev-confirm{border:1px solid var(--border,#e7ebef);color:var(--text-secondary,#4a5568);background:var(--bg-elevated,#fff);cursor:pointer;border-radius:7px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.prd-rev-confirm:not(:disabled):hover{color:#e5484d;background:#fdeced;border-color:#e5484d}.prd-rev-confirm:disabled{opacity:.5;cursor:not-allowed}.prd-rev-cancel{color:var(--text-muted,#8a929b);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:12px}.prd-rev-cancel:hover{background:var(--bg-hover,#f1f3f5)}.prd-rev-note{color:var(--text-secondary,#4a5568);font-size:12px}.prd-delitem-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.prd-delitem-row{align-items:center;gap:6px;padding:3px 0;font-size:12px;display:flex}.prd-delitem-glyph{color:var(--text-muted,#8a929b);flex:none}.prd-delitem-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary,#4a5568);flex:1;overflow:hidden}.prd-delitem-status{color:var(--text-muted,#8a929b);flex:none;font-size:11px}.prd-delitem-badge{color:var(--text-muted,#8a929b);flex:none;font-size:11px;font-style:italic}.prd-delitem-errmsg{color:#e5484d;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.prd-delitem-done .prd-delitem-glyph{color:#16a34a}.prd-delitem-done .prd-delitem-name{color:var(--text-muted,#8a929b);text-decoration:line-through}.prd-delitem-done .prd-delitem-badge{color:#16a34a}.prd-delitem{border:1px solid var(--border,#e7ebef);background:var(--bg-elevated,#fff);cursor:pointer;color:var(--text-muted,#8a929b);border-radius:5px;flex:none;align-items:center;gap:3px;padding:2px 6px;font-size:11px;display:inline-flex}.prd-delitem:hover{color:#e5484d;background:#fdeced;border-color:#e5484d}.prd-delitem-confirming{background:var(--bg-hover,#f1f3f5);border-radius:5px;padding:3px 6px}.prd-delitem-ok{color:#e5484d;cursor:pointer;background:#fdeced;border:1px solid #e5484d;border-radius:5px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.prd-delitem-ok:hover{background:#fca5a5}.prd-delitem-cancel{color:var(--text-muted,#8a929b);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 5px;font-size:11px}.prd-delitem-cancel:hover{background:var(--bg-hover,#f1f3f5)}.promotion-panel-inner{flex-direction:column;height:100%;display:flex;overflow:hidden}.prom-head{border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.prom-head span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:12px;font-weight:600}.prom-head #promRefresh{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.prom-head #promRefresh:hover{background:var(--hover-bg);color:var(--text)}#promotionBody{flex:1;padding:10px 12px 16px;overflow-y:auto}.prom-empty{text-align:center;padding:24px 16px}.prom-empty-title{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.prom-empty-sub{color:var(--text-muted);font-size:12px;line-height:1.5}.prom-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-sm);margin-bottom:10px;padding:7px 10px;font-size:12px}.prom-source{align-items:center;gap:7px;margin-bottom:8px;display:flex}.prom-source-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.prom-fam{color:var(--text-muted);font-size:11px;font-family:var(--mono);background:var(--border-soft);white-space:nowrap;border-radius:4px;padding:1px 6px}.prom-fam-none{font-style:italic}.prom-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:600}.prom-badge-prod{background:var(--sap-blue-soft);color:var(--sap-blue)}.prom-badge-test{background:var(--warning-bg);color:var(--warning)}.prom-badge-dev{background:var(--success-bg);color:var(--success)}.prom-badge-none{background:var(--border-soft);color:var(--text-muted)}.prom-route{align-items:center;gap:7px;margin-bottom:10px;display:flex}.prom-route-arrow{color:var(--text-muted);flex:none}.prom-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);font-size:12px;font-family:var(--sans);flex:1;padding:5px 8px}.prom-select:focus{border-color:var(--sap-blue);outline:none}.prom-note{color:var(--text-muted);background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:8px 10px;font-size:12px;line-height:1.45}.prom-actions{gap:6px;margin-bottom:8px;display:flex}.prom-btn{font-size:12px;font-weight:500;font-family:var(--sans);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.prom-btn:hover:not([disabled]){background:var(--hover-bg);color:var(--text)}.prom-btn[disabled]{opacity:.5;cursor:default}.prom-btn-cta{background:var(--sap-blue-soft);color:var(--sap-blue);border-color:var(--sap-blue-ring)}.prom-btn-cta:hover:not([disabled]){background:var(--sap-blue);color:#fff}.prom-rel{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.prom-rel-id{color:var(--text);font-size:11px}.prom-rel-count{color:var(--text-muted)}.prom-rel-none{color:var(--text-muted);font-style:italic}.prom-confirm-row{background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-sm);align-items:center;gap:6px;margin-bottom:10px;padding:7px 9px;display:flex}.prom-confirm-ic{color:var(--error);flex:none}.prom-confirm-input{min-width:0;font-size:12px;font-family:var(--sans);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);flex:1;padding:4px 8px}.prom-confirm-input:focus{border-color:var(--error);outline:none}.prom-confirm-hint{color:var(--text-muted);white-space:nowrap;font-size:11px}.prom-confirm-hint b{color:var(--text);font-family:var(--mono)}.prom-stage{margin-top:2px}.prom-loading{color:var(--text-muted);padding:10px 2px;font-size:12px}.prom-stage-empty{color:var(--text-muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:10px;font-size:12px}.prom-stage-head{color:var(--text);align-items:center;gap:7px;margin:4px 0 6px;font-size:12px;font-weight:600;display:flex}.prom-stage-sub{color:var(--text-muted);font-weight:400}.prom-summary{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.prom-count{background:var(--border-soft);color:var(--text-secondary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.prom-count-create{background:var(--sap-blue-soft);color:var(--sap-blue)}.prom-count-update{background:var(--warning-bg);color:var(--warning)}.prom-count-delete{background:var(--error-bg);color:var(--error)}.prom-count-in_sync{background:var(--success-bg);color:var(--success)}.prom-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:320px;overflow-y:auto}.prom-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:7px;padding:5px 9px;font-size:12px;display:flex}.prom-row:last-child{border-bottom:none}.prom-glyph{flex:none}.prom-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.prom-type{color:var(--text-muted);white-space:nowrap;font-size:11px}.prom-act-label{color:var(--text-secondary);white-space:nowrap;font-size:11px}.prom-advisory{color:var(--warning);flex:none}.prom-err-line{color:var(--error);flex-basis:100%;padding-left:20px;font-size:11px}.prom-act-create .prom-glyph{color:var(--sap-blue)}.prom-act-update .prom-glyph{color:var(--warning)}.prom-act-delete .prom-glyph{color:var(--error)}.prom-act-in_sync .prom-glyph,.prom-res-applied .prom-glyph,.prom-res-in_sync .prom-glyph{color:var(--success)}.prom-res-failed .prom-glyph,.prom-res-blocked .prom-glyph{color:var(--error)}.prom-res-skipped .prom-glyph{color:var(--text-muted)}.prom-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600}.prom-status-ok{background:var(--success-bg);color:var(--success)}.prom-status-warn{background:var(--warning-bg);color:var(--warning)}.prom-status-err{background:var(--error-bg);color:var(--error)}.prom-status-muted{background:var(--border-soft);color:var(--text-muted)}.prom-runid{color:var(--text-muted);margin-left:auto;font-size:10px}.prom-undo-run{padding:2px 8px;font-size:11px}.prom-hist{margin-top:14px}.prom-hist-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:5px;font-size:11px;font-weight:600}.prom-rel-row{color:var(--text-secondary);border:1px solid var(--border-soft);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:7px;margin-bottom:4px;padding:5px 8px;font-size:12px;transition:background .1s,border-color .1s;display:flex}.prom-rel-row:hover{background:var(--hover-bg);border-color:var(--border-strong)}.prom-rel-row-active{border-color:var(--sap-blue);background:var(--sap-blue-soft)}.prom-rel-row-id{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.prom-rel-row-count{color:var(--text-muted);white-space:nowrap;font-size:11px}.brand-title,.chat-welcome h2,.confirm-body h3,.shortcuts-dialog h3,.formula-header h3,.settings-section-title,.cfg-header-title,.cfg-embed-title,.dock-section-title,.explorer-header,.kb-header,.dw-header,.sp-header,.rail-label,.panel-group-header{font-family:var(--display)}.ic{vertical-align:-.125em;width:1em;height:1em;-webkit-mask:var(--ic) center / contain no-repeat;-webkit-mask:var(--ic) center / contain no-repeat;mask:var(--ic) center / contain no-repeat;background-color:currentColor;display:inline-block}.ic-sm{font-size:13px}.ic-lg{font-size:18px}.ic-loader{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='4.93' y1='4.93' x2='7.76' y2='7.76'/%3E%3Cline x1='16.24' y1='16.24' x2='19.07' y2='19.07'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.93' y1='19.07' x2='7.76' y2='16.24'/%3E%3Cline x1='16.24' y1='7.76' x2='19.07' y2='4.93'/%3E%3C/svg%3E")}.ic-check{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}.ic-circle-pause{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='10' y1='15' x2='10' y2='9'/%3E%3Cline x1='14' y1='15' x2='14' y2='9'/%3E%3C/svg%3E")}.ic-plus{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")}.ic-square{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3C/svg%3E")}.ic-x{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E")}.ic-undo{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13'/%3E%3C/svg%3E")}.ic-redo{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 7v6h-6'/%3E%3Cpath d='M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3L21 13'/%3E%3C/svg%3E")}.ic-play{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E")}.ic-box{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E")}.ic-activity{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E")}.ic-git-branch{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='6' y1='3' x2='6' y2='15'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M18 9a9 9 0 0 1-9 9'/%3E%3C/svg%3E")}.ic-file{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpolyline points='13 2 13 9 20 9'/%3E%3C/svg%3E")}.ic-folder{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}.ic-file-code{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpolyline points='10 13 8 15 10 17'/%3E%3Cpolyline points='14 13 16 15 14 17'/%3E%3C/svg%3E")}.ic-refresh-cw{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 4 23 10 17 10'/%3E%3Cpolyline points='1 20 1 14 7 14'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E")}.ic-search{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E")}.ic-settings{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E")}.ic-chevron-right{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E")}.ic-chevron-down{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.ic-chevron-up{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'/%3E%3C/svg%3E")}.ic-chevron-left{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E")}.ic-arrow-up{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5 12 12 5 19 12'/%3E%3C/svg%3E")}.ic-arrow-down{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19 12 12 19 5 12'/%3E%3C/svg%3E")}.ic-arrow-left{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E")}.ic-arrow-right{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E")}.ic-arrow-up-from-line{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 9-6-6-6 6'/%3E%3Cpath d='M12 3v14'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E")}.ic-arrow-down-to-line{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 17V3'/%3E%3Cpath d='m6 11 6 6 6-6'/%3E%3Cpath d='M19 21H5'/%3E%3C/svg%3E")}.ic-at-sign{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8'/%3E%3C/svg%3E")}.ic-git-pull-request{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Cpath d='M13 6h3a2 2 0 0 1 2 2v7'/%3E%3Cline x1='6' y1='9' x2='6' y2='21'/%3E%3C/svg%3E")}.ic-git-commit{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cline x1='1.05' y1='12' x2='7' y2='12'/%3E%3Cline x1='17.01' y1='12' x2='22.96' y2='12'/%3E%3C/svg%3E")}.ic-eye{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}.ic-eye-off{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E")}.ic-upload{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E")}.ic-download{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E")}.ic-save{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpolyline points='17 21 17 13 7 13 7 21'/%3E%3Cpolyline points='7 3 7 8 15 8'/%3E%3C/svg%3E")}.ic-edit-3{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/%3E%3C/svg%3E")}.ic-trash-2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E")}.ic-alert-triangle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E")}.ic-alert-circle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E")}.ic-info{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E")}.ic-pin{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='17' x2='12' y2='22'/%3E%3Cpath d='M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z'/%3E%3C/svg%3E")}.ic-pin-off{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2' y1='2' x2='22' y2='22'/%3E%3Cline x1='12' y1='17' x2='12' y2='22'/%3E%3Cpath d='M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V17h12'/%3E%3Cpath d='M15 9.34V6h1a2 2 0 0 0 0-4H7.89'/%3E%3C/svg%3E")}.ic-more-horizontal{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.ic-more-vertical{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='12' cy='5' r='1'/%3E%3Ccircle cx='12' cy='19' r='1'/%3E%3C/svg%3E")}.ic-columns-2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M12 3v18'/%3E%3C/svg%3E")}.ic-terminal{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 17 10 11 4 5'/%3E%3Cline x1='12' y1='19' x2='20' y2='19'/%3E%3C/svg%3E")}.ic-terminal-square{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 11 2-2-2-2'/%3E%3Cpath d='M11 13h4'/%3E%3Crect width='18' height='18' x='3' y='3' rx='2' ry='2'/%3E%3C/svg%3E")}.ic-code{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E")}.ic-code-2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 16 4-4-4-4'/%3E%3Cpath d='m6 8-4 4 4 4'/%3E%3Cpath d='m14.5 4-5 16'/%3E%3C/svg%3E")}.ic-database{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'/%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'/%3E%3C/svg%3E")}.ic-layers{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E")}.ic-history{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E")}.ic-send{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E")}.ic-paperclip{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 17.93 8.83l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E")}.ic-link{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E")}.ic-external-link{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E")}.ic-monitor{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E")}.ic-cpu{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' ry='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cline x1='9' y1='1' x2='9' y2='4'/%3E%3Cline x1='15' y1='1' x2='15' y2='4'/%3E%3Cline x1='9' y1='20' x2='9' y2='23'/%3E%3Cline x1='15' y1='20' x2='15' y2='23'/%3E%3Cline x1='20' y1='9' x2='23' y2='9'/%3E%3Cline x1='20' y1='14' x2='23' y2='14'/%3E%3Cline x1='1' y1='9' x2='4' y2='9'/%3E%3Cline x1='1' y1='14' x2='4' y2='14'/%3E%3C/svg%3E")}.ic-sparkles{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8-5.8 1.9 5.8 1.9L12 18.4l1.9-5.8 5.8-1.9-5.8-1.9z'/%3E%3Cpath d='M5 3v4'/%3E%3Cpath d='M3 5h4'/%3E%3Cpath d='M19 17v4'/%3E%3Cpath d='M17 19h4'/%3E%3C/svg%3E")}.ic-wand-2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72'/%3E%3Cpath d='m14 7 3 3'/%3E%3Cpath d='M5 6v4'/%3E%3Cpath d='M19 14v4'/%3E%3Cpath d='M10 2v2'/%3E%3Cpath d='M7 8H3'/%3E%3Cpath d='M21 16h-4'/%3E%3Cpath d='M11 3H9'/%3E%3C/svg%3E")}.ic-list{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E")}.ic-file-text{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E")}.ic-file-json{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M10 13a2 2 0 0 0-2 2v1a2 2 0 0 1-2 2 2 2 0 0 1 2 2v1a2 2 0 0 0 2 2'/%3E%3Cpath d='M14 18a2 2 0 0 0 2 2 2 2 0 0 0 2-2v-1a2 2 0 0 1 2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2'/%3E%3C/svg%3E")}.ic-file-x{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='9.5' y1='12.5' x2='14.5' y2='17.5'/%3E%3Cline x1='14.5' y1='12.5' x2='9.5' y2='17.5'/%3E%3C/svg%3E")}.ic-x-circle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E")}.ic-check-circle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E")}.ic-circle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E")}.ic-sliders-horizontal{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='21' y1='4' x2='14' y2='4'/%3E%3Cline x1='10' y1='4' x2='3' y2='4'/%3E%3Cline x1='21' y1='12' x2='12' y2='12'/%3E%3Cline x1='8' y1='12' x2='3' y2='12'/%3E%3Cline x1='21' y1='20' x2='16' y2='20'/%3E%3Cline x1='12' y1='20' x2='3' y2='20'/%3E%3Cline x1='14' y1='2' x2='14' y2='6'/%3E%3Cline x1='8' y1='10' x2='8' y2='14'/%3E%3Cline x1='16' y1='18' x2='16' y2='22'/%3E%3C/svg%3E")}.ic-filter{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E")}.ic-flag{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E")}.ic-zap{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E")}.ic-user{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")}.ic-archive{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='21 8 21 21 3 21 3 8'/%3E%3Crect x='1' y='3' width='22' height='5'/%3E%3Cline x1='10' y1='12' x2='14' y2='12'/%3E%3C/svg%3E")}.ic-cloud{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E")}.ic-rewind{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='11 19 2 12 11 5 11 19'/%3E%3Cpolygon points='22 19 13 12 22 5 22 19'/%3E%3C/svg%3E")}.ic-edit{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E")}.ic-trash{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E")}.ic-chevron{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.ic-alert{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E")}.ic-lock{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}.ic-unlock{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 9.9-1'/%3E%3C/svg%3E")}.ic-help-circle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E")}.ic-message-square{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}.ic-book-open{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/%3E%3C/svg%3E")}.ic-list-ordered{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12h11'/%3E%3Cpath d='M10 18h11'/%3E%3Cpath d='M10 6h11'/%3E%3Cpath d='M4 10h2'/%3E%3Cpath d='M4 6h1v4'/%3E%3Cpath d='M6 18H4c0-1 2-2 2-3s-1-1.5-2-1'/%3E%3C/svg%3E")}.ic-coin{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M18.09 10.37A6 6 0 1 1 10.34 18'/%3E%3Cpath d='M7 6h1v4'/%3E%3Cpath d='m16.71 13.88.7.71-2.82 2.82'/%3E%3C/svg%3E")}.ic-copy{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E")}.ic-table-2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18'/%3E%3C/svg%3E")}.ic-diff{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v14'/%3E%3Cpath d='M5 10h14'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E")}#panel-traces{flex-direction:column;height:100%;display:flex;overflow:hidden}.traces-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;padding:6px 10px 6px 12px;font-size:11px;font-weight:600;display:flex}.traces-head-title{color:var(--text-muted);font-size:11px;font-weight:600}.traces-refresh-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px 5px;line-height:1;display:inline-flex}.traces-refresh-btn:hover{background:var(--hover-bg);color:var(--text)}.traces-body{flex:1;padding:4px 0;overflow-y:auto}.trace-empty{color:var(--text-muted);text-align:center;padding:20px 14px;font-size:12px;line-height:1.6}.trace-row{cursor:pointer;border-bottom:1px solid var(--border-soft,var(--border));align-items:center;gap:8px;min-height:34px;padding:6px 12px;font-size:12px;line-height:1.4;display:flex}.trace-row:hover{background:var(--hover-bg)}.trace-row:last-child{border-bottom:none}.trace-status-badge{white-space:nowrap;text-transform:capitalize;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.trace-status-success{color:#166534;background:#dcfce7}.trace-status-error{color:#991b1b;background:#fee2e2}.trace-status-warning{color:#854d0e;background:#fef9c3}[data-theme=dark] .trace-status-success{color:#86efac;background:#14532d}[data-theme=dark] .trace-status-error{color:#fca5a5;background:#450a0a}[data-theme=dark] .trace-status-warning{color:#fde68a;background:#422006}.trace-prompt{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;font-size:12px;overflow:hidden}.trace-meta{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.trace-detail{flex-direction:column;min-height:0;display:flex}.trace-detail-nav{border-bottom:1px solid var(--border);flex-shrink:0;padding:4px 8px}.trace-back-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:2px 5px;font-size:11px;display:inline-flex}.trace-back-btn:hover{color:var(--text);background:var(--hover-bg)}.trace-detail-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px 8px}.td-prompt{color:var(--text);word-break:break-word;margin-bottom:6px;font-size:13px;font-weight:500;line-height:1.4}.td-badges{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:4px;display:flex}.td-meta-chip{color:var(--text-secondary);background:var(--hover-bg);white-space:nowrap;border:1px solid var(--border-soft);border-radius:4px;padding:1px 6px;font-size:11px}.td-outcome{color:var(--text-muted);word-break:break-word;margin-top:4px;font-size:11px;font-style:italic}.trace-detail-decisions{flex:1;overflow-y:auto}.td-decision-row{cursor:pointer;border-bottom:1px solid var(--border-soft,var(--border));-webkit-user-select:none;user-select:none;align-items:center;gap:7px;min-height:28px;padding:5px 12px;font-size:12px;line-height:1.3;display:flex}.td-decision-row:hover,.td-decision-row.td-decision-open{background:var(--hover-bg)}.td-tool-badge{letter-spacing:.04em;text-transform:uppercase;color:#92400e;background:#fed7aa;border-radius:3px;flex-shrink:0;align-items:center;padding:1px 5px;font-size:10px;font-weight:600;display:inline-flex}[data-theme=dark] .td-tool-badge{color:#fdba74;background:#7c2d12}.td-decision-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:monospace;font-size:11px;overflow:hidden}.td-decision-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:130px;font-size:11px;overflow:hidden}.td-decision-detail{border-bottom:1px solid var(--border-soft,var(--border));background:var(--bg,#f0f1f3)}[data-theme=dark] .td-decision-detail{background:#ffffff06}.td-io-block{border-bottom:1px solid var(--border-soft,var(--border));padding:8px 12px}.td-io-block:last-child{border-bottom:none}.td-io-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:600}.td-io-body{color:var(--text);word-break:break-word;font-size:12px;line-height:1.5}.td-io-pre{color:var(--text);white-space:pre-wrap;word-break:break-word;background:0 0;max-height:200px;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-y:auto}.td-io-truncated{color:var(--text-muted);font-style:italic}.td-io-reasoning{background:#3b82f60d;border-left:3px solid #3b82f6;padding-left:10px}.td-io-reasoning .td-io-label{color:#3b82f6}.td-io-reasoning .td-io-body{font-size:12px;font-style:italic}[data-theme=dark] .td-io-reasoning{background:#3b82f614}.td-io-error{background:#ef44440a;border-left:3px solid #ef4444;padding-left:10px}.td-io-error .td-io-label{color:#ef4444}[data-theme=dark] .td-io-error{background:#ef444414}.td-waterfall{background:var(--hover-bg,#0000000a);border-radius:2px;height:14px;margin:1px 12px 3px;position:relative}.td-waterfall-bar{color:#92400e;white-space:nowrap;box-sizing:border-box;background:#fed7aa;border:1px solid #f59e0b;border-radius:2px;min-width:2px;height:14px;padding:0 3px;font-size:9px;line-height:12px;position:absolute;top:0;overflow:hidden}.td-waterfall-bar.ok{color:#166534;background:#dcfce7;border-color:#86efac}.td-waterfall-bar.error{color:#991b1b;background:#fee2e2;border-color:#fca5a5}[data-theme=dark] .td-waterfall{background:#ffffff0f}[data-theme=dark] .td-waterfall-bar{color:#fdba74;background:#7c2d12;border-color:#92400e}[data-theme=dark] .td-waterfall-bar.ok{color:#86efac;background:#14532d;border-color:#166534}[data-theme=dark] .td-waterfall-bar.error{color:#fca5a5;background:#450a0a;border-color:#dc2626}.agent-part-tool.st-err-soft .tool-check{color:var(--text-muted)}.agent-part-tool.st-err-soft{opacity:.85}.md-code-wrap{position:relative}.md-code-wrap>.md-code{padding-right:60px}.md-code-wrap .md-copy-btn{z-index:1;font-family:var(--sans,inherit);border:1px solid var(--border,#0000001f);background:var(--panel,#f4f4f7);color:var(--text-muted,#6b7280);cursor:pointer;opacity:.55;border-radius:5px;padding:4px 8px;font-size:11px;line-height:1;transition:opacity .12s,color .12s,border-color .12s,background .12s;position:absolute;top:6px;right:6px}.md-code-wrap:hover .md-copy-btn,.md-code-wrap .md-copy-btn:focus-visible{opacity:1}.md-code-wrap .md-copy-btn:hover{color:var(--text,#1f2937);border-color:var(--sap-blue,#4b8efb)}.md-code-wrap .md-copy-btn.is-copied{color:#15803d;opacity:1;border-color:#15803d}[data-theme=dark] .md-code-wrap .md-copy-btn{color:#cbd5e1;background:#ffffff14;border-color:#ffffff24}[data-theme=dark] .md-code-wrap .md-copy-btn:hover{color:#f1f5f9;border-color:var(--sap-blue,#4b8efb)}[data-theme=dark] .md-code-wrap .md-copy-btn.is-copied{color:#4ade80;border-color:#4ade80}#panel-errors{flex-direction:column;height:100%;display:flex;overflow:hidden}.errors-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;padding:6px 10px 6px 12px;font-size:11px;font-weight:600;display:flex}.errors-head-title{color:var(--text-muted);font-size:11px;font-weight:600}.errors-refresh-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px 5px;line-height:1;display:inline-flex}.errors-refresh-btn:hover{background:var(--hover-bg);color:var(--text)}.errors-body{flex:1;padding:4px 0;overflow-y:auto}.error-empty{color:var(--text-muted);text-align:center;padding:20px 14px;font-size:12px;line-height:1.6}.error-row{cursor:pointer;border-bottom:1px solid var(--border-soft,var(--border));align-items:center;gap:8px;min-height:34px;padding:6px 12px;font-size:12px;line-height:1.4;display:flex}.error-row:hover{background:var(--hover-bg)}.error-row:last-child{border-bottom:none}.error-status-badge{white-space:nowrap;color:#991b1b;background:#fee2e2;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}[data-theme=dark] .error-status-badge{color:#fca5a5;background:#450a0a}.error-type{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:0;max-width:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.error-route{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;min-width:0;font-size:12px;overflow:hidden}.error-count-badge{white-space:nowrap;background:var(--hover-bg);color:var(--text-muted);border:1px solid var(--border-soft,var(--border));border-radius:4px;flex-shrink:0;align-items:center;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;display:inline-flex}.error-meta{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.error-detail{flex-direction:column;min-height:0;display:flex}.error-detail-nav{border-bottom:1px solid var(--border);flex-shrink:0;padding:4px 8px}.error-back-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:2px 5px;font-size:11px;display:inline-flex}.error-back-btn:hover{color:var(--text);background:var(--hover-bg)}.error-detail-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px 8px}.ed-type{color:var(--text);word-break:break-word;margin-bottom:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;line-height:1.4}.ed-route{color:var(--text-secondary);word-break:break-word;margin-bottom:6px;font-size:12px;line-height:1.4}.ed-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.ed-aggregate{color:var(--text-muted);margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.ed-meta-chip{color:var(--text-secondary);background:var(--hover-bg);white-space:nowrap;border:1px solid var(--border-soft);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.error-detail-body{flex:1;overflow-y:auto}.ed-block{border-bottom:1px solid var(--border-soft,var(--border));padding:8px 12px}.ed-block:last-child{border-bottom:none}.ed-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:600}.ed-body{color:var(--text);word-break:break-word;font-size:12px;line-height:1.5}.ed-pre{color:var(--text);white-space:pre-wrap;word-break:break-word;background:0 0;max-height:300px;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-y:auto}.ed-truncated{color:var(--text-muted);font-style:italic}.ed-block-message{background:#ef44440a;border-left:3px solid #ef4444;padding-left:10px}.ed-block-message .ed-label{color:#ef4444}[data-theme=dark] .ed-block-message{background:#ef444414}.ed-block-traceback{background:var(--bg,#f0f1f3)}[data-theme=dark] .ed-block-traceback{background:#ffffff06}#panel-learning{flex-direction:column;height:100%;display:flex;overflow:hidden}.learning-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;padding:6px 10px 6px 12px;font-size:11px;font-weight:600;display:flex}.learning-head-title{color:var(--text-muted);font-size:11px;font-weight:600}.lrn-refresh-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px 5px;line-height:1;display:inline-flex}.lrn-refresh-btn:hover{background:var(--hover-bg);color:var(--text)}.learning-body{flex:1;padding:4px 0;overflow-y:auto}.learning-empty{color:var(--text-muted);text-align:center;padding:20px 14px;font-size:12px;line-height:1.6}.lrn-row{cursor:pointer;border-bottom:1px solid var(--border-soft,var(--border));align-items:center;gap:8px;min-height:34px;padding:6px 12px;font-size:12px;line-height:1.4;display:flex}.lrn-row:hover{background:var(--hover-bg)}.lrn-row:last-child{border-bottom:none}.lrn-status-badge{white-space:nowrap;background:var(--hover-bg);color:var(--text-muted);border:1px solid var(--border-soft,var(--border));border-radius:4px;flex-shrink:0;align-items:center;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.lrn-status-candidate{color:#1e40af;background:#dbeafe;border-color:#0000}[data-theme=dark] .lrn-status-candidate{color:#93c5fd;background:#1e3a5f}.lrn-safety-badge{white-space:nowrap;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}[data-theme=dark] .lrn-safety-badge{color:#fcd34d;background:#451a03;border-color:#b45309}.lrn-count-badge{white-space:nowrap;background:var(--hover-bg);color:var(--text-muted);border:1px solid var(--border-soft,var(--border));border-radius:4px;flex-shrink:0;align-items:center;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;display:inline-flex}.lrn-gotcha{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;min-width:0;font-size:12px;overflow:hidden}.lrn-tabs{z-index:1;background:var(--panel);border-bottom:1px solid var(--border-soft,var(--border));gap:2px;padding:6px 10px;display:flex;position:sticky;top:0}.lrn-tab{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;flex:1;padding:5px 6px;font-family:inherit;font-size:11px;font-weight:600}.lrn-tab:hover,.lrn-tab.active{background:var(--hover-bg);color:var(--text)}.lrn-status-promoted{color:#166534;background:#dcfce7;border-color:#0000}[data-theme=dark] .lrn-status-promoted{color:#86efac;background:#052e16}.lrn-detail{flex-direction:column;min-height:0;display:flex}.lrn-detail-nav{border-bottom:1px solid var(--border);flex-shrink:0;padding:4px 8px}.lrn-back-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:2px 5px;font-size:11px;display:inline-flex}.lrn-back-btn:hover{color:var(--text);background:var(--hover-bg)}.lrn-card-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px 8px}.lrn-card-title{color:var(--text);word-break:break-word;margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.4}.lrn-card-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.lrn-card-dates{color:var(--text-muted);margin-top:6px;font-size:11px}.lrn-detail-body{flex:1;overflow-y:auto}.lrn-section{border-bottom:1px solid var(--border-soft,var(--border));padding:10px 12px}.lrn-section:last-child{border-bottom:none}.lrn-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:600}.lrn-field{margin-bottom:8px}.lrn-field:last-child{margin-bottom:0}.lrn-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:3px;font-size:10px;font-weight:600}.lrn-field-value{color:var(--text);word-break:break-word;white-space:pre-wrap;font-size:12px;line-height:1.5}.lrn-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.lrn-chips{flex-wrap:wrap;gap:4px;display:flex}.lrn-chip{background:var(--hover-bg);color:var(--text-secondary,var(--text));border:1px solid var(--border-soft,var(--border));border-radius:4px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.lrn-preview-label{color:var(--text-muted);margin-bottom:6px;font-size:11px;line-height:1.4}.lrn-preview{color:var(--text);background:var(--bg,#f0f1f3);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:240px;margin:0;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-y:auto}[data-theme=dark] .lrn-preview{background:#ffffff06}.lrn-evidence-line{color:var(--text);word-break:break-word;font-size:12px;line-height:1.6}.lrn-evidence-muted{color:var(--text-muted);font-style:italic}.lrn-episode-pre{color:var(--text);background:var(--bg,#f0f1f3);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;margin:0;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}[data-theme=dark] .lrn-episode-pre{background:#ffffff06}.lrn-verdict-group{margin-top:8px}.lrn-verdict-group:first-child{margin-top:0}.lrn-verdict-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:600}.lrn-verdict-empty{color:var(--text-muted);font-size:12px;font-style:italic}.lrn-verdict-row{color:var(--text);align-items:flex-start;gap:6px;padding:2px 0;font-size:12px;line-height:1.5;display:flex}.lrn-verdict-row .ic{flex-shrink:0;margin-top:2px}.lrn-vote-pass .ic{color:#2ea96a}.lrn-vote-fail .ic{color:#ef4444}.lrn-verdict-reason{word-break:break-word}.lrn-overlap-warning{color:var(--text);word-break:break-word;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:12px;line-height:1.5}[data-theme=dark] .lrn-overlap-warning{color:#fcd34d;background:#b4530924}.lrn-review-row{border-bottom:1px solid var(--border-soft,var(--border));padding:6px 0}.lrn-review-row:last-child{border-bottom:none}.lrn-review-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lrn-review-badge{white-space:nowrap;text-transform:uppercase;background:var(--hover-bg);color:var(--text-muted);border:1px solid var(--border-soft,var(--border));border-radius:4px;flex-shrink:0;align-items:center;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.lrn-review-reviewer{color:var(--text);font-size:12px}.lrn-review-date{color:var(--text-muted);font-size:11px}.lrn-review-reason,.lrn-review-changed{color:var(--text-muted);word-break:break-word;margin-top:3px;font-size:12px;line-height:1.5}.lrn-review-empty{color:var(--text-muted);font-size:12px;font-style:italic}.lrn-actions-row{flex-wrap:wrap;gap:6px;display:flex}.lrn-btn{border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:600}.lrn-btn:hover{background:var(--hover-bg)}.lrn-btn-primary{background:var(--sap-blue);border-color:var(--sap-blue);color:#fff}.lrn-btn-primary:hover{background:var(--sap-blue-hover)}.lrn-edit-form{flex-direction:column;gap:4px;display:flex}.lrn-edit-gotcha,.lrn-edit-workaround,.lrn-edit-trigger{box-sizing:border-box;border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);resize:vertical;outline:none;padding:6px 8px;font-family:inherit;font-size:12px}.lrn-edit-gotcha:focus,.lrn-edit-workaround:focus,.lrn-edit-trigger:focus{border-color:var(--sap-blue)}.lrn-edit-btns{justify-content:flex-end;gap:6px;margin-top:2px;display:flex}#appV2{grid-template-columns:var(--v2-side-w,264px) 1fr;background:var(--bg);font-family:var(--sans);color:var(--ink);z-index:1;grid-template-rows:52px 1fr;display:grid;position:fixed;inset:0}#appV2.side-collapsed{--v2-side-w:64px}.v2-top{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent);grid-column:1/-1;align-items:center;gap:14px;padding:0 16px;display:flex}.v2-wordmark{font-family:var(--display);letter-spacing:-.01em;align-items:center;gap:9px;font-size:16px;font-weight:800;display:flex}.v2-spark{background:var(--grad);border-radius:7px;flex:none;width:22px;height:22px}#appV2 .conn-name .live{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px var(--success-bg);border-radius:50%;flex:none;transition:background .3s,box-shadow .3s}#appV2 .conn-name .live.off{background:var(--muted);box-shadow:0 0 0 3px var(--hover-bg)}#appV2 .conn-name .live.connecting{background:var(--warning);box-shadow:0 0 0 3px var(--warning-bg);animation:1.4s ease-in-out infinite conn-dot-pulse}@keyframes conn-dot-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){#appV2 .conn-name .live.connecting{opacity:1;animation:none}}.v2-top .sync-badges{align-items:center;gap:5px;margin-left:auto;display:flex}.v2-top .sync-badges[hidden]{display:none}#appV2 .sbadge{font-family:var(--mono);border-radius:var(--radius-pill,999px);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}#appV2 .sbadge .ic{width:12px;height:12px}#appV2 .sbadge.ok{background:var(--success-bg);color:var(--ok)}#appV2 .sbadge.up{background:var(--sap-blue-soft);color:var(--brand)}#appV2 .sbadge.warn{background:var(--warning-bg);color:var(--warning)}.v2-side{border-right:1px solid var(--line);background:var(--panel,#f6f8fc);flex-direction:column;grid-row:2;padding:10px 10px 16px;display:flex;overflow-y:auto}.sb-top{flex-direction:column;gap:8px;margin-bottom:14px;display:flex;position:relative}#appV2 .conn-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:9px 11px;display:flex}#appV2 .conn-card:hover{background:var(--hover-bg)}#appV2 .conn-glyph{color:#fff;background:var(--grad);border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}#appV2 .conn-glyph .ic{width:14px;height:14px}#appV2 .conn-meta{flex-direction:column;flex:1;min-width:0;display:flex}#appV2 .conn-name{align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:600;display:flex}#appV2 .conn-name .nm{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#appV2 .conn-sub{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-top:1px;font-size:10.5px;display:flex;overflow:hidden}#appV2 .env-chip{font-family:var(--mono);border-radius:var(--radius-pill,999px);background:var(--sap-blue-soft);color:var(--brand);text-transform:uppercase;letter-spacing:.04em;flex:none;padding:1px 6px;font-size:9.5px;font-weight:500}#appV2 .kbd{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);background:var(--bg);border-radius:5px;flex:none;padding:1px 5px;font-size:10px}#appV2 .cta{border-radius:var(--radius-pill,999px);color:#fff;background:var(--grad-btn,var(--grad));width:100%;font-family:var(--display);box-shadow:var(--shadow-btn-glow);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-weight:600;display:flex}#appV2 .cta:hover{filter:brightness(1.05)}#appV2 .cta .ic{color:#fff}#appV2 .tenant-dropdown{z-index:10;background:var(--surface);border:1px solid var(--line);min-width:250px;max-width:calc(100% - 12px);box-shadow:var(--shadow-modal);border-radius:8px;position:absolute;top:58px;left:0;right:auto}#appV2 .td-item-row{min-height:40px}#appV2 .td-item:hover{background:var(--hover-bg)}#appV2 .td-item.active:hover{background:var(--sap-blue-soft)}#appV2 .td-item-row{min-height:36px;padding:6px 10px}#appV2 .td-name{font-size:12.5px}#appV2 .td-user{font-size:10.5px}.v2-nav-group-h .ic-chevron-down{transition:transform .15s}.v2-nav-group.collapsed .v2-nav-group-h .ic-chevron-down{transform:rotate(-90deg)}#appV2 .v2-nav-group-h{font-family:var(--display);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:12px 10px 6px;font-size:11px;font-weight:700;display:flex}.v2-nav-group.collapsed .v2-nav-item{display:none}.v2-nav-item{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;padding:9px 11px;font-size:13px;display:flex}.v2-nav-item:hover{background:var(--hover-bg)}.v2-nav-item.active{background:var(--sap-blue-soft);color:var(--brand);font-weight:600}.v2-nav-item .ic{flex:none;width:17px;height:17px}#appV2.side-collapsed .v2-nav-group-h span:not(.ic),#appV2.side-collapsed .v2-nav-item span:not(.ic),#appV2.side-collapsed .conn-card .conn-meta,#appV2.side-collapsed .conn-card .kbd,#appV2.side-collapsed .cta span:not(.ic){display:none}.sb-foot{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:2px;margin-top:auto;padding-top:8px;display:flex}#appV2 .foot-row{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:8px 11px;font-size:12.5px;display:flex}#appV2 .foot-row:hover{background:var(--hover-bg);color:var(--ink)}#appV2 .foot-row .ic{color:var(--muted)}#appV2 .foot-row .usage{font-family:var(--mono);color:var(--ink);margin-left:auto;font-size:11px}.acct-wrap{margin-top:3px;position:relative}#appV2 .acct{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 9px;display:flex}#appV2 .acct:hover{background:var(--hover-bg)}#appV2 .avatar{color:#fff;background:var(--grad);border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}#appV2 .acct-meta{text-align:left;flex:1;min-width:0}#appV2 .acct-name{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}#appV2 .acct .ic-chevron-down{color:var(--muted)}#appV2 .acct-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-modal);z-index:40;border-radius:8px;padding:6px;position:absolute;bottom:48px;left:6px;right:6px}#appV2 .acct-menu .hd{color:var(--muted);padding:7px 9px 3px;font-size:10.5px}#appV2 .acct-menu .hd b{color:var(--ink);font-size:12px;font-weight:400;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}#appV2 .acct-menu .mi{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:7px 9px;font-size:12.5px;text-decoration:none;display:flex}#appV2 .acct-menu .mi:hover{background:var(--hover-bg)}#appV2 .acct-menu .mi .ic{color:var(--muted)}#appV2.side-collapsed .foot-row span:not(.ic),#appV2.side-collapsed .acct-meta,#appV2.side-collapsed .acct .ic-chevron-down{display:none}#appV2.side-collapsed .acct{justify-content:center}#appV2.side-collapsed .acct-menu{width:230px;left:6px;right:auto}.v2-main{grid-row:2;grid-template-columns:1fr;min-width:0;min-height:0;display:grid}.v2-col-primary{min-width:0;min-height:0;overflow:auto}.v2-view{padding:22px 26px;display:none}.v2-view.active{display:block}.v2-view-title{font-family:var(--display);letter-spacing:-.01em;margin:0 0 6px;font-size:19px;font-weight:700}.v2-view-sub{color:var(--muted);font-size:12.5px}.v2-view.v2-chat{padding:0;position:relative}.v2-view.v2-chat.active{height:100%;min-height:0;display:flex}.v2-chat .v2-col-primary{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}#appV2 #chatStream>*{width:100%;max-width:760px;margin-inline:auto}.v2-chat #btnCollapseRight,#appV2 #btnNewConversation{display:none}#appV2 .chat-panel-actions{gap:8px}#appV2 .hbtn{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill,999px);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}#appV2 .hbtn:hover{background:var(--hover-bg)}#appV2 .hbtn .ic{color:var(--muted)}#appV2 .hbtn.on{border-color:var(--sap-blue-ring);color:var(--brand);background:var(--sap-blue-soft)}#appV2 .hbtn.on .ic{color:var(--brand)}#appV2 .hbtn .act-badge{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}#appV2 .hbtn .act-badge[hidden]{display:none}#appV2 .scrim{z-index:25;display:none;position:absolute;inset:0}#appV2 .scrim.open{display:block}#appV2 .activity-pop{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:372px;max-height:calc(100% - 84px);box-shadow:var(--shadow-modal);z-index:30;flex-direction:column;display:none;position:absolute;top:56px;right:18px;overflow:hidden}#appV2 .activity-pop.open{display:flex}#appV2 .ap-head{border-bottom:1px solid var(--line);font-family:var(--display);color:var(--ink);align-items:center;gap:8px;padding:13px 15px;font-size:13px;font-weight:700;display:flex}#appV2 .ap-head .close{margin-left:auto}#appV2 .ap-body{flex-direction:column;gap:14px;padding:14px;display:flex;overflow-y:auto}#appV2 .icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}#appV2 .icon-btn:hover{background:var(--hover-bg);color:var(--ink)}#appV2 .ctx-note{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);align-items:center;gap:7px;padding:9px 11px;font-size:11.5px;display:flex}#appV2 .composer{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}#appV2 .composer:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--sap-blue-ring)}#appV2 .composer-inner{background:0 0;border:0;border-radius:0;max-width:none;margin:0;padding:0}#appV2 .composer-inner:focus-within{background:0 0;border-color:#0000}#appV2 .composer-inner textarea{font-size:14px}#appV2 .composer{width:100%;max-width:760px;margin-inline:auto}#appV2 .composer-bot{align-items:center;gap:10px;margin-top:8px;display:flex}#appV2 .cmp-model{color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-pill,999px);cursor:pointer;background:0 0;align-items:center;gap:7px;max-width:220px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}#appV2 .cmp-model:hover{background:var(--hover-bg);color:var(--ink)}#appV2 .cmp-model .ic{color:var(--muted)}#appV2 #backendPickerLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#appV2 #modelSelect{max-width:180px}#appV2 .composer-bot .autonomy-chip{flex:none}#appV2 .autonomy-chip{padding:5px 11px}#appV2 .autonomy-chip.v2-auto-off{border-color:var(--line);color:var(--muted);background:0 0}#appV2 .autonomy-chip.v2-auto-off:hover{background:var(--hover-bg);color:var(--ink)}#appV2 .autonomy-chip.v2-auto-on{background:var(--sap-blue-soft);color:var(--sap-blue);border-color:#0000}#appV2 .autonomy-chip.v2-auto-on:hover{background:var(--sap-blue-ring)}#appV2 .autonomy-chip .autonomy-dot.ic-cpu{width:13px;height:13px;-webkit-mask:var(--ic) center/contain no-repeat;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;background:currentColor;border-radius:0;flex:none}#appV2 .hint{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}#appV2 .hint .mono{font-family:var(--mono);font-size:10.5px}#appV2 .cmp-btns{flex:none;align-items:center;gap:6px;display:flex}#appV2 .attach{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}#appV2 .attach:hover{background:var(--hover-bg);color:var(--ink)}#appV2 #btnSend.send{color:#fff;background:var(--grad-btn);width:34px;height:34px;box-shadow:var(--shadow-btn-glow);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}#appV2 #btnSend.send:disabled{background:var(--hover-bg);color:var(--muted);box-shadow:none;cursor:default}#appV2 #btnSend.send svg{width:16px;height:16px}#appV2 #btnAttach,#appV2 .composer-footer-row{display:none}#appV2 .backend-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-modal);border-radius:8px;margin-top:0;margin-bottom:6px;inset:auto auto 100% 0}#appV2 .backend-menu-item{padding:6px 10px}#appV2 .backend-menu-item:hover{background:var(--hover-bg)}#appV2 .backend-menu-item.active,#appV2 .backend-menu-item.active:hover{background:var(--sap-blue-soft)}#appV2 .backend-menu-label{font-size:12.5px}#appV2 .chat-panel{position:relative}.jump-to-latest{border:1px solid var(--line);border-radius:var(--radius-pill,999px);background:var(--surface);color:var(--ink);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-modal,0 4px 14px #14182129);z-index:5;align-items:center;gap:6px;padding:6px 13px;font-size:12px;font-weight:500;line-height:1;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.jump-to-latest:hover{background:var(--hover-bg)}.jump-to-latest .ic{width:14px;height:14px}.jump-to-latest[hidden]{display:none}#appV2 .v2-exec-mount{flex-direction:column;gap:10px;margin-top:14px;display:flex}#appV2 .v2-exec-mount .pl-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:0;overflow:hidden}#appV2 .v2-exec-mount .pl-group-header,#appV2 .v2-exec-mount .panel-group-header{padding:10px 14px;font-size:12.5px}#appV2 .v2-exec-mount .pl-group-header:hover,#appV2 .v2-exec-mount .panel-group-header:hover,#appV2 .v2-exec-mount .pl-field:hover,#appV2 .v2-exec-mount .pl-calc:hover,#appV2 .v2-exec-mount .pl-item:hover{background:var(--hover-bg)}#appV2 .v2-exec-mount .pipeline-placeholder{padding:32px 16px}#appV2 .v2-exec-mount .pipeline-stats{border-top:1px solid var(--line)}#appV2 .v2-exec-mount .v2-exec-body{flex-direction:column;gap:10px;display:flex}#appV2 .content-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 20px;display:flex}#appV2 .ch-title{font-family:var(--display);letter-spacing:-.01em;font-size:17px;font-weight:700}#appV2 .ch-sub{color:var(--muted);font-size:12px}#appV2 .ch-right{align-items:center;gap:8px;margin-left:auto;display:flex}#appV2 .field{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill,999px);color:var(--muted);align-items:center;gap:8px;min-width:220px;padding:7px 13px;font-size:13px;display:inline-flex}#appV2 .field .ic{color:var(--muted);flex:none}#appV2 .field:focus-within{border-color:var(--sap-blue-ring)}#appV2 .field input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%}#appV2 .field input::placeholder{color:var(--muted)}#appV2 button{font-family:inherit}#appV2 .btn{border-radius:var(--radius-pill);font-weight:600}#appV2 .btn.grad{color:#fff;background:var(--grad-btn);box-shadow:var(--shadow-btn-glow);border:0}#appV2 .btn.grad:hover{background:var(--grad-btn);color:#fff;filter:brightness(1.05)}#appV2 .btn.grad .ic{color:#fff}#appV2 .vpad{max-width:1000px;margin:0 auto;padding:20px 24px}#appV2 .v2-code-mount{margin-top:0}#appV2 .code-seg-wrap{margin-bottom:14px}#appV2 .code-placeholder{color:var(--muted);text-align:center;padding:32px 16px;font-size:12.5px}#appV2 .seg2{background:var(--hover-bg);border-radius:var(--radius-pill,999px);gap:2px;padding:3px;display:inline-flex}#appV2 .seg2 button{border-radius:var(--radius-pill,999px);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:5px 13px;font-size:12px;font-weight:500}#appV2 .seg2 button:hover{color:var(--ink)}#appV2 .seg2 button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #1418211f}#appV2 .flist{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card-soft);overflow:hidden}#appV2 .frow{border-top:1px solid var(--line);cursor:default;align-items:center;gap:12px;padding:12px 16px;display:flex}#appV2 .frow:first-child{border-top:0}#appV2 .frow:hover{background:var(--hover-bg)}#appV2 .fcol{font-family:var(--mono);color:var(--muted);font-size:11.5px}#appV2 .fic{background:var(--sap-blue-soft);width:30px;height:30px;color:var(--brand);border-radius:8px;flex:none;place-items:center;display:grid}#appV2 .fic .ic{width:15px;height:15px}#appV2 .fmeta{flex-direction:column;flex:1;min-width:0;display:flex}#appV2 .fname{font-family:var(--mono);color:var(--ink);font-size:13px;font-weight:500}#appV2 .fsub{color:var(--muted);margin-top:1px;font-size:11.5px}#appV2 .fright{flex:none;align-items:center;gap:10px;display:flex}#appV2 .bchip{font-family:var(--mono);border-radius:var(--radius-pill,999px);white-space:nowrap;background:var(--hover-bg);color:var(--muted);padding:2px 9px;font-size:10.5px;font-weight:500}#appV2 .bchip.calc{background:var(--sap-blue-soft);color:var(--brand)}#appV2 .bchip.event{color:var(--violet);background:#9b72cb29}[data-theme=dark] #appV2 .bchip.event{color:#c9a8e8}[data-theme=dark] #appV2 .bchip.calc{color:var(--sap-blue)}#appV2 .bchip.table{background:var(--warning-bg);color:var(--warning)}#appV2[data-cf=global] .code-list [data-bind]:not([data-bind=module]):not([data-bind=event]),#appV2[data-cf=calcs] .code-list [data-bind]:not([data-bind=calc]),#appV2[data-cf=table] .code-list [data-bind]:not([data-bind=table]),#appV2 .code-list .frow[hidden]{display:none}#appV2 .v2-promotion-mount{margin-top:0}#appV2 #promotionBody{flex:none;padding:0;overflow:visible}#appV2 .prom-empty{padding:32px 16px}#appV2 .rw-chip{background:var(--surface);border-color:var(--line);color:var(--ink)}#appV2 .rw-chip-lead{color:var(--ink)}#appV2 .hosted-ro-banner{border-bottom:1px solid var(--line);background:var(--sap-blue-soft);color:var(--brand);font-size:12px;font-family:var(--sans);align-items:center;gap:8px;padding:7px 12px;display:flex}#appV2 .hosted-ro-banner .ic{flex:none;width:14px;height:14px}#appV2 .hosted-ro-banner .ro-cta{color:var(--brand);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin-left:auto;font-weight:600;text-decoration:underline}#appV2 .pv-design{max-width:1180px;margin:0 auto}#appV2 .pv-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:12.5px}#appV2 .pv-log{max-width:1000px;margin:0 auto}#appV2 .logbody{font-family:var(--mono);background:var(--code-bg);max-height:280px;color:var(--code-fg);border:1px solid var(--code-border);border-radius:var(--radius);padding:11px 14px;font-size:11.5px;line-height:1.75;overflow-y:auto}#appV2 .logline{white-space:pre-wrap}#appV2 .logt{color:color-mix(in srgb,var(--code-fg) 55%,transparent)}#appV2 .logok{color:var(--ok)}#appV2 .logwarn{color:var(--warning)}#appV2 .logerr{color:var(--error)}#appV2 .ptabs{border-bottom:1px solid var(--line);gap:2px;display:flex}#appV2 .ptab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:11px 15px;font-size:13px;font-weight:600;display:inline-flex}#appV2 .ptab:hover{color:var(--ink)}#appV2 .ptab.on{color:var(--brand);border-bottom-color:var(--brand)}#appV2 .ptab .b{font-family:var(--mono);background:var(--hover-bg);color:var(--muted);border-radius:var(--radius-pill,999px);padding:0 6px;font-size:10px;line-height:16px}#appV2 .ptab.warn .b{background:var(--error-bg);color:var(--error)}#appV2 .ppanel{display:none}#appV2 .ppanel.on{display:block}#appV2 .prow{flex-wrap:wrap;align-items:center;gap:16px;margin:14px 0 22px;display:flex}#appV2 .tpick-wrap{min-width:236px;position:relative}#appV2 .tpick-select{z-index:2;opacity:0;cursor:pointer;border:0;margin:0;padding:0;font-size:14px;position:absolute;inset:0}#appV2 .tpick-select:disabled{cursor:not-allowed}#appV2 .tpick{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:11px;min-width:236px;padding:12px 15px;display:flex}#appV2 .tpick-wrap:hover .tpick,#appV2 .tpick-wrap:focus-within .tpick{border-color:var(--sap-blue-ring)}#appV2 .tpick .g{color:#fff;background:var(--grad);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}#appV2 .tpick .m{text-align:left;flex:1;min-width:0}#appV2 .tpick .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}#appV2 .tpick .nm{flex-wrap:wrap;align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}#appV2 .tpick-placeholder{color:var(--muted);font-weight:400}#appV2 .env2{font-family:var(--mono);border-radius:var(--radius-pill);text-transform:uppercase;padding:1px 6px;font-size:9.5px;font-weight:600}#appV2 .env2.dev{background:var(--sap-blue-soft);color:var(--brand)}#appV2 .env2.test{background:var(--warning-bg);color:var(--warning)}#appV2 .env2.prod{background:var(--error-bg);color:var(--error)}#appV2 .parrow{color:var(--muted);flex:none}#appV2 .tpick.locked{opacity:.62;cursor:not-allowed;background:var(--hover-bg);border-style:dashed}#appV2 .tpick.locked .g{background:var(--line);color:var(--muted)}#appV2 .soon{font-family:var(--mono);color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;margin-left:6px;padding:1px 5px;font-size:8.5px;font-weight:700}#appV2 .pipe-flow{flex-wrap:wrap;align-items:flex-start;gap:0;margin-top:2px;display:flex}#appV2 .stage{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:1;min-width:220px;position:relative;overflow:hidden}#appV2 .stage.gated{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}#appV2 .stage-hd{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 13px;display:flex}#appV2 .stnum{width:22px;height:22px;font-family:var(--mono);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:700;display:grid}#appV2 .stnum.done{background:var(--success-bg);color:var(--ok)}#appV2 .stnum.run{background:var(--brand);color:#fff}#appV2 .stnum.wait{background:var(--hover-bg);color:var(--muted)}#appV2 .st-meta{flex:1;min-width:0}#appV2 .stname{font-family:var(--display);font-size:13.5px;font-weight:700;line-height:1.15}#appV2 .stsub{color:var(--muted);font-size:10px;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:flex;overflow:hidden}#appV2 .stact{flex:none}#appV2 .stbtn{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 11px;font-size:11.5px;font-weight:700;display:inline-flex}#appV2 .stbtn:hover{border-color:var(--sap-blue-ring);color:var(--brand)}#appV2 .stbtn.grad{background:var(--grad-btn);color:#fff;box-shadow:var(--shadow-btn-glow);border:0}#appV2 .stbtn.grad:hover{color:#fff}#appV2 .stbtn[disabled]{opacity:.5;cursor:not-allowed}#appV2 .stbtn.grad[disabled]{opacity:1;background:var(--hover-bg);color:var(--muted);box-shadow:none;cursor:not-allowed}#appV2 .ic.spin{animation:.8s linear infinite pv-spin}@keyframes pv-spin{to{transform:rotate(360deg)}}#appV2 .stage-body{max-height:380px;overflow-y:auto}#appV2 .jrow{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:9px;padding:8px 13px;font-size:12px;display:flex}#appV2 .jrow:first-child{border-top:0}#appV2 .jrow:hover{background:var(--hover-bg)}#appV2 .jrow.fail{background:var(--error-bg)}#appV2 .jic{border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}#appV2 .jic.ok{background:var(--ok);color:#fff}#appV2 .jic.err{background:var(--error);color:#fff}#appV2 .jic.run{background:var(--brand);color:#fff}#appV2 .jic.wait{border:2px solid var(--line);color:var(--muted);background:0 0}#appV2 .jic.pend{background:color-mix(in srgb,var(--muted) 30%,transparent);animation:1.5s ease-in-out infinite pv-dotpulse}@keyframes pv-dotpulse{0%,to{opacity:1}50%{opacity:.4}}#appV2 .jnm{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11.5px;overflow:hidden}#appV2 .jkind{font-family:var(--mono);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;flex:none;padding:1px 5px;font-size:8.5px;font-weight:700}#appV2 .jkind.create{background:var(--success-bg);color:var(--ok)}#appV2 .jkind.update{background:var(--warning-bg);color:var(--warning)}#appV2 .jkind.delete{background:var(--error-bg);color:var(--error)}#appV2 .jact{width:24px;height:24px;color:var(--muted);opacity:0;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}#appV2 .jrow:hover .jact{opacity:1}#appV2 .jact:hover{background:var(--surface);color:var(--brand)}#appV2 .jact.always{opacity:1}#appV2 .jst{font-family:var(--mono);color:var(--muted);flex:none;font-size:10px}#appV2 .jst.ok{color:var(--ok)}#appV2 .jst.err{color:var(--error)}#appV2 .jst.run{color:var(--brand)}#appV2 .jdiff-src{display:none}#appV2 .stage-foot{border-top:1px solid var(--line);color:var(--muted);font-size:10.5px;font-family:var(--mono);padding:9px 13px}#appV2 .stage-foot .err{color:var(--error)}#appV2 .conn{width:30px;color:var(--muted);flex:none;justify-content:center;align-self:flex-start;align-items:center;padding-top:20px;display:flex}#appV2 .artpop-back{z-index:60;background:#14182173;place-items:center;padding:24px;display:none;position:fixed;inset:0}#appV2 .artpop-back.open{display:grid}#appV2 .artpop{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:560px;max-height:70vh;box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}#appV2 .artpop.wide{max-width:640px}#appV2 .artpop-hd{border-bottom:1px solid var(--line);font-family:var(--display);align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:700;display:flex}#appV2 .artpop-meta{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:11.5px;font-weight:400}#appV2 .artpop-scroll{max-height:62vh;padding:14px 16px;overflow:auto}#appV2 .artpop-row{align-items:center;gap:8px;padding:5px 0;font-size:12.5px;display:flex}#appV2 .artpop-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;min-width:64px;font-size:10.5px;font-weight:600}#appV2 .artpop-val{font-family:var(--mono)}#appV2 .artpop-advisory{border:1px solid var(--warning-bg);background:var(--warning-bg);color:var(--warning);border-radius:var(--radius-sm);margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.5}#v2TimelineMount{max-width:900px}#v2TimelineMount .rel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card-soft);margin-bottom:14px;padding:16px 20px;position:relative;overflow:hidden}#v2TimelineMount .rel:hover{border-color:var(--brand)}#v2TimelineMount .rel-hd{align-items:center;gap:11px;min-width:0;display:flex}#v2TimelineMount .rel-tag{font-family:var(--mono);border-radius:var(--radius-pill,999px);background:var(--hover-bg);color:var(--ink);flex:none;padding:3px 10px;font-size:12.5px;font-weight:700}#v2TimelineMount .rel-title{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15.5px;font-weight:700;overflow:hidden}#v2TimelineMount .rel-status{font-size:10px;font-weight:700;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill,999px);flex:none;margin-left:auto;padding:3px 9px}#v2TimelineMount .rel-status.ok{background:var(--success-bg);color:var(--ok)}#v2TimelineMount .rel-status.warn{background:var(--warning-bg);color:var(--warning)}#v2TimelineMount .rel-status.undo{background:var(--hover-bg);color:var(--muted)}#v2TimelineMount .rel-sub{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 14px;font-size:11px;display:flex}#v2TimelineMount .rel-sub .tenv{border:1px solid var(--line);border-radius:var(--radius-pill,999px);color:var(--ink);padding:2px 8px}#v2TimelineMount .rel-sub .tenv.tgt{border-color:var(--brand);color:var(--brand)}#v2TimelineMount .rel-sub .ic{width:12px;height:12px;color:var(--muted)}#v2TimelineMount .rel-band{border-top:1px solid color-mix(in srgb, var(--line) 65%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line) 65%, transparent);align-items:center;gap:24px;padding:14px 0;display:flex}#v2TimelineMount .rel-total{flex-direction:column;flex:none;display:flex}#v2TimelineMount .rel-total b{font-family:var(--display);font-size:27px;font-weight:800;line-height:1}#v2TimelineMount .rel-total span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:10px}#v2TimelineMount .rel-comp{flex:1;min-width:120px}#v2TimelineMount .compbar{border-radius:var(--radius-pill,999px);background:var(--hover-bg);height:8px;display:flex;overflow:hidden}#v2TimelineMount .compbar .fill{background:var(--ok);height:100%}#v2TimelineMount .compbar .fail{background:var(--error);height:100%}#v2TimelineMount .compbar.undone .fill{background:var(--muted)}#v2TimelineMount .rel-legend{flex-wrap:wrap;gap:16px;margin-top:10px;display:flex}#v2TimelineMount .rel-legend span{font-family:var(--mono);color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}#v2TimelineMount .rel-legend .ic{flex:none;width:12px;height:12px}#v2TimelineMount .rel-legend .new .ic{color:var(--ok)}#v2TimelineMount .rel-legend .upd .ic{color:var(--warning)}#v2TimelineMount .rel-legend .del .ic{color:var(--error)}#v2TimelineMount .rel-legend b{color:var(--ink);font-weight:600}#v2TimelineMount .rel-metric{text-align:right;flex-direction:column;flex:none;min-width:92px;display:flex}#v2TimelineMount .rel-metric b{font-family:var(--display);font-size:22px;font-weight:800;line-height:1}#v2TimelineMount .rel-metric b.err{color:var(--error)}#v2TimelineMount .rel-metric span{font-family:var(--mono);color:var(--muted);margin-top:5px;font-size:10.5px}#v2TimelineMount .rel-metric span .err{color:var(--error)}#v2TimelineMount .rel-foot{align-items:center;gap:12px;margin-top:14px;display:flex;position:relative}#v2TimelineMount .rel-verdict{cursor:pointer;border-radius:var(--radius-pill,999px);background:0 0;border:0;align-items:center;gap:8px;padding:5px 9px;font-size:12.5px;display:inline-flex}#v2TimelineMount .rel-verdict:hover{background:var(--hover-bg)}#v2TimelineMount .rel-verdict>.ic{flex:none;width:15px;height:15px}#v2TimelineMount .rel-verdict .vl{font-weight:600}#v2TimelineMount .rel-verdict .ic-eye{opacity:.5;flex:none;width:12px;height:12px}#v2TimelineMount .rel-verdict.pending{color:var(--muted)}#v2TimelineMount .rel-verdict.reversible{color:var(--ok)}#v2TimelineMount .rel-verdict.risky{color:var(--warning)}#v2TimelineMount .rel-verdict.not_reversible{color:var(--error)}#v2TimelineMount .rel-verdict.unknown{color:var(--muted)}#v2TimelineMount .rev-pop{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:320px;max-width:90%;padding:12px 14px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}#v2TimelineMount .rev-pop[hidden]{display:none}#v2TimelineMount .rev-pop b{margin-bottom:4px;display:block}#v2TimelineMount .rev-pop .ok2{color:var(--ok)}#v2TimelineMount .rev-pop .risk{color:var(--warning)}#v2TimelineMount .rev-pop .no{color:var(--error)}#v2TimelineMount .rel-acts{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}#v2TimelineMount .rel-acts .btn[disabled]{opacity:.45;cursor:not-allowed}#v2TimelineMount .rel-acts .btn.risk{border-color:color-mix(in srgb, var(--warning) 55%, var(--line));color:var(--warning)}#appV2 .v2-view[data-view=traces].active{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .v2-view[data-view=traces] .v2-traces-mount{flex:1;min-height:0}#appV2 .v2-view[data-view=errors].active{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .v2-view[data-view=errors] .v2-errors-mount{flex:1;min-height:0}#appV2 .v2-view[data-view=knowledge].active{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .v2-conversations-mount{margin-top:14px}#appV2 .v2-conversations-mount .fname{font-family:var(--sans)}#appV2 .v2-conversations-mount .frow{cursor:pointer}#appV2 .v2-conversations-mount .frow.active{background:var(--sap-blue-soft)}#appV2 .v2-conv-search{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:340px;color:var(--ink);font:inherit;margin-bottom:14px;padding:8px 12px;font-size:13px;display:block}#appV2 .v2-conv-search:focus{border-color:var(--sap-blue-ring);outline:none}#appV2 .v2-conv-search::placeholder{color:var(--muted)}#appV2 .v2-conv-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:12.5px}#appV2 .v2-view[data-view=knowledge] .v2-knowledge-mount{flex:1;min-height:0;overflow:auto}#appV2 .v2-templates-mount,#appV2 .v2-tables-mount{margin-top:0}#appV2 .v2-list-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:12.5px}#appV2 .tgroup{margin-bottom:14px}#appV2 .tgroup:last-child{margin-bottom:0}#appV2 .sectlabel{font-family:var(--display);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 9px;font-size:11px;font-weight:700}#appV2 .sectlabel-toggle{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:0;display:flex}#appV2 .sectlabel-toggle .ic-chevron-down{flex:none;transition:transform .15s}#appV2 .sectlabel-toggle[aria-expanded=false] .ic-chevron-down{transform:rotate(-90deg)}#appV2 .tpl-system-row .fname{color:var(--muted)}#appV2 .tag{border-radius:var(--radius-pill);font-size:10px;font-weight:600;font-family:var(--mono);padding:2px 8px}#appV2 .tag.sys{background:var(--hover-bg);color:var(--muted)}#appV2 .v2-database-mount{margin-top:0}#appV2 .v2-database-mount .frow{cursor:pointer}#appV2 .v2-database-mount .frow .ic-chevron-right{color:var(--muted);flex:none}#appV2 .v2-database-mount .fsub-pending{opacity:.55}#appV2 .v2-database-mount .db-row-custom .fic .ic{color:var(--brand)}#appV2 .v2-sync-mount{margin-top:0}#appV2 .twocol{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:1;min-height:0;display:flex;overflow:hidden}#appV2 .tcol-l{border-right:1px solid var(--line);flex:none;width:344px;overflow-y:auto}#appV2 .tcol-r{flex-direction:column;flex:1;display:flex;overflow:hidden}#appV2 .chrow{cursor:pointer;border-left:3px solid #0000;border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex}#appV2 .chrow:first-child{border-top:0}#appV2 .chrow:hover{background:var(--hover-bg)}#appV2 .chrow.sel{background:var(--sap-blue-soft);border-left-color:var(--brand)}#appV2 .chst{text-align:center;width:16px;font-family:var(--mono);flex:none;font-size:13px;font-weight:700}#appV2 .chst.new{color:var(--ok)}#appV2 .chst.mod,#appV2 .chst.del{color:var(--warning)}#appV2 .chst.con{color:var(--error)}#appV2 .chpath{min-width:0;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}#appV2 .chpath .dir{color:var(--muted)}#appV2 .chpath .nm{color:var(--ink);font-weight:500}#appV2 .cb{border:1.5px solid var(--border-strong);color:#fff;border-radius:5px;flex:none;place-items:center;width:16px;height:16px;display:grid}#appV2 .cb .ic{width:11px;height:11px}#appV2 .chrow.on .cb{background:var(--brand);border-color:var(--brand)}#appV2 .synctabs{border-bottom:1px solid var(--line);display:flex}#appV2 .synctab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:11px;font-size:12.5px;font-weight:600}#appV2 .synctab.on{color:var(--brand);border-bottom-color:var(--brand)}#appV2 .synctab .cnt{font-family:var(--mono);color:var(--muted);margin-left:5px;font-size:11px}#appV2 .v2-sync-filter-wrap{padding:10px 12px 6px}#appV2 .diffbar{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:11px;padding:11px 16px;display:flex}#appV2 .diffbar .p{font-family:var(--mono);color:var(--ink);font-size:12.5px;font-weight:600}#appV2 .diffbar .st{font-family:var(--mono);color:var(--muted);font-size:11px}#appV2 .diffbar .acts{flex:none;gap:8px;margin-left:auto;display:flex}#appV2 .udiff{font-family:var(--mono);background:var(--code-bg);color:var(--code-fg);flex:1;padding:6px 0;font-size:12px;overflow-y:auto}#appV2 .uline{grid-template-columns:30px 30px 1fr;display:grid}#appV2 .uln{color:color-mix(in srgb,var(--code-fg) 55%,transparent);-webkit-user-select:none;user-select:none;background:color-mix(in srgb,var(--code-fg) 6%,transparent);padding:1px 8px}#appV2 .uc{white-space:pre-wrap;word-break:break-all;color:var(--code-fg);padding:1px 12px}#appV2 .uline.add{background:color-mix(in srgb,var(--success) 18%,var(--code-bg))}#appV2 .uline.add .uc{color:color-mix(in srgb,var(--success) 55%,var(--code-fg) 45%)}#appV2 .uline.del{background:color-mix(in srgb,var(--error) 18%,var(--code-bg))}#appV2 .uline.del .uc{color:color-mix(in srgb,var(--error) 55%,var(--code-fg) 45%)}#appV2 .uline.hunk>div{background:color-mix(in srgb,var(--code-fg) 14%,var(--code-bg));color:color-mix(in srgb,var(--brand) 60%,var(--code-fg) 40%);padding:2px 12px}#appV2 .histrow{border-top:1px solid var(--line);cursor:pointer;padding:9px 14px}#appV2 .histrow:first-child{border-top:0}#appV2 .histrow:hover{background:var(--hover-bg)}#appV2 .histrow.nofiles{cursor:default}#appV2 .histrow.nofiles:hover{background:0 0}#appV2 .hmsg{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}#appV2 .hmeta{color:var(--muted);margin-top:2px;font-size:11px}#appV2 .hhash{font-family:var(--mono)}#appV2 .hfiles{color:var(--muted);font-size:11px;font-family:var(--mono);margin-top:6px;line-height:1.6}#appV2 .v2-view[data-view=quote].active{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .v2-view[data-view=quote] .v2-quote-mount{flex:1;min-height:0}#appV2 .v2-view[data-view=console].active{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .v2-view[data-view=console] .v2-console-mount{flex:1;min-height:0}#appV2 .v2-view[data-view=code].active,#appV2 .v2-view[data-view=database].active{flex-direction:column;height:100%;min-height:0;padding:0;display:flex}#appV2 .v2-view[data-view=code] .v2-code-mount,#appV2 .v2-view[data-view=database] .v2-database-mount{flex-direction:column;flex:1;min-height:0;display:flex}#appV2 .v2-view[data-view=audit].active{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .v2-audit-mount{flex-direction:column;flex:1;min-height:0;display:flex}#appV2 .agent-msg-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}#appV2 .agent-copy-btn{font-family:var(--sans);color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;line-height:1.4;transition:background .15s,color .15s,border-color .15s;display:inline-flex}#appV2 .agent-copy-btn:hover{background:var(--hover-bg);color:var(--ink);border-color:var(--border-strong)}#appV2 .agent-copy-btn.is-copied{color:var(--ok);border-color:var(--ok)}#appV2 .agent-icon-btn{padding:4px 6px}#appV2 .msg-actions-user{opacity:0;justify-content:flex-end;margin-top:4px;transition:opacity .12s;display:flex}#appV2 .chat-msg-user:hover .msg-actions-user,#appV2 .msg-actions-user:focus-within{opacity:1}#appV2 .msg-edit-btn{font-family:var(--sans);color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:2px 9px;font-size:11.5px;line-height:1.4;transition:background .15s,color .15s,border-color .15s;display:inline-flex}#appV2 .msg-edit-btn:hover{background:var(--hover-bg);color:var(--ink);border-color:var(--border-strong)}#appV2 .msg-edit{flex-direction:column;gap:8px;display:flex}#appV2 .msg-edit-input{box-sizing:border-box;resize:vertical;width:100%;font-family:var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.5}#appV2 .msg-edit-input:focus{border-color:var(--sap-blue,#0a6ed1);outline:none}#appV2 .msg-edit-actions{justify-content:flex-end;gap:6px;display:flex}#appV2 .v2-view[data-view=conversations]>.v2-view-title{display:none}#appV2 .v2-conversations-mount .content-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:14px;padding:0 0 14px;display:flex}#appV2 .v2-conversations-mount .ch-title{font-family:var(--display);letter-spacing:-.01em;font-size:17px;font-weight:700}#appV2 .v2-conversations-mount .ch-sub{color:var(--muted);font-size:12px}#appV2 .v2-conversations-mount .ch-right{align-items:center;gap:8px;margin-left:auto;display:flex}#appV2 .v2-conversations-mount .cv-search-field{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);color:var(--muted);align-items:center;gap:8px;min-width:220px;padding:7px 13px;font-size:13px;display:inline-flex}#appV2 .v2-conversations-mount .cv-search-field .ic{color:var(--muted);flex:none}#appV2 .v2-conversations-mount .cv-search-input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%}#appV2 .v2-conversations-mount .cv-search-input::placeholder{color:var(--muted)}#appV2 .v2-conversations-mount .fav-toggle{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:500;display:inline-flex}#appV2 .v2-conversations-mount .fav-toggle .star{color:var(--muted)}#appV2 .v2-conversations-mount .fav-toggle.on{border-color:var(--warning);color:var(--warning);background:var(--warning-bg)}#appV2 .v2-conversations-mount .fav-toggle.on .star{color:var(--warning)}#appV2 .v2-conversations-mount .fname .star{color:var(--warning);margin-left:7px;font-size:12px}#appV2 .v2-conversations-mount .fname .run-live{border-radius:var(--radius-pill,999px);background:var(--success-bg);color:var(--ok);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;align-items:center;gap:5px;margin-left:8px;padding:1px 8px 1px 7px;font-size:10px;font-weight:600;display:inline-flex}#appV2 .v2-conversations-mount .run-live-dot{background:var(--ok);border-radius:50%;flex:none;width:6px;height:6px;animation:1.6s ease-in-out infinite cvRunLivePulse}@keyframes cvRunLivePulse{0%,to{opacity:1}50%{opacity:.35}}#appV2 .v2-conversations-mount .crow{position:relative}#appV2 .v2-conversations-mount .crow .rowmenu,#appV2 .v2-conversations-mount .crow:hover .when{display:none}#appV2 .v2-conversations-mount .crow:hover .rowmenu{align-items:center;display:inline-flex}#appV2 .v2-conversations-mount .kebab{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}#appV2 .v2-conversations-mount .kebab:hover{background:var(--hover-bg);color:var(--ink)}#appV2 .v2-conversations-mount .rowmenu-pop{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-modal);min-width:180px;padding:6px;display:none;position:absolute;top:44px;right:10px}#appV2 .v2-conversations-mount .rowmenu-pop.open{display:block}#appV2 .v2-conversations-mount .rowmenu-pop.pop-up{position:fixed;right:auto}#appV2 .v2-conversations-mount .rowmenu-pop .mi{border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}#appV2 .v2-conversations-mount .rowmenu-pop .mi:hover{background:var(--hover-bg)}#appV2 .v2-conversations-mount .rowmenu-pop .mi .ic,#appV2 .v2-conversations-mount .rowmenu-pop .mi .star-mi{color:var(--muted);flex:none}#appV2 .v2-conversations-mount .rowmenu-pop .mi.danger,#appV2 .v2-conversations-mount .rowmenu-pop .mi.danger .ic{color:var(--error)}#appV2 .v2-nav-item .v2-nav-count{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10.5px}#appV2 .v2-conversations-mount .cv-default{align-items:center;gap:8px;display:inline-flex}#appV2 .v2-conversations-mount .rename-input{border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:340px;color:var(--ink);font:inherit;font-family:var(--sans);outline:none;padding:2px 7px}#appV2 .v2-conversations-mount .rename-input:focus{box-shadow:0 0 0 3px var(--sap-blue-ring)}#appV2 .v2-conversations-mount .sel-check{border:1.6px solid var(--line);color:#0000;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:none}#appV2 .v2-conversations-mount.cv-select .crow .sel-check{display:grid}#appV2 .v2-conversations-mount.cv-select .crow.checked .sel-check{background:var(--brand);border-color:var(--brand);color:#fff}#appV2 .v2-conversations-mount.cv-select .crow.checked{background:var(--sap-blue-soft)}#appV2 .v2-conversations-mount.cv-select .crow .rowmenu,#appV2 .v2-conversations-mount.cv-select .crow:hover .rowmenu{display:none}#appV2 .v2-conversations-mount.cv-select .crow:hover .when{display:inline}#appV2 .v2-conversations-mount .selbar{align-items:center;gap:12px;display:none}#appV2 .v2-conversations-mount.cv-select .selbar{display:flex}#appV2 .v2-conversations-mount.cv-select .cv-default{display:none}#appV2 .v2-conversations-mount .selbar .sel-count{color:var(--ink);font-size:13px;font-weight:600}#appV2 .v2-conversations-mount .selbar .btn.danger,#appV2 .v2-conversations-mount .selbar .btn.danger .ic{color:var(--error)}#appV2 .wb{gap:0;height:100%;min-height:0;display:flex}#appV2 .wb-rail{border-right:1px solid var(--line);flex-direction:column;flex:none;width:280px;min-height:0;display:flex}#appV2 .wb-rail-head{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 14px;display:flex}#appV2 .wb-filter{width:100%;min-width:0}#appV2 .wb-filter-input{width:100%}#appV2 .wb-list{flex:1;min-height:0;overflow:auto}#appV2 .wb-list:focus{outline:none}#appV2 .wb-row{cursor:pointer;border-top:1px solid var(--border-soft);align-items:center;gap:10px;padding:10px 14px;display:flex}#appV2 .wb-row:first-child{border-top:0}#appV2 .wb-row:hover{background:var(--hover-bg)}#appV2 .wb-row[aria-selected=true]{background:var(--sap-blue-soft);box-shadow:inset 2px 0 0 var(--sap-blue)}#appV2 .wb-row[hidden]{display:none}#appV2 .wb-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:12.5px}#appV2 .wb-detail{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}#appV2 .wb-detail-head{flex:none}#appV2 .wb-detail-head:not(:empty){border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 14px;display:flex}#appV2 .wb-detail-body{flex:1;min-height:0;overflow:auto}#appV2 .wb-detail-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:12.5px}#appV2 .wb-drawer{border-left:1px solid var(--line);flex-direction:column;flex:none;width:380px;min-height:0;display:flex}#appV2 .wb-drawer[hidden]{display:none}#appV2 .wb-drawer-head{border-bottom:1px solid var(--line);background:linear-gradient(100deg,#1a73e80f,#7b5cf00f);align-items:center;gap:8px;padding:12px 14px;display:flex}[data-theme=dark] #appV2 .wb-drawer-head{background:linear-gradient(100deg,#1a73e808,#7b5cf008)}#appV2 .wb-drawer-body{flex:1;min-height:0;padding:14px;overflow:auto}@media (width<=1200px){#appV2 .wb-drawer{z-index:30;box-shadow:var(--shadow-modal);background:var(--surface);position:absolute;top:0;bottom:0;right:0}}#appV2 .wb-code{font-family:var(--mono);padding:8px 0;font-size:12.5px}#appV2 .wb-detail-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}#appV2 .wb-detail-head .wb-name{font-family:var(--mono);font-size:14px;font-weight:600}#appV2 .wb-detail-head .wb-det-actions{gap:4px;margin-left:auto;display:flex}#appV2 .wb-drawer-body .asst-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:-14px -14px 12px;padding:12px 14px;display:flex}#appV2 .wb-drawer-body .asst-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;font-weight:600;overflow:hidden}#appV2 .wb-drawer-body .asst-continue{flex:none}#appV2 .wb-drawer-body .asst-status{color:var(--muted);margin-bottom:8px;font-size:12px}#appV2 .wb-drawer-body .asst-answer{font-size:13px;line-height:1.5}#appV2 .wb-drawer-body .asst-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}#appV2 .wb-drawer-body .asst-chip{font-size:12px}#appV2 .wb-drawer-body .asst-improve-card:not(:empty){margin-top:12px}#appV2 .wb-drawer-body .asst-diff-empty{color:var(--muted);font-size:12.5px}#appV2 .wb-diff{font-family:var(--mono);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12px;overflow:hidden}#appV2 .wb-diff>div{white-space:pre-wrap;word-break:break-word;padding:1px 8px}#appV2 .wb-diff .d-add{background:var(--success-bg);color:var(--success)}#appV2 .wb-diff .d-del{background:var(--error-bg);color:var(--error)}#appV2 .wb-diff .d-ctx{color:var(--text-secondary)}#appV2 .wb-drawer-body .asst-diff-actions{gap:8px;margin-top:8px;display:flex}#appV2 .sel-toolbar{z-index:40;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-modal);gap:6px;padding:5px;display:flex;position:fixed}#appV2 .sel-toolbar button{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background-image:linear-gradient(100deg,#1a73e8 0%,#7b5cf0 55%,#c84d8f 100%);border:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}#appV2 .fsub-pending{opacity:.55}#appV2 .db-row-custom .fic .ic{color:var(--brand)}#appV2 .wb-detail-head .fcol{color:var(--muted);white-space:nowrap;font-size:12px}#appV2 .wb-grid{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12.5px}#appV2 .wb-grid thead th{background:var(--panel);border-bottom:1px solid var(--border-strong);text-align:left;cursor:pointer;white-space:nowrap;padding:7px 12px;position:sticky;top:0}#appV2 .wb-grid td{border-bottom:1px solid var(--border-soft);white-space:nowrap;padding:6px 12px}#appV2 .wb-grid td.num{text-align:right}#appV2 .wb-schema{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:10px 16px;display:flex}#appV2 .wb-schema .chip{border-radius:var(--radius-pill);background:var(--hover-bg);cursor:pointer;padding:3px 8px;font-size:11px}#appV2 .wb-filter-chips{flex-wrap:wrap;gap:6px;padding:8px 16px;display:flex}#appV2 .wb-db-detail{flex-direction:column;height:100%;min-height:0;display:flex}#appV2 .wb-schema-head{border-bottom:1px solid var(--line);align-items:center;padding:8px 16px;display:flex}#appV2 .wb-schema-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:12px;font-weight:600;display:flex}#appV2 .wb-schema-toggle:hover{color:var(--text)}#appV2 .wb-schema[hidden]{display:none}#appV2 .wb-schema-empty{color:var(--muted);font-size:12px}#appV2 .wb-filter-chips:empty{padding:0;display:none}#appV2 .wb-filter-chip{cursor:default;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:11.5px;display:inline-flex}#appV2 .wb-filter-chip-x{width:16px;height:16px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}#appV2 .wb-filter-chip-x:hover{color:var(--error)}#appV2 .wb-grid-scroll{flex:1;min-height:0;overflow:auto}#appV2 .wb-loading .wb-grid-scroll{opacity:.5;pointer-events:none}#appV2 .wb-grid td.wb-cell-muted{color:var(--muted)}#appV2 .wb-grid-empty{color:var(--muted);text-align:center;padding:32px 16px}#appV2 .wb-th-label{cursor:pointer}#appV2 .wb-th-label:hover{color:var(--brand)}#appV2 .wb-th-filter-btn{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--muted);cursor:pointer;vertical-align:middle;background:0 0;border:0;place-items:center;margin-left:6px;display:inline-grid}#appV2 .wb-th-filter-btn:hover,#appV2 .wb-th-filter-btn.active{color:var(--brand);background:var(--sap-blue-soft)}#appV2 .wb-filter-pop{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-modal);cursor:default;flex-direction:column;gap:6px;min-width:180px;margin-top:4px;padding:10px;display:flex;position:absolute;top:100%;left:0}#appV2 .wb-filter-pop[hidden]{display:none}#appV2 .wb-filter-pop select,#appV2 .wb-filter-pop input{font-size:12px}#appV2 .wb-grid-footer{border-top:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:8px 16px;display:flex}#appV2 .wb-page-label{color:var(--muted);font-size:12px}#appV2 .wb-page-size{margin-left:auto;font-size:12px}#appV2 .wb-total-count{color:var(--muted);font-size:12px}#appV2 .wb-grid-footer .icon-btn[disabled]{opacity:.35;cursor:default;pointer-events:none}#appV2 .wb-detail-error{text-align:center;color:var(--error);padding:24px 16px;font-size:12.5px}#appV2 .wb-detail-error-actions{justify-content:center;gap:8px;margin-top:10px;display:flex}#appV2 .wb-rail-error{color:var(--error)}#appV2 .wb-rail-error-actions{justify-content:center;gap:8px;margin-top:10px;display:flex}#appV2 .v2a-group{background:var(--hover-bg);border-top:1px solid var(--line);font-family:var(--ui,inherit);align-items:center;gap:10px;padding:8px 14px;display:flex}#appV2 .v2a-g-title{font-family:"Plus Jakarta Sans",var(--ui,sans-serif);font-size:13px;font-weight:600}#appV2 .v2a-g-count{color:var(--muted);font-size:11px}#appV2 .v2a-g-roll{flex-wrap:wrap;gap:6px;display:flex}#appV2 .v2a-g-ts{font-family:var(--mono);color:var(--muted);font-size:11px}#appV2 .v2a-g-sp{margin-left:auto}#appV2 .v2a-row{align-items:center;gap:10px;padding:6px 14px;display:flex}#appV2 .v2a-row-dim{opacity:.5;text-decoration:line-through}#appV2 .v2a-row-armed{background:var(--brand-bg,#6366f114)}#appV2 .v2a-rail{justify-content:center;align-items:center;width:18px;min-width:18px;display:inline-flex;position:relative}#appV2 .v2a-rail:before{content:"";background:var(--line);width:2px;position:absolute;top:-8px;bottom:-8px}#appV2 .v2a-rail-success:before{background:var(--success)}#appV2 .v2a-rail-warning:before{background:var(--warning)}#appV2 .v2a-rail-break:before{background:repeating-linear-gradient(var(--muted) 0 3px,transparent 3px 6px)}#appV2 .v2a-rail .v2a-node{z-index:1;background:currentColor;border-radius:50%;width:8px;height:8px}#appV2 .v2a-rail-success .v2a-node{color:var(--success)}#appV2 .v2a-rail-warning .v2a-node{color:var(--warning)}#appV2 .v2a-rail.v2a-armed .v2a-node{box-shadow:0 0 0 3px var(--brand-bg,#6366f140)}#appV2 .v2a-rail.v2a-dim{opacity:.5}#appV2 .v2a-op{font-family:var(--mono);border-radius:var(--radius-sm);padding:1px 5px;font-size:11px;font-weight:600}#appV2 .v2a-op-create{color:var(--success)}#appV2 .v2a-op-update{color:var(--warning)}#appV2 .v2a-op-delete{color:var(--error)}#appV2 .v2a-target{font-family:var(--mono);font-size:12.5px;font-weight:600}#appV2 .v2a-tool,#appV2 .v2a-ts{font-family:var(--mono);color:var(--muted);font-size:11px}#appV2 .v2a-row-actions{gap:2px;margin-left:auto;display:flex}#appV2 .v2a-pinrow{color:var(--brand);align-items:center;gap:6px;padding:4px 14px 4px 30px;font-size:11.5px;display:flex}#appV2 .v2a-pin-meta{color:var(--muted)}#appV2 .v2a-actions{align-items:center;gap:6px;display:flex}#appV2 .v2a-actions select,#appV2 .v2a-actions input{padding:3px 6px;font-size:12px}#appV2 .v2a-confirm{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--brand),var(--brand-2,var(--brand)));color:#fff;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;display:flex}#appV2 .v2a-confirm .btn{color:#fff;background:#fff3;border-color:#0000}#appV2 .wb-diff .d-hunk{color:var(--muted);background:var(--hover-bg)}#appV2 .v2a-nodiff{color:var(--muted);padding:16px;font-size:12.5px}#appV2 .pladder{flex-direction:column;gap:14px;display:flex}#appV2 .pl-switcher-row:empty{display:none}#appV2 .pl-busy-line{color:var(--brand);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}#appV2 .pl-busy-line[hidden]{display:none}#appV2 .pl-busy-line .ic{animation:1.1s linear infinite pl-spin}#appV2 .pl-grid{flex-direction:column;gap:6px;display:flex}#appV2 .pl-skip-row{justify-content:center;min-height:20px;display:flex}#appV2 .pl-row{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;display:grid}#appV2 .pl-station{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-card-soft);flex-direction:column;gap:10px;padding:14px 16px;display:flex}#appV2 .pl-station-head{align-items:center;gap:8px;display:flex}#appV2 .pl-station-body{flex:1;min-width:0}#appV2 .pl-station-id{font-family:var(--mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}#appV2 .pl-station-empty{color:var(--muted);font-size:12px}#appV2 .pl-station.empty{background:var(--hover-bg);box-shadow:none;opacity:.6;border-style:dashed}#appV2 .pl-station[data-armed-role]{border-color:color-mix(in srgb, var(--brand) 35%, var(--line));background-image:linear-gradient(100deg,#1a73e80f,#7b5cf00f)}[data-theme=dark] #appV2 .pl-station[data-armed-role]{background-image:linear-gradient(100deg,#1a73e808,#7b5cf008)}#appV2 .pl-station.pulsing{animation:1.6s ease-out infinite pl-pulse}@keyframes pl-pulse{0%{box-shadow:0 0 #1a73e859}70%{box-shadow:0 0 0 10px #1a73e800}to{box-shadow:0 0 #1a73e800}}#appV2 .pl-station.locked{background:var(--warning-bg);border-color:color-mix(in srgb, var(--warning) 40%, var(--line))}#appV2 .pl-lock{color:var(--warning);margin-left:auto;display:inline-flex}#appV2 .pl-lock-reason{color:var(--warning);font-size:11px;line-height:1.4}#appV2 .pl-unlocked{color:var(--success);margin-left:auto;display:inline-flex}#appV2 .pl-seg{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;flex:none;justify-content:center;place-self:center;align-items:center;padding:0;display:inline-flex}#appV2 .pl-seg:hover{border-color:var(--sap-blue-ring);color:var(--brand)}#appV2 .pl-seg:focus-visible{outline:2px solid var(--sap-blue-ring);outline-offset:2px}#appV2 .pl-seg.off{opacity:.35;cursor:default;background:0 0;border-style:dashed}#appV2 .pl-seg.armed{background:var(--grad-btn);color:#fff;box-shadow:var(--shadow-btn-glow);border:0}#appV2 .pl-seg:not(.pl-skip).dash-flow{position:relative}#appV2 .pl-seg:not(.pl-skip).dash-flow:after{content:"";border:2px solid #0000;border-top-color:var(--brand);border-right-color:color-mix(in srgb, var(--brand) 35%, transparent);pointer-events:none;border-radius:50%;animation:.85s linear infinite pl-spin-ring;position:absolute;inset:-5px}@keyframes pl-spin-ring{to{transform:rotate(360deg)}}#appV2 .pl-seg.pl-skip{border-radius:var(--radius-pill);letter-spacing:.01em;gap:6px;width:auto;height:auto;padding:5px 14px 5px 10px;font-size:11px;font-weight:600}#appV2 .pl-seg.pl-skip.dash-flow{background-image:linear-gradient(100deg, transparent 20%, #fff6 45%, transparent 70%), var(--grad-btn);background-size:220% 100%,100% 100%;animation:1.1s ease-in-out infinite pl-sweep}@keyframes pl-sweep{0%{background-position:120% 0,0 0}to{background-position:-20% 0,0 0}}#appV2 .pl-skip-label{white-space:nowrap}#appV2 .pl-pick{position:relative}#appV2 .pl-pick-select{z-index:2;opacity:0;cursor:pointer;border:0;margin:0;padding:0;font-size:14px;position:absolute;inset:0}#appV2 .pl-pick-face{align-items:center;gap:6px;display:flex}#appV2 .pl-pick-name{font-family:var(--mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}#appV2 .pl-pick-face .ic{color:var(--muted);flex:none}#appV2 .pl-pick:hover .pl-pick-face .ic,#appV2 .pl-pick-select:focus+.pl-pick-face .ic{color:var(--brand)}#appV2 .pl-release{border-top:1px solid var(--border-soft);color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;padding-top:8px;font-size:11px;display:flex}#appV2 .pl-rel-id{font-family:var(--mono);color:var(--ink);font-weight:600}#appV2 .pl-rel-dot{color:var(--border-strong)}#appV2 .pl-rel-clean{border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success);letter-spacing:.03em;align-items:center;gap:3px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-flex}#appV2 .pl-onboarding{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;display:flex}#appV2 .pl-onboarding p{color:var(--muted);max-width:420px;margin:0;font-size:13px}#appV2 .pl-tray{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 4px 0;display:flex}#appV2 .pl-tray-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:700}#appV2 .pl-tray-list{flex-wrap:wrap;gap:6px;display:flex}#appV2 .pl-tray-chip{font-family:var(--mono);font-size:11px}#appV2 .pw-gate-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}#appV2 .pw-gate-chip{border-radius:var(--radius-pill);background:var(--hover-bg);color:var(--muted);border:1px solid #0000;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}#appV2 .pw-gate-chip.ok{background:var(--success-bg);color:var(--success)}#appV2 .pw-gate-chip.bad{background:var(--warning-bg);color:var(--warning)}#appV2 .pw-gate-reason{opacity:.9;font-weight:400}#appV2 .pw-commit-prod{border:1px solid color-mix(in srgb, var(--error) 30%, var(--line));border-left:3px solid var(--error);border-radius:var(--radius-card);background:color-mix(in srgb, var(--ink) 4%, var(--surface));flex-direction:column;gap:8px;margin-bottom:12px;padding:14px 16px;display:flex}[data-theme=dark] #appV2 .pw-commit-prod{background:color-mix(in srgb, #000 25%, var(--surface))}#appV2 .pw-commit-head{text-transform:uppercase;letter-spacing:.05em;color:var(--error);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}#appV2 .pw-commit-head .ic{color:var(--error)}#appV2 .pw-commit-note{color:var(--muted);font-size:12px}#appV2 .pw-confirm-input{box-sizing:border-box;width:100%;font-size:13px;font-family:var(--mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:8px 10px}#appV2 .pw-confirm-input:focus{outline:2px solid var(--sap-blue-ring);outline-offset:1px}#appV2 .pw-confirm-input:disabled{opacity:.6}#appV2 .pw-apply-actions{margin-bottom:10px}#appV2 .pw-apply-busy{flex-direction:column;gap:8px;display:flex}#appV2 .pw-apply-busy-line{color:var(--brand);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}#appV2 .pw-apply-busy-line .ic{animation:1.1s linear infinite pw-apply-spin}@keyframes pw-apply-spin{to{transform:rotate(360deg)}}#appV2 .pw-apply-note{color:var(--muted);font-size:11px}#appV2 .pw-result-rows{flex-direction:column;gap:2px;margin-top:4px;display:flex}#appV2 .pw-result-row{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}#appV2 .pw-result-row.pw-result-applied .ic{color:var(--success)}#appV2 .pw-result-row.pw-result-failed{background:var(--error-bg)}#appV2 .pw-result-row.pw-result-failed .ic{color:var(--error)}#appV2 .pw-result-row.pw-result-blocked .ic,#appV2 .pw-result-row.pw-result-skipped .ic{color:var(--muted)}#appV2 .pw-result-name{color:var(--ink);font-weight:600}#appV2 .pw-result-type{color:var(--muted)}#appV2 .pw-result-status{color:var(--muted);margin-left:auto}#appV2 .pw-result-dur{font-family:var(--mono);color:var(--muted);font-size:10px}#appV2 .pw-result-err{color:var(--error);flex:100%;padding-left:22px;font-size:11px}#appV2 .pw-apply-result-hd{align-items:center;gap:10px;margin-bottom:4px;display:flex}#appV2 .pw-result-pill{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;align-items:center;padding:2px 9px;font-size:10px;font-weight:700;display:inline-flex}#appV2 .pw-result-pill.ok{background:var(--success-bg);color:var(--success)}#appV2 .pw-result-pill.partial{background:var(--warning-bg);color:var(--warning)}#appV2 .pw-result-pill.empty{background:var(--hover-bg);color:var(--muted)}#appV2 .pw-result-pill.err{background:var(--error-bg);color:var(--error)}#appV2 .pw-result-runid{font-family:var(--mono);color:var(--muted);font-size:11px}#appV2 .pw-result-unknown{flex-direction:column;align-items:flex-start;gap:8px;display:flex}#appV2 .pw-result-unknown-line{color:var(--warning);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}#appV2 .pw-result-unknown-note{color:var(--muted);font-size:11px}#appV2 .pw-steps{flex-direction:column;gap:12px;display:flex}#appV2 .pw-step{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card-soft);padding:14px 16px}#appV2 .pw-step-hd{align-items:center;gap:8px;margin-bottom:8px;display:flex}#appV2 .pw-step-num{background:var(--hover-bg);width:20px;height:20px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}#appV2 .pw-step-title{color:var(--ink);font-size:13px;font-weight:700}#appV2 .pw-step-hd>.btn{margin-left:auto}#appV2 .pw-step-body{font-size:13px}#appV2 .pw-step.pw-locked{opacity:.55}#appV2 .pw-step.pw-locked .pw-step-num{border:1px dashed var(--border-strong);background:0 0}#appV2 .pw-step.pw-active .pw-step-num{background:var(--grad-btn);color:#fff}#appV2 .pw-step.pw-done .pw-step-num{background:var(--success-bg);color:var(--success)}#appV2 .pw-plan-summary{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}#appV2 .pw-plan-groups{flex-direction:column;gap:12px;display:flex}#appV2 .pw-plan-group{border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}#appV2 .pw-plan-group-hd{background:var(--hover-bg);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:700;display:flex}#appV2 .pw-plan-group-hd .ic{color:var(--muted)}#appV2 .pw-plan-insync{color:var(--muted);border-top:1px solid var(--border-soft);align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}#appV2 .pw-plan-insync .ic{color:var(--success)}#appV2 .pw-plan-row{border-top:1px solid var(--border-soft);padding:7px 10px}#appV2 .pw-plan-group>.pw-plan-row:first-of-type{border-top:0}#appV2 .pw-plan-row-hd{align-items:center;gap:7px;display:flex}#appV2 .pw-plan-row-hd .ic{color:var(--muted);flex:none}#appV2 .pw-plan-toggle{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .12s,color .12s;display:inline-flex}#appV2 .pw-plan-toggle:hover,#appV2 .pw-plan-toggle[aria-expanded=true]{color:var(--brand)}#appV2 .pw-plan-toggle-empty{flex:none;width:18px;height:18px;display:inline-block}#appV2 .pw-plan-action{color:var(--muted);flex:none;font-size:11px;font-weight:600}#appV2 .pw-plan-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}#appV2 .pw-plan-detail{color:var(--muted);margin:4px 0 0 25px;font-size:11px}#appV2 .pw-plan-diff{margin:6px 0 0 25px}#appV2 .pw-plan-actions{margin-top:12px}#appV2 .pw-plan-blocked{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);align-items:center;gap:7px;margin-bottom:10px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}#appV2 .pw-plan-blocked .ic{flex:none}#appV2 .pw-plan-busy-line{color:var(--brand);justify-content:center;align-items:center;gap:7px;font-weight:500;display:flex}#appV2 .pw-plan-busy-line .ic{animation:1.1s linear infinite pw-apply-spin}#appV2 .pw-plan-honest{color:var(--muted);margin-top:4px;font-size:11px}#appV2 .pw-apply-result{flex-direction:column;display:flex}#appV2 .pw-result-rows{margin-top:6px}#appV2 .pw-body{gap:0;min-height:0;display:flex;position:relative}#appV2 .pw-main{flex:1;min-width:0}#appV2 .wb-drawer-head .wb-drawer-close{margin-left:auto}#appV2 .pw-carry-forward-wrap{margin:4px 0 12px}#appV2 .pw-release-row-wrap{align-items:center;gap:6px;display:flex}#appV2 .pw-release-row-wrap .pw-release-row{flex:1}#appV2 .pw-ask-ai,#appV2 .pw-switch-investigate{flex:none}@media (width<=760px){#appV2 .pl-row{grid-template-columns:1fr}#appV2 .pl-row .pl-seg:not(.pl-skip){justify-self:center;transform:rotate(90deg)}}
