*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}.page,.content,.content section,.content .section{max-width:100%}.content section>table,.content .section>table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}body{color:#0f172a;background:#f1f5f9;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font-family:inherit}.page{background:#f1f5f9;min-height:100vh;display:flex}.sidebar{color:#fff;background:#0f172a;width:280px;min-height:100vh;padding:18px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.brand-section{border-bottom:1px solid #334155;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:18px;display:flex}.brand-logo{background:#020617;border:1px solid #334155;border-radius:14px;justify-content:center;align-items:center;width:62px;height:62px;display:flex;overflow:hidden}.brand-logo img{object-fit:cover;width:100%;height:100%}.brand-text h2{margin:0;font-size:22px;line-height:1.1}.menuTitle{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin:18px 0 8px;font-size:12px;font-weight:700}.menuGroup{margin-bottom:4px}.menuGroupHeader{color:#94a3b8;text-align:left;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-top:6px;padding:11px 14px;font-size:13px;font-weight:800;transition:background .15s,color .15s;display:flex}.menuGroupHeader:hover{color:#e2e8f0;background:#1e293b}.menuGroupArrow{opacity:.8;font-size:12px}.menuGroupItems{border-left:2px solid #334155;flex-direction:column;gap:4px;margin:4px 0 8px 8px;padding-left:6px;display:flex}.menuSubgroup{margin-bottom:2px}.menuSubgroupHeader{color:#cbd5e1;text-align:left;letter-spacing:.3px;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:12px;font-weight:700;transition:background .15s,color .15s;display:flex}.menuSubgroupHeader:hover{color:#f1f5f9;background:#1e293b}.menuSubgroupItems{border-left:1px dashed #475569;flex-direction:column;gap:4px;margin:3px 0 6px 6px;padding-left:6px;display:flex}.menuSubgroupItems .menuButton{margin-bottom:4px;padding:10px 13px;font-size:14px}.menuButton{color:#e2e8f0;text-align:left;cursor:pointer;background:#1e293b;border:none;border-radius:12px;width:100%;margin-bottom:8px;padding:13px 14px;font-size:15px;transition:all .2s}.menuButton:hover{background:#334155}.menuButton.active{color:#052e16;background:#22c55e;font-weight:800}.content{box-sizing:border-box;width:calc(100% - 280px);min-width:0;max-width:calc(100% - 280px);margin-left:280px;padding:24px}.topBar{background:#fff;border-radius:18px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:18px 22px;display:flex;box-shadow:0 6px 20px #0f172a14}.topBar h1{margin:0;font-size:26px}.topBar p{color:#64748b;margin:6px 0 0;font-weight:600}.refreshButton,.saveButton,.printButton{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:12px;padding:12px 18px;font-weight:800}.refreshButton:hover,.saveButton:hover,.printButton:hover{background:#15803d}.cancelButton{color:#fff;cursor:pointer;background:#64748b;border:none;border-radius:12px;padding:12px 18px;font-weight:800}.editButton{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:none;border-radius:10px;padding:9px 13px;font-weight:800}.deleteButton{color:#991b1b;cursor:pointer;background:#fee2e2;border:none;border-radius:10px;padding:9px 13px;font-weight:800}.non-admin .deleteButton,.viewer .saveButton,.viewer .editButton,.viewer .deleteButton,.viewer .cancelButton,.viewer .orderSaveButton,.viewer .quickRemoveButton{display:none!important}.actionButtons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:22px;display:grid}.card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 6px 20px #0f172a14}.card p{color:#64748b;margin:0;font-weight:700}.card h2{margin:8px 0 0;font-size:34px}.section{background:#fff;border-radius:18px;margin-bottom:24px;padding:22px;box-shadow:0 6px 20px #0f172a14}.section h2{margin:0 0 16px}.tableHeader{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tableHeader h2{margin:0}.tableHeader span{color:#166534;background:#dcfce7;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}.formGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.formGroup{flex-direction:column;gap:7px;display:flex}.formGroup label{color:#334155;font-size:14px;font-weight:800}.formGroup input,.formGroup select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:15px}.formGroup input:focus,.formGroup select:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.formCheck{align-items:center;gap:9px;margin-top:28px;font-weight:800;display:flex}.formCheck input{width:18px;height:18px}.formActions{align-items:center;gap:12px;display:flex}.productActions{margin-top:22px}.formSectionTitle{color:#0f172a;border-left:5px solid #22c55e;margin:24px 0 14px;padding-left:10px;font-size:22px}.tableWrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th{color:#334155;text-align:left;white-space:nowrap;background:#e2e8f0;padding:12px;font-size:14px}td{color:#334155;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:12px}tr:hover td{background:#f8fafc}.emptyCell{text-align:center;color:#64748b;font-weight:700}.structureGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.structureBox{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px}.structureBox h3{margin:0 0 10px}.structureBox p{color:#64748b;margin:6px 0;font-weight:600}.hierarchy-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:20px}.hierarchy-root{color:#fff;background:#0f172a;border-radius:16px;margin-bottom:18px;padding:18px}.hierarchy-root h2{margin:0}.hierarchy-root p{color:#cbd5e1;margin:6px 0 0}.quickBomToolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;margin:14px 0;padding:14px;display:flex}.quickBomToolbar p{color:#475569;margin:0;font-weight:600}.quickBomList{flex-direction:column;gap:18px;display:flex}.quickBomItem{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.quickBomItem h4{color:#1e293b;margin:0 0 12px;font-size:18px}.quickBomInputs{align-items:end;gap:10px;display:grid}.quickBomInputs.liquidRow{grid-template-columns:1.1fr 1.1fr 1.4fr 1.2fr .8fr .8fr 1.1fr auto}.quickBomInputs.normalRow{grid-template-columns:1.1fr 1.1fr 1.5fr .8fr .8fr 1.2fr auto}.quickRemoveButton{margin-top:24px}.orderLineHeader{justify-content:space-between;align-items:center;margin:24px 0 14px;display:flex}.orderLineHeader h3{margin:0}.orderLineGrid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1.2fr 1.6fr .8fr .8fr .8fr auto;align-items:end;gap:12px;margin-bottom:12px;padding:14px;display:grid}.orderSaveButton{margin-top:12px}.summaryBox{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.summaryBox p{color:#64748b;margin:0;font-weight:800}.summaryBox h3{margin:8px 0 0;font-size:24px}.printButton{background:#0f172a;margin-bottom:18px}.printButton:hover{background:#1e293b}.barcodeGrid{grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:18px;display:grid}.packingSticker{background:#fff;position:relative}.stickerBorder{border:2px solid #0f172a;min-height:300px;padding:18px 22px;position:relative;overflow:hidden}.stickerWatermark{color:#0f172a14;z-index:0;font-size:170px;font-weight:900;position:absolute;top:50%;left:42%;transform:translate(-50%,-50%)}.stickerBorder h2{text-align:center;letter-spacing:3px;z-index:1;margin:0 0 18px;position:relative}.stickerRow{z-index:1;grid-template-columns:160px 18px 1fr;gap:8px;margin-bottom:9px;font-size:18px;font-weight:900;display:grid;position:relative}.stickerRow .label{color:#1e293b}.stickerRow .value{color:#0f172a}.stickerBottom{z-index:1;justify-content:space-between;align-items:flex-end;margin-top:22px;display:flex;position:relative}.boxNo{font-size:22px;font-weight:900}.barcodeArea{text-align:center}.barcodeNumber{margin-top:-6px;font-size:12px;font-weight:800}.mobileMenuBtn,.mobileOverlay,.mobileBottomNav{display:none}@media (width<=1500px){.quickBomInputs.liquidRow,.quickBomInputs.normalRow{grid-template-columns:repeat(3,1fr)}.quickRemoveButton{margin-top:0}}@media (width<=1300px){.quickBomToolbar{display:block}.quickBomToolbar .actionButtons{margin-top:12px}.orderLineGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=1200px){table{min-width:720px}}@media (width<=900px){.page{display:block}.sidebar{z-index:1001;width:270px;height:100%;min-height:100%;transition:transform .28s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 18px #00000040}.sidebar.mobileOpen{transform:translate(0)}.mobileMenuBtn{display:none}.mobileOverlay.open{z-index:1000;background:#00000073;display:block;position:fixed;inset:0}.content{width:100%;margin-left:0;padding:14px 14px 84px}.topBar{display:block}.topBar button{margin-top:12px}.mobileBottomNav{z-index:1003;background:#fff;border-top:1px solid #e2e8f0;height:62px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0f172a14}.mbnItem{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:600;display:flex}.mbnItem .mbnIcon{font-size:20px;line-height:1}.mbnItem.active{color:#15803d}.formGrid,.quickBomInputs.liquidRow,.quickBomInputs.normalRow,.barcodeGrid{grid-template-columns:1fr}.content table,.content .dataTable,.content .table{-webkit-overflow-scrolling:touch;width:100%;min-width:0;display:block;overflow-x:auto}}@media print{body{background:#fff}:is(.sidebar,.topBar,.section:not(:has(.barcodeGrid)),.printButton){display:none!important}.content{width:100%;margin:0;padding:0}.section{box-shadow:none;margin:0;padding:0}.barcodeGrid{grid-template-columns:repeat(2,100mm);gap:0;display:grid}.packingSticker{page-break-inside:avoid;width:100mm;height:100mm}.stickerBorder{width:100mm;height:100mm;min-height:auto;padding:8mm}.stickerBorder h2{font-size:18px}.stickerRow{grid-template-columns:36mm 5mm 1fr;margin-bottom:4px;font-size:13px}.boxNo{font-size:15px}}.pageWrapper{animation:.2s forwards pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pageSkeleton{flex-direction:column;gap:16px;max-width:640px;padding:8px 0;display:flex}.skeletonBar{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%;border-radius:8px;height:14px;animation:1.4s infinite shimmer}.skeletonBar--title{width:35%;height:26px}.skeletonBar--wide{width:100%}.skeletonBar--medium{width:68%}.skeletonBar--narrow{width:45%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notFound{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:5rem 2rem;display:flex}.notFound__code{color:#e2e8f0;letter-spacing:-3px;font-size:80px;font-weight:900;line-height:1}.notFound__msg{color:#64748b;margin:0;font-size:16px;font-weight:600}.notFound__msg code{color:#0f172a;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:14px}@media (width<=900px){.content .section{border-radius:16px;margin-bottom:14px;padding:15px 13px}.content .section h2{font-size:18px}.tableHeader{flex-wrap:wrap;gap:8px}.tableHeader h2{font-size:16px}.tableHeader span{font-size:12px}.tableWrapper table.mtbl-scroll{min-width:720px}.tableWrapper table.mtbl-cards{min-width:0}.tableWrapper table.mtbl-cards thead{display:none}.tableWrapper table.mtbl-cards,.tableWrapper table.mtbl-cards tbody,.tableWrapper table.mtbl-cards tr,.tableWrapper table.mtbl-cards td{width:100%;display:block}.tableWrapper table.mtbl-cards tr{background:#fff;border:1px solid #e7ebf0;border-radius:14px;margin-bottom:12px;padding:4px 14px;box-shadow:0 2px 10px #0f172a0f}.tableWrapper table.mtbl-cards td{color:#0f172a;text-align:right;white-space:normal;overflow-wrap:anywhere;word-break:break-word;border:none;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:11px 0;font-size:14px;font-weight:600;display:flex}.tableWrapper table.mtbl-cards td:last-child{border-bottom:none}.tableWrapper table.mtbl-cards td[data-label]:before{content:attr(data-label);text-align:left;letter-spacing:.4px;text-transform:uppercase;color:#94a3b8;flex:0 0 40%;font-size:11px;font-weight:800}.tableWrapper table.mtbl-cards td.mtbl-full{color:#94a3b8;justify-content:center;font-weight:700}.tableWrapper table.mtbl-cards td .editButton,.tableWrapper table.mtbl-cards td .deleteButton,.tableWrapper table.mtbl-cards td button{border-radius:9px;padding:7px 12px;font-size:13px}.formGroup input,.formGroup select{border-radius:12px;padding:13px 14px;font-size:16px}.formGroup label{font-size:13px}.formCheck{margin-top:8px}.formSectionTitle{margin:18px 0 12px;font-size:18px}.saveButton,.cancelButton,.editButton,.deleteButton,.orderSaveButton{border-radius:12px;padding:13px 18px;font-size:15px}.formActions{flex-wrap:wrap;gap:10px}.formActions .saveButton,.formActions .orderSaveButton{flex:100%}}
