*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Inter,Arial,sans-serif;background:#f4f7fb;color:#172033}body{overflow:auto}.hidden{display:none!important}
.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b1f3a,#123e63 55%,#0e7490)}.loginCard{width:min(460px,92vw);background:#fff;border-radius:20px;padding:34px;box-shadow:0 22px 70px rgba(0,0,0,.25)}.brand{font-size:clamp(16px,4.2vw,22px);font-weight:900;letter-spacing:.06em;margin-bottom:6px;color:#0b2a5a;text-transform:uppercase;white-space:normal;text-align:center}.loginSub{font-size:11px;font-weight:800;letter-spacing:.14em;color:#5b6b7c;text-align:center;margin:0 0 22px;text-transform:uppercase}.field{margin:14px 0}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:5px;color:#536174}.field input{width:100%;padding:10px 12px;border:1px solid #d8dee8;border-radius:9px;font-size:14px;outline:none;font-weight:400}.field select{width:100%;padding:10px 12px;border:1px solid #d8dee8;border-radius:9px;font-size:14px;outline:none;font-weight:800;background:#fff;color:#172033}.detailGrid .field,.panel .field{background:#fff !important;background-color:#fff !important}.moneyIn,.detailGrid input.moneyIn,.panel input.moneyIn{background:#fff !important;background-color:#fff !important;color:#172033 !important;pointer-events:auto !important;-webkit-user-select:text;user-select:text;opacity:1 !important}.detailGrid .field label,.panel .field label{color:#536174 !important;background:transparent !important}.btn{border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:#1769e0;color:#fff;width:100%;margin-top:8px}.primary:active{background:#1254b5;transform:scale(.98)}.primary:disabled{opacity:.75;cursor:wait}.error{color:#c62828;font-size:13px;min-height:20px;margin-top:10px;font-weight:700}.loginNote{font-size:11px;color:#8792a3;text-align:center;margin-top:20px}.loginSub{font-size:10px;font-weight:700;color:#8792a3;margin:-2px 0 6px;letter-spacing:.02em}
.app{display:flex;min-height:100vh}.side{width:245px;background:#101a2b;color:#fff;position:fixed;left:0;top:0;bottom:0;padding:18px 12px;overflow:auto}.logo{font-size:20px;font-weight:900;padding:4px 10px 20px;color:#e8c547;text-transform:uppercase;letter-spacing:.08em}.logo small{display:block;font-size:10px;color:#93a5c2;margin-top:4px;letter-spacing:1px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{background:transparent;border:0;color:#d6dfed;text-align:left;padding:11px 12px;border-radius:9px;font-weight:700;cursor:pointer;font-size:13px}.nav button:hover,.nav button.active{background:#1c2d48;color:#fff}
.nav button:focus{outline:none}
.nav button:focus-visible{outline:2px solid #e8c547;outline-offset:-2px;background:#1c2d48;color:#fff}
.nav button:focus:not(.active):not(:hover){background:transparent;color:#d6dfed}.nav .section{font-size:10px;color:#7e90ad;padding:14px 12px 5px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.main{margin-left:245px;min-height:100vh;width:calc(100% - 245px)}.top{height:64px;background:#fff;border-bottom:1px solid #e3e8f0;display:flex;align-items:center;justify-content:flex-start;padding:0 24px;position:sticky;top:0;z-index:5}.topTitle{font-size:17px;font-weight:900}.user{cursor:pointer}.user:hover{opacity:.88}.user{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800}.avatar{width:32px;height:32px;border-radius:50%;background:#1769e0;color:#fff;display:grid;place-items:center}.content{padding:24px}.welcome{font-size:25px;font-weight:900}.muted{color:#7a8799;font-size:13px;margin-top:4px}.cards{display:grid;grid-template-columns:repeat(8,minmax(108px,1fr));gap:12px;margin:22px 0}.card{background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:16px;box-shadow:0 3px 12px rgba(15,35,65,.04)}.card[data-kpi]{cursor:pointer}.card[data-kpi]:hover{filter:brightness(.97);box-shadow:0 6px 16px rgba(15,35,65,.12)}.cards .card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:132px;padding:18px 12px}.label{font-size:11px;font-weight:800;color:#718096;text-transform:uppercase}.cards .label{font-size:13px;font-weight:900;letter-spacing:.3px;line-height:1.25;width:100%;text-align:center}.value{font-size:28px;font-weight:900;margin-top:8px}.cards .value{font-size:40px;font-weight:900;margin-top:10px;line-height:1;width:100%;text-align:center;letter-spacing:-.4px}.card.k-total{background:#ecfdf5;border-color:#86efac}.card.k-total .value,.card.k-total .label{color:#166534}.card.k-pending{background:#fffbeb;border-color:#fcd34d}.card.k-pending .value,.card.k-pending .label{color:#854d0e}.card.k-closed{background:#f1f5f9;border-color:#94a3b8}.card.k-closed .value,.card.k-closed .label{color:#334155}.card.k-delivered{background:#dcfce7;border-color:#4ade80}.card.k-delivered .value,.card.k-delivered .label{color:#166534}.card.k-claim{background:#f5f3ff;border-color:#c4b5fd}.card.k-claim .value,.card.k-claim .label{color:#5b21b6}.card.k-rto{background:#dbeafe;border-color:#60a5fa}.card.k-rto .value,.card.k-rto .label{color:#1e40af}.card.k-cr{background:#fce7f3;border-color:#f9a8d4}.card.k-cr .value,.card.k-cr .label{color:#9d174d}.card.k-cancel{background:#ead1dc;border-color:#d5a6bd}.card.k-cancel .value,.card.k-cancel .label{color:#990000}.grid2{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.panel{background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:18px}.panel h3{margin:0 0 14px;font-size:15px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick button{padding:16px;border-radius:12px;text-align:left;cursor:pointer;font-weight:800;font-size:13px;border:1px solid transparent}.quick button:nth-child(1){background:#ecfdf5;border-color:#86efac;color:#14532d}.quick button:nth-child(2){background:#eff6ff;border-color:#93c5fd;color:#1e3a8a}.quick button:nth-child(3){background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.quick button:nth-child(4){background:#f5f3ff;border-color:#c4b5fd;color:#5b21b6}.quick button:nth-child(5){background:#fff7ed;border-color:#fdba74;color:#9a3412}.quick button:nth-child(6){background:#fefce8;border-color:#fde047;color:#854d0e}.quick button:nth-child(7){background:#ecfeff;border-color:#67e8f9;color:#155e75}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.toolbar select,.toolbar input[type=date]{padding:10px 12px;border:1px solid #d8dee8;border-radius:9px;background:#fff;font-size:13px;font-weight:700}.search{flex:1;min-width:160px;padding:11px 13px;border:1px solid #d8dee8;border-radius:9px}.tableWrap{background:#fff;border:1px solid #e2e7ef;border-radius:12px;overflow:auto}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th{background:#e8f1fb;text-align:left;padding:12px 11px;border-bottom:1px solid #c5d7ee;color:#0f2744;font-size:12px;font-weight:900;letter-spacing:.4px;text-transform:uppercase}.tbl select{max-width:190px;padding:6px 8px;border:1px solid #d8dee8;border-radius:8px;font-size:12px;background:#fff;font-weight:800;-webkit-appearance:none;appearance:none}.chipDrop{position:relative;display:inline-block;min-width:220px;max-width:none;vertical-align:middle}.chipDrop[data-col="action"]{min-width:260px}.chipBtn{display:block;width:100%;max-width:none;min-width:220px;border:0;border-radius:16px;padding:4px 12px;font-weight:800;font-size:11px;cursor:pointer;text-align:left;line-height:1.15;white-space:nowrap!important;overflow:visible}.chipMenu{position:absolute;left:0;top:110%;z-index:40;background:#fff;border:1px solid #d8dee8;border-radius:10px;padding:4px;box-shadow:0 10px 24px rgba(0,0,0,.16);max-height:min(280px,55vh);overflow:auto;width:max-content;min-width:240px;white-space:nowrap!important}.chipMenu button{display:block;width:auto;min-width:100%;border:0;border-radius:8px;padding:6px 12px;margin:2px 0;font-weight:800;font-size:11px;cursor:pointer;text-align:left;white-space:nowrap!important;word-break:keep-all;overflow-wrap:normal}.noteMark{position:relative}.noteMark.hasNote:after{content:"";position:absolute;top:2px;right:2px;border-left:7px solid transparent;border-top:7px solid #f59e0b;pointer-events:none}.tbl input{width:100%;min-width:72px;padding:6px 8px;border:1px solid #d8dee8;border-radius:8px;font-size:12px}.field select{width:100%;padding:9px 10px;border:1px solid #d8dee8;border-radius:9px;font-size:13px;background:#fff;font-weight:700;white-space:nowrap}.liveHi{display:inline-block;padding:8px 14px;border-radius:20px;font-weight:900;font-size:13px;letter-spacing:.2px;box-shadow:0 0 0 3px rgba(15,39,68,.12)}.detail.liveBox{border:2px solid #94a3b8;background:#fff}.tbl td .liveHi{font-size:12px;padding:7px 12px}.uploadBox{max-width:760px;border:2px dashed #b9c5d6;border-radius:16px;background:#fff;padding:35px;text-align:center}.uploadBox input{margin:20px 0}.progress{height:12px;background:#e8edf4;border-radius:20px;overflow:hidden}.fill{height:100%;width:0;background:#1769e0;transition:.3s}.upSuccess{margin-top:12px;padding:14px 16px;background:#ecfdf5;border:1px solid #86efac;border-radius:12px;cursor:pointer;font-weight:800;color:#166534;text-align:center}.upSuccess:hover{background:#d1fae5}.upError{margin-top:12px;padding:14px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;font-weight:800;color:#991b1b;text-align:center;cursor:default}.closeOk{margin-top:18px;padding:28px 20px;background:#ecfdf5;border:1px solid #86efac;border-radius:14px;text-align:center}.detailGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.detailGrid .field{margin:0}.detail{background:#f7f9fc;padding:10px 12px;border-radius:8px}.detail b{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#3d4d63;margin-bottom:4px}.detail .detailVal{font-size:13px;font-weight:400;color:#122033;line-height:1.35}.detail.hl .detailVal{font-size:13px;font-weight:400}.iframeWrap{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e1e7ef;min-height:calc(100vh - 125px)}iframe{width:100%;height:calc(100vh - 125px);border:0}.iframeWrap.dispatchCam{min-height:0;width:10in;height:10in;max-width:100%;margin:0}.iframeWrap.dispatchCam iframe{width:10in;height:10in;max-width:100%;border:0}.toast{position:fixed;right:22px;bottom:22px;background:#101a2b;color:#fff;padding:12px 16px;border-radius:9px;font-size:12px;display:none;z-index:99}.anBar{position:sticky;top:64px;z-index:40000;background:#0f2744;color:#fff;border-radius:12px;padding:12px 14px;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;box-shadow:0 8px 24px rgba(0,0,0,.18)}.anBar p{margin:0;font-size:13px;line-height:1.4;max-width:640px}.anBtns{display:flex;flex-wrap:wrap;gap:8px}.anBar button,.anDone button{border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer;font-size:13px}.anBar .bDash,.anDone .bDash{background:#22c55e;color:#052e16}.anBar .bOrd,.anDone .bOrd{background:#1769e0;color:#fff}.anBar .bStay,.anDone .bStay{background:#e2e8f0;color:#0f172a}.anDone{position:fixed;inset:0;background:rgba(15,27,44,.55);z-index:50000;display:flex;align-items:center;justify-content:center;padding:16px}.anDone .card{background:#fff;border-radius:16px;padding:22px;max-width:440px;width:100%;color:#172033}.anDone h3{margin:0 0 8px}.anDone p{margin:0 0 16px;color:#536174;line-height:1.45}#toolFrame{width:100%;height:calc(100vh - 175px);border:0;background:#fff;border-radius:12px}#toolFrame.reportFull{height:calc(100vh - 88px);border-radius:12px}
button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .12s ease,background .12s ease,box-shadow .12s ease,color .12s ease}button:hover{filter:brightness(1.04)}button:active,.btn:active,.nav button:active{transform:translateY(1px) scale(.96);filter:brightness(.92)}button.isPress{transform:translateY(1px) scale(.96);box-shadow:inset 0 2px 8px rgba(0,0,0,.2)}button.busy{opacity:.92;cursor:wait}button.ok{background:#15803d !important;color:#fff !important;border-color:#15803d !important}.btnPulse{animation:ecomPulse .5s ease}.toast{display:none;align-items:center;gap:8px;box-shadow:0 10px 30px rgba(0,0,0,.28)}.toast.on{display:flex !important}@keyframes ecomPulse{0%{box-shadow:0 0 0 0 rgba(23,105,224,.55)}100%{box-shadow:0 0 0 12px rgba(23,105,224,0)}}.masterSplit{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.2fr);gap:16px;margin-top:16px;align-items:start}.masterCard{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(15,35,65,.05)}.masterCard h3{margin:0;padding:14px 16px;font-size:15px;background:#0f2744;color:#fff}.masterCard h3 small{display:block;font-size:11px;font-weight:600;color:#93c5fd;margin-top:3px}.masterAdd{background:#f0f7ff;border-bottom:1px solid #dbe7f5;padding:14px 16px}.masterAdd .addRow{display:grid;gap:8px;align-items:end}.masterAdd.pin .addRow{grid-template-columns:110px 1fr auto}.masterAdd.sku .addRow{grid-template-columns:1.2fr 90px 1fr auto}.masterAdd label{display:block;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#3d4d63;margin-bottom:4px}.masterAdd input{width:100%;padding:10px 11px;border:1px solid #c5d4e8;border-radius:8px;font-size:13px;background:#fff}.masterAdd .btnAdd{background:#1769e0;color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap;min-height:40px}.masterBody{padding:0;max-height:min(62vh,560px);overflow:auto}.masterGate{max-width:420px;margin:22px auto 0;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px 20px;box-shadow:0 4px 16px rgba(15,35,65,.05)}.masterGate h3{margin:0 0 6px;font-size:18px}.masterGate .btn{background:#1769e0;color:#fff;width:100%;margin-top:8px}.reportGate .btn,#btnOpenReport{background:#6b1d2a;color:#fff;width:100%;margin-top:8px}.masterRto{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;margin-top:16px}.masterRto .field{margin:0;width:160px}.tbl .btnSave{background:#e8eef7;color:#12315a;border:0;border-radius:8px;padding:7px 12px;font-weight:800;cursor:pointer;min-width:72px}.tbl .btnSave:hover{background:#1769e0;color:#fff}.tbl td,.tbl th{padding:9px 10px;vertical-align:middle}.tbl tbody tr:hover{background:#f8fafc}@media(max-width:1100px){.masterSplit{grid-template-columns:1fr}.masterAdd.pin .addRow,.masterAdd.sku .addRow{grid-template-columns:1fr}}@media(max-width:900px){.side{width:205px}.main{margin-left:205px;width:calc(100% - 205px)}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.quick{grid-template-columns:1fr 1fr}.detailGrid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.side{position:relative;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.top{position:relative}.cards{grid-template-columns:1fr 1fr}.content{padding:14px}}
:root{--side:245px;--pad:clamp(8px,1.2vw,24px);--top-h:clamp(44px,7vh,64px)}
html{font-size:clamp(12px,.55vw + 10px,16px)}
.side{width:var(--side);padding:clamp(8px,.8vw,18px) 8px}
.logo{font-size:clamp(12px,1.05vw,17px);padding:2px 8px 10px;line-height:1.2;color:#e8c547;text-transform:uppercase;letter-spacing:.08em}
.nav{gap:2px}
.nav button{padding:clamp(6px,.65vh,11px) 10px;font-size:clamp(11px,.75vw,13px);white-space:nowrap}
.nav .section{padding:8px 10px 3px}
.main{margin-left:var(--side);width:calc(100% - var(--side))}
.top{height:var(--top-h);padding:0 var(--pad);gap:8px;min-height:44px;display:flex!important;align-items:center;justify-content:flex-start!important;position:relative}
.topTitle{font-size:clamp(13px,1.05vw,17px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;position:relative;z-index:2}
.topTitle{pointer-events:none}
.hostReportMeta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;font-weight:700;color:#0f2744;z-index:40;pointer-events:auto}
.hostReportMeta.hidden{display:none!important}
.hostReportMeta .hostMetaSep{opacity:.45;padding:0 2px;font-weight:500}
.hostReportMeta #hostLastUpdatedVal{font-weight:900}
.hostReportMeta #hostReportRefresh{background:#1769e0;color:#fff;border:0;border-radius:8px;height:32px;padding:0 14px;font-weight:800;cursor:pointer;font-size:12px;font-family:inherit;position:relative;z-index:41;pointer-events:auto}
.hostReportMeta #hostReportRefresh:disabled{opacity:.75;cursor:wait}
.user,.topEnd{white-space:nowrap;margin-left:auto!important;margin-right:0!important;flex:0 0 auto;position:relative!important;left:auto!important;right:0!important;transform:none!important;z-index:3}
.content{padding:var(--pad)}
.welcome{font-size:clamp(16px,1.55vw,25px)}
.muted{font-size:clamp(11px,.8vw,13px)}
.cards{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:clamp(6px,.8vw,12px);margin:clamp(8px,1.2vw,22px) 0}
.cards .card{min-height:clamp(70px,11vh,118px);padding:clamp(8px,1vw,16px) 6px;border-radius:10px}
.cards .label{font-size:clamp(9px,.7vw,12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.cards .value{font-size:clamp(20px,2.5vw,36px);margin-top:6px}
.grid2{gap:clamp(8px,1vw,16px)}
.panel{padding:clamp(10px,1vw,18px);border-radius:10px}
.quick button{padding:clamp(8px,1vw,14px);font-size:clamp(11px,.8vw,13px);white-space:nowrap}
.toolbar{gap:6px;margin-bottom:8px}
.toolbar select,.toolbar input[type=date],.search,.toolbar .btn{padding:6px 8px;font-size:12px;height:32px;white-space:nowrap}
.toolbar select{max-width:100%}
.toolbar .filterDrop{position:relative;display:inline-block;vertical-align:middle}
.toolbar .filterDrop>select{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.toolbar .filterDrop .chipBtn{min-width:168px;width:auto;height:32px;max-width:260px;border:1px solid #d8dee8}
.toolbar .filterDrop .chipMenu{z-index:80}
.dispatchHi{display:inline-block;padding:3px 9px;border-radius:12px;font-weight:800;font-size:11px;white-space:nowrap}
.tableWrap{overflow:auto;-webkit-overflow-scrolling:touch}
.tbl{font-size:11px;width:max-content;min-width:100%}
.tbl th,.tbl td{padding:5px 7px;white-space:nowrap;vertical-align:middle}
.tbl th{font-size:10px;padding:6px 7px;letter-spacing:.2px}
.tbl select{max-width:none;white-space:nowrap}
.liveHi{white-space:nowrap;padding:4px 10px;font-size:11px;border-radius:12px;font-weight:800;display:inline-block;box-shadow:0 0 0 2px rgba(15,39,68,.1)}
.liveHiText,.chipBtn.chipText,.dropPrevChip.liveHiText{background:transparent!important;box-shadow:none;padding-left:2px;padding-right:2px}
.tbl td .liveHi{white-space:nowrap;padding:3px 9px;font-size:11px}
.detailGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.iframeWrap,iframe{min-height:calc(100vh - var(--top-h) - 12px);height:calc(100vh - var(--top-h) - 12px)}
html,body{max-width:100%;overflow-x:hidden}
.tableWrap,.iframeWrap,.panel,.toolbar,.cards,.grid2{max-width:100%}
.anDone,.ecomTicketPop,.erpNoticeBack{max-width:100vw;max-height:100vh;overflow:auto}
.content.toolPage{display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;background:#e8edf3;min-height:0;overflow:hidden}
.content.toolPage .iframeWrap.fullTool{flex:1 1 auto;width:100%;min-height:0;height:calc(100vh - var(--top-h,48px) - 8px)}
.content.toolPage .iframeWrap.fullTool iframe{width:100%;height:100%;min-height:calc(100vh - var(--top-h,48px) - 8px);border:0}
.iframeWrap.dispatchCam,
.iframeWrap.dispatchCam iframe{
  width:10in!important;
  height:10in!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(10in,calc(100% - 24px))!important;
  max-height:min(10in,calc(100vh - var(--top-h,64px) - 24px))!important;
  border:1px solid #cfd5dc!important;
  border-radius:12px!important;
  display:block!important;
  background:#f4f6f8!important;
  flex:none!important;
}
.app.toolApp,.main.toolApp{height:100vh;max-height:100vh;overflow:hidden}
.main.toolApp{display:flex;flex-direction:column}
.main.toolApp .top{flex-shrink:0}
.content.toolPage{padding:0;flex:1;min-height:0;height:auto;overflow:hidden;box-sizing:border-box}
.content.toolPage #toolFrame,.content.toolPage #toolFrame.reportFull{height:100%!important;min-height:0!important;width:100%;display:block;border:0;border-radius:0;background:#fff}
.ecomToolStage{flex:0 0 0;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none;position:absolute;left:0;bottom:0;padding:0;box-sizing:border-box}
.main.toolApp .ecomToolStage.on{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:auto;opacity:1;pointer-events:auto;position:relative;overflow:hidden}
.main.toolApp .content{display:none}
.main.toolApp.toolInContent .content{display:none}
.main.toolApp.toolInContent .ecomToolStage.on{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:auto;opacity:1;pointer-events:auto;position:relative;overflow:hidden}
.ecomToolStage iframe,.ecomToolStage #toolFrame,.ecomToolStage #toolFrame.reportFull{height:100%!important;min-height:0!important;width:100%;flex:1;display:block;border:0;border-radius:0;background:#fff}
.loginCard{width:min(400px,92vw);padding:clamp(18px,3vw,34px)}
.anBar{top:var(--top-h);padding:8px 10px}
@media(max-width:1680px){:root{--side:210px}}
@media(max-width:1440px){:root{--side:188px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1280px){:root{--side:168px}.logo small{letter-spacing:0}}
@media(max-width:1100px){:root{--side:156px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.quick{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){:root{--side:148px}.side{width:var(--side)}.main{margin-left:var(--side);width:calc(100% - var(--side))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quick{grid-template-columns:1fr 1fr}.detailGrid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){:root{--side:0px}.side{position:relative;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.top{position:relative}.cards{grid-template-columns:1fr 1fr}.content{padding:10px}}
@media(max-height:800px){.cards .card{min-height:68px}.welcome{margin:0}.logo{padding:0 6px 6px}.nav button{padding:6px 8px}}
@media(max-height:700px){.cards{margin:6px 0}.panel h3{margin:0 0 8px}.toolbar{margin-bottom:6px}}
.colLive,.colAction{min-width:230px;white-space:nowrap!important}
.colAction{min-width:270px}
.chipMenu button,.chipBtn,.liveHi,.tbl td.colLive,.tbl td.colAction,.tbl th.colLive,.tbl th.colAction{white-space:nowrap!important}

.dashHome .topTitle{display:none!important}.dashHero{position:relative;display:flex;align-items:center;gap:14px;margin:0 0 14px;min-width:0;min-height:44px}.dashHero .welcome{flex:0 0 auto;margin:0;white-space:nowrap;z-index:1}.dashStoreWrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;z-index:2}.dashStoreWrap label{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#536174}.dashStoreWrap select{min-width:220px;height:40px;border:1px solid #d8dee8;border-radius:10px;padding:0 12px;font-weight:800;font-size:13px;background:#fff;color:#0f2744}.dashMarquee{flex:1 1 auto;min-width:120px;height:56px;overflow:hidden;border-radius:10px;background:#10233d}.panel .dashMarquee{display:block;width:100%;flex:none;height:70px;margin-top:12px}.dashTrack{display:flex;height:100%;width:max-content;animation:dashScroll 22s linear infinite}.dashSlide{display:block;width:200px;height:100%;flex:0 0 auto;background-size:cover;background-position:center}.dashSlide.s1,.dashQaShot.s1{background-image:none}.dashSlide.s2,.dashQaShot.s2{background-image:none}.dashSlide.s3,.dashQaShot.s3{background-image:none}@keyframes dashScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:650px){.dashHero{flex-direction:column;align-items:stretch}.dashHero .welcome{white-space:normal}.dashStoreWrap{position:static;transform:none;margin-top:8px}.dashStoreWrap select{width:100%;min-width:0}.dashMarquee{height:48px}.panel .dashMarquee{height:56px}}body.dashHome{--top-h:118px}body.dashHome .top{height:118px!important;min-height:118px;background:#f4f7fb;border-bottom:0;padding:10px 14px 10px 16px}body.dashHome .topTitle{display:none!important;flex:0}.hostDashBanner{display:none;flex:1 1 auto;min-width:0;height:98px;border-radius:14px;overflow:hidden;background:#10233d;margin-right:12px}body.dashHome .hostDashBanner:not(.hidden){display:block}.dashHeaderShot{width:100%;height:100%;position:relative;overflow:hidden;background:#10233d}.dashHeaderShot.pan{animation:dashPan 32s ease-in-out infinite alternate}@keyframes dashPan{from{background-position:0% 50%}to{background-position:100% 50%}}body.dashHome .hostDashBanner .dashMarquee,body.dashHome .hostDashBanner .dashMarqueeBig{height:100%;border-radius:0}body.dashHome .hostDashBanner .dashSlide{width:min(460px,48vw)}.dashHero{position:relative;display:flex;align-items:center;gap:14px;margin:0 0 10px;min-width:0;min-height:44px}.dashHero .welcome{flex:0 0 auto;margin:0;z-index:1}.dashStoreWrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;z-index:2}.dashStoreWrap label{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#536174}.dashStoreWrap select{min-width:220px;height:40px;border:1px solid #d8dee8;border-radius:10px;padding:0 12px;font-weight:800;font-size:13px;background:#fff;color:#0f2744}.qaPanel{display:flex;flex-direction:column;min-height:100%}.dashQaShot{flex:1 1 auto;min-height:240px;height:clamp(240px,32vh,380px);margin-top:12px;border-radius:12px;background-color:#10233d;background-size:cover;background-position:center;background-repeat:no-repeat}.dashQaShot:not(.hasImg){background-image:inherit}.dashBannerPreview{position:relative;height:150px;border-radius:10px;background:#10233d center/cover no-repeat;margin:12px 16px 8px}.dashPencil{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#0f2744;font-size:18px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18);font-weight:800}.dashFocusRow{display:flex;align-items:center;gap:8px;padding:0 16px 10px;font-size:11px;font-weight:800;text-transform:uppercase;color:#536174}.dashFocusRow input[type=range]{flex:1}.dashBannerEdit .btnAdd{margin:0 16px 14px}.dashImgSplit{margin-top:16px}@media(max-width:650px){body.dashHome{--top-h:96px}body.dashHome .top{height:96px!important;min-height:88px}.hostDashBanner{height:76px}.dashQaShot{min-height:180px;height:200px}}body.sheetHome{--top-h:0px}body.sheetHome .top{display:none!important}body.sheetHome .content{padding-top:clamp(10px,1.2vw,18px)}body.reportHome{--top-h:48px}body.reportHome .top{height:48px!important;min-height:48px;background:#fff}body.reportHome .topTitle,body.reportHome #userBox,body.reportHome .user{display:none!important}body.reportHome .hostReportMeta{position:static!important;transform:none!important;left:auto!important;margin:0 auto}.dashBannerEmpty{display:flex;align-items:center;justify-content:center;height:100%;min-height:86px;padding:10px 14px;color:#e8c547;font-size:12px;font-weight:700;text-align:center;line-height:1.35}.dashSlideNav{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px}.dashNavBtn{height:28px;border:0;border-radius:8px;padding:0 12px;font-weight:800;font-size:12px;cursor:pointer;background:#0f2744;color:#fff}.dashNavCount{font-size:12px;font-weight:800;color:#0f2744;min-width:3.5em;text-align:center}body.dashHome .hostDashBanner{display:flex;flex-direction:column;height:auto;min-height:98px}body.dashHome .dashHeaderShot{height:86px;border-radius:12px;background:#10233d center/cover no-repeat}.dashQaBlock{display:flex;flex-direction:column;flex:1}.dashQaShot{background-image:none;position:relative;overflow:hidden}.ecomCarViewport{position:relative;width:100%;height:100%;overflow:hidden}.ecomCarTrack{position:relative;width:100%;height:100%;min-height:inherit}.ecomCarFadeMode .ecomCarImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .55s ease}.ecomCarFadeMode .ecomCarImg.on{opacity:1;z-index:1}.ecomCarSlideMode{display:flex;height:100%;width:100%;transition:transform .85s ease-in-out;will-change:transform}.ecomCarSlideMode .ecomCarSlide{flex:0 0 100%;width:100%;height:100%;position:relative;overflow:hidden}.ecomCarSlideMode .ecomCarImg{position:relative;inset:auto;width:100%;height:100%;object-fit:cover;opacity:1;transition:none}.dashBannerPreview{position:relative;overflow:hidden}.dashBannerPreview .ecomCarViewport{position:absolute;inset:0;border-radius:10px}.dashPencil{z-index:6;position:absolute}.dashHeaderShot{position:relative;overflow:hidden;width:100%;height:98px;border-radius:12px;background:#10233d}body.dashHome .hostDashBanner{display:flex;flex-direction:column;height:98px;min-height:98px;max-height:98px}body.dashHome .dashHeaderShot{height:98px}.dashQaShot.hasImg .dashBannerEmpty{display:none}.ecomCarDots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:6px;z-index:2}.ecomCarDot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45)}.ecomCarDot.on{background:#e8c547}.dashThumbWrap{position:relative;display:inline-block;width:88px;height:72px;flex:0 0 auto}.dashThumbDel,.dashPrevDel{position:absolute;top:4px;right:4px;z-index:8;width:22px;height:22px;border:0;border-radius:50%;background:#b91c1c;color:#fff;font-size:16px;line-height:20px;padding:0;cursor:pointer;font-weight:800;box-shadow:0 1px 4px rgba(0,0,0,.35)}.dashPrevDel{top:8px;left:8px;right:auto;width:26px;height:26px;line-height:24px;font-size:18px}.dashPrevDel.hidden{display:none}.dashAddDisabled{opacity:.45;cursor:not-allowed}.dashSizeNote{margin:10px 16px 0;font-size:12px;font-weight:700;color:#334155}.dashThumbRow{display:flex;flex-wrap:wrap;gap:10px;padding:8px 16px}.dashThumb{display:block;width:88px;height:72px;border-radius:8px;background:#10233d center/cover no-repeat;border:1px solid #e2e8f0}
body.dashHome .content{display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - var(--top-h));max-height:calc(100vh - var(--top-h));padding-bottom:12px}
body.dashHome .cards,body.dashHome .dashHero{flex:0 0 auto}
body.dashHome .grid2{flex:1 1 auto;min-height:0;max-height:calc(100vh - var(--top-h) - 210px);align-items:stretch}
body.dashHome .grid2>.panel{min-height:0;max-height:100%;overflow:hidden;display:flex;flex-direction:column}
#recentTitle{display:flex;align-items:center;gap:10px;flex:0 0 auto;flex-wrap:wrap}
#recentDate,.recentDate{font-size:13px;font-weight:800;color:#1769e0;white-space:nowrap;height:32px;border:1px solid #d8dee8;border-radius:999px;padding:0 12px;background:#fff;max-width:148px}
#recentTitle .recentDate{margin-left:2px}
.recentCountBox{display:inline-flex;align-items:baseline;gap:5px;height:32px;padding:0 11px 0 10px;border-radius:999px;background:linear-gradient(135deg,#e8f3ff 0%,#dceeff 55%,#cfe4fb 100%);border:1px solid #b7d4f3;box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(23,105,224,.12);color:#0b3d73;line-height:30px;white-space:nowrap}
.recentCountBox[hidden]{display:none!important}
.recentCountBox b{font-size:15px;font-weight:900;letter-spacing:.02em;color:#1769e0}
.recentCountBox i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4a6d93}
.ecomHoldHit{cursor:pointer}
.ecomHoldHit .liveHi{box-shadow:0 0 0 2px #1769e0}
.ecomLiveStack{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;max-width:none;overflow:visible}
.tbl td.colLive,.tbl th.colLive{min-width:340px;overflow:visible!important;white-space:nowrap!important}
.ecomLiveStack .chipDrop,.ecomLiveStack .chipBtn{flex:0 0 auto}.ecomLiveMini{font-size:9px;padding:2px 6px;border-radius:999px;opacity:.75;transform:scale(.86);font-weight:800;line-height:1.15;white-space:nowrap;display:inline-block}.ecomHoldTicketBtn.ecomLiveMini{transform:scale(.86);opacity:.75}.ecomHoldTicketBtn.ecomLiveNow{box-shadow:0 0 0 2px #fff,0 0 0 4px #85200c}.ecomLiveStack .chipBtn{font-weight:900}.ecomHoldTicketBtn{margin-left:0;padding:4px 8px;font-size:11px;font-weight:800;border-radius:999px;border:0;background:#85200c;color:#fff;cursor:pointer;vertical-align:middle}.ecomHoldActionBtn{margin-left:0;padding:4px 10px;font-size:11px;font-weight:800;border-radius:999px;border:0;background:#0f2744;color:#fff;cursor:pointer;vertical-align:middle}.ecomTicketPop{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:rgba(15,39,68,.45)}
.ecomTicketPop.hidden{display:none}
.ecomTicketCard{width:min(420px,92vw);background:#fff;border-radius:14px;padding:18px 18px 14px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.ecomTicketCard h4{margin:0 0 8px;font-size:16px;font-weight:900;color:#0f2744}
.ecomTicketCard textarea{width:100%;min-height:110px;border:1px solid #d8dee8;border-radius:10px;padding:10px;font:13px/1.45 inherit;resize:vertical}
.ecomTicketBtns{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.ecomTicketBtns button{height:34px;border:0;border-radius:8px;padding:0 14px;font-weight:800;cursor:pointer}
.ecomTicketCopy{background:#1769e0;color:#fff}
.ecomTicketClose{background:#eef3fa;color:#0f2744}
#ecomTicketUpdate{background:#0f2744;color:#fff}
.ecomLiveStack .chipBtn{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.ecomDetail .field.enterOn label{color:#0f2744}
.ecomDetail .field.enterOn select,.ecomDetail .field.enterOn input{outline:2px solid #2563eb;outline-offset:2px;border-color:#93c5fd!important}
.ecomDetail .btn.enterOn{outline:2px solid #2563eb;outline-offset:2px}
.ecomDetail h2{margin:0 0 14px;font-size:20px}
.ecomDRow{display:grid;grid-template-columns:180px 1fr;gap:10px;align-items:center;margin:8px 0}
.ecomDRow label{font-size:11px;font-weight:900;letter-spacing:.06em;color:#536174}
.ecomDRow .val,.ecomDRow select,.ecomDRow input{min-height:36px;border:1px solid #d8dee8;border-radius:10px;padding:6px 10px;font-weight:700}
.ecomDActions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.ecomCloseOk{text-align:center;padding:48px 16px}
.ecomCloseOk h2{color:#15803d}
#recentBar.recentBar{flex:0 0 auto;margin:6px 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#dashDelBtn{display:none;margin-left:auto;border:0;background:#b91c1c;color:#fff;font-weight:800;border-radius:10px;height:34px;padding:0 14px;cursor:pointer}
#dashDelBtn.on{display:inline-flex;align-items:center}
.tbl th.colPick,.tbl td.colPick{width:28px;text-align:center;padding-left:8px;padding-right:4px}
.tbl td.colPick input,.tbl th.colPick input{width:15px;height:15px;cursor:pointer;accent-color:#0f2744}
#recent.recentScroll{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.ecomCarViewport{overflow:hidden}.ecomCarImg{width:100%;height:100%;display:block}.dashFocusRow{flex-wrap:wrap;gap:8px;align-items:center}.dashZoomBtns{display:flex;gap:6px;flex-wrap:wrap;width:100%;align-items:center}.dashFitBtn{height:28px;border:0;border-radius:8px;padding:0 10px;font-weight:800;font-size:11px;cursor:pointer;background:#0f2744;color:#fff}.dashZoomPct{min-width:3.2em;font-weight:800;font-size:12px;color:#0f2744}.dashBannerCard[data-slot="header"] .dashBannerPreview{height:auto!important;aspect-ratio:10/1;min-height:64px;max-height:132px}.dashBannerCard[data-slot="quick"] .dashBannerPreview{height:auto!important;aspect-ratio:16/9;min-height:160px;max-height:280px}body.dashHome .dashHeaderShot,body.dashHome .hostDashBanner .dashHeaderShot{height:auto!important;aspect-ratio:10/1;max-height:120px;width:100%}body.dashHome .hostDashBanner{height:auto!important;min-height:0;max-height:none}body.dashHome .dashQaShot{aspect-ratio:16/9;height:auto!important;min-height:160px;max-height:360px}body.dashHome .qaPanel .dashQaShot{flex:0 0 auto;min-height:160px;height:auto;max-height:360px}` + '<' + '/style>' + packed.head + '<' + '/head><body>' + `
<div id="loginPage" class="loginPage"><div class="loginCard"><img class="loginMark" src="/branding/logo/mirror-erp-symbol.png" alt="MIRROR ERP"><div class="brand">MIRROR ERP</div><div class="loginSub">MANAGE | AUTOMATE | GROW</div><div class="field"><label>EMPLOYEE PIN</label><input id="empName" autocomplete="username" placeholder="Employee name"></div><div class="field"><label>ACCESS PASSWORD</label><input id="empPin" type="password" inputmode="numeric" autocomplete="current-password" placeholder="Access password"></div><button type="button" class="btn primary" id="loginBtn" onclick="return ECOM_ERP_clickLogin()">LOGIN TO SOFTWARE</button><div id="loginErr" class="error"></div>
<div class="loginNote">ONE ERP | MULTIPLE MARKETPLACES</div>
<div class="muted" id="pasteBuildHint" style="margin-top:10px;font-size:11px">Paste 2026-09-07-v186-drf-v4</div>
</div></div>
<script>
(function(){
  var pin=document.getElementById('empPin');
  var name=document.getElementById('empName');
  function enterLogin(ev){
    ev=ev||window.event;
    var k=ev.key||ev.keyCode||ev.which;
    if(k==='Enter'||k===13||k==='13'){ if(ev.preventDefault) ev.preventDefault(); ECOM_ERP_clickLogin(); }
  }
  if(pin) pin.onkeydown=enterLogin;
  if(name) name.onkeydown=enterLogin;
})();
` + '<' + '/script>' + `

<div id="app" class="app hidden"><aside class="side"><div class="logo"><img src="/branding/logo/mirror-erp-symbol.png" alt=""><div class="logoCopy"><span class="logoName">MIRROR ERP</span><small>MANAGE | AUTOMATE | GROW</small></div></div><div class="nav"><div class="section">Workspace</div><button data-page="dashboard" onclick="go('dashboard')">▣ Dashboard</button><button data-page="orders" onclick="go('orders')">▤ Orders</button><button data-page="closed" onclick="go('closed')">✓ Closed Orders</button><div class="section">Operations</div><button data-page="upload" onclick="go('upload')">⇧ Order Processing</button><button data-page="analysis" onclick="go('analysis')">⌕ New Order Analysis</button><button data-page="dispatch" onclick="go('dispatch')">◉ Make Dispatch</button><div class="section">Master</div><button data-page="master" onclick="go('master')">◎ Master File</button><div class="section">Reports</div><button data-page="report" onclick="go('report')">▥ Delivery Report</button><button onclick="logout()">↪ Logout</button></div></aside><main class="main"><header class="top"><div class="topTitle" id="pageTitle">Dashboard</div><div id="hostDashBanner" class="hostDashBanner hidden"></div><div id="hostReportMeta" class="hostReportMeta hidden"><span id="ecomLastUpdatedLbl">Last update: <b id="hostLastUpdatedVal">—</b></span><span class="hostMetaSep">|</span><button type="button" id="hostReportRefresh" onclick="if(window.ecomClickReportRefresh)ecomClickReportRefresh();return false;">Refresh Report</button></div><div class="user topEnd" id="userBox" title="Logout" role="button" onclick="logout()"><span id="userName">Employee</span><span class="avatar" id="avatar">E</span></div></header><section class="content" id="content">` + packed.note + packed.body + `</section><div id="ecomToolStage" class="ecomToolStage"></div></main></div><div id="toast" class="toast"></div>
<script>
window.__ECOM_BOOT={page:${safePage},web:${webUrl},dispatch:${dispatchUrl}};
` + '<' + '/script>' + `
<script>
` + ECOM_ERP_pageNavJs_() + `
` + '<' + '/script>' + `
<script>
` + ECOM_ERP_pageBootJs_() + `
` + '<' + '/script>' + '<' + '/body>' + '<' + '/html>';
}
.dispatchHi{display:inline-block;padding:4px 12px;border-radius:16px;font-weight:800;font-size:11px;line-height:1.2;white-space:nowrap}
.cacheBar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.cacheBar .muted{margin:0}
.iframeWrap.dispatchCam{margin:12px auto!important;display:block!important;flex:none!important;width:10in!important;height:10in!important}
.iframeWrap.fullTool,.iframeWrap.fullTool iframe{width:100%;max-width:none;margin:0;border:0;min-height:calc(100vh - var(--top-h,64px));height:calc(100vh - var(--top-h,64px))}
.content.toolPage .iframeWrap.fullTool{min-height:calc(100vh - var(--top-h,64px));overflow:auto}
body.analysisOpen{--top-h:48px}
body.analysisOpen .top{height:48px!important;min-height:48px}
body.analysisOpen .hostDashBanner,
body.reportHome .hostDashBanner,
body.sheetPage .hostDashBanner,
body:not(.dashHome) .hostDashBanner{display:none!important}
.dashQaShot{display:flex;align-items:center;justify-content:center;min-height:200px;width:100%}
.dashVideoMech{display:flex;gap:16px;align-items:stretch;justify-content:center;width:100%;max-width:520px;padding:12px}
.dashVideoMech button{flex:1;min-height:96px;border:0;border-radius:14px;font-weight:900;cursor:pointer;font-size:13px;letter-spacing:.06em}
.dashVideoMech .vp{background:#e8f0fe;color:#174ea6}
.dashVideoMech .vp:hover{background:#1a73e8;color:#fff}
.dashVideoMech .rv{background:#fff3e0;color:#b06000}
.dashVideoMech .rv:hover{background:#e8710a;color:#fff}
.hostDashBanner{display:none;flex:1;justify-content:center;align-items:center;min-width:120px;margin:0 16px}
body.dashHome .hostDashBanner:not(.hidden){display:flex!important}
.chipMenu{z-index:80}
.ecomCarFadeMode{position:relative;width:100%;height:100%}
.ecomCarFadeMode .ecomCarImg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .45s ease}
.ecomCarFadeMode .ecomCarImg.on{opacity:1}
.ecomCarSlideMode{display:flex;flex-wrap:nowrap;width:100%;height:100%;transition:transform .45s ease;will-change:transform}
.ecomCarSlide{min-width:100%;max-width:100%;flex:0 0 100%;height:100%;overflow:hidden}
.ecomCarViewport,.dashHeaderShot,.dashQaShot{position:relative;width:100%;height:100%;overflow:hidden}
.ecomCarDots{display:flex;gap:6px;justify-content:center;margin-top:6px;position:absolute;left:0;right:0;bottom:6px;z-index:2}
.ecomCarDot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;cursor:pointer}
.ecomCarDot.on{background:#1769e0}
body.dashHome .hostDashBanner:not(.hidden){height:72px;max-height:120px;align-items:stretch}
body.dashHome .hostDashBanner .dashHeaderShot,
body.dashHome .hostDashBanner .ecomCarViewport{height:100%}
.dashBannerPreview .ecomCarViewport{height:100%}
.toolbar{position:relative}
.datePickWrap{position:relative;display:inline-block}
.datePickBtn{height:36px;border:1px solid #d8dee8;border-radius:9px;background:#fff;padding:0 12px;font-weight:800;font-size:13px;cursor:pointer;color:#0f2744}
.dateCal{position:absolute;top:40px;left:0;z-index:40;width:280px;background:#fff;border:1px solid #d8dee8;border-radius:12px;box-shadow:0 12px 32px rgba(15,39,68,.16);padding:10px}
.dateCalHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dateCalHead button{border:0;background:#eef3fa;width:28px;height:28px;border-radius:8px;font-weight:900;cursor:pointer}
.dateCalAll{width:100%;border:0;background:#eef3fa;border-radius:8px;padding:6px;font-weight:800;cursor:pointer;margin-bottom:8px}
.dateCalDow,.dateCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.dateCalDow{font-size:10px;font-weight:800;color:#64748b;margin-bottom:4px}
.dateCalDay{height:30px;border:0;border-radius:8px;background:transparent;font-weight:700;color:#94a3b8}
.dateCalDay.hasOrder{background:#dcfce7;color:#166534;cursor:pointer}
.dateCalDay.hasOrder.on{background:#15803d;color:#fff}
.dateCalDay.mute{color:#cbd5e1}
.dateCalEmpty{height:30px}
.dashThumbWrap.dragging{opacity:.5}
.dashPencil,.dashPrevDel{position:absolute;right:8px;bottom:8px;border:0;border-radius:8px;background:#0f2744;color:#fff;width:32px;height:32px;cursor:pointer;font-size:16px}
.dashBannerPreview{position:relative;background:#0f172a;border-radius:10px;overflow:hidden;min-height:80px}
.dashThumbRow{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}
.dashThumb{display:inline-block;width:64px;height:40px;border-radius:6px;background:#e2e8f0 center/cover no-repeat}
.dashThumbWrap{position:relative}
.dashThumbDel{position:absolute;top:-6px;right:-6px;border:0;background:#b91c1c;color:#fff;border-radius:50%;width:18px;height:18px;cursor:pointer;font-size:11px}
.dashSizeNote{margin:8px 16px 0;font-size:12px;color:#64748b}
.dashFocusRow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0 12px}
.dashFocusRow label{font-size:11px;font-weight:800;letter-spacing:.06em;color:#64748b}
.dashFocusRow input[type=range]{flex:1;min-width:90px;accent-color:#0f2744}
.dashZoomBtns{display:flex;gap:6px;flex-wrap:wrap;width:100%;align-items:center}
.dashFitBtn{height:28px;border:0;border-radius:8px;padding:0 10px;font-weight:800;font-size:11px;cursor:pointer;background:#0f2744;color:#fff}
.dashZoomPct{min-width:3.2em;font-weight:800;font-size:12px;color:#0f2744}
.topEnd{cursor:pointer}
html,body{height:100%}
.app:not(.hidden){height:100vh;max-height:100vh;overflow:hidden}
.main{height:100vh;max-height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.top{flex:0 0 auto}
.content{flex:1 1 auto;min-height:0;overflow:auto}
body.sheetPage .content{overflow:hidden;display:flex;flex-direction:column}
body.sheetPage .welcome{display:none}
body.sheetPage .toolbar,body.sheetPage #scanMsg,body.sheetPage #orderCount{flex:0 0 auto}
body.sheetPage #orderTable{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e7ef;border-radius:12px}
body.sheetPage #orderTable .tableWrap{overflow:visible;max-height:none;height:auto;border:0;border-radius:0;background:transparent}
.ecomBatchScroll .tbl thead th{position:sticky;top:0;z-index:8;background:#e8f1fb}
body.sheetPage .tbl thead th,body.dashHome #recent .tbl thead th,.masterBody .tbl thead th,.tableWrap .tbl thead th{
  position:sticky;top:0;z-index:6;background:#e8f1fb;box-shadow:0 1px 0 #c5d7ee
}
body.dashHome #recent .tableWrap{overflow:visible;border:0;background:transparent}
body.sheetPage .tbl{width:100%;min-width:100%;max-width:none;table-layout:auto}
body.sheetPage .tbl th,body.sheetPage .tbl td{white-space:nowrap}
body.sheetPage .tbl td.colSku,body.sheetPage .tbl th.colSku{max-width:260px;overflow:hidden;text-overflow:ellipsis}
body.sheetPage .tbl td.colLive,body.sheetPage .tbl th.colLive,
body.sheetPage .tbl td.colAction,body.sheetPage .tbl th.colAction,
body.sheetPage .colLive,body.sheetPage .colAction{width:14%;min-width:148px!important;max-width:none!important;padding-left:12px;padding-right:12px;box-sizing:border-box}
body.sheetPage .tbl thead th.th2{white-space:normal;line-height:1.15;font-size:9px;letter-spacing:0;padding:5px 6px}
body.sheetPage .tbl .chipDrop,body.sheetPage .tbl .chipDrop[data-col="action"]{min-width:0!important}
body.sheetPage .tbl .chipBtn{min-width:0!important;width:auto;padding:2px 7px;font-size:10px;line-height:1.2}
body.sheetPage .tbl td.colOrder,body.sheetPage .tbl th.colOrder{padding-right:3px}
body.sheetPage .tbl td.colAwb,body.sheetPage .tbl th.colAwb{padding-left:2px;padding-right:6px}
body.sheetPage .tbl td.colDispatch,body.sheetPage .tbl th.colDispatch{width:auto;min-width:86px;max-width:none;padding-left:8px;padding-right:10px}
.tbl td.colDispatch .dispatchHi{margin:0 4px 0 0}
.tbl td.colDispatch .dispatchHi[title],.dispatchHi[title]{cursor:help}
body.sheetPage .tbl td.colLive,body.sheetPage .tbl th.colLive{overflow:visible!important}
body.sheetPage .tbl td.colAction,body.sheetPage .tbl th.colAction{overflow:visible!important}
body.sheetPage .tbl td.colRemarks,body.sheetPage .tbl th.colRemarks{width:1%;min-width:70px;padding-left:4px;padding-right:10px}
body.sheetPage .ecomLiveStack{gap:4px;max-width:none;overflow:visible}
body.sheetPage .tbl td.colCost,body.sheetPage .tbl th.colCost{width:1%;min-width:44px;max-width:72px;text-align:right;font-variant-numeric:tabular-nums;padding-left:6px;padding-right:8px}
.datePickBtn.recentDate{height:32px;border-radius:999px;padding:0 12px;font-size:13px;max-width:168px}
body.sheetPage .tbl td.colSettle + td.colSettle,body.sheetPage .tbl th.colSettle + th.colSettle{padding-left:14px}
body.sheetPage .tbl td.colClosedBy,body.sheetPage .tbl th.colClosedBy{width:1%;padding-left:6px;padding-right:6px;line-height:1.2}
.closedWhen{font-size:9px;font-weight:700;color:#536174;margin-top:2px;white-space:nowrap}
body.sheetPage .tbl th.colUpdate,body.sheetPage .tbl td.colUpdate{position:sticky;right:0;z-index:6;background:#fff;box-shadow:-6px 0 10px rgba(15,39,68,.08);white-space:nowrap;width:88px}
body.sheetPage .tbl thead th.colUpdate{background:#e8f1fb;z-index:8}
body.sheetPage #orderTable{overflow:auto}
body.ecomDetailPage .welcome{display:none}
.ecomDetail .detailGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fileProcHub{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;margin-top:18px;max-width:860px}
.fileProcCard{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 22px;cursor:pointer;box-shadow:0 8px 24px rgba(15,39,68,.06);min-height:170px}
.fileProcCard:hover{border-color:#1769e0;box-shadow:0 10px 28px rgba(23,105,224,.12)}
.fileProcTag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.08em;background:#e8f1fb;color:#1769e0;border-radius:999px;padding:4px 10px}
.fileProcTag.pay{background:#ecfdf3;color:#15803d}
.fileProcTitle{font-size:20px;font-weight:900;margin:14px 0 8px;color:#0f2744}
.fileProcHint{color:#64748b;font-size:13px;line-height:1.45}
.upFileRow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0 10px}
.upFileNative{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.upBrowseBtn{flex:0 0 auto;min-width:180px;height:52px;padding:0 22px;font-size:15px;font-weight:900;letter-spacing:.04em;border:2px solid #1769e0;background:#e8f1fb;color:#0b3d73;box-shadow:0 0 0 4px rgba(23,105,224,.18);margin:0}
.upBrowseBtn:hover,.upBrowseBtn:focus{background:#1769e0;color:#fff;outline:none}
.upFileName{flex:1 1 180px;min-width:140px;max-width:360px;text-align:left;font-size:13px;font-weight:800;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:12px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upFileName.on{color:#0f2744;border-style:solid;border-color:#86efac;background:#ecfdf5}
.upGoBtn{flex:0 0 auto;min-width:200px;height:52px;padding:0 22px;font-size:15px;font-weight:900;background:#1769e0;color:#fff;margin:0}
body.masterHome .masterGate{margin:56px auto 0}
.cards .kpiPct{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:clamp(11px,.85vw,13px);font-weight:800;letter-spacing:.04em;line-height:1.2;opacity:1}
.card.k-cancel .kpiPct{color:#6d28d9;background:#f5f3ff}
.card.k-delivered .kpiPct{color:#3730a3;background:#eef2ff}
.card.k-claim .kpiPct{color:#6d28d9;background:#f5f3ff}
.card.k-rto .kpiPct{color:#3730a3;background:#eef2ff}
.card.k-cr .kpiPct{color:#6d28d9;background:#f5f3ff}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:90;min-width:280px;max-width:min(520px,92vw);padding:12px 16px;border-radius:12px;background:#0f2744;color:#fff;font-size:13px;font-weight:700;line-height:1.4;align-items:flex-start}
.toast .toastMark{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:0 0 auto;background:#93c5fd}
.toast.success{background:#14532d}
.toast.success .toastMark{background:#86efac}
.toast.error{background:#7f1d1d}
.toast.error .toastMark{background:#fca5a5}
.toast.info{background:#0f2744}
.toast .toastMsg{flex:1}
.erpNoticeBack{position:fixed;inset:0;background:rgba(15,39,68,.45);display:flex;align-items:center;justify-content:center;z-index:95}
.erpNoticeBack.hidden{display:none!important}
.erpNotice{width:min(440px,92vw);background:#fff;border-radius:16px;padding:22px 22px 18px;box-shadow:0 18px 50px rgba(15,39,68,.28);text-align:center}
.erpNotice.success{border-top:4px solid #15803d}
.erpNotice.error{border-top:4px solid #b91c1c}
.erpNotice.info{border-top:4px solid #1769e0}
.erpNoticeKicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:6px}
.erpNoticeTitle{font-size:18px;font-weight:900;color:#0f2744;margin-bottom:8px}
.erpNoticeText{font-size:14px;line-height:1.45;color:#334155;margin-bottom:16px}
.erpNoticeOk{min-width:108px;height:40px;border:0;border-radius:10px;background:#1769e0;color:#fff;font-weight:800;cursor:pointer;font-size:14px}
.erpInlineConfirm{position:fixed;z-index:100080;width:min(340px,92vw);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 16px 40px rgba(15,39,68,.22);padding:12px 14px}
.erpInlineConfirmText{font-size:13px;font-weight:700;color:#0f2744;line-height:1.45;margin-bottom:10px}
.erpInlineConfirmBtns{display:flex;justify-content:flex-end;gap:8px}
.erpInlineNo{height:34px;border:1px solid #d8dee8;background:#fff;color:#334155;border-radius:8px;font-weight:800;cursor:pointer;padding:0 12px}
.erpInlineYes{height:34px;border:0;background:#b91c1c;color:#fff;border-radius:8px;font-weight:800;cursor:pointer;padding:0 12px}
.toast{z-index:100080}
.tbl tbody tr.kbRowOn td{background:#bfdbfe}
.tbl tbody tr.kbRowOn{box-shadow:inset 5px 0 0 #1d4ed8, inset 0 0 0 1px #60a5fa}
#orderTable{outline:none}
.mpPick{display:flex;align-items:center;gap:8px;margin-left:16px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#536174;position:relative;z-index:6}
.mpPickLbl{white-space:nowrap}
.mpDrop{position:relative}
.mpSelectBtn,.mpOpt{display:flex;align-items:center;gap:10px;min-width:168px;height:40px;border:1px solid #e6ebf2;border-radius:10px;padding:0 12px;background:#fff;color:#111;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left}
.mpSelectMenu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #e6ebf2;border-radius:12px;box-shadow:0 10px 28px rgba(15,39,68,.14);overflow:hidden;z-index:20}
.mpOpt{width:100%;border:0;border-radius:0;height:44px}
.mpOpt:hover,.mpOpt.on{background:#f7f8fa}
.mpLogoWrap{width:28px;height:28px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;background:#f3f4f6}
.mpLogo{width:22px;height:22px;object-fit:contain;display:block}
.mpLogo-AMAZON{background:#fff}
.mpLogo-FLIPKART{background:#ffc220}
.mpLogo-MEESHO{background:#5b0a4c}
.mpLogo-ALL{background:#e8eef6}
.mpName{font-weight:800}
.mpCtrlRow{display:flex;gap:10px;align-items:center;margin:8px 0;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#111;cursor:pointer}
#mpControlCard,#dropColorCard{padding-bottom:14px}
#mpControlCard .mpCtrlRow,#mpControlCard .btnAdd{margin-left:16px;margin-right:16px}
.dropColorTabs{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 8px}
.dropColorTab{border:1px solid #d8dee8;background:#f4f7fb;color:#0f2744;border-radius:8px;padding:8px 12px;font-weight:800;cursor:pointer;font-size:12px}
.dropColorTab.on{background:#0f2744;color:#fff;border-color:#0f2744}
.dropPrevChip{display:inline-block;min-width:120px;padding:6px 12px;border-radius:14px;font-weight:800;font-size:12px;text-align:center;border:0;cursor:pointer;font-family:inherit}
#dropColorCard .dropColorWrap{border:0;border-radius:0;width:auto;max-width:100%}
#dropColorCard .dropColorTbl{width:auto;table-layout:auto}
#dropColorCard .dropColorTbl th,#dropColorCard .dropColorTbl td{white-space:nowrap;width:auto}
#dropColorCard .dropColorTbl td:nth-child(2){text-align:left}
.dropColorActs{display:flex;gap:6px;align-items:center;justify-content:flex-start}
.masterAdd.dropOpt .addRow{grid-template-columns:1fr auto}
.dropValIn{width:220px;max-width:32vw;min-width:140px}
.dropValIn[readonly]{background:#f8fafc;color:#172033}
.btnDropDel{color:#991b1b}
.ecomColorModal{position:fixed;inset:0;background:rgba(15,27,44,.55);z-index:70000;display:flex;align-items:center;justify-content:center;padding:16px}
.ecomColorModal.hidden{display:none!important}
.ecomColorDlg{background:#fff;border-radius:16px;padding:18px 18px 16px;width:min(420px,94vw);box-shadow:0 22px 60px rgba(0,0,0,.28);color:#172033}
.ecomColorDlg h3{margin:0 0 6px;font-size:18px}
.ecomColorHint{margin:0 0 12px;color:#536174;font-size:12px;line-height:1.4}
.ecomColorStage{display:flex;gap:12px;align-items:stretch}
.ecomSvWrap,.ecomHueWrap{position:relative}
.ecomSvWrap canvas{width:280px;height:200px;max-width:calc(94vw - 70px);border-radius:10px;cursor:crosshair;display:block;border:1px solid #d8dee8}
.ecomHueWrap canvas{width:22px;height:200px;border-radius:8px;cursor:ns-resize;display:block;border:1px solid #d8dee8}
.ecomSvDot{position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.45);pointer-events:none}
.ecomHueMark{position:absolute;left:-3px;right:-3px;height:6px;border:2px solid #fff;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.45);pointer-events:none}
.ecomColorPrev{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 12px}
.ecomPrevLabel{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#536174;margin-bottom:6px}
.ecomPrevSwatch{width:140px;height:40px;border-radius:10px;border:1px solid #d8dee8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}
.ecomPrevHex{font-weight:800;color:#0f2744;font-size:13px}
.ecomColorActs{display:flex;gap:10px;justify-content:flex-end}
.ecomColorActs .btn{width:auto;min-width:110px;background:#1769e0;color:#fff;margin:0}
.ecomColorActs .ecomColorCancel{background:#e8eef7;color:#12315a}
.masterAdd.sku .addRow{grid-template-columns:minmax(160px,1.4fr) 64px minmax(140px,1fr) auto}
.masterAdd.sku .addRow>div:nth-child(2) input{text-align:right}
.skuCostTbl{table-layout:fixed;width:100%}
.skuCostTbl th:nth-child(1),.skuCostTbl td:nth-child(1){width:42%}
.skuCostTbl th:nth-child(2),.skuCostTbl td:nth-child(2){width:64px}
.skuCostTbl th:nth-child(3),.skuCostTbl td:nth-child(3){width:auto}
.skuCostTbl th:nth-child(4),.skuCostTbl td:nth-child(4){width:1.15in}
.skuCostTbl th:nth-child(5),.skuCostTbl td:nth-child(5){width:78px}
.masterAdd.skuFind{background:#f8fafc}
.masterAdd.skuFind .addRow{grid-template-columns:1fr}
.skuCostTbl td input{white-space:nowrap;overflow-x:auto}
.skuCostTbl td:nth-child(1) input,.skuCostTbl td:nth-child(3) input{min-width:0;width:100%}
.skuCostTbl td:nth-child(2) input{width:56px;min-width:56px;max-width:56px;text-align:right;padding-left:6px;padding-right:6px}
.skuShotCell{vertical-align:middle}
.skuShotBox{width:1in;height:1in;padding:0;border:1px dashed #c5d4e8;border-radius:8px;background:#f8fafc;cursor:pointer;overflow:hidden;display:grid;place-items:center;color:#64748b;font-size:10px;font-weight:800}
.skuShotBox:focus{outline:2px solid #1769e0;outline-offset:1px}
.skuShotBox img{width:1in;height:1in;object-fit:cover;display:block}
.scanMsg{display:block;text-align:center;margin:6px auto 10px;max-width:min(560px,100%);padding:10px 18px;border-radius:12px;font-weight:800;font-size:15px;line-height:1.35}
.scanMsg.hidden{display:none!important}
.scanMsg.info{background:#fff7ed;color:#9a3412;border:1px solid #fdba74}
.scanMsg.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.packCueChips{display:none}
.packCueChip{display:none}
#packCueCard .packCueCompact{padding:8px 12px 12px}
#packCueCard .packCueShowRow{display:flex;align-items:center;gap:6px;padding:0 0 8px;font-weight:800;font-size:12px;color:#0f2744;cursor:pointer}
#packCueCard .packCueShowRow input{width:16px;height:16px}
#packCueCard .packCueMain{display:flex;gap:12px;align-items:flex-start}
#packCueCard .packBuddyBox{width:1in;height:1in;padding:0;border:1px dashed #c5d4e8;border-radius:8px;background:#f8fafc;cursor:pointer;overflow:hidden;display:grid;place-items:center;color:#64748b;font-size:10px;font-weight:800;flex:0 0 1in}
#packCueCard .packBuddyBox img{width:1in;height:1in;object-fit:contain;display:block;background:#fff}
#packCueCard .packCueMsgs{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}
#packCueCard .packCueMsgs .field{margin:0;padding:0}
#packCueCard .packCueMsgs .field label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#3d4d63;margin-bottom:2px}
#packCueCard .packCueMsgs .field label input{width:14px;height:14px;flex:0 0 14px}
#packCueCard .packCueMsgs .field input{width:100%;height:32px;border:1px solid #d8dee8;border-radius:7px;padding:0 8px;font:13px/1.3 inherit}
#packCueCard .packCueMsgs .btnAdd{align-self:flex-start;background:#85200c;color:#fff;border:0;border-radius:8px;padding:7px 14px;font-weight:800;min-height:32px;margin:2px 0 0}

.logo{display:flex;align-items:center;gap:8px;padding:2px 6px 12px;color:#fff;text-transform:none;letter-spacing:0}
.logo img{width:28px;height:28px;object-fit:contain;flex:0 0 28px;border-radius:6px;background:#0b1f3a}
.logoCopy{min-width:0}
.logoName{display:block;font-size:13px;font-weight:900;letter-spacing:.04em;color:#fff;line-height:1.15}
.logo small{display:block;font-size:7px;color:#4ade80;margin-top:3px;letter-spacing:.08em;font-weight:800;white-space:nowrap}
.sideFoot{margin-top:auto;padding:12px 10px 4px;font-size:8px;font-weight:800;letter-spacing:.08em;color:#64748b;text-transform:uppercase}
.side{display:flex;flex-direction:column}
.loginMark{display:block;width:72px;height:72px;object-fit:contain;margin:0 auto 10px;border-radius:16px}
.loginPage{background:linear-gradient(135deg,#0b1f3a,#0f2744 55%,#14532d)}
.brand{color:#0b1f3a;letter-spacing:.12em}
.primary{background:#15803d}
.primary:active{background:#166534}
.avatar{background:#15803d}

