:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#1a1a1a;color:#fff}#root{width:100%;margin:0;padding:0;text-align:left}*{box-sizing:border-box}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input{font-family:inherit}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}body{background-color:#1a1a1a;color:#fff}}.container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}h1{color:#4caf50;margin-bottom:30px;text-align:center;font-size:28px;font-weight:600}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinner{border:4px solid #333;border-top:4px solid #4CAF50;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite}.loading p{color:#ccc;font-size:16px;margin:0}@media(max-width:768px){.container{padding:16px}h1{font-size:24px;margin-bottom:24px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px}.login-card{background-color:#2d2d2d;border-radius:12px;padding:32px;box-shadow:0 4px 16px #0000004d;width:100%;max-width:400px;border:1px solid #404040}.login-card h2{color:#4caf50;margin-bottom:8px;text-align:center;font-size:24px}.login-description{color:#ccc;text-align:center;margin-bottom:24px;font-size:14px;line-height:1.4}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#ddd;font-weight:500;font-size:14px}.form-input{padding:12px 16px;border:2px solid #555;border-radius:8px;background-color:#3d3d3d;color:#fff;font-size:16px;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:#4caf50}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input::placeholder{color:#888}.error-message{background-color:#ff6b6b20;border:1px solid #ff6b6b;color:#ff6b6b;padding:12px;border-radius:6px;font-size:14px;text-align:center}.login-button{background-color:#4caf50;color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease;margin-top:8px}.login-button:hover:not(:disabled){background-color:#45a049}.login-button:disabled{background-color:#666;cursor:not-allowed}.loading-text{display:flex;align-items:center;justify-content:center;gap:8px}.spinner-small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.login-hint{margin-top:24px;padding:16px;background-color:#1a4d1a;border-radius:8px;border:1px solid #4CAF50}.login-hint p{margin:0;color:#a8e6a8;font-size:13px;text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:24px}.login-card h2{font-size:20px}}.step1-upload{max-width:800px;margin:0 auto;padding:20px}.upload-area{border:2px dashed #bdc3c7;border-radius:12px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f8f9fa}.upload-area:hover{border-color:#3498db;background-color:#f0f8ff}.upload-area.drag-over{border-color:#2ecc71;background-color:#f0fff4;transform:scale(1.02)}.upload-content .upload-icon{font-size:3rem;margin-bottom:20px}.upload-content h4{color:#2c3e50;margin-bottom:10px;font-size:1.3rem}.upload-content p{color:#7f8c8d;margin-bottom:20px}.file-info small{color:#95a5a6;font-size:.9rem}.image-preview-section{display:flex;flex-direction:column;gap:20px}.image-preview{text-align:center;background-color:#f8f9fa;border-radius:12px;padding:20px}.preview-image{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.image-info{background-color:#f8f9fa;border-radius:12px;padding:20px}.image-info h4{color:#2c3e50;margin-bottom:15px;font-size:1.2rem}.file-details p{margin:8px 0;color:#34495e}.file-details strong{color:#2c3e50}.action-buttons{display:flex;gap:15px;justify-content:center;margin-top:20px}.secondary-button{background-color:transparent;color:#7f8c8d;border:2px solid #bdc3c7;padding:12px 24px;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.secondary-button:hover:not(:disabled){border-color:#95a5a6;color:#2c3e50}.secondary-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.step1-upload{padding:15px}.upload-area{padding:40px 15px}.upload-content .upload-icon{font-size:2.5rem}.action-buttons{flex-direction:column}.primary-button,.secondary-button{width:100%}.image-preview-section{gap:15px}}.step3-edit{max-width:800px;margin:0 auto;padding:20px}.step-header{text-align:center;margin-bottom:30px}.step-header h3{color:#2c3e50;margin-bottom:10px;font-size:1.5rem}.step-header p{color:#7f8c8d;font-size:1rem}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;text-align:center}.edit-section{display:flex;flex-direction:column;gap:20px}.text-stats{display:flex;gap:20px;justify-content:center;background-color:#f8f9fa;padding:15px;border-radius:8px}.stat-item{display:flex;align-items:center;gap:8px}.stat-label{color:#7f8c8d;font-size:.9rem}.stat-value{color:#2c3e50;font-weight:600;font-size:1.1rem}.text-editor{position:relative}.text-input{width:100%;min-height:300px;padding:20px;border:2px solid #e1e8ed;border-radius:12px;font-size:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;resize:vertical;transition:border-color .3s ease;background-color:#fff;color:#2c3e50}.text-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.text-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.text-input::placeholder{color:#bdc3c7}.edit-tools{display:flex;justify-content:center}.tool-buttons{display:flex;gap:10px}.tool-button{background-color:transparent;border:2px solid #bdc3c7;color:#7f8c8d;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px}.tool-button:hover:not(:disabled){border-color:#95a5a6;color:#2c3e50}.tool-button:disabled{opacity:.5;cursor:not-allowed}.reset-button:hover:not(:disabled){border-color:#f39c12;color:#f39c12}.clear-button:hover:not(:disabled){border-color:#e74c3c;color:#e74c3c}.editing-tips{background-color:#f8f9fa;border-radius:12px;padding:20px;border-left:4px solid #3498db}.editing-tips h4{color:#2c3e50;margin-bottom:15px;font-size:1.1rem}.editing-tips ul{margin:0;padding-left:20px}.editing-tips li{color:#34495e;margin-bottom:8px;line-height:1.5}.action-buttons{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.primary-button{background-color:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:180px}.primary-button:hover:not(:disabled){background-color:#2980b9;transform:translateY(-2px)}.primary-button:disabled{background-color:#bdc3c7;cursor:not-allowed;transform:none}.secondary-button{background-color:transparent;color:#7f8c8d;border:2px solid #bdc3c7;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:180px}.secondary-button:hover:not(:disabled){border-color:#95a5a6;color:#2c3e50;transform:translateY(-2px)}.secondary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:768px){.step3-edit{padding:15px}.text-stats{flex-direction:column;gap:10px;align-items:center}.text-input{min-height:250px;padding:15px}.tool-buttons{flex-direction:column;width:100%}.tool-button{justify-content:center}.editing-tips{padding:15px}.editing-tips ul{padding-left:15px}.primary-button,.secondary-button{width:100%}.action-buttons{flex-direction:column;gap:10px}}@media(max-width:480px){.text-input{min-height:200px;padding:12px;font-size:.9rem}.editing-tips h4{font-size:1rem}.editing-tips li{font-size:.9rem}}.workflow-manager{max-width:1000px;margin:0 auto;padding:20px}.progress-section{background-color:#f8f9fa;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a}.progress-header{text-align:center;margin-bottom:25px}.progress-header h2{color:#2c3e50;margin-bottom:8px;font-size:1.8rem}.progress-header p{color:#7f8c8d;font-size:1.1rem;font-weight:500}.progress-bar{width:100%;height:8px;background-color:#ecf0f1;border-radius:4px;margin-bottom:25px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:4px;transition:width .5s ease}.step-indicators{display:flex;justify-content:space-between;gap:10px}.step-indicator{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}.step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;margin-bottom:8px;transition:all .3s ease}.step-title{font-size:.9rem;font-weight:500;transition:color .3s ease}.step-indicator.pending .step-number{background-color:#ecf0f1;color:#95a5a6}.step-indicator.pending .step-title{color:#95a5a6}.step-indicator.current .step-number{background-color:#3498db;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #3498db4d}.step-indicator.current .step-title{color:#3498db;font-weight:600}.step-indicator.completed .step-number{background-color:#2ecc71;color:#fff}.step-indicator.completed .step-title{color:#2ecc71}.step-content{background-color:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 12px #00000014;min-height:400px}.step-placeholder{text-align:center;padding:60px 20px}.step-placeholder h3{color:#2c3e50;margin-bottom:15px;font-size:1.5rem}.step-placeholder p{color:#7f8c8d;margin-bottom:30px;font-size:1.1rem}.extracted-text-preview{background-color:#f8f9fa;border-radius:8px;padding:20px;margin:20px 0;text-align:left}.extracted-text-preview h4{color:#2c3e50;margin-bottom:15px}.extracted-text-preview pre{white-space:pre-wrap;word-wrap:break-word;color:#34495e;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;margin:0}.restart-button{background-color:#e74c3c;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.restart-button:hover{background-color:#c0392b;transform:translateY(-2px)}@media(max-width:768px){.workflow-manager{padding:15px}.progress-section{padding:20px}.progress-header h2{font-size:1.5rem}.step-indicators{gap:5px}.step-number{width:35px;height:35px;font-size:1rem}.step-title{font-size:.8rem}.step-content{padding:20px}.step-placeholder{padding:40px 15px}}@media(max-width:480px){.step-indicators{flex-wrap:wrap;justify-content:center}.step-indicator{flex:0 0 auto;margin:5px}.step-title{display:none}}.main-app{width:100%;max-width:1000px;margin:0 auto}.app-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding:20px 0;border-bottom:1px solid #404040}.header-left{display:flex;flex-direction:column;gap:8px}.app-header h2{color:#4caf50;margin:0;font-size:24px}.session-info{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#888}.username{color:#4caf50;font-weight:500}.session-expires{color:#666}.logout-button{background-color:#ff6b6b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .3s ease}.logout-button:hover{background-color:#ff5252}.app-content{display:flex;flex-direction:column;gap:32px}.welcome-message{text-align:center;padding:24px;background-color:#2d2d2d;border-radius:12px;border:1px solid #404040}.welcome-message h3{color:#4caf50;margin-bottom:12px;font-size:20px}.welcome-message p{color:#ccc;margin:0;font-size:16px}.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.feature-card{background-color:#2d2d2d;border-radius:12px;padding:24px;text-align:center;border:1px solid #404040;transition:transform .2s ease,border-color .2s ease}.feature-card:hover{transform:translateY(-2px);border-color:#4caf50}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h4{color:#4caf50;margin-bottom:12px;font-size:18px}.feature-card p{color:#ccc;margin:0;font-size:14px;line-height:1.4}.coming-soon{text-align:center;padding:20px;background-color:#1a4d1a;border-radius:8px;border:1px solid #4CAF50}.coming-soon p{color:#a8e6a8;margin:0;font-size:16px;font-weight:500}@media(max-width:768px){.app-header{flex-direction:column;gap:16px;text-align:center;align-items:center}.header-left{align-items:center;text-align:center}.session-info{align-items:center}.feature-cards{grid-template-columns:1fr}.feature-card{padding:20px}.feature-icon{font-size:40px}}
