@page{size:60mm 40mm;margin:2mm}.barcode-print-root{color:#000;background:#fff;font-family:PingFang SC,Microsoft YaHei,sans-serif}.barcode-print-empty{text-align:center;color:#666;padding:60px 20px;font-size:14px}.label{page-break-after:always;box-sizing:border-box;border:1px dashed #ddd;flex-direction:column;justify-content:center;align-items:center;gap:1mm;width:56mm;height:36mm;margin:4px;padding:2mm 0 4mm;display:flex}.label-row1{text-align:center;word-break:break-all;flex-shrink:0;width:100%;font-size:9pt;line-height:1.2}.label-qr{width:18mm;height:18mm;display:block}.label-row3{text-align:center;letter-spacing:1px;flex-shrink:0;width:100%;font-size:11pt;font-weight:700}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;padding:0}body *{visibility:hidden!important}.barcode-print-root,.barcode-print-root *{visibility:visible!important}.barcode-print-root{position:absolute!important;top:0!important;left:0!important}.label{border:none;margin:0}.non-print{display:none!important}}@page{size:60mm 40mm;margin:2mm}.bundle-print-root{color:#000;background:#fff;font-family:PingFang SC,Microsoft YaHei,sans-serif}.bundle-print-empty{text-align:center;color:#666;padding:60px 20px;font-size:14px}.bundle-label{page-break-after:always;box-sizing:border-box;border:1px dashed #ddd;flex-direction:column;width:56mm;height:36mm;margin:4px;padding:.5mm 1mm;display:flex}.bl-row1{text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:9pt;font-weight:600;line-height:1.15;overflow:hidden}.bl-sep{color:#999;margin:0 2px}.bl-row2{color:#555;white-space:nowrap;text-overflow:ellipsis;margin-top:.5mm;font-size:8pt;line-height:1.1;overflow:hidden}.bl-mid{flex:1;justify-content:space-between;align-items:center;margin:.5mm 0;display:flex}.bl-qr{width:18mm;height:18mm;display:block}.bl-seq{text-align:right;flex:1;padding-left:2mm}.bl-seq-num{font-size:14pt;font-weight:700;line-height:1}.bl-seq-pc{color:#333;margin-top:1mm;font-size:9pt}.bl-row3{text-align:center;letter-spacing:1px;font-size:11pt;font-weight:700;line-height:1.1}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;padding:0}body *{visibility:hidden!important}.bundle-print-root,.bundle-print-root *{visibility:visible!important}.bundle-print-root{position:absolute!important;top:0!important;left:0!important}.bundle-label{border:none;margin:0}}.m-screen{-webkit-tap-highlight-color:transparent;background:#eef1f5;flex-direction:column;min-height:100dvh;display:flex}.m-appbar{color:#fff;z-index:10;background:#1e88e5;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.m-appbar .m-title{font-size:16px;font-weight:600}.m-appbar .m-who{opacity:.92;margin-left:auto;font-size:12px}.m-appbar .m-back{color:#fff;cursor:pointer;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.m-body{flex:1;padding:14px 14px 80px;overflow-y:auto}.m-label{color:#888;margin:12px 0 6px;font-size:13px}.m-label .req{color:#c0392b}.m-scanbox{background:#0b1a2a;border-radius:14px;justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.m-scanbox video{object-fit:cover;width:100%;height:100%}.m-scanbox .m-frame{pointer-events:none;border:2px solid #41c4ff;border-radius:8px;width:70%;height:56px;position:absolute}.m-scanbox .m-laser{background:#ff5252;height:2px;position:absolute;top:50%;left:8px;right:8px;box-shadow:0 0 8px #ff5252}.m-scanbox .m-tip{color:#9fd;font-size:11px;position:absolute;bottom:8px}.m-bundle-card{background:#fff;border:1px solid #d6e8fb;border-radius:12px;gap:10px;margin-top:4px;padding:10px;display:flex}.m-scu-img{background:#e8eef5;border-radius:10px;flex-shrink:0;width:78px;height:78px;position:relative;overflow:hidden}.m-scu-img img{object-fit:cover;width:100%;height:100%}.m-scu-img .m-noimg{color:#aab;justify-content:center;align-items:center;width:100%;height:100%;font-size:11px;display:flex}.m-bundle-card .m-info{flex:1;min-width:0}.m-bundle-card .m-code{color:#1565c0;word-break:break-all;font-size:13px;font-weight:700}.m-bundle-card .m-ttl{margin:3px 0;font-size:14px;font-weight:600}.m-bundle-card .m-meta{color:#666;font-size:12px;line-height:1.6}.m-color-chip{color:#1565c0;background:#e3f0fb;border-radius:8px;padding:0 7px;font-size:11px;display:inline-block}.m-proc-scroll{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.m-chip{color:#999;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d9d9d9;border-radius:18px;flex:none;padding:9px 14px;font-size:13px}.m-chip.done{color:#1e7e34;background:#e6f4ea;border-color:#bfe3c8}.m-chip.cur{color:#fff;background:#1e88e5;border-color:#1e88e5;font-weight:700}.m-scrollhint{color:#aab;text-align:right;margin-top:2px;font-size:11px}.m-qty{align-items:center;margin-top:4px;display:flex}.m-qty button{cursor:pointer;background:#fff;border:1px solid #d9d9d9;width:50px;height:50px;font-size:24px}.m-qty button:first-child{border-radius:10px 0 0 10px}.m-qty button:last-child{border-radius:0 10px 10px 0}.m-qty input{text-align:center;border:1px solid #d9d9d9;border-left:0;border-right:0;flex:1;width:0;height:50px;font-size:21px}.m-price{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-top:12px;padding:11px 14px;display:flex}.m-price .m-l{color:#888;font-size:12px}.m-price .m-v{color:#c0392b;font-size:22px;font-weight:800}.m-submit{color:#fff;cursor:pointer;background:#1e7e34;border:0;border-radius:12px;width:100%;height:52px;margin-top:14px;font-size:17px;font-weight:600}.m-submit:disabled{cursor:not-allowed;background:#9bbfa6}.m-tabbar{z-index:20;background:#fff;border-top:1px solid #e5e7eb;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0}.m-tabbar a{color:#888;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.m-tabbar a.active{color:#1e88e5;font-weight:600}.m-tabbar a .m-tab-ico{font-size:18px;line-height:1}.m-kpi-row{gap:10px;margin-bottom:12px;display:flex}.m-kpi{text-align:center;background:#fff;border-radius:12px;flex:1;padding:12px}.m-kpi .m-k-l{color:#888;font-size:12px}.m-kpi .m-k-v{color:#1565c0;margin-top:4px;font-size:22px;font-weight:800}.m-rec{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.m-rec .m-rec-l{min-width:0}.m-rec .m-rec-title{font-size:14px;font-weight:600}.m-rec .m-rec-sub{color:#888;margin-top:2px;font-size:12px}.m-rec .m-rec-amt{color:#c0392b;white-space:nowrap;margin-left:10px;font-size:16px;font-weight:700}.m-rec.void .m-rec-title,.m-rec.void .m-rec-amt{color:#aab;text-decoration:line-through}.m-rec.rework .m-rec-amt{color:#d77800}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans Thai,sans-serif;overflow:hidden}#root>div{height:100%}.header-top-menu .ant-menu-item{color:#ffffffd9!important;border-radius:4px!important;margin:0 2px!important;font-size:16px!important;font-weight:500!important;transition:background-color .2s,color .2s!important}.header-top-menu .ant-menu-item:hover{color:#fff!important;background-color:#ffffff1f!important}.header-top-menu .ant-menu-item-selected,.header-top-menu .ant-menu-item-active.ant-menu-item-selected{color:#fff!important;background-color:#fff3!important}.header-top-menu .ant-menu-item:after{display:none!important}.sider-nav-menu .ant-menu-item{color:#374151!important;border-radius:6px!important;width:calc(100% - 16px)!important;height:38px!important;margin:2px 8px!important;padding-left:16px!important;font-size:14px!important;line-height:38px!important}.sider-nav-menu .ant-menu-item:hover{color:#111827!important;background-color:#e5e7eb!important}.sider-nav-menu .ant-menu-item-selected{color:#1565c0!important;background-color:#0000!important;font-weight:600!important}.sider-nav-menu .ant-menu-item-selected:hover{background-color:#e5e7eb!important}.ant-table-thead>tr>th{color:#4b5563!important;font-weight:600!important}.ant-table-bordered,.ant-table-bordered .ant-table-container,.ant-table-bordered .ant-table-cell{border-color:#e5e7eb!important}.ant-card{border-radius:6px!important;box-shadow:0 1px 2px #0000000a!important}
