:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.company-logo{max-width:200px;height:auto}.login-card{width:100%;max-width:450px;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:30px}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#2c3e50;font-size:24px;margin-bottom:8px}.login-header p{color:#7f8c8d;font-size:16px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;color:#34495e;display:flex;align-items:center;gap:8px}.input-icon{color:#3498db}.form-group input{padding:12px 16px;background-color:#ededed;color:#34495e;border:1px solid #ddd;border-radius:6px;font-size:16px;transition:border-color .2s}.form-group input:focus{border-color:#3498db;outline:none}.login-btn{background-color:#3498db;color:#fff;font-weight:600;padding:14px;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s;display:flex;justify-content:center;align-items:center;gap:8px;font-size:16px;margin-top:10px}.login-btn:hover{background-color:#2980b9}.login-btn:disabled{background-color:#95a5a6;cursor:not-allowed}.error-message{background-color:#fff3f3;border-left:4px solid #e74c3c;color:#c0392b;padding:12px 16px;margin-bottom:20px;border-radius:4px}:root{--primary-color: #3a86ff;--primary-hover: #2667d4;--secondary-color: #f77f00;--success-color: #38b000;--danger-color: #d90429;--light-gray: #f8f9fa;--gray: #dee2e6;--dark-gray: #6c757d;--dark: #212529;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--border-radius: 8px;--font-main: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:#f0f2f5;color:var(--dark);line-height:1.6}.app-container{max-width:1200px;margin:0 auto;padding:20px}.app-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--gray)}.app-header h1{color:var(--primary-color);font-size:2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.icon-header{color:var(--primary-color)}.card{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.stepper{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 10%}.step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.step:after{content:"";position:absolute;width:100%;height:3px;background-color:var(--gray);top:20px;left:50%;z-index:0}.step:last-child:after{display:none}.step-number{width:40px;height:40px;background-color:var(--gray);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:8px;position:relative;z-index:1;transition:all .3s ease}.step-title{font-size:.9rem;color:var(--dark-gray);text-align:center;transition:all .3s ease}.step.active .step-number{background-color:var(--primary-color)}.step.active .step-title{color:var(--primary-color);font-weight:700}.section-icon{margin-right:8px;color:var(--primary-color)}h2{font-size:1.5rem;margin-bottom:1.2rem;color:var(--dark);display:flex;align-items:center}h3{font-size:1.2rem;margin-bottom:1rem;color:var(--dark)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group{margin-bottom:1rem}.form-group label{display:flex;align-items:center;margin-bottom:.5rem;font-weight:500}.input-icon{margin-right:.5rem;color:var(--primary-color)}input[type=text],input[type=number],select,textarea{width:100%;padding:.8rem;color:var(--dark);background-color:var(--light-gray);border:1px solid var(--gray);border-radius:var(--border-radius);font-size:1rem;transition:border-color .3s}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff1a}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.upload-area{border:2px dashed var(--gray);border-radius:var(--border-radius);padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s;height:250px;position:relative;overflow:hidden;background-color:var(--light-gray)}.upload-area:hover{border-color:var(--primary-color)}.upload-area.has-image{border-style:solid;border-color:var(--success-color)}.upload-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-icon{font-size:2.5rem;color:var(--dark-gray);margin-bottom:1rem}.upload-label{color:var(--primary-color);font-weight:500;cursor:pointer;padding:.5rem 1rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);transition:all .3s}.upload-label:hover{background-color:var(--primary-color);color:#fff}.preview{position:relative;height:100%;display:flex;justify-content:center;align-items:center}.preview-img{max-width:100%;max-height:100%;object-fit:contain}.change-img-btn{position:absolute;bottom:0;right:0;background-color:#0009;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem}.processed-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.processed-image-container{text-align:center}.processed-img{max-width:100%;border-radius:var(--border-radius);box-shadow:var(--shadow);margin-bottom:.5rem}.legend{margin:1.5rem 0;padding:1rem}.legend h3{margin-bottom:.5rem}.color-gradient{margin-bottom:1rem}.legend-labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--dark-gray)}.findings-textarea{width:100%;min-height:100px;padding:1rem;border:1px solid var(--gray);border-radius:var(--border-radius);font-size:1rem;margin-bottom:1rem;resize:vertical}.controls{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s}.scan-btn{background-color:var(--primary-color);color:#fff}.scan-btn:hover:not(:disabled){background-color:var(--primary-hover)}.generate-btn{background-color:var(--secondary-color);color:#fff}.generate-btn:hover:not(:disabled){background-color:#e67500}.back-btn{background-color:var(--light-gray);color:var(--dark)}.back-btn:hover{background-color:var(--gray)}.new-scan-btn{background-color:var(--success-color);color:#fff}.new-scan-btn:hover{background-color:#2a9d00}.action-btn:disabled{background-color:var(--gray);color:var(--dark-gray);cursor:not-allowed}.success-section{text-align:center;padding:3rem}.success-icon{font-size:4rem;color:var(--success-color);background-color:#38b0001a;width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-section p{margin-bottom:1rem;color:var(--dark-gray);max-width:600px;margin-left:auto;margin-right:auto}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-container{padding:10px}.stepper{padding:0}.step-title{font-size:.8rem}.form-grid,.upload-grid,.processed-images{grid-template-columns:1fr}.controls{flex-direction:column}.action-btn{width:100%}}
