*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;color:#212529;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app-container{display:flex;flex-direction:column}.user-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #0000001a;padding:15px 25px}.user-info{font-size:15px;gap:4px}.header-actions{display:flex;gap:12px}.btn-back,.btn-debug,.btn-logout{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-debug{background-color:#6c757d;color:#fff}.btn-debug:hover{background-color:#5a6268}.btn-logout{color:#fff}.btn-logout,.btn-logout:hover{background-color:#007bff}.btn-back{background-color:#28a745;color:#fff}.btn-back:hover{background-color:#218838}.debug-header{align-items:center;background:#343a40;color:#fff;display:flex;justify-content:space-between;padding:15px 25px;text-align:center}.debug-header h2{font-size:20px;margin:0}.station-wrapper{align-items:flex-start;flex:1 1;padding:20px}.no-station,.station-wrapper{display:flex;justify-content:center}.no-station{align-items:center;padding:40px;width:100%}.no-station-card{background:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001f;max-width:500px;padding:40px;text-align:center}.no-station-card h3{color:#007bff;margin-bottom:15px}.no-station-card p{color:#6c757d;margin:8px 0}.login-container{align-items:center;background-color:silver;display:flex;font-family:Arial,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;padding:40px 30px;text-align:center;width:100%}.login-title{color:#333;font-family:Arial,sans-serif;font-size:24px;font-weight:700;margin:0 0 30px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{align-items:flex-start}.form-label{color:#333;font-size:14px;font-weight:700;margin-bottom:8px;text-align:left}.form-input,.form-select{border:2px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:14px;font-weight:700;padding:12px 15px;transition:border-color .3s;width:100%}.form-input:focus,.form-select:focus{border-color:#007bff;outline:none}.form-select{cursor:pointer;height:45px}.error-message{background-color:#f8d7da;border-radius:6px;color:#721c24;font-size:14px;font-weight:500;margin-top:10px;padding:12px}.submit-button{align-items:center;background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:10px;justify-content:center;margin-top:20px;padding:14px;transition:background-color .3s}.submit-button:hover:not(:disabled){background-color:#218838}.submit-button:disabled{background-color:#6c757d;cursor:not-allowed}.submit-button.loading{background-color:#218838}.spinner{border:3px solid #ffffff50;border-top-color:#fff;height:18px;width:18px}@media (max-width:480px){.login-card{margin:10px;padding:30px 20px}.login-title{font-size:22px}}.charging-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.ready-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-weight:700;margin:10px 0;padding:10px;text-align:center}.charging-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.battery-display{align-items:center;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;display:flex;gap:15px;justify-content:center;margin:15px;padding:25px;text-align:center}.battery-display label{color:#495057;font-size:20px;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.battery-value{background:#fff;border:2px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-family:Courier New,monospace;font-size:30px;font-weight:900;min-width:200px;padding:12px 20px;text-align:center}.battery-value.good{background-color:#f8fff9;border-color:#28a745;color:#28a745}.battery-value.low{background-color:#fff8f8;border-color:#dc3545;color:#dc3545}.success-message{border-left:6px solid #28a745;border-radius:8px;font-size:16px;margin:15px 0;padding:15px}.success-message.fail{background-color:#f8d7da;border-left:6px solid #dc3545;color:#721c24}.waiting-message{border-left:6px solid #ffc107;border-radius:10px;font-size:16px;font-weight:500;margin:25px;padding:18px;text-align:center}.next-job{color:#0d6efd}.cleaning-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.cleaning-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.action-buttons{display:flex;gap:30px;justify-content:center;padding:40px 50px}.btn-fail,.btn-pass{border:none;border-radius:12px;box-shadow:0 4px 10px #0000001a;cursor:pointer;flex:1 1;font-size:20px;font-weight:700;max-width:180px;padding:22px;transition:all .3s ease}.btn-pass{background-color:#28a745}.btn-pass:hover:not(:disabled){background-color:#218838;box-shadow:0 8px 16px #28a7454d}.btn-fail{background-color:#dc3545}.btn-fail:hover:not(:disabled){background-color:#c82333;box-shadow:0 8px 16px #dc35454d;transform:translateY(-3px)}.btn-fail:disabled,.btn-pass:disabled{background-color:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.success-message,.waiting-message,.warning-message{border-left:6px solid;border-radius:10px;font-size:16px;font-weight:500;margin:25px;padding:18px;text-align:center}.success-message{background-color:#d4edda;border-left-color:#28a745;color:#155724}.next-job{font-size:18px;font-weight:700}.grading-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.grading-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.connected-section,.connection-section{margin-top:20px}.disconnected{padding:40px 20px}.grade-buttons-row{align-items:center;gap:20px;margin-bottom:30px}.btn-grade{align-items:center;background:#fff;border:3px solid #dee2e6;border-radius:12px;display:flex;font-size:32px;justify-content:center}.btn-grade:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.btn-grade.selected{border-width:4px;transform:scale(1.05)}.grade-a{border-color:#28a745;color:#28a745}.grade-a.selected{background:#d4edda;border-color:#28a745}.grade-b{border-color:#ffc107;color:#ffc107}.grade-b.selected{background:#fff3cd;border-color:#ffc107}.grade-c{border-color:#fd7e14;color:#fd7e14}.grade-c.selected{background:#ffe5d0;border-color:#fd7e14}.action-buttons-row{gap:0;margin-bottom:30px}.btn-ber,.btn-validate{border:none;border-radius:8px;cursor:pointer;flex:0 0 auto;font-size:18px;font-weight:700;min-width:150px;padding:20px 16px;text-align:center;transition:all .3s}.btn-validate{background:#28a745;color:#fff}.btn-validate:hover:not(:disabled){background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.btn-validate:disabled{background:#6c757d;cursor:not-allowed;transform:none}.btn-ber{background:#dc3545;color:#fff}.btn-ber:hover:not(:disabled){background:#c82333;box-shadow:0 4px 8px #dc35454d;transform:translateY(-2px)}.btn-ber:disabled{cursor:not-allowed;opacity:.6;transform:none}.grading-info{background:#fff;border-left:4px solid #007bff;border-radius:8px;padding:20px}.grade-description{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;gap:12px;margin-bottom:8px;padding:10px}.grade-description.fail{background:#f8d7da}.grade-badge{align-items:center;border-radius:6px;color:#fff;display:flex;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.grade-badge.grade-a{background:#007bff}.grade-badge.grade-b{background:#6f42c1}.grade-badge.grade-c{background:#fd7e14}.grade-badge.ber{background:#dc3545}.message{border-radius:8px;margin:16px 0;padding:16px;text-align:center}.warning-message{background:#fff3cd;border:1px solid #ffeaa7}.waiting-message{background:#cce7ff;border:1px solid #b3d9ff;color:#004085}.info-message{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460;margin:20px 0;padding:20px}.success-message.permanent{animation:pulse 2s infinite;border:3px solid}.success-message.permanent.pass{background:#d4edda;border-color:#28a745}.success-message.permanent.fail{background:#f8d7da;border-color:#dc3545}.success-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.success-badge{background:#6c757d;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.success-details{background:#ffffffb3;border-left:4px solid #007bff;border-radius:6px;font-size:14px;margin-top:12px;padding:16px;text-align:left}.success-details div{margin-bottom:6px;padding:4px 0}.success-details strong{color:#495057;display:inline-block;min-width:100px}.grade-value{color:#28a745;font-size:18px;font-weight:700}.next-job{color:#007bff;font-weight:600;text-transform:uppercase}@keyframes pulse{0%{box-shadow:0 0 0 0 #28a74566}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 0 0 #28a74500}}.movement-debug{background:#e9ecef;border-radius:4px;margin-top:12px;padding:12px}.movement-debug h4{color:#495057;margin:0 0 8px}.not-supported,.wrong-station{border-radius:8px;margin:20px 0;padding:40px;text-align:center}.wrong-station{background:#f8f9fa;border:2px solid #dee2e6}.not-supported{background:#f8d7da;border:2px solid #f5c6cb}.not-supported h2{color:#721c24;margin-bottom:16px}@media (max-width:768px){.grading-container{padding:10px}.grading-card{padding:16px}.grade-buttons-row{gap:10px;justify-content:center}.btn-grade{font-size:24px;height:60px;width:60px}.action-buttons-row{flex-direction:column;gap:15px}.btn-ber,.btn-validate{width:100%}.data-row{align-items:flex-start;flex-direction:column;gap:8px}.data-row label{min-width:auto}}.Packaging-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.Packaging-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.Packaging-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:20px;max-width:800px;overflow:hidden;width:100%}.connected-section{width:100%}.btn-connect,.btn-retry{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-top:15px;padding:12px 24px}.btn-connect:hover,.btn-retry:hover{opacity:.9}.buttons-section{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px}.grade-buttons-row{justify-content:center;width:100%}.action-buttons-row{gap:15px;justify-content:center}.btn-grade{background-color:#fff;border:3px solid #ddd;border-radius:50%;font-size:1.5em;height:60px;transition:all .3s ease;width:60px}.btn-validate-grade{background-color:#198754;border-radius:6px;font-size:1.1em;padding:12px 30px;transition:background-color .3s ease}.btn-validate-grade:disabled{background-color:#6c757d}.btn-validate-grade:hover:not(:disabled){background-color:#157347}.message.success-message.fail .next-job{color:#721c24}.message.success-message.pass .next-job{color:#155724}.ds5-status-section{background-color:#f8f9fa;border-radius:8px;margin:15px 0;padding:15px}.ds5-status{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.ds5-status.loading{background-color:#e9ecef}.ds5-status.pass{background-color:#d1e7dd;border:2px solid #198754}.ds5-status.fail{background-color:#f8d7da;border:2px solid #dc3545}.ds5-status.error{background-color:#e2e3e5;border:2px solid #6c757d}.ds5-status.unknown{background-color:#fff3cd;border:2px solid #ffc107}.status-text{font-size:20px;margin-bottom:10px}.status-date,.status-text{font-family:Arial,sans-serif;font-weight:700}.status-date{color:#495057;font-size:15px}.status-message{color:#6c757d;font-size:14px;margin-top:8px}.info-message{background-color:#e7f3ff;border:1px solid #b8daff;border-radius:8px;color:#004085;font-weight:700;margin:15px 0;padding:15px;text-align:center}.QualityControl-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.QualityControl-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.buttons-section{width:100%}.grade-buttons-row{display:flex;gap:15px;justify-content:flex-start;margin-bottom:20px}.action-buttons-row{align-items:center;display:flex;justify-content:space-between;width:100%}.btn-grade{border:none;border-radius:8px;cursor:pointer;font-size:24px;font-weight:700;height:80px;transition:all .3s;width:80px}.btn-grade.selected{box-shadow:0 0 15px #0000004d;transform:scale(1.1)}.grade-a{background-color:#007bff;color:#fff}.grade-b{background-color:#6f42c1;color:#fff}.grade-c{background-color:#fd7e14;color:#fff}.grade-a:hover{background-color:#007bff}.grade-b:hover{background-color:#6f42c1}.grade-c:hover{background-color:#fd7e14}.btn-validate-grade{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;min-width:180px;padding:15px 25px;transition:background-color .3s}.btn-validate-grade:hover:not(:disabled){background-color:#45a049}.btn-validate-grade:disabled{background-color:#ccc;cursor:not-allowed}.btn-fail{background-color:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;min-width:120px;padding:15px 25px;transition:background-color .3s}.btn-fail:hover:not(:disabled){background-color:#da190b}.btn-fail:disabled{background-color:#ccc;cursor:not-allowed}.success-message.permanent.pass{background-color:#d4edda;border:2px solid #28a745;color:#155724}.success-message.permanent.fail{background-color:#f8d7da;border:2px solid #dc3545;color:#721c24}.grade-value,.next-job{font-size:18px;font-weight:700}.btn-fail{background:#d32f2f!important;color:#fff!important;font-weight:700}.fail-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.fail-modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-width:500px;padding:30px;width:90%}.fail-modal-content h2{color:#333;margin:0 0 20px;text-align:center}.modal-field{margin-bottom:20px}.modal-field label{display:block;font-weight:600;margin-bottom:8px}.modal-field input,.modal-field select,.modal-field textarea{border:1px solid #ccc;border-radius:4px;font-size:16px;padding:10px;width:100%}.modal-buttons{display:flex;gap:15px;justify-content:center;margin-top:30px}.btn-confirm{background:#1a8132}.btn-cancel,.btn-confirm{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 30px}.btn-cancel{background:#666}.confirmation-modal{max-width:500px}.confirmation-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:15px 0;padding:15px}.confirmation-item{border-bottom:1px solid #dee2e6;margin:8px 0;padding:5px 0}.confirmation-item:last-child{border-bottom:none}.confirmation-item strong{color:#495057;display:inline-block;min-width:100px}.confirmation-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-weight:700;margin:15px 0;padding:10px;text-align:center}.repair-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.repair-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.repair-buttons-section{padding:40px 30px}.repair-buttons-row{align-items:center;display:flex;gap:20px;justify-content:space-between}.btn-repair{align-items:center;border:none;border-radius:14px;box-shadow:0 6px 15px #0000001f;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:18px;font-weight:700;height:100px;justify-content:center;padding:15px;text-align:center;transition:all .3s ease}.btn-battery{background-color:#ffc107}.btn-joystick{background-color:#17a2b8}.btn-repair.selected{box-shadow:0 0 0 4px #007bff,0 8px 20px #0003;transform:scale(1.05)}.btn-repair:hover:not(:disabled){transform:translateY(-3px)}.btn-repair:disabled{cursor:not-allowed;opacity:.6}.next-job,.repair-type{font-size:18px;font-weight:700}.singlepass-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:5px 10px}.singlepass-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.connection-section{padding:30px}.action-section{padding:50px 30px}.btn-pass,.single-button-row{align-items:center;display:flex;justify-content:center}.btn-pass{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:14px;box-shadow:0 6px 15px #28a7454d;color:#fff;cursor:pointer;font-size:22px;font-weight:700;height:100px;transition:all .3s ease;width:220px}.btn-pass:hover:not(:disabled){box-shadow:0 8px 20px #28a74566;transform:translateY(-3px)}.btn-pass:disabled{background:#6c757d;cursor:not-allowed;transform:none}.success-message.permanent{background-color:#d4edda;border:2px solid #28a745;border-radius:10px;color:#155724;font-size:16px;margin:20px;padding:20px;text-align:center}.success-details{line-height:1.6}.next-job,.status-value{font-size:18px;font-weight:700}.serial-display{align-items:center;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;display:flex;gap:20px;justify-content:center;margin:20px;padding:30px 25px}.serial-display label{color:#6c757d;font-size:20px;letter-spacing:1px;margin:0;text-transform:uppercase}.serial-value{background:#fff;border:2px solid #ced4da;box-shadow:0 2px 4px #0000000d;color:#000;font-weight:900;letter-spacing:1.5px;min-width:300px;text-align:center}.waiting-message,.warning-message{border-left:6px solid;border-radius:10px;font-size:16px;font-weight:500;margin:25px;padding:18px;text-align:center}.warning-message{background-color:#fff3cd;border-left-color:#ffc107;color:#856404}.waiting-message{background-color:#fff8e1;border-left-color:#ffc107;color:#fd7e14}.disconnected{color:#6c757d;padding:50px 30px;text-align:center}.scanner-container{background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.scanner-card{background:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001f;max-width:520px;overflow:hidden;width:100%}.scanner-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;text-align:center}.scanner-header h3{font-size:26px;font-weight:700;margin:0}.serial-display{padding:50px 30px;text-align:center}.serial-display label{color:#495057;display:block;font-size:16px;font-weight:700;margin-bottom:15px}.serial-value{background-color:#f1f3f5;border:2px dashed #ced4da;border-radius:8px;color:#212529;font-family:Courier New,monospace;font-size:28px;font-weight:700;letter-spacing:2px;padding:15px;word-break:break-all}.disconnected,.not-supported{color:#6c757d;padding:60px 30px;text-align:center}.disconnected h3,.not-supported h2{font-size:20px;margin-bottom:20px}.spinner{animation:spin 1s linear infinite;border:5px solid #e9ecef;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.error{color:#dc3545;font-weight:500;margin-top:20px}.app-container{background-color:#f8f9fa;min-height:100vh}.user-header{align-items:center;background-color:#343a40;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;font-family:Arial,sans-serif;justify-content:space-between;padding:12px 20px}.user-info{display:flex;flex-direction:column;font-size:14px}.user-name,.user-position{font-weight:700}.user-position{font-size:13px;opacity:.9}.version-center{left:50%;position:absolute;transform:translateX(-50%)}.app-version{background-color:#ffffff1a;border-radius:12px;color:#ecf0f1;font-size:24px;font-style:italic;font-weight:700;padding:4px 12px}.logout-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:8px 16px;transition:background-color .3s}.logout-button,.logout-button:hover{background-color:#007bff}.version-info{color:#fff;font-size:20px;font-style:italic;font-weight:700;margin-top:2px;text-align:center}
/*# sourceMappingURL=main.5052111d.css.map*/