body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;max-width:800px;margin:0 auto;padding:20px;background-color:#f0f2f5;color:#333}h1,h2,h3,h4,h5{color:#333}h1{text-align:center;margin-bottom:20px}a{color:#1976d2;text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.security-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s ease-out}.spinner{width:50px;height:50px;border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#4caf50;animation:spin 1s ease-in-out infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.main-content-wrapper{visibility:hidden;opacity:0;transition:opacity .3s ease-out}.main-content-wrapper.authenticated{visibility:visible;opacity:1}.input-group{margin-top:15px}.input-group p{margin-bottom:5px}.error-message.hidden{display:none!important}.btn{padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .3s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:500}.btn:hover:not(:disabled){background-color:#45a049}.btn:disabled{background-color:#ccc;cursor:not-allowed}.btn-small{padding:5px 10px;font-size:12px;background-color:#f44336}.btn-small:hover{background-color:#d32f2f}.btn-icon{padding:10px;font-size:18px;border-radius:50%;width:44px;height:44px}.btn-large{padding:12px 24px;font-size:18px}.btn-secondary{background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover:not(:disabled){background-color:#138496;color:#fff;text-decoration:none}.btn.success{background-color:#28a745;font-weight:600}.btn.success:hover:not(:disabled){background-color:#218838}#toggleCameraBtn.active{background-color:#f44336}#toggleCameraBtn.active:hover{background-color:#d32f2f}.camera-container{position:relative;width:100%;margin:15px auto;border:2px solid #333;border-radius:12px;overflow:hidden;background-color:#000}.camera-container video{width:100%;height:auto;display:block;max-height:70vh;object-fit:contain}.overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;pointer-events:none}.scan-region{position:absolute;top:50%;left:50%;width:80%;height:25%;transform:translate(-50%,-50%);border:2px solid #ff9800;border-radius:8px;box-shadow:0 0 0 2000px #0006;animation:scanPulse 2s ease-in-out infinite}@keyframes scanPulse{0%,to{border-color:#ff9800;box-shadow:0 0 0 2000px #0006,0 0 20px #ff98004d}50%{border-color:#ffc107;box-shadow:0 0 0 2000px #0000004d,0 0 30px #ffc10780}}.scan-feedback{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;color:#fff;font-weight:600;font-size:14px;background:#000000b3;padding:8px 12px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .3s ease}.scan-feedback.success{background:#4caf50e6;border:1px solid #4caf50}.scan-feedback.warning{background:#ff9800e6;border:1px solid #ff9800}.camera-status{text-align:center;margin:8px 0;font-size:14px;font-weight:500;padding:6px 12px;border-radius:16px;display:inline-block;background:#f5f5f5;border:1px solid #ddd}.camera-status.active{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.camera-status.error{background:#ffebee;border-color:#f44336;color:#c62828}.camera-status.loading{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.camera-controls{display:flex;justify-content:center;gap:12px;margin:12px 0;flex-wrap:wrap}.camera-btn{padding:8px 16px;border:none;border-radius:20px;background:#2196f3;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;min-width:100px;justify-content:center}.camera-btn:hover:not(:disabled){background:#1976d2;transform:translateY(-1px)}.camera-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.camera-btn.active{background:#f44336}.camera-btn.active:hover{background:#d32f2f}.camera-btn-icon{width:40px;height:40px;border-radius:50%;padding:0;min-width:auto}.captured-images{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;justify-content:center;min-height:80px}.captured-image-container{position:relative;width:70px;height:70px;border-radius:8px;overflow:hidden;border:2px solid #e0e0e0;transition:all .2s ease}.captured-image-container:hover{border-color:#2196f3;transform:scale(1.05)}.captured-image-container img{width:100%;height:100%;object-fit:cover}.delete-image-btn{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border:none;border-radius:50%;background:#f44336;color:#fff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d;transition:all .2s ease}.delete-image-btn:hover{background:#d32f2f;transform:scale(1.1)}.image-counter{text-align:center;margin:12px 0;font-weight:600;padding:8px 16px;border-radius:20px;display:inline-block;transition:all .3s ease}.image-counter.insufficient{background:#fff3e0;color:#ef6c00;border:1px solid #ffb74d}.image-counter.sufficient{background:#e8f5e9;color:#2e7d32;border:1px solid #81c784}.camera-info{text-align:center;font-size:12px;color:#666;margin:8px 0;padding:4px 8px;background:#f8f9fa;border-radius:4px}@media (max-width: 768px){.camera-container{max-width:100%;margin:12px 0;border-radius:8px}.camera-container video{max-height:60vh}.scan-region{height:20%;width:85%}.scan-feedback{font-size:13px;bottom:8px;left:8px;right:8px;padding:6px 10px}.camera-controls{gap:8px;margin:8px 0}.camera-btn{padding:6px 12px;font-size:13px;min-width:80px}.captured-images{gap:6px;margin:12px 0}.captured-image-container{width:60px;height:60px}}@media (max-width: 480px){.camera-container{border-width:1px;border-radius:6px;margin:8px 0}.camera-container video{max-height:50vh}.scan-region{height:18%;width:90%}.scan-feedback{font-size:12px;padding:4px 8px}.camera-btn{font-size:12px;padding:5px 10px;min-width:70px}.captured-image-container{width:50px;height:50px}}.camera-container.loading{border-color:#2196f3;animation:borderPulse 1.5s ease-in-out infinite}@keyframes borderPulse{0%,to{border-color:#2196f3}50%{border-color:#64b5f6}}.camera-container.error{border-color:#f44336;background:#ffebee}.camera-container.success{border-color:#4caf50;animation:successFlash .5s ease-out}@keyframes successFlash{0%{border-color:#4caf50;box-shadow:0 0 #4caf5066}to{border-color:#4caf50;box-shadow:0 0 0 10px #4caf5000}}.camera-btn:focus,.delete-image-btn:focus{outline:2px solid #2196f3;outline-offset:2px}@media (prefers-reduced-motion: reduce){.scan-region,.camera-container.loading,.captured-image-container,.camera-btn,.delete-image-btn{animation:none;transition:none}.captured-image-container:hover,.camera-btn:hover,.delete-image-btn:hover{transform:none}}.camera-help{text-align:center;font-size:12px;color:#666;margin:8px 0;padding:6px 12px;background:#e3f2fd;border-radius:6px;border-left:3px solid #2196f3}.camera-help.mobile{background:#fff3e0;border-left-color:#ff9800;color:#ef6c00}.history-container{background-color:#fff;border-radius:8px;border:1px solid #ddd;overflow:hidden;box-shadow:0 1px 3px #0000001a}.search-container{padding:16px;border-bottom:1px solid #eee;background-color:#f9f9f9}.search-input-wrapper{display:flex;max-width:500px;margin:0 auto}#searchInput{flex:1;padding:10px 16px;border:1px solid #ddd;border-radius:4px 0 0 4px;font-size:15px}.search-btn{padding:10px 16px;border-radius:0 4px 4px 0;cursor:pointer;border:1px solid lightgrey}.history-content{padding:20px;min-height:400px;position:relative}.history-loading,.history-empty,.history-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:200px}.history-loading .spinner{margin:0 auto 20px;display:block}.history-loading p{margin:0;color:#666;font-size:16px;font-weight:500}.empty-icon{font-size:50px;color:#ccc;margin-bottom:16px}.history-list{display:flex;flex-direction:column;gap:16px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #eee;border-radius:8px;background-color:#fff;transition:transform .2s,box-shadow .2s}.history-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000014}.history-item-info{flex:1}.history-item-title h3{margin:0 0 4px;font-size:16px}.ean-code{font-size:13px;color:#666;font-family:monospace;background-color:#f5f5f5;padding:2px 6px;border-radius:4px}.user-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;margin-left:8px;display:inline-flex;align-items:center;gap:4px}.user-badge i{font-size:10px}.history-item-meta{display:flex;gap:16px;margin-top:8px;font-size:13px;color:#777}.history-item-actions{display:flex;gap:8px;flex-wrap:wrap}.history-item-actions .btn{font-size:13px;padding:8px 12px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:30px;padding:20px 16px;border-top:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:0 0 8px 8px}.pagination-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;min-width:100px;justify-content:center;box-shadow:0 1px 3px #0000001a}.pagination-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.pagination-btn:disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;transform:none;box-shadow:none}.pagination-btn:disabled i{opacity:.5}.pagination-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #3b82f633}#paginationInfo{padding:8px 16px;background:#fffc;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-weight:600;font-size:13px;min-width:120px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 768px){.history-item{flex-direction:column;align-items:flex-start}.history-item-actions{margin-top:16px;align-self:stretch}.history-item-actions .btn{flex:1}.pagination{flex-direction:column;gap:16px;padding:24px 16px}.pagination-btn{width:100%;max-width:200px;padding:12px 20px}#paginationInfo{order:-1;width:100%;max-width:200px;padding:10px 16px;font-size:14px}}@media (max-width: 480px){.pagination{padding:20px 12px}.pagination-btn{min-width:auto;padding:10px 16px;font-size:13px}.pagination-btn i{font-size:12px}#paginationInfo{font-size:12px;padding:8px 12px}}.detail-user{background:#667eea1a;color:#667eea;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid rgba(102,126,234,.2);display:inline-block;margin-left:8px}.btn-danger{background-color:#dc3545;color:#fff;border:1px solid #dc3545}.btn-danger:hover:not(:disabled){background-color:#c82333;border-color:#bd2130}.btn-danger:disabled{background-color:#ccc;border-color:#ccc;cursor:not-allowed}.detail-actions{display:flex;justify-content:center;gap:15px;margin-top:24px;padding-top:16px;border-top:1px solid #eee;flex-wrap:wrap}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-left:4px solid #28a745;color:#155724;padding:15px;border-radius:8px;margin:15px 0;animation:slideIn .3s ease-out}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-left:4px solid #dc3545;color:#721c24;padding:15px;border-radius:8px;margin:15px 0}.text-section.enhanced-modal{margin-bottom:20px;padding:16px;border-radius:8px;background-color:#f8f9fa;border-left:4px solid #2196F3;transition:all .2s ease}.text-section.enhanced-modal:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.text-section.enhanced-modal h5{margin:0 0 12px;color:#1976d2;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.modal-section-list{list-style:none;padding:0;margin:0}.modal-list-item{margin-bottom:8px;padding:8px 12px;background-color:#fff;border-radius:6px;border:1px solid #e3f2fd;font-size:14px;line-height:1.4;transition:background-color .2s ease}.modal-list-item:hover{background-color:#f5f5f5}.modal-list-item strong{color:#333;font-weight:600}.category-badge-modal{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.claim-tag,.diet-tag{background-color:#e8f5e9;color:#2e7d32;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;margin-right:4px;border:1px solid #a5d6a7}.diet-tag{background-color:#fff3e0;color:#ef6c00;border-color:#ffcc02}.tech-tag{background-color:#e3f2fd;color:#1565c0;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;margin-right:4px;border:1px solid #90caf9}.tech-value{font-family:Courier New,monospace;background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-weight:600;color:#d32f2f}.cert-badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:4px;text-transform:uppercase}.cert-blue{background-color:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.cert-green{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.cert-pink{background-color:#fce4ec;color:#c2185b;border:1px solid #f8bbd9}.cert-teal{background-color:#e0f2f1;color:#00695c;border:1px solid #80cbc4}.cert-icon-blue{color:#1565c0}.cert-icon-green{color:#2e7d32}.cert-icon-pink{color:#c2185b}.cert-icon-teal{color:#00695c}.nested-content{margin-top:8px;padding-left:16px;border-left:2px solid #e0e0e0}.nested-item{padding:4px 0;font-size:13px;color:#666}.nutrition-item{display:flex;justify-content:space-between;padding:4px 8px;margin:2px 0;background-color:#fafafa;border-radius:4px;font-size:13px}.nutrition-value{font-weight:600;color:#d32f2f}.accessories-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.accessory-item{display:flex;align-items:center;gap:4px;background-color:#f0f4f8;padding:4px 8px;border-radius:4px;font-size:12px;color:#37474f}.accessory-item i{color:#4caf50;font-size:10px}.safety-warning{background-color:#fff3e0!important;border-left-color:#ff9800!important}.warning-icon{color:#ff9800}.warning-list{margin-top:8px}.warning-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;color:#e65100;font-size:13px;line-height:1.4}.warning-item i{color:#ff9800;margin-top:2px;flex-shrink:0}.first-aid{background-color:#e8f5e9!important;border-left-color:#4caf50!important}.aid-icon{color:#4caf50}.eye-contact{background-color:#e3f2fd!important;border-left-color:#2196f3!important}.eye-icon{color:#2196f3}.array-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.array-item{background-color:#f5f5f5;padding:2px 6px;border-radius:4px;font-size:12px;color:#666;border:1px solid #e0e0e0}.tech-spec{background-color:#f3e5f5!important;border-left-color:#9c27b0!important}.expandable{cursor:pointer;position:relative}.expandable:hover{background-color:#f0f0f0!important}.expandable:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#999;transition:transform .2s ease}.expandable.expanded:after{transform:translateY(-50%) rotate(180deg)}.scan-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;padding:20px;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.scan-detail-modal.active{opacity:1;visibility:visible}.reprocess-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;padding:20px;z-index:1001;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.reprocess-modal.active{opacity:1;visibility:visible}.modal-content{background-color:#fff;border-radius:8px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 20px #0003}.reprocess-modal .modal-content{max-width:500px}.reprocess-modal .form-group{margin-bottom:20px}.reprocess-modal .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.reprocess-modal .form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical;min-height:100px;transition:border-color .3s}.reprocess-modal .form-group textarea:focus{outline:none;border-color:#2196f3}.reprocess-modal .form-group small{display:block;margin-top:6px;color:#666;font-size:12px}.reprocess-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.modal-header{padding:16px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9}.modal-header h2{margin:0;font-size:20px}.close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#777;width:32px;height:32px;border-radius:50%;transition:background-color .2s}.close-btn:hover{background-color:#eee}.modal-body{padding:20px;overflow-y:auto;flex:1}.detail-header{margin-bottom:24px;display:flex;gap:16px;flex-wrap:wrap;font-size:14px}.detail-ean{font-family:monospace;background-color:#f5f5f5;padding:4px 8px;border-radius:4px}.detail-date{color:#666}.detail-section{margin-bottom:24px}.detail-section h3{margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #eee}.detail-images{display:flex;flex-wrap:wrap;gap:16px}.detail-image{width:calc(33.333% - 11px);border:1px solid #eee;border-radius:4px;overflow:hidden}.detail-image img{width:100%;height:auto;display:block}.detail-actions{display:flex;justify-content:center;gap:15px;margin-top:24px;padding-top:16px;border-top:1px solid #eee}@media (max-width: 480px){.modal-content{height:100vh;max-height:100vh;border-radius:0}}.navbar{display:flex;background-color:#f5f5f5;border-radius:8px;margin-bottom:20px;overflow:hidden}.nav-button{flex:1;text-align:center;padding:12px 16px;text-decoration:none;color:#333;transition:background-color .3s,color .3s;font-weight:500;display:flex;justify-content:center;align-items:center;gap:8px}.nav-button i{font-size:18px}.nav-button:hover{background-color:#e0e0e0}.nav-button.active{background-color:#fff8e1;font-weight:700;color:#ff9800;border-bottom:3px solid #ff9800}.quality-feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;padding:20px;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.quality-feedback-overlay.active{opacity:1;visibility:visible}.quality-feedback-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quality-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.quality-status{display:flex;align-items:center;gap:12px}.quality-status h3{margin:0;font-size:20px;font-weight:600;color:#1f2937}.quality-status i{font-size:24px}.quality-modal-close{background:none;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease}.quality-modal-close:hover{background-color:#f3f4f6;color:#374151}.quality-modal-body{padding:24px;overflow-y:auto;flex:1}.quality-analysis-section{margin-bottom:24px}.quality-analysis-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.quality-metrics{display:grid;gap:12px;margin-bottom:20px}.quality-metric{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-radius:8px;border-left:4px solid #e5e7eb}.metric-label{font-weight:500;color:#6b7280;font-size:14px}.metric-value{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}.quality-excelente{color:#059669;background-color:#d1fae5;padding:4px 8px;border-radius:4px}.quality-alta{color:#0891b2;background-color:#cffafe;padding:4px 8px;border-radius:4px}.quality-media{color:#d97706;background-color:#fef3c7;padding:4px 8px;border-radius:4px}.quality-baja{color:#dc2626;background-color:#fee2e2;padding:4px 8px;border-radius:4px}.quality-ilegible{color:#7c2d12;background-color:#fed7aa;padding:4px 8px;border-radius:4px}.confidence{font-size:12px;color:#6b7280;margin-left:4px}.completeness-bar{position:relative;width:120px;height:20px;background-color:#e5e7eb;border-radius:10px;overflow:hidden}.completeness-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);transition:width .5s ease;border-radius:10px}.completeness-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.areas-section{margin-top:16px}.areas-section h5{margin:0 0 12px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.areas-list{display:flex;flex-wrap:wrap;gap:8px}.area-tag{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid}.area-tag.success{background-color:#d1fae5;color:#065f46;border-color:#a7f3d0}.area-tag.warning{background-color:#fef3c7;color:#92400e;border-color:#fde68a}.recommendations-section{margin-bottom:24px}.recommendations-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.recommendations-list{list-style:none;margin:0;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:16px}.recommendations-list li{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:14px;color:#92400e;line-height:1.5}.recommendations-list li:last-child{margin-bottom:0}.recommendations-list i{color:#f59e0b;margin-top:2px;flex-shrink:0}.quality-actions{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.quality-actions h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.quality-actions.critical{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-top:16px}.critical-message{color:#dc2626;font-weight:500;margin:0 0 16px;font-size:14px}.action-buttons{display:flex;flex-direction:column;gap:12px}.btn-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-action.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-action.success:hover{background:linear-gradient(135deg,#059669,#047857)}.btn-action.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-action.primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-action.secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-action.secondary:hover{background:linear-gradient(135deg,#4b5563,#374151)}.action-hint{margin-top:12px;font-size:13px;color:#6b7280;text-align:center;font-style:italic}.quality-indicator{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:8px;margin-bottom:20px;border-left:4px solid;animation:slideIn .3s ease-out}.quality-indicator.high{background-color:#d1fae5;border-color:#10b981;color:#065f46}.quality-indicator.medium{background-color:#dbeafe;border-color:#3b82f6;color:#1e40af}.quality-indicator.low{background-color:#fef3c7;border-color:#f59e0b;color:#92400e}.quality-indicator.critical{background-color:#fee2e2;border-color:#ef4444;color:#dc2626}.quality-main{display:flex;align-items:center;gap:8px;font-weight:600}.category-info{display:flex;align-items:center;gap:8px;margin-top:8px}.category-badge{background-color:#fffc;color:#374151;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.confidence-badge{background-color:#0000001a;color:#6b7280;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.text-section.enhanced{margin-bottom:20px;padding:16px;border-radius:8px;background-color:#f8f9fa;border-left:4px solid #2196F3;transition:all .2s ease}.text-section.enhanced:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.text-section.enhanced h5{margin-top:0;margin-bottom:12px;color:#1976d2;display:flex;align-items:center;gap:8px;font-size:16px}.text-section.enhanced ul{list-style-type:none;padding-left:0;margin:0}.text-section.enhanced li{margin-bottom:8px;padding:8px 12px;background-color:#fff;border-radius:6px;border:1px solid #e3f2fd;font-size:14px;line-height:1.4}.text-success{color:#059669}.text-warning{color:#d97706}.text-danger{color:#dc2626}.text-info{color:#0891b2}.quality-modal-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin:0 auto;display:inline-block;vertical-align:middle}.modal-body .spinner,.processing-indicator .spinner{margin:0 auto 15px;display:block}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:15px}.loading-container .spinner{margin:0 auto;display:block}.loading-container p{margin:0;color:#666;font-size:16px;line-height:1.4}.btn-loading{position:relative;pointer-events:none}.btn-loading .quality-modal-spinner{margin-right:8px}@media (max-width: 768px){.quality-feedback-overlay{padding:10px}.quality-feedback-modal{max-height:95vh;border-radius:12px}.quality-modal-header{padding:16px 20px}.quality-modal-body{padding:20px}.quality-metrics{grid-template-columns:1fr}.quality-metric{flex-direction:column;align-items:flex-start;gap:4px}.completeness-bar{width:100%;align-self:stretch}.action-buttons{gap:8px}.btn-action{padding:10px 16px;font-size:13px}.areas-list{flex-direction:column;align-items:flex-start}.area-tag{align-self:flex-start}}@media (max-width: 480px){.quality-feedback-overlay{padding:5px}.quality-feedback-modal{border-radius:8px}.quality-modal-header{padding:12px 16px}.quality-status h3{font-size:18px}.quality-modal-body{padding:16px}}.app-container{display:flex;flex-direction:column;height:100%;margin-top:15px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 0;margin-bottom:20px;flex-wrap:wrap}.user-info{display:flex;align-items:center;gap:10px;font-size:14px}.steps-container{display:flex;background-color:#f5f5f5;border-radius:8px;margin-bottom:15px;overflow:hidden}.step-indicator{flex:1;text-align:center;padding:10px;background-color:#e0e0e0;position:relative;font-size:14px}.step-indicator.active{background-color:#fff8e1;font-weight:700}.step-indicator.completed{background-color:#e3f2fd}.main-content{flex:1;display:flex;flex-direction:column}.step-content{padding:15px;background-color:#fff;border-radius:8px;border:1px solid #ddd;margin-bottom:15px}.step-content.hidden{display:none}.fixed-controls{position:sticky;bottom:0;background-color:#fffffff2;padding:15px;border-top:1px solid #ddd;z-index:100;margin-top:10px;box-shadow:0 -2px 10px #0000001a}.step-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.step-controls.hidden{display:none}.results{margin-top:15px;padding:15px;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9}.barcode-summary{background-color:#fff3e0;padding:8px 15px;border-radius:8px;margin-bottom:15px;border-left:4px solid #ff9800}.image-status{margin:10px 0;font-weight:500;color:#ff9800}.processing-indicator{text-align:center;padding:20px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.processing-indicator .spinner{margin:0 auto;display:block}.processing-indicator p{margin:0;color:#666;font-size:16px;font-weight:500}.processing-indicator .indicator-detail{font-size:14px!important;color:#888!important;font-weight:400!important}.loading-bar{width:100%;height:10px;background-color:#f0f0f0;border-radius:5px;overflow:hidden;margin-top:15px}.loading-progress{height:100%;width:0;background-color:#4caf50;transition:width .3s ease-out}.text-section{margin-bottom:15px;padding:15px;border-radius:4px;background-color:#f8f9fa;border-left:3px solid #2196F3;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.text-section h5{margin-top:0;margin-bottom:10px;color:#1976d2;display:flex;align-items:center;gap:8px}.text-section ul{list-style-type:none;padding-left:10px;margin:0}.login-container{max-width:400px;margin:50px auto 0;padding:20px;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9;box-shadow:0 4px 8px #0000001a}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ddd;border-radius:4px}.app-version{text-align:center;margin-top:20px;font-size:12px;color:#777}.error-message{margin-top:15px;padding:15px;background-color:#ffebee;border-radius:8px;border-left:4px solid #f44336;text-align:center;color:#c62828}.success-message{margin-top:20px;padding:15px;background-color:#e8f5e9;border-radius:8px;border-left:4px solid #4CAF50;text-align:center}.loading-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px;min-height:150px}.loading-centered .spinner{margin:0 auto 15px;display:block}.loading-centered p{margin:0 0 10px;color:#666;font-size:16px;line-height:1.4}.loading-centered small{color:#888;font-size:14px;margin-top:5px;display:block}.loading-inline{display:inline-flex;align-items:center;gap:8px}.loading-inline .spinner{width:16px;height:16px;border-width:2px;margin:0;display:inline-block}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.loading-overlay .spinner{margin:0 auto 15px;display:block}.actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;align-items:center;margin-top:24px;padding:16px;background-color:#f9f9f9;border-radius:8px;border:1px solid #ddd}.actions .btn{min-width:140px}@media (max-width: 768px){.actions{flex-direction:column;gap:12px}.actions .btn{width:100%;min-width:auto}}
