:root{--sap-shell:#354a5f;--sap-shell-hover:#2c3e50;--sap-brand:#0a6ed1;--sap-background:#f5f6f7;--sap-background-alt:#fafafa;--sap-tile:#fff;--sap-neutral-1:#32363a;--sap-neutral-2:#6a6d70;--sap-neutral-3:#89919a;--sap-neutral-4:#a9b4be;--sap-neutral-5:#d9d9d9;--sap-neutral-6:#eaecee;--sap-neutral-7:#f5f6f7;--sap-text-primary:#32363a;--sap-text-secondary:#6a6d70;--sap-text-tertiary:#89919a;--sap-positive:#2b7d2b;--sap-positive-bg:#f1fdf1;--sap-negative:#b00;--sap-negative-bg:#ffebeb;--sap-critical:#e9730c;--sap-critical-bg:#fff3e0;--sap-informative:#0a6ed1;--sap-border:#e5e5e5;--sap-border-light:#eaecee;--sap-link:#0a6ed1;--sap-link-hover:#085ca8}body.dark-mode{--sap-shell:#1a2634;--sap-shell-hover:#0f1924;--sap-brand:#4da3e8;--sap-background:#121212;--sap-background-alt:#1e1e1e;--sap-tile:#252525;--sap-neutral-1:#e0e0e0;--sap-neutral-2:#b0b0b0;--sap-neutral-3:#909090;--sap-neutral-4:#707070;--sap-neutral-5:#505050;--sap-neutral-6:#353535;--sap-neutral-7:#252525;--sap-text-primary:#e8e8e8;--sap-text-secondary:#b0b0b0;--sap-text-tertiary:#909090;--sap-positive:#4caf50;--sap-positive-bg:#1b2e1b;--sap-negative:#ef5350;--sap-negative-bg:#2e1b1b;--sap-critical:#ffa726;--sap-critical-bg:#2e2415;--sap-informative:#4da3e8;--sap-border:#333;--sap-border-light:#2a2a2a;--sap-link:#64b5f6;--sap-link-hover:#90caf9}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--sap-neutral-6);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--sap-neutral-4);border:2px solid var(--sap-neutral-6);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--sap-neutral-3)}::-webkit-scrollbar-corner{background:var(--sap-neutral-6)}*{scrollbar-width:thin;scrollbar-color:var(--sap-neutral-4)var(--sap-neutral-6)}body.dark-mode ::-webkit-scrollbar-track{background:var(--sap-neutral-6)}body.dark-mode ::-webkit-scrollbar-thumb{background:var(--sap-neutral-5);border-color:var(--sap-neutral-6)}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:var(--sap-neutral-4)}body.dark-mode ::-webkit-scrollbar-corner{background:var(--sap-neutral-6)}body.dark-mode *{scrollbar-color:var(--sap-neutral-5)var(--sap-neutral-6)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--sap-background);color:var(--sap-text-primary);height:100vh;font-family:"72",Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;overflow:hidden}.u-flex{display:flex}.u-flex-col{flex-direction:column;display:flex}.u-flex-center{justify-content:center;align-items:center;display:flex}.u-flex-between{justify-content:space-between;align-items:center;display:flex}.u-flex-start{align-items:flex-start;display:flex}.u-align-center{align-items:center}.u-justify-end{justify-content:flex-end}.u-flex-1{flex:1}.u-flex-wrap{flex-wrap:wrap}.u-gap-4{gap:4px}.u-gap-6{gap:6px}.u-gap-8{gap:8px}.u-gap-12{gap:12px}.u-gap-16{gap:16px}.u-gap-24{gap:24px}.u-p-8{padding:8px}.u-p-12{padding:12px}.u-p-16{padding:16px}.u-p-20{padding:20px}.u-p-24{padding:24px}.u-p-40{padding:40px}.u-px-12{padding-left:12px;padding-right:12px}.u-py-8{padding-top:8px;padding-bottom:8px}.u-pt-8{padding-top:8px}.u-mt-8{margin-top:8px}.u-mt-16{margin-top:16px}.u-mb-4{margin-bottom:4px}.u-mb-8{margin-bottom:8px}.u-mb-16{margin-bottom:16px}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-text-primary{color:var(--sap-text-primary)}.u-text-secondary{color:var(--sap-text-secondary)}.u-text-tertiary{color:var(--sap-text-tertiary)}.u-text-brand{color:var(--sap-brand)}.u-text-positive{color:var(--sap-positive)}.u-text-negative{color:var(--sap-negative)}.u-text-critical{color:var(--sap-critical)}.u-font-mono{font-family:SF Mono,Monaco,monospace}.u-font-500{font-weight:500}.u-font-600{font-weight:600}.u-text-11{font-size:11px}.u-text-12{font-size:12px}.u-text-13{font-size:13px}.u-text-14{font-size:14px}.u-text-16{font-size:16px}.u-text-20{font-size:20px}.u-w-full{width:100%}.u-w-50{width:50px}.u-w-100{width:100px}.u-w-150{width:150px}.u-min-w-50{min-width:50px}.u-bg-tile{background:var(--sap-tile)}.u-bg-neutral-6{background:var(--sap-neutral-6)}.u-bg-positive-subtle{background:var(--sap-positive-bg)}.u-bg-negative-subtle{background:var(--sap-negative-bg)}.u-bg-critical-subtle{background:var(--sap-critical-bg)}.u-border{border:1px solid var(--sap-border)}.u-border-positive{border:1px solid var(--sap-positive)}.u-rounded-4{border-radius:4px}.u-rounded-6{border-radius:6px}.u-rounded-8{border-radius:8px}.u-rounded-12{border-radius:12px}.u-cursor-pointer{cursor:pointer}.u-cursor-default{cursor:default}.u-cursor-not-allowed{cursor:not-allowed}.u-hidden{display:none}.u-block{display:block}.u-opacity-50{opacity:.5}.u-opacity-60{opacity:.6}.u-opacity-70{opacity:.7}.empty-state{text-align:center;color:var(--sap-text-secondary);padding:40px 24px;font-size:14px}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.avatar-sm{width:32px;height:32px;font-size:14px}.avatar-admin{color:#8b5cf6;background:#8b5cf633}.avatar-user{color:#3b82f6;background:#3b82f633}.badge-role{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.badge-role-admin{color:#8b5cf6;background:#8b5cf633}.badge-role-user{color:#9ca3af;background:#6b728033}.badge-you{color:#3b82f6;background:#3b82f633;border-radius:4px;padding:2px 6px;font-size:11px}.badge-sap{color:var(--sap-positive);font-size:12px}.user-card-content{justify-content:space-between;align-items:center;display:flex}.user-info{align-items:center;gap:12px;display:flex}.user-details{flex-direction:column;display:flex}.user-name{align-items:center;gap:8px;font-weight:500;display:flex}.user-meta{color:var(--sap-text-secondary);align-items:center;gap:8px;margin-top:2px;font-size:13px;display:flex}.action-group{align-items:center;gap:8px;display:flex}.action-group-sm{gap:6px}.data-th{text-align:left;border-bottom:1px solid var(--sap-border);color:var(--sap-text-secondary);padding:8px;font-weight:500}.data-td{border-bottom:1px solid var(--sap-border-light);padding:8px}.data-td-narrow{padding:4px 8px}.data-input{border:1px solid var(--sap-border);background:var(--sap-tile);width:100%;color:var(--sap-text-primary);border-radius:4px;padding:6px 8px;font-size:12px}.pattern-tag{border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-family:SF Mono,Monaco,monospace;font-size:12px;display:flex}.pattern-tag.commit{color:var(--sap-critical);background:#f9731626}.pattern-tag.read{color:var(--sap-positive);background:#22c55e26}.pattern-tag-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:14px;transition:opacity .15s}.pattern-tag-close:hover{opacity:1}.group-item{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.group-item-secondary{background:var(--sap-neutral-7)}.group-expand-btn{cursor:pointer;align-items:center;margin-right:8px;padding:4px;display:flex}.group-expand-btn svg{transition:transform .2s}.group-expand-btn.expanded svg{transform:rotate(90deg)}.group-item-name{color:var(--sap-text-primary);font-weight:500}.subgroups-list{margin-top:4px;margin-left:24px}.subgroup-item{background:var(--sap-neutral-7);margin-bottom:4px;padding:10px 16px}.subgroup-item .group-item-info{margin-left:20px}.subgroup-item .group-item-name{font-size:13px}.subgroup-item .group-item-meta{font-size:11px}.select-inline{border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-primary);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}.select-inline:disabled{cursor:not-allowed;opacity:.5}.result-messages{margin-bottom:16px}.result-messages-title{margin-bottom:8px;font-size:13px;font-weight:600}.result-message{border-radius:4px;margin-bottom:4px;padding:6px 10px;font-size:12px}.result-message-error{background:#ef44441a}.result-message-success{background:#22c55e1a}.result-message-info{background:var(--sap-neutral-6)}.result-message-type{margin-right:8px;font-weight:600}.result-pre{background:var(--sap-neutral-6);border-radius:8px;max-height:300px;margin:0;padding:12px;font-family:SF Mono,Monaco,monospace;font-size:11px;overflow:auto}.info-box-success{background:#22c55e1a;border:1px solid #22c55e33;border-radius:8px;padding:12px}.info-box-title{color:var(--sap-positive);margin-bottom:4px;font-weight:500}.info-box-list{color:var(--sap-text-secondary);margin:0;padding-left:20px;font-size:13px}.submodule-item{background:var(--sap-neutral-7);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.submodule-info{flex:1}.submodule-id{color:var(--sap-text-secondary);margin-right:8px;font-weight:500}.submodule-agents{color:var(--sap-text-tertiary);margin-top:2px;font-size:12px}.alert{border-radius:8px;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.alert-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;margin-left:auto;font-size:18px}.alert-close:hover{opacity:1}.module-id-badge{background:var(--sap-neutral-6);color:var(--sap-text-secondary);border-radius:4px;margin-right:8px;padding:2px 6px;font-size:11px;font-weight:500}.btn-delete-subtle{color:#ef4444}.btn-delete-subtle:disabled{opacity:.5;cursor:not-allowed}.card-description{color:var(--sap-text-secondary);margin-bottom:12px;font-size:13px}.card-tools-section,.card-test-section{border-top:1px solid var(--sap-neutral-6);margin-top:12px;padding-top:12px}.card-tools-section:first-child,.card-test-section:first-child{border-top:none;margin-top:0;padding-top:0}.card-tools-header{color:var(--sap-text-secondary);margin-bottom:8px;font-size:12px;font-weight:500}.card-tools-list{flex-direction:column;gap:4px;display:flex}.card-tool-item{background:var(--sap-neutral-7);border-radius:4px;align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;display:flex}.card-tool-name{color:var(--sap-text-primary);font-family:SF Mono,Monaco,monospace;font-weight:500}.card-tool-desc{color:var(--sap-text-secondary);flex:1}.card-test-result{border-top:1px solid var(--sap-neutral-6);padding-top:12px}.card-test-header{color:var(--sap-text-secondary);margin-bottom:8px;font-size:12px;font-weight:500}.card-test-items{flex-direction:column;gap:4px;display:flex}.card-test-item{background:var(--sap-neutral-7);color:var(--sap-text-primary);border-radius:4px;padding:6px 10px;font-size:12px}.card-test-item.success{color:var(--sap-positive);background:#2b7d2b1a}.card-test-item.error{color:var(--sap-negative);background:#bb00001a}.required{color:var(--sap-negative)}.state-success{color:var(--sap-positive);align-items:center;gap:6px;display:flex}.state-warning{color:var(--sap-critical);background:#f59e0b1a;border-radius:8px;margin-top:12px;padding:10px;font-size:13px}.info-box{border-radius:8px;padding:12px;font-size:13px}.info-box.positive{background:var(--sap-positive-bg);color:var(--sap-positive);border:1px solid #2b7d2b33}.info-box.negative{background:var(--sap-negative-bg);color:var(--sap-negative)}.info-box.critical{background:var(--sap-critical-bg);color:var(--sap-critical)}.card-title-row{align-items:center;gap:8px;display:flex}.card-meta-row{color:var(--sap-text-secondary);align-items:center;gap:8px;margin-top:2px;font-size:13px;display:flex}.action-row{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.form-section-title{color:var(--sap-text-primary);margin:0 0 16px;font-size:14px;font-weight:600}.form-section-title span{opacity:.7;font-weight:400}.module-item{background:var(--sap-neutral-6);border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.module-item:last-child{margin-bottom:0}.module-item-icon{background:var(--sap-tile);width:36px;height:36px;color:var(--sap-brand);border-radius:8px;justify-content:center;align-items:center;display:flex}.module-item-info{flex:1;min-width:0}.module-item-title{color:var(--sap-text-primary);align-items:center;gap:8px;font-weight:500;display:flex}.module-item-meta{color:var(--sap-text-secondary);margin-top:2px;font-size:12px}.module-item-actions{gap:8px;display:flex}.user-row{align-items:center;gap:12px;display:flex}.user-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.user-avatar.admin{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.user-avatar.user{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.tag{border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.tag.brand{color:var(--sap-brand);background:#0a6ed126}.tag.positive{background:var(--sap-positive-bg);color:var(--sap-positive)}.tag.negative{background:var(--sap-negative-bg);color:var(--sap-negative)}.tag.neutral{background:var(--sap-neutral-6);color:var(--sap-text-secondary)}.sidebar{background:var(--sap-background-alt);border-right:1px solid var(--sap-border);z-index:100;flex-direction:column;width:260px;transition:width .3s,transform .3s;display:flex;position:relative}.sidebar.collapsed{width:60px}.sidebar.collapsed .sidebar-text,.sidebar.collapsed .section-title,.sidebar.collapsed .discussion-meta{display:none}.sidebar.collapsed .sidebar-item{border-radius:8px;justify-content:center;width:36px;height:36px;margin:4px auto;padding:10px;position:relative}.sidebar.collapsed .sidebar-item:after{content:attr(title);background:var(--sap-shell);color:var(--sap-shell-text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.sidebar.collapsed .sidebar-item:hover:after{opacity:1;visibility:visible}.sidebar.collapsed .new-discussion-btn{position:relative}.sidebar.collapsed .new-discussion-btn:after{content:attr(title);background:var(--sap-shell);color:var(--sap-shell-text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.sidebar.collapsed .new-discussion-btn:hover:after{opacity:1;visibility:visible}.sidebar.collapsed .toggle-btn{position:relative}.sidebar.collapsed .toggle-btn:after{content:attr(title);background:var(--sap-shell);color:var(--sap-shell-text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.sidebar.collapsed .toggle-btn:hover:after{opacity:1;visibility:visible}.sidebar.collapsed .new-discussion-btn{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin:12px auto;padding:0}.sidebar.collapsed .new-discussion-btn svg{width:18px;height:18px}.sidebar.collapsed .new-discussion-btn span{display:none}.sidebar-header{border-bottom:1px solid var(--sap-border);align-items:center;gap:12px;padding:12px 16px;display:flex}.logo-text{color:var(--sap-text-primary);font-size:18px;font-weight:600}.sidebar.collapsed .logo-text{display:none}.toggle-btn{width:36px;height:36px;color:var(--sap-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s;display:flex}.toggle-btn:hover{background:var(--sap-neutral-6)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:12px}.new-discussion-btn{background:var(--sap-shell);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:10px;margin:16px;padding:12px 16px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.new-discussion-btn:hover{background:var(--sap-shell-hover)}.sidebar-section{padding:8px}.section-title{color:var(--sap-text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;font-size:11px;font-weight:600}.sidebar-item{cursor:pointer;color:var(--sap-text-primary);background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;text-decoration:none;transition:background .15s;display:flex}.sidebar-item:hover{background:var(--sap-neutral-6)}.sidebar-item.active{background:var(--sap-neutral-6);color:var(--sap-shell)}.sidebar-item svg{width:18px;height:18px;color:var(--sap-text-secondary);flex-shrink:0}.sidebar-item.active svg{color:var(--sap-shell)}.sidebar-text{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.discussions-list{flex:1;padding:8px;overflow-y:auto}.discussion-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:column;width:100%;margin-bottom:2px;padding:10px 12px;transition:background .15s;display:flex}.discussion-item:hover{background:var(--sap-neutral-6)}.discussion-item.active{background:var(--sap-neutral-6);border-left:3px solid var(--sap-shell)}.discussion-title{color:var(--sap-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.discussion-meta{color:var(--sap-text-tertiary);margin-top:2px;font-size:12px}.empty-discussions{color:var(--sap-text-tertiary);text-align:center;padding:16px 12px;font-size:13px}.sidebar.collapsed .discussions-list,.sidebar.collapsed .sidebar-section{display:none}.sidebar-footer{border-top:1px solid var(--sap-border);padding:8px}.sidebar-footer .sidebar-item{color:var(--sap-text-secondary)}.sidebar-footer .sidebar-item.danger:hover{background:var(--sap-negative-bg);color:var(--sap-negative)}.sidebar-footer .sidebar-item.danger:hover svg{color:var(--sap-negative)}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-scroll-wrapper{background:var(--sap-background);flex-direction:column;flex:1;display:flex;overflow:hidden auto}.chat-scroll-wrapper::-webkit-scrollbar{width:6px}.chat-scroll-wrapper::-webkit-scrollbar-track{background:0 0}.chat-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--sap-neutral-4);border-radius:3px}.chat-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:var(--sap-neutral-3)}.header{background:var(--sap-background);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.env-selector-container{position:relative}.env-selector-btn{background:var(--sap-tile);border:1px solid var(--sap-border);color:var(--sap-text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.env-selector-btn:hover{border-color:var(--sap-brand);background:var(--sap-background-alt)}.env-selector-btn .env-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.sap-status-dot{cursor:help;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-left:6px;position:relative}.sap-status-dot:after{content:attr(title);background:var(--sap-shell);color:var(--sap-shell-text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.sap-status-dot:hover:after{opacity:1;visibility:visible}.sap-status-dot.connected{background:#22c55e;box-shadow:0 0 4px #22c55e80}.sap-status-dot.connecting{background:#f59e0b;animation:1s ease-in-out infinite pulse}.sap-status-dot.disconnected{background:#ef4444}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:.9;transform:scale(1.1)}}.sap-reconnect-btn{background:var(--sap-error-bg,#fef2f2);border:1px solid var(--sap-error,#ef4444);width:28px;height:28px;color:var(--sap-error,#ef4444);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-left:6px;padding:0;transition:all .15s;display:flex}.sap-reconnect-btn:hover{background:var(--sap-error,#ef4444);color:#fff}.sap-reconnect-btn svg{flex-shrink:0}.env-dropdown{background:var(--sap-tile);border:1px solid var(--sap-border);z-index:1000;border-radius:8px;min-width:220px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.env-dropdown-item{width:100%;color:var(--sap-text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .15s;display:flex}.env-dropdown-item:hover{background:var(--sap-background)}.env-dropdown-item.active{background:#0a6ed114}.env-dropdown-item.active svg{color:var(--sap-brand)}.env-item-info{flex-direction:column;gap:2px;display:flex}.env-item-name{font-size:14px;font-weight:500}.env-item-id{color:var(--sap-text-tertiary);font-family:monospace;font-size:11px}.header-actions{align-items:center;gap:8px;display:flex}.header-btn{color:var(--sap-text-secondary);cursor:pointer;z-index:1;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:36px;min-height:36px;padding:8px 12px;font-size:14px;transition:background .2s,border-color .2s,color .2s;display:flex;position:relative}.header-btn:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.header-btn.active{color:var(--sap-brand);border-color:var(--sap-brand);background:#0a6ed11f}.header-btn:after{content:attr(title);background:var(--sap-shell);color:var(--sap-shell-text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.header-btn:hover:after{opacity:1;visibility:visible}.user-avatar{background:var(--sap-shell);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.user-avatar:hover{background:var(--sap-shell-hover);transform:scale(1.05)}.user-avatar:after{content:attr(title);background:var(--sap-shell);color:var(--sap-shell-text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 2px 8px #00000026}.user-avatar:hover:after{opacity:1;visibility:visible}.user-menu-container{position:relative}.user-dropdown{background:var(--sap-tile);border:1px solid var(--sap-border);z-index:1000;border-radius:8px;width:240px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.user-dropdown-header{background:var(--sap-background-alt);align-items:center;gap:12px;padding:16px;display:flex}.user-dropdown-avatar{background:var(--sap-shell);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:500;display:flex}.user-dropdown-info{flex-direction:column;gap:2px;display:flex}.user-dropdown-name{color:var(--sap-text-primary);font-size:14px;font-weight:600}.user-dropdown-role{color:var(--sap-text-tertiary);background:var(--sap-neutral-6);border-radius:10px;padding:2px 8px;font-size:11px}.user-dropdown-role.admin{background:var(--sap-critical-bg);color:var(--sap-critical)}.user-dropdown-divider{background:var(--sap-border);height:1px}.user-dropdown-item{width:100%;color:var(--sap-text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;font-size:14px;transition:background .15s;display:flex}.user-dropdown-item:hover{background:var(--sap-background)}.user-dropdown-item.danger{color:var(--sap-negative)}.user-dropdown-item.danger:hover{background:var(--sap-negative-bg)}.user-dropdown-item svg{color:var(--sap-text-tertiary);flex-shrink:0}.user-dropdown-item.danger svg{color:var(--sap-negative)}.chat-container{flex:1;width:100%;max-width:48rem;margin:0 auto;padding:24px 32px 48px}.message{margin-bottom:24px}.message-user{justify-content:flex-end;display:flex}.message-user .message-content-wrapper{background:var(--sap-neutral-6);color:var(--sap-text-primary);border:1px solid var(--sap-neutral-5);border-radius:16px 16px 4px;max-width:70%;padding:12px 40px 12px 16px;font-size:15px;line-height:1.5}.message-attachments{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.attachment-chip{background:var(--sap-neutral-5);color:var(--sap-text-primary);border:1px solid var(--sap-neutral-4);border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.attachment-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.attachment-badge.pdf{color:#dc2626;background:#fee2e2}.attachment-badge.excel{color:#16a34a;background:#dcfce7}.attachment-badge.image{color:#2563eb;background:#dbeafe}.attachment-badge.text,.attachment-badge.other{color:#6b7280;background:#f3f4f6}.attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:500;overflow:hidden}.attachment-size{color:var(--sap-text-secondary);font-size:11px}.message-assistant{flex-direction:column;display:flex}.message-assistant .message-content{color:var(--sap-text-primary);font-size:15px;line-height:1.6}.message-assistant .message-content p{margin-bottom:12px}.message-assistant .message-content p:last-child{margin-bottom:0}.message-assistant .message-content a{color:var(--sap-link);text-decoration:none;transition:color .2s}.message-assistant .message-content a:hover{color:var(--sap-link-hover);text-decoration:underline}.message-content-wrapper{max-width:100%;position:relative}.message-assistant .message-content-wrapper{padding-right:36px}.copy-message-btn{width:24px;height:24px;color:var(--sap-text-tertiary,#6b7280);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:opacity .2s,background .2s,color .2s;display:flex;position:absolute;bottom:4px;right:4px}.copy-message-btn:hover{opacity:1;background:var(--sap-neutral-5);color:var(--sap-text-primary)}.copy-message-btn.copied{opacity:1;color:var(--sap-success)}.message-user .copy-message-btn{color:var(--sap-text-secondary);bottom:8px;right:8px}.message-user .copy-message-btn:hover{background:var(--sap-neutral-4)}.info-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;margin:16px 0;padding:20px 24px;box-shadow:0 0 0 1px #0000000d,0 1px 2px #0000000a}.info-card-title{color:var(--sap-shell);border-bottom:1px solid var(--sap-border-light);margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:600}.info-row{border-bottom:1px solid var(--sap-border-light);padding:10px 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{width:140px;color:var(--sap-text-secondary);flex-shrink:0;font-size:14px}.info-value{color:var(--sap-text-primary);font-size:14px}.status-active{color:var(--sap-positive);background:var(--sap-positive-bg);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.status-active:before{content:"";background:var(--sap-positive);border-radius:50%;width:6px;height:6px}.thinking-container{max-width:48rem;margin:0 auto;padding:4px 0}.thinking{background:#37415180;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.thinking-icon{color:#6b7280;width:12px;height:12px;animation:1s linear infinite thinking-spin}.thinking-dots{align-items:center;gap:3px;display:flex}.thinking-dot{background:#6b7280;border-radius:50%;width:4px;height:4px;animation:1s ease-in-out infinite thinking-bounce}.thinking-dot:first-child{animation-delay:-.3s}.thinking-dot:nth-child(2){animation-delay:-.15s}.thinking-dot:nth-child(3){animation-delay:0s}@keyframes thinking-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:.8;transform:scale(1)}}@keyframes thinking-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-container{background:var(--sap-background);flex-shrink:0;padding:16px 24px 24px}.input-wrapper{background:var(--sap-tile);border:1px solid var(--sap-neutral-5);border-radius:24px;align-items:flex-end;gap:12px;max-width:48rem;margin:0 auto;padding:8px 12px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 8px #0000000f}.input-wrapper:focus-within{border-color:var(--sap-neutral-3);box-shadow:0 2px 12px #0000001a}.input-wrapper.drag-over{border-color:var(--sap-brand);background:var(--sap-brand-bg);border-style:dashed}.drop-overlay{background:var(--sap-brand-bg);color:var(--sap-brand);z-index:10;pointer-events:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex;position:absolute;inset:0}.add-file-btn{width:36px;height:36px;color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.add-file-btn:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.uploaded-file-preview{background:var(--sap-tile);border:1px solid var(--sap-brand);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;max-width:48rem;margin:0 auto 8px;padding:8px 12px;display:flex}.uploaded-file-info{color:var(--sap-text-primary);align-items:center;gap:8px;font-size:14px;display:flex}.uploaded-file-info svg{color:var(--sap-brand);flex-shrink:0}.parsed-badge{background:var(--sap-positive-bg);color:var(--sap-positive);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.remove-file-btn{width:24px;height:24px;color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.remove-file-btn:hover{background:var(--sap-critical-bg);color:var(--sap-critical)}.attached-files-preview{flex-direction:column;gap:8px;display:flex}.input-container .attached-files-preview{max-width:48rem;margin:0 auto 12px}.attached-file-item{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.attached-file-item .file-icon{font-size:16px}.attached-file-item .file-name{color:var(--sap-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.attached-file-item .file-size{color:var(--sap-text-tertiary);font-size:12px}.attached-file-item .file-status{border-radius:4px;padding:2px 6px;font-size:11px}.attached-file-item .file-status.parsing{background:var(--sap-warning-bg);color:var(--sap-warning)}.attached-file-item .file-status.ready{background:var(--sap-positive-bg);color:var(--sap-positive)}.attached-file-item .file-status.error{background:var(--sap-critical-bg);color:var(--sap-critical)}.attached-file-item .remove-file-btn{width:20px;height:20px;font-size:16px;line-height:1}.chat-input-welcome{flex-direction:column;width:100%;max-width:600px;display:flex}.chat-input-welcome .attached-files-preview{margin-bottom:16px}.chat-input-parsing{color:var(--sap-text-secondary);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.input-field{min-height:24px;max-height:72px;color:var(--sap-text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-family:inherit;font-size:16px;line-height:1.5;overflow:hidden}.input-field::placeholder{color:var(--sap-text-tertiary)}.send-btn{background:var(--sap-shell);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .1s;display:flex}.send-btn:hover{background:var(--sap-shell-hover);transform:scale(1.05)}.send-btn:disabled{background:var(--sap-neutral-4);cursor:not-allowed;transform:none}.send-btn.stop{background:var(--sap-negative)}.send-btn.stop:hover{background:#900}.debug-panel{background:var(--sap-background-alt);border-left:1px solid var(--sap-border);flex-direction:column;flex-shrink:0;width:380px;transition:width .3s,height .3s,opacity .3s;display:flex;overflow:hidden}.debug-panel.collapsed{opacity:0;pointer-events:none;border-left:none;width:0;min-width:0;padding:0;overflow:hidden}.debug-panel-header{border-bottom:1px solid var(--sap-border);background:var(--sap-tile);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.debug-panel-title{color:var(--sap-text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.debug-panel-title svg{color:var(--sap-text-secondary)}.debug-btn{width:28px;height:28px;color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.debug-btn:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.debug-tabs{border-bottom:1px solid var(--sap-border);background:var(--sap-tile);flex-shrink:0;display:flex}.debug-tab{color:var(--sap-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s}.debug-tab:hover{color:var(--sap-text-primary);background:var(--sap-neutral-6)}.debug-tab.active{color:var(--sap-shell);border-bottom-color:var(--sap-shell)}.debug-content{flex:1;padding:12px;overflow-y:auto}.debug-content::-webkit-scrollbar{width:6px}.debug-content::-webkit-scrollbar-thumb{background:var(--sap-neutral-4);border-radius:3px}.stats-row{gap:12px;margin-bottom:12px;display:flex}.stat-card{background:var(--sap-tile);border:1px solid var(--sap-border-light);text-align:center;border-radius:8px;flex:1;padding:12px}.stat-label{color:var(--sap-text-tertiary);text-transform:uppercase;margin-top:4px;font-size:11px}.graph-container{background:var(--sap-tile);border:1px solid var(--sap-border-light);border-radius:8px;margin-bottom:12px;padding:16px}.graph-title{color:var(--sap-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:600}.graph-placeholder{justify-content:center;align-items:center;height:80px;display:flex}.timeline-entry{background:var(--sap-tile);border:1px solid var(--sap-border-light);border-radius:6px;align-items:center;gap:12px;margin-bottom:4px;padding:10px 12px;font-size:13px;display:flex}.timeline-entry:hover{background:var(--sap-neutral-6)}.timeline-time{color:var(--sap-text-tertiary);white-space:nowrap;font-family:monospace;font-size:11px}.timeline-type{text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.timeline-type.rfc{color:#1565c0;background:#e3f2fd}.timeline-type.llm{color:#7b1fa2;background:#f3e5f5}.timeline-type.agent{color:#2e7d32;background:#e8f5e9}.timeline-type.error{background:var(--sap-negative-bg);color:var(--sap-negative)}.timeline-message{color:var(--sap-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.timeline-duration{color:var(--sap-text-tertiary);white-space:nowrap;font-family:monospace;font-size:11px}.debug-toggle-btn{background:var(--sap-shell);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s,background .2s;display:flex;position:fixed;bottom:100px;right:16px;box-shadow:0 2px 8px #00000026}.debug-toggle-btn:hover{background:var(--sap-shell-hover);transform:scale(1.05)}@media (max-width:1024px){.debug-panel{border-left:none;border-top:1px solid var(--sap-border);z-index:200;width:100%;height:300px;transition:height .3s,opacity .3s;position:fixed;bottom:0;left:0;right:0}.debug-panel.collapsed{opacity:0;pointer-events:none;width:100%;min-width:100%;height:0}.debug-toggle-btn{bottom:80px;right:16px}}.prose{color:var(--sap-text-primary);line-height:1.6}.prose p{margin-bottom:12px}.prose p:last-child{margin-bottom:0}.prose code{background:var(--sap-neutral-6);border-radius:4px;padding:2px 6px;font-size:14px}.prose pre{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;margin:16px 0;padding:16px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;margin:16px 0}.prose th,.prose td{border:1px solid var(--sap-border);text-align:left;padding:8px 12px}.prose th{background:var(--sap-neutral-6);font-weight:600}.prose tr:hover{background:var(--sap-neutral-7)}.settings-page{background:var(--sap-background);flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.settings-header{background:var(--sap-tile);border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.settings-header-left{align-items:center;gap:16px;display:flex}.settings-back-btn{width:36px;height:36px;color:var(--sap-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .2s;display:flex}.settings-back-btn:hover{background:var(--sap-neutral-6)}.settings-title{align-items:center;gap:12px;display:flex}.settings-title svg{color:var(--sap-brand)}.settings-title h1{color:var(--sap-text-primary);font-size:20px;font-weight:600}.settings-header-actions{align-items:center;gap:8px;display:flex}.settings-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.settings-btn.primary{background:var(--sap-brand);color:#fff}.settings-btn.primary:hover{background:#0854a0}.settings-btn.success{background:var(--sap-positive);color:#fff}.settings-btn.success:hover{background:#246924}.settings-btn.secondary{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.settings-btn.secondary:hover{background:var(--sap-neutral-5)}.settings-btn.danger{color:var(--sap-negative);background:0 0}.settings-btn.danger:hover{background:var(--sap-negative-bg)}.settings-btn.icon-only{justify-content:center;width:36px;height:36px;padding:8px}.settings-alert{border-radius:8px;align-items:center;gap:12px;margin:16px 24px 0;padding:12px 16px;font-size:14px;display:flex}.settings-alert.error{background:var(--sap-negative-bg);border:1px solid var(--sap-negative);color:var(--sap-negative)}.settings-alert .close-btn{cursor:pointer;color:inherit;background:0 0;border:none;margin-left:auto;padding:4px}.settings-tabs{border-bottom:1px solid var(--sap-border);background:var(--sap-tile);gap:0;padding:0 24px;display:flex}.settings-tab{color:var(--sap-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:color .2s;display:flex;position:relative}.settings-tab:hover{color:var(--sap-text-primary)}.settings-tab.active{color:var(--sap-brand)}.settings-tab.active:after{content:"";background:var(--sap-brand);height:2px;position:absolute;bottom:-1px;left:0;right:0}.settings-tab .badge{background:var(--sap-positive-bg);color:var(--sap-positive);border-radius:12px;padding:2px 8px;font-size:12px}.settings-group{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;margin-bottom:16px;overflow:hidden}.settings-group-header{background:var(--sap-neutral-7);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .2s;display:flex}.settings-group-header:hover{background:var(--sap-neutral-6)}.settings-group-title{align-items:center;gap:12px;display:flex}.settings-group-title .icon{font-size:20px}.settings-group-title span{color:var(--sap-text-primary);font-weight:600}.settings-group-title .count{color:var(--sap-text-tertiary);margin-left:4px;font-size:13px;font-weight:400}.settings-group-content{border-top:1px solid var(--sap-border)}.settings-group-item{border-bottom:1px solid var(--sap-border-light);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px 14px 32px;transition:background .2s;display:flex}.settings-group-item:last-child{border-bottom:none}.settings-group-item:hover{background:var(--sap-neutral-7)}.settings-group-item-info{align-items:center;gap:12px;display:flex}.settings-group-item-info .emoji{font-size:18px}.settings-group-item-details h4{color:var(--sap-text-primary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.settings-group-item-details p{color:var(--sap-text-tertiary);margin-top:2px;font-size:13px}.settings-empty{text-align:center;color:var(--sap-text-tertiary);padding:48px 24px}.settings-empty svg{opacity:.5;width:48px;height:48px;margin:0 auto 16px}.settings-empty p{margin-bottom:8px;font-size:16px}.settings-empty .subtext{margin-bottom:16px;font-size:14px}.monitoring-dashboard{flex-direction:column;gap:1rem;display:flex}.monitoring-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.monitoring-kpi-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.monitoring-kpi-card.error{border-color:var(--sap-negative);background:var(--sap-negative-bg)}.monitoring-kpi-label{color:var(--sap-text-secondary);font-size:13px;font-weight:500}.monitoring-kpi-value{color:var(--sap-text-primary);font-size:32px;font-weight:600;line-height:1}.monitoring-kpi-card.error .monitoring-kpi-value{color:var(--sap-negative)}.monitoring-kpi-details{flex-wrap:wrap;gap:.5rem;font-size:12px;display:flex}.monitoring-kpi-details .status-active{color:var(--sap-brand)}.monitoring-kpi-details .status-completed{color:var(--sap-positive)}.monitoring-kpi-details .status-error{color:var(--sap-negative)}.settings-form{flex-direction:column;gap:16px;display:flex}.settings-form-group{flex-direction:column;gap:6px;display:flex}.settings-form-group label{color:var(--sap-text-secondary);font-size:13px;font-weight:500}.settings-form-group input,.settings-form-group select,.settings-form-group textarea{border:1px solid var(--sap-border);color:var(--sap-text-primary);background:var(--sap-tile);border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.settings-form-group input:focus,.settings-form-group select:focus,.settings-form-group textarea:focus{border-color:var(--sap-brand);outline:none;box-shadow:0 0 0 3px #0a6ed11a}.settings-form-group textarea{resize:vertical;min-height:100px;font-family:monospace}.settings-form-row{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.settings-form-checkbox{align-items:center;gap:8px;display:flex}.settings-form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--sap-brand)}.settings-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background:var(--sap-tile);border-radius:12px;flex-direction:column;width:90%;max-width:600px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.settings-modal.large{max-width:800px}.settings-modal-header{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.settings-modal-header h2{color:var(--sap-text-primary);font-size:18px;font-weight:600}.settings-modal-body{flex:1;padding:20px;overflow-y:auto}.settings-modal-footer{border-top:1px solid var(--sap-border);background:var(--sap-background);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.skills-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.skill-item{background:var(--sap-neutral-7);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:12px;transition:background .2s;display:flex}.skill-item:hover{background:var(--sap-neutral-6)}.skill-item-info{align-items:center;gap:10px;display:flex}.skill-item-info .icon{color:var(--sap-critical)}.skill-item-name{color:var(--sap-text-primary);font-weight:500}.skill-item-bapi{color:var(--sap-text-tertiary);margin-left:8px;font-size:13px}.system-settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.system-settings-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;padding:20px}.system-settings-card h3{color:var(--sap-text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:600;display:flex}.system-settings-row{border-bottom:1px solid var(--sap-border-light);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.system-settings-row:last-child{border-bottom:none}.system-settings-row label{color:var(--sap-text-secondary);font-size:14px}.system-settings-row input[type=number]{border:1px solid var(--sap-border);text-align:right;border-radius:4px;width:80px;padding:6px 10px;font-size:14px}.settings-loading{background:var(--sap-background);justify-content:center;align-items:center;height:100vh;display:flex}.spinner{border:3px solid var(--sap-neutral-5);border-top-color:var(--sap-brand);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chevron{width:20px;height:20px;color:var(--sap-text-tertiary);transition:transform .2s}.chevron.expanded{transform:rotate(90deg)}.monitoring-page{background:var(--sap-background);width:100vw;min-height:100vh;color:var(--sap-text-primary);z-index:9999;position:fixed;inset:0;overflow-y:auto}.monitoring-header{border-bottom:1px solid var(--sap-border);background:var(--sap-tile)}.monitoring-header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:16px 24px;display:flex}.monitoring-header-left{align-items:center;gap:16px;display:flex}.monitoring-back-btn{color:var(--sap-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:background .2s}.monitoring-back-btn:hover{background:var(--sap-neutral-6)}.monitoring-title{color:var(--sap-text-primary);align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.monitoring-title svg{color:var(--sap-brand)}.monitoring-subtitle{color:var(--sap-text-tertiary);margin-top:2px;font-size:13px}.monitoring-refresh-btn{background:var(--sap-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.monitoring-refresh-btn:hover{background:#0854a0}.monitoring-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.monitoring-tabs{border-bottom:1px solid var(--sap-border);background:var(--sap-tile)}.monitoring-tabs-content{gap:4px;max-width:1400px;margin:0 auto;padding:0 24px;display:flex;overflow-x:auto}.monitoring-tab{color:var(--sap-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:color .2s,border-color .2s;display:flex}.monitoring-tab:hover{color:var(--sap-text-primary)}.monitoring-tab.active{color:var(--sap-brand);border-bottom-color:var(--sap-brand)}.monitoring-tab-badge{background:var(--sap-negative-bg);color:var(--sap-negative);border-radius:10px;padding:2px 8px;font-size:12px}.monitoring-content{max-width:1400px;margin:0 auto;padding:24px}.monitoring-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.monitoring-kpi-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;padding:20px}.monitoring-kpi-label{color:var(--sap-text-tertiary);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.monitoring-kpi-value{color:var(--sap-text-primary);font-size:32px;font-weight:600}.monitoring-kpi-meta{color:var(--sap-text-tertiary);margin-top:4px;font-size:12px}.monitoring-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;margin-bottom:24px;overflow:hidden}.monitoring-card-header{border-bottom:1px solid var(--sap-border);align-items:center;gap:10px;padding:16px 20px;font-size:16px;font-weight:600;display:flex}.monitoring-card-header svg{color:var(--sap-brand)}.monitoring-card-content{padding:16px 20px}.monitoring-session-item{background:var(--sap-background-alt);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;transition:background .2s;display:flex}.monitoring-session-item:hover{background:var(--sap-neutral-6)}.monitoring-session-item.active{border-left:3px solid var(--sap-brand);background:#0a6ed114}.monitoring-status-dot{border-radius:50%;width:8px;height:8px}.monitoring-status-dot.active{background:var(--sap-positive)}.monitoring-status-dot.completed{background:var(--sap-brand)}.monitoring-status-dot.error{background:var(--sap-negative)}.monitoring-table{border-collapse:collapse;width:100%}.monitoring-table th{text-align:left;color:var(--sap-text-secondary);background:var(--sap-neutral-7);border-bottom:1px solid var(--sap-border);padding:12px 16px;font-size:13px;font-weight:600}.monitoring-table th:last-child{text-align:right}.monitoring-table td{border-bottom:1px solid var(--sap-border-light);padding:12px 16px;font-size:14px}.monitoring-table td:last-child{text-align:right}.monitoring-table tr:hover{background:var(--sap-neutral-7)}.monitoring-event{border:1px solid var(--sap-border);background:var(--sap-tile);border-radius:8px;overflow:hidden}.monitoring-event.error{border-color:var(--sap-negative);border-left-width:3px}.monitoring-event-header{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .2s;display:flex}.monitoring-event-left{align-items:center;gap:10px;display:flex}.monitoring-event-type{font-size:13px;font-weight:500}.monitoring-event-type.llm{color:var(--sap-brand)}.monitoring-event-type.rfc{color:var(--sap-positive)}.monitoring-event-type.agent{color:var(--sap-critical)}.monitoring-event-type.skill{color:#8b5cf6}.monitoring-event-type.error{color:var(--sap-negative)}.monitoring-event-badge{background:var(--sap-neutral-6);color:var(--sap-text-secondary);border-radius:4px;padding:2px 8px;font-size:11px}.monitoring-event-right{color:var(--sap-text-tertiary);align-items:center;gap:16px;font-size:13px;display:flex}.monitoring-event-duration{color:var(--sap-text-secondary);font-weight:500}.monitoring-event-details{border-top:1px solid var(--sap-border);background:var(--sap-neutral-7);padding:16px}.monitoring-event-section{margin-bottom:16px}.monitoring-event-section:last-child{margin-bottom:0}.monitoring-event-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.monitoring-event-section-title{text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.monitoring-event-section-title.system{color:var(--sap-critical)}.monitoring-event-section-title.user{color:var(--sap-brand)}.monitoring-event-section-title.response{color:var(--sap-positive)}.monitoring-event-section-title.params{color:var(--sap-brand)}.monitoring-event-section-title.result{color:var(--sap-positive)}.monitoring-copy-btn{color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:background .2s}.monitoring-copy-btn:hover{background:var(--sap-neutral-5)}.monitoring-code-block{background:var(--sap-tile);border:1px solid var(--sap-border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:200px;padding:12px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.5;overflow:auto}.monitoring-progress-bar{background:var(--sap-neutral-6);border-radius:3px;height:6px;overflow:hidden}.monitoring-progress-fill{border-radius:3px;height:100%;transition:width .3s}.monitoring-progress-fill.success{background:var(--sap-positive)}.monitoring-progress-fill.warning{background:var(--sap-critical)}.monitoring-progress-fill.error{background:var(--sap-negative)}.monitoring-rate-badge{border-radius:4px;padding:4px 10px;font-size:13px;font-weight:500}.monitoring-rate-badge.success{background:var(--sap-positive-bg);color:var(--sap-positive)}.monitoring-rate-badge.warning{background:var(--sap-critical-bg);color:var(--sap-critical)}.monitoring-rate-badge.error{background:var(--sap-negative-bg);color:var(--sap-negative)}.monitoring-empty{text-align:center;padding:48px 24px}.monitoring-empty svg{width:48px;height:48px;color:var(--sap-neutral-4);margin-bottom:16px}.monitoring-empty h3{color:var(--sap-text-primary);margin-bottom:8px;font-size:16px;font-weight:600}.monitoring-empty p{color:var(--sap-text-tertiary);font-size:14px}.monitoring-loading{background:var(--sap-background);justify-content:center;align-items:center;min-height:100vh;display:flex}.monitoring-spinner{border:3px solid var(--sap-neutral-5);border-top-color:var(--sap-brand);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.monitoring-grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.monitoring-grid-3{grid-template-columns:1fr 2fr;gap:24px;display:grid}@media (max-width:1024px){.monitoring-grid-2,.monitoring-grid-3{grid-template-columns:1fr}}.monitoring-summary-row{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px;display:grid}.monitoring-summary-card{text-align:center;border-radius:8px;padding:16px}.monitoring-summary-card.llm{background:#0a6ed114;border:1px solid #0a6ed133}.monitoring-summary-card.rfc{background:var(--sap-positive-bg);border:1px solid #2b7d2b33}.monitoring-summary-card.agent{background:var(--sap-critical-bg);border:1px solid #e9730c33}.monitoring-summary-card.skill{background:#8b5cf614;border:1px solid #8b5cf633}.monitoring-summary-card.time{background:var(--sap-neutral-6);border:1px solid var(--sap-border)}.monitoring-summary-value{font-size:24px;font-weight:600}.monitoring-summary-card.llm .monitoring-summary-value{color:var(--sap-brand)}.monitoring-summary-card.rfc .monitoring-summary-value{color:var(--sap-positive)}.monitoring-summary-card.agent .monitoring-summary-value{color:var(--sap-critical)}.monitoring-summary-card.skill .monitoring-summary-value{color:#8b5cf6}.monitoring-summary-card.time .monitoring-summary-value{color:var(--sap-text-primary)}.monitoring-summary-label{color:var(--sap-text-tertiary);margin-top:4px;font-size:11px}.monitoring-legend{border-top:1px solid var(--sap-border);flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;display:flex}.monitoring-legend-item{color:var(--sap-text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.monitoring-legend-color{border-radius:3px;width:12px;height:12px}.monitoring-legend-color.llm{background:var(--sap-brand)}.monitoring-legend-color.rfc{background:var(--sap-positive)}.monitoring-legend-color.agent{background:var(--sap-critical)}.monitoring-legend-color.skill{background:#8b5cf6}.monitoring-legend-color.error{background:var(--sap-negative)}.monitoring-scroll{max-height:600px;overflow-y:auto}.monitoring-scroll::-webkit-scrollbar{width:6px}.monitoring-scroll::-webkit-scrollbar-track{background:var(--sap-neutral-6);border-radius:3px}.monitoring-scroll::-webkit-scrollbar-thumb{background:var(--sap-neutral-4);border-radius:3px}@media (max-width:768px){.monitoring-summary-row{grid-template-columns:repeat(2,1fr)}.monitoring-summary-row>:last-child{grid-column:span 2}}.login-page{z-index:9999;background:linear-gradient(135deg,#faf9f6 0%,#f0ede8 100%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:24px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;position:fixed;inset:0;overflow:auto}.login-container{width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:32px}.login-logo{color:#fff;background:linear-gradient(135deg,#354a5f 0%,#2c3e50 100%);border-radius:24px;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:24px;display:inline-flex;box-shadow:0 8px 24px #354a5f40}.login-title{color:#1a1a1a;letter-spacing:-.5px;margin:0 0 8px;font-size:32px;font-weight:700}.login-subtitle{color:#6b6b6b;margin:0;font-size:16px}.login-form{background:#fff;border:1px solid #e8e4df;border-radius:20px;padding:32px;box-shadow:0 4px 24px #0000000f}.login-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:14px 16px;font-size:14px;display:flex}.login-error svg{flex-shrink:0}.login-field{margin-bottom:24px}.login-label{color:#32363a;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.login-input-wrapper{position:relative}.login-input-icon{color:#89919a;pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.login-input{color:#1a1a1a;background:#fafafa;border:2px solid #e5e5e5;border-radius:12px;outline:none;width:100%;padding:16px 16px 16px 52px;font-size:16px;transition:all .2s}.login-input:focus{background:#fff;border-color:#354a5f;box-shadow:0 0 0 4px #354a5f1a}.login-input::placeholder{color:#a9b4be}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#354a5f 0%,#2c3e50 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:8px;padding:16px;font-size:16px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #354a5f33}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #354a5f40}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;box-shadow:none;background:#a9b4be}.login-spinner{animation:1s linear infinite login-spin}@keyframes login-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{text-align:center;color:#89919a;margin-top:28px;font-size:13px}.welcome-screen{flex:1;justify-content:center;align-items:center;margin-top:-100px;padding:24px;display:flex}.welcome-content{text-align:center;width:100%;max-width:600px}.welcome-title{color:var(--sap-text-primary);margin-bottom:32px;font-size:36px;font-weight:600}.welcome-input-wrapper{width:100%}.welcome-input-wrapper .input-wrapper{max-width:100%;margin:0}@media (max-width:768px){.welcome-title{margin-bottom:24px;font-size:28px}.welcome-screen{padding:60px 16px 16px}.sidebar{z-index:1000;width:280px;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #00000026}.sidebar:not(.collapsed){transform:translate(0)}.sidebar.collapsed{width:280px;transform:translate(-100%)}.sidebar:not(.collapsed) .sidebar-text,.sidebar:not(.collapsed) .section-title,.sidebar:not(.collapsed) .discussion-meta,.sidebar:not(.collapsed) .logo-text,.sidebar:not(.collapsed) .discussions-list,.sidebar:not(.collapsed) .sidebar-section,.sidebar:not(.collapsed) .new-discussion-btn span{display:block}.sidebar:not(.collapsed) .sidebar-item{justify-content:flex-start;width:100%;height:auto;margin:0;padding:10px 12px}.sidebar:not(.collapsed) .new-discussion-btn{justify-content:flex-start;width:auto;height:auto;margin:16px;padding:12px 16px}.mobile-menu-btn{background:var(--sap-shell);color:#fff;cursor:pointer;z-index:999;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 2px 8px #00000026}.mobile-menu-btn:hover{background:var(--sap-shell-hover)}.sidebar-overlay{z-index:999;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}.main-content{margin-left:0}.header{padding-left:70px}.chat-container{padding:16px}.input-container{padding:12px 16px 16px}.monitoring-header-content{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.monitoring-header-left{width:100%}.monitoring-refresh-btn{justify-content:center;width:100%}.monitoring-tabs-content{padding:0 12px}.monitoring-tab{padding:10px 12px;font-size:13px}.monitoring-content{padding:16px}.monitoring-grid-2{position:relative}.monitoring-grid-2>.monitoring-card:first-child{display:block}.monitoring-grid-2>.monitoring-card:last-child,.monitoring-grid-2.show-detail>.monitoring-card:first-child{display:none}.monitoring-grid-2.show-detail>.monitoring-card:last-child{display:block}.monitoring-grid-3{position:relative}.monitoring-grid-3>.monitoring-card:first-child{display:block}.monitoring-grid-3>.monitoring-card:last-child,.monitoring-grid-3.show-detail>.monitoring-card:first-child{display:none}.monitoring-grid-3.show-detail>.monitoring-card:last-child{display:block}.mobile-back-btn{background:var(--sap-neutral-6);color:var(--sap-text-primary);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:14px;font-weight:500;display:none}.mobile-back-btn:hover{background:var(--sap-neutral-5)}.show-detail .mobile-back-btn{display:flex}.monitoring-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px){.mobile-menu-btn{display:none}.sidebar-overlay,.mobile-back-btn{display:none!important}}.settings-layout{width:100%;height:100vh;display:flex}.settings-loading{color:var(--sap-text-secondary);flex:1;justify-content:center;align-items:center;display:flex}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutToLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes fadeInContent{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOutContent{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.settings-nav-panel{background:var(--sap-tile);border-right:1px solid var(--sap-border);flex-direction:column;flex-shrink:0;width:240px;min-width:240px;animation:.3s ease-out forwards slideInFromLeft;display:flex}.settings-nav-panel.closing{animation:.3s ease-in forwards slideOutToLeft}.settings-nav-header{border-bottom:1px solid var(--sap-border);align-items:center;height:56px;padding:0 20px;display:flex}.settings-nav-header h2{color:var(--sap-text-primary);margin:0;font-size:16px;font-weight:600}.settings-nav-menu{flex:1;padding:16px 12px;overflow-y:auto}.settings-nav-category{text-transform:uppercase;letter-spacing:.5px;color:var(--sap-text-tertiary);margin-top:8px;padding:16px 12px 8px;font-size:11px;font-weight:600}.settings-nav-category:first-child{margin-top:0;padding-top:0}.settings-nav-item{width:100%;color:var(--sap-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:14px;transition:all .15s;display:flex}.settings-nav-item:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.settings-nav-item.active{background:var(--sap-brand);color:#fff}.settings-nav-item svg{flex-shrink:0;width:18px;height:18px}.settings-nav-badge{background:var(--sap-negative);color:#fff;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.settings-nav-item.active .settings-nav-badge{background:#ffffff4d}.settings-nav-close-btn{cursor:pointer;color:var(--sap-text-secondary);background:0 0;border:none;border-radius:6px;margin-left:auto;padding:8px;display:none}.settings-nav-close-btn:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.settings-nav-mobile-toggle,.settings-nav-overlay{display:none}@media (max-width:768px){.settings-nav-mobile-toggle{z-index:998;background:var(--sap-shell);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 2px 8px #00000026}.settings-nav-mobile-toggle:hover{background:var(--sap-shell-hover)}.settings-nav-overlay{z-index:1000;background:#00000080;display:none;position:fixed;inset:0}.settings-nav-overlay.visible{display:block}.settings-nav-panel{z-index:1001;width:280px;transition:transform .3s;animation:none;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #00000026}.settings-nav-panel.mobile-open{transform:translate(0)}.settings-nav-close-btn{display:flex}.settings-nav-header{justify-content:space-between}.settings-main-content{margin-left:0}.settings-content-inner{padding:80px 16px 32px}}.settings-main-content{background:var(--sap-background);opacity:0;flex:1;animation:.35s ease-out .1s forwards fadeInContent;overflow-y:auto}.settings-main-content.closing{opacity:1;animation:.3s ease-in forwards fadeOutContent}.settings-content-inner{max-width:1000px;padding:32px 40px}.settings-page-header{margin-bottom:32px}.settings-page-header h1{color:var(--sap-text-primary);align-items:center;gap:12px;margin:0 0 8px;font-size:24px;font-weight:600;display:flex}.settings-page-header h1 svg{width:28px;height:28px;color:var(--sap-brand)}.settings-page-header p{color:var(--sap-text-secondary);margin:0 0 16px;font-size:14px}.settings-page-actions{gap:8px;display:flex}.settings-section{margin-bottom:32px}.settings-section-header{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px 12px;display:flex}.settings-section-header span:first-child{text-transform:uppercase;letter-spacing:.3px;color:var(--sap-text-tertiary);font-size:13px;font-weight:600}.settings-section-count{color:var(--sap-text-tertiary);font-size:12px}.settings-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;margin-bottom:8px;transition:all .15s;overflow:hidden}.settings-card:hover{box-shadow:0 1px 3px #00000014}.settings-card.has-pending{border-color:var(--sap-critical)}.settings-card-header{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.settings-card-header:hover{background:var(--sap-neutral-6)}.settings-card.expanded .settings-card-header{background:var(--sap-neutral-6);border-bottom:1px solid var(--sap-border)}.settings-card-header svg{color:var(--sap-text-tertiary);flex-shrink:0;transition:transform .2s}.settings-card.expanded .settings-card-header>svg:first-child{transform:rotate(90deg)}.settings-card-info{flex:1;min-width:0}.settings-card-title{color:var(--sap-text-primary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.settings-card-meta{color:var(--sap-text-secondary);margin-top:2px;font-size:12px}.settings-card-actions{align-items:center;gap:8px;display:flex}.settings-card-actions select{border:1px solid var(--sap-border);background:var(--sap-tile);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}.settings-card-body{background:var(--sap-background);padding:20px}.status-dot{background:var(--sap-neutral-4);border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot.warning{background:var(--sap-critical)}.badge{text-transform:uppercase;background:var(--sap-neutral-6);color:var(--sap-text-tertiary);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.badge.default{background:var(--sap-brand);color:#fff}.badge.warning{background:var(--sap-critical);color:#fff}.module-group{margin-bottom:4px}.module-header{background:var(--sap-tile);border:1px solid var(--sap-border);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.module-header:hover{background:var(--sap-neutral-6)}.module-header.expanded{background:var(--sap-neutral-6);border-bottom-color:#0000;border-radius:8px 8px 0 0}.module-header svg{color:var(--sap-text-tertiary);flex-shrink:0;transition:transform .15s}.module-header.expanded svg{transform:rotate(90deg)}.module-name{color:var(--sap-text-primary);flex:1;font-size:14px;font-weight:500}.module-count{color:var(--sap-text-tertiary);white-space:nowrap;margin-right:8px;font-size:12px}.submodule-list{border:1px solid var(--sap-border);background:var(--sap-neutral-7);border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.submodule-group{border-bottom:1px solid var(--sap-border)}.submodule-group:last-child{border-bottom:none}.submodule-header{background:var(--sap-neutral-6);border-bottom:1px solid var(--sap-border);padding:10px 16px 10px 32px}.submodule-name{color:var(--sap-text-secondary);font-size:13px;font-weight:500}.submodule-agents{padding:8px 16px 8px 32px}.submodule-agents .settings-card{margin-bottom:6px}.submodule-agents .settings-card:last-child{margin-bottom:0}.module-actions,.submodule-actions{opacity:0;gap:4px;margin-left:auto;transition:opacity .15s;display:flex}.module-header:hover .module-actions,.submodule-header:hover .submodule-actions{opacity:1}.module-actions .btn-icon,.submodule-actions .btn-icon{cursor:pointer;width:24px;height:24px;color:var(--sap-text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.module-actions .btn-icon:hover,.submodule-actions .btn-icon:hover{background:var(--sap-neutral-5);color:var(--sap-text-primary)}.module-actions .btn-icon.btn-danger:hover,.submodule-actions .btn-icon.btn-danger:hover{background:var(--sap-negative-bg);color:var(--sap-negative)}.submodule-count{color:var(--sap-text-tertiary);margin-left:8px;font-size:11px}.submodule-header{align-items:center;display:flex}.pending-skills-section{border-top:1px dashed var(--sap-critical);background:#fef9e7}.pending-skill-item{border-bottom:1px solid #e8a83833;align-items:center;gap:12px;padding:12px 16px;display:flex}.pending-skill-item:last-child{border-bottom:none}.pending-skill-icon{background:var(--sap-critical);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:600;display:flex}.pending-skill-info{flex:1;min-width:0}.pending-skill-name{color:var(--sap-text-primary);font-size:13px;font-weight:500}.pending-skill-meta{color:var(--sap-text-secondary);margin-top:2px;font-size:11px}.pending-skill-actions{gap:6px;display:flex}.skills-section{border-top:1px solid var(--sap-border);margin-top:16px;padding-top:16px}.skills-section-title{color:var(--sap-text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.skills-list{flex-direction:column;gap:8px;display:flex}.skill-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;padding:10px 12px}.skill-card-row1{align-items:center;gap:10px;margin-bottom:8px;display:flex}.skill-name{color:var(--sap-text-primary);white-space:nowrap;font-size:13px;font-weight:600}.skill-bapi{color:var(--sap-brand);white-space:nowrap;background:#0070b21a;border-radius:4px;padding:2px 8px;font-family:SF Mono,Consolas,monospace;font-size:11px}.skill-desc{color:var(--sap-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.skill-card-row2{border-top:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.skill-badges{gap:6px;display:flex}.skill-actions{gap:4px;display:flex}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title-row .section-title{color:var(--sap-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.add-skill-form{background:var(--sap-neutral-7);border-radius:8px;gap:8px;margin-bottom:12px;padding:12px;display:flex}.add-skill-form input{border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-primary);border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.form-filter-row{gap:8px;margin-bottom:16px;display:flex}.filter-btn{border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-secondary);cursor:pointer;border-radius:16px;padding:6px 12px;font-size:12px;transition:all .15s}.filter-btn:hover{border-color:var(--sap-brand);color:var(--sap-text-primary)}.filter-btn.active{background:var(--sap-brand);border-color:var(--sap-brand);color:#fff}.forms-list{flex-direction:column;gap:8px;max-height:400px;display:flex;overflow-y:auto}.form-item{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;align-items:center;gap:16px;padding:12px;display:flex}.form-item-info{flex:1;min-width:0}.form-item-name{color:var(--sap-text-primary);font-size:13px;font-weight:500}.form-item-meta{color:var(--sap-text-tertiary);margin-top:2px;font-size:11px}.form-item-status{flex-shrink:0}.form-item-actions{gap:6px;display:flex}.groups-actions{margin-bottom:16px}.group-edit-form{background:var(--sap-neutral-7);border-radius:8px;margin-bottom:16px;padding:16px}.groups-list{flex-direction:column;gap:8px;display:flex}.group-item{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.group-item-info{flex:1}.group-item-name{color:var(--sap-text-primary);font-size:14px;font-weight:500}.group-item-meta{color:var(--sap-text-tertiary);margin-top:2px;font-size:12px}.group-item-actions{gap:4px;display:flex}.agent-checkboxes{background:var(--sap-neutral-7);border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:200px;padding:12px;display:grid;overflow-y:auto}.checkbox-label{color:var(--sap-text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.empty-message{text-align:center;color:var(--sap-text-tertiary);padding:32px;font-size:14px}.modal.modal-lg{max-width:600px}.modal.modal-xl{max-width:800px}.badge.success{color:#22c55e;background:#22c55e26}.form-row{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field.full{grid-column:1/-1}.form-field label{color:var(--sap-text-secondary);font-size:12px;font-weight:500}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-primary);border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--sap-brand);outline:none;box-shadow:0 0 0 3px #0a6ed11a}.form-field input:disabled{background:var(--sap-neutral-6);color:var(--sap-text-tertiary)}.form-field textarea{resize:vertical;min-height:80px}.form-toggle{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:flex-start;padding:16px 0;display:flex}.form-toggle:last-child{border-bottom:none}.form-toggle-label{color:var(--sap-text-primary);font-size:14px;font-weight:500}.form-toggle-desc{color:var(--sap-text-secondary);margin-top:2px;font-size:13px}.toggle-switch{background:var(--sap-neutral-5);cursor:pointer;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.toggle-switch.active{background:var(--sap-positive)}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-switch.active:after{transform:translate(20px)}.form-actions{border-top:1px solid var(--sap-border);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.data-sources-section{border-top:1px solid var(--sap-border);margin-top:24px;padding-top:20px}.data-sources-section h3{color:var(--sap-text-primary);margin:0 0 16px;font-size:14px;font-weight:600}.data-sources-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.data-source-card{background:var(--sap-neutral-1);border:1px solid var(--sap-border);border-radius:8px;padding:16px;transition:all .2s}.data-source-card.active{border-color:var(--sap-highlight);background:#0076cb0d}.data-source-header{align-items:center;gap:10px;display:flex}.data-source-header svg{color:var(--sap-text-secondary);flex-shrink:0}.data-source-card.active .data-source-header svg{color:var(--sap-highlight)}.data-source-header span{color:var(--sap-text-primary);flex:1;font-size:14px;font-weight:500}.data-source-desc{color:var(--sap-text-secondary);margin:8px 0 0;font-size:12px}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;bottom:2px;left:2px;box-shadow:0 1px 3px #0003}.odata-config{border-top:1px solid var(--sap-border);margin-top:16px;padding-top:16px}.btp-config{background:var(--sap-neutral-1);border:1px solid var(--sap-border);border-radius:8px;margin-top:16px;padding:16px}.odata-sync-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.odata-sync-row .form-hint{flex-basis:100%;margin-top:4px}.sync-result{border-radius:4px;padding:4px 8px;font-size:13px}.sync-result.success{background:var(--sap-success-background);color:var(--sap-success)}.sync-result.error{background:var(--sap-error-background);color:var(--sap-error)}.sync-progress{flex:1;align-items:center;gap:12px;min-width:200px;display:flex}.sync-progress-bar{background:var(--sap-neutral-2);border-radius:4px;flex:1;height:8px;overflow:hidden}.sync-progress-fill{background:var(--sap-highlight,#0070f3);border-radius:4px;min-width:2px;height:100%;transition:width .3s}.sync-progress-text{color:var(--sap-text-secondary);white-space:nowrap;font-size:13px}.checkbox-field label{cursor:pointer;color:var(--sap-text-primary);align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--sap-highlight)}.test-result{border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.test-result.success{color:#00c853;background:#00c8531a;border:1px solid #00c8534d}.test-result.error{color:#ff5252;background:#ff52521a;border:1px solid #ff52524d}.test-result-icon{font-size:16px;font-weight:600}.test-result-message{flex:1}.test-result-time{opacity:.7;font-size:12px}.btn-primary{background:var(--sap-brand);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary:hover{background:#0854a0}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--sap-tile);color:var(--sap-text-primary);border:1px solid var(--sap-border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn-secondary:hover{background:var(--sap-neutral-6);border-color:var(--sap-neutral-4)}.btn-success{background:var(--sap-positive);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.btn-danger{color:var(--sap-negative);border:1px solid var(--sap-negative);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn-danger:hover{background:var(--sap-negative);color:#fff}.btn-icon{width:32px;height:32px;color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.btn-icon.btn-danger{border:none}.btn-icon.btn-danger:hover{color:var(--sap-negative);background:#fee2e2}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;padding:20px}.stat-label{color:var(--sap-text-secondary);margin-bottom:4px;font-size:12px}.stat-value{color:var(--sap-text-primary);font-size:28px;font-weight:600}.modal-overlay{z-index:2000;opacity:0;visibility:hidden;pointer-events:none;background:#00000080;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.modal{background:var(--sap-tile);z-index:2001;pointer-events:auto;border-radius:12px;width:100%;max-width:480px;position:relative;box-shadow:0 4px 6px -1px #0000001a}.modal-header{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-close{width:32px;height:32px;color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--sap-border);background:var(--sap-neutral-6);border-radius:0 0 12px 12px;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.code-textarea{white-space:pre-wrap;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:12px;line-height:1.5}.input-disabled{cursor:not-allowed;background:var(--sap-neutral-6)!important;color:var(--sap-text-secondary)!important}.section-title{color:var(--sap-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:600}.prompts-section,.skills-section,.bapis-section{border-top:1px solid var(--sap-border);margin-top:16px;padding-top:16px}.bapis-list{flex-wrap:wrap;gap:8px;display:flex}.bapi-tag{color:var(--sap-brand);background:#0070b21a;border:1px solid #0070b233;border-radius:4px;padding:4px 8px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:11px}.rules-section{border-top:1px solid var(--sap-border);margin-top:16px;padding-top:16px}.code-block{background:var(--sap-neutral-6);border:1px solid var(--sap-border);color:var(--sap-text-primary);border-radius:6px;margin:0;padding:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:11px;overflow-x:auto}.patterns-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pattern-tag{border-radius:4px;padding:4px 8px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:11px}.pattern-tag.commit{color:#b45309;background:#fef3c7;border:1px solid #fcd34d}.pattern-tag.read{color:#047857;background:#d1fae5;border:1px solid #6ee7b7}.btn-danger{color:var(--sap-critical)!important}.test-lab-page{background:var(--sap-background);min-height:100vh;padding:20px}.test-lab-header{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.test-lab-header h1{color:var(--sap-text-primary);font-size:24px;font-weight:600}.back-btn{border:1px solid var(--sap-border);color:var(--sap-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;transition:all .2s}.back-btn:hover{background:var(--sap-neutral-7)}.test-lab-error{border:1px solid var(--sap-critical);color:var(--sap-critical);background:#ef44441a;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;display:flex}.test-lab-error button{color:var(--sap-critical);cursor:pointer;background:0 0;border:none;font-size:18px}.test-lab-content{max-width:1200px;margin:0 auto}.test-lab-section{background:var(--sap-surface);border:1px solid var(--sap-border);border-radius:8px;margin-bottom:20px;padding:20px}.test-lab-section h3{color:var(--sap-text-primary);border-bottom:1px solid var(--sap-border);margin-bottom:16px;padding-bottom:8px;font-size:16px;font-weight:600}.bapi-selector{align-items:center;gap:12px;display:flex}.bapi-selector input{border:1px solid var(--sap-border);background:var(--sap-neutral-7);color:var(--sap-text-primary);border-radius:6px;flex:1;padding:10px 14px;font-family:SF Mono,monospace;font-size:14px}.bapi-selector select{border:1px solid var(--sap-border);background:var(--sap-neutral-7);color:var(--sap-text-primary);border-radius:6px;padding:10px 14px}.bapi-selector button{background:var(--sap-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:500}.bapi-selector button:disabled{opacity:.5;cursor:not-allowed}.parameters-form{flex-direction:column;gap:16px;display:flex}.test-lab-simple-param,.test-lab-field{flex-direction:column;gap:4px;display:flex}.test-lab-field label{color:var(--sap-text-secondary);font-size:12px;font-weight:500}.test-lab-field .field-length{color:var(--sap-text-tertiary);margin-left:4px;font-size:10px}.test-lab-field input{border:1px solid var(--sap-border);background:var(--sap-neutral-7);color:var(--sap-text-primary);border-radius:4px;padding:8px 12px;font-size:13px}.test-lab-structure-param{background:var(--sap-neutral-7);border-radius:6px;padding:12px}.test-lab-structure-param h4{color:var(--sap-text-primary);margin-bottom:12px;font-size:13px;font-weight:600}.param-type{color:var(--sap-text-tertiary);font-size:11px;font-weight:400}.test-lab-table-param{background:var(--sap-neutral-7);border-radius:6px;padding:12px}.table-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.table-header h4{color:var(--sap-text-primary);font-size:13px;font-weight:600}.add-row-btn{background:var(--sap-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:12px}.table-container{overflow-x:auto}.test-lab-table-param table{border-collapse:collapse;width:100%;font-size:12px}.test-lab-table-param th,.test-lab-table-param td{border:1px solid var(--sap-border);text-align:left;padding:6px 8px}.test-lab-table-param th{background:var(--sap-neutral-6);color:var(--sap-text-secondary);white-space:nowrap;font-weight:500}.test-lab-table-param td input{width:100%;color:var(--sap-text-primary);background:0 0;border:1px solid #0000;padding:4px 6px;font-size:12px}.test-lab-table-param td input:focus{border-color:var(--sap-accent);background:var(--sap-surface);outline:none}.delete-row-btn{border:1px solid var(--sap-critical);color:var(--sap-critical);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px}.delete-row-btn:disabled{opacity:.3;cursor:not-allowed}.execute-buttons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.execute-btn,.commit-btn,.rollback-btn,.retry-btn,.new-test-btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:500;transition:all .2s}.execute-btn{background:var(--sap-accent);color:#fff}.execute-btn.loading{opacity:.7}.commit-btn{background:var(--sap-positive);color:#fff}.rollback-btn{background:var(--sap-critical);color:#fff}.retry-btn,.new-test-btn{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.committed-badge{color:var(--sap-positive);background:#22c55e1a;border-radius:6px;padding:8px 16px;font-weight:500}.warning-text{color:var(--sap-warning);background:#eab3081a;border-radius:4px;margin-top:12px;padding:8px 12px;font-size:13px}.test-lab-results{background:var(--sap-neutral-7);border-radius:6px;padding:16px}.results-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.status-badge.success{color:var(--sap-positive);background:#22c55e1a}.status-badge.error{color:var(--sap-critical);background:#ef44441a}.return-messages{margin-bottom:12px}.return-messages h5{color:var(--sap-text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.message{border-radius:4px;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:12px;display:flex}.message.type-S{background:#22c55e1a}.message.type-E,.message.type-A{background:#ef44441a}.message.type-W{background:#eab3081a}.msg-type{width:16px;font-weight:600}.result-json{max-height:400px;overflow:auto}.result-json h5{color:var(--sap-text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.result-json pre{background:var(--sap-neutral-6);color:var(--sap-text-primary);border-radius:4px;padding:12px;font-family:SF Mono,monospace;font-size:11px;overflow-x:auto}.action-buttons{gap:12px;display:flex}.action-btn{background:var(--sap-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:500}.modal-content{background:var(--sap-surface);border-radius:8px;width:100%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto}.modal-content h3{color:var(--sap-text-primary);margin-bottom:20px;font-size:18px;font-weight:600}.modal-form{flex-direction:column;gap:16px;display:flex}.modal-form label{color:var(--sap-text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.modal-form input,.modal-form textarea,.modal-form select{border:1px solid var(--sap-border);background:var(--sap-neutral-7);color:var(--sap-text-primary);border-radius:6px;padding:10px 12px;font-size:14px}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.checkbox-label input{width:auto}.modal-buttons{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.modal-buttons button{cursor:pointer;border-radius:6px;padding:10px 20px;font-weight:500}.modal-buttons button:first-child{border:1px solid var(--sap-border);color:var(--sap-text-secondary);background:0 0}.modal-buttons button:last-child{background:var(--sap-accent);color:#fff;border:none}.modal-buttons button:disabled{opacity:.5;cursor:not-allowed}.test-lab-main{background:var(--sap-background);min-height:100vh;margin-left:260px;padding:24px 32px;transition:margin-left .3s}.sidebar.collapsed~.test-lab-main{margin-left:60px}.test-lab-container{max-width:1200px;margin:0 auto}.test-lab-main .page-header{margin-bottom:24px}.test-lab-main .page-title{align-items:center;gap:12px;display:flex}.test-lab-main .page-title h1{color:var(--sap-text-primary);margin:0;font-size:24px;font-weight:600}.test-lab-main .page-title svg{color:var(--sap-brand)}.test-lab-main .page-header p{color:var(--sap-text-secondary);margin:8px 0 0;font-size:14px}.test-lab-main .card{background:var(--sap-tile);border:1px solid var(--sap-border-light);border-radius:8px;margin-bottom:20px;overflow:hidden}.test-lab-main .card-header{border-bottom:1px solid var(--sap-border-light);background:var(--sap-background-alt);padding:16px 20px}.test-lab-main .card-header h3{color:var(--sap-text-primary);margin:0;font-size:16px;font-weight:600}.test-lab-main .card-body{padding:20px}.bapi-input-row{align-items:center;gap:12px;display:flex}.bapi-input{border:1px solid var(--sap-border);background:var(--sap-background-alt);color:var(--sap-text-primary);border-radius:6px;flex:1;padding:10px 14px;font-size:14px}.bapi-input:focus{border-color:var(--sap-brand);outline:none;box-shadow:0 0 0 2px #0a6ed11a}.env-select{border:1px solid var(--sap-border);background:var(--sap-background-alt);color:var(--sap-text-primary);border-radius:6px;min-width:120px;padding:10px 14px;font-size:14px}.parameters-grid{flex-direction:column;gap:20px;display:flex}.parameter-table{border:1px solid var(--sap-border-light);border-radius:6px;overflow:hidden}.parameter-table-header{background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border-light);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.parameter-table-header h4{color:var(--sap-text-primary);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--sap-text-secondary);background:var(--sap-background);border-bottom:1px solid var(--sap-border-light);white-space:nowrap;padding:10px 12px;font-weight:600}.data-table td{border-bottom:1px solid var(--sap-border-light);padding:8px 12px}.data-table td input{border:1px solid var(--sap-border);background:var(--sap-tile);border-radius:4px;width:100%;min-width:80px;padding:6px 8px;font-size:13px}.data-table td input:focus{border-color:var(--sap-brand);outline:none}.data-table .row-num{text-align:center;width:40px;color:var(--sap-text-tertiary);font-weight:500}.parameter-structure{border:1px solid var(--sap-border-light);border-radius:6px;padding:16px}.parameter-structure h4{align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:600;display:flex}.structure-fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.parameter-simple{max-width:400px}.execute-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-lg{padding:12px 24px!important;font-size:15px!important}.btn-success{background:var(--sap-positive)!important;color:#fff!important}.btn-success:hover{background:#236b23!important}.btn-danger{background:var(--sap-negative)!important;color:#fff!important}.btn-danger:hover{background:#900!important}.committed-label{color:var(--sap-positive);background:var(--sap-positive-bg);border-radius:6px;padding:12px 24px;font-size:15px;font-weight:600}.results-panel{border-radius:6px;overflow:hidden}.results-panel.success{border:1px solid var(--sap-positive)}.results-panel.error{border:1px solid var(--sap-negative)}.results-header{background:var(--sap-background-alt);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.status-badge{border-radius:4px;padding:4px 12px;font-size:13px;font-weight:600}.status-badge.success{background:var(--sap-positive-bg);color:var(--sap-positive)}.status-badge.error{background:var(--sap-negative-bg);color:var(--sap-negative)}.execution-time{color:var(--sap-text-secondary);font-size:13px}.return-messages{border-bottom:1px solid var(--sap-border-light);padding:12px 16px}.return-messages h5{color:var(--sap-text-secondary);margin:0 0 8px;font-size:13px}.return-messages .message{gap:8px;padding:6px 0;font-size:13px;display:flex}.return-messages .msg-type{min-width:20px;font-weight:600}.return-messages .message.type-S .msg-type{color:var(--sap-positive)}.return-messages .message.type-E .msg-type{color:var(--sap-negative)}.return-messages .message.type-W .msg-type{color:var(--sap-critical)}.return-messages .message.type-I .msg-type{color:var(--sap-informative)}.result-json{padding:16px}.result-json h5{color:var(--sap-text-secondary);margin:0 0 8px;font-size:13px}.result-json pre{background:var(--sap-background);border-radius:4px;max-height:400px;margin:0;padding:12px;font-size:12px;overflow-x:auto}.action-buttons{flex-wrap:wrap;gap:12px;display:flex}.action-buttons button.active{background:var(--sap-brand)!important}.inline-form{border:1px solid var(--sap-border);background:var(--sap-background-alt);border-radius:8px;margin-top:20px;overflow:hidden}.inline-form-header{border-bottom:1px solid var(--sap-border);background:var(--sap-tile);padding:12px 16px}.inline-form-header h4{margin:0;font-size:14px;font-weight:600}.inline-form-body{flex-direction:column;gap:16px;padding:16px;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.inline-form-actions{border-top:1px solid var(--sap-border);justify-content:flex-end;gap:12px;margin-top:8px;padding-top:8px;display:flex}.label-with-action{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.label-with-action label{margin-bottom:0}.btn-sm{padding:4px 10px!important;font-size:12px!important}.btn-ai{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:4px;transition:opacity .2s}.btn-ai:hover{opacity:.9}.btn-ai:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.alert-error{background:var(--sap-negative-bg);color:var(--sap-negative);border:1px solid var(--sap-negative)}.alert-warning{background:var(--sap-critical-bg);color:#8a5a00;border:1px solid var(--sap-critical)}.alert-close{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:20px;line-height:1}@media (max-width:768px){.test-lab-main{margin-left:0;padding:16px}.bapi-input-row{flex-direction:column}.bapi-input,.env-select{width:100%}.execute-actions{flex-direction:column}.execute-actions button{width:100%}}.settings-with-sub-panel{flex:1;min-height:0;margin:-32px -40px;display:flex}.settings-sub-panel{background:var(--sap-tile);border-right:1px solid var(--sap-border);flex-direction:column;flex-shrink:0;width:220px;min-width:220px;display:flex}.settings-sub-panel-header{border-bottom:1px solid var(--sap-border);align-items:center;gap:10px;height:56px;padding:0 16px;display:flex}.settings-sub-panel-header h3{color:var(--sap-text-primary);margin:0;font-size:14px;font-weight:600}.settings-sub-panel-header svg{width:18px;height:18px;color:var(--sap-text-secondary)}.settings-sub-nav{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex;overflow-y:auto}.settings-sub-content{background:var(--sap-background);flex:1;padding:32px 40px;overflow-y:auto}@media (max-width:900px){.settings-with-sub-panel{flex-direction:column;margin:-24px}.settings-sub-panel{border-right:none;border-bottom:1px solid var(--sap-border);width:100%;min-width:100%}.settings-sub-panel-header{height:48px}.settings-sub-nav{flex-flow:wrap;gap:8px;padding:12px}.settings-sub-nav .settings-nav-item{flex:none;width:auto}.settings-sub-content{padding:24px}}.nav-badge{background:var(--sap-neutral-6);color:var(--sap-text-secondary);border-radius:10px;margin-left:auto;padding:2px 6px;font-size:11px}.nav-badge.error{background:var(--sap-negative-bg);color:var(--sap-negative)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.completed{background:var(--sap-positive)}.status-dot.active{background:var(--sap-warning)}.status-dot.error{background:var(--sap-negative)}.monitoring-timeline{flex-direction:column;gap:8px;display:flex}.monitoring-event{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;overflow:hidden}.monitoring-event.error{border-left:3px solid var(--sap-negative)}.monitoring-event-header{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.monitoring-event-header:hover{background:var(--sap-neutral-6)}.event-type-badge{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.event-type-badge.llm{background:var(--sap-brand-bg);color:var(--sap-brand)}.event-type-badge.rfc{background:var(--sap-positive-bg);color:var(--sap-positive)}.event-type-badge.agent_action{background:var(--sap-warning-bg);color:var(--sap-warning)}.event-type-badge.skill_update{background:var(--sap-info-bg);color:var(--sap-info)}.event-agent-badge{background:var(--sap-neutral-6);color:var(--sap-text-tertiary);border-radius:4px;padding:2px 6px;font-size:11px}.stat-meta{color:var(--sap-text-tertiary);margin-top:4px;font-size:12px}.database-page{background:var(--sap-background);min-height:100vh;color:var(--sap-text-primary);display:flex}.db-nav-panel,.db-sub-panel{background:var(--sap-tile);border-right:1px solid var(--sap-border);flex-direction:column;width:220px;min-width:220px;display:flex}.db-nav-header,.db-sub-header{border-bottom:1px solid var(--sap-border);align-items:center;gap:12px;padding:16px;display:flex}.db-nav-header h2,.db-sub-header h3{align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.db-back-btn{cursor:pointer;color:var(--sap-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.db-back-btn:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.db-nav-menu,.db-sub-menu{flex:1;padding:8px;overflow-y:auto}.db-nav-item,.db-sub-item{cursor:pointer;width:100%;color:var(--sap-text-secondary);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:all .15s;display:flex}.db-nav-item:hover,.db-sub-item:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.db-nav-item.active,.db-sub-item.active{background:var(--sap-brand);color:#fff}.db-nav-item svg{flex-shrink:0}.db-nav-item span{flex:1}.db-content{background:var(--sap-background);flex:1;padding:24px;overflow-y:auto}.db-content-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.db-content-header h1{margin:0;font-size:20px;font-weight:600}.db-count{color:var(--sap-text-secondary);background:var(--sap-neutral-6);border-radius:12px;padding:4px 10px;font-size:13px}.db-refresh-btn{background:var(--sap-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:opacity .15s;display:flex}.db-refresh-btn:hover{opacity:.9}.db-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.db-overview{width:100%}.db-schema-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px;display:grid}.db-schema-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;padding:20px}.db-schema-name{color:var(--sap-brand);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:600}.db-schema-stats{color:var(--sap-text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.db-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:32px;display:grid}.db-metric{background:var(--sap-tile);border:1px solid var(--sap-border);text-align:center;border-radius:10px;padding:16px}.db-metric-value{color:var(--sap-text-primary);font-size:28px;font-weight:700}.db-metric-label{color:var(--sap-text-secondary);margin-top:4px;font-size:12px}.db-version{color:var(--sap-text-secondary);background:var(--sap-neutral-6);border-radius:8px;margin-bottom:24px;padding:12px;font-size:13px}.db-recent{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;padding:20px}.db-recent h3{margin:0 0 16px;font-size:14px;font-weight:600}.db-recent-list{flex-direction:column;gap:8px;display:flex}.db-recent-item{background:var(--sap-neutral-6);border-radius:8px;grid-template-columns:80px 1fr 80px 60px;gap:12px;padding:10px;font-size:12px;display:grid}.db-recent-type{color:var(--sap-brand);font-weight:500}.db-recent-model{color:var(--sap-text-secondary);font-family:monospace}.db-recent-time,.db-recent-latency{color:var(--sap-text-secondary);text-align:right}.db-table-view{width:100%}.db-table{border-collapse:collapse;background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;width:100%;overflow:hidden}.db-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--sap-text-secondary);background:var(--sap-neutral-6);border-bottom:1px solid var(--sap-border);padding:12px 16px;font-size:11px;font-weight:600}.db-table td{border-bottom:1px solid var(--sap-border);padding:12px 16px;font-size:13px}.db-table tbody tr:last-child td{border-bottom:none}.db-table tbody tr:hover{background:var(--sap-neutral-6)}.db-clickable{cursor:pointer}.db-td-mono{font-family:SF Mono,Monaco,monospace;font-size:12px}.db-td-error{color:var(--sap-negative);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.db-badge{background:var(--sap-neutral-6);color:var(--sap-text-secondary);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.db-status{border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.db-status.active{background:var(--sap-positive-bg);color:var(--sap-positive)}.db-status.inactive,.db-status.pending{background:var(--sap-neutral-6);color:var(--sap-text-secondary)}.db-status.error{background:var(--sap-negative-bg);color:var(--sap-negative)}.db-pagination{align-items:center;gap:12px;display:flex}.db-pagination button{background:var(--sap-neutral-6);border:1px solid var(--sap-border);cursor:pointer;color:var(--sap-text-primary);border-radius:6px;padding:6px 12px;font-size:12px}.db-pagination button:hover:not(:disabled){background:var(--sap-tile)}.db-pagination button:disabled{opacity:.5;cursor:not-allowed}.db-pagination span{color:var(--sap-text-secondary);font-size:12px}.db-action-btn{background:var(--sap-neutral-6);border:1px solid var(--sap-border);cursor:pointer;color:var(--sap-text-secondary);border-radius:4px;padding:4px 10px;font-size:11px}.db-action-btn:hover{background:var(--sap-negative);border-color:var(--sap-negative);color:#fff}.db-domain-detail{padding-top:8px}.db-back-link{cursor:pointer;color:var(--sap-brand);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:8px 12px;font-size:13px;display:inline-flex}.db-back-link:hover{text-decoration:underline}.db-domain-detail h2{margin:0 0 16px;font-family:monospace;font-size:18px;font-weight:600}.db-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.db-modal{background:var(--sap-tile);border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:80vh;display:flex;overflow:hidden}.db-modal-header{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.db-modal-header h3{margin:0;font-size:16px;font-weight:600}.db-modal-header button{cursor:pointer;color:var(--sap-text-secondary);background:0 0;border:none;font-size:24px;line-height:1}.db-modal-body{padding:20px;overflow-y:auto}.db-detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px;font-size:13px;display:grid}.db-detail-section{margin-bottom:20px}.db-detail-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--sap-text-secondary);margin:0 0 8px;font-size:12px;font-weight:600}.db-detail-section pre{background:var(--sap-neutral-6);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:300px;margin:0;padding:12px;font-family:SF Mono,Monaco,monospace;font-size:12px;overflow-x:auto}@media (max-width:768px){.database-page{flex-direction:column}.db-nav-panel,.db-sub-panel{border-right:none;border-bottom:1px solid var(--sap-border);width:100%;min-width:100%}.db-nav-menu,.db-sub-menu{flex-wrap:wrap;gap:8px;padding:12px;display:flex}.db-nav-item,.db-sub-item{flex:none;width:auto}.db-content{padding:16px}.db-table{font-size:12px}.db-table th,.db-table td{padding:8px 10px}}.testlab-param-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;margin-bottom:8px;overflow:hidden}.testlab-param-card.testlab-param-simple{padding:12px 16px}.testlab-param-header{cursor:pointer;align-items:center;gap:8px;padding:12px 16px;transition:background .15s;display:flex}.testlab-param-header:hover{background:var(--sap-neutral-6)}.testlab-param-header.expanded{background:var(--sap-neutral-6);border-bottom:1px solid var(--sap-border)}.testlab-param-header svg{width:16px;height:16px;color:var(--sap-text-tertiary);flex-shrink:0;transition:transform .2s}.testlab-param-header.expanded svg{transform:rotate(90deg)}.testlab-param-name{color:var(--sap-text-primary);font-size:13px;font-weight:600}.testlab-param-meta{color:var(--sap-text-tertiary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.testlab-param-actions{gap:8px;margin-left:auto;display:flex}.testlab-param-body{background:var(--sap-background);padding:12px 16px}.testlab-field-toolbar{border-bottom:1px solid var(--sap-border);align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;display:flex}.testlab-field-hint{color:var(--sap-text-tertiary);margin-left:auto;font-size:11px}.testlab-table-wrapper{margin:0 -8px;padding:0 8px;overflow-x:auto}.testlab-field-table{border-collapse:collapse;width:100%;font-size:12px}.testlab-field-table th{text-align:left;background:var(--sap-neutral-6);border-bottom:1px solid var(--sap-border);color:var(--sap-text-secondary);white-space:nowrap;cursor:help;padding:8px 6px;font-weight:600;position:relative}.testlab-field-table th:hover{background:var(--sap-neutral-5)}.testlab-field-table td{border-bottom:1px solid var(--sap-border);vertical-align:middle;padding:4px 6px}.testlab-field-table tr:last-child td{border-bottom:none}.testlab-field-table tr:hover td{background:var(--sap-neutral-6)}.testlab-th-content{align-items:center;gap:4px;display:flex}.testlab-th-meta{color:var(--sap-text-tertiary);margin-top:2px;font-size:10px;font-weight:400}.testlab-key-badge{background:var(--sap-brand);color:#fff;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:9px;font-weight:700;display:inline-flex}.testlab-row-num{color:var(--sap-text-tertiary);text-align:center;font-size:11px}.testlab-field-table-struct .testlab-field-name{color:var(--sap-text-primary);font-weight:500}.testlab-field-table-struct .testlab-field-desc{color:var(--sap-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.testlab-field-table-struct .testlab-field-type{color:var(--sap-text-tertiary);font-family:monospace;font-size:11px}.testlab-field-table-struct .testlab-field-len{color:var(--sap-text-tertiary);text-align:center}.testlab-field-table-struct .testlab-field-check{color:var(--sap-brand);font-family:monospace;font-size:11px}.testlab-simple-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.testlab-simple-row .testlab-param-name{min-width:150px}.testlab-simple-row .testlab-param-meta{flex:1;min-width:100px}.testlab-simple-row .testlab-field-type{color:var(--sap-text-tertiary);min-width:80px;font-family:monospace;font-size:11px}.testlab-simple-input{width:200px}.testlab-required{color:var(--sap-negative);margin-left:4px}.btn-xs{cursor:pointer;border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-secondary);border-radius:4px;padding:4px 8px;font-size:11px;transition:all .15s}.btn-xs:hover{background:var(--sap-neutral-5)}.btn-xs.btn-primary{background:var(--sap-brand);color:#fff;border-color:var(--sap-brand)}.btn-icon-xs{cursor:pointer;width:20px;height:20px;color:var(--sap-text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;transition:all .15s;display:flex}.btn-icon-xs:hover{background:var(--sap-neutral-5);color:var(--sap-text-primary)}.btn-icon-xs.btn-danger:hover{background:var(--sap-negative-bg);color:var(--sap-negative)}.btn-icon-xs:disabled{opacity:.3;cursor:not-allowed}.testlab-actions-bar{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;flex-wrap:wrap;gap:12px;padding:16px;display:flex}.testlab-actions-bar button{align-items:center;gap:6px;display:flex}.testlab-actions-bar button svg{flex-shrink:0}.badge.success{background:var(--sap-positive-bg);color:var(--sap-positive)}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.modal-body textarea{border:1px solid var(--sap-border);resize:vertical;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:14px}.modal-body textarea:focus{border-color:var(--sap-brand);box-shadow:0 0 0 3px var(--sap-brand-bg);outline:none}.badge-table{color:#1565c0;background:#e3f2fd}.badge-structure{color:#7b1fa2;background:#f3e5f5}body.dark-mode .badge-table{color:#64b5f6;background:#2196f333}body.dark-mode .badge-structure{color:#ce93d8;background:#9c27b033}.btn-success{background:var(--sap-positive);color:#fff;cursor:default;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.modal-wide{max-width:640px}.skill-form-section{border-bottom:1px solid var(--sap-border);margin-bottom:16px;padding-bottom:16px}.skill-form-row{gap:16px;display:flex}.interface-summary{background:var(--sap-background);border:1px solid var(--sap-border);border-radius:6px;gap:8px;padding:8px 12px;display:flex}.input-readonly{background:var(--sap-background);color:var(--sap-text-secondary);cursor:not-allowed}.form-hint-inline{color:var(--sap-text-tertiary);margin-left:4px;font-size:11px}.testlab-search-box{background:var(--sap-background);border:1px solid var(--sap-border);border-radius:6px;align-items:center;gap:6px;min-width:180px;padding:4px 10px;display:flex}.testlab-search-box svg{color:var(--sap-text-tertiary);flex-shrink:0}.testlab-search-box input{color:var(--sap-text-primary);background:0 0;border:none;outline:none;width:100%;font-size:12px}.testlab-search-clear{color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.testlab-search-clear:hover{color:var(--sap-text-primary)}.testlab-column-picker-wrapper{position:relative}.testlab-column-picker{background:var(--sap-tile);border:1px solid var(--sap-border);z-index:1000;border-radius:8px;flex-direction:column;width:320px;max-height:400px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 20px #00000026}.testlab-column-picker-header{border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.testlab-column-picker-actions{border-bottom:1px solid var(--sap-border);gap:6px;padding:8px 12px;display:flex}.testlab-column-picker-search{border-bottom:1px solid var(--sap-border);padding:8px 12px}.testlab-column-picker-search input{border:1px solid var(--sap-border);background:var(--sap-background);width:100%;color:var(--sap-text-primary);border-radius:4px;padding:6px 10px;font-size:12px}.testlab-column-picker-list{max-height:280px;padding:4px 0;overflow-y:auto}.testlab-column-picker-item{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.testlab-column-picker-item:hover{background:var(--sap-background-alt)}.testlab-column-picker-item input[type=checkbox]{flex-shrink:0}.testlab-column-picker-name{color:var(--sap-text-primary);white-space:nowrap;font-family:monospace;font-weight:500}.testlab-column-picker-desc{color:var(--sap-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.testlab-column-tooltip{background:var(--sap-tile);border:1px solid var(--sap-border);pointer-events:none;border-radius:8px;min-width:200px;max-width:300px;padding:10px 14px;box-shadow:0 4px 16px #00000026}.testlab-column-tooltip .tooltip-header{color:var(--sap-brand);margin-bottom:4px;font-family:monospace;font-size:13px;font-weight:600}.testlab-column-tooltip .tooltip-desc{color:var(--sap-text-primary);margin-bottom:8px;font-size:12px;line-height:1.4}.testlab-column-tooltip .tooltip-meta{color:var(--sap-text-secondary);gap:12px;margin-bottom:4px;font-size:11px;display:flex}.testlab-column-tooltip .tooltip-check{color:var(--sap-text-tertiary);font-size:11px;font-style:italic}.testlab-column-tooltip .tooltip-key{color:#92400e;background:#fef3c7;border-radius:3px;margin-top:6px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.testlab-column-tooltip .tooltip-required{color:#dc2626;background:#fee2e2;border-radius:3px;margin-top:6px;margin-left:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}body.dark-mode .testlab-column-tooltip .tooltip-key{color:#fcd34d;background:#fef3c733}body.dark-mode .testlab-column-tooltip .tooltip-required{color:#f87171;background:#fee2e233}.testlab-field-toolbar{background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.saved-tests-panel{background:var(--sap-tile);border-left:1px solid var(--sap-border);z-index:10001;flex-direction:column;width:420px;max-width:90vw;animation:.2s ease-out slideInFromRight;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.saved-tests-list{flex:1;padding:8px;overflow-y:auto}.saved-test-item{background:var(--sap-background-alt);border:1px solid var(--sap-border);cursor:pointer;border-radius:8px;margin-bottom:8px;padding:12px;transition:all .15s}.saved-test-item:hover{border-color:var(--sap-brand);transform:translateY(-1px)}.saved-test-item.active{border-color:var(--sap-brand);background:#0d6efd1a}.saved-test-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.saved-test-name{color:var(--sap-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.saved-test-meta{gap:8px;margin-bottom:6px;display:flex}.saved-test-bapi{color:var(--sap-brand);background:#0d6efd26;border-radius:4px;padding:2px 6px;font-family:SF Mono,Consolas,monospace;font-size:11px}.saved-test-env{background:var(--sap-tile);color:var(--sap-text-secondary);border-radius:4px;padding:2px 6px;font-size:11px}.saved-test-desc{color:var(--sap-text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.saved-test-tags{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.saved-test-tag{color:#8b5cf6;background:#8b5cf626;border-radius:4px;padding:2px 6px;font-size:10px}.saved-test-date{color:var(--sap-text-tertiary);font-size:11px}.favorite-btn{cursor:pointer;color:var(--sap-text-secondary);background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s}.favorite-btn:hover{color:#f59e0b;background:#f59e0b1a}.favorite-btn.active{color:#f59e0b}.delete-btn{cursor:pointer;color:var(--sap-text-secondary);opacity:.5;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s}.saved-test-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:#ef4444;background:#ef44441a}body.dark-mode .saved-test-tag{background:#8b5cf633}body.dark-mode .saved-test-bapi{background:#0d6efd33}.testlab-discovery-tabs{background:var(--sap-background-alt);border-radius:8px;gap:4px;width:fit-content;padding:4px;display:flex}.testlab-discovery-tab{color:var(--sap-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.testlab-discovery-tab:hover{color:var(--sap-text-primary);background:var(--sap-tile)}.testlab-discovery-tab.active{background:var(--sap-brand);color:#fff}.testlab-source-toggle{gap:8px;margin-bottom:12px;display:flex}.testlab-source-btn{border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.testlab-source-btn:hover{border-color:var(--sap-highlight);color:var(--sap-text-primary)}.testlab-source-btn.active{border-color:var(--sap-highlight);color:var(--sap-highlight);background:#0076cb1a}.testlab-source-btn svg{width:14px;height:14px}.btn-link{color:var(--sap-highlight);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.btn-link:hover{color:var(--sap-brand)}.testlab-rag-results{border:1px solid var(--sap-border);border-radius:8px;margin-top:16px;overflow:hidden}.testlab-rag-results-header{background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.testlab-rag-result{border-bottom:1px solid var(--sap-border);cursor:pointer;padding:12px 14px;transition:background .15s}.testlab-rag-result:last-child{border-bottom:none}.testlab-rag-result:hover{background:var(--sap-neutral-6)}.testlab-rag-result-header{align-items:center;gap:12px;margin-bottom:4px;display:flex}.testlab-rag-result-name{color:var(--sap-brand);font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:600}.testlab-rag-result-score{color:#22c55e;background:#22c55e26;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.testlab-rag-result-desc{color:var(--sap-text-secondary);font-size:12px;line-height:1.4}.testlab-rag-result-source{color:var(--sap-text-tertiary);margin-top:4px;font-size:11px}.testlab-sandbox-table{border-collapse:collapse;width:100%;font-size:12px}.testlab-sandbox-table th{text-align:left;background:var(--sap-neutral-6);border-bottom:1px solid var(--sap-border);color:var(--sap-text-secondary);padding:8px 6px;font-weight:600}.testlab-sandbox-table td{border-bottom:1px solid var(--sap-border-light);padding:6px}.testlab-sandbox-table tr:last-child td{border-bottom:none}.testlab-sandbox-table tr:hover td{background:var(--sap-neutral-7)}.testlab-sandbox-table select,.testlab-sandbox-table input{border:1px solid var(--sap-border);background:var(--sap-background);border-radius:4px}.testlab-simulate-results{flex-direction:column;gap:12px;margin-top:16px;display:flex}.testlab-simulate-section{border:1px solid var(--sap-border);border-radius:8px;overflow:hidden}.testlab-simulate-section-header{background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border);color:var(--sap-text-secondary);align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.testlab-simulate-section-body{padding:12px 14px;font-size:13px;line-height:1.6}.testlab-simulate-section-body>div{margin-bottom:4px}.testlab-simulate-section-body>div:last-child{margin-bottom:0}.testlab-simulate-skill{background:var(--sap-background-alt);border-radius:6px;align-items:center;gap:12px;margin-bottom:6px;padding:8px 12px;display:flex}.testlab-simulate-skill:last-child{margin-bottom:0}.testlab-simulate-skill.selected{border:1px solid var(--sap-brand);background:#0d6efd1a}.testlab-simulate-skill-name{flex:1;font-weight:500}.testlab-simulate-skill.selected .testlab-simulate-skill-name{color:var(--sap-brand)}.testlab-simulate-skill-score{color:#8b5cf6;background:#8b5cf626;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.testlab-simulate-skill-bapi{color:var(--sap-text-tertiary);font-family:SF Mono,Consolas,monospace;font-size:11px}.main-area{flex:1;min-width:0;display:flex;overflow:hidden}.chat-panel{flex-direction:column;display:flex;overflow:hidden}.chat-panel.full{flex:1;width:100%}.chat-panel.narrow{border-right:1px solid var(--sap-border);flex-shrink:0}.chat-panel.narrow .main-content{width:100%}.chat-panel.narrow .header{padding:12px 16px}.chat-panel.narrow .welcome-title{font-size:18px}.chat-panel.narrow .input-wrapper{padding:8px 12px}.resize-divider{cursor:col-resize;background:var(--sap-border);flex-shrink:0;width:4px;transition:background .2s;position:relative}.resize-divider:hover,.main-area.resizing .resize-divider{background:var(--sap-brand)}.resize-divider:before{content:"";background:var(--sap-neutral-4);border-radius:1px;width:2px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-divider:hover:before,.main-area.resizing .resize-divider:before{background:#fff}.main-area.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.main-area.resizing *{cursor:col-resize!important}.batch-panel-container{background:var(--sap-background);flex-direction:column;flex:1;display:flex;overflow:hidden}.batch-panel{background:var(--sap-background);flex-direction:column;height:100%;display:flex}.batch-panel-header{background:var(--sap-tile);border-bottom:1px solid var(--sap-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.batch-header-left{color:var(--sap-text-primary);align-items:center;gap:8px;font-size:13px;display:flex}.batch-header-left .skill-name{font-weight:600}.batch-header-left .skill-selector{color:var(--sap-text-primary);background:var(--sap-input-bg);border:1px solid var(--sap-border);cursor:pointer;border-radius:4px;outline:none;padding:4px 8px;font-size:12px;font-weight:600}.batch-header-left .skill-selector:hover:not(:disabled){border-color:var(--sap-brand)}.batch-header-left .skill-selector:disabled{opacity:.6;cursor:not-allowed}.batch-header-left .row-count{color:var(--sap-text-tertiary);font-size:12px}.batch-header-center{align-items:center;gap:4px;display:flex}.operation-badge{border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;display:flex}.operation-badge.read{background:var(--sap-info-light,#e8f4fd);color:var(--sap-info,#0a6ed1)}.dark-mode .operation-badge.read{color:#5db3ff;background:#0a6ed133}.read-mode-info{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:4px;align-items:center;gap:8px;padding:4px 12px;display:flex}.read-mode-info .read-count{color:var(--sap-text-secondary);font-size:12px;font-weight:500}.sap-execute-btn.danger{background:var(--sap-negative,#d32f2f)}.sap-execute-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--sap-negative)85%,black)}.batch-header-right{align-items:center;gap:6px;display:flex}.batch-icon-btn{border:1px solid var(--sap-border);background:var(--sap-tile);width:32px;height:32px;color:var(--sap-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.batch-icon-btn:hover:not(:disabled){background:var(--sap-background);color:var(--sap-text-primary);border-color:var(--sap-brand)}.batch-icon-btn:disabled{opacity:.4;cursor:not-allowed}.batch-icon-btn.small{width:28px;height:28px}.batch-icon-btn.active{background:var(--sap-brand);color:#fff;border-color:var(--sap-brand)}.batch-icon-btn.has-selection{color:var(--sap-brand);border-color:var(--sap-brand)}.batch-icon-btn.danger:not(:disabled):hover{background:var(--sap-negative);color:#fff;border-color:var(--sap-negative)}.batch-icon-btn.danger.has-selection{color:var(--sap-negative);border-color:var(--sap-negative)}.batch-icon-btn.success{background:var(--sap-positive);color:#fff;border-color:var(--sap-positive)}.batch-icon-btn.retry{color:#f59e0b;border-color:#f59e0b}.batch-icon-btn.retry:hover:not(:disabled){color:#fff;background:#f59e0b}.batch-icon-btn.close:hover{background:var(--sap-negative);color:#fff;border-color:var(--sap-negative)}.icon-badge{background:var(--sap-brand);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.batch-icon-btn.danger .icon-badge{background:var(--sap-negative)}.icon-badge.small{min-width:14px;height:14px;font-size:9px;top:-3px;right:-3px}.batch-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.batch-btn:disabled{opacity:.6;cursor:not-allowed}.batch-btn.primary{background:var(--sap-brand);color:#fff}.batch-btn.primary:hover:not(:disabled){background:var(--sap-brand-hover)}.batch-btn.secondary{background:var(--sap-neutral-6);color:var(--sap-text-primary);border:1px solid var(--sap-border)}.batch-btn.secondary:hover:not(:disabled){background:var(--sap-neutral-5)}.batch-btn.success{background:var(--sap-positive);color:#fff}.batch-btn.success:hover:not(:disabled){filter:brightness(1.1)}.batch-btn.retry{color:#fff;background:#f59e0b}.batch-btn.retry:hover:not(:disabled){background:#d97706}.batch-btn.icon{color:var(--sap-text-secondary);border:1px solid var(--sap-border);background:0 0;padding:6px}.batch-btn.icon:hover{background:var(--sap-neutral-6);color:var(--sap-text-primary)}.batch-btn .spinning{animation:1s linear infinite spin}.batch-btn.compact{gap:4px;padding:5px 12px;font-size:12px}.batch-btn.compact span{font-weight:600}.batch-panel-toolbar{background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.batch-filter-tabs{gap:4px;display:flex}.filter-tab{border:1px solid var(--sap-border);color:var(--sap-text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.filter-tab:hover{background:var(--sap-background-alt);color:var(--sap-text-primary)}.filter-tab.active{background:var(--sap-brand);border-color:var(--sap-brand);color:#fff}.filter-tab.success:not(.active){color:var(--sap-positive);border-color:var(--sap-positive)}.filter-tab.error:not(.active){color:var(--sap-negative);border-color:var(--sap-negative)}.filter-tab svg{flex-shrink:0}.filter-tab .tab-count{text-align:center;min-width:18px;font-weight:600}.filter-tab.format-issues:not(.active){color:var(--sap-warning,#e9730c);border-color:var(--sap-warning,#e9730c);background:#e9730c14}.filter-tab.format-issues.active{background:var(--sap-warning,#e9730c);border-color:var(--sap-warning,#e9730c);color:#fff}.filter-separator{color:var(--sap-border);-webkit-user-select:none;user-select:none;margin:0 4px;font-size:14px}.sap-status-group{background:var(--sap-background-alt,#00000008);border:1px solid var(--sap-border);border-radius:8px;align-items:center;gap:4px;padding:4px 8px 4px 6px;display:flex}.sap-status-label{text-transform:uppercase;letter-spacing:.5px;color:var(--sap-text-tertiary);border-right:1px solid var(--sap-border);margin-right:2px;padding-right:6px;font-size:10px;font-weight:600}.sap-status-group .filter-tab{background:0 0;border:none;padding:4px 8px}.sap-status-group .filter-tab:hover{background:#0000000d}.sap-status-group .filter-tab.active{background:var(--sap-brand);color:#fff}.resizable-header{position:relative;overflow:visible}.resizable-header .header-content{text-overflow:ellipsis;white-space:nowrap;padding-right:8px;display:block;overflow:hidden}.resize-handle{cursor:col-resize;z-index:1;background:0 0;width:6px;height:100%;position:absolute;top:0;right:0}.resize-handle:hover,.resize-handle:active{background:var(--sap-brand);opacity:.5}.batch-panel-table tbody tr.row-success{background:#10b98114!important}.batch-panel-table tbody tr.row-success:hover{background:#10b9811f!important}[data-theme=dark] .sap-status-group{background:#ffffff0d}[data-theme=dark] .sap-status-group .filter-tab:hover{background:#ffffff1a}[data-theme=dark] .batch-panel-table tbody tr.row-success{background:#10b98126!important}[data-theme=dark] .batch-panel-table tbody tr.row-success:hover{background:#10b98133!important}.sap-execute-btn{background:var(--sap-brand);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:4px;margin-left:4px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.sap-execute-btn:hover:not(:disabled){background:var(--sap-brand-hover,#0858a8)}.sap-execute-btn:disabled{opacity:.5;cursor:not-allowed}.sap-execute-btn .spinning{animation:1s linear infinite spin}.sap-execute-btn.secondary{background:var(--sap-secondary,#6c757d)}.sap-execute-btn.secondary:hover:not(:disabled){background:var(--sap-secondary-hover,#5a6268)}.batch-panel-table td.key-field{background:#6c757d1a!important}.batch-panel-table td.key-field input{color:var(--text-secondary);cursor:not-allowed;background:#6c757d0d}[data-theme=dark] .batch-panel-table td.key-field{background:#6c757d33!important}.batch-panel-table td.modified-field{background:#ffc10726!important}.batch-panel-table td.modified-field input{background:#ffc1071a}[data-theme=dark] .batch-panel-table td.modified-field{background:#ffc10733!important}.summary-modal{min-width:320px}.summary-stats{flex-direction:column;gap:12px;padding:16px 0;display:flex}.summary-stat{background:var(--sap-background-alt);border-radius:8px;align-items:center;gap:10px;padding:12px 16px;display:flex}.summary-stat.success{color:var(--sap-positive);background:#10b9811a}.summary-stat.success svg{color:var(--sap-positive)}.summary-stat.error{color:var(--sap-negative);background:#ef44441a}.summary-stat.error svg{color:var(--sap-negative)}.summary-stat.pending{color:var(--sap-text-secondary);background:#6b72801a}.summary-count{font-size:24px;font-weight:600}.summary-label{font-size:14px}[data-theme=dark] .summary-stat.success{background:#10b98126}[data-theme=dark] .summary-stat.error{background:#ef444426}[data-theme=dark] .summary-stat.pending{background:#6b728026}.batch-column-controls{align-items:center;gap:8px;display:flex}.column-filter-input{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.column-filter-input:focus-within{border-color:var(--sap-brand);box-shadow:0 0 0 2px #0a84ff1a}.column-filter-input input{width:100px;color:var(--sap-text-primary);background:0 0;border:none;outline:none;font-size:11px}.column-filter-input input::placeholder{color:var(--sap-text-tertiary)}.column-filter-input .clear-filter{background:var(--sap-border);cursor:pointer;color:var(--sap-text-tertiary);border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:all .15s;display:flex}.column-filter-input .clear-filter:hover{background:var(--sap-negative);color:#fff}.batch-column-picker{position:relative}.column-picker-btn{background:var(--sap-tile);border:1px solid var(--sap-border);color:var(--sap-text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .15s;display:flex}.column-picker-btn:hover{border-color:var(--sap-brand);color:var(--sap-text-primary)}.column-picker-btn .rotated{transform:rotate(180deg)}.column-picker-dropdown{background:var(--sap-tile);border:1px solid var(--sap-border);z-index:100;border-radius:8px;min-width:220px;max-height:300px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #00000026}.column-picker-header{border-bottom:1px solid var(--sap-border);background:var(--sap-background-alt);gap:8px;padding:8px 12px;display:flex}.column-picker-header button{border:1px solid var(--sap-border);color:var(--sap-text-secondary);cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:4px 8px;font-size:11px}.column-picker-header button:hover{background:var(--sap-background);color:var(--sap-text-primary)}.column-picker-list{max-height:240px;padding:8px 0;overflow-y:auto}.column-picker-item{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;transition:background .1s;display:flex}.column-picker-item:hover{background:var(--sap-background-alt)}.column-picker-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--sap-brand)}.column-picker-item span{color:var(--sap-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.batch-btn.small{gap:4px;padding:5px 10px;font-size:12px}.batch-btn.small.active{background:var(--sap-brand);color:#fff;border-color:var(--sap-brand)}.filter-badge{background:var(--sap-brand);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex}.search-replace-bar{background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.search-row,.replace-row{align-items:center;gap:8px;display:flex}.search-input-wrapper,.replace-input-wrapper{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:6px;flex:1;align-items:center;gap:8px;max-width:400px;padding:6px 12px;display:flex}.search-input-wrapper:focus-within,.replace-input-wrapper:focus-within{border-color:var(--sap-brand);box-shadow:0 0 0 2px #0a84ff26}.search-input-wrapper input,.replace-input-wrapper input{color:var(--sap-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-input-wrapper input::placeholder,.replace-input-wrapper input::placeholder{color:var(--sap-text-tertiary)}.match-count{color:var(--sap-text-tertiary);white-space:nowrap;font-size:11px}.search-nav-btn,.search-option-btn,.search-expand-btn,.search-close-btn{border:1px solid var(--sap-border);background:var(--sap-tile);cursor:pointer;width:28px;height:28px;color:var(--sap-text-secondary);border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.search-nav-btn:hover,.search-option-btn:hover,.search-expand-btn:hover{background:var(--sap-background);color:var(--sap-text-primary);border-color:var(--sap-brand)}.search-nav-btn:disabled{opacity:.4;cursor:not-allowed}.search-option-btn.active{background:var(--sap-brand);color:#fff;border-color:var(--sap-brand)}.search-close-btn:hover{background:var(--sap-negative);color:#fff;border-color:var(--sap-negative)}.search-expand-btn .rotated-down{transform:rotate(90deg)}.replace-btn{background:var(--sap-tile);border:1px solid var(--sap-border);color:var(--sap-text-secondary);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.replace-btn:hover:not(:disabled){background:var(--sap-brand);color:#fff;border-color:var(--sap-brand)}.replace-btn:disabled{opacity:.4;cursor:not-allowed}.replace-btn.replace-all{background:var(--sap-brand);color:#fff;border-color:var(--sap-brand)}.replace-btn.replace-all:hover:not(:disabled){background:var(--sap-brand-hover)}.filter-row th{background:var(--sap-background)!important;border-bottom:2px solid var(--sap-brand)!important;padding:6px 8px!important}.filter-row .filter-cell{padding:4px!important}.column-value-filter{border:1px solid var(--sap-border);background:var(--sap-tile);width:100%;color:var(--sap-text-primary);border-radius:4px;outline:none;padding:4px 8px;font-size:11px;transition:border-color .15s}.column-value-filter:focus{border-color:var(--sap-brand)}.column-value-filter::placeholder{color:var(--sap-text-tertiary)}.batch-panel-table mark{color:inherit;background:#ffd50066;border-radius:2px;padding:1px 2px}.batch-panel-table mark.search-match{background:#ffd50080}.batch-panel-table mark.current-match{background:#ff9500b3;box-shadow:0 0 0 2px #ff950066}.batch-panel-table mark.filter-match{background:#64c8ff80}.batch-panel-table td.cell-search-match{background:#ffd50026!important}.batch-panel-table td.cell-current-match{box-shadow:inset 0 0 0 2px #ff950066;background:#ff950033!important}.batch-panel-table td.cell-filter-match{background:#64c8ff26!important}.batch-panel-table td.cell-search-match.cell-filter-match{background:linear-gradient(135deg,#ffd50026,#64c8ff26)!important}.batch-panel-body{background:var(--sap-background);flex:1;padding:16px;overflow:hidden}.batch-table-wrapper{border:1px solid var(--sap-border);background:var(--sap-tile);border-radius:8px;height:100%;overflow:auto}.batch-panel-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.batch-panel-table thead{z-index:10;position:sticky;top:0}.batch-panel-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--sap-text-secondary);background:var(--sap-background-alt);border-bottom:1px solid var(--sap-border);white-space:nowrap;text-overflow:ellipsis;max-width:180px;padding:6px 8px;font-size:11px;font-weight:600;overflow:hidden}.batch-panel-table td{color:var(--sap-text-primary);word-break:break-word;max-width:200px;padding:6px 8px;font-size:13px}.batch-panel-table tbody tr:last-child td{border-bottom:none}.batch-panel-table .col-frozen{z-index:5;background:var(--sap-tile);position:sticky;left:0}.batch-panel-table thead .col-frozen{z-index:15;background:var(--sap-background-alt)}.batch-panel-table tbody tr .col-frozen{background:var(--sap-tile)}.batch-panel-table tbody tr .col-index.col-frozen{box-shadow:2px 0 4px #00000014}.batch-panel-table .col-index{text-align:center;width:50px;min-width:50px;color:var(--sap-text-tertiary);font-weight:500}.batch-panel-table .col-checkbox.col-frozen+.col-index.col-frozen{left:36px}.batch-panel-table .col-status{text-align:center;width:60px}.batch-panel-table .col-result{min-width:200px;max-width:400px}.batch-panel-table .col-actions{text-align:center;width:40px;min-width:40px;padding:4px!important}.row-remove-btn{color:#ef444499;cursor:pointer;background:#ef44440d;border:1px solid #ef444433;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.row-remove-btn:hover:not(:disabled){color:var(--sap-negative);background:#ef444426;border-color:#ef44444d}.row-remove-btn:disabled{opacity:.3;cursor:not-allowed}.batch-panel-table .col-checkbox{text-align:center;width:36px;min-width:36px;padding:4px 8px!important}.batch-panel-table .col-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--sap-primary)}.batch-panel-table tbody tr.row-selected{background:#eff6ff!important}.batch-panel-table tbody tr.row-selected:hover{background:#dbeafe!important}.batch-panel-table tbody tr.row-selected .col-frozen{background:#eff6ff!important}.batch-panel-table tbody tr.row-selected:hover .col-frozen{background:#dbeafe!important}[data-theme=dark] .batch-panel-table tbody tr.row-selected{background:#1e3a5f!important}[data-theme=dark] .batch-panel-table tbody tr.row-selected:hover{background:#234b73!important}[data-theme=dark] .batch-panel-table tbody tr.row-selected .col-frozen{background:#1e3a5f!important}[data-theme=dark] .batch-panel-table tbody tr.row-selected:hover .col-frozen{background:#234b73!important}.batch-btn.danger{color:var(--sap-negative);background:#ef44441a;border:1px solid #ef444433}.batch-btn.danger:hover:not(:disabled){background:#ef444433;border-color:#ef44444d}[data-theme=dark] .batch-btn.danger{background:#ef444426;border-color:#ef44444d}[data-theme=dark] .batch-btn.danger:hover:not(:disabled){background:#ef444440}.batch-panel-table tbody tr:nth-child(2n),.batch-panel-table tbody tr:nth-child(2n) .col-frozen{background:var(--sap-background-alt)}.batch-panel-table tbody tr:hover,.batch-panel-table tbody tr:hover .col-frozen{background:#f0f7ff}[data-theme=dark] .batch-panel-table tbody tr:hover,[data-theme=dark] .batch-panel-table tbody tr:hover .col-frozen{background:#1e293b}.batch-panel-table tr.row-error,.batch-panel-table tr.row-error .col-frozen{background:#fef2f2!important}.batch-panel-table tr.row-success,.batch-panel-table tr.row-success .col-frozen{background:#f0fdf4}[data-theme=dark] .batch-panel-table tr.row-error,[data-theme=dark] .batch-panel-table tr.row-error .col-frozen{background:#2d1f1f!important}[data-theme=dark] .batch-panel-table tr.row-success,[data-theme=dark] .batch-panel-table tr.row-success .col-frozen{background:#1a2e1a}.batch-panel-table td.cell-editable{cursor:text;background:#3b82f60d}.batch-panel-table td.cell-edited{background:#3b82f61f}.batch-panel-table .editable-content{border-radius:4px;outline:none;min-height:1.4em;margin:-4px -6px;padding:4px 6px;transition:background .15s,box-shadow .15s;display:block}.batch-panel-table .editable-content:hover{background:var(--sap-background)}.batch-panel-table .editable-content:focus{background:var(--sap-tile);box-shadow:0 0 0 2px var(--sap-brand)}.status-cell{justify-content:center;align-items:center;display:flex}.status-icon{flex-shrink:0;width:14px;height:14px}.status-icon.success{color:var(--sap-positive)}.status-icon.processing{color:var(--sap-brand);animation:1s linear infinite spin}.status-icon.error{color:var(--sap-negative)}.status-icon.pending{color:var(--sap-text-tertiary)}.status-label{font-size:12px}.status-label.success{color:var(--sap-positive)}.status-label.processing{color:var(--sap-brand)}.status-label.error{color:var(--sap-negative)}.status-label.pending{color:var(--sap-text-tertiary)}.result-id{color:var(--sap-positive);font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:500}.result-error{color:var(--sap-negative);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.filter-separator{color:var(--sap-border);opacity:.5;margin:0 4px;font-size:12px}.filter-tab.validation{border-color:#0000}.filter-tab.validation:hover,.filter-tab.validation.active{background:var(--sap-background)}.validation-icon-error{color:var(--sap-negative)}.validation-icon-warning{color:var(--sap-warning,#e67700)}.validation-summary-btn{position:relative}.validation-badge{background:var(--sap-negative);color:#fff;text-align:center;border-radius:8px;min-width:14px;padding:1px 4px;font-size:9px;font-weight:600;position:absolute;top:-4px;right:-4px}.validation-summary-panel{background:var(--sap-tile);border-bottom:1px solid var(--sap-border);padding:8px 12px;font-size:12px}.validation-summary-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.validation-summary-title{color:var(--sap-text);align-items:center;gap:6px;font-weight:500;display:flex}.validation-summary-title svg{color:var(--sap-warning,#e67700)}.validation-summary-close{cursor:pointer;color:var(--sap-text-tertiary);background:0 0;border:none;border-radius:4px;padding:4px}.validation-summary-close:hover{background:var(--sap-background);color:var(--sap-text)}.validation-summary-content{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.validation-summary-item{background:var(--sap-background);border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex}.validation-summary-item.error svg{color:var(--sap-negative)}.validation-summary-item.warning svg{color:var(--sap-warning,#e67700)}.validation-filter-link{color:var(--sap-brand);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:11px;text-decoration:underline}.validation-filter-link:hover{color:var(--sap-brand-hover)}.validation-clear-filter{background:var(--sap-background);border:1px solid var(--sap-border);cursor:pointer;color:var(--sap-text-secondary);border-radius:4px;padding:4px 8px;font-size:11px}.validation-clear-filter:hover{background:var(--sap-tile)}.technical-header-row{background:var(--sap-background)!important}.technical-header-row th{border-bottom:1px solid var(--sap-border);color:var(--sap-text-tertiary)!important;padding:4px 8px!important;font-size:10px!important;font-weight:400!important}.technical-header-cell{vertical-align:top;line-height:1.3}.technical-header-cell .technical-name{display:block}.technical-header-cell .technical-type{display:inline}.technical-header-cell .technical-check{margin-left:4px;display:inline}.technical-name{text-transform:uppercase;letter-spacing:.5px;font-family:SF Mono,Consolas,monospace}.technical-type{color:var(--sap-brand);font-family:SF Mono,Consolas,monospace;font-size:9px}.technical-check{color:var(--sap-brand);margin-left:4px;display:inline-flex}.required-marker{color:var(--sap-negative);margin-left:2px;font-weight:600}.cell-content-wrapper{align-items:center;gap:4px;width:100%;display:flex;position:relative}.cell-content-wrapper .cell-text{text-overflow:ellipsis;flex:1;overflow:hidden}.cell-content-wrapper .editable-content{flex:1}.check-table-btn{background:var(--sap-background);cursor:pointer;width:18px;height:18px;color:var(--sap-text-tertiary);opacity:.6;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.cell-has-checktable:hover .check-table-btn,.check-table-btn:hover,.check-table-btn.active{opacity:1;background:var(--sap-brand);color:#fff}.check-table-dropdown{background:var(--sap-tile);border:1px solid var(--sap-border);z-index:100;border-radius:8px;min-width:200px;max-width:300px;max-height:200px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 8px 24px #00000026}.check-dropdown-loading,.check-dropdown-empty{text-align:center;color:var(--sap-text-tertiary);justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:12px;display:flex}.check-dropdown-list{max-height:200px;overflow-y:auto}.check-dropdown-item{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--sap-border);background:0 0;flex-direction:column;align-items:flex-start;width:100%;padding:8px 12px;font-size:12px;transition:background .1s;display:flex}.check-dropdown-item:last-child{border-bottom:none}.check-dropdown-item:hover{background:var(--sap-background)}.check-dropdown-item.selected{background:var(--sap-brand-subtle)}.check-value{color:var(--sap-text);font-family:SF Mono,Consolas,monospace;font-weight:500}.check-description{color:var(--sap-text-tertiary);margin-top:2px;font-size:11px}.cell-validation-indicator{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.cell-validation-indicator.invalid{color:var(--sap-negative)}.cell-validation-indicator.warning{color:var(--sap-warning,#e67700)}.batch-panel-table td.cell-validation-error{border-left:2px solid var(--sap-negative);background:rgba(var(--sap-negative-rgb,220,53,69),.08)!important}.batch-panel-table td.cell-validation-warning{border-left:2px solid var(--sap-warning,#e67700);background:#e6770014!important}.batch-panel-table tr.row-validation-error .col-index{color:var(--sap-negative);font-weight:600}.batch-panel-table tr.row-validation-warning .col-index{color:var(--sap-warning,#e67700);font-weight:600}[data-theme=dark] .technical-header-row{background:var(--sap-shell)!important}[data-theme=dark] .validation-summary-panel{background:var(--sap-shell)}[data-theme=dark] .check-table-dropdown{background:var(--sap-shell);border-color:var(--sap-border)}[data-theme=dark] .check-dropdown-item:hover{background:var(--sap-tile)}[data-theme=dark] .batch-panel-table td.cell-validation-error{background:#dc354526!important}[data-theme=dark] .batch-panel-table td.cell-validation-warning{background:#e6770026!important}.skill-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.skill-modal{background:var(--sap-tile);border-radius:16px;width:90%;max-width:480px;padding:28px 32px;animation:.2s ease-out modalSlideIn;box-shadow:0 20px 60px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.skill-modal-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.skill-modal-header svg{color:var(--sap-brand)}.skill-modal-header h3{color:var(--sap-text-primary);margin:0;font-size:18px;font-weight:600}.skill-modal-subtitle{color:var(--sap-text-secondary);margin:0 0 20px;font-size:14px}.skill-modal-options{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.skill-option{border:2px solid var(--sap-border);cursor:pointer;background:var(--sap-background);border-radius:12px;align-items:flex-start;gap:12px;padding:16px;transition:all .15s;display:flex}.skill-option:hover{border-color:var(--sap-brand);background:#3b82f60d}.skill-option.selected{border-color:var(--sap-brand);background:#3b82f61a}.skill-option input[type=radio]{width:18px;height:18px;accent-color:var(--sap-brand);cursor:pointer;margin-top:2px}.skill-option-content{flex-direction:column;flex:1;gap:4px;display:flex}.skill-option-name{color:var(--sap-text-primary);text-transform:capitalize;font-size:15px;font-weight:600}.skill-option-description{color:var(--sap-text-secondary);font-size:13px;line-height:1.4}.skill-modal-actions{justify-content:flex-end;gap:12px;display:flex}.skill-modal-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.skill-modal-btn.cancel{background:var(--sap-background);color:var(--sap-text-secondary);border:1px solid var(--sap-border)}.skill-modal-btn.cancel:hover{background:var(--sap-background-alt);color:var(--sap-text-primary)}.skill-modal-btn.confirm{background:var(--sap-brand);color:#fff}.skill-modal-btn.confirm:hover:not(:disabled){background:var(--sap-brand-hover)}.skill-modal-btn.confirm:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1024px){.main-area.split-mode{position:relative}.chat-panel.narrow{display:none}.batch-panel-container{z-index:100;background:var(--sap-background);position:fixed;inset:0}.batch-panel-header{padding:12px 16px}.batch-panel-title .edit-badge{display:none}}@media (max-width:768px){.batch-panel-actions{gap:6px}.batch-btn{padding:6px 10px;font-size:12px}.batch-btn span:not(.spinning),.batch-stats{display:none}}.form-offer-card{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;flex-direction:column;gap:16px;max-width:500px;margin:16px 0;padding:20px 40px 20px 20px;display:flex;position:relative;box-shadow:0 2px 8px #0000000d}.form-offer-explanation{color:var(--sap-text-primary);white-space:pre-wrap;font-size:15px;line-height:1.6}.form-offer-actions{flex-wrap:wrap;gap:12px;display:flex}.form-offer-btn{border:1px solid var(--sap-brand);cursor:pointer;background:var(--sap-tile);min-width:150px;color:var(--sap-brand);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.form-offer-btn:hover{background:var(--sap-brand);color:#fff}.form-offer-btn svg{flex-shrink:0}.form-offer-dismiss{width:24px;height:24px;color:var(--sap-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:10px;right:10px}.form-offer-dismiss:hover{background:var(--sap-background);color:var(--sap-text)}.form-offer-card.inline{max-width:100%;margin:12px 0 0;padding:12px 16px}.form-offer-card.inactive{opacity:.6;background:var(--sap-background);border-style:dashed}.form-offer-inactive-label{color:var(--sap-text-tertiary);align-items:center;gap:6px;font-size:13px;font-style:italic;display:flex}.form-offer-inactive-label:before{content:"⏸";font-size:12px}.mode-direct{background-color:#2ecc711a!important;border-color:#2ecc714d!important}.mode-disabled{color:var(--sap-text-tertiary)!important;background-color:#e74c3c1a!important;border-color:#e74c3c4d!important}.skill-toggle{flex-shrink:0;width:36px;height:20px;margin-right:8px;display:inline-block;position:relative}.skill-toggle input{opacity:0;width:0;height:0}.skill-toggle input:checked+.toggle-slider{background-color:var(--sap-brand)}.skill-toggle input:checked+.toggle-slider:before{transform:translate(16px)}.skill-toggle:hover .toggle-slider{box-shadow:0 0 0 2px rgba(var(--sap-brand-rgb,0,112,127),.2)}.skill-card.skill-disabled{opacity:.6;background:var(--sap-background)}.skill-card.skill-disabled .skill-name,.skill-card.skill-disabled .skill-bapi,.skill-card.skill-disabled .skill-desc{color:var(--sap-text-tertiary)}.skill-card-row1{align-items:center;gap:8px;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--sap-text-secondary);font-size:13px;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--sap-border);color:var(--sap-text-primary);background:var(--sap-tile);border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--sap-brand);outline:none;box-shadow:0 0 0 3px #0a6ed11a}.form-group textarea{resize:vertical;min-height:80px}.form-hint{color:var(--sap-text-tertiary);margin-top:4px;font-size:12px}@media (max-width:768px){.form-grid{grid-template-columns:1fr}}.search-bar{align-items:center;gap:8px;display:flex}.search-bar input{border:1px solid var(--sap-border);background:var(--sap-tile);color:var(--sap-text-primary);border-radius:8px;flex:1;padding:10px 16px;font-size:14px}.search-bar input:focus{border-color:var(--sap-brand);box-shadow:0 0 0 3px rgba(var(--sap-brand-rgb,0,112,127),.1);outline:none}.alert{border-radius:8px;padding:12px 16px;font-size:14px}.alert-success{color:#48c78e;background:#48c78e26;border:1px solid #48c78e4d}.alert-error{color:#f14668;background:#f1466826;border:1px solid #f146684d}.odata-browser{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.odata-services-list{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;max-height:500px;overflow-y:auto}.odata-service-item{cursor:pointer;border-bottom:1px solid var(--sap-border);padding:12px 16px;transition:background .15s}.odata-service-item:last-child{border-bottom:none}.odata-service-item:hover{background:var(--sap-neutral-6)}.odata-service-item.selected{border-left:3px solid var(--sap-brand);background:#0a6ed11a}.odata-service-title{color:var(--sap-text-primary);margin-bottom:4px;font-size:14px;font-weight:500}.odata-service-desc{color:var(--sap-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.odata-entities-panel{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:12px;overflow:hidden}.odata-entities-header{background:var(--sap-background);border-bottom:1px solid var(--sap-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.odata-entities-header h3{color:var(--sap-text-primary);margin:0;font-size:14px;font-weight:600}.odata-entities-header span{color:var(--sap-text-secondary);font-size:12px}.odata-entities-list{max-height:450px;overflow-y:auto}.odata-entity-item{border-bottom:1px solid var(--sap-border);padding:12px 16px}.odata-entity-item:last-child{border-bottom:none}.odata-entity-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.odata-entity-name{color:var(--sap-text-primary);font-size:14px;font-weight:500}.odata-entity-fields{color:var(--sap-text-tertiary);font-size:12px}.odata-entity-actions{gap:8px;display:flex}.btn-sm{border-radius:6px;padding:6px 12px;font-size:12px}.entity-fields-preview{background:var(--sap-background);border-radius:8px;flex-wrap:wrap;gap:6px;max-height:150px;padding:8px;display:flex;overflow-y:auto}.field-tag{background:var(--sap-neutral-6);color:var(--sap-text-secondary);border-radius:4px;padding:4px 8px;font-family:monospace;font-size:11px;display:inline-block}.field-tag.key{color:var(--sap-brand);background:#0a6ed133;font-weight:500}.field-tag.required{color:#f14668;background:#f1466826}.field-tag.more{color:var(--sap-text-tertiary);background:0 0;font-style:italic}.checkbox-label{cursor:pointer;color:var(--sap-text-primary);align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.settings-card.active{border-color:var(--sap-brand);box-shadow:0 0 0 1px var(--sap-brand)}@media (max-width:900px){.odata-browser{grid-template-columns:1fr}.odata-services-list,.odata-entities-panel{max-height:300px}}.priority-list{flex-direction:column;gap:8px;display:flex}.priority-item{background:var(--sap-tile);border:1px solid var(--sap-border);cursor:grab;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.priority-item:hover{border-color:var(--sap-brand);background:var(--sap-background)}.priority-item:active{cursor:grabbing}.priority-item.dragging{opacity:.5;border-style:dashed;border-color:var(--sap-brand)}.drag-handle{color:var(--sap-text-tertiary);cursor:grab;letter-spacing:-2px;font-size:14px}.priority-rank{color:var(--sap-brand);min-width:28px;font-size:14px;font-weight:600}.priority-info{flex-direction:column;flex:1;gap:2px;display:flex}.priority-label{color:var(--sap-text-primary);font-size:14px;font-weight:500}.priority-desc{color:var(--sap-text-tertiary);font-size:12px}.skill-sources-list{flex-direction:column;gap:8px;display:flex}.skill-source-item{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;align-items:center;gap:16px;padding:12px 16px;transition:all .2s;display:flex}.skill-source-item:hover{border-color:var(--sap-brand);background:var(--sap-background)}.skill-source-info{flex-direction:column;flex:1;gap:2px;display:flex}.skill-source-label{color:var(--sap-text-primary);font-size:14px;font-weight:500}.skill-source-desc{color:var(--sap-text-tertiary);font-size:12px}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--sap-border);border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:var(--sap-brand)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.entity-key-fields{background:var(--sap-background);border-radius:8px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.entity-key-fields .badge{font-family:monospace;font-size:12px}.entity-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.entity-ops-count{color:var(--sap-text-tertiary);background:var(--sap-background);border-radius:4px;padding:2px 6px;font-size:11px}.badge-read{color:var(--sap-brand);background:#0a6ed126}.badge-create{color:#27ae60;background:#2ecc7126}.badge-update{color:#f39c12;background:#f39c1226}.badge-delete{color:#f14668;background:#f1466826}.badge-exact{color:#27ae60;background:#2ecc7126}.badge-known{color:var(--sap-brand);background:#0a6ed126}.auto-map-results{background:var(--sap-background);border:1px solid var(--sap-border);border-radius:8px;margin-top:16px;padding:16px}.auto-map-summary{align-items:center;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.auto-map-summary .text-warning{color:#f39c12}.mapping-table{max-height:300px;overflow:auto}.mapping-table table{border-collapse:collapse;width:100%;font-size:13px}.mapping-table th,.mapping-table td{text-align:left;border-bottom:1px solid var(--sap-border);padding:8px 12px}.mapping-table th{background:var(--sap-tile);font-weight:500;position:sticky;top:0}.mapping-table tr:hover{background:var(--sap-tile)}.mapping-details{background:var(--sap-background);border-top:1px solid var(--sap-border);padding:16px;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mapping-table-inline{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13px}.mapping-table-inline th,.mapping-table-inline td{text-align:left;border-bottom:1px solid var(--sap-border);padding:8px 12px}.mapping-table-inline th{background:var(--sap-tile);text-transform:uppercase;letter-spacing:.5px;color:var(--sap-text-secondary);font-size:12px;font-weight:500}.mapping-table-inline td code{background:var(--sap-tile);color:var(--sap-positive);border-radius:4px;padding:2px 6px;font-size:12px}.mapping-table-inline tr:hover{background:var(--sap-tile)}.mapping-key-fields{color:var(--sap-text-secondary);border-top:1px dashed var(--sap-border);padding-top:8px;font-size:13px}.mapping-key-fields strong{color:var(--sap-text-primary)}.settings-card-header.clickable{cursor:pointer;transition:background .15s}.settings-card-header.clickable:hover{background:var(--sap-tile)}.settings-card.expanded{border-color:var(--sap-accent)}.settings-card.expanded .settings-card-header{border-bottom:1px solid var(--sap-border)}.badge-exact{background:var(--sap-positive)!important;color:#fff!important}.badge-known{background:var(--sap-accent)!important;color:#fff!important}.badge-rollname{color:#fff!important;background:#9b59b6!important}.badge-fuzzy{color:#fff!important;background:#f39c12!important}.badge-auto{background:var(--sap-text-secondary)!important;color:#fff!important}.badge-manual{background:var(--sap-informative)!important;color:#fff!important}.mapping-section{background:var(--sap-tile);border:1px solid var(--sap-border);border-radius:8px;margin-top:16px;padding:12px}.mapping-section h4{color:var(--sap-text-primary);margin:0 0 8px;font-size:14px;font-weight:600}.mapping-section.unmapped{border-color:var(--sap-warning);background:#f39c120d}.mapping-section.skipped{border-color:var(--sap-text-secondary);background:var(--sap-background)}.mapping-section .text-small{color:var(--sap-text-secondary);margin-bottom:8px;font-size:12px}.unmapped-fields-list{flex-wrap:wrap;gap:8px;display:flex}.unmapped-field{color:#e67e22;background:#f39c1226;border-radius:4px;padding:4px 8px;font-size:12px}.skipped-field{background:var(--sap-background);color:var(--sap-text-secondary);border-radius:4px;padding:4px 8px;font-size:12px}.unused-field{color:#3498db;background:#3498db26;border-radius:4px;padding:4px 8px;font-size:12px}select:disabled{opacity:.6;cursor:not-allowed;background:var(--sap-tile)}.info-banner{background:var(--sap-informative);color:#fff;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.modal.modal-large{width:90vw;max-width:800px}.form-row{align-items:flex-end;gap:16px;display:flex}.form-row .form-group{flex:1}.checkbox-group{align-items:center;display:flex}.checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px}.status-badge{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-block}.status-badge.active{color:#27ae60;background:#2ecc7126}.status-badge.inactive{background:var(--sap-neutral-6);color:var(--sap-text-tertiary)}.status-badge.warning{color:#f39c12;background:#f39c1226}.settings-empty-state{text-align:center;color:var(--sap-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.settings-empty-state svg{color:var(--sap-text-tertiary);margin-bottom:16px}.settings-empty-state h3{color:var(--sap-text-primary);margin-bottom:8px;font-size:18px;font-weight:500}.settings-empty-state p{max-width:400px;font-size:14px;line-height:1.5}.settings-empty-state .text-small{color:var(--sap-text-tertiary);margin-top:8px;font-size:12px}
