.chatbot-container{display:flex;flex-direction:column;height:calc(100vh - 12rem);background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.chatbot-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;gap:.75rem;align-items:flex-start;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;background:#f0f0f0}.message.user .message-avatar{background:#0078d4}.message-content{flex:1;max-width:70%}.message.user .message-content{display:flex;flex-direction:column;align-items:flex-end}.message-text{padding:.875rem 1.125rem;border-radius:12px;font-size:.9375rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.message.assistant .message-text{background:#f5f5f5;color:#333;border-bottom-left-radius:4px}.message.user .message-text{background:#0078d4;color:#fff;border-bottom-right-radius:4px}.message-timestamp{font-size:.75rem;color:#767676;margin-top:.25rem;padding:0 .5rem}.typing-indicator{display:flex;gap:.375rem;padding:1rem 1.5rem}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.suggested-questions{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;background:#fafafa}.suggested-label{font-size:.875rem;color:#666;margin-bottom:.75rem;font-weight:500}.suggested-question{display:inline-block;padding:.5rem 1rem;margin:0 .5rem .5rem 0;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:20px;font-size:.875rem;cursor:pointer;transition:all .2s}.suggested-question:hover{background:#0078d4;color:#fff}.chatbot-input-form{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e0e0e0;background:#fff}.chatbot-input{flex:1;padding:.875rem 1.125rem;border:1px solid #d0d0d0;border-radius:24px;font-size:.9375rem;transition:border-color .2s}.chatbot-input:focus{border-color:#0078d4}.chatbot-input:disabled{background:#f5f5f5;cursor:not-allowed}.chatbot-submit{width:44px;height:44px;border:none;border-radius:50%;background:#0078d4;color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.chatbot-submit:hover:not(:disabled){background:#005a9e;transform:scale(1.05)}.chatbot-submit:disabled{background:#d0d0d0;cursor:not-allowed;transform:scale(1)}.chatbot-messages::-webkit-scrollbar{width:8px}.chatbot-messages::-webkit-scrollbar-track{background:#f5f5f5}.chatbot-messages::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.chat-table-wrapper{overflow-x:auto;margin:.5rem 0;border-radius:6px;border:1px solid #e0e0e0}.chat-table{width:100%;border-collapse:collapse;font-size:.8125rem;line-height:1.4;white-space:nowrap}.chat-table th{background:#f0f4f8;color:#333;font-weight:600;text-align:left;padding:.5rem .75rem;border-bottom:2px solid #d0d8e0;position:sticky;top:0}.chat-table td{padding:.375rem .75rem;border-bottom:1px solid #eee;color:#444}.chat-table tbody tr:hover{background:#f8fafe}.chat-table tbody tr:last-child td{border-bottom:none}.chat-table tbody tr:nth-child(2n){background:#fafbfc}.chat-table tbody tr:nth-child(2n):hover{background:#f0f4f8}@media(max-width:768px){.chatbot-container{height:calc(100vh - 8rem)}.message-content{max-width:85%}.suggested-question{display:block;margin:0 0 .5rem}}.agent-chat-container{display:flex;flex-direction:column;height:calc(100vh - 14rem);background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.agent-header{flex-shrink:0}.agent-badge{padding:.5rem 1.5rem;background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-align:center}.agent-security{display:flex;align-items:center;gap:.5rem;padding:.375rem 1rem;background:#f0f9f0;border-bottom:1px solid #c8e6c9;font-size:.75rem;color:#2e7d32}.agent-security-icon{font-size:.875rem;flex-shrink:0}.agent-security strong{font-weight:700}.agent-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.agent-messages::-webkit-scrollbar{width:8px}.agent-messages::-webkit-scrollbar-track{background:#f5f5f5}.agent-messages::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}.agent-messages::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.agent-tool-badge{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.25rem .75rem;background:#e8f4fd;border:1px solid #b3d7f2;border-radius:12px;font-size:.75rem;color:#005a9e;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.agent-tool-badge:hover{background:#d1ebf9;border-color:#0078d4}.agent-tool-expand{font-size:.625rem;margin-left:.125rem}.agent-tool-log{margin-top:.5rem;padding:.625rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;font-size:.8125rem}.agent-tool-entry{display:flex;gap:.5rem;align-items:baseline;padding:.25rem 0;border-bottom:1px solid #eee}.agent-tool-entry:last-child{border-bottom:none}.agent-tool-name{display:inline-block;padding:.125rem .5rem;background:#0078d4;color:#fff;border-radius:4px;font-size:.6875rem;font-weight:600;white-space:nowrap;flex-shrink:0}.agent-tool-args{color:#555;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.75rem;word-break:break-all}.agent-thinking{padding:.875rem 1.125rem;background:#f5f5f5;border-radius:12px 12px 12px 4px}.agent-thinking-text{font-size:.875rem;color:#666;margin-bottom:.5rem;font-style:italic}.suggested-question.agent-suggested{border-color:#005a9e;color:#005a9e}.suggested-question.agent-suggested:hover{background:#005a9e;color:#fff}.agent-retry-btn{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .875rem;background:#0078d4;color:#fff;border:none;border-radius:4px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s}.agent-retry-btn:hover,.agent-submit-btn{background:#005a9e}.agent-submit-btn:hover:not(:disabled){background:#004578}.chat-mode-toggle{display:inline-flex;border:1px solid #d0d0d0;border-radius:6px;overflow:hidden;margin-bottom:1rem}.chat-mode-toggle .mode-btn{padding:.5rem 1rem;border:none;background:#fff;color:#666;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.chat-mode-toggle .mode-btn:not(:last-child){border-right:1px solid #d0d0d0}.chat-mode-toggle .mode-btn.active{background:#0078d4;color:#fff;font-weight:600}.chat-mode-toggle .mode-btn:hover:not(.active){background:#f0f0f0}@media(max-width:768px){.agent-chat-container{height:calc(100vh - 10rem)}.chat-mode-toggle{flex-direction:column}.chat-mode-toggle .mode-btn:not(:last-child){border-right:none;border-bottom:1px solid #d0d0d0}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.migration-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.migration-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:700px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.migration-modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff;border-radius:12px 12px 0 0}.migration-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.modal-close-button{background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close-button:hover{background-color:#ffffff1a}.migration-modal-body{padding:2rem;overflow-y:auto;flex:1}.migration-modal-description{margin:0 0 1.5rem;color:#666;text-align:center;font-size:1rem}.connection-section{margin-bottom:1rem;border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:border-color .2s}.connection-section:hover{border-color:#0078d4}.connection-section-header{padding:1.25rem;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s;-webkit-user-select:none;user-select:none}.connection-section-header:hover{background:#e9ecef}.connection-section-header.expanded{background:#0078d4;color:#fff}.connection-section-title{display:flex;align-items:center;gap:.75rem;flex:1}.connection-icon{font-size:1.5rem}.connection-section-title h3{margin:0;font-size:1.125rem;font-weight:600}.expand-icon{font-size:.875rem;transition:transform .2s;opacity:.7}.connection-section-header.expanded .expand-icon{opacity:1}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;margin-left:auto;margin-right:.5rem}.status-badge.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.connection-section-header.expanded .status-badge.success{background:#fff3;color:#fff;border-color:#ffffff4d}.connection-section-content{padding:1.5rem;background:#fff;animation:expandDown .3s ease-out}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{border-color:#0078d4;box-shadow:0 0 0 3px #0078d41a}.form-group small{display:block;margin-top:.25rem;color:#666;font-size:.85rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-start}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary{background:#0078d4;color:#fff}.btn-primary:hover:not(:disabled){background:#005a9e;transform:translateY(-1px);box-shadow:0 4px 12px #0078d44d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-large{padding:1rem 2rem;font-size:1.1rem;width:100%}.btn-discover{background:linear-gradient(135deg,#0078d4,#005a9e);box-shadow:0 4px 12px #0078d44d;font-weight:600}.btn-discover:hover:not(:disabled){background:linear-gradient(135deg,#005a9e,#004578);transform:translateY(-2px);box-shadow:0 6px 16px #0078d466}.saved-indicator{color:#155724;font-weight:500;display:flex;align-items:center;gap:.5rem}.message{padding:1rem;border-radius:6px;margin-top:1rem;font-size:.9rem}.migration-modal-footer{padding:1.5rem 2rem;border-top:1px solid #e0e0e0;background:#f8f9fa;border-radius:0 0 12px 12px}.connection-locked-notice{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;background:#f0f7ff;border:1px solid #b3d4f5;border-radius:6px;color:#004578}.connection-locked-notice .lock-icon{font-size:1.375rem;flex-shrink:0;margin-top:.1rem}.connection-locked-notice strong{display:block;font-size:.95rem;margin-bottom:.25rem}.connection-locked-notice p{margin:0;font-size:.875rem;color:#005a9e;line-height:1.4}@media(max-width:768px){.migration-modal-content{width:95%;max-height:95vh}.migration-modal-header,.migration-modal-body,.migration-modal-footer,.connection-section-header,.connection-section-content{padding:1rem}.form-actions{flex-direction:column;gap:.75rem}.btn{width:100%}}.transform-section{grid-column:1 / -1;margin-top:8px;border-top:1px solid #e8e8e8;padding-top:8px}.transform-section__header{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:2px 0;width:100%;text-align:left;font-size:13px}.transform-section__header:hover{opacity:.8}.transform-section__chevron{font-size:10px;color:#666;width:12px}.transform-section__badge{background:#0078d4;color:#fff;font-size:10px;font-weight:600;padding:1px 5px;border-radius:8px;margin-left:4px}.transform-section__body{padding-top:8px}.transform-section__loading{font-size:11px;color:#888}.transform-section__empty{display:flex;align-items:center;gap:8px;font-size:12px;color:#888;padding:4px 0}.transform-section__add-link{background:none;border:none;color:#0078d4;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.transform-section__add-link:hover{color:#005a9e}.transform-pipeline{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 0 8px}.transform-pipeline__arrow{font-size:11px;color:#999;margin:0 2px}.transform-pipeline__pill{display:inline-flex;align-items:center;gap:3px;background:#e8f4fd;border:1px solid #b3d7f0;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:500;color:#0063a8;cursor:pointer;transition:background .1s,border-color .1s;white-space:nowrap}.transform-pipeline__pill:hover{background:#d0ebf9;border-color:#80c0e8}.transform-pipeline__pill--active{background:#0078d4;border-color:#0078d4;color:#fff}.transform-pipeline__pill--disabled{opacity:.4;text-decoration:line-through}.transform-pipeline__pill-label{font-family:SF Mono,Cascadia Code,Consolas,monospace}.transform-pipeline__pill-config{font-size:10px;opacity:.7;max-width:80px;overflow:hidden;text-overflow:ellipsis}.transform-pipeline__add-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px dashed #0078d4;background:none;color:#0078d4;font-size:14px;font-weight:600;cursor:pointer;margin-left:4px;transition:background .1s}.transform-pipeline__add-btn:hover{background:#e8f4fd}.transform-rule-detail{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px;padding:8px 12px;margin:4px 0 8px;font-size:12px}.transform-rule-detail__header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.transform-rule-detail__meta{font-size:11px;color:#888}.transform-rule-detail__config{background:#fff;border:1px solid #e8e8e8;border-radius:3px;padding:4px 8px;margin:4px 0;font-size:10px;font-family:SF Mono,Cascadia Code,Consolas,monospace;overflow-x:auto;max-height:60px}.transform-rule-detail__actions{display:flex;gap:4px;margin-top:6px}.transform-rule-detail__actions button{padding:2px 8px;font-size:11px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer}.transform-rule-detail__actions button:hover{background:#f0f0f0}.transform-rule-detail__actions button:disabled{opacity:.4;cursor:not-allowed}.transform-rule-detail__delete{color:#c00!important;border-color:#e0b0b0!important}.transform-rule-detail__delete:hover{background:#fff0f0!important}.transform-add-form{border:1px solid #b3d7f0;border-radius:4px;padding:8px;margin:6px 0;background:#f8fbfd}.transform-add-form__row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.transform-add-form__row:last-child{margin-bottom:0}.transform-add-form__select{padding:3px 6px;font-size:11px;border:1px solid #ccc;border-radius:3px;min-width:100px}.transform-add-form__select--small{min-width:80px;max-width:120px}.transform-add-form__input{flex:1;padding:3px 6px;font-size:11px;border:1px solid #ccc;border-radius:3px}.transform-add-form__input--mono{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:10px}.transform-add-form__btn{padding:3px 10px;font-size:11px;border:none;border-radius:3px;cursor:pointer;background:#0078d4;color:#fff;font-weight:500}.transform-add-form__btn:hover{background:#005a9e}.transform-add-form__btn--cancel{background:#f0f0f0;color:#333;border:1px solid #ccc}.transform-add-form__btn--cancel:hover{background:#e0e0e0}.transform-preview{border-top:1px solid #e8e8e8;padding-top:6px;margin-top:6px}.transform-preview__row{display:flex;align-items:center;gap:6px}.transform-preview__input{flex:0 1 160px;padding:3px 6px;font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,monospace;border:1px solid #ccc;border-radius:3px}.transform-preview__btn{padding:3px 8px;font-size:11px;border:1px solid #ccc;border-radius:3px;background:#f8f8f8;cursor:pointer}.transform-preview__btn:hover{background:#e8e8e8}.transform-preview__result{font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,monospace;color:#107c10;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.transform-preview__result--error{color:#c00}.transform-add-form__stack{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.transform-add-form__textarea{width:100%;min-height:88px;padding:6px 8px;font-size:11px;border:1px solid #ccc;border-radius:3px;box-sizing:border-box;resize:vertical;font-family:SF Mono,Cascadia Code,Consolas,monospace}.transform-add-form__textarea--code{min-height:110px}.transform-add-form__row--compact{flex-wrap:wrap}.transform-add-form__hint{font-size:11px;color:#666}.transform-add-form__link-btn{background:none;border:none;color:#0078d4;font-size:12px;padding:2px 0;cursor:pointer;text-align:left}.transform-add-form__link-btn:hover{text-decoration:underline;color:#005a9e}.transform-add-form__error{font-size:11px;color:#c00}.transform-add-form__checkbox{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#333}.transform-advanced{grid-column:1 / -1;margin-top:8px;border-top:1px solid #e8e8e8;padding-top:8px}.transform-advanced__header{display:flex;align-items:center;gap:6px;width:100%;padding:2px 0;background:none;border:none;text-align:left;cursor:pointer}.transform-advanced__tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.transform-advanced__tab{border:1px solid #c9d7e4;background:#fff;border-radius:999px;padding:4px 10px;font-size:11px;cursor:pointer}.transform-advanced__tab--active{background:#0078d4;border-color:#0078d4;color:#fff}.transform-advanced__panel{border:1px solid #dde7f0;border-radius:6px;background:#fbfdff;padding:12px}.transform-advanced__message{margin-bottom:10px;font-size:12px;color:#0b6a0b}.transform-advanced__message--error{color:#c00}.transform-advanced__split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.9fr);gap:12px}.transform-advanced__stack{display:flex;flex-direction:column;gap:10px}.transform-advanced__card{border:1px solid #d9e2ea;border-radius:6px;background:#fff;padding:10px}.transform-advanced__card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.transform-advanced__title-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.transform-advanced__badge{background:#e8f4fd;color:#0063a8;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.transform-advanced__badge--project{background:#f3e8ff;color:#6a1b9a}.transform-advanced__badge--error{background:#fff1f0;color:#c00}.transform-advanced__muted{color:#666;font-size:11px}.transform-advanced__rule-list,.transform-advanced__target-list,.transform-advanced__param-list{margin:8px 0 0;padding-left:18px;font-size:12px}.transform-advanced__form{display:flex;flex-direction:column;gap:8px}.transform-advanced__row{display:flex;gap:8px;flex-wrap:wrap}.transform-advanced__input,.transform-advanced__select,.transform-advanced__textarea{width:100%;padding:6px 8px;border:1px solid #c9d2dc;border-radius:4px;font-size:12px;box-sizing:border-box}.transform-advanced__textarea{min-height:82px;resize:vertical;font-family:SF Mono,Cascadia Code,Consolas,monospace}.transform-advanced__field{flex:1 1 180px}.transform-advanced__checkbox{display:inline-flex;align-items:center;gap:6px;font-size:12px}.transform-advanced__actions{display:flex;gap:8px;flex-wrap:wrap}.transform-advanced__button{border:1px solid #0078d4;background:#0078d4;color:#fff;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer}.transform-advanced__button:hover{background:#005a9e}.transform-advanced__button:disabled{opacity:.5;cursor:not-allowed}.transform-advanced__button--secondary{background:#fff;color:#005a9e}.transform-advanced__button--danger{border-color:#c00;background:#fff0f0;color:#a80000}.transform-advanced__endpoint-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:#666}.transform-advanced__health{font-size:11px;font-weight:600}.transform-advanced__health--ok{color:#107c10}.transform-advanced__health--bad{color:#c00}@media(max-width:960px){.transform-advanced__split{grid-template-columns:1fr}}.field-info-btn{padding:0 3px;font-size:12px;border:none;border-radius:3px;cursor:pointer;line-height:16px;margin-left:2px;opacity:.7;transition:opacity .15s,background .15s,color .15s;background:transparent;color:#0078d4}.field-info-btn:hover,.field-info-btn:focus-visible{opacity:1}.field-info-btn--active{background:#0078d4;color:#fff;opacity:1}.field-detail-panel{background:#fafbfc;border-top:2px solid #0078d4;padding:12px 16px;font-size:13px;color:#333;animation:fdp-slide-in .15s ease-out}@keyframes fdp-slide-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.field-detail-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}@media(max-width:900px){.field-detail-panel__grid{grid-template-columns:1fr}}.field-detail-panel__section{margin-bottom:0}.field-detail-panel__section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666;margin:0 0 6px;border-bottom:1px solid #e0e0e0;padding-bottom:4px}.field-detail-panel__row{display:flex;justify-content:space-between;padding:2px 0;font-size:12px;line-height:1.5}.field-detail-panel__label{color:#666;flex-shrink:0;margin-right:8px}.field-detail-panel__value{color:#222;font-weight:500;text-align:right;word-break:break-word}.field-detail-panel__compat-list{list-style:none;padding:0;margin:4px 0 0}.field-detail-panel__compat-item{display:flex;align-items:flex-start;gap:6px;padding:3px 0;font-size:12px;line-height:1.4}.field-detail-panel__compat-icon{flex-shrink:0;width:16px;text-align:center;font-size:12px}.field-detail-panel__loading{text-align:center;padding:16px;color:#888;font-size:12px}.field-detail-panel__error{text-align:center;padding:12px;color:#c62828;font-size:12px}.field-detail-panel__empty{text-align:center;padding:12px;color:#999;font-size:12px;font-style:italic}.field-detail-panel__top-values{margin-top:4px}.field-detail-panel__top-value-row{display:flex;align-items:center;gap:6px;padding:1px 0;font-size:11px}.field-detail-panel__top-value-bar{height:6px;border-radius:3px;background:#0078d4;opacity:.6;transition:width .2s ease}.field-detail-panel__top-value-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444;max-width:200px}.field-detail-panel__top-value-count{color:#888;min-width:30px;text-align:right}.fcp{background:#fafbfc;border-top:2px solid #0078d4;padding:16px;font-size:13px;color:#333;animation:fcp-slide-in .15s ease-out}@keyframes fcp-slide-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.fcp__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fcp__title{font-size:14px;font-weight:600;margin:0;color:#0078d4}.fcp__close{border:none;background:transparent;font-size:18px;cursor:pointer;color:#666;padding:4px 8px;border-radius:4px}.fcp__close:hover{background:#e8e8e8;color:#333}.fcp__error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;padding:8px 12px;border-radius:4px;margin-bottom:12px;font-size:12px}.fcp__presets{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px;background:#f0f7ff;border-radius:4px;border:1px solid #d0e3f7}.fcp__section-header{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;padding:6px 4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#555;cursor:pointer;border-bottom:1px solid #e8e8e8}.fcp__section-header:hover{color:#0078d4}.fcp__section-chevron{font-size:10px;width:12px}.fcp__section-body{padding:10px 4px}.fcp__field{margin-bottom:10px}.fcp__field--inline{margin-bottom:6px}.fcp__field--half{flex:1;min-width:0}.fcp__field-row{display:flex;gap:12px;margin-bottom:10px}.fcp__label{display:block;font-size:11px;font-weight:600;color:#555;margin-bottom:3px}.fcp__checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.fcp__input,.fcp__textarea,.fcp__select{width:100%;padding:5px 8px;border:1px solid #ccc;border-radius:4px;font-size:12px;font-family:inherit;box-sizing:border-box}.fcp__input:focus,.fcp__textarea:focus,.fcp__select:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 1px #0078d433}.fcp__textarea{resize:vertical}.fcp__hint{display:block;font-size:11px;color:#888;margin-top:2px;font-style:italic}.fcp__preview-table{margin-top:10px}.fcp__table{width:100%;border-collapse:collapse;font-size:11px}.fcp__table th{text-align:left;padding:4px 8px;background:#f0f0f0;border-bottom:1px solid #ddd;font-weight:600}.fcp__table td{padding:4px 8px;border-bottom:1px solid #eee;vertical-align:top}.fcp__cell-mono{font-family:Cascadia Code,Consolas,monospace;font-size:11px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fcp__status{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600}.fcp__status--pass{background:#d4edda;color:#155724}.fcp__status--cleaned{background:#e8f4fd;color:#0c5fae}.fcp__status--defaulted{background:#fff3cd;color:#856404}.fcp__status--skipped_field{background:#fef2f2;color:#dc2626}.fcp__status--skipped_record{background:#f3e8ff;color:#7c3aed}.fcp__actions{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e8e8e8}.fcp__btn{padding:6px 14px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.fcp__btn:disabled{opacity:.6;cursor:not-allowed}.fcp__btn--primary{background:#0078d4;color:#fff}.fcp__btn--primary:hover:not(:disabled){background:#006cbe}.fcp__btn--secondary{background:#e8e8e8;color:#333}.fcp__btn--secondary:hover:not(:disabled){background:#ddd}.fcp__btn--danger{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.fcp__btn--danger:hover:not(:disabled){background:#fee2e2}:root{--color-primary: #0078d4;--color-primary-light: #e7f3ff;--color-success: #28a745;--color-success-light: #d1e7dd;--color-warning: #ffc107;--color-warning-light: #fff3cd;--color-danger: #dc3545;--color-danger-light: #f8d7da;--color-info: #0066cc;--color-info-light: #cfe2ff;--color-gray-50: #f8f9fa;--color-gray-100: #f5f5f5;--color-gray-200: #e0e0e0;--color-gray-300: #dee2e6;--color-gray-400: #767676;--color-gray-500: #666;--color-gray-600: #555;--color-gray-700: #333;--color-purple: #6f42c1;--color-teal: #17a2b8;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px}.setup-container{display:flex;min-height:calc(100vh - 4rem);background:var(--color-gray-100);margin:-2rem}.setup-sidebar{width:260px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 4rem);overflow-y:auto}.sidebar-header{padding:2rem 1.5rem 1.5rem;border-bottom:1px solid #e0e0e0}.sidebar-header h2{font-size:1.5rem;color:#333;margin:0;font-weight:600}.sidebar-nav{padding:1rem 0;flex:1}.sidebar-tab{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border:none;background:transparent;color:#666;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;position:relative}.sidebar-tab:hover{background:#f8f9fa;color:#333}.sidebar-tab.active{background:#e7f3ff;color:#0078d4;border-right:3px solid #0078d4}.sidebar-tab svg{flex-shrink:0}.sidebar-tab span:first-of-type{flex:1}.sidebar-subtabs{display:flex;flex-direction:column;padding-left:1rem;margin-top:.5rem;border-left:2px solid #e7f3ff;margin-left:1.5rem}.sidebar-subtab{width:100%;display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;background:transparent;color:#666;font-size:.875rem;font-weight:400;cursor:pointer;transition:all .2s;text-align:left;border-radius:4px;margin-bottom:.25rem}.sidebar-subtab:hover{background:#f8f9fa;color:#333}.sidebar-subtab.active{background:#e7f3ff;color:#0078d4;font-weight:500}.sidebar-subtab svg{flex-shrink:0}.sidebar-subtab span:first-of-type{flex:1}.subtab-count{padding:.125rem .375rem;border-radius:8px;font-size:.7rem;font-weight:600;background:#cfe2ff;color:#004085;min-width:20px;text-align:center}.sidebar-subtab.active .subtab-count{background:#0078d4;color:#fff}.status-indicator{padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.status-indicator.success{background:#d4edda;color:#155724}.status-indicator.info{background:#cfe2ff;color:#004085}.sidebar-followups-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.2rem .6rem;border-radius:8px;font-size:.65rem;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 4px #667eea66}.ai-suggestions-list{display:flex;flex-direction:column;gap:1rem}.ai-suggestion-card{padding:1.25rem;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-gray-200);border-left:4px solid #667eea;transition:all .2s}.ai-suggestion-card:hover{box-shadow:0 2px 8px #00000014}.ai-suggestion-card.priority-high{border-left-color:#dc3545}.ai-suggestion-card.priority-medium{border-left-color:#d97706}.ai-suggestion-card.priority-low{border-left-color:#667eea}.ai-suggestion-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ai-suggestion-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-gray-100);color:var(--color-gray-700);font-weight:700;font-size:.875rem}.ai-suggestion-badges{display:flex;gap:.5rem;align-items:center}.followup-category{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase}.followup-category.cat-usage{background:#fff3cd;color:#856404}.followup-category.cat-migration{background:#cfe2ff;color:#004085}.followup-category.cat-complexity{background:#f8d7da;color:#842029}.followup-category.cat-dependency{background:#d1e7dd;color:#0f5132}.followup-category.cat-techDebt{background:#e2e3e5;color:#41464b}.ai-suggestion-priority{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase}.priority-badge-high{background:#f8d7da;color:#842029}.priority-badge-medium{background:#fff3cd;color:#856404}.priority-badge-low{background:#e2e3e5;color:#41464b}.ai-suggestion-text{font-size:1rem;line-height:1.6;color:var(--color-gray-700);margin:0}.ai-suggestion-entity{margin-top:.5rem;font-size:.8rem;color:var(--color-gray-500)}.ai-suggestion-entity code{background:var(--color-gray-100);padding:.1rem .4rem;border-radius:3px;font-size:.8rem;color:var(--color-info)}.discovery-filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);margin-bottom:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.8rem;font-weight:600;color:var(--color-gray-500);white-space:nowrap}.filter-select{padding:.375rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);font-size:.8rem;background:#fff;cursor:pointer;min-width:140px}.filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #0078d426}.filter-clear{background:none;border:1px solid var(--color-gray-300);color:var(--color-gray-500);padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:all .2s}.filter-clear:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.filter-count{font-size:.8rem;color:var(--color-primary);font-weight:500;margin-left:auto}.setup-content{flex:1;min-width:0;overflow-y:auto;padding:2rem}.tab-content{display:flex;flex-direction:column;gap:1.5rem}.content-header{margin-bottom:.5rem}.content-header h1{font-size:2rem;color:#333;margin-bottom:.5rem}.content-header .subtitle{font-size:1rem;color:#666;margin:0}.objects-list-view{display:flex;flex-direction:column;gap:.75rem}.object-details{border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;overflow:hidden}.object-summary{padding:1rem 1.25rem;cursor:pointer;list-style:none;background:#fff;transition:background .2s}.object-summary::-webkit-details-marker{display:none}.object-summary:hover{background:#f8f9fa}.object-summary:focus-visible{outline:2px solid #005da6;outline-offset:-2px;border-radius:4px}.bp-rule-name-btn:focus-visible{outline:2px solid #005da6;outline-offset:2px;border-radius:2px}.object-summary-content{display:flex;justify-content:space-between;align-items:center}.object-label{font-size:1rem;color:#333;margin-right:.75rem}.object-api-name{font-size:.875rem;color:#666;font-family:Courier New,monospace;margin-right:.75rem}.object-meta{display:flex;align-items:center;gap:.5rem}.object-fields-table{padding:1rem;background:#fff;border-top:1px solid #e0e0e0}.field-type{font-family:Courier New,monospace;font-size:.875rem;color:#0078d4}.field-meta{font-size:.75rem;color:#767676;margin-left:.25rem}.field-properties{display:flex;flex-wrap:wrap;gap:.25rem}.property-badge{padding:.125rem .5rem;border-radius:3px;font-size:.75rem;font-weight:500}.badge-required{background:#f8d7da;color:#721c24}.badge-unique{background:#d1ecf1;color:#0c5460}.badge-reference{background:#cfe2ff;color:#004085}.badge-picklist{background:#fff3cd;color:#856404}.badge-default{background:#e2e3e5;color:#383d41}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.metric-card{background:var(--color-gray-50);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.metric-value{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-xs)}.metric-label{font-size:.875rem;color:var(--color-gray-500)}.metric-value.primary{color:var(--color-gray-700)}.metric-value.info{color:var(--color-info)}.metric-value.success{color:var(--color-success)}.metric-value.warning{color:var(--color-warning)}.metric-value.purple{color:var(--color-purple)}.metric-value.teal{color:var(--color-teal)}.info-box{padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border:1px solid}.info-box.info{background:var(--color-primary-light);border-color:var(--color-primary);color:#004085}.info-box.warning{background:var(--color-warning-light);border-color:var(--color-warning);color:#856404}.info-box.success{background:var(--color-success-light);border-color:var(--color-success);color:#155724}.info-box.danger{background:var(--color-danger-light);border-color:var(--color-danger);color:#721c24}.info-box.neutral{background:var(--color-gray-50);border-color:var(--color-gray-300);color:var(--color-gray-600)}.card{background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.card-header{font-size:1.25rem;font-weight:600;color:var(--color-gray-700);margin-bottom:var(--spacing-lg)}.button{padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s}.button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.button-primary:hover{opacity:.9;transform:translateY(-1px)}.button-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.button-secondary{background:#fff;color:var(--color-primary);border-color:var(--color-primary)}.button-secondary:hover{background:var(--color-primary-light)}.button-small{padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem}.table{width:100%;border-collapse:collapse}.table thead{background:var(--color-gray-50)}.table th{padding:var(--spacing-md);text-align:left;font-size:.875rem;font-weight:600;color:var(--color-gray-700);border-bottom:2px solid var(--color-gray-300)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);font-size:.875rem}.table tbody tr:hover{background:var(--color-gray-50)}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray{color:var(--color-gray-500)}.text-gray-dark{color:var(--color-gray-700)}.mb-1{margin-bottom:var(--spacing-lg)}.mb-2{margin-bottom:var(--spacing-xl)}.mb-3{margin-bottom:var(--spacing-2xl)}.mt-1{margin-top:var(--spacing-lg)}.mt-2{margin-top:var(--spacing-xl)}.badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;display:inline-block}.badge-info{background:var(--color-info-light);color:#004085}.badge-success{background:var(--color-success-light);color:#155724}.badge-warning{background:var(--color-warning-light);color:#856404}.badge-danger{background:var(--color-danger-light);color:#721c24}.sidebar-chat-toggle{display:flex;align-items:center;gap:.5rem;width:calc(100% - 1.5rem);margin:.75rem;padding:.625rem 1rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50);color:var(--color-gray-500);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.sidebar-chat-toggle:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.sidebar-chat-toggle.active{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary);font-weight:600}.sidebar-chat-toggle svg{flex-shrink:0}.setup-chat-panel{min-width:300px;max-width:50vw;background:#fff;border-left:1px solid var(--color-gray-200);display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden}.chat-panel-resize-handle{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:10;background:transparent;transition:background .15s}.chat-panel-resize-handle:hover,.chat-panel-resize-handle.dragging{background:var(--color-primary);opacity:.3}.setup-chat-panel .agent-chat-container,.setup-chat-panel .chatbot-container{height:100%;border-radius:0;box-shadow:none}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--color-gray-200);background:var(--color-gray-50);flex-shrink:0}.chat-panel-header .chat-mode-toggle{margin:0}.chat-panel-close{background:none;border:none;font-size:1.25rem;color:var(--color-gray-400);cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);line-height:1;transition:all .15s}.chat-panel-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}@media(max-width:1024px){.setup-container{flex-direction:column}.setup-sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--color-gray-200)}.sidebar-nav{display:flex;flex-direction:column;padding:0}.sidebar-tab{flex:none;justify-content:flex-start;border-right:none;border-bottom:none;border-left:3px solid transparent}.sidebar-tab.active{border-right:none;border-bottom:none;border-left:3px solid var(--color-primary)}.sidebar-subtabs{margin-left:2rem;padding-left:.5rem}.sidebar-subtab{padding:.5rem 1rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm)}.setup-chat-panel,.sidebar-chat-toggle{display:none}}@media(max-width:480px){.setup-content{padding:1rem}.content-header h1{font-size:1.5rem}.sidebar-header{padding:1rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-border{display:inline-block;border:4px solid #f3f3f3;border-top:4px solid #0078d4;border-radius:50%;animation:spin 1s linear infinite}.sidebar-loader{padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#e7f3ff,#f0f7ff);margin:.5rem 1rem;border-radius:8px;border-left:3px solid var(--color-primary)}.sidebar-loader-spinner{width:20px;height:20px;border:3px solid #e0e0e0;border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.sidebar-loader-text{color:var(--color-primary);font-size:.9rem;font-weight:500}.discovery-fullscreen-loader{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffffa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-in}.discovery-loader-content{text-align:center;max-width:600px;padding:3rem 2rem}.discovery-loader-spinner{width:80px;height:80px;border:6px solid #e0e0e0;border-top:6px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}.discovery-loader-title{font-size:2rem;color:var(--color-primary);margin:0 0 1rem;font-weight:600}.discovery-loader-description{font-size:1.125rem;color:var(--color-gray-500);margin:0 0 2rem;line-height:1.6}.discovery-loader-status{background:var(--color-success-light);color:var(--color-success);padding:1rem 1.5rem;border-radius:8px;border-left:4px solid var(--color-success);font-size:.95rem;font-weight:500;animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.export-dropdown{position:relative;display:inline-block}.export-dropdown-caret{font-size:.7rem;opacity:.8}.export-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.export-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:100;overflow:hidden}.export-dropdown-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;font-size:.875rem;color:#333;cursor:pointer;transition:background .15s}.export-dropdown-item:hover{background:#f5f5f5}.prereq-callout{display:flex;gap:.875rem;align-items:flex-start;background:#fffbeb;border:1px solid #f59e0b;border-left:4px solid #f59e0b;border-radius:6px;padding:.875rem 1rem;margin-bottom:1.5rem}.prereq-callout-icon{font-size:1.1rem;color:#d97706;flex-shrink:0;line-height:1.4}.prereq-callout-body{flex:1}.prereq-callout-body strong{display:block;font-size:.9rem;color:#92400e;margin-bottom:.25rem}.prereq-callout-body p{margin:0 0 .625rem;font-size:.85rem;color:#78350f}.prereq-callout-actions{display:flex;gap:.75rem;flex-wrap:wrap}.prereq-callout-link{background:none;border:none;padding:0;font-size:.85rem;font-weight:600;color:#b45309;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.prereq-callout-link:hover{color:#92400e}.sidebar-tab-status{width:8px;height:8px;border-radius:50%;margin-left:auto}.sidebar-tab-status.complete{background:var(--color-success)}.sidebar-tab-status.in-progress{background:var(--color-primary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.prerequisites-panel{margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--color-gray-50);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg)}.prerequisite-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;transition:all .2s}.prerequisite-item:last-child{margin-bottom:0}.prerequisite-item.complete{background:var(--color-success-light);border:1px solid #c3e6cb}.prerequisite-item.pending{background:var(--color-warning-light);border:1px solid #ffeeba}.prerequisite-item.locked{background:#e9ecef;border:1px solid var(--color-gray-300);opacity:.6}.prerequisite-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fff;flex-shrink:0}.prerequisite-item.complete .prerequisite-icon{background:var(--color-success)}.prerequisite-item.pending .prerequisite-icon{background:var(--color-warning)}.prerequisite-item.locked .prerequisite-icon{background:var(--color-gray-300)}.pd{max-width:1200px;margin:0 auto}.pd-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.pd-title{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.pd-subtitle{color:#666;font-size:.95rem;max-width:600px}.pd-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.pd-btn-icon{font-size:1.1rem;line-height:1}.pd-btn-primary{background:#0078d4;color:#fff}.pd-btn-primary:hover:not(:disabled){background:#005a9e}.pd-btn-primary:disabled{background:#b0b0b0;cursor:not-allowed}.pd-btn-ghost{background:transparent;color:#555;border:1px solid #ccc}.pd-btn-ghost:hover{background:#f5f5f5}.pd-btn-danger{background:#d13438;color:#fff}.pd-btn-danger:hover{background:#a4262c}.pd-btn-lg{padding:.85rem 1.75rem;font-size:1rem}.pd-link{background:none;border:none;color:#0078d4;cursor:pointer;text-decoration:underline;font-size:inherit;margin-left:.5rem}.pd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#666}.pd-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#0078d4;border-radius:50%;animation:pd-spin .8s linear infinite;margin-bottom:1rem}@keyframes pd-spin{to{transform:rotate(360deg)}}.pd-banner{padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.pd-banner-error{background:#fef0f0;color:#a4262c;border:1px solid #f5c6cb}.pd-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;border:2px dashed #d0d0d0}.pd-empty-icon{font-size:3rem;margin-bottom:1rem}.pd-empty h2{font-size:1.4rem;color:#333;margin-bottom:.5rem}.pd-empty p{color:#777;margin-bottom:1.5rem;max-width:450px;margin-left:auto;margin-right:auto}.pd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.pd-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.25rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.pd-card:hover{border-color:#0078d4;box-shadow:0 4px 16px #0078d41f;transform:translateY(-2px)}.pd-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.pd-card-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;word-break:break-word}.pd-card-title-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;word-break:break-word}.pd-card-title-btn:focus-visible{outline:2px solid #0078d4;outline-offset:2px;border-radius:2px}.pd-card-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.pd-card-menu{background:none;border:none;cursor:pointer;padding:.25rem;opacity:0;transition:opacity .15s;font-size:.85rem;border-radius:4px}.pd-card:hover .pd-card-menu{opacity:.6}.pd-card:focus-within .pd-card-menu{opacity:.6}.pd-card-menu:hover{opacity:1!important;background:#f5f5f5}.pd-card-menu:focus-visible{opacity:1!important;background:#f5f5f5;outline:2px solid #0078d4;outline-offset:1px}.pd-card-desc{font-size:.85rem;color:#666;margin-bottom:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pd-card-meta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem;flex:1}.pd-meta-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#555}.pd-meta-icon{font-size:.85rem}.pd-meta-label{font-weight:600;color:#444;min-width:1.5rem}.pd-meta-value{color:#0078d4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-meta-unconfigured{color:#767676;font-style:italic}.pd-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f0f0f0}.pd-card-date{font-size:.75rem;color:#767676}.pd-card-arrow{color:#0078d4;font-size:1.1rem;opacity:0;transition:opacity .15s,transform .15s}.pd-card:hover .pd-card-arrow{opacity:1;transform:translate(3px)}.pd-card-new{border:2px dashed #c0c0c0;background:#fafafa;display:flex;align-items:center;justify-content:center;min-height:180px}.pd-card-new:hover{border-color:#0078d4;background:#f0f7ff}.pd-card-new-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#767676;font-size:.95rem}.pd-card-new-icon{font-size:2rem;color:#0078d4;line-height:1}.pd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:pd-fadeIn .15s}@keyframes pd-fadeIn{0%{opacity:0}to{opacity:1}}.pd-modal{background:#fff;border-radius:12px;width:90%;max-width:520px;box-shadow:0 20px 60px #0003;animation:pd-slideUp .2s ease-out}.pd-modal-sm{max-width:400px}@keyframes pd-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pd-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.pd-modal-header h2{font-size:1.15rem;font-weight:600;color:#1a1a1a}.pd-modal-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;line-height:1}.pd-modal-close:hover{color:#333}.pd-modal form,.pd-modal-body-text{padding:1.5rem}.pd-modal-body-text{color:#555;font-size:.95rem;line-height:1.5}.pd-field{margin-bottom:1.25rem}.pd-field label{display:block;font-size:.85rem;font-weight:500;color:#333;margin-bottom:.35rem}.pd-required{color:#d13438}.pd-field input,.pd-field textarea{width:100%;padding:.6rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem;font-family:inherit;transition:border-color .15s;resize:vertical}.pd-field input:focus,.pd-field textarea:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d426}.pd-inline-error{color:#d13438;font-size:.85rem;margin-bottom:1rem;padding:.5rem .75rem;background:#fef0f0;border-radius:4px}.pd-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #eee}.pd-card-title-row{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.pd-shared-badge{display:inline-block;padding:.15rem .5rem;background:#e6f0fb;color:#0078d4;border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.pd-shared-by{font-size:.8rem;color:#666;margin:-.25rem 0 .25rem}.pd-modal-share{width:500px;max-width:95vw}.share-add-form{padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.share-add-label{font-size:.875rem;color:#333;margin-bottom:.6rem}.share-add-row{display:flex;gap:.5rem}.share-email-input{flex:1;padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem;font-family:inherit;transition:border-color .15s}.share-email-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d426;outline:none}.share-error{color:#d13438;font-size:.82rem;margin-top:.5rem}.share-hint{font-size:.78rem;color:#888;margin-top:.5rem}.share-members-section{padding:1.25rem 1.5rem}.share-members-title{font-size:.85rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.share-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:280px;overflow-y:auto}.share-member-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .25rem;border-radius:6px}.share-member-row:hover{background:#f7f7f7}.share-member-avatar{width:32px;height:32px;border-radius:50%;background:#0078d4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex-shrink:0}.share-member-info{flex:1;min-width:0;display:flex;flex-direction:column}.share-member-name{font-size:.9rem;font-weight:500;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-member-you{color:#888;font-weight:400;font-size:.85em}.share-member-email{font-size:.78rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-role-badge{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:4px;flex-shrink:0}.share-role-owner{background:#fff4ce;color:#9a6700}.share-role-editor{background:#e8f5e9;color:#2e7d32}.share-remove-btn{background:none;border:1px solid #ccc;border-radius:4px;color:#555;font-size:.8rem;padding:.2rem .5rem;cursor:pointer;flex-shrink:0;transition:all .15s}.share-remove-btn:hover:not(:disabled){background:#fef0f0;border-color:#d13438;color:#d13438}.share-remove-btn:disabled{opacity:.5;cursor:not-allowed}.share-loading{color:#888;font-size:.9rem;padding:.5rem 0}.share-readonly-note{font-size:.82rem;color:#888;padding:0 1.5rem 1rem}@media(max-width:480px){.pd-modal{width:100%;max-width:100%;border-radius:0;max-height:100vh;overflow-y:auto}.pd-modal-sm{max-width:100%}.pd-modal-header,.pd-modal form,.pd-modal-body-text{padding:1rem}.pd-modal-actions{flex-wrap:wrap;padding:.75rem 1rem}.pd-field input,.pd-field textarea{min-width:0;box-sizing:border-box}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.app{min-height:100vh;display:flex;flex-direction:column;max-width:100vw;overflow-x:hidden}.skip-to-main{position:absolute;top:0;left:0;padding:.5rem 1rem;background:#fff;color:#0078d4;font-weight:600;text-decoration:underline;border:2px solid #0078d4;border-radius:0 0 6px;transform:translateY(-150%);transition:transform .15s;z-index:1000}.skip-to-main:focus,.skip-to-main:focus-visible{transform:translateY(0);outline:2px solid #0078d4;outline-offset:2px}.nav{background:#005da6;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.nav-left{display:flex;align-items:center;gap:0}.nav-brand{font-size:1.5rem;font-weight:700;background:none;border:none;color:inherit;font-family:inherit;cursor:pointer;padding:0}.nav-project-context{display:flex;align-items:center;gap:.6rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.35rem .75rem;margin-left:1.5rem}.nav-project-icon{font-size:1.1rem;line-height:1}.nav-project-info{display:flex;flex-direction:column;line-height:1.5}.nav-project-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-weight:500}.nav-project-name{font-size:.95rem;font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-project-trigger{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:inherit;cursor:pointer;padding:.15rem .3rem;border-radius:4px;transition:background .15s;text-align:left}.nav-project-trigger:hover{background:#ffffff26}.nav-project-caret{font-size:.65rem;opacity:.7;flex-shrink:0}.nav-project-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.nav-project-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:100;overflow:hidden}.nav-user{display:flex;align-items:center;gap:.5rem}.nav-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff3;font-weight:600;font-size:.875rem}.nav-user-name{font-size:.875rem;color:#fff}.nav-user-trigger{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;padding:.25rem .6rem .25rem .4rem;transition:all .2s}.nav-user-trigger:hover{background:#ffffff26;border-color:#ffffff80}.nav-brand:focus-visible,.nav-project-trigger:focus-visible,.nav-user-trigger:focus-visible,.nav-admin-link:focus-visible{outline:3px solid #ffffff;outline-offset:2px;border-radius:4px;box-shadow:0 0 0 6px #0006}@media(forced-colors:active){.nav-brand,.nav-project-trigger,.nav-user-trigger,.nav-admin-link{border:1px solid ButtonBorder;forced-color-adjust:none;background:ButtonFace;color:ButtonText}.nav-brand:focus-visible,.nav-project-trigger:focus-visible,.nav-user-trigger:focus-visible,.nav-admin-link:focus-visible{outline:2px solid Highlight;outline-offset:2px}.skip-to-main{border:2px solid ButtonText;background:ButtonFace;color:ButtonText}.skip-to-main:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.nav-user-caret{font-size:.7rem;opacity:.8}.nav-user-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.nav-user-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:100;overflow:hidden}.nav-user-menu-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;font-size:.875rem;color:#333;cursor:pointer;transition:background .15s}.nav-user-menu-item:hover{background:#f5f5f5}.nav-user-menu-item--danger{color:#c42b1c}.nav-user-menu-item--danger:hover{background:#fde7e9}.nav-user-menu-divider{height:1px;background:#e0e0e0;margin:2px 0}.wipe-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.wipe-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000040;padding:1.5rem;max-width:440px;width:90%}.wipe-dialog-title{margin:0 0 .75rem;font-size:1.1rem;color:#1a1a1a}.wipe-dialog-text{margin:0 0 1.25rem;font-size:.9rem;color:#444;line-height:1.5}.wipe-dialog-error{margin:-.5rem 0 1rem;padding:.5rem .75rem;background:#fde7e9;border-radius:4px;color:#c42b1c;font-size:.85rem}.wipe-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.wipe-dialog-btn{padding:.5rem 1rem;border:1px solid #d0d0d0;border-radius:4px;background:#fff;font-size:.875rem;cursor:pointer;transition:background .15s}.wipe-dialog-btn:hover:not(:disabled){background:#f5f5f5}.wipe-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.wipe-dialog-btn--danger{background:#c42b1c;color:#fff;border-color:#c42b1c}.wipe-dialog-btn--danger:hover:not(:disabled){background:#a31b0d}.wipe-dialog-btn--primary{background:#0078d4;color:#fff;border-color:#0078d4}.wipe-dialog-btn--primary:hover:not(:disabled){background:#106ebe}.nav-links{display:flex;gap:2rem}.nav-links a{color:#fff;text-decoration:none;transition:opacity .2s}.nav-links a:hover{opacity:.8}.main{flex:1;padding:2rem;max-width:1800px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:2rem}.page h1{font-size:2rem;color:#333}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.card h2{font-size:1.5rem;margin-bottom:1rem;color:#333}.table{width:100%;border-collapse:collapse;margin-top:1rem}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0;color:#333}.table th{background:#f5f5f5;font-weight:600;color:#333}.status{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-draft{background:#e0e0e0;color:#666}.status-discovered{background:#d4edda;color:#155724}.status-mapped{background:#cce5ff;color:#004085}.status-schemabuilt{background:#d1ecf1;color:#0c5460}.status-migrating{background:#fff3cd;color:#856404}.status-validating{background:#f8d7da;color:#721c24}.status-completed{background:#d4edda;color:#155724}.status-completedwitherrors{background:#fff3cd;color:#856404}.status-failed{background:#f8d7da;color:#721c24}.status-skipped,.status-stopped{background:#e0e0e0;color:#555}.status-running{background:#cce5ff;color:#004085}.status-rollingback{background:#fff3cd;color:#856404}.status-rolledback{background:#e0e0e0;color:#555}.status-rolledbackwitherrors{background:#f8d7da;color:#721c24}.button-primary,.button-secondary,.button-small{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.button-secondary:hover{background:#e0e0e0}.button-small{padding:.5rem 1rem;font-size:.875rem;background:#f5f5f5;color:#333}.input{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.input:focus{border-color:#0078d4}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.loading{text-align:center;padding:2rem;font-size:1.25rem;color:#666}.workflow-steps{margin-top:2rem}.steps{display:flex;gap:1rem;margin-top:1rem}.step{flex:1;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.step-number{width:40px;height:40px;border-radius:50%;background:#0078d4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.step h3{margin-bottom:.5rem}.progress-bar{width:100%;height:20px;background:#e0e0e0;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:#0078d4;transition:width .3s}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-fill--indeterminate{position:relative;background:linear-gradient(90deg,#0078d4 25%,#50a0e0,#0078d4 75%);background-size:200% 100%;animation:progress-shimmer 1.5s infinite linear;overflow:hidden}.progress-text{text-align:center;margin-top:.25rem;font-size:.875rem}.logs-container{max-height:400px;overflow-y:auto;padding:1rem;background:#f5f5f5;border-radius:4px}.log-entry{padding:.5rem;margin-bottom:.5rem;border-left:4px solid;background:#fff}.log-info{border-color:#0078d4}.log-warning{border-color:#ffc107}.log-error{border-color:#dc3545}.log-time{margin-right:1rem;color:#666}.log-level{margin-right:1rem;font-weight:600}.mapping-container{display:grid;grid-template-columns:300px 1fr;gap:1rem}.object-list{max-height:600px;overflow-y:auto}.object-item{padding:1rem;margin-bottom:.5rem;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s}.object-item:hover{border-color:#0078d4;background:#f8f9fa}.object-item.selected{border-color:#0078d4;background:#e7f3ff}.object-name{font-size:.875rem;color:#666;margin-top:.25rem}.field-count{font-size:.75rem;color:#767676;margin-top:.25rem}.subtitle{font-size:1rem;color:#666;margin-top:-1rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.status-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.status-detail{width:100%;font-size:.85rem;color:#666;padding-left:.25rem}.connected-banner{display:flex;align-items:flex-start;gap:1.25rem;background:linear-gradient(135deg,#f0faf4,#eaf4ff);border:1.5px solid #28a745;border-radius:12px;padding:1.5rem 2rem}.connected-banner-icon{font-size:2rem;flex-shrink:0;margin-top:.1rem}.connected-banner-body{flex:1}.connected-banner-title{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:#155724}.connected-banner-subtitle{margin:0 0 1.25rem;font-size:.9rem;color:#4a7c59}.connected-banner-connections{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.connected-banner-item{display:flex;align-items:center;gap:.625rem;background:#fff;border:1px solid #c3e6cb;border-radius:8px;padding:.625rem 1rem;min-width:200px}.connected-banner-logo{font-size:1.375rem;flex-shrink:0}.connected-banner-label{display:block;font-size:.75rem;font-weight:600;color:#767676;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.125rem}.connected-banner-env{display:block;font-size:.9rem;font-weight:600;color:#0078d4;word-break:break-all;text-decoration:none}.connected-banner-env:hover{text-decoration:underline}.connected-banner-divider{font-size:1.25rem;color:#adb5bd;flex-shrink:0}@media(max-width:600px){.connected-banner{flex-direction:column;gap:.75rem}.connected-banner-connections{flex-direction:column;align-items:stretch}.connected-banner-divider{display:none}}.status-success{background:#d4edda;color:#155724}.status-error{background:#f8d7da;color:#721c24}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input[type=text],.form-group input[type=url],.form-group input[type=password]{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.form-group small{display:block;margin-top:.25rem;font-size:.875rem;color:#666}.form-group small.warning-text{color:#856404;background:#fff3cd;padding:.5rem;border-radius:4px;margin-top:.5rem;border-left:3px solid #ffc107}.radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.radio-group input[type=radio]{cursor:pointer}.button-group{display:flex;gap:1rem;margin-top:1.5rem}.button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-block}.button-primary{background:#0078d4;color:#fff}.button-primary:hover:not(:disabled){background:#005a9e}.button-primary:disabled{background:#ccc;cursor:not-allowed}.button-secondary{background:#f5f5f5;color:#333;border:1px solid #ccc}.button-secondary:hover:not(:disabled){background:#e0e0e0}.button-secondary:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.message{padding:1rem;border-radius:4px;margin-top:1rem}.message-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.message-warning{background:#fff3cd;color:#856404;border:1px solid #ffc107}.info-card{background:#e7f3ff;border-left:4px solid #0078d4}.info-card h3{margin-bottom:1rem;color:#0078d4}.info-card ol{margin-left:1.5rem}.info-card li{margin-bottom:.5rem}.objects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem}.object-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;padding:1rem;transition:all .2s}.object-card:hover{border-color:#0078d4;box-shadow:0 2px 8px #0078d41a}.object-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.object-header strong{font-size:1rem;color:#333}.badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.badge-custom{background:#fff3cd;color:#856404}.object-fields{font-size:.75rem;color:#767676;margin-top:.5rem}.footer{background:#f5f5f5;border-top:1px solid #e0e0e0;padding:1rem 2rem;text-align:center}.footer-content{max-width:1400px;margin:0 auto}.version-info{font-size:.875rem;color:#666;cursor:help}.footer-separator{margin:0 .5rem;color:#ccc;font-size:.875rem}.footer-link{font-size:.875rem;color:#0078d4;text-decoration:none}.footer-link:hover{text-decoration:underline}@media(max-width:480px){.nav{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.nav-brand{font-size:1.1rem}.nav-project-context,.nav-user-name,.nav-user-caret{display:none}.main,.card{padding:1rem}}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.access-denied h2{font-size:1.5rem;margin-bottom:.75rem;color:#323130}.access-denied p{color:#605e5c;max-width:480px;line-height:1.6}.access-denied-email{font-weight:600;color:#323130}.admin-allowlist{max-width:800px;margin:2rem auto;padding:0 1.5rem}.admin-allowlist h2{font-size:1.35rem;margin-bottom:.25rem}.admin-allowlist-desc{color:#605e5c;margin-bottom:1.5rem}.admin-msg{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.admin-msg--success{background:#dff6dd;color:#107c10}.admin-msg--error{background:#fde7e9;color:#a80000}.admin-msg-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:inherit;padding:0 .25rem}.admin-add-form{background:#faf9f8;border:1px solid #edebe9;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.admin-add-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem;margin-bottom:.75rem}.admin-add-fields label{display:flex;flex-direction:column;font-size:.8125rem;font-weight:600;color:#323130}.admin-add-fields input{margin-top:.25rem;padding:6px 8px;border:1px solid #8a8886;border-radius:3px;font-size:.875rem}.admin-hint{font-weight:400;color:#a19f9d;font-size:.75rem}.admin-add-btn{background:#0078d4;color:#fff;border:none;padding:7px 16px;border-radius:3px;font-size:.875rem;cursor:pointer}.admin-add-btn:hover{background:#106ebe}.admin-add-btn:disabled{opacity:.6;cursor:not-allowed}.admin-empty{color:#a19f9d;font-style:italic}.admin-allowlist-table-wrap{overflow-x:auto}.admin-allowlist-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-allowlist-table th{text-align:left;padding:8px 10px;border-bottom:2px solid #edebe9;color:#605e5c;font-weight:600;font-size:.8125rem}.admin-allowlist-table td{padding:8px 10px;border-bottom:1px solid #edebe9}.admin-remove-btn{background:none;border:1px solid #a80000;color:#a80000;padding:3px 10px;border-radius:3px;font-size:.8125rem;cursor:pointer}.admin-remove-btn:hover{background:#a80000;color:#fff}.admin-remove-btn:disabled{opacity:.6;cursor:not-allowed}.nav-admin-link{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:4px 12px;border-radius:3px;font-size:.8125rem;cursor:pointer;margin-right:.75rem}.nav-admin-link:hover{background:#ffffff26}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid #0078d4;outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh;overflow-wrap:break-word}#root{width:100%}.react-flow__node:focus-visible{outline:3px solid #005da6;outline-offset:2px;border-radius:4px;z-index:10!important}.react-flow__node.selected{outline:2px solid #005da6;border-radius:4px}
