body{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}:root{--primary:#5e60ce;--primary-light:#7b78e5;--primary-dark:#4e4cb8;--secondary:#64dfdf;--secondary-light:#80ffdb;--secondary-dark:#56c9c9;--warning:#ffc107;--danger:#ff5a5f;--success:#00b074;--info:#0dcaf0;--light:#f8f9fa;--dark:#212529;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.5rem;--spacing-6:2rem;--spacing-8:3rem;--border-radius-sm:0.25rem;--border-radius-md:0.375rem;--border-radius-lg:0.5rem;--border-radius-xl:0.75rem;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--gray-100);color:#212529;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);margin:0;padding:0}.app{background-color:#f8f9fa}.top-nav{background-color:#fff;box-shadow:0 4px 6px #0000001a;padding:.75rem 1.5rem;position:sticky;top:0;z-index:100}.nav-brand a{align-items:center;color:#5e60ce;color:var(--primary);display:flex;font-size:var(--font-size-2xl)}.nav-brand a:before{background-color:#64dfdf;background-color:var(--secondary);border-radius:50%;content:"";display:inline-block;height:10px;margin-right:.5rem;width:10px}.nav-menu{gap:1.5rem}.admin-menu-item,.menu-item{border-radius:.375rem;color:#495057;color:var(--gray-700);font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem .75rem;transition:all .15s ease}.admin-menu-item:hover,.menu-item:hover{background-color:#f8f9fa;background-color:var(--gray-100);color:#5e60ce;color:var(--primary)}.nav-auth a{background-color:#5e60ce;background-color:var(--primary);border-radius:.375rem;font-size:.875rem;font-size:var(--font-size-sm);transition:background-color .15s ease;transition:background-color var(--transition-fast)}.nav-auth a:hover{background-color:#4e4cb8;background-color:var(--primary-dark)}.dashboard-header{border-bottom:1px solid #e9ecef}.project-selector-container{gap:.5rem}.project-selector-container label{color:#495057;color:var(--gray-700);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500}.project-selector-container select{background-color:#fff;border:1px solid #dee2e6;border:1px solid var(--gray-300);border-radius:.375rem;border-radius:var(--border-radius-md);color:#343a40;color:var(--gray-800);font-size:.875rem;font-size:var(--font-size-sm);min-width:180px;outline:none;padding:.5rem;transition:border-color .15s ease;transition:border-color var(--transition-fast)}.project-selector-container select:focus{border-color:#7b78e5;border-color:var(--primary-light);box-shadow:0 0 0 2px #5e60ce1a}.generate-from-file-button{background-color:#5e60ce;background-color:var(--primary);border-radius:.375rem;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.generate-from-file-button:hover:not(.disabled){background-color:#4e4cb8;background-color:var(--primary-dark)}.generate-from-file-button.disabled{background-color:#ced4da;background-color:var(--gray-400)}.tooltip{background-color:#212529;background-color:var(--dark);border-radius:.25rem;border-radius:var(--border-radius-sm);font-size:.75rem;font-size:var(--font-size-xs);padding:.5rem;z-index:10}.dashboard-tabs{border-bottom:1px solid #e9ecef}.tab-button{background-color:initial;color:#6c757d;font-size:.875rem;font-weight:500;transition:all .15s ease}.tab-button:hover{color:#212529;color:var(--gray-900)}.tab-button.active{color:#5e60ce}.tab-button.active:after{background-color:#5e60ce;bottom:0}.dashboard-main{height:100%}.tree-container{border-right:1px solid #e9ecef;border-right:1px solid var(--gray-200);transition:width .25s ease;transition:width var(--transition-normal)}.content-container{background-color:#f8f9fa;background-color:var(--gray-100);overflow-y:auto;padding:1.5rem}.no-test-selected{color:#adb5bd}.empty-state{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md)}.empty-state h3{color:#495057;margin:1rem 0 .5rem}.empty-state p{color:#6c757d;font-size:.875rem}button{border:none;border-radius:.375rem;border-radius:var(--border-radius-md);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;padding:.5rem 1rem;transition:all .15s ease;transition:all var(--transition-fast)}.btn-primary{background-color:#5e60ce;background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:#4e4cb8;background-color:var(--primary-dark)}.btn-secondary{background-color:#fff;border:1px solid #dee2e6;border:1px solid var(--gray-300);color:#495057;color:var(--gray-700)}.btn-secondary:hover{background-color:#f8f9fa;background-color:var(--gray-100)}.btn-danger{background-color:#ff5a5f;background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#e64c51}.btn-success{background-color:#00b074;background-color:var(--success);color:#fff}.btn-success:hover{background-color:#00996a}input,select,textarea{background-color:#fff;border:1px solid #dee2e6;border:1px solid var(--gray-300);border-radius:.375rem;border-radius:var(--border-radius-md);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem .75rem;transition:all .15s ease;transition:all var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:#7b78e5;border-color:var(--primary-light);box-shadow:0 0 0 2px #5e60ce1a;outline:none}.test-case-steps{background-color:#fff;border-radius:.5rem;border-radius:var(--border-radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);overflow:hidden}.test-case-header{align-items:center;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:1.25rem}.test-case-title{color:#212529;font-size:1.25rem;font-weight:600;margin:0}.test-case-description{color:#6c757d;color:var(--gray-600);font-size:.875rem;font-size:var(--font-size-sm);margin:.5rem 0 0}.test-steps-container{padding:1rem}.test-step{background-color:#fff;border:1px solid #e9ecef;border:1px solid var(--gray-200);border-radius:.375rem;border-radius:var(--border-radius-md);margin-bottom:.75rem;padding:.75rem;transition:all .15s ease;transition:all var(--transition-fast)}.test-step:hover{border-color:#7b78e5;border-color:var(--primary-light);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.test-step-header{align-items:center;display:flex;justify-content:space-between;padding-bottom:.5rem}.test-step-number{color:#5e60ce;color:var(--primary);font-weight:600}.test-step-actions{display:flex;gap:.5rem}.test-step-content{grid-gap:.75rem;display:grid;font-size:.875rem;font-size:var(--font-size-sm);gap:.75rem;grid-template-columns:100px 1fr}.test-step-label{color:#6c757d;color:var(--gray-600);font-weight:500}.test-step-value{color:#212529;color:var(--gray-900)}.popup-overlay{z-index:1000}.popup-content{animation:popup-fade-in .3s ease;border-radius:.5rem;border-radius:var(--border-radius-lg);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes popup-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.popup-header{align-items:center;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:1.25rem}.popup-title{color:#212529;color:var(--gray-900);font-weight:600;margin:0}.popup-close,.popup-title{font-size:1.25rem;font-size:var(--font-size-xl)}.popup-close{background:none;border:none;color:#adb5bd;color:var(--gray-500);cursor:pointer;transition:color .15s ease;transition:color var(--transition-fast)}.popup-close:hover{color:#212529;color:var(--gray-900)}.popup-body{padding:1.5rem}.popup-footer{border-top:1px solid #e9ecef;border-top:1px solid var(--gray-200);display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem}.tree-item{margin-bottom:.25rem}.tree-item-content{align-items:center;border-radius:.375rem;border-radius:var(--border-radius-md);cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;transition:background-color .15s ease;transition:background-color var(--transition-fast)}.tree-item-content:hover{background-color:#f8f9fa;background-color:var(--gray-100)}.tree-item-content.selected{background-color:#5e60ce1a;color:#5e60ce;color:var(--primary)}.tree-item-icon{color:#adb5bd;color:var(--gray-500)}.tree-item-text{font-size:.875rem;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-item-group{margin-left:1.5rem}.loading-spinner{animation:spinner-rotate .6s linear infinite;border:2px solid #e9ecef;border-top-color:#5e60ce;border:2px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);display:inline-block;height:1rem;width:1rem}@keyframes spinner-rotate{to{transform:rotate(1turn)}}@media (max-width:768px){.dashboard-main{flex-direction:column}.tree-container{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--gray-200);border-right:none;height:300px;width:100%}.content-container{padding:1rem}.dashboard-header{align-items:stretch;flex-direction:column;gap:1rem}}.test-case-tree-container{display:flex;flex-direction:column;height:100%;width:100%}.test-case-tree-header{align-items:center;background-color:#f5f5f5;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:10px;padding:.5rem 1rem}.header-title-section{display:flex;flex-direction:column;gap:8px}.title-buttons,.tree-actions{display:flex;gap:10px}.tree-actions{align-items:center}.test-case-tree-header h3{color:#333;font-size:1.1rem;margin:0}.create-group-button,.create-test-button{align-items:center;background:linear-gradient(135deg,#34d399,#10b981);border:none;border-radius:6px;box-shadow:0 4px 6px #32325d1c,0 1px 3px #00000014;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;transition:all .3s ease}.create-group-button:hover,.create-test-button:hover{background:linear-gradient(135deg,#20bf6b,#0b8a45);box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;transform:translateY(-1px)}.create-group-button:active,.create-test-button:active{box-shadow:0 3px 5px #32325d1a,0 1px 2px #00000014;transform:translateY(1px)}.create-group-button svg,.create-test-button svg{font-size:16px}.tree-controls{border-bottom:1px solid #eee;display:flex;gap:4px;margin-bottom:10px;padding:0 0 8px}.tree-control-button{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;display:flex;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.tree-control-button:hover{background:#e0e0e0;color:#333}.tree-control-button:active{background:#d5d5d5;transform:translateY(1px)}.tree-control-button svg{font-size:12px}.test-case-tree{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;flex-grow:1;overflow-y:auto;padding:1rem}.test-case-tree ul{list-style:none;margin:0;padding-left:1.5rem}.tree-node{margin:.5rem 0}.node-content{padding:.5rem}.node-content.selected{background-color:#e3f2fd}.node-content[data-type=test]{cursor:pointer}.node-content[data-type=test]:hover{background-color:#f5f5f5}.node-content[data-type=root]{color:#1976d2;font-size:1.1em;font-weight:700}.node-content[data-type=group]{color:#455a64;font-weight:700}.expand-icon{align-items:center;color:#666;display:inline-flex;font-size:.8rem;justify-content:center;margin-right:.5rem;width:1rem}.node-name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.node-content:hover .node-actions{opacity:1}.tree-action-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;padding:.25rem;transition:background-color .2s,color .2s}.tree-action-button:hover{background-color:#f0f0f0;color:#333}.node-children{border-left:1px dashed #ddd;margin-left:1.5rem;padding-left:.5rem}.tree-empty{color:#666;padding:2rem;text-align:center}.tree-error{background-color:#ffebee;border-radius:4px;color:#d32f2f;margin-bottom:1rem;padding:1rem}.modal-content{max-width:500px;padding:1.5rem;width:100%}.modal-content h3{color:#333}.modal-actions{gap:.5rem;margin-top:1.5rem}.modal-button{border-radius:4px;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.modal-button.cancel{background-color:#f5f5f5;color:#333}.modal-button.cancel:hover{background-color:#e0e0e0}.modal-button.delete{background-color:#f44336}.modal-button.delete:hover{background-color:#d32f2f}.modal-button.create{background-color:#4caf50;color:#fff}.modal-button.create:hover{background-color:#388e3c}.modal-button.update{background-color:#2196f3;color:#fff}.modal-button.update:hover{background-color:#1976d2}.modal-button.move{background-color:#ff9800;color:#fff}.modal-button.move:hover{background-color:#f57c00}.modal-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem}.form-group input:focus,.form-group select:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.test-case-buttons{align-items:center;display:flex}.test-case-buttons .tree-node-link{margin-right:10px}.run-button{background-color:#4caf50;border-radius:4px;font-size:12px;padding:5px 10px;text-align:center;text-decoration:none}.run-button:hover{background-color:#45a049}.group-label{color:#000;font-weight:700;margin-left:0}.error-message{padding:1rem}.no-data-message{color:#666;font-style:italic;padding:1rem;text-align:center}.node-content{align-items:center;border-radius:4px;cursor:pointer;display:flex;padding:8px;transition:background-color .2s}.node-content:hover{background-color:#0000000d}.node-content.selected{background-color:#e6f7ff;font-weight:700}.delete-test-button{background:none;border:none;color:#ff4d4f;cursor:pointer;margin-left:auto;opacity:0;padding:5px;transition:all .2s}.node-content:hover .delete-test-button{opacity:1}.delete-test-button:hover{color:#ff7875;transform:scale(1.1)}.modal-content textarea{min-height:100px;resize:vertical}.modal-content select,.modal-content textarea{border:1px solid #ccc;border-radius:4px;padding:8px;width:100%}.modal-content .form-group .required{color:#e53935;margin-left:3px}.loading-indicator{color:#2196f3}.loading-indicator,.no-projects-warning{font-size:.9rem;font-style:italic;margin-top:5px}.no-projects-warning{color:#e53935}.ai-model-selector{align-items:center;display:flex;margin-right:15px}.ai-model-selector-label{font-size:14px;margin-right:8px;white-space:nowrap}.ai-model-dropdown{min-width:180px;position:relative}.ai-model-selected{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px}.ai-model-selected:hover{background-color:#f5f5f5}.ai-icon{color:#6772e5;margin-right:8px}.ai-model-options{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000}.ai-model-option{border-bottom:1px solid #eee;cursor:pointer;padding:10px 12px}.ai-model-option:last-child{border-bottom:none}.ai-model-option:hover{background-color:#f5f5f5}.ai-model-option.selected{background-color:#f0f7ff}.model-name{font-weight:500;margin-bottom:4px}.model-description{color:#666;font-size:12px;margin-bottom:4px}.model-tag{border-radius:10px;display:inline-block;font-size:10px;margin-top:4px;padding:2px 6px}.model-tag.default{background-color:#e6f7ff;border:1px solid #91d5ff;color:#1890ff}.test-steps-container{animation:fadeIn .3s ease;margin:1.25rem;position:relative}.test-steps-flow{background-color:var(--gray-100);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;padding:1.25rem}.test-step-box,.test-steps-flow{border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);display:flex}.test-step-box{background:#fff;box-shadow:var(--shadow-xs);box-sizing:border-box;cursor:grab;flex-direction:column;height:170px;margin-bottom:0;padding:1rem;position:relative;transition:all var(--transition-normal);width:250px}.test-step-box.dragging{cursor:grabbing;opacity:.5}.test-step-box.drag-over{border-color:var(--primary-lighter);box-shadow:var(--shadow-md);transform:scale(1.02)}.test-step-drag-handle{color:var(--gray-500);cursor:grab;position:absolute;right:1rem;top:1rem;transition:all var(--transition-fast)}.test-step-drag-handle:hover{color:var(--gray-700);transform:translateY(-1px)}.test-step-box:not(:last-child):after{background-color:var(--gray-300);border-radius:1px;content:"";height:2px;position:absolute;right:-20px;top:50%;width:20px}.test-step-description{color:var(--gray-700);flex-grow:1;font-size:var(--font-size-base);line-height:1.5;margin-bottom:.75rem;overflow-y:auto;padding-right:.5rem}.test-step-footer{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding:0 .5rem}.action-input,.action-select{background-color:#fff;border:1px solid var(--gray-300);border-radius:var(--border-radius-md);box-sizing:border-box;font-size:var(--font-size-sm);height:36px;padding:.5rem .75rem;transition:all var(--transition-fast);width:calc(100% - 2px)}.action-dropdown-container{position:relative;width:100%}.action-dropdown-button{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px;-webkit-user-select:none;user-select:none;width:100%}.action-dropdown-button:hover{background-color:#f5f5f5}.action-icon{color:#6772e5;margin-right:8px}.action-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000}.action-option{border-bottom:1px solid #eee;cursor:pointer;padding:10px 12px}.action-option:last-child{border-bottom:none}.action-option:hover{background-color:#f5f5f5}.action-option.selected{background-color:#f0f7ff}.action-input::placeholder{color:var(--gray-500)}.action-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #5e60ce33;outline:none}.test-steps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.test-steps-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.environment-selector-container{position:relative}.environment-selector-label{color:var(--gray-600);font-size:var(--font-size-xs);font-weight:500;margin-bottom:.25rem}.environment-selector-button{border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);padding:.5rem .75rem;transition:all var(--transition-fast)}.environment-selector-button:hover{background-color:var(--gray-100);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.environment-selector-button svg{color:var(--gray-600);margin-left:.75rem;transition:transform var(--transition-fast)}.environment-selector-button:hover svg{transform:translateY(-1px)}.selectors-container{align-items:flex-end;background-color:var(--gray-50);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:1.5rem;justify-content:flex-end;margin-bottom:1.25rem;padding:1rem}.run-button svg{margin-right:8px}.environment-selector{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px;border:1px solid var(--gray-300);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xs);cursor:pointer;font-size:var(--font-size-sm);min-width:200px;padding:.5rem 2.5rem .5rem .75rem;transition:all var(--transition-fast)}.environment-selector:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem #5e60ce40;outline:none}.environment-selector:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.generate-button-container,.run-button-container{display:inline-block;position:relative}.generate-button{align-items:center;background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:600;justify-content:center;padding:.75rem 1.25rem;transition:all var(--transition-normal)}.generate-button:before{background:linear-gradient(135deg,var(--primary) 0,var(--primary-darker) 100%);border-radius:var(--border-radius-md);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--transition-normal);width:100%;z-index:-1}.generate-button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.generate-button:hover:before{opacity:1}.generate-button:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.generate-button:disabled{background:linear-gradient(135deg,var(--gray-300) 0,var(--gray-400) 100%);box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.generate-button svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.1));font-size:1.125rem;margin-right:.625rem;transition:transform var(--transition-fast)}.generate-button:hover svg{transform:translateY(-1px)}.generate-button.generating{background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);cursor:not-allowed;opacity:.9}.generate-button.generating .spinner{animation:spin 1s ease-in-out infinite;border:.1875rem solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:1.125rem;margin-right:.625rem;width:1.125rem}.generate-button.disabled{background:linear-gradient(135deg,var(--gray-300) 0,var(--gray-400) 100%);box-shadow:none;cursor:not-allowed;opacity:.7}.run-button{align-items:center;background:linear-gradient(135deg,#22c55e,#15803d);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;justify-content:center;min-width:120px;padding:.625rem 1rem;transition:all var(--transition-normal)}.run-button:hover{background:linear-gradient(135deg,#34d399,#16a34a);box-shadow:var(--shadow-md);transform:translateY(-1px)}.run-button:active{box-shadow:var(--shadow-xs);transform:translateY(1px)}.run-button svg{font-size:1rem;margin-right:.5rem;transition:transform var(--transition-fast)}.run-button.disabled{background:linear-gradient(135deg,var(--gray-400) 0,var(--gray-500) 100%);box-shadow:none;cursor:not-allowed;opacity:.7}.test-case-header{animation:fadeIn .3s ease;background-color:var(--gray-50);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1rem}.test-case-title{color:var(--gray-900);font-size:var(--font-size-xl);font-weight:200;margin-bottom:.75rem}.generation-duration{align-items:center;color:var(--gray-600);display:flex;font-size:var(--font-size-sm);gap:.25rem;margin-top:.5rem}.duration-value{color:var(--primary);font-weight:600}.test-case-header h2{color:var(--gray-900);font-size:var(--font-size-2xl);font-weight:600;line-height:1.2;margin:0 0 .5rem}.last-updated{align-items:center;color:var(--gray-600);display:flex;font-size:var(--font-size-xs);gap:.25rem;margin-top:.25rem}.test-case-header{position:relative}.test-case-header h2 span,.test-case-header p span{cursor:pointer}.test-case-header h2 span:hover,.test-case-header p span:hover{color:var(--primary);text-decoration:underline}.test-case-name-input{border:1px solid var(--gray-300);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xs);font-size:1.25rem;font-weight:600;margin-bottom:.75rem;padding:.75rem 1rem;transition:all var(--transition-fast);width:100%}.test-case-name-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #5e60ce40;outline:none}.test-case-description-input{border:1px solid var(--gray-300);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xs);font-size:var(--font-size-base);line-height:1.5;margin-bottom:.75rem;min-height:80px;padding:.75rem 1rem;resize:vertical;transition:all var(--transition-fast);width:100%}.test-case-description-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #5e60ce40;outline:none}.edit-test-case-button{align-items:center;background:none;border:none;color:var(--primary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:.25rem;position:absolute;right:1rem;top:1rem;transition:all var(--transition-fast)}.edit-test-case-button:hover{color:var(--primary-darker);transform:translateY(-1px)}.test-steps-table-container{animation:fadeIn .3s ease;border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;overflow-x:auto;width:100%}.test-steps-table{background-color:#fff;border-collapse:initial;border-spacing:0;font-size:var(--font-size-sm);width:100%}.test-steps-table thead{background-color:var(--gray-50);border-bottom:2px solid var(--gray-200);position:sticky;top:0;z-index:1}.test-steps-table th{color:var(--gray-700);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.test-steps-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background-color var(--transition-fast)}.test-steps-table tbody tr:hover{background-color:var(--gray-50)}.test-steps-table td{color:var(--gray-700);line-height:1.5;padding:.75rem 1rem;vertical-align:middle}.drag-handle-column{width:40px}.step-description-column{width:25%}.step-action-column{width:15%}.step-locator-column{width:30%}.step-value-column{width:20%}.step-actions-column{width:10%}.drag-handle-cell{cursor:grab;text-align:center;transition:all var(--transition-fast);width:30px}.drag-handle-cell.disabled{cursor:not-allowed;opacity:.6}.drag-handle-cell.disabled .drag-handle{color:var(--gray-400)}.step-description-cell{color:var(--gray-800);font-weight:500;line-height:1.5}.step-action-cell .action-dropdown-container{width:100%}.step-locator-cell .element-path-input{background-color:var(--gray-50);border:1px solid var(--gray-300);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xs);font-family:Consolas,monospace;font-size:var(--font-size-xs);margin:0;padding:.625rem;transition:all var(--transition-fast);width:100%}.step-locator-cell .element-path-input:focus{background-color:#fff;border-color:var(--primary);box-shadow:0 0 0 2px #5e60ce40}.step-locator-cell .element-path-input::placeholder{color:var(--gray-500);font-style:italic}.step-value-cell .action-input-container{width:100%}.step-actions-cell{text-align:center}.empty-value{color:var(--gray-500);font-size:var(--font-size-xs);font-style:italic}.test-step-row.dragging{background-color:#f0f7ff;opacity:.5}.test-step-row.drag-over{background-color:var(--gray-50);border-top:2px solid var(--primary)}.test-steps-table .action-input,.test-steps-table .action-select,.test-steps-table .element-path-input{background-color:#fff;border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);padding:.5rem;transition:all var(--transition-fast)}.test-steps-table .element-path-input{font-family:monospace}.test-steps-table .action-input-container{align-items:center;display:flex}.test-steps-table .env-vars-button{margin-left:.375rem;transition:transform var(--transition-fast)}.test-steps-table .env-vars-button:hover{transform:translateY(-1px)}@media (max-width:992px){.test-steps-table td,.test-steps-table th{padding:.625rem .5rem}.step-description-column{width:20%}.test-steps-table{font-size:var(--font-size-xs)}}.element-locator-container{align-items:center;display:flex;width:100%}.test-locator-button{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-darker) 100%);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-xs);gap:.25rem;margin-left:.375rem;padding:.375rem .625rem;transition:all var(--transition-fast);white-space:nowrap}.test-locator-button:hover{background:linear-gradient(135deg,var(--primary-lighter) 0,var(--primary) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.test-locator-button:active{box-shadow:var(--shadow-xs);transform:translateY(1px)}.test-locator-button:disabled{background:linear-gradient(135deg,var(--gray-400) 0,var(--gray-500) 100%);box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.locator-info-tooltip{animation:fadeIn .2s ease;background-color:var(--gray-800);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);color:#fff;font-size:var(--font-size-xs);left:0;line-height:1.4;max-width:300px;padding:.5rem .75rem;position:absolute;top:calc(100% + 5px);z-index:100}.locator-info-tooltip:before{border-color:#0000 #0000 var(--gray-800) #0000;border-style:solid;border-width:5px;bottom:100%;content:"";left:10px;position:absolute}.locator-help-icon{color:#999;cursor:help;font-size:14px;margin-left:5px;transition:color .2s}.locator-help-icon:hover{color:#4a90e2}.locator-status{border-radius:3px;font-size:12px;margin-left:8px;padding:3px 6px}.locator-status.valid{background-color:#e6f7e6;border:1px solid #a5d6a7;color:#2e7d32}.locator-status.invalid{background-color:#fdecea;border:1px solid #ef9a9a;color:#d32f2f}.test-results-table{border-collapse:collapse;margin-top:20px;width:100%}.test-results-table td,.test-results-table th{border:1px solid #ccc;padding:10px;text-align:left}.test-results-table th{background-color:#f0f0f0}.test-results-table .passed{color:#4caf50;font-weight:700}.test-results-table .failed{color:#f44336;font-weight:700}.test-runs-list{margin-top:20px}.test-run-item{background-color:#f5f5f5;border-left:5px solid;border-radius:5px;cursor:pointer;margin-bottom:15px;padding:15px}.test-run-item.passed{border-left-color:#4caf50}.test-run-item.failed{border-left-color:#f44336}.test-run-header{align-items:center;display:flex;justify-content:space-between}.test-run-id{font-weight:700}.test-run-result{border-radius:3px;color:#fff;font-weight:700;padding:5px 10px}.test-run-result.passed{background-color:#4caf50}.test-run-result.failed{background-color:#f44336}.toggle-details-btn{background:none;border:none;cursor:pointer;font-size:16px;margin-left:10px}.test-run-details,.test-run-error,.test-run-output{margin-top:10px}.test-run-error pre,.test-run-output pre{background-color:#e0e0e0;border-radius:3px;overflow-x:auto;padding:10px}.test-run-error strong,.test-run-output strong{display:block;margin-bottom:5px}.test-case-details{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.test-case-details .test-name{color:#333;font-size:1.5em;margin:0 0 10px}.test-case-details .test-description{color:#666;line-height:1.4;margin:0 0 10px}.test-case-details .updated-at{color:#888;font-size:.9em;margin:0}.form-group input{border:1px solid #ccc}.modal-overlay{background-color:#0009;height:100%;transition:all .3s ease;width:100%}.modal-content{border-radius:12px;box-shadow:0 10px 25px #0003;overflow:hidden;padding:30px;transform:translateY(0);transition:transform .3s ease;width:500px}.modal-content h3{color:#4f46e5;font-size:1.5rem;font-weight:600;margin-bottom:20px;margin-top:0;padding-bottom:10px;position:relative}.modal-content h3:after{background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:3px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.modal-content p{color:#4b5563;font-size:.95rem;line-height:1.6;margin-bottom:20px}.modal-actions{margin-top:25px}.modal-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;padding:10px 20px;transition:all .2s ease}.modal-button.cancel{background-color:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563}.modal-button.cancel:hover{background-color:#e5e7eb;color:#1f2937}.modal-button.confirm{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 6px #4f46e526;color:#fff}.modal-button.confirm:hover{box-shadow:0 6px 8px #4f46e533;transform:translateY(-1px)}.modal-button.confirm:active{transform:translateY(1px)}.modal-content .form-group{margin-bottom:18px;position:relative}.modal-content .form-group label{color:#4b5563;font-size:14px;margin-bottom:8px}.modal-content .form-group input,.modal-content .form-group select{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:12px 16px;transition:all .2s ease}.modal-content .form-group input:hover,.modal-content .form-group select:hover{border-color:#a5b4fc}.modal-content .form-group input:focus,.modal-content .form-group select:focus{background-color:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.modal-content .form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.environment-selector-container{align-items:center;display:flex;margin-right:15px}.environment-selector-button{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;min-width:180px;padding:8px 12px;-webkit-user-select:none;user-select:none}.environment-selector-button:hover{background-color:#f5f5f5}.environment-selector-button:disabled{cursor:not-allowed;opacity:.6}.environment-selector-button svg{color:#6c757d;margin-left:8px}.environment-selector-button:empty:after{color:#333;content:"Select Environment *"}.environment-selector-button:empty:after span{color:#dc3545}.environment-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000}.environment-option{align-items:center;border-bottom:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px}.environment-option:last-child{border-bottom:none}.environment-option:hover{background-color:#f5f5f5}.environment-option.selected{background-color:#f0f7ff}.environment-item-content{display:flex;flex:1 1;flex-direction:column}.environment-name{font-weight:500;margin-bottom:4px}.environment-url{margin-bottom:2px}.environment-description,.environment-login,.environment-url{color:#6c757d;font-size:12px}.environment-description{font-style:italic}.environment-edit-button{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;padding:4px 8px}.environment-edit-button:hover{background-color:#e9ecef;color:#495057}.environment-dropdown-item.add-new{background-color:#f8f9fa}.environment-dropdown-item.add-new:hover{background-color:#e9ecef}.environment-dropdown-item.add-new .environment-name{align-items:center;color:#28a745;display:flex;gap:8px}.delete-step-button{background:none;border:none;color:#ff4d4f;cursor:pointer;margin-left:5px;padding:5px;transition:all .2s}.delete-step-button:hover{color:#ff7875;transform:scale(1.1)}.modal-button.delete{background-color:#ff4d4f;color:#fff}.modal-button.delete:hover{background-color:#ff7875}.action-input-container{align-items:center;display:flex;flex:1 1;position:relative}.action-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:5px 8px}.env-vars-button{background:none;border:none;color:#1890ff;cursor:pointer;margin-left:5px;padding:5px;transition:all .2s}.env-vars-button:hover{color:#40a9ff;transform:scale(1.1)}.env-vars-button:disabled{color:#d9d9d9;cursor:not-allowed}.env-vars-button:disabled:hover{transform:none}.env-vars-dropdown{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #00000026;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;width:250px;z-index:1000}.env-vars-dropdown-header{background-color:#f5f5f5;border-bottom:1px solid #ddd;font-weight:700;padding:8px 12px}.env-vars-dropdown-item{cursor:pointer;padding:8px 12px;transition:background-color .2s}.env-vars-dropdown-item:hover{background-color:#f0f0f0}.env-var-item-content{display:flex;flex-direction:column}.env-var-name{color:#1890ff;font-weight:500}.env-var-description{color:#888;font-size:12px;margin-top:2px}.element-path-input{background-color:#f9f9f9;border:1px solid #ddd;margin-bottom:5px;margin-top:8px}.element-path-input:focus{background-color:#fff}.element-path-label{color:#666;font-size:12px;margin-top:5px}.test-step-controls{display:flex;flex-direction:column;margin-bottom:10px;width:100%}.element-locator-container{background-color:#f0f7ff;border-left:3px solid #4a90e2;border-radius:4px;margin-top:10px;padding:8px}.element-path-label{color:#333;display:block;font-size:13px;font-weight:700;margin-bottom:5px}.element-path-input{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;font-family:monospace;font-size:14px;padding:8px;width:100%}.element-path-input:focus{border-color:#4a90e2;box-shadow:0 0 3px #4a90e280;outline:none}.element-path-input::placeholder{color:#999;font-style:italic}.custom-variables-container{margin-top:10px}.custom-variables-list{list-style:none;margin:0;padding:0}.custom-variable-item{align-items:center;display:flex;gap:8px;margin-bottom:8px}.custom-variable-name,.custom-variable-value{border:1px solid #ccc;border-radius:4px;flex:1 1;padding:8px}.remove-variable-button{background:none;border:none;border-radius:4px;color:#f44336;cursor:pointer;font-size:14px;padding:4px 8px}.remove-variable-button:hover{background-color:#f443361a}.add-variable-button{align-items:center;background:none;border:1px dashed #2196f3;border-radius:4px;color:#2196f3;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;margin-top:8px;padding:8px 12px;text-align:center;width:100%}.add-variable-button:hover{background-color:#2196f31a}.custom-variable-labels{color:#666;display:flex;font-size:12px;margin-bottom:4px}.custom-variable-labels span{flex:1 1;padding:0 8px}.action-button,.add-step-button,.generate-button,.run-button{align-items:center;background:linear-gradient(135deg,#34d399,#10b981);border:none;border-radius:6px;box-shadow:0 4px 6px #32325d1c,0 1px 3px #00000014;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;min-width:120px;padding:10px 16px;transition:all .3s ease}.action-button:hover,.add-step-button:hover,.generate-button:hover,.run-button:hover{background:linear-gradient(135deg,#20bf6b,#0b8a45);box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;transform:translateY(-1px)}.action-button:active,.add-step-button:active,.generate-button:active,.run-button:active{box-shadow:var(--shadow-xs);transform:translateY(1px)}.action-button.disabled,.action-button:disabled,.add-step-button:disabled,.generate-button.disabled,.generate-button:disabled,.run-button.disabled,.run-button:disabled{background:linear-gradient(135deg,var(--gray-400) 0,var(--gray-500) 100%);box-shadow:none;cursor:not-allowed;opacity:.7}.action-button svg,.add-step-button svg,.generate-button svg,.run-button svg{font-size:1rem;margin-right:.5rem;transition:transform var(--transition-fast)}.run-button:hover svg{transform:translateY(-1px)}.add-step-button{margin-bottom:0}.generate-button.generating{background:linear-gradient(135deg,#fd7e14,#e76f51)}.modal-content form{width:100%}.modal-content .form-group{margin-bottom:15px}.modal-content .form-group label{display:block;font-weight:500;margin-bottom:5px}.modal-content .form-group input,.modal-content .form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.modal-content .form-group input:focus,.modal-content .form-group select:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e240;outline:none}@media (max-width:768px){.test-steps-flow{align-items:center;flex-direction:column}.test-step-box{flex:1 1 100%;margin:8px 0;max-width:none}.test-step-box:not(:last-child):after{bottom:-20px;content:"↓";right:50%;top:auto;transform:translateX(50%)}}.spinner{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.generating-indicator{align-items:center;background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:15px;padding:10px 15px}.generating-indicator .spinner{border-color:#007bff4d;margin-right:10px}.generating-indicator-text{color:#495057;flex-grow:1;font-weight:500}.step-generation-info{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:4px;margin-bottom:10px;margin-top:10px;padding:10px;width:100%}.step-generation-info .spinner{border-color:#007bff4d;margin-right:10px}.step-generation-info-text{color:#495057;flex-grow:1;font-weight:500}.stop-generation-button{align-items:center;align-self:flex-end;background-color:#fee2e2;border:none;border-radius:4px;color:#b91c1c;cursor:pointer;display:flex;font-size:14px;gap:5px;margin-left:auto;padding:5px 10px;transition:background-color .2s}.stop-generation-button:hover{background-color:#c82333}.stop-generation-button svg{margin-right:6px}.spinner{animation:spin 1s linear infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#0369a1;height:20px;margin-right:10px;width:20px}.view-screenshot-button{align-items:center;background:none;border:none;border-radius:4px;color:#4a90e2;cursor:pointer;display:inline-flex;justify-content:center;margin-right:8px;padding:6px 10px;transition:all .2s ease}.view-screenshot-button:hover{background-color:#4a90e21a;transform:translateY(-1px)}.view-screenshot-button:active{transform:translateY(1px)}.view-screenshot-button:disabled{color:#adb5bd;cursor:not-allowed;opacity:.7}.view-screenshot-button:disabled:hover{background-color:initial;transform:none}.screenshot-modal{max-height:90vh;max-width:90vw;overflow:visible;transition:all .3s ease;width:80vw}.zoomed-modal{display:flex;flex-direction:column;height:98vh;max-height:98vh;max-width:98vw;width:98vw}.modal-header{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:10px}.modal-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:5px;transition:all .2s ease}.modal-close-button:hover{background-color:#f443361a;color:#f44336}.screenshot-container{align-items:center;background-color:#f5f5f5;border-radius:4px;display:flex;flex-direction:column;margin-bottom:15px;max-height:70vh;overflow:auto;padding:15px;transition:max-height .3s ease}.zoomed-modal .screenshot-container{flex:1 1;max-height:90vh;overflow:auto;padding:20px;position:relative}.screenshot-image-container{align-items:center;display:flex;justify-content:center;max-height:60vh;overflow:auto;transition:all .3s ease;width:100%}.zoomed-modal .screenshot-image-container{flex:1 1;height:100%;max-height:none;overflow:auto;padding:100px;position:relative;width:100%}.step-screenshot{border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a;cursor:zoom-in;height:auto;max-width:100%;object-fit:contain;transform-origin:center center;transition:transform .3s ease}.step-screenshot.zoomed{cursor:zoom-out;height:auto;left:0;margin:100px;max-width:none;position:absolute;top:0;transform:scale(1.25);width:auto;z-index:1000}.screenshot-description{color:#666;font-size:14px;margin-bottom:15px;text-align:center}.loading-indicator{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:20px;text-align:center}.loading-indicator .spinner{margin-bottom:10px}.error-message{background-color:#ffebee;border:1px solid #ffcdd2;color:#d32f2f}.error-message,.no-screenshot{padding:20px;text-align:center}.no-screenshot{color:#666;font-style:italic}.stop-execution-button{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;padding:8px 12px;transition:all .3s ease}.stop-execution-button:hover{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.stop-execution-button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(1px)}.stop-execution-button svg{font-size:16px;margin-right:8px}.tooltip{background-color:#333;border-radius:4px;box-shadow:0 2px 5px #0003;left:50%;margin-top:8px;max-width:250px;top:100%;transform:translateX(-50%);width:max-content}.tooltip:before{border:5px solid;border-color:#0000 #0000 #333;bottom:100%;content:"";left:50%;margin-left:-5px;position:absolute}.popup-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;opacity:1;position:fixed;top:0;transition:opacity .5s ease;width:100%;z-index:1500}.popup-overlay.hidden{opacity:0}.popup-content{background-color:#fff;border-radius:8px;opacity:1;padding:30px;text-align:center;transform:scale(1);transition:opacity .5s ease,transform .5s ease;width:300px}.popup-content.fade-out{opacity:0;transform:scale(.9)}.result-icon{font-size:50px;margin-bottom:20px}.result-icon.passed{color:green}.result-icon.failed{color:red}.close-popup-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.close-popup-button:hover{background-color:#0056b3}.environments-container{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.environments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.environments-header h2{color:#333;font-size:1.5rem;margin:0}.add-environment-button{align-items:center;background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:background-color .2s}.add-environment-button:hover{background-color:#218838}.add-environment-button:disabled{background-color:#6c757d;cursor:not-allowed}.environments-message,.loading-message,.no-environments-message{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:30px;text-align:center}.environments-message svg,.no-environments-message svg{color:#6c757d;font-size:24px;margin-bottom:10px}.add-first-environment-button{background-color:#007bff;border-radius:4px;display:flex;font-size:14px;gap:8px;margin-top:15px;padding:8px 16px;transition:background-color .2s}.add-first-environment-button:hover{background-color:#0069d9}.environments-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.environment-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:space-between;padding:20px;transition:transform .2s,box-shadow .2s}.environment-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.environment-info h3{color:#333;font-size:1.2rem;margin-bottom:10px;margin-top:0}.environment-info p{color:#555;font-size:14px;margin:5px 0}.environment-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.delete-button,.edit-button{background:none;font-size:16px;padding:5px}.delete-button,.edit-button{border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.edit-button{background-color:#007bff;color:#fff;margin-right:5px;padding:6px 10px}.edit-button:hover{background-color:#0069d9}.delete-button{color:#dc3545}.delete-button:hover{background-color:#dc35451a}.delete-button:disabled,.edit-button:disabled{color:#6c757d;cursor:not-allowed}.delete-button:disabled:hover,.edit-button:disabled:hover{background-color:initial}.login-button{background-color:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:5px;padding:6px 10px;transition:background-color .2s}.login-button:hover{background-color:#138496}.login-button:disabled{background-color:#6c757d;cursor:not-allowed}.environment-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.environment-form-container h3{color:#333;font-size:1.2rem;margin-bottom:20px;margin-top:0}.form-group{margin-bottom:15px}.form-group label{color:#333}.form-group input{border:1px solid #ced4da;font-size:14px;padding:8px 12px}.form-group input:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.form-actions{gap:10px}.cancel-button,.save-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:background-color .2s}.cancel-button{background-color:#f8f9fa;border:1px solid #ced4da;color:#212529}.cancel-button:hover{background-color:#e2e6ea}.save-button{background-color:#007bff;color:#fff}.save-button:hover{background-color:#0069d9}.error-message{gap:8px;margin-bottom:15px;padding:10px}.error-message svg{color:#721c24}.success-message{align-items:center;background-color:#d4edda;border-radius:4px;color:#155724;display:flex;gap:8px;margin-bottom:15px;padding:10px}.dashboard{background-color:var(--gray-100);display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.dashboard-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:1rem 1.5rem;z-index:10}.project-selector-container{align-items:center;display:flex;margin-right:15px;position:relative}.project-selector-label{color:var(--gray-700);font-size:14px;font-weight:500;margin-right:8px;white-space:nowrap}.project-selector-button{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;min-width:180px;padding:8px 12px;-webkit-user-select:none;user-select:none}.project-selector-button:hover{background-color:#f5f5f5}.project-icon{color:#6772e5;margin-right:8px}.dropdown-icon{color:#6c757d;margin-left:8px}.project-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000}.project-option{border-bottom:1px solid #eee;cursor:pointer;padding:10px 12px}.project-option:last-child{border-bottom:none}.project-option:hover{background-color:#f5f5f5}.project-option.selected{background-color:#f0f7ff}.generate-button-container{position:relative}.generate-from-file-button{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:8px;box-shadow:0 4px 12px #4f46e540,0 1px 3px #00000014;display:flex;font-size:15px;font-weight:600;justify-content:center;min-width:160px;overflow:hidden;padding:12px 20px;position:relative;transition:all .3s ease;z-index:1}.generate-from-file-button:before{background:linear-gradient(135deg,#4f46e5,#4338ca);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:-1}.generate-from-file-button:hover{box-shadow:0 8px 16px #4f46e54d,0 3px 6px #0000001a;transform:translateY(-2px)}.generate-from-file-button:hover:before{opacity:1}.generate-from-file-button:active{box-shadow:0 3px 5px #4f46e533,0 1px 2px #00000014;transform:translateY(1px)}.generate-from-file-button.disabled{background:linear-gradient(135deg,#cbd5e1,#94a3b8);box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.generate-from-file-button svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.1));font-size:18px;margin-right:10px}.tooltip{background-color:#1f2937;border-radius:6px;bottom:-40px;box-shadow:0 4px 6px #0000001a;color:#fff;font-size:12px;padding:8px 12px;position:absolute;right:0;white-space:nowrap;z-index:100}.tooltip svg{margin-right:4px}.dashboard-content{background-color:var(--gray-100);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.dashboard-tabs{background-color:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 2px #00000008;display:flex;padding:0 1.5rem}.tab-button{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--gray-600);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:.5rem;padding:1rem 1.5rem;position:relative;transition:all var(--transition-fast)}.tab-button.active,.tab-button:hover{color:var(--primary)}.tab-button.active{border-bottom:2px solid var(--primary)}.tab-button.active:after{background-color:var(--primary);border-radius:1px 1px 0 0;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.tab-button svg{font-size:16px}.dashboard-main{animation:fadeIn .3s ease-in-out;background-color:var(--gray-100);display:flex;flex:1 1;gap:1.5rem;overflow:hidden;padding:1.5rem}.tree-container{flex-shrink:0;overflow-y:auto;width:280px}.content-container,.tree-container{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.content-container{flex:1 1;overflow:auto;padding:20px}.environments-tab-container{animation:fadeIn .3s ease-in-out;background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);flex:1 1;margin:1rem;overflow-y:auto;padding:1.5rem}.loading-message,.no-environments-message{align-items:center;color:var(--gray-600);display:flex;flex-direction:column;font-size:var(--font-size-base);justify-content:center;padding:2.5rem;text-align:center}.env-form-group{animation:fadeIn .3s ease;margin-bottom:1.25rem}.env-form-label{color:var(--gray-700);display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:.5rem}.add-first-environment-button{align-items:center;background-color:var(--primary);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:.5rem;margin-top:1.25rem;padding:.6rem 1rem;transition:all var(--transition-fast)}.add-first-environment-button:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.error-message,.success-message{align-items:center;animation:fadeIn .3s ease-in-out;border-radius:var(--border-radius-md);display:flex;font-size:var(--font-size-sm);gap:.5rem;margin:1rem 0;padding:.75rem 1rem}.error-message{background-color:var(--danger-light);border:1px solid var(--danger-lighter);box-shadow:var(--shadow-xs);color:var(--danger-dark)}.success-message{background-color:var(--success-light);border:1px solid var(--success-lighter);box-shadow:var(--shadow-xs);color:var(--success-dark)}.no-test-selected{animation:fadeIn .3s ease;color:var(--gray-500);height:100%;justify-content:center;padding:2.5rem}.empty-state,.no-test-selected{align-items:center;display:flex}.empty-state{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;max-width:400px;padding:2rem;text-align:center}.empty-state svg{color:var(--gray-400);font-size:3rem;margin-bottom:1rem;opacity:.8}.empty-state h3{color:var(--gray-700);font-weight:600;margin-bottom:.5rem;margin-top:1rem}.empty-state p{color:var(--gray-600);font-size:var(--font-size-sm);margin:0}@media (max-width:768px){.dashboard-main{flex-direction:column;gap:1rem;padding:1rem}.tree-container{margin-bottom:1rem;max-height:300px;width:100%}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.tab-button{font-size:var(--font-size-xs);padding:.75rem 1rem}#project-selector{width:100%}.generate-from-file-button{justify-content:center;width:100%}.content-container{padding:1rem}.dashboard-tabs{padding:0 1rem}.environments-tab-container{margin:.5rem;padding:1rem}}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.login-form{margin:0 auto;max-width:320px;padding:1rem;width:100%}.login-form h2{background:linear-gradient(90deg,#e21e9b,#8f41e9);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.error-message{background-color:#fee2e2;border-radius:.375rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.form-group{margin-bottom:1.25rem;position:relative}.form-group label{color:#6b7280;font-size:.875rem}.form-group input{background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;box-sizing:border-box;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.form-group input:hover{border-color:#d1d5db}.form-group input:focus{border-color:#8f41e9;box-shadow:0 0 0 4px #8f41e91a}button[type=submit]{background:linear-gradient(90deg,#e21e9b,#8f41e9);border:none;border-radius:.5rem;box-sizing:border-box;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;padding:.875rem;transition:opacity .2s;width:100%}button[type=submit]:hover{opacity:.9}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-close{align-items:center;background:#f3f4f6;border-radius:9999px;display:flex;font-size:1.25rem;height:2rem;justify-content:center;line-height:1;transition:all .2s;width:2rem}.modal-close:hover{background:#e5e7eb;color:#374151}.landing-page{background:linear-gradient(180deg,#fff,#f3e8ff);color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;min-height:100vh;overflow-x:hidden}.nav-container{padding:1.5rem}.nav-content{justify-content:space-between;margin:0 auto;max-width:1200px}.logo-container,.nav-content{align-items:center;display:flex}.logo-container{gap:.75rem}.logo-square{background:linear-gradient(135deg,#ff6b6b,#f39 50%,#6366f1);border-radius:.75rem;height:3rem;width:3rem}.logo-text{background:linear-gradient(90deg,#f39,#6366f1);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:1.75rem;font-weight:700}.nav-links{display:flex;gap:2rem}.nav-link{color:#4b5563;text-decoration:none;transition:color .2s}.nav-link:hover{color:#111827}.hero-section{padding:7rem 1rem 5rem;position:relative;text-align:center}.hero-section:before{background:radial-gradient(circle at center,#f3e8ffcc 0,#fff0 70%);content:"";height:100%;left:50%;position:absolute;top:0;transform:translateX(-50%);width:100%;z-index:-1}.container{margin:0 auto;max-width:1200px}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem}.hero-highlight{background:linear-gradient(90deg,#f39,#6366f1);-webkit-background-clip:text;background-clip:text;color:#0000}.hero-subtitle{color:#4b5563;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.5;margin-bottom:1rem;max-width:700px}.hero-description,.hero-subtitle{margin-left:auto;margin-right:auto}.hero-description{color:#6b7280;font-size:1.1rem;line-height:1.6;margin-bottom:2rem;max-width:800px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.cta-button{align-items:center;background:linear-gradient(90deg,#f39,#6366f1);border:none;border-radius:9999px;box-shadow:0 4px 14px #6366f140;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.875rem 2rem;transition:all .2s ease}.cta-button:hover{box-shadow:0 6px 20px #6366f159;transform:translateY(-2px)}.secondary-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;color:#4b5563;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.875rem 2rem;text-decoration:none;transition:all .2s ease}.secondary-button:hover{background:#f9fafb;color:#111827}.hero-stats{flex-wrap:wrap;gap:3rem;justify-content:center;margin-top:2rem}.hero-stats,.stat-item{align-items:center;display:flex}.stat-item{flex-direction:column}.stat-number{background:linear-gradient(90deg,#f39,#6366f1);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.5rem;font-weight:700}.stat-label{color:#6b7280;font-size:.875rem;margin-top:.25rem}.section-header{margin-bottom:3.5rem;text-align:center}.section-title{background:linear-gradient(90deg,#111827,#374151);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.01em;margin-bottom:1rem}.section-subtitle{color:#6b7280;font-size:1.125rem;margin:0 auto 1rem;max-width:600px}.section-description{color:#6b7280;font-size:1.1rem;line-height:1.6;margin:0 auto 2.5rem;max-width:800px}.features-section{background:#fff;overflow:hidden;padding:7rem 1rem;position:relative}.features-section:before{background:linear-gradient(to bottom right,#0000 49%,#fff 50%);content:"";height:100px;left:0;position:absolute;right:0;top:-50px;z-index:1}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1200px}.feature-card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #0000000d;display:flex;flex-direction:column;height:100%;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.feature-icon{background:#f9fafb;border-radius:12px;height:3rem;margin-bottom:1.5rem;padding:.75rem;width:3rem}.feature-icon.pink{background:#ff33991a;color:#f39}.feature-icon.blue{background:#6366f11a;color:#6366f1}.feature-icon.purple{background:#9333ea1a;color:#9333ea}.feature-icon.green{background:#10b9811a;color:#10b981}.feature-icon.orange{background:#f59e0b1a;color:#f59e0b}.feature-icon.teal{background:#14b8a61a;color:#14b8a6}.feature-title{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.feature-description{color:#6b7280;flex-grow:1;line-height:1.5}.no-code-section{background:linear-gradient(180deg,#f3e8ff,#fff);padding:6rem 1.5rem}.no-code-features-container{display:flex;flex-direction:column;gap:3rem;margin:3rem auto 0;max-width:1200px}.no-code-feature{align-items:flex-start;background:#fff;border-radius:1rem;box-shadow:0 4px 20px #0000000d;display:flex;gap:2rem;padding:2rem;transition:transform .3s,box-shadow .3s}.no-code-feature:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.no-code-feature-icon-container{align-items:center;background:linear-gradient(135deg,#ff33991a,#6366f11a);border-radius:1rem;display:flex;flex-shrink:0;height:4rem;justify-content:center;width:4rem}.no-code-feature-icon{color:#6366f1;height:2rem;width:2rem}.no-code-feature-content h3{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.no-code-feature-content p{color:#4b5563;font-size:1.125rem;line-height:1.7}@media (max-width:768px){.no-code-feature{align-items:center;flex-direction:column;text-align:center}.no-code-feature-icon-container{margin-bottom:1.5rem}}.contact-section{background:#fff;padding:7rem 1rem}.contact-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1200px}@media (max-width:768px){.contact-container{grid-template-columns:1fr}}.contact-info{display:flex;flex-direction:column;justify-content:center}.contact-card{background:#f9fafb;border-radius:1rem;box-shadow:0 4px 20px #0000000d;padding:2rem}.contact-title{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.contact-name{color:#4b5563}.contact-email,.contact-name{font-weight:500;margin-bottom:.5rem}.contact-email{color:#6366f1;display:block;text-decoration:none}.contact-email:hover{text-decoration:underline}.contact-phone{color:#4b5563;font-weight:500}.contact-form-container{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #0000000d;padding:2rem}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#374151}.form-group input,.form-group textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.contact-submit{align-self:flex-start;background:linear-gradient(90deg,#f39,#6366f1);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .2s}.contact-submit:hover{box-shadow:0 4px 12px #6366f140;opacity:.9;transform:translateY(-2px)}.form-message{animation:fadeIn .3s ease-out;border-radius:.5rem;font-weight:500;margin-top:1.5rem;padding:1rem}.form-message.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#047857}.form-message.error{background-color:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.form-actions{margin-top:1.5rem}.retry-button{background:#0000;border:1px solid #6366f1;border-radius:.5rem;color:#6366f1;cursor:pointer;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.retry-button:hover{background:#6366f11a;transform:translateY(-2px)}.database-driven-section{background:linear-gradient(180deg,#fff,#f9fafb);padding:6rem 1.5rem}.database-benefits-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr);margin:3rem auto 0;max-width:1200px}.database-benefit-card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #0000000d;padding:2rem;transition:transform .3s,box-shadow .3s}.database-benefit-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.database-benefit-card .benefit-icon{background:linear-gradient(135deg,#ff33991a,#6366f11a);border-radius:.75rem;color:#6366f1;height:3rem;margin-bottom:1.5rem;padding:.75rem;width:3rem}.database-benefit-card h3{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.database-benefit-card p{color:#4b5563;line-height:1.6}@media (max-width:768px){.database-benefits-container{grid-template-columns:1fr}}.screenshots-section{background:linear-gradient(180deg,#f9fafb,#f3f4f6);padding:5rem 1.5rem}.screenshots-container{display:flex;flex-direction:column;gap:4rem;margin:3rem auto 0;max-width:1200px}.screenshot-item{align-items:center;display:flex;gap:3rem}.screenshot-item:nth-child(2n){flex-direction:row-reverse}.screenshot-image{border-radius:1rem;box-shadow:0 10px 25px #0000001a;flex:1 1;overflow:hidden;position:relative;transition:transform .3s,box-shadow .3s}.screenshot-image:hover{box-shadow:0 15px 30px #00000026;transform:translateY(-5px)}.screenshot-image img{border-radius:.5rem;display:block;height:auto;width:100%}.screenshot-description{flex:1 1}.screenshot-description h3{background:linear-gradient(90deg,#f39,#6366f1);-webkit-background-clip:text;background-clip:text;color:#0000;display:inline-block;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.screenshot-description p{color:#4b5563;font-size:1.125rem;line-height:1.7}@media (max-width:768px){.screenshot-item,.screenshot-item:nth-child(2n){flex-direction:column;gap:2rem}}.footer{background:linear-gradient(0deg,#f3f4f6,#fff);padding:4rem 1rem 1.5rem}.footer-content{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto 3rem;max-width:1200px}.footer-logo{align-items:center;display:flex;gap:.75rem}.footer-links{display:flex;flex-wrap:wrap;gap:4rem}.footer-column{display:flex;flex-direction:column;gap:1rem}.footer-column h4{color:#111827;font-weight:600;margin-bottom:.5rem}.footer-column a{color:#6b7280;text-decoration:none;transition:color .2s}.footer-column a:hover{color:#111827}.footer-bottom{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding-top:1.5rem}.footer-text{color:#6b7280}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:#6b7280;font-size:.875rem;text-decoration:none}.footer-legal a:hover{color:#111827}@media (max-width:768px){.footer-bottom,.footer-content{align-items:center;flex-direction:column;text-align:center}.footer-links{gap:2rem}}.how-it-works-section{background:#f9fafb;padding:7rem 1rem;position:relative}.process-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1000px}@media (max-width:768px){.process-container{flex-direction:column}.process-arrow{margin:1rem 0;transform:rotate(90deg)}}.process-step{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #0000000d;flex:1 1;min-width:250px;padding:2rem;position:relative;text-align:center;transition:transform .3s ease}.process-step:hover{transform:translateY(-5px)}.process-number{align-items:center;background:linear-gradient(90deg,#f39,#6366f1);border-radius:50%;color:#fff;display:flex;height:3rem;justify-content:center;margin:0 auto 1.5rem;width:3rem}.process-number,.process-title{font-size:1.25rem;font-weight:700}.process-title{color:#111827;margin-bottom:1rem}.process-description{color:#6b7280;line-height:1.5}.process-arrow{color:#9ca3af}.use-cases-section{background:#fff;padding:7rem 1rem}.use-cases-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0 auto;max-width:1200px}.use-case-card{background:#f9fafb;border-radius:1rem;padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.use-case-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.use-case-icon{color:#6366f1;height:3rem;margin:0 auto 1.5rem;width:3rem}.use-case-title{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.use-case-description{color:#6b7280;line-height:1.5}@media (max-width:768px){.hero-section{padding:5rem 1rem 3rem}.hero-title{font-size:2.5rem}.hero-stats{gap:2rem}.contact-container,.features-grid,.use-cases-grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feature-card,.process-step,.section-header,.use-case-card{animation:fadeIn .6s ease-out forwards}.modal-overlay{background:#00000080;inset:0;z-index:50}.modal-content{background:#fff;border-radius:1rem;max-width:28rem;padding:2rem;position:relative}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;position:absolute;right:1rem;top:1rem}.modal-close:hover{color:#111827}.clients-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.clients-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.clients-header h1{color:#333;font-size:2rem;font-weight:600;margin:0}.new-client-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 2px 10px #4caf5033;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.new-client-btn:hover{background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 4px 15px #4caf504d;transform:translateY(-2px)}.new-client-btn:active{box-shadow:0 2px 5px #4caf5033;transform:translateY(0)}.loading-icon{color:#4caf50}.clients-controls{margin-bottom:1.5rem}.search-container{max-width:400px}.search-input:focus{border-color:#4caf50;box-shadow:0 2px 10px #4caf501a}.client-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.client-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #00000014;overflow:hidden;transition:all .3s ease}.client-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.client-card-header{background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-bottom:1px solid #f0f0f0;padding:1.25rem}.client-card-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.client-card-body{padding:1.25rem}.client-info{display:flex;flex-direction:column;gap:.75rem}.info-item{font-size:.9rem}.info-label{color:#757575}.client-card-footer{background-color:#f9f9f9;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 1.25rem}.delete-btn,.edit-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.6rem 1rem;transition:all .3s ease}.edit-btn{background-color:#f5f5f5;border:1px solid #e0e0e0;color:#333}.edit-btn:hover{background-color:#eee;border-color:#bdbdbd}.delete-btn{background-color:#fff5f5;border:1px solid #ffcdd2;color:#e74c3c}.delete-btn:hover:not(:disabled){background-color:#ffebee;border-color:#ef9a9a;color:#c0392b}.delete-btn:disabled{opacity:.7}.no-clients{background-color:#f9f9f9;border:1px dashed #e0e0e0;border-radius:8px;color:#757575;font-size:1.1rem;padding:3rem 1rem;text-align:center}@media (max-width:768px){.clients-container{padding:1rem}.clients-header{align-items:flex-start;flex-direction:column;gap:1rem}.client-cards{grid-template-columns:1fr}}@media (max-width:480px){.client-card-footer{flex-direction:column;gap:.75rem}.delete-btn,.edit-btn{justify-content:center;width:100%}}.new-client-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:600px;padding:20px}.new-client-container h1{color:#2c3e50;margin-bottom:20px;text-align:center}.new-client-container form{margin:0 auto;max-width:400px;width:100%}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;font-weight:700;margin-bottom:5px}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#3498db;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-actions{margin-top:24px}.button-group{display:flex;gap:12px;justify-content:center;margin:0 auto;max-width:400px;width:100%}.cancel-btn,.submit-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;font-weight:500;height:40px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:140px}.submit-btn{background-color:#3498db}.submit-btn:hover:not(:disabled){background-color:#2980b9}.cancel-btn{background-color:#e74c3c;color:#fff}.cancel-btn:hover:not(:disabled){background-color:#c0392b}.cancel-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.7}.error{background-color:#fde8e7;border-radius:4px;color:#e74c3c;font-size:14px;margin:0 auto 20px;max-width:400px;padding:10px;width:100%}.users-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.users-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.users-header,.users-header h1{align-items:center;display:flex}.users-header h1{color:#333;font-size:2rem;font-weight:600;gap:.75rem;margin:0}.header-icon{color:#4a6cf7}.new-user-btn{align-items:center;background:linear-gradient(135deg,#4a6cf7,#3b5fe2);border:none;border-radius:8px;box-shadow:0 2px 10px #4a6cf733;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.new-user-btn:hover{background:linear-gradient(135deg,#3b5fe2,#2a4cd0);box-shadow:0 4px 15px #4a6cf74d;transform:translateY(-2px)}.new-user-btn:active{box-shadow:0 2px 5px #4a6cf733;transform:translateY(0)}.loading-icon{color:#4a6cf7}.users-controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.search-input:focus{border-color:#4a6cf7;box-shadow:0 2px 10px #4a6cf71a}.filters-container{display:flex;flex-wrap:wrap;gap:1rem}.filter-group{align-items:center;display:flex;gap:.5rem}.filter-group label{align-items:center;color:#555;display:flex;font-weight:500;gap:.25rem}.filter-select:focus{border-color:#4a6cf7;box-shadow:0 2px 5px #4a6cf71a}.user-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.user-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #00000014;overflow:hidden;transition:all .3s ease}.user-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.user-card-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.25rem}.user-card-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.role-badge{align-items:center;border-radius:6px;display:inline-block;display:flex;font-size:.85rem;font-weight:500;gap:.35rem;padding:.4rem .75rem}.role-badge.admin{background-color:#dc3545;color:#fff}.role-badge.user{background-color:#6c757d;color:#fff}.user-card-body{padding:1.25rem}.user-info{display:flex;flex-direction:column;gap:1rem}.info-item{font-size:.95rem;justify-content:space-between}.info-item,.info-label{align-items:center;display:flex}.info-label{color:#555;font-weight:500;gap:.35rem}.info-value{color:#333;max-width:60%;overflow:hidden;text-overflow:ellipsis}.select-wrapper{align-items:center;display:flex;gap:.5rem;position:relative}.client-select,.role-select{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;min-width:130px;padding:.5rem;transition:all .3s ease}.client-select:focus,.role-select:focus{border-color:#4a6cf7;box-shadow:0 2px 5px #4a6cf71a;outline:none}.updating-spinner{color:#4a6cf7;font-size:.9rem}.no-users{align-items:center;background-color:#f9f9f9;border:1px dashed #e0e0e0;border-radius:8px;color:#757575;display:flex;flex-direction:column;font-size:1.1rem;gap:1rem;padding:3rem 1rem;text-align:center}.no-users svg{color:#adb5bd;font-size:2.5rem}.new-user-form-container{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #00000014;margin-bottom:2rem;padding:1.5rem}.new-user-form-container h2{align-items:center;color:#333;display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;margin-top:0}.new-user-form{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.form-group input,.form-group select{border:1px solid #ced4da;border-radius:8px;font-size:.95rem;padding:.75rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#4a6cf7;box-shadow:0 2px 10px #4a6cf71a;outline:none}.input-error{border-color:#dc3545!important}.field-error{color:#dc3545;display:block;font-size:.85rem;margin-top:.35rem}.submit-btn{align-items:center;background:linear-gradient(135deg,#4a6cf7,#3b5fe2);border:none;border-radius:8px;box-shadow:0 2px 10px #4a6cf733;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(135deg,#3b5fe2,#2a4cd0);box-shadow:0 4px 15px #4a6cf74d;transform:translateY(-2px)}.submit-btn:active{box-shadow:0 2px 5px #4a6cf733;transform:translateY(0)}.form-error{background-color:#f8d7da;color:#dc3545}.form-error,.form-success{align-items:center;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1.25rem;padding:.75rem}.form-success{background-color:#d4edda;color:#28a745}@media (max-width:768px){.users-container{padding:1rem}.users-header{align-items:flex-start;flex-direction:column;gap:1rem}.new-user-form,.user-cards{grid-template-columns:1fr}.users-controls{flex-direction:column}.filters-container{justify-content:space-between;width:100%}}@media (max-width:480px){.filter-group{align-items:flex-start;flex-direction:column}.filter-select{width:100%}.form-actions,.submit-btn{justify-content:center}.submit-btn{width:100%}}.user-menu{position:relative}.user-menu-button{background:none;border:none;cursor:pointer;padding:0}.user-icon{align-items:center;background-color:#34495e;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:36px;justify-content:center;transition:background-color .3s;width:36px}.user-menu-button:hover .user-icon{background-color:#2c3e50}.user-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin-top:8px;min-width:200px;position:absolute;right:0;top:100%;z-index:1000}.user-info{padding:12px 16px}.user-name{color:#2c3e50;display:block;font-weight:700;margin-bottom:4px}.user-role{color:#7f8c8d;display:block;font-size:12px;text-transform:capitalize}.dropdown-divider{background-color:#ecf0f1;height:1px;margin:4px 0}.dropdown-item{background:none;border:none;color:#2c3e50;cursor:pointer;display:block;padding:8px 16px;text-align:left;transition:background-color .3s;width:100%}.dropdown-item:hover{background-color:#f8f9fa}.projects-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.projects-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.projects-header h1{align-items:center;color:#333;display:flex;font-size:2rem;font-weight:600;gap:.75rem;margin:0}.header-icon{color:#6366f1}.create-project-button{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;box-shadow:0 2px 10px #6366f133;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.create-project-button:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 15px #6366f14d;transform:translateY(-2px)}.create-project-button:active{box-shadow:0 2px 5px #6366f133;transform:translateY(0)}.error-container{align-items:center;background-color:#ffebee;border-radius:8px;box-shadow:0 2px 8px #d32f2f1a;color:#d32f2f;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.error-container svg{font-size:1.25rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;height:50vh;justify-content:center}.loading-icon{color:#6366f1;font-size:3rem}.projects-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.search-container{flex:1 1;min-width:250px;position:relative}.search-icon{color:#9e9e9e;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #0000000d;font-size:1rem;padding:.75rem 1rem .75rem 2.5rem;transition:all .3s ease;width:100%}.search-input:focus{border-color:#6366f1;box-shadow:0 2px 10px #6366f11a;outline:none}.filter-container{align-items:center;display:flex;gap:.75rem}.filter-container label{align-items:center;color:#555;display:flex;font-weight:500;gap:.35rem}.filter-select{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;min-width:180px;padding:.6rem .75rem;transition:all .3s ease}.filter-select:focus{border-color:#6366f1;box-shadow:0 2px 5px #6366f11a;outline:none}.project-form-container{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #00000014;margin-bottom:2rem;padding:1.5rem;transition:all .3s ease}.project-form-container.editing{background:linear-gradient(90deg,#f8f9fa,#f3f4f6);border-left:4px solid #6366f1}.project-form-container h2{align-items:center;color:#333;display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;margin-top:0}.project-form{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.form-group,.form-group label{margin-bottom:.5rem}.form-group label{align-items:center;color:#495057;display:flex;gap:.35rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:8px;font-size:.95rem;padding:.75rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 2px 10px #6366f11a;outline:none}.form-group textarea{min-height:100px}.form-actions{gap:1rem;grid-column:1/-1;margin-top:1rem}.submit-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 10px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.submit-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 15px #10b9814d;transform:translateY(-2px)}.submit-button:active{box-shadow:0 2px 5px #10b98133;transform:translateY(0)}.submit-button.update{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 2px 10px #6366f133}.submit-button.update:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 15px #6366f14d}.cancel-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-button:hover{background-color:#e5e7eb;color:#374151}.projects-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.project-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.project-card-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.25rem}.project-card-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-actions{display:flex;gap:.5rem}.action-button{align-items:center;background:none;border-radius:50%;color:#6c757d;display:flex;font-size:1rem;height:2rem;justify-content:center;transition:all .3s ease;width:2rem}.action-button:hover{background-color:#0000000d;transform:translateY(-2px)}.action-button.view:hover{background-color:#6366f11a;color:#6366f1}.action-button.edit:hover{background-color:#f59e0b1a;color:#f59e0b}.action-button.delete:hover{background-color:#ef44441a;color:#ef4444}.project-card-body{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.project-description{color:#6c757d;flex-grow:1;line-height:1.5;margin-bottom:1rem;margin-top:0}.project-client{align-items:center;border-top:1px solid #f0f0f0;color:#495057;display:flex;font-size:.9rem;gap:.5rem;margin:0;padding-top:.75rem}.client-icon{color:#6366f1}.no-projects{align-items:center;background-color:#f9f9f9;border:1px dashed #e0e0e0;border-radius:8px;color:#757575;display:flex;flex-direction:column;font-size:1.1rem;gap:1rem;padding:3rem 1rem;text-align:center}.no-projects-icon{color:#adb5bd;font-size:2.5rem}@media (max-width:768px){.projects-container{padding:1rem}.projects-header{align-items:flex-start;flex-direction:column;gap:1rem}.project-form,.projects-list{grid-template-columns:1fr}.projects-controls{align-items:stretch;flex-direction:column}.filter-container{width:100%}}@media (max-width:480px){.form-actions{flex-direction:column;gap:.75rem}.cancel-button,.submit-button{justify-content:center;width:100%}.project-card-header{align-items:flex-start;flex-direction:column;gap:.75rem}.project-card-header h3{max-width:100%}.project-actions{align-self:flex-end}}.project-detail-container{margin:0 auto;max-width:1200px;padding:20px}.project-detail-header{align-items:center;display:flex;gap:20px;margin-bottom:20px}.project-detail-header h1{color:#333;flex-grow:1;margin:0}.back-button{align-items:center;background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:8px 15px;transition:background-color .2s}.back-button:hover{background-color:#5a6268}.add-test-cases-button{align-items:center;background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:8px 15px;transition:background-color .2s}.add-test-cases-button:hover{background-color:#218838}.project-description{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:15px}.project-description p{color:#495057;line-height:1.5;margin:0}.test-cases-section{margin-top:30px}.test-cases-section h2{color:#333;font-size:1.5rem;margin-bottom:20px;margin-top:0}.no-test-cases{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;padding:30px;text-align:center}.no-test-cases p{margin-bottom:20px}.test-cases-list{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.test-cases-list table{border-collapse:collapse;width:100%}.test-cases-list td,.test-cases-list th{border-bottom:1px solid #dee2e6;padding:12px 15px;text-align:left}.test-cases-list th{background-color:#f8f9fa;color:#495057;font-weight:600}.test-cases-list tr:last-child td{border-bottom:none}.test-cases-list tr:hover{background-color:#f8f9fa}.test-case-actions{display:flex;gap:10px}.action-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:6px 12px;transition:background-color .2s}.action-button.run{background-color:#007bff;color:#fff}.action-button.run:hover{background-color:#0069d9}.action-button.remove{background-color:#dc3545;color:#fff}.action-button.remove:hover{background-color:#c82333}.modal-content{box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:15px 20px}.modal-header h2{color:#333;font-size:1.25rem;margin:0}.close-button{background:none;border:none;color:#6c757d;cursor:pointer;font-size:1.25rem;padding:5px}.close-button:hover{color:#343a40}.modal-body{max-height:60vh;overflow-y:auto;padding:20px}.available-test-cases{display:flex;flex-direction:column;gap:10px;margin-top:15px}.test-case-item{align-items:flex-start;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;gap:15px;padding:12px;transition:background-color .2s,border-color .2s}.test-case-item:hover{background-color:#f8f9fa}.test-case-item.selected{background-color:#e6f7ff;border-color:#91d5ff}.test-case-checkbox{align-items:center;border:2px solid #ced4da;border-radius:4px;color:#007bff;display:flex;height:20px;justify-content:center;margin-top:2px;width:20px}.test-case-item.selected .test-case-checkbox{background-color:#007bff;border-color:#007bff;color:#fff}.test-case-info{flex-grow:1}.test-case-info h4{color:#333;margin:0 0 5px}.test-case-info p{color:#6c757d;font-size:.9rem;margin:0}.modal-footer{border-top:1px solid #dee2e6;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.modal-footer button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 15px}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover{background-color:#5a6268}.add-button{background-color:#28a745;color:#fff}.add-button:hover{background-color:#218838}.add-button:disabled{background-color:#a3d7b5;cursor:not-allowed}.error-message{align-items:center;background-color:#f8d7da;border-radius:4px;color:#721c24;display:flex;gap:10px;margin-bottom:20px;padding:10px 15px}.loading{color:#6c757d;padding:30px}@media (max-width:768px){.project-detail-header{align-items:flex-start;flex-direction:column}.test-case-actions{flex-direction:column;gap:5px}.action-button{width:100%}}.ai-models-admin-container{margin:0 auto;max-width:1200px;padding:20px}.ai-models-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.add-model-btn{align-items:center;background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:8px 16px}.add-model-btn:hover{background-color:#45a049}.ai-models-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}th{background-color:#f5f5f5;font-weight:600}tr:hover{background-color:#f9f9f9}tr.editing{background-color:#f0f7ff}.actions{display:flex;gap:8px}.cancel-btn,.delete-btn,.edit-btn,.save-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:6px}.edit-btn{color:#1890ff}.delete-btn{color:#ff4d4f}.delete-btn:disabled{color:#d9d9d9;cursor:not-allowed}.save-btn{color:#52c41a}.cancel-btn{color:#ff4d4f}.edit-btn:hover,.save-btn:hover{background-color:#1890ff1a}.cancel-btn:hover,.delete-btn:hover{background-color:#ff4d4f1a}.status-badge{border-radius:10px;display:inline-block;font-size:12px;padding:4px 8px}.status-badge.active{background-color:#e6f7ff;border:1px solid #91d5ff;color:#1890ff}.status-badge.inactive{background-color:#fff1f0;border:1px solid #ffa39e;color:#ff4d4f}.default-icon{color:#52c41a}.model-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;margin-bottom:8px}.form-group input[type=text],.form-group textarea{border:1px solid #d9d9d9;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-group textarea{min-height:80px;resize:vertical}.checkbox-group,.checkbox-group label{align-items:center;display:flex}.checkbox-group label{gap:8px;margin-bottom:0}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.form-actions button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px 16px}.form-actions .save-btn{background-color:#1890ff;color:#fff}.form-actions .cancel-btn{background-color:#f5f5f5;color:#000000a6}.form-actions .save-btn:hover{background-color:#40a9ff}.form-actions .cancel-btn:hover{background-color:#e8e8e8}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-width:90%;padding:24px;width:400px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.modal-actions .delete-btn{background-color:#ff4d4f;color:#fff}.modal-actions .cancel-btn{background-color:#f5f5f5;color:#000000a6}.loading,.no-models{color:#999;padding:24px;text-align:center}.access-denied{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.access-denied svg{color:#d9d9d9;margin-bottom:16px}.contact-requests-container{margin:0 auto;max-width:1200px;padding:2rem}.contact-requests-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.contact-requests-header h2{color:#111827;font-size:1.75rem;margin:0}.refresh-button{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.refresh-button:hover{background:#e5e7eb}.error-container,.loading-container,.no-requests{background:#f9fafb;border-radius:.5rem;color:#4b5563;padding:2rem;text-align:center}.error-container{background:#fee2e2;border:1px solid #fecaca;color:#ef4444}.requests-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.request-card{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:1.5rem;transition:transform .2s,box-shadow .2s}.request-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.request-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.status-badge{border-radius:9999px;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.status-badge.new{background:#dbeafe;color:#2563eb}.status-badge.in-progress{background:#fef3c7;color:#d97706}.status-badge.resolved{background:#d1fae5;color:#059669}.request-date{color:#6b7280;font-size:.875rem;margin-bottom:1rem}.request-message{background:#f9fafb;border-radius:.5rem;color:#374151;margin-bottom:1.5rem;max-height:200px;overflow-y:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.request-actions{align-items:center;display:flex;gap:1rem}.status-select{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;max-width:150px;padding:.5rem;width:100%}.status-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.status-updating{color:#6b7280;font-size:.875rem;font-style:italic}.status-error{color:#ef4444;font-size:.875rem}@media (max-width:768px){.contact-requests-container{padding:1rem}.requests-list{grid-template-columns:1fr}.contact-requests-header{align-items:flex-start;flex-direction:column;gap:1rem}}.app{background-color:var(--gray-100);display:flex;flex-direction:column;font-family:var(--font-family);min-height:100vh}.top-nav{background-color:var(--primary-dark);box-shadow:var(--shadow-md);color:#fff;padding:1rem 2rem}.nav-brand,.top-nav{align-items:center;display:flex}.nav-brand{margin-right:2rem}.nav-brand a{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:.5px;position:relative;text-decoration:none;transition:all var(--transition-fast)}.nav-brand a:hover{opacity:.9;transform:translateY(-1px)}.nav-menu{align-items:center;flex-grow:1}.admin-menu,.main-menu,.nav-menu{display:flex;gap:1rem}.admin-menu-item,.menu-item{border-radius:var(--border-radius-md);color:#fff;font-weight:500;overflow:hidden;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all var(--transition-fast)}.admin-menu-item:hover,.menu-item:hover{background-color:#ffffff26;transform:translateY(-1px)}.admin-menu-item.active,.menu-item.active{background-color:#fff3;box-shadow:var(--shadow-sm);font-weight:600}.nav-auth{margin-left:auto}.nav-auth a{border-radius:var(--border-radius-md);color:#fff;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all var(--transition-fast)}.nav-auth a:hover{background-color:#ffffff26;transform:translateY(-1px)}.header{align-items:center;background-color:var(--primary);box-shadow:var(--shadow-sm);color:#fff;display:flex;height:60px;justify-content:space-between;padding:.75rem 1.5rem;position:relative;z-index:10}.header .logo-title-container{align-items:center;display:flex;gap:1rem}.header h1{font-size:1.5rem;font-weight:600;letter-spacing:.25px;margin:0}.header-actions{align-items:center;display:flex;gap:.5rem}.header-buttons{align-items:center;display:flex;gap:1rem}.generate-from-file-button{align-items:center;background-color:var(--secondary);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);gap:.5rem;padding:.6rem 1rem;transition:all var(--transition-fast)}.generate-from-file-button:hover{background-color:var(--secondary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.logout-button{align-items:center;background-color:var(--gray-600);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:.5rem;padding:.6rem 1rem;transition:all var(--transition-fast)}.logout-button:hover{background-color:var(--gray-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.logout-button svg{font-size:16px}.logo{height:40px;width:auto}.button-container{display:flex;justify-content:flex-end;z-index:1}.upload-button{align-items:center;background-color:var(--success);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:.5rem;padding:.6rem 1.25rem;transition:all var(--transition-fast);z-index:100}.upload-button:hover{background-color:var(--success-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.main-content{background-color:var(--gray-100);display:flex;flex:1 1;overflow:hidden}.sidebar{background-color:#fff;border-right:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow-y:auto;width:250px}.content{background-color:var(--gray-100);flex:1 1;overflow-y:auto;padding:1.5rem}@media (max-width:768px){.top-nav{flex-wrap:wrap;padding:.75rem 1rem}.nav-menu{justify-content:space-between;margin-top:.75rem;order:3;width:100%}.nav-brand{margin-right:1rem}.sidebar{width:220px}.content{padding:1rem}}
/*# sourceMappingURL=main.400ccd23.css.map*/