*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.stage1-form-container{display:flex;flex-direction:column;gap:20px}.form-section,.result-section,.status-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.form-section h2,.result-section h3,.status-section h3{color:#333;margin-bottom:20px;margin-top:0}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#06c;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{color:#666;display:block;font-size:12px;margin-top:5px}button{background:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background .2s}button:hover:not(:disabled){background:#0052a3}button:disabled{background:#ccc;cursor:not-allowed}.check-status-btn{background:#28a745}.check-status-btn:hover:not(:disabled){background:#218838}.result-item,.status-item{gap:4px}.result-item strong,.status-item strong{font-size:12px;text-transform:uppercase}.result-item code,.status-item code{background:#f5f5f5;border-radius:4px;font-size:13px;padding:8px 12px;word-break:break-all}.result-item.metadata ul{list-style:none;margin:0;padding-left:0}.result-item.metadata li{margin-bottom:5px}.status-unknown{color:#ffc107}.status-item.error span{color:#dc3545}.stage2-panel-container{width:100%}.stage2-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.stage2-section h2{border-bottom:2px solid #06c;color:#333;margin-top:0;padding-bottom:10px}.stage2-info{background:#f0f8ff;border:1px solid #b3d9ff;border-radius:4px;color:#06c;padding:15px}.stage2-action{margin-top:15px}.stage2-description{color:#666;margin-bottom:10px}.stage2-features{list-style:none;margin:0 0 15px;padding:0}.stage2-features li{color:#555;padding:6px 0 6px 20px;position:relative}.stage2-features li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.stage2-current-job{background:#f5f5f5;border-radius:4px;margin-bottom:15px;padding:10px}.stage2-current-job code{background:#e0e0e0;border-radius:3px;font-family:Courier New,monospace;padding:2px 6px}.run-stage2-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background .2s}.run-stage2-btn:hover:not(:disabled){background:#218838}.run-stage2-btn:disabled{background:#ccc;cursor:not-allowed}.stage2-result-section,.stage2-status-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.stage2-result-section h3,.stage2-status-section h3{border-bottom:2px solid #666;color:#333;margin-top:0;padding-bottom:10px}.result-details,.status-details{display:flex;flex-direction:column;gap:12px}.result-item,.status-item{display:flex;flex-direction:column;gap:5px}.result-item strong,.status-item strong{color:#666;font-size:14px}.result-item code{border-radius:4px;padding:8px;word-break:break-all}.result-item.summary ul{background:#f9f9f9;border-radius:4px;list-style:none;margin:5px 0 0;padding:10px}.result-item.summary li{padding:5px 0}.result-item.artifacts ul{background:#e8f5e9;border-radius:4px;list-style:none;margin:5px 0 0;padding:10px}.result-item.artifacts li{color:#2e7d32;padding:5px 0 5px 20px;position:relative}.result-item.artifacts li:before{content:"📄";left:0;position:absolute}.result-item.artifacts a{color:#2e7d32;font-weight:500;text-decoration:none}.result-item.artifacts a:hover{color:#1b5e20;text-decoration:underline}.result-item.artifacts li.preview-link-highlight{background:#e3f2fd;border:2px solid #2196f3;border-radius:6px;font-size:16px;margin-bottom:8px;padding:12px 12px 12px 40px}.result-item.artifacts li.preview-link-highlight:before{content:"🌐";font-size:20px;left:10px}.result-item.artifacts li.preview-link-highlight a{color:#1976d2;font-size:16px;font-weight:700}.result-item.artifacts li.preview-link-highlight a:hover{color:#0d47a1}.status-complete{background:#d4edda}.status-complete,.status-error{border-radius:4px;display:inline-block;padding:4px 8px}.status-error{background:#f8d7da}.status-unknown{background:#e2e3e5;border-radius:4px;display:inline-block;padding:4px 8px}.check-status-btn{background:#007bff;border-radius:5px;font-weight:500;margin-bottom:15px}.check-status-btn:hover:not(:disabled){background:#0056b3}.status-item.error{background:#ffe6e6;border:1px solid #ff4d4d;border-radius:4px;color:#c00;padding:10px}.stage3-panel-container{width:100%}.stage3-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.stage3-section h2{border-bottom:2px solid #6f42c1;color:#333;margin-top:0;padding-bottom:10px}.stage3-info{background:#f8f5ff;border:1px solid #d4b3ff;border-radius:4px;color:#6f42c1;padding:15px}.stage3-action{margin-top:15px}.stage3-description{color:#666;margin-bottom:10px}.stage3-features{list-style:none;margin:0 0 15px;padding:0}.stage3-features li{color:#555;padding:6px 0 6px 20px;position:relative}.stage3-features li:before{color:#6f42c1;content:"✓";font-weight:700;left:0;position:absolute}.stage3-current-job{background:#f5f5f5;border-radius:4px;margin-bottom:15px;padding:10px}.stage3-current-job code{background:#e0e0e0;border-radius:3px;font-family:Courier New,monospace;padding:2px 6px}.config-toggle{margin:15px 0}.toggle-config-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.toggle-config-btn:hover{background:#5a6268}.config-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin:15px 0;padding:15px}.config-section h4{border-bottom:1px solid #dee2e6;color:#495057;font-size:14px;margin-top:0;padding-bottom:8px;text-transform:uppercase}.config-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.config-item{display:flex;flex-direction:column}.config-item label{color:#495057;font-size:12px;font-weight:600;margin-bottom:5px}.config-item input[type=number],.config-item input[type=text],.config-item select{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px}.config-item input[type=checkbox]{margin-right:5px}.run-stage3-btn{background:#6f42c1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background .2s}.run-stage3-btn:hover:not(:disabled){background:#5a32a1}.run-stage3-btn:disabled{background:#ccc;cursor:not-allowed}.stage3-result-section,.stage3-status-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.stage3-result-section h3,.stage3-status-section h3{border-bottom:1px solid #e0e0e0;color:#333;margin-top:0;padding-bottom:8px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px}.result-details{margin-top:15px}.result-item{margin-bottom:15px}.result-item strong{color:#333;margin-right:8px}.result-item code{background:#f5f5f5;border-radius:3px;font-family:Courier New,monospace;padding:2px 6px}.status-complete{color:#28a745;font-weight:600}.status-error{color:#dc3545;font-weight:600}.status-unknown{color:#6c757d;font-weight:600}.metrics-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:20px 0;padding:20px}.metrics-section h4{color:#495057;margin-top:0}.metric-card.success{border-color:#28a745}.metric-card.error{border-color:#dc3545}.metric-value{color:#6f42c1}.metric-card.success .metric-value{color:#28a745}.metric-card.error .metric-value{color:#dc3545}.widget-breakdown{margin-top:20px}.widget-breakdown h5{color:#495057;margin-bottom:10px}.breakdown-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.breakdown-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:4px;display:flex;justify-content:space-between;padding:10px 15px}.widget-type{color:#495057;font-weight:600}.widget-count{background:#6f42c1;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.artifacts{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:15px}.artifacts ul{list-style:none;margin:10px 0 0;padding:0}.artifacts li{border-bottom:1px solid #e9ecef;padding:8px 0}.artifacts li:last-child{border-bottom:none}.artifacts a{color:#6f42c1;font-weight:500;text-decoration:none}.artifacts a:hover{text-decoration:underline}.view-decision-log-btn{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-right:10px;padding:6px 12px}.view-decision-log-btn:hover{background:#138496}.decision-log-viewer{background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;left:50%;max-height:80vh;max-width:900px;position:fixed;top:50%;transform:translate(-50%,-50%);width:80%;z-index:1000}.decision-log-header{align-items:center;border-bottom:2px solid #6f42c1;display:flex;justify-content:space-between;padding:20px}.decision-log-header h3{color:#333;margin:0}.close-btn{font-size:18px}.decision-log-content{overflow-y:auto;padding:20px}.decision-log-info{border-radius:4px;font-weight:600;padding:10px}.decision-entry,.decision-log-info{background:#f8f9fa;margin-bottom:15px}.decision-entry{border:1px solid #dee2e6;border-radius:6px;padding:15px}.decision-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.decision-header h5{color:#333;margin:0}.confidence-badge{background:#28a745;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.decision-mapping{align-items:center;display:flex;font-weight:600;gap:10px;margin-bottom:10px}.design-type{background:#06c;border-radius:4px;color:#fff;padding:6px 12px}.arrow{color:#6c757d;font-size:20px}.mendix-type{background:#6f42c1;border-radius:4px;color:#fff;padding:6px 12px}.decision-reasoning{color:#495057;line-height:1.5;margin:10px 0}.decision-alternatives,.decision-warnings{color:#6c757d;font-size:14px;margin:5px 0}.decision-warnings{color:#dc3545}.check-status-btn{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background .2s}.check-status-btn:hover:not(:disabled){background:#138496}.check-status-btn:disabled{background:#ccc;cursor:not-allowed}.status-details{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:15px;padding:15px}.status-item{border-bottom:1px solid #e9ecef;margin-bottom:10px;padding-bottom:10px}.status-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.status-item strong{color:#495057;margin-right:10px}.status-item.error{color:#dc3545}.mendix-structure-preview{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:20px 0;padding:20px}.mendix-structure-preview h4{color:#495057;margin-bottom:15px;margin-top:0}.pages-list{display:flex;flex-direction:column;gap:10px}.page-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;overflow:hidden}.page-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;gap:10px;padding:12px 15px;transition:background .2s}.page-header:hover{background:#e9ecef}.page-header strong{color:#495057;flex:1 1;font-size:14px}.toggle-icon{color:#6c757d;font-size:12px}.toggle-icon,.toggle-icon-placeholder{display:inline-block;width:16px}.widget-count-badge{background:#6f42c1;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.page-widgets{background:#fff;padding:15px}.widget-node{margin-bottom:8px}.widget-node-header{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background .2s}.widget-node-header:hover{background:#e9ecef}.widget-type-badge{background:#6f42c1;border-radius:4px;color:#fff;font-family:Courier New,monospace;font-size:12px;font-weight:600;padding:4px 10px}.widget-source-name{color:#495057;font-size:13px;font-weight:600}.widget-source-id{color:#6c757d;font-family:Courier New,monospace;font-size:12px}.widget-children{margin-left:20px;margin-top:8px}.interaction-summary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:20px 0;padding:20px}.interaction-summary h4{color:#495057;margin-bottom:10px;margin-top:0}.interaction-summary p{color:#495057;margin-bottom:15px}.unmapped-interactions{background:#fff;border:1px solid #ffc107;border-radius:4px;margin-top:15px;padding:15px}.unmapped-interactions h5{color:#856404;font-size:14px;margin-bottom:10px;margin-top:0}.unmapped-interactions ul{list-style:none;margin:0;padding:0}.unmapped-interactions li{border-bottom:1px solid #e9ecef;color:#495057;font-size:13px;padding:8px 0}.unmapped-interactions li:last-child{border-bottom:none}.unmapped-interactions strong{color:#333}.stage3-error-boundary{background:#f8d7da;border:2px solid #f5c6cb;border-radius:8px;margin:20px 0;padding:20px}.error-boundary-content{margin:0 auto;max-width:800px}.error-boundary-content h2{color:#721c24;margin-bottom:15px;margin-top:0}.error-boundary-content p{color:#721c24;margin-bottom:20px}.error-details{background:#fff;border:1px solid #f5c6cb;border-radius:4px;cursor:pointer;margin-top:20px;padding:15px}.error-details summary{color:#721c24;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.error-details summary:hover{text-decoration:underline}.error-message{background:#fff3cd;border:1px solid #ffc107;color:#856404;font-family:Courier New,monospace;font-size:13px}.error-message,.error-stack{margin-top:10px;padding:10px}.error-stack{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px}.error-stack pre{word-wrap:break-word;color:#495057;font-family:Courier New,monospace;font-size:12px;margin:5px 0 0;white-space:pre-wrap}.error-boundary-reset-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.error-boundary-reset-btn:hover{background:#c82333}.stage4-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.stage4-header h2{border-bottom:2px solid #17a2b8;color:#333;margin-top:0;padding-bottom:10px}.stage4-header p{color:#666;margin:10px 0 0}.stage4-controls{align-items:center;display:flex;gap:15px;margin:20px 0}.run-button{background:#17a2b8;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background .2s;white-space:nowrap}.run-button:hover:not(:disabled){background:#138496}.run-button:disabled{background:#ccc;cursor:not-allowed}.job-info{align-items:center;background:#f5f5f5;border-radius:4px;display:flex;gap:8px;padding:8px 12px}.job-label{color:#666;font-weight:600}.job-id{background:#e0e0e0;border-radius:3px;font-family:Courier New,monospace;font-size:13px;padding:4px 8px}.stage4-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin:15px 0;padding:12px}.stage4-results{margin-top:20px}.stage4-results h3{color:#28a745;font-size:20px;margin-bottom:20px;margin-top:0}.metrics-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.metric-card{background:#fff;border:2px solid #dee2e6;border-radius:8px;padding:15px;text-align:center;transition:transform .2s,box-shadow .2s}.metric-card:hover{border-color:#17a2b8;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.metric-value{color:#17a2b8;font-size:32px;font-weight:700;margin-bottom:5px}.metric-label{color:#6c757d;font-size:12px;font-weight:600;text-transform:uppercase}.home-page-mode{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:14px;margin:20px 0;padding:12px}.errors-section,.warnings-section{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin:15px 0;padding:15px}.errors-section{background:#f8d7da;border-color:#f5c6cb}.errors-section h4,.warnings-section h4{color:#856404;margin-bottom:10px;margin-top:0}.errors-section h4{color:#721c24}.errors-section ul,.warnings-section ul{margin:0;padding-left:20px}.errors-section li,.warnings-section li{color:#856404;margin-bottom:5px}.errors-section li{color:#721c24}.artifacts-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:20px 0;padding:20px}.artifacts-section h4{color:#495057;margin-bottom:15px;margin-top:0}.artifact-buttons{display:flex;flex-wrap:wrap;gap:10px}.artifact-btn{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:10px 16px;text-decoration:none;transition:background .2s}.artifact-btn:hover{background:#138496;text-decoration:none}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:90%}.modal-header{align-items:center;border-bottom:2px solid #17a2b8;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;margin:0}.close-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;transition:background .2s;width:32px}.close-btn:hover{background:#c82333}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.modal-body pre{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,monospace;font-size:13px;line-height:1.5;margin:0;overflow-x:auto;padding:15px}.job-list-container{width:100%}.job-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.job-list-header h2{color:#333;margin:0}.refresh-btn{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s}.refresh-btn:hover:not(:disabled){background:#5a6268}.refresh-btn:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#ffe6e6;border:1px solid #ff4d4d;border-radius:4px;color:#c00;margin-bottom:15px;padding:15px}.loading-message,.no-jobs-message{background:#f0f8ff;border:1px solid #b3d9ff;border-radius:4px;color:#06c;padding:20px;text-align:center}.job-list{margin-bottom:20px;overflow-x:auto}.job-list table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.job-list thead{background:#f8f9fa}.job-list th{border-bottom:2px solid #dee2e6;color:#333;font-weight:600;text-align:left}.job-list td,.job-list th{font-size:14px;padding:12px}.job-list td{border-bottom:1px solid #dee2e6}.job-list tbody tr{transition:background .2s}.job-list tbody tr:hover{background:#f8f9fa}.job-list tbody tr.selected{background:#d1ecf1}.job-list tbody tr.current{background:#fff3cd}.job-list tbody tr:last-child td{border-bottom:none}.job-list code{background:#f5f5f5;border-radius:3px;font-family:Courier New,monospace;font-size:13px;padding:4px 8px}.current-badge{color:#856404;font-size:12px;font-weight:600}.stage2-status{border-radius:4px;display:inline-block;font-size:13px;font-weight:600;padding:4px 8px}.stage2-status.stage2-complete{background:#d4edda;color:#155724}.stage2-status.stage2-error{background:#f8d7da;color:#721c24}.stage2-status.stage2-not-started{background:#e2e3e5;color:#383d41}.job-list-actions{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.run-stage2-selected-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:10px;padding:12px 24px;transition:background .2s}.run-stage2-selected-btn:hover:not(:disabled){background:#218838}.run-stage2-selected-btn:disabled{background:#ccc;cursor:not-allowed}.help-text{color:#666;font-size:14px;line-height:1.5;margin:10px 0 0}.delete-job-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:20px;opacity:.6;padding:4px 8px;transition:all .2s}.delete-job-btn:hover{background:#ffe6e6;opacity:1;transform:scale(1.1)}.delete-job-btn:active{transform:scale(.95)}@media (max-width:768px){.job-list table{font-size:12px}.job-list td,.job-list th{padding:8px}}.stage3-status{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px}.stage3-complete{background:#d4edda;color:#155724}.stage3-error{background:#f8d7da;color:#721c24}.stage3-not-started{background:#e2e3e5;color:#383d41}.run-stage3-selected-btn{background:#6f42c1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-left:10px;padding:12px 24px;transition:background .2s}.run-stage3-selected-btn:hover:not(:disabled){background:#5a32a1}.run-stage3-selected-btn:disabled{background:#ccc;cursor:not-allowed}.App{min-height:100vh}.App-header{background-color:#06c;color:#fff;padding:20px;text-align:center}.App-header h1{font-size:2rem;margin:0 0 10px}.App-header p{font-size:1rem;margin:0;opacity:.9}.App-main{margin:0 auto;max-width:1200px;padding:30px}.pipeline-container{display:flex;flex-direction:column;gap:30px}.pipeline-step{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px}.advanced-section{border-top:3px solid #06c;margin-top:20px;padding-top:25px}@media (max-width:768px){.App-main,.pipeline-step{padding:15px}}
/*# sourceMappingURL=main.ca9a1f14.css.map*/