:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f6fb;line-height:1.45}*{box-sizing:border-box}body{margin:0}.app{min-height:100vh}header{background:linear-gradient(135deg,#5b21b6,#7c3aed);color:#fff;padding:34px max(22px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;opacity:.8}h1{font-size:32px;line-height:1.1;margin:7px 0 10px}header p{margin:0;max-width:760px;color:#ede9fe}.masterBadge{background:#ffffff24;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:12px 15px;font-weight:800;white-space:nowrap}.masterBadge small{display:block;font-weight:500;opacity:.8;margin-top:4px}main{width:min(1180px,calc(100% - 32px));margin:24px auto 50px;display:grid;gap:18px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 5px 20px #0f172a0d;padding:20px}.cardTitle{display:flex;align-items:center;gap:13px;margin-bottom:18px}.cardTitle>div:nth-child(2){flex:1}.cardTitle h2{font-size:18px;margin:0 0 3px}.cardTitle p{margin:0;color:#6b7280;font-size:13px}.step{width:31px;height:31px;border-radius:10px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:900}.count{font-size:12px;background:#f3f4f6;border-radius:999px;padding:6px 10px;color:#4b5563}.uploadGrid{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(260px,.8fr);gap:18px}.drop{border:2px dashed #c4b5fd;border-radius:16px;min-height:300px;background:#faf9ff;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;color:#4c1d95}.drop img{width:100%;height:100%;max-height:420px;object-fit:contain}.drop span{font-size:12px;color:#6b7280;margin-top:4px}.uploadIcon{font-size:34px;margin-bottom:5px}.actions{display:flex;flex-direction:column;gap:10px;justify-content:center}.actions button,.manualGrid button,.totalActions button{border:0;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}.primary{background:#6d28d9;color:#fff}.secondary{background:#f3f4f6;color:#374151}.save{background:#dcfce7;color:#166534}.excel{background:#2563eb;color:#fff}.danger{background:#fee2e2;color:#991b1b}.actions button:disabled,.totalActions button:disabled{opacity:.45;cursor:not-allowed}.tip{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:12px;font-size:12px;color:#4b5563}.empty{padding:28px;text-align:center;background:#f8fafc;border-radius:12px;color:#6b7280}.tableWrap{overflow:auto;border:1px solid #e5e7eb;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:10px 12px;border-bottom:1px solid #eef0f3;text-align:left;font-size:13px;vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#f8fafc;position:sticky;top:0}tr:last-child td{border-bottom:0}.review td{background:#fffbeb}td input,.manualGrid input,.search input{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:8px 9px;font:inherit;background:#fff}.qty{width:95px!important}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:11px}.warn{color:#a16207;font-weight:800}.ok{color:#15803d;font-weight:800}.iconBtn{border:0;background:transparent;font-size:20px;color:#9ca3af;cursor:pointer}.manualGrid{display:grid;grid-template-columns:1fr 140px auto;gap:10px}.manualGrid input[type=number]{max-width:140px}.totalActions{display:flex;gap:8px;margin-left:auto}.search{margin-bottom:10px;max-width:360px}.totalsTable{min-width:0}.totalQty{font-weight:900;text-align:right;width:150px}.status{background:#111827;color:#fff;border-radius:10px;padding:10px 13px;font-size:12px}.status:empty{display:none}footer{width:min(1180px,calc(100% - 32px));margin:0 auto 30px;color:#6b7280;font-size:12px;text-align:center}@media(max-width:760px){header{padding:24px 18px;display:block}h1{font-size:25px}.masterBadge{margin-top:15px;display:inline-block}.uploadGrid,.manualGrid{grid-template-columns:1fr}.manualGrid input[type=number]{max-width:none}.totalActions{margin-left:0;flex-wrap:wrap}.cardTitle{align-items:flex-start;flex-wrap:wrap}.count{margin-left:44px}}.statusCell{position:relative;min-width:170px}.reviewActions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.correctionBtn{border:1px solid #7c3aed;background:#fff;color:#6d28d9;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:800;cursor:pointer}.correctionBtn:hover{background:#f5f3ff}.masterPicker{position:relative;display:inline-block}.pickerPanel{position:absolute;z-index:50;top:calc(100% + 6px);right:0;width:360px;background:#fff;border:1px solid #d8b4fe;border-radius:12px;box-shadow:0 12px 30px #0f172a2e;padding:10px}.pickerPanel>input{width:100%;border:1px solid #a78bfa!important;border-radius:8px;padding:9px!important;font:inherit}.pickerHint{font-size:10px;color:#6b7280;padding:7px 2px 5px}.pickerOptions{max-height:250px;overflow:auto;border:1px solid #eef0f3;border-radius:8px}.pickerOptions button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:9px 10px;font:inherit;font-size:12px;cursor:pointer}.pickerEmpty{padding:12px;font-size:12px;color:#6b7280}@media(max-width:760px){.pickerPanel{position:fixed;inset:auto 18px 18px;width:auto}.statusCell{min-width:150px}}.acceptBtn{border:1px solid #b7e3c4;background:#effaf2;color:#18753a;border-radius:8px;padding:6px 9px;font-weight:700;cursor:pointer}.acceptBtn:disabled{opacity:.55;cursor:default}.upload+.card table th:nth-child(2),.upload+.card table td:nth-child(2){min-width:360px}.upload+.card table th:nth-child(3),.upload+.card table td:nth-child(3){min-width:430px}.upload+.card table th:nth-child(4),.upload+.card table td:nth-child(4){min-width:115px}.upload+.card table th:nth-child(5),.upload+.card table td:nth-child(5){min-width:330px}.upload+.card table{min-width:1450px}.upload+.card .statusCell{min-width:330px}.acceptSaveBtn{border:1px solid #16a34a;background:#dcfce7;color:#166534;border-radius:8px;padding:7px 11px;font-weight:800;cursor:pointer;white-space:nowrap}.acceptSaveBtn:hover{background:#bbf7d0}.acceptSaveBtn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.upload+.card table{min-width:1200px}.upload+.card table th:nth-child(3),.upload+.card table td:nth-child(3){min-width:330px}.upload+.card table th:nth-child(5),.upload+.card table td:nth-child(5){min-width:270px}}.previewToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px}.previewInfo{font-size:12px;color:#4b5563}.acceptSaveAllBtn{border:0;border-radius:10px;padding:11px 18px;font-weight:900;cursor:pointer;background:#16a34a;color:#fff;white-space:nowrap}.acceptSaveAllBtn:disabled{opacity:.45;cursor:not-allowed}.masterCol,.masterCell{min-width:420px}.masterCell input{min-width:390px}.pickerPanelOverlay{overflow:hidden}.pickerPanelOverlay .pickerOptions{max-height:320px}.pickerPanelOverlay{box-shadow:0 20px 55px #0f172a47}@media(max-width:760px){.previewToolbar{align-items:stretch;flex-direction:column}.acceptSaveAllBtn{width:100%}.masterCol,.masterCell{min-width:300px}.masterCell input{min-width:270px}}.pickerBackdrop,.driveBackdrop{position:fixed;inset:0;z-index:2147483000;background:#0f172a6b;display:flex;align-items:center;justify-content:center;padding:20px}.pickerModal,.driveModal{width:min(680px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));background:#fff;border-radius:16px;box-shadow:0 25px 80px #0f172a59;padding:16px;display:flex;flex-direction:column;overflow:hidden}.pickerHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:15px}.pickerHeader button{border:0;background:#f3f4f6;border-radius:8px;width:34px;height:34px;font-size:22px;cursor:pointer}.pickerModal>input,.driveModal>input{width:100%;border:1px solid #a78bfa;border-radius:9px;padding:11px;font:inherit;outline:none}.pickerModal>input:focus,.driveModal>input:focus{box-shadow:0 0 0 3px #7c3aed1f}.pickerModal .pickerOptions{max-height:520px;overflow:auto;border:1px solid #e5e7eb;border-radius:10px}.pickerModal .pickerOptions button{padding:11px 12px;font-size:13px}.driveModal p{font-size:13px;color:#4b5563;margin:0 0 12px}.driveActions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.driveActions button{border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}.driveActions .primary{background:#6d28d9;color:#fff}.driveActions .secondary{background:#f3f4f6;color:#374151}.driveActions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.pickerBackdrop,.driveBackdrop{padding:10px}.pickerModal,.driveModal{width:100%;max-height:calc(100vh - 20px)}.pickerModal .pickerOptions{max-height:calc(100vh - 210px)}}.queueBox{margin-top:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:12px}.queueTitle{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;margin-bottom:8px}.queueTitle span{font-size:11px;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:4px 8px}.queueList{display:flex;flex-wrap:wrap;gap:7px}.queueItem{display:flex;align-items:center;gap:7px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;color:#6b7280;max-width:100%}.queueItem span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:330px}.queueItem.active{border-color:#8b5cf6;background:#f5f3ff;color:#5b21b6}.queueItem b{font-size:10px}.queueBox small{display:block;color:#6b7280;margin-top:8px;font-size:11px}.queueCurrentBadge{position:absolute;bottom:8px;left:8px;right:8px;background:#111827c7;color:#fff;border-radius:8px;padding:7px 9px;font-size:11px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop{position:relative}.driveLinksArea{width:100%;resize:vertical;border:1px solid #a78bfa;border-radius:9px;padding:11px;font:inherit;outline:none;line-height:1.45}.driveLinksArea:focus{box-shadow:0 0 0 3px #7c3aed1f}.pickerBackdrop{position:fixed!important;inset:0!important;z-index:2147483647!important;background:#0f172a7a!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;isolation:isolate}.pickerModal{width:min(760px,calc(100vw - 32px))!important;max-height:min(820px,calc(100vh - 40px))!important;background:#fff!important;border-radius:16px!important;box-shadow:0 25px 90px #00000059!important;padding:18px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;position:relative!important;z-index:1!important}.pickerHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:16px}.pickerHeader button{flex:0 0 auto}.pickerSub{font-size:12px;font-weight:400;color:#6b7280;margin-top:3px}.pickerHint{font-size:11px;color:#6b7280;padding:8px 2px}.pickerOptions{max-height:580px!important;overflow-y:auto!important;overflow-x:hidden!important;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.pickerOptions button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 12px;font:inherit;font-size:13px;cursor:pointer;border-bottom:1px solid #f1f5f9}.pickerOptions button:last-child{border-bottom:0}.pickerOptions button:hover{background:#f5f3ff;color:#5b21b6}@media(max-width:760px){.pickerBackdrop{padding:10px!important}.pickerModal{width:100%!important;max-height:calc(100vh - 20px)!important}.pickerOptions{max-height:calc(100vh - 220px)!important}}.pickerOptions button.pickerOptionActive{background:#ede9fe;color:#5b21b6;outline:2px solid rgba(124,58,237,.16);outline-offset:-2px}.actions button:disabled{opacity:.5;cursor:not-allowed}.mobileCameraNote{font-size:11px;color:#6b7280;margin-top:4px}@media(max-width:760px){.actions{gap:8px}.actions button{width:100%}.queueList{display:block;max-height:180px;overflow:auto}.queueItem{margin-bottom:6px}.queueItem span{max-width:calc(100vw - 100px)}}.buttonLike{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;box-sizing:border-box}.buttonLike:active{transform:translateY(1px)}.nativeUploadControls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.nativeUploadBlock{border:2px dashed #cbd5e1;border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:7px;min-width:0}.nativeUploadBlock span{font-weight:900;color:#334155;font-size:14px}.nativeUploadBlock input[type=file]{display:block;width:100%;min-width:0;padding:8px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#334155;font:inherit;font-size:12px;cursor:pointer}.nativeUploadBlock input[type=file]::file-selector-button{margin-right:8px;border:0;border-radius:7px;padding:8px 10px;background:#6d28d9;color:#fff;font-weight:800;cursor:pointer}.nativeUploadBlock small{color:#64748b;font-size:11px}@media(max-width:760px){.nativeUploadControls{grid-template-columns:1fr}.nativeUploadBlock input[type=file]{font-size:13px;padding:10px}.nativeUploadBlock input[type=file]::file-selector-button{padding:10px 12px}}.nativeUploadBlock input[type=file]:focus{outline:3px solid rgba(109,40,217,.22);outline-offset:2px}.saveQueueBtn{background:#e8f5e9;border:1px solid #43a047;color:#1b5e20;font-weight:700;padding:10px 14px;border-radius:10px;cursor:pointer}.saveQueueBtn:disabled{opacity:.5;cursor:not-allowed}.status{white-space:pre-wrap}.photo-viewer-large{display:block;width:100%;height:auto;max-width:100%;max-height:88vh;object-fit:contain;margin:0 auto}.photo-viewer-container{width:100%;min-height:70vh;max-height:88vh;overflow:auto;display:flex;align-items:center;justify-content:center}@media(max-width:900px){.photo-viewer-large{max-height:82vh}.photo-viewer-container{min-height:65vh;max-height:82vh}}.deleteQueueBtn{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;font-weight:800;padding:10px 14px;border-radius:10px;cursor:pointer}.deleteQueueBtn:hover:not(:disabled){background:#fecaca}.deleteQueueBtn:disabled{opacity:.5;cursor:not-allowed}.module1,.upload-module,.image-upload-module,.preview-module{min-height:78vh}.module1 .image-preview,.upload-module .image-preview,.image-upload-module .image-preview,.preview-module .image-preview{min-height:70vh}.module1 .image-preview img,.upload-module .image-preview img,.image-upload-module .image-preview img,.preview-module .image-preview img{max-height:72vh;width:auto;max-width:100%;object-fit:contain}@media(min-width:1200px){.module1,.upload-module,.image-upload-module,.preview-module{min-height:82vh}.module1 .image-preview,.upload-module .image-preview,.image-upload-module .image-preview,.preview-module .image-preview{min-height:76vh}}@media(max-width:900px){.module1,.upload-module,.image-upload-module,.preview-module{min-height:72vh}.module1 .image-preview,.upload-module .image-preview,.image-upload-module .image-preview,.preview-module .image-preview{min-height:64vh}}.module1{min-height:92vh!important}.module1 .uploadGrid{align-items:stretch}.module1 .imageDrop{min-height:82vh!important;height:82vh!important;overflow:hidden!important;padding:10px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.module1 .imageViewer{position:relative;flex:1 1 auto;width:100%;height:100%;min-height:78vh;overflow:hidden;background:#f5f6f8;border:1px solid #d8dce3;border-radius:12px;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.module1 .zoomableImage{display:block!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain;transform-origin:center center;transition:transform .08s linear;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.zoomControls{position:absolute;right:14px;top:14px;z-index:5;display:flex;align-items:center;gap:6px;background:#fffffff2;border:1px solid #d7dce5;border-radius:10px;padding:6px;box-shadow:0 4px 14px #0000001f}.zoomControls button{border:1px solid #cbd2dc;background:#fff;border-radius:7px;min-width:34px;height:32px;font-weight:800;cursor:pointer}.zoomControls button:disabled{opacity:.45;cursor:not-allowed}.zoomControls span{min-width:54px;text-align:center;font-weight:700;font-size:13px}.zoomHint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);background:#141923d1;color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;pointer-events:none;white-space:nowrap}@media(max-width:900px){.module1{min-height:84vh!important}.module1 .imageDrop{height:72vh!important;min-height:72vh!important}.module1 .imageViewer{min-height:66vh}.zoomHint{display:none}}.photo-zoom-stage{overflow:auto;width:100%;height:100%}.photo-zoom-stage img{transform-origin:center center}.zoom-control button{min-width:42px}.imageViewer{cursor:grab;overflow:hidden}.imageViewer:active{cursor:grabbing}.zoomControls{position:relative;z-index:10}.imageViewerWrap{width:100%;height:100%;min-height:78vh;display:flex;flex-direction:column;gap:8px}.zoomToolbar{position:relative!important;top:auto!important;right:auto!important;z-index:20;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;background:#fff;border:2px solid #b8c0cc;border-radius:12px;padding:9px 10px;box-shadow:0 3px 12px #00000024;flex:0 0 auto}.zoomToolbar strong{font-size:14px;margin-right:4px}.zoomToolbar button{border:1px solid #aeb7c3;background:#f8fafc;border-radius:7px;min-width:40px;height:34px;padding:0 9px;font-weight:800;cursor:pointer}.zoomToolbar button:hover:not(:disabled){background:#e9eef5}.zoomToolbar button:disabled{opacity:.4;cursor:not-allowed}.zoomValue{min-width:62px;text-align:center;font-size:15px;font-weight:900;padding:7px 8px;background:#eef2f7;border-radius:7px}.imageViewerWrap>.imageViewer{flex:1 1 auto;min-height:0!important;height:auto!important}@media(max-width:900px){.zoomToolbar{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.zoomToolbar strong{white-space:nowrap}.zoomToolbar button{flex:0 0 auto}}.manualOkBtn{background:#dcfce7!important;border:1px solid #86efac!important;color:#166534!important;font-weight:900!important;border-radius:7px;padding:6px 12px;cursor:pointer;margin-left:4px}.manualOkBtn:hover{background:#bbf7d0!important}
