#app{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;background-color:#f8f9fa;width:100%;overflow-x:hidden}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}.btn,.nav-item,button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus,button:focus,input:focus,select:focus{outline:2px solid #667eea;outline-offset:2px}.js-focus-visible .btn:focus:not(.focus-visible),.js-focus-visible button:focus:not(.focus-visible){outline:none}.login-container[data-v-a3adb228]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}@media(max-width:768px){.login-container[data-v-a3adb228]{padding:.5rem;align-items:flex-start;padding-top:2rem}}.login-card[data-v-a3adb228]{background:#fff;border-radius:1rem;padding:3rem 2rem;width:100%;max-width:400px;box-shadow:0 1rem 3rem rgba(0,0,0,.175);border:none}@media(max-width:768px){.login-card[data-v-a3adb228]{padding:2rem 1.5rem;border-radius:.5rem;max-width:100%}}@media(max-width:576px){.login-card[data-v-a3adb228]{padding:1.5rem 1rem;margin:.25rem}}.logo[data-v-a3adb228]{margin-bottom:3rem}.logo h1[data-v-a3adb228]{color:#343a40;margin:0 0 .5rem 0;font-weight:700}@media(max-width:768px){.logo h1[data-v-a3adb228]{font-size:1.5rem}}.logo p[data-v-a3adb228]{color:#764ba2;margin:0;font-size:.875rem}@media(max-width:768px){.logo p[data-v-a3adb228]{font-size:1rem}.logo[data-v-a3adb228]{margin-bottom:2rem}}.login-form[data-v-a3adb228]{display:flex;flex-direction:column}.form-label[data-v-a3adb228]{font-weight:600;color:#343a40;font-size:.875rem;margin-bottom:.25rem;display:block}@media(max-width:768px){.form-label[data-v-a3adb228]{font-size:1rem}}.error-message[data-v-a3adb228]{background:#fee;color:#c53030;padding:1rem;border-radius:.375rem;font-size:.875rem;text-align:center;border:1px solid #fed7d7}@media(max-width:768px){.error-message[data-v-a3adb228]{font-size:1rem;padding:.5rem}}@media(max-width:576px){.container[data-v-a3adb228]{padding:0}}.form-control[data-v-a3adb228]:focus{border-color:#667eea;box-shadow:0 0 0 .2rem rgba(102,126,234,.25)}.btn[data-v-a3adb228]:disabled{opacity:.65;cursor:not-allowed}@supports(padding:env(safe-area-inset-top)){.login-container[data-v-a3adb228]{padding-top:calc(2rem + env(safe-area-inset-top))}}.warehouse-layout[data-v-7bd7f534]{display:flex;flex-direction:column;min-height:100vh;background:#f8f9fa}@media(min-width:992px){.warehouse-layout[data-v-7bd7f534]{flex-direction:column}}.warehouse-header[data-v-7bd7f534]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);position:sticky;top:0;z-index:1020;height:56px}@media(min-width:768px){.warehouse-header[data-v-7bd7f534]{height:60px}}@media(min-width:992px){.warehouse-header[data-v-7bd7f534]{width:100%;height:60px}}.header-content[data-v-7bd7f534]{display:flex;justify-content:space-between;align-items:center;height:100%;padding:0 1rem}@media(min-width:768px){.header-content[data-v-7bd7f534]{padding:0 1.5rem}}@media(min-width:992px){.header-content[data-v-7bd7f534]{padding-left:calc(250px + 1.5rem);padding-right:1.5rem}}.warehouse-header h1[data-v-7bd7f534]{margin:0;font-size:1.125rem;font-weight:600}@media(min-width:768px){.warehouse-header h1[data-v-7bd7f534]{font-size:1.25rem}}@media(min-width:992px){.warehouse-header h1[data-v-7bd7f534]{font-size:1.5rem}}.worker-info[data-v-7bd7f534]{display:flex;align-items:center;gap:.5rem}.worker-name[data-v-7bd7f534]{font-size:.875rem;opacity:.9}@media(min-width:768px){.worker-name[data-v-7bd7f534]{font-size:1rem}}.logout-btn[data-v-7bd7f534]{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:#fff;gap:.25rem}.logout-btn[data-v-7bd7f534]:hover{background:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.5);color:#fff}.logout-icon[data-v-7bd7f534]{font-size:.875rem}.main-content[data-v-7bd7f534]{flex:1;overflow-y:auto;padding:1rem 0}@media(max-width:991px){.main-content[data-v-7bd7f534]{padding-bottom:calc(60px + 1rem)}}@media(min-width:992px){.main-content[data-v-7bd7f534]{padding-left:250px;padding-top:1.5rem;padding-bottom:1.5rem;min-height:calc(100vh - 60px)}}.desktop-sidebar[data-v-7bd7f534]{position:fixed;top:60px;left:0;width:250px;height:calc(100vh - 60px);background:#fff;border-right:1px solid #e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:1030;overflow-y:auto}.sidebar-nav[data-v-7bd7f534]{padding:1.5rem 1rem}.sidebar-item[data-v-7bd7f534]{display:flex;align-items:center;gap:1rem;text-decoration:none;color:#764ba2;padding:1rem;border-radius:.375rem;transition:all .2s;margin-bottom:.5rem;font-weight:500}.sidebar-item[data-v-7bd7f534]:hover{background:#f8f9fa;color:#343a40}.sidebar-item.active[data-v-7bd7f534]{color:#667eea;background:#fff;font-weight:600}.sidebar-icon[data-v-7bd7f534]{font-size:1.125rem;width:24px;text-align:center}.bottom-nav[data-v-7bd7f534]{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:1030;height:60px}@media(min-width:768px){.bottom-nav[data-v-7bd7f534]{height:70px}}.nav-container[data-v-7bd7f534]{display:flex;justify-content:space-around;align-items:center;height:100%;max-width:540px;margin:0 auto;padding:0 1rem}.nav-item[data-v-7bd7f534]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#764ba2;padding:.25rem;border-radius:.375rem;transition:all .2s;min-width:44px;min-height:44px;font-size:.75rem}.nav-item[data-v-7bd7f534]:hover{background:#f8f9fa;color:#343a40}.nav-item.active[data-v-7bd7f534]{color:#667eea;background:#fff}@media(min-width:768px){.nav-item[data-v-7bd7f534]{font-size:.875rem;padding:.5rem}}.nav-icon[data-v-7bd7f534]{font-size:1.125rem;margin-bottom:.25rem}@media(min-width:768px){.nav-icon[data-v-7bd7f534]{font-size:1.25rem}}.nav-label[data-v-7bd7f534]{font-weight:500;line-height:1}@media(max-width:575px){.container[data-v-7bd7f534]{padding-left:.5rem;padding-right:.5rem}}@media(min-width:992px){.container[data-v-7bd7f534]{padding-left:1rem;padding-right:1rem}}@media(max-width:992px)and (orientation:landscape){.warehouse-header[data-v-7bd7f534]{height:50px}.main-content[data-v-7bd7f534]{padding-bottom:calc(50px + 1rem)}.bottom-nav[data-v-7bd7f534]{height:50px}.nav-item[data-v-7bd7f534]{min-height:40px;font-size:.75rem}.nav-icon[data-v-7bd7f534]{font-size:1rem;margin-bottom:2px}}@supports(padding:env(safe-area-inset-bottom)){.bottom-nav[data-v-7bd7f534]{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:991px){.main-content[data-v-7bd7f534]{padding-bottom:calc(60px + 1rem + env(safe-area-inset-bottom))}}}.spinner-small[data-v-a45c8606]{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin-a45c8606 1s linear infinite;display:inline-block}@keyframes spin-a45c8606{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-text[data-v-a45c8606]{color:#dc3545;font-size:.9rem;margin-top:.5rem}.warning-text[data-v-a45c8606]{color:#ffc107;font-weight:600}.debug-info[data-v-a45c8606]{padding:1rem;margin:1rem;background:#f8f9fa;border-radius:4px;border-left:4px solid #17a2b8;font-size:.8rem}.debug-info pre[data-v-a45c8606]{margin:0;white-space:pre-wrap;word-break:break-word}.worker-stats[data-v-3ad7f069]{padding-bottom:2rem}.loading[data-v-3ad7f069]{text-align:center;padding:3rem}.spinner[data-v-3ad7f069]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-3ad7f069 1s linear infinite;margin:0 auto 1rem}@keyframes spin-3ad7f069{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.stats-header[data-v-3ad7f069]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1);text-align:center}.stats-header h2[data-v-3ad7f069]{margin:0 0 .5rem 0;color:#333}.stats-header p[data-v-3ad7f069]{margin:0;color:#666}.metrics-grid[data-v-3ad7f069]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.metric-card[data-v-3ad7f069]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;align-items:center;gap:1rem}.metric-card.primary[data-v-3ad7f069]{border-left:4px solid #667eea}.metric-card.success[data-v-3ad7f069]{border-left:4px solid #28a745}.metric-card.warning[data-v-3ad7f069]{border-left:4px solid #ffc107}.metric-card.info[data-v-3ad7f069]{border-left:4px solid #17a2b8}.metric-icon[data-v-3ad7f069]{font-size:2rem;flex-shrink:0}.metric-content[data-v-3ad7f069]{flex:1}.metric-value[data-v-3ad7f069]{font-size:1.5rem;font-weight:700;color:#333;line-height:1}.metric-label[data-v-3ad7f069]{font-size:.8rem;color:#666;margin-top:.25rem}.completion-section[data-v-3ad7f069]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.completion-section h3[data-v-3ad7f069]{margin:0 0 1rem 0;color:#333}.completion-display[data-v-3ad7f069]{display:flex;align-items:center;justify-content:space-between;gap:2rem}.completion-circle[data-v-3ad7f069]{position:relative;flex-shrink:0}.progress-ring[data-v-3ad7f069]{transform:rotate(-90deg)}.progress-ring-circle[data-v-3ad7f069]{transition:stroke-dashoffset .5s ease-in-out}.completion-text[data-v-3ad7f069]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.completion-percentage[data-v-3ad7f069]{font-size:1.25rem;font-weight:700;color:#28a745}.completion-details[data-v-3ad7f069]{flex:1}.completion-breakdown[data-v-3ad7f069]{display:flex;flex-direction:column;gap:.5rem}.breakdown-item[data-v-3ad7f069]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e9ecef}.breakdown-label[data-v-3ad7f069]{color:#666}.breakdown-value[data-v-3ad7f069]{font-weight:700;color:#333}.achievements-section[data-v-3ad7f069],.activity-section[data-v-3ad7f069]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.achievements-section h3[data-v-3ad7f069],.activity-section h3[data-v-3ad7f069]{margin:0 0 1rem 0;color:#333}.activity-list[data-v-3ad7f069]{display:flex;flex-direction:column;gap:.75rem}.activity-item[data-v-3ad7f069]{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f8f9fa;border-radius:8px}.activity-icon[data-v-3ad7f069]{font-size:1.25rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.activity-icon.completed[data-v-3ad7f069]{background:#d4edda}.activity-icon.started[data-v-3ad7f069]{background:#d1ecf1}.activity-icon.scanned[data-v-3ad7f069]{background:#fff3cd}.activity-content[data-v-3ad7f069]{flex:1}.activity-description[data-v-3ad7f069]{font-weight:500;color:#333;margin-bottom:.25rem}.activity-time[data-v-3ad7f069]{font-size:.8rem;color:#666}.no-activity[data-v-3ad7f069]{text-align:center;padding:2rem;color:#6c757d}.achievements-grid[data-v-3ad7f069]{display:flex;flex-direction:column;gap:1rem}.achievement-card[data-v-3ad7f069]{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;border:2px solid #e9ecef;transition:all .2s}.achievement-card.earned[data-v-3ad7f069]{background:#d4edda;border-color:#c3e6cb}.achievement-card[data-v-3ad7f069]:not(.earned){opacity:.6}.achievement-icon[data-v-3ad7f069]{font-size:2rem;flex-shrink:0}.achievement-content[data-v-3ad7f069]{flex:1}.achievement-title[data-v-3ad7f069]{font-weight:700;color:#333;margin-bottom:.25rem}.achievement-description[data-v-3ad7f069]{font-size:.9rem;color:#666;margin-bottom:.25rem}.achievement-earned[data-v-3ad7f069]{font-size:.8rem;color:#155724;font-weight:600}.action-section[data-v-3ad7f069]{display:flex;gap:1rem}.btn[data-v-3ad7f069]{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center;display:flex;align-items:center;justify-content:center}.btn-refresh[data-v-3ad7f069]{background:#667eea;color:#fff}.btn-back[data-v-3ad7f069]{background:#6c757d;color:#fff}.btn[data-v-3ad7f069]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.2)}.btn[data-v-3ad7f069]:disabled{opacity:.6;cursor:not-allowed}@media (max-width:480px){.metrics-grid[data-v-3ad7f069]{grid-template-columns:1fr}.completion-display[data-v-3ad7f069]{flex-direction:column;text-align:center}.action-section[data-v-3ad7f069]{flex-direction:column}}*{box-sizing:border-box}html{font-size:16px}@media(max-width:576px){html{font-size:14px}}body{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;line-height:1.5;color:#343a40;background-color:#f8f9fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:600;line-height:1.2}h1{font-size:1.75rem}@media(min-width:992px){h1{font-size:2.5rem}}h2{font-size:1.5rem}@media(min-width:992px){h2{font-size:2rem}}h3{font-size:1.25rem}@media(min-width:992px){h3{font-size:1.75rem}}h4{font-size:1.125rem}@media(min-width:992px){h4{font-size:1.5rem}}h5{font-size:1rem}@media(min-width:992px){h5{font-size:1.25rem}}h6{font-size:.875rem}@media(min-width:992px){h6{font-size:1rem}}.container{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}@media(min-width:1400px){.container{max-width:1320px}}.row{display:flex;flex-wrap:wrap;margin-right:-.5rem;margin-left:-.5rem}.col{flex:1 0 0%;padding-right:.5rem;padding-left:.5rem}.text-left{text-align:left}.text-right{text-align:right}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-5{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:2rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:2rem}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}@media(max-width:575px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-flex{display:flex}}@media(min-width:576px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-flex{display:flex}}@media(min-width:768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-flex{display:flex}}@media(min-width:992px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-flex{display:flex}}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.justify-content-start{justify-content:flex-start}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}.justify-content-around{justify-content:space-around}.align-items-end{align-items:flex-end}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.btn{display:inline-block;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;line-height:1.5;transition:all .15s ease-in-out;text-decoration:none;gap:.25rem}.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(102,126,234,.25)}.btn:disabled{opacity:.65}@media(max-width:768px){.btn{min-height:44px;padding:.5rem 1.5rem}}.btn-primary{background-color:#667eea;border-color:#667eea}.btn-primary:hover:not(:disabled){background-color:#4462e5;border-color:#3958e4}.btn-secondary{background-color:#764ba2;border-color:#764ba2}.btn-secondary:hover:not(:disabled){background-color:#633f88;border-color:#5d3b7f}.btn-success{background-color:#28a745;border-color:#28a745}.btn-success:hover:not(:disabled){background-color:#218838;border-color:#1e7e34}.btn-sm{padding:.25rem .5rem;font-size:.875rem;min-height:36px}.btn-lg{min-height:48px}.form-control{display:block;width:100%;padding:.5rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;background-clip:padding-box;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;min-height:44px}.form-control,.form-control:focus{color:#343a40;background-color:#fff}.form-control:focus{border-color:#d6ddf9;outline:0;box-shadow:0 0 0 .2rem rgba(102,126,234,.25)}@media(max-width:768px){.form-control{min-height:44px;font-size:16px}}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}.card .card-body{flex:1 1 auto;padding:1rem}.card .card-header{margin-bottom:0;border-bottom:1px solid rgba(0,0,0,.125);border-top-left-radius:.375rem;border-top-right-radius:.375rem}.card .card-footer,.card .card-header{padding:1rem;background-color:rgba(0,0,0,.03)}.card .card-footer{border-top:1px solid rgba(0,0,0,.125);border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}.qr-scanner-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem}@media(max-width:768px){.qr-scanner-modal{padding:.5rem;align-items:flex-start;padding-top:1rem}}.qr-scanner-container{background:#fff;border-radius:.5rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 1rem 3rem rgba(0,0,0,.175)}@media(min-width:992px){.qr-scanner-container{max-width:600px;max-height:85vh}}@media(max-width:768px){.qr-scanner-container{max-height:95vh;border-radius:.375rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}}@media(max-width:576px){.qr-scanner-container{margin:.25rem;max-height:calc(100vh - 1rem)}}.qr-scanner-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.qr-scanner-header h3{margin:0;font-size:1.25rem;font-weight:600}@media(max-width:768px){.qr-scanner-header{padding:1rem;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.qr-scanner-header h3{font-size:1.125rem}}.close-button{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:.375rem;font-size:1.2rem;cursor:pointer;color:#fff;padding:.25rem .5rem;transition:all .2s;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.5)}@media(max-width:768px){.close-button{font-size:1rem;padding:.5rem}}.scanner-modes{display:flex;gap:.5rem;padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}@media(max-width:576px){.scanner-modes{flex-direction:column;gap:.25rem;padding:.5rem}}.mode-btn{flex:1;padding:.5rem 1rem;border:2px solid #dee2e6;border-radius:.375rem;background:#fff;color:#764ba2;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.mode-btn:hover{border-color:#667eea;color:#667eea;background:#fff}.mode-btn.active{background:#667eea;border-color:#667eea;color:#fff}@media(max-width:768px){.mode-btn{padding:1rem 1.5rem;font-size:1rem}}.camera-container{padding:1rem;min-height:300px}@media(min-width:992px){.camera-container{padding:1.5rem;min-height:400px}}@media(max-width:768px){.camera-container{padding:.5rem;min-height:250px}}.video-container{position:relative;width:100%;border-radius:.375rem;overflow:hidden;background:#000;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.qr-video{width:100%;height:auto;display:block;min-height:200px}@media(min-width:992px){.qr-video{min-height:300px}}.scan-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.scan-frame{width:200px;height:200px;border:3px solid #fff;border-radius:.5rem;box-shadow:0 0 0 9999px rgba(0,0,0,.3);position:relative}.scan-frame:after,.scan-frame:before{content:"";position:absolute;width:20px;height:20px;border:3px solid #28a745}.scan-frame:before{top:-3px;left:-3px;border-right:none;border-bottom:none}.scan-frame:after{bottom:-3px;right:-3px;border-left:none;border-top:none}@media(max-width:768px){.scan-frame{width:150px;height:150px}}@media(max-width:576px){.scan-frame{width:120px;height:120px}}.scanner-controls{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem}@media(max-width:768px){.scanner-controls{bottom:.5rem;gap:.25rem}}.no-camera,.permission-denied,.permission-request{text-align:center;padding:2rem;color:#764ba2}@media(max-width:768px){.no-camera,.permission-denied,.permission-request{padding:1.5rem}}.camera-icon,.error-icon{font-size:3rem;margin-bottom:1rem}@media(max-width:768px){.camera-icon,.error-icon{font-size:2.5rem;margin-bottom:.5rem}}.scan-result{padding:1rem;margin:1rem;background:#f8f9fa;border-radius:.375rem;border-left:4px solid #28a745}@media(max-width:768px){.scan-result{margin:.5rem;padding:.5rem}}.fetching-info{display:flex;align-items:center;justify-content:center;padding:2rem;color:#764ba2;gap:.5rem}@media(max-width:768px){.fetching-info{padding:1.5rem;flex-direction:column;gap:.25rem}}.jar-info{background:#fff;border-radius:.375rem;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.jar-header{display:flex;align-items:center;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.jar-header .jar-icon{font-size:1.5rem;margin-right:.5rem}.jar-header h4{margin:0;font-weight:600;font-size:1.125rem}@media(max-width:768px){.jar-header{padding:.5rem}.jar-header .jar-icon{font-size:1.25rem;margin-right:.25rem}.jar-header h4{font-size:1rem}}.jar-details{padding:1rem}@media(max-width:768px){.jar-details{padding:.5rem}}.jar-detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid #f1f3f4}.jar-detail-item:last-child{border-bottom:none}.jar-detail-item label{font-weight:600;color:#764ba2;min-width:80px;margin-right:1rem;font-size:.875rem}.jar-detail-item strong{color:#343a40;font-weight:600;font-size:.875rem}.jar-detail-item code{background:#f8f9fa;padding:.25rem .5rem;border-radius:.25rem;font-family:monospace;font-size:.75rem;color:#667eea;word-break:break-all}.jar-detail-item span{text-align:right;flex:1;font-size:.875rem}@media(max-width:768px){.jar-detail-item{flex-direction:column;align-items:flex-start;gap:.25rem}.jar-detail-item label{min-width:auto;margin-right:0}.jar-detail-item span{text-align:left}}.jar-actions{padding:1rem;background:#f8f9fa;display:flex;gap:.5rem}@media(max-width:768px){.jar-actions{flex-direction:column;padding:.5rem;gap:.25rem}}.qr-fallback .result-header{color:#ffc107;margin-bottom:.5rem;font-weight:600}.qr-fallback .result-content{font-family:monospace;background:#fff;padding:1rem;border-radius:.25rem;border:1px solid #dee2e6;word-break:break-all;margin-bottom:1rem;font-size:.875rem}.qr-fallback .result-actions{display:flex;gap:.5rem}@media(max-width:768px){.qr-fallback .result-actions{flex-direction:column;gap:.25rem}}.error-message{padding:1rem;margin:1rem;background:#f8d7da;color:#721c24;border-radius:.375rem;border-left:4px solid #dc3545;font-size:.875rem}@media(max-width:768px){.error-message{margin:.5rem;padding:.5rem}}.instructions{padding:1rem;background:#e7f3ff;border-top:1px solid #e9ecef;color:#0c5460;font-size:.875rem}.instructions p{margin:.5rem 0}.instructions p:first-child{margin-top:0}.instructions p:last-child{margin-bottom:0}@media(max-width:768px){.instructions{padding:.5rem;font-size:.75rem}}.qr-scanner-btn{padding:.5rem 1rem;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.25rem;text-decoration:none}.qr-scanner-btn.btn-primary{background:#667eea;color:#fff}.qr-scanner-btn.btn-primary:hover:not(:disabled){background:#3958e4}.qr-scanner-btn.btn-secondary{background:#764ba2;color:#fff}.qr-scanner-btn.btn-secondary:hover:not(:disabled){background:#5d3b7f}.qr-scanner-btn.btn-success{background:#28a745;color:#fff}.qr-scanner-btn.btn-success:hover:not(:disabled){background:#1e7e34}.qr-scanner-btn.flash-btn{min-width:44px;padding:.5rem}.qr-scanner-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.qr-scanner-btn{min-height:44px;padding:.5rem 1.5rem;font-size:1rem}}.hardware-scanner-container{padding:1rem;min-height:300px}@media(min-width:992px){.hardware-scanner-container{padding:1.5rem}}@media(max-width:768px){.hardware-scanner-container{padding:.5rem}}.hardware-scanner-status{text-align:center;padding:2rem;background:#f8f9fa;border-radius:.375rem;margin-bottom:1rem}@media(max-width:768px){.hardware-scanner-status{padding:1.5rem;margin-bottom:.5rem}}.scanner-icon{font-size:3rem;margin-bottom:1rem;color:#667eea}@media(max-width:768px){.scanner-icon{font-size:2.5rem;margin-bottom:.5rem}}.scanner-active{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#28a745;font-weight:600;margin-top:1rem}@media(max-width:768px){.scanner-active{flex-direction:column;gap:.25rem}}.scanner-indicator{width:12px;height:12px;background:#28a745;border-radius:50%;animation:pulse 2s infinite}@media(max-width:768px){.scanner-indicator{width:16px;height:16px}}@keyframes pulse{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.scanner-inactive{margin-top:1rem}.scanner-help{font-size:.75rem;color:#764ba2;margin-top:.5rem}@media(max-width:768px){.scanner-help{font-size:.875rem}}.hardware-scanner-input{position:absolute;left:-9999px;opacity:0;pointer-events:none}.hardware-instructions{background:#fff;border-radius:.375rem;padding:1rem;border-left:4px solid #17a2b8}.hardware-instructions h5{color:#343a40;margin:1rem 0 .5rem 0;font-size:.875rem;font-weight:600}.hardware-instructions ol,.hardware-instructions ul{margin:.5rem 0;padding-left:1.5rem}.hardware-instructions li{margin-bottom:.25rem;color:#764ba2;font-size:.75rem}@media(max-width:768px){.hardware-instructions{padding:.5rem}.hardware-instructions h5{font-size:1rem}.hardware-instructions li{font-size:.875rem}.spinner-small{width:24px;height:24px;border-width:3px}}.error-text{color:#dc3545;font-size:.875rem;margin-top:.5rem}.warning-text{color:#ffc107;font-weight:600;font-size:.875rem}.debug-info{padding:1rem;margin:1rem;background:#f8f9fa;border-radius:.375rem;border-left:4px solid #17a2b8;font-size:.75rem}@media(max-width:768px){.debug-info{margin:.5rem;padding:.5rem}}.debug-info pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.75rem}@media(hover:none)and (pointer:coarse){.close-button,.mode-btn,.qr-scanner-btn{min-height:44px;min-width:44px}}@media(max-width:768px)and (orientation:landscape){.qr-scanner-container{max-height:95vh}.camera-container{min-height:200px}.scan-frame{width:120px;height:120px}}.order-packing{padding-bottom:2rem}.loading{padding:2rem}.spinner-small{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:.25rem}.order-header{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.order-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}@media(max-width:576px){.order-title{flex-direction:column;align-items:flex-start;gap:.25rem}}.order-title h2{margin:0;color:#343a40;font-size:1.5rem}@media(max-width:576px){.order-title h2{font-size:1.25rem}}.order-status{padding:.25rem 1rem;border-radius:20px;font-size:.875rem}.status-pending{background:#fff3cd;color:#856404}.status-processing{background:#d1ecf1;color:#0c5460}.status-shipped{background:#d4edda;color:#155724}.status-delivered{background:#d1ecf1;color:#0c5460}.status-cancelled{background:#f8d7da;color:#721c24}.progress-section{margin-top:1rem}.progress-text{font-size:1rem;color:#343a40;margin-bottom:.25rem;font-weight:600}.progress-bar{height:12px;border-radius:6px;margin-bottom:.25rem}.progress-percentage{text-align:center;font-size:.875rem;color:#6c757d;font-weight:600}.scanner-section{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.scanner-section h3{margin-bottom:1rem;color:#343a40;font-size:1.125rem}.manual-input{display:flex;gap:.25rem;margin-bottom:1rem}@media(max-width:576px){.manual-input{flex-direction:column}}.qr-input{flex:1;padding:.5rem;border:2px solid #dee2e6;border-radius:.375rem;font-size:1rem;transition:border-color .2s ease}.qr-input:focus{outline:none;border-color:#667eea}.camera-scanner{text-align:center;padding:2rem;border:2px dashed #dee2e6;border-radius:.5rem;margin-bottom:1rem}.camera-placeholder{color:#6c757d}.camera-icon{font-size:3rem;margin-bottom:1rem}.scanning-status{display:flex;align-items:center;justify-content:center;padding:1rem;background:#f8f9fa;border-radius:.375rem;color:#495057}.order-items{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.order-items h3{margin-bottom:1rem;color:#343a40;font-size:1.125rem}.items-list{display:flex;flex-direction:column;gap:1rem}.order-item-card{background:#f8f9fa;border-radius:.375rem;border-left:4px solid #6c757d;padding:1rem;margin-bottom:.25rem;transition:all .2s ease}.order-item-card.completed{border-left-color:#28a745;background:#f8fff9}.order-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}@media(max-width:576px){.order-item-header{flex-direction:column;align-items:flex-start;gap:.25rem}}.product-info{flex:1}.product-info strong{font-size:1.125rem;color:#343a40}.external-ref{font-size:.875rem;color:#6c757d;margin-left:.25rem}.quantity-info{display:flex;align-items:center;gap:.25rem}.packed-count{font-size:1rem;font-weight:600;color:#6c757d}.packed-count.complete{color:#28a745}.status-complete,.status-pending{font-size:1.2rem}.packed-jars{margin-top:.25rem}.packed-jars h4{font-size:.875rem;color:#6c757d;margin-bottom:.25rem;font-weight:600}.jar-card{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:.25rem;margin-bottom:.25rem;border:1px solid #dee2e6;transition:all .2s ease}.jar-card:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.05)}.jar-info{flex:1}.jar-details{display:flex;gap:1rem;font-size:.75rem;color:#6c757d;margin-bottom:.125rem}@media(max-width:576px){.jar-details{flex-direction:column;gap:.125rem}}.jar-notes{font-size:.75rem;color:#495057;font-style:italic}.jar-actions{margin-left:.25rem}.no-jars{padding:1rem;font-style:italic;font-size:.875rem}.no-items,.no-jars{text-align:center;color:#6c757d}.no-items{padding:2rem}.btn{font-size:1rem}.btn-scan{background:#667eea;color:#fff}.btn-scan:hover:not(:disabled){background:#3958e4}.btn-camera{background:#28a745;color:#fff}.btn-camera:hover:not(:disabled){background:#1e7e34}.btn-remove{background:#dc3545;color:#fff;padding:.25rem;font-size:.75rem}.btn-remove:hover:not(:disabled){background:#bd2130}.btn-complete{background:#28a745;color:#fff;width:100%;font-size:1.125rem;padding:1rem}.btn-complete:hover:not(:disabled){background:#1e7e34}.btn-back{background:#6c757d;color:#fff;width:100%}.btn-back:hover:not(:disabled){background:#545b62}.order-actions{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.message{position:fixed;top:1rem;left:1rem;right:1rem;padding:1rem;border-radius:.375rem;text-align:center;font-weight:600;z-index:1000;max-width:600px;margin:0 auto}@media(max-width:576px){.message{left:.25rem;right:.25rem}}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.message.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}@media(max-width:768px){.order-packing{padding-bottom:1rem}.order-actions,.order-header,.order-items,.scanner-section{padding:1rem;margin-bottom:.5rem}.jar-details{font-size:.75rem;gap:.25rem}}@media(max-width:576px){.spinner{width:32px;height:32px}.camera-icon{font-size:2rem}.btn{font-size:.875rem}.btn-complete{font-size:1rem}}.order-list{padding-bottom:2rem}.loading{text-align:center;padding:3rem}@media(max-width:768px){.loading{padding:2rem}}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@media(max-width:768px){.spinner{width:32px;height:32px;border-width:3px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.orders{display:flex;flex-direction:column;gap:1rem}.order-card{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;transition:all .2s ease}.order-card:hover{transform:translateY(-2px);box-shadow:0 1rem 3rem rgba(0,0,0,.175)}@media(max-width:768px){.order-card{margin-bottom:.5rem}}.card-body{padding:1.5rem}@media(max-width:768px){.card-body{padding:1rem}}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}@media(max-width:576px){.order-header{flex-direction:column;gap:.25rem}}.order-id{font-size:1.125rem;font-weight:600;color:#343a40}@media(max-width:576px){.order-id{font-size:1rem}}.order-status{padding:.25rem .5rem;border-radius:50rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.order-status.status-pending{background:#fff3cd;color:#856404}.order-status.status-processing{background:#d1ecf1;color:#0c5460}.order-status.status-shipped{background:#d4edda;color:#155724}.order-status.status-delivered{background:#d1ecf1;color:#0c5460}.order-status.status-cancelled{background:#f8d7da;color:#721c24}.order-info{margin-bottom:1rem}.progress-section{display:flex;flex-direction:column;gap:.25rem}.progress-text{font-size:.875rem;color:#6c757d;font-weight:500}@media(max-width:576px){.progress-text{font-size:.75rem}}.progress-bar{width:100%;height:8px;background:#f8f9fa;border-radius:.25rem;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:.25rem}.order-actions{display:flex;gap:.5rem}@media(max-width:576px){.order-actions{flex-direction:column;gap:.25rem}}.btn{padding:.5rem 1rem;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.875rem;min-height:44px;display:flex;align-items:center;justify-content:center}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:576px){.btn{font-size:.75rem;padding:.25rem .5rem}}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#3958e4}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#1e7e34}.flex-fill{flex:1}.empty-state{text-align:center;padding:3rem 1rem;color:#6c757d}@media(max-width:768px){.empty-state{padding:2rem .5rem}}.empty-icon{font-size:4rem;margin-bottom:1rem}@media(max-width:576px){.empty-icon{font-size:3rem}}.empty-state h3{color:#343a40;margin-bottom:1rem;font-size:1.25rem}@media(max-width:576px){.empty-state h3{font-size:1.125rem}}.empty-state p{margin-bottom:1.5rem;font-size:1rem}@media(max-width:576px){.empty-state p{font-size:.875rem}}.btn-lg{padding:1rem 1.5rem;font-size:1.125rem}@media(max-width:576px){.btn-lg{padding:.5rem 1rem;font-size:1rem}}.error-state{text-align:center;padding:3rem 1rem;color:#dc3545}@media(max-width:768px){.error-state{padding:2rem .5rem}}.error-icon{font-size:4rem;margin-bottom:1rem}@media(max-width:576px){.error-icon{font-size:3rem}}.error-state h3{color:#dc3545;margin-bottom:1rem;font-size:1.25rem}@media(max-width:576px){.error-state h3{font-size:1.125rem}}.text-danger{color:#dc3545}.refresh-section{margin-top:1.5rem;text-align:center}.btn-secondary{background:#764ba2;color:#fff}.btn-secondary:hover:not(:disabled){background:#5d3b7f}.d-none{display:none}@media(min-width:576px){.d-sm-inline{display:inline}}.ms-1{margin-left:.25rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.py-5{padding-top:3rem;padding-bottom:3rem}@media(max-width:768px){.py-5{padding-top:2rem;padding-bottom:2rem}}.mt-4{margin-top:1.5rem}.text-secondary{color:#6c757d}.text-center{text-align:center}.gap-2{gap:.5rem}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}@media(max-width:576px){.order-card{border-radius:.375rem}.order-actions{margin-top:.5rem}.progress-bar{height:6px}}