*{box-sizing:border-box;margin:0;padding:0}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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;min-height:100vh}.App-header{background-color:#282c34;color:#fff;padding:2rem;text-align:center}.App-header h1{font-size:2.5rem;margin-bottom:.5rem}.App-header p{font-size:1.2rem;opacity:.8}.nav-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.nav-btn{background-color:initial;border:2px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.nav-btn:hover:not(:disabled){background-color:#ffffff1a;border-color:#ffffff80}.nav-btn.active{background-color:#fff;border-color:#fff;color:#282c34}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.App-main{margin:2rem auto;max-width:1200px;padding:0 1rem}.auth-section{margin-bottom:2rem;text-align:center}.token-input{border:2px solid #ddd;border-radius:4px;font-size:1rem;max-width:500px;padding:.75rem;width:100%}.token-input:focus{border-color:#007bff;outline:none}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-danger{background-color:#dc3545;color:#fff;margin-top:1rem}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.recordings-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.recordings-list h2{color:#333;margin-bottom:1.5rem}.no-recordings{color:#666;font-size:1.1rem;padding:3rem;text-align:center}.recordings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:1rem}.recording-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.recording-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.recording-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.status-badge{text-transform:uppercase}.status-active{background-color:#28a745;color:#fff}.status-stopped{background-color:#6c757d;color:#fff}.status-failed{background-color:#dc3545}.recording-date{color:#666;font-size:.9rem}.recording-details p{color:#495057;font-size:.95rem;margin:.5rem 0}.recording-details strong{color:#212529}.vnc-url{border-top:1px solid #dee2e6;margin-top:.75rem;padding-top:.75rem}.vnc-link{color:#007bff;font-weight:500;text-decoration:none}.vnc-link:hover{color:#0056b3;text-decoration:underline}.recording-actions{display:flex;gap:.5rem;margin-top:1rem}.btn-view-detail{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.btn-view-detail:hover:not(:disabled){background-color:#0056b3}.btn-view-detail:disabled{cursor:not-allowed;opacity:.5}.btn-delete{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.btn-delete:hover:not(:disabled){background-color:#c82333}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.recording-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.recording-section h2{color:#333;margin-bottom:1rem}.recording-info{background-color:#f8f9fa;border-radius:4px;margin-bottom:1rem;padding:1rem}.recording-info p{margin:.5rem 0}.browser-stream{margin:1rem 0}.instructions{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem;padding:2rem}.instructions h3{color:#333;margin-bottom:1rem}.instructions ol{padding-left:1.5rem}.instructions li{line-height:1.6;margin:.5rem 0}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:#fff;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h2{color:#333;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:color .2s;width:2rem}.modal-close:hover{color:#333}.modal-body{padding:1.5rem}.automation-info{background-color:#f8f9fa;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.automation-info p{color:#495057;margin:.5rem 0}.steps-container h3{color:#333;font-size:1.25rem;margin-bottom:1rem}.no-steps{color:#666;font-style:italic;padding:2rem}.steps-list{display:flex;flex-direction:column;gap:1rem}.step-item{background:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;display:flex;gap:1rem;padding:1rem}.step-number{background-color:#007bff;flex-shrink:0;font-size:.9rem;font-weight:600;height:2rem;width:2rem}.step-content{flex:1 1}.step-type{background-color:#28a745;border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;padding:.25rem .75rem;text-transform:uppercase}.step-detail{color:#495057;font-size:.95rem;margin:.25rem 0}.step-detail strong{color:#212529}.step-timestamp{color:#6c757d;font-size:.85rem;font-style:italic;margin-top:.5rem}.recording-split-view{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:80% 20%;margin:1.5rem 0;min-height:600px}.recording-vnc-panel{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;padding:1rem}.recording-vnc-panel h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.recording-vnc-panel .browser-stream{flex:1 1;margin:0;overflow:hidden}.recording-steps-container{display:flex;flex-direction:column;max-height:600px;overflow:hidden}@media (max-width:1024px){.recording-split-view{gap:1rem;grid-template-columns:1fr}.recording-steps-container{max-height:500px}}@media (max-width:768px){.recording-split-view{min-height:auto}.recording-steps-container,.recording-vnc-panel{max-height:400px}}.execution-view{margin:0 auto;max-width:1400px;padding:2rem}.execution-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.execution-header h2{color:#333;margin:0}.execution-actions{display:flex;flex-wrap:wrap;gap:.5rem}.executions-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.execution-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:box-shadow .2s}.execution-card:hover{box-shadow:0 4px 12px #00000026}.execution-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.execution-date{color:#666;font-size:.9rem}.execution-card-body p{font-size:.95rem;margin:.5rem 0}.execution-card-footer{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.execution-details{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.execution-details-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.execution-details-header h2{margin:0}.execution-summary{grid-gap:1rem;background:#f9fafb;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem;padding:1.5rem}.summary-item{align-items:center;display:flex;gap:.5rem}.summary-item.error{background:#fef2f2;border-radius:4px;color:#dc2626;grid-column:1/-1;padding:.75rem}.execution-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.tab:hover{background:#f9fafb;color:#374151}.tab.active{border-bottom-color:#2563eb;color:#2563eb}.tab-content{min-height:400px}.tab-content h3{color:#374151;margin-bottom:1.5rem;margin-top:0}.logs-list{display:flex;flex-direction:column;gap:1rem}.log-item{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #9ca3af;border-radius:6px;padding:1rem}.log-item.status-success{border-left-color:#10b981}.log-item.status-failed{border-left-color:#ef4444}.log-item.status-skipped{border-left-color:#f59e0b}.log-header{align-items:center;display:flex;gap:1rem;margin-bottom:.75rem}.log-step{color:#1f2937;font-weight:600}.log-type{background:#f3f4f6;border-radius:4px;font-family:monospace;font-size:.875rem;padding:.25rem .75rem}.log-body p{font-size:.9rem;margin:.5rem 0}.log-error{background:#fef2f2;color:#dc2626}.log-error,.log-healed{border-radius:4px;margin-top:.5rem!important;padding:.5rem}.log-healed{background:#d1fae5;color:#059669;font-weight:600}.artifacts-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.artifact-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:1rem;padding:1rem}.artifact-icon{flex-shrink:0;font-size:2rem}.artifact-details{flex:1 1}.artifact-details p{font-size:.9rem;margin:.25rem 0}.artifact-filename{color:#1f2937;font-weight:600}.artifact-path{color:#9ca3af;font-size:.8rem;word-break:break-all}.artifact-size,.artifact-time{color:#6b7280;font-size:.85rem}.app-logs-list{display:flex;flex-direction:column;gap:.5rem}.app-log-item{border-left:3px solid #9ca3af;border-radius:4px;padding:.75rem}.app-log-item.log-level-debug{background:#f3f4f6;border-left-color:#9ca3af}.app-log-item.log-level-info{background:#eff6ff;border-left-color:#3b82f6}.app-log-item.log-level-warning{background:#fffbeb;border-left-color:#f59e0b}.app-log-item.log-level-error{background:#fef2f2;border-left-color:#ef4444}.app-log-header{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.log-level{border-radius:3px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.log-level-debug{background:#e5e7eb;color:#4b5563}.log-level-info{background:#dbeafe;color:#1e40af}.log-level-warning{background:#fef3c7;color:#b45309}.log-level-error{background:#fee2e2;color:#b91c1c}.app-log-time{color:#6b7280;font-size:.85rem}.app-log-step{color:#4b5563;font-size:.85rem;font-weight:600}.app-log-message{color:#1f2937;font-size:.95rem;margin-bottom:.5rem}.app-log-context{background:#f9fafb;border-radius:4px;font-size:.85rem;margin:0;overflow-x:auto;padding:.75rem}.status-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.status-success{background:#d1fae5;color:#065f46}.status-failed{background-color:#e6bec2;color:#fff}.status-info{background:#dbeafe;color:#1e40af}.status-warning{background:#fef3c7;color:#92400e}.status-danger{background:#fee2e2;color:#991b1b}.status-secondary{background:#f3f4f6;color:#4b5563}.no-data,.no-executions{color:#6b7280;padding:3rem;text-align:center}.loading{color:#6b7280;padding:2rem;text-align:center}.error{background:#fef2f2;border-left:4px solid #dc2626;border-radius:6px;color:#dc2626;margin-bottom:1rem;padding:1rem}.btn-sm{font-size:.9rem;padding:.5rem 1rem}@media (max-width:768px){.execution-view{padding:1rem}.execution-header{align-items:flex-start;flex-direction:column}.execution-summary,.executions-list{grid-template-columns:1fr}.execution-tabs{overflow-x:auto}.artifacts-list{grid-template-columns:1fr}}.recording-steps-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.recording-steps-header{align-items:center;background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.recording-steps-header h3{color:#111827;font-size:1.1rem;font-weight:600;margin:0}.connection-status{font-size:.9rem;font-weight:600}.status-connected{color:#10b981}.status-connecting{color:#f59e0b}.status-error{color:#ef4444}.connection-error{background:#fef2f2;border-left:4px solid #dc2626;border-radius:6px;color:#dc2626;flex-shrink:0;font-size:.9rem;margin:1rem;padding:.75rem 1rem}.recording-steps-list{flex:1 1;overflow-y:auto;padding:1rem;scroll-behavior:smooth}.no-steps{color:#6b7280;padding:4rem 1rem;text-align:center}.no-steps p{margin:.5rem 0}.no-steps .hint{color:#9ca3af;font-size:.9rem;font-style:italic}.recording-step{background:#f9fafb;border-left:4px solid #3b82f6;border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.recording-step:hover{background:#f3f4f6;box-shadow:0 2px 6px #00000014}.recording-step.live{animation:slideIn .3s ease-out;border-left-color:#10b981}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.recording-step.historical{border-left-color:#9ca3af;opacity:.85}.recording-step.has-error{background:#fef2f2;border-left-color:#ef4444}.recording-step.has-error:hover{background:#fee2e2}.step-indicator{flex-direction:column;flex-shrink:0;gap:.25rem}.step-indicator,.step-number{align-items:center;display:flex}.step-number{background:#3b82f6;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:.95rem;font-weight:700;height:2.25rem;justify-content:center;width:2.25rem}.step-icon{filter:grayscale(.3);font-size:1.5rem}.step-details{flex:1 1;min-width:0}.step-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.step-type{background:#10b981;border-radius:14px;box-shadow:0 1px 3px #0000001f;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.025em;padding:.3rem .85rem}.step-time{color:#6b7280;font-size:.85rem;font-weight:500}.historical-badge{background:#f3f4f6;color:#6b7280;font-weight:600}.error-badge,.historical-badge{border-radius:10px;font-size:.7rem;letter-spacing:.05em;padding:.25rem .6rem;text-transform:uppercase}.error-badge{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;font-weight:700}.step-content{color:#374151;font-size:.9rem;line-height:1.5}.step-description{margin:.3rem 0;word-break:break-word}.step-description strong{color:#111827;font-weight:600}.step-value{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;margin:.4rem 0;padding:.4rem .6rem}.step-fallbacks{color:#9ca3af;font-size:.8rem;font-style:italic;margin:.4rem 0}.step-error{align-items:flex-start;background:#fff;border:2px solid #fca5a5;border-radius:6px;display:flex;gap:.75rem;margin-top:.75rem;padding:.75rem}.error-icon{flex-shrink:0;font-size:1.5rem}.error-details{flex:1 1}.error-message{color:#dc2626;font-size:.9rem;font-weight:600;margin:0}.error-code{color:#9ca3af;font-family:Courier New,monospace;font-size:.8rem;margin:.25rem 0 0}.recording-steps-list::-webkit-scrollbar{width:10px}.recording-steps-list::-webkit-scrollbar-track{background:#f9fafb;border-radius:5px}.recording-steps-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}.recording-steps-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.recording-steps-header{align-items:flex-start;flex-direction:column;gap:.5rem}.recording-step{padding:.75rem}.step-number{font-size:.85rem;height:2rem;width:2rem}.step-icon{font-size:1.25rem}.step-header{align-items:flex-start;flex-direction:column;gap:.5rem}}
/*# sourceMappingURL=main.1ffbd18a.css.map*/