/* ============================================================
   PackPoint — Camp Studio Fulfillment
   Theme: Claymorphism / soft pastel 3D  (desktop-first)
   ============================================================ */

:root{
  --thai:'Noto Sans Thai',-apple-system,'Helvetica Neue',sans-serif;
  --disp:'Nunito','Noto Sans Thai',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;

  /* canvas */
  --bg:#e9ece4;
  --card:#fdfcf7;
  --soft:#f3f2e9;
  --line:#e4e3d5;
  --ink:#3d453c;
  --grey:#7d867b;
  --muted:#98a094;

  /* pastel clay palette */
  --green:#8fb27c;   --green-d:#5c7a4b;  --green-soft:#dbe7cd;
  --blue:#7ca7c9;    --blue-d:#48708f;   --blue-soft:#d3e2ee;
  --yellow:#e0af62;  --yellow-d:#9a7434; --yellow-soft:#f4e4c4;
  --pink:#dd8b91;    --pink-d:#b25d64;   --pink-soft:#f6dcde;
  --purple:#77bcae;  --purple-d:#437c70; --purple-soft:#d3e9e3; /* no-purple rule: alias เป็น teal */
  --teal:#77bcae;    --teal-d:#437c70;   --teal-soft:#d3e9e3;
  --orange:#e2a06b;  --orange-d:#a96b39; --orange-soft:#f5e0ca;

  /* clay shadows */
  --clay:0 12px 26px rgba(96,110,90,.16),0 3px 8px rgba(96,110,90,.09),
         inset 0 2px 3px rgba(255,255,255,.95),inset 0 -5px 12px rgba(96,110,90,.07);
  --clay-sm:0 5px 14px rgba(96,110,90,.15),0 1px 4px rgba(96,110,90,.08),
            inset 0 1.5px 2.5px rgba(255,255,255,.95),inset 0 -3px 7px rgba(96,110,90,.08);
  --clay-xs:0 3px 8px rgba(96,110,90,.13),
            inset 0 1px 2px rgba(255,255,255,.9),inset 0 -2px 5px rgba(96,110,90,.08);
  --clay-in:inset 0 3px 8px rgba(96,110,90,.16),inset 0 -1.5px 3px rgba(255,255,255,.8);
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--thai);color:var(--ink);min-height:100vh;
  background:
    radial-gradient(900px 600px at 88% -10%,#d8e6e4 0%,transparent 60%),
    radial-gradient(1000px 700px at -10% 110%,#dfe8d6 0%,transparent 55%),
    linear-gradient(155deg,#eef0e8 0%,var(--bg) 55%,#e2e8e0 100%);
  background-attachment:fixed;
}
button{font-family:var(--thai);cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:var(--thai);color:var(--ink)}
::selection{background:var(--green-soft)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#c9cfc2;border-radius:99px;border:2.5px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}

/* ---------- layout ---------- */
.applayout{display:flex;min-height:100vh}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.desk{flex:1;padding:20px 26px 40px;min-width:0}

/* ---------- left rail ---------- */
.rail{
  width:100px;flex:none;display:flex;flex-direction:column;align-items:center;
  padding:20px 0 18px;gap:16px;position:sticky;top:0;height:100vh;z-index:40;
}
.rail-logo{
  width:76px;height:54px;border-radius:20px;display:grid;place-items:center;margin-bottom:-3px;
  font-family:var(--disp);font-weight:900;font-size:26px;color:#fff;
  background:linear-gradient(145deg,#9fbe8b,#7fa46c);
  box-shadow:0 8px 18px rgba(96,110,90,.28),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -4px 8px rgba(60,80,50,.25);
}
.rail-logo svg{width:46px;height:46px;display:block;filter:drop-shadow(0 2px 2px rgba(60,80,50,.25))}
.nav{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}
.navitem{
  width:76px;padding:11px 4px 9px;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:5px;
  font-size:12px;font-weight:700;color:var(--grey);background:var(--card);
  box-shadow:var(--clay-sm);transition:transform .12s,box-shadow .12s,color .12s;
}
.navitem .ni-ic{width:22px;height:22px;display:block}
.navitem .ni-ic svg{width:22px;height:22px}
.navitem:hover{transform:translateY(-1px);color:var(--ink)}
.navitem.active{
  color:var(--green-d);background:linear-gradient(160deg,#e3edd6,#d3e2c2);
  box-shadow:var(--clay-in),0 1px 0 rgba(255,255,255,.6);
  transform:none;
}
.rail-foot{margin-top:auto}
.rail-foot button{
  width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:var(--grey);
  background:var(--card);box-shadow:var(--clay-sm);
}
.rail-foot button svg{width:20px;height:20px}
.rail-foot button.muted{color:#c3c8bd;box-shadow:var(--clay-in)}

/* ---------- topbar ---------- */
.topbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:20px 26px 0;
}
.page-title{
  display:flex;align-items:baseline;gap:12px;
  font-family:var(--disp);font-weight:900;font-size:22px;letter-spacing:.2px;color:var(--ink);
}
.pt-brand{display:inline-flex;flex-direction:column;line-height:1}
.pt-brand small{
  font-family:var(--disp);font-weight:800;font-size:9px;color:var(--muted);
  letter-spacing:.261em;margin-right:-.261em;margin-top:3.5px;white-space:nowrap;
}
.page-title #pageTitleTxt{color:var(--green-d);font-family:var(--thai);font-weight:800;min-width:150px;flex:none}
.brsel{
  display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--grey);
  background:var(--card);border-radius:999px;padding:7px 9px 7px 16px;box-shadow:var(--clay-sm);
}
.brsel select{
  border:none;outline:none;font-weight:800;font-size:14px;color:var(--green-d);
  background:var(--green-soft);border-radius:999px;padding:6px 12px;cursor:pointer;
  box-shadow:var(--clay-in);-webkit-appearance:none;appearance:none;text-align:center;
}
.tbtn{
  display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:var(--ink);
  background:var(--card);border-radius:999px;padding:10px 17px;box-shadow:var(--clay-sm);
  transition:transform .12s,box-shadow .12s;
}
.tbtn svg{width:16px;height:16px}
.tbtn:hover{transform:translateY(-1px)}
.tbtn:active{transform:translateY(1px);box-shadow:var(--clay-in)}
.tbtn.make{background:linear-gradient(150deg,#8fb7d8,#6f9cc2);color:#fff;
  box-shadow:0 8px 18px rgba(90,130,165,.32),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(40,75,105,.28)}
.tbtn.accent{background:linear-gradient(150deg,#eebd82,#e0a263);color:#fff;
  box-shadow:0 8px 18px rgba(190,140,80,.30),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -4px 8px rgba(140,90,40,.25)}
.spacer{flex:1}
.clock{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--grey);
  background:var(--soft);border-radius:999px;padding:8px 15px;box-shadow:var(--clay-in)}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--grey);
  background:var(--card);box-shadow:var(--clay-sm)}
.avatar svg{width:20px;height:20px}

/* ---------- carry-over bar ---------- */
.carrybar{
  display:flex;align-items:center;gap:11px;margin:16px 26px 0;
  background:linear-gradient(150deg,#f7e8c8,#f1dcb2);border-radius:20px;padding:11px 17px;
  font-size:14.5px;font-weight:700;color:var(--yellow-d);box-shadow:var(--clay-sm);
}
.carry-ic{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--yellow);color:#fff;font-weight:900;font-size:15px;
  box-shadow:inset 0 1.5px 2px rgba(255,255,255,.5),inset 0 -2px 4px rgba(120,85,30,.3)}
.carry-btn{margin-left:auto;font-weight:800;font-size:13.5px;color:var(--yellow-d);white-space:nowrap;
  background:rgba(255,255,255,.75);border-radius:999px;padding:7px 15px;box-shadow:var(--clay-xs)}
.carry-x{font-size:19px;color:var(--yellow-d);opacity:.55;padding:0 4px}

/* ---------- app window (card) ---------- */
.app{display:none}
.app.show{display:block}
.window{
  background:var(--card);border-radius:28px;box-shadow:var(--clay);overflow:hidden;
}
.titlebar{
  display:flex;align-items:center;font-weight:800;font-size:16px;padding:15px 22px;
  color:var(--ink);position:relative;
}
.titlebar.blue{background:linear-gradient(150deg,#dce9f3,#cbdeec);color:var(--blue-d)}
.titlebar.green{background:linear-gradient(150deg,#e2edd4,#d4e4c2);color:var(--green-d)}
.titlebar.yellow{background:linear-gradient(150deg,#f7ead0,#f0ddb8);color:var(--yellow-d)}
.titlebar.purple{background:linear-gradient(150deg,#daeee8,#c8e5dc);color:var(--purple-d)}
.titlebar.pink{background:linear-gradient(150deg,#f8e2e4,#f2d2d5);color:var(--pink-d)}
.tb-ctrl{margin-left:auto;display:flex;align-items:center;gap:7px}
.tb-ctrl i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.85);
  box-shadow:inset 0 1px 1.5px rgba(255,255,255,.9),inset 0 -1.5px 3px rgba(96,110,90,.25),0 1px 2px rgba(96,110,90,.15)}
.tb-x{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;
  color:inherit;background:rgba(255,255,255,.7);cursor:pointer;
  box-shadow:inset 0 1px 1.5px rgba(255,255,255,.9),inset 0 -1.5px 3px rgba(96,110,90,.22)}

/* ============ PACK & SHIP ============ */
.steprail{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:15px 22px 4px}
.step{
  display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--muted);
  background:var(--soft);border-radius:999px;padding:7px 15px 7px 8px;box-shadow:var(--clay-in);
}
.step-n{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:900;
  background:#e6e5d9;color:var(--muted);box-shadow:var(--clay-xs)}
.step.active{color:var(--blue-d);background:var(--blue-soft);box-shadow:var(--clay-sm)}
.step.active .step-n{background:var(--blue);color:#fff}
.step.done{color:var(--green-d);background:var(--green-soft)}
.step.done .step-n{background:var(--green);color:#fff}
.step-arrow{color:#c6ccc0;font-weight:800}

.packer-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 22px 6px}
.pk-l{font-size:14.5px;font-weight:800;color:var(--grey)}
.packer-pick{display:flex;gap:8px;flex-wrap:wrap}
.pk-chip{
  font-family:var(--disp);font-weight:800;font-size:14px;color:var(--grey);
  background:var(--card);border-radius:999px;padding:8px 18px;box-shadow:var(--clay-sm);
  transition:transform .1s;
}
.pk-chip:hover{transform:translateY(-1px);color:var(--ink)}
.pk-chip.sel{color:#fff;background:linear-gradient(150deg,#9fbe8b,#7fa46c);
  box-shadow:0 6px 14px rgba(96,120,80,.3),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -3px 7px rgba(60,85,45,.3)}

.pack-layout{display:flex;align-items:stretch;gap:0;padding:14px 22px 24px;gap:18px}
.qcol{width:320px;flex:none;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 250px)}
.dcol{flex:1;min-width:0;overflow-y:auto;max-height:calc(100vh - 250px);padding-right:4px}

.summary{display:flex;gap:8px;margin-bottom:11px;flex-wrap:wrap}
.sm{font-size:13px;font-weight:700;color:var(--grey);background:var(--soft);
  border-radius:999px;padding:7px 13px;box-shadow:var(--clay-in)}
.sm b{font-family:var(--disp);font-size:14.5px}
.sm.wait{color:var(--blue-d);background:var(--blue-soft)}
.sm.done{color:var(--green-d);background:var(--green-soft)}
.q-newjob{margin-bottom:11px}
.njob-btn{width:100%;font-size:13.5px;font-weight:800;color:var(--blue-d);
  background:var(--blue-soft);border-radius:16px;padding:10px;box-shadow:var(--clay-sm)}
.njob-btn:active{box-shadow:var(--clay-in)}
.qhead{font-size:12.5px;font-weight:800;color:var(--muted);letter-spacing:.3px;margin-bottom:9px;padding-left:4px}
#queue{overflow-y:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:10px;padding:2px 4px 8px 2px}
.qrow{
  background:var(--card);border-radius:20px;padding:13px 15px;cursor:pointer;
  box-shadow:var(--clay-sm);transition:transform .12s,box-shadow .12s;
}
.qrow:hover{transform:translateY(-1px)}
.qrow.sel{background:linear-gradient(155deg,#e7f0f7,#d8e7f2);box-shadow:var(--clay-in);transform:none}
.qtop{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.qref{font-family:var(--mono);font-size:12px;color:var(--muted)}
.qroute{font-size:11px;font-weight:800;color:var(--purple-d);background:var(--purple-soft);
  border-radius:999px;padding:2.5px 9px;margin-left:auto}
.qcust{font-weight:800;font-size:15.5px}
.qdate{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:3px}
.qwait{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--grey);margin-top:4px}
.wdot{width:8px;height:8px;border-radius:50%;background:var(--green);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.5)}
.qwait.late{color:var(--pink-d);font-weight:700}
.qwait.late .wdot{background:var(--pink)}

/* channel tags */
.tag{font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 11px;box-shadow:var(--clay-xs)}
.t-web{background:var(--blue-soft);color:var(--blue-d)}
.t-shopee{background:var(--orange-soft);color:var(--orange-d)}
.t-pos{background:var(--green-soft);color:var(--green-d)}
.t-manual{background:var(--purple-soft);color:var(--purple-d)}
.t-line{background:#d9ecc9;color:#4c7a3c}
.t-fb{background:var(--blue-soft);color:var(--blue-d)}
.t-ig{background:var(--pink-soft);color:var(--pink-d)}
.t-lazada{background:var(--orange-soft);color:var(--orange-d)}

/* camera panel */
.cam-panel{background:var(--soft);border-radius:22px;padding:13px 16px;margin-bottom:15px;box-shadow:var(--clay-in)}
.cam-head{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--grey)}
.rec{width:10px;height:10px;border-radius:50%;background:#cfd4c9;flex:none}
.rec.on{background:var(--pink);box-shadow:0 0 0 4px rgba(221,139,145,.25);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.cam-start{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--blue-d);
  background:var(--card);border-radius:999px;padding:6px 14px;box-shadow:var(--clay-xs)}
.cam-start:disabled{color:var(--muted);cursor:default}
.cam-view{position:relative;margin-top:10px;border-radius:16px;overflow:hidden;background:#e3e6dc;box-shadow:var(--clay-in)}
.cam-view video{display:none;width:100%;height:150px;object-fit:cover}
.cam-view.live video{display:block}
.cam-ph{font-size:12.5px;color:var(--muted);font-weight:600;padding:12px 14px;line-height:1.6}

/* detail / empty */
.d-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;
  min-height:280px;font-size:16.5px;font-weight:700;color:var(--grey);line-height:1.75;
  background:var(--soft);border-radius:22px;box-shadow:var(--clay-in);padding:30px;
}
.d-empty .bx{
  width:74px;height:74px;border-radius:26px;background:linear-gradient(150deg,#e9eee0,#dbe3d2);
  box-shadow:var(--clay-sm);display:grid;place-items:center;font-size:30px;color:var(--green-d);font-weight:900;
}
.d-empty small{font-size:13.5px;color:var(--muted);font-weight:600}

.guide{
  font-size:15px;font-weight:700;color:var(--blue-d);line-height:1.6;
  background:var(--blue-soft);border-radius:18px;padding:12px 18px;margin-bottom:15px;box-shadow:var(--clay-sm);
}
.dref{font-family:var(--mono);font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ptimer{font-family:var(--mono);font-size:12.5px;color:var(--teal-d);background:var(--teal-soft);
  border-radius:999px;padding:3px 11px;box-shadow:var(--clay-xs)}
.ptimer:empty{display:none}
.dname{font-weight:900;font-size:23px;margin:5px 0 9px;font-family:var(--thai)}
.daddr{font-size:14.5px;line-height:1.7;color:#5a6357;background:var(--soft);
  border-radius:18px;padding:13px 17px;box-shadow:var(--clay-in)}
.daddr b{color:var(--grey);font-size:12.5px}
.rplan-bar{display:flex;align-items:center;gap:11px;margin:12px 0 4px;font-size:13.5px;color:var(--muted);font-weight:600}
.rplan-btn{font-size:13px;font-weight:800;color:var(--pink-d);background:var(--pink-soft);
  border-radius:999px;padding:7px 15px;box-shadow:var(--clay-xs)}
.rplan-btn:active{box-shadow:var(--clay-in)}

/* scan box */
.scanbox{background:var(--soft);border-radius:22px;padding:16px 18px;margin:14px 0;box-shadow:var(--clay-in)}
.scanbox.now{background:linear-gradient(150deg,#e3eef7,#d5e5f2);box-shadow:var(--clay-sm)}
.scan-l{font-size:14.5px;font-weight:800;color:var(--blue-d);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.scan-l .cam{width:9px;height:9px;border-radius:50%;background:var(--blue);flex:none}
.scan-in{
  width:100%;font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:.4px;
  background:var(--card);border:none;border-radius:16px;padding:13px 17px;outline:none;
  box-shadow:var(--clay-sm);
}
.scan-in:focus{box-shadow:var(--clay-sm),0 0 0 3px rgba(124,167,201,.35)}
.sim{margin-top:11px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sim small{width:100%;font-size:12px;color:var(--muted);font-weight:600}
.sim button{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--grey);
  background:var(--card);border-radius:999px;padding:6px 12px;box-shadow:var(--clay-xs)}
.sim button:active{box-shadow:var(--clay-in)}
.sim button.bad{color:var(--pink-d);background:var(--pink-soft)}

/* item lines */
.sec-l{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:800;color:var(--grey);margin:17px 0 10px}
.cnt{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--muted);
  background:var(--soft);border-radius:999px;padding:4px 13px;box-shadow:var(--clay-in)}
.cnt.done{color:var(--green-d);background:var(--green-soft);box-shadow:var(--clay-xs)}
.items{display:flex;flex-direction:column;gap:10px}
.item{
  display:flex;align-items:center;gap:13px;background:var(--card);border-radius:20px;padding:11px 14px;
  box-shadow:var(--clay-sm);transition:background .15s;
}
.item.done{background:linear-gradient(150deg,#e7f0dc,#dce8cd);box-shadow:var(--clay-in)}
.item.flash{animation:flash .5s}
@keyframes flash{0%{background:#fdf3d8}100%{}}
.iphoto{
  width:52px;height:52px;flex:none;border-radius:16px;display:grid;place-items:center;position:relative;
  box-shadow:var(--clay-in);
}
.iphoto{position:relative;overflow:hidden}
.iphoto-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.pph{position:relative;overflow:hidden}
.sp-thumb{position:relative;overflow:hidden}
.iphoto .mono{font-family:var(--disp);font-weight:900;font-size:14px;color:rgba(61,69,60,.65);letter-spacing:.5px}
.ph-sw{position:absolute;right:5px;bottom:5px;width:12px;height:12px;border-radius:50%;
  box-shadow:0 1px 2px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.4)}
.icount{
  font-family:var(--disp);font-weight:900;font-size:15px;color:var(--grey);flex:none;
  background:var(--soft);border-radius:12px;padding:7px 11px;box-shadow:var(--clay-in);
}
.item.done .icount{color:#fff;background:var(--green);box-shadow:var(--clay-xs)}
.iinfo{flex:1;min-width:0}
.isku{font-family:var(--mono);font-size:12px;color:var(--muted)}
.iname{font-weight:800;font-size:15px;margin:1px 0}
.icolor{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--grey)}
.icolor .sw{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 1px 2px rgba(255,255,255,.4),0 1px 2px rgba(0,0,0,.15)}
.istep{display:flex;gap:6px;flex:none}
.istep button{
  width:34px;height:34px;border-radius:12px;font-size:18px;font-weight:800;color:var(--grey);
  background:var(--card);box-shadow:var(--clay-xs);display:grid;place-items:center;
}
.istep button:active{box-shadow:var(--clay-in)}

/* evidence */
.evbox{background:var(--soft);border-radius:22px;padding:14px 16px;box-shadow:var(--clay-in)}
.ev-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.ev-thumb{
  position:relative;flex:none;width:106px;border-radius:14px;overflow:hidden;background:var(--card);
  box-shadow:var(--clay-sm);padding-bottom:6px;text-align:center;
}
.ev-img{width:106px;height:74px;object-fit:cover;display:block}
.ev-ic{display:grid;place-items:center;height:74px;color:var(--muted)}
.ev-ic svg{width:26px;height:26px}
.ev-sku{display:block;font-family:var(--mono);font-size:10.5px;color:var(--grey);margin-top:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px}
.ev-t{display:block;font-family:var(--mono);font-size:10px;color:var(--muted)}
.ev-x{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:800;
  color:var(--pink-d);background:rgba(255,255,255,.9);box-shadow:var(--clay-xs);display:grid;place-items:center}
.ev-empty{font-size:13.5px;color:var(--muted);padding:16px 8px;font-weight:600}
.ev-btn{font-size:13px;font-weight:800;color:var(--teal-d);background:var(--teal-soft);
  border-radius:999px;padding:8px 16px;box-shadow:var(--clay-xs)}
.ev-btn:active{box-shadow:var(--clay-in)}

/* ship section */
.ship{background:var(--soft);border-radius:24px;margin-top:16px;box-shadow:var(--clay-in);overflow:hidden}
.ship.ready{background:linear-gradient(155deg,#e6f0da,#d9e7c8);box-shadow:var(--clay)}
.ship-tb{font-size:15px;font-weight:900;padding:14px 20px 2px;color:var(--grey)}
.ship.ready .ship-tb{color:var(--green-d)}
.ship-body{padding:12px 20px 20px}
.fl{font-size:13px;font-weight:800;color:var(--grey);margin:11px 0 8px}
.carriers{display:flex;gap:9px;flex-wrap:wrap}
.carrier{
  font-family:var(--disp);font-weight:800;font-size:14px;color:var(--grey);
  background:var(--card);border-radius:999px;padding:9px 19px;box-shadow:var(--clay-sm);
}
.carrier:hover{color:var(--ink)}
.carrier.sel{color:#fff;background:linear-gradient(150deg,#8db4d4,#6f9cc2);
  box-shadow:0 6px 14px rgba(90,130,165,.3),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -3px 7px rgba(45,80,110,.3)}
.track-in{
  width:100%;font-family:var(--mono);font-size:16px;font-weight:600;background:var(--card);
  border:none;border-radius:16px;padding:13px 17px;outline:none;box-shadow:var(--clay-in);
}
.track-in:focus{box-shadow:var(--clay-in),0 0 0 3px rgba(124,167,201,.3)}
.chan-pick{display:flex;gap:8px;flex-wrap:wrap}
.chan{font-size:13px;font-weight:800;color:var(--grey);background:var(--card);
  border-radius:999px;padding:8px 16px;box-shadow:var(--clay-sm)}
.chan.locked{color:var(--green-d);background:var(--green-soft);box-shadow:var(--clay-in);cursor:default}
.chan.sel{color:#fff;background:linear-gradient(150deg,#84c4b6,#68af9f);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.45),inset 0 -3px 6px rgba(40,90,78,.3),0 5px 12px rgba(80,150,135,.25)}
.auto-list{font-size:13px;line-height:2;color:var(--grey);background:rgba(255,255,255,.55);
  border-radius:16px;padding:11px 16px;margin:13px 0;box-shadow:var(--clay-xs)}
.auto-list b{color:var(--green-d);font-weight:700}
.ship-btn{
  width:100%;font-size:17.5px;font-weight:900;color:#fff;border-radius:20px;padding:16px;
  background:linear-gradient(150deg,#9cc084,#7da963);
  box-shadow:0 10px 22px rgba(96,130,70,.35),inset 0 2.5px 4px rgba(255,255,255,.55),inset 0 -5px 10px rgba(55,85,40,.3);
  transition:transform .12s;
}
.ship-btn:hover:not(:disabled){transform:translateY(-1px)}
.ship-btn:active:not(:disabled){transform:translateY(1px)}
.ship-btn:disabled{background:linear-gradient(150deg,#d9ddd1,#ccd1c4);color:#a4aa9e;
  box-shadow:var(--clay-in);cursor:default}
.label-btn{
  width:100%;margin-top:10px;font-size:14.5px;font-weight:800;color:var(--blue-d);border-radius:16px;padding:12px;
  background:var(--blue-soft);box-shadow:var(--clay-sm);
}
.label-btn:disabled{color:#a9b0a5;background:var(--soft);box-shadow:var(--clay-in);cursor:default}

/* ============ PICKUP ============ */
.pk-head{display:flex;align-items:center;padding:18px 24px 4px;font-size:16.5px}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;padding:16px 24px 26px}
.pcard{background:var(--card);border-radius:24px;box-shadow:var(--clay-sm);overflow:hidden;
  transition:transform .12s}
.pcard:hover{transform:translateY(-2px)}
.pcard-tb{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;padding:11px 18px}
.pcard-tb.wait{background:linear-gradient(150deg,#f7ead0,#f0ddb8);color:var(--yellow-d)}
.pcard-tb.ready{background:linear-gradient(150deg,#daeee8,#c8e5dc);color:var(--teal-d)}
.pcard-tb.done{background:linear-gradient(150deg,#e2edd4,#d4e4c2);color:var(--green-d)}
.st-dot{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.7}
.pcard-body{padding:14px 18px 12px}
.pcust{font-weight:900;font-size:17.5px}
.pref{font-family:var(--mono);font-size:12px;color:var(--muted);margin:2px 0 10px}
.plist{display:flex;flex-direction:column;gap:7px}
.plit{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#525b50}
.pph{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;box-shadow:var(--clay-in)}
.pph .mono{font-family:var(--disp);font-weight:900;font-size:11px;color:rgba(61,69,60,.6)}
.plit .q{font-family:var(--disp);font-weight:900;color:var(--grey)}
.ploc{font-size:13.5px;color:var(--teal-d);background:var(--teal-soft);border-radius:12px;
  padding:8px 13px;margin-top:11px;font-weight:700;box-shadow:var(--clay-xs)}
.ploc-ph{font-size:11px;font-weight:800;color:#fff;background:var(--teal);border-radius:999px;padding:2px 9px;margin-left:6px}
.pchan{font-size:12.5px;color:var(--muted);margin-top:8px;font-weight:600}
.ptime{font-size:12px;color:var(--muted);margin-top:7px}
.pact{padding:4px 18px 17px;display:flex;flex-direction:column;gap:8px}
.pbtn{width:100%;font-size:14.5px;font-weight:800;border-radius:16px;padding:12px;transition:transform .1s}
.pbtn:active{transform:translateY(1px)}
.pbtn.notify{color:#fff;background:linear-gradient(150deg,#ecc27c,#e0ab5c);
  box-shadow:0 7px 16px rgba(185,140,70,.3),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(130,90,35,.25)}
.pbtn.pickup{color:#fff;background:linear-gradient(150deg,#84c4b6,#63ab9a);
  box-shadow:0 7px 16px rgba(85,150,133,.3),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(45,95,82,.28)}
.pbtn.edit{color:var(--grey);background:var(--soft);box-shadow:var(--clay-in);font-weight:700;font-size:13.5px}
.pdone-msg{font-size:13.5px;font-weight:700;color:var(--green-d);background:var(--green-soft);
  border-radius:14px;padding:11px 15px;box-shadow:var(--clay-in)}

/* ============ BACKORDER ============ */
.bo-head{display:flex;align-items:center;gap:14px;padding:18px 24px 4px;font-size:16px;flex-wrap:wrap}
.bo-sub{font-size:13.5px;color:var(--muted);font-weight:600}
.bo-arrive{margin-left:auto;font-size:14px;font-weight:800;color:#fff;border-radius:999px;padding:11px 20px;
  background:linear-gradient(150deg,#84c4b6,#63ab9a);
  box-shadow:0 7px 16px rgba(85,150,133,.32),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(45,95,82,.28)}
.bo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;padding:16px 24px 26px}
.bocard{background:var(--card);border-radius:24px;box-shadow:var(--clay-sm);overflow:hidden;transition:transform .12s}
.bocard:hover{transform:translateY(-2px)}
.bocard-tb{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;padding:11px 18px;
  background:linear-gradient(150deg,#daeee8,#c8e5dc);color:var(--purple-d)}
.bo-method{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--purple-d);
  background:rgba(255,255,255,.7);border-radius:999px;padding:3px 11px}
.bo-items{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.bo-it{display:flex;align-items:center;gap:11px}
.bo-it .iphoto{border-radius:12px}
.iqty{font-family:var(--disp);font-weight:900;font-size:16px;color:var(--grey)}
.iqty span{font-size:12px;color:var(--muted)}
.bo-eta{font-size:13.5px;font-weight:700;color:var(--purple-d);background:var(--purple-soft);
  border-radius:12px;padding:8px 13px;margin-top:12px;box-shadow:var(--clay-xs)}

/* ============ REPORT / STATS ============ */
.stat-wrap{padding:18px 24px 8px}
.stat-tabs{display:flex;gap:8px;flex-wrap:wrap;background:var(--soft);border-radius:999px;
  padding:6px;width:max-content;max-width:100%;box-shadow:var(--clay-in)}
.stat-tab{font-size:14px;font-weight:800;color:var(--grey);border-radius:999px;padding:9px 19px;transition:.12s}
.stat-tab.active{color:var(--green-d);background:var(--card);box-shadow:var(--clay-sm)}
.stat-range{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px;font-size:14px;font-weight:700;color:var(--grey)}
.range-in{border:none;border-radius:12px;background:var(--card);padding:9px 13px;font-size:14px;
  box-shadow:var(--clay-in);outline:none;margin-left:6px}
.stat-apply{font-size:13.5px;font-weight:800;color:#fff;border-radius:999px;padding:9px 18px;
  background:linear-gradient(150deg,#8db4d4,#6f9cc2);
  box-shadow:0 6px 14px rgba(90,130,165,.3),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -3px 7px rgba(45,80,110,.3)}
.stat-cap{font-size:13.5px;color:var(--muted);font-weight:700;margin-top:10px}
.stat-cap:empty{display:none}
.stat-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:15px}
.kpi{background:var(--card);border-radius:22px;padding:17px 19px;box-shadow:var(--clay-sm)}
.kpi .n{font-family:var(--disp);font-weight:900;font-size:29px;line-height:1.1;color:var(--ink)}
.kpi .l{font-size:13px;font-weight:700;color:var(--muted);margin-top:5px}
.kpi.g{background:linear-gradient(155deg,#e5efd8,#d7e5c5)}
.kpi.g .n{color:var(--green-d)}
.kpi.b{background:linear-gradient(155deg,#deeaf4,#cee0ee)}
.kpi.b .n{color:var(--blue-d)}
.kpi.y{background:linear-gradient(155deg,#f7ecd4,#f0dfba)}
.kpi.y .n{color:var(--yellow-d)}
.stat-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}
.stat-card{background:var(--card);border-radius:22px;padding:17px 19px;box-shadow:var(--clay-sm)}
.stat-h{font-size:14px;font-weight:800;color:var(--grey);margin-bottom:13px}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bar-l{width:72px;flex:none;font-size:13px;font-weight:700;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{flex:1;height:16px;border-radius:999px;background:var(--soft);box-shadow:var(--clay-in);overflow:hidden}
.bar-fill{height:100%;border-radius:999px;min-width:8px;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.4),inset 0 -2px 4px rgba(0,0,0,.12)}
.bar-v{flex:none;font-family:var(--disp);font-weight:800;font-size:13.5px;color:var(--ink);min-width:60px;text-align:right}
.bar-pct{color:var(--muted);font-size:11.5px;font-weight:700}
.pk-badge{font-size:10.5px;font-weight:800;border-radius:999px;padding:2.5px 9px;flex:none}
.pk-top{color:var(--green-d);background:var(--green-soft)}
.pk-low{color:var(--pink-d);background:var(--pink-soft)}

.rep-sec{font-size:15px;font-weight:900;color:var(--grey);padding:16px 24px 0}
.rep-datebar{display:flex;align-items:center;gap:10px;padding:12px 24px 0;flex-wrap:wrap}
.rep-nav{width:38px;height:38px;border-radius:14px;font-size:19px;font-weight:800;color:var(--grey);
  background:var(--card);box-shadow:var(--clay-sm);display:grid;place-items:center}
.rep-nav:disabled{color:#c6cbc0;box-shadow:var(--clay-in);cursor:default}
.rep-date{font-size:15.5px;font-weight:900;color:var(--ink);background:var(--soft);
  border-radius:999px;padding:9px 19px;box-shadow:var(--clay-in)}
.rep-today{font-size:13px;font-weight:800;color:var(--blue-d);background:var(--blue-soft);
  border-radius:999px;padding:8px 15px;box-shadow:var(--clay-xs)}
.rep-carry{font-size:13px;font-weight:800;color:var(--yellow-d)}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:14px 24px 0}
.leader{display:flex;gap:10px;flex-wrap:wrap;padding:12px 24px 0}
.lchip{font-size:14px;font-weight:800;color:var(--ink);background:var(--card);
  border-radius:999px;padding:9px 17px;box-shadow:var(--clay-sm)}
.lchip b{font-family:var(--disp);color:var(--green-d)}
.rep-list{display:flex;flex-direction:column;gap:10px;padding:14px 24px 26px}
.rep-row{display:flex;align-items:center;gap:13px;background:var(--card);border-radius:18px;
  padding:13px 17px;font-size:14.5px;box-shadow:var(--clay-sm)}
.rep-row>div:first-child{flex:1;min-width:0;line-height:1.55}
.rc{font-family:var(--mono);font-size:12px;color:var(--muted)}
.rdur{font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--teal-d);
  background:var(--teal-soft);border-radius:999px;padding:5px 12px;flex:none}
.rp{font-family:var(--disp);font-weight:800;font-size:13px;color:var(--green-d);
  background:var(--green-soft);border-radius:999px;padding:5px 13px;flex:none}
.redit{font-size:12.5px;font-weight:800;color:var(--blue-d);background:var(--blue-soft);
  border-radius:999px;padding:6px 14px;flex:none;box-shadow:var(--clay-xs)}

/* ============ SPLIT COMPOSER ============ */
.sp-wrap{padding:18px 24px 26px}
.sp-billhead{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:16px;margin-bottom:13px}
.sp-pill{font-size:12.5px;font-weight:800;color:var(--grey);background:var(--soft);
  border-radius:999px;padding:5px 13px;box-shadow:var(--clay-in)}
.sp-muted{color:var(--muted);font-size:13px;font-weight:600}
.sp-notice{font-size:14px;font-weight:700;color:var(--blue-d);background:var(--blue-soft);
  border-radius:16px;padding:12px 17px;margin-bottom:12px;box-shadow:var(--clay-sm);line-height:1.6}
.sp-prog{position:relative;height:30px;border-radius:999px;background:var(--soft);
  box-shadow:var(--clay-in);overflow:hidden;margin-bottom:16px}
.sp-prog i{position:absolute;inset:0 auto 0 0;border-radius:999px;
  background:linear-gradient(150deg,#a5c78e,#89b070);transition:width .25s;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.4),inset 0 -3px 6px rgba(60,90,45,.25)}
.sp-prog span{position:absolute;inset:0;display:grid;place-items:center;
  font-size:13px;font-weight:900;color:var(--ink)}
.sp-matwrap{overflow-x:auto;background:var(--soft);border-radius:22px;padding:6px;box-shadow:var(--clay-in)}
.sp-table{border-collapse:separate;border-spacing:6px;min-width:760px;width:100%}
.sp-table th,.sp-table td{background:var(--card);border-radius:16px;padding:11px 13px;
  font-size:13.5px;text-align:center;vertical-align:middle;box-shadow:var(--clay-xs)}
.sp-table thead th{vertical-align:top}
.sp-linecell{text-align:left!important;min-width:210px}
.sp-item{display:flex;align-items:center;gap:11px;font-size:14px}
.sp-thumb{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;
  color:#fff;font-family:var(--disp);font-weight:900;font-size:12px;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.35),inset 0 -3px 6px rgba(0,0,0,.18)}
.sp-ord{font-family:var(--disp);font-weight:900;font-size:17px}
.sp-pcol{min-width:190px}
.sp-pname{font-weight:900;font-size:14.5px;margin-bottom:6px}
.sp-sublbl{font-size:11px;font-weight:700;color:var(--muted);margin:6px 0 3px;text-align:left}
.sp-f{margin-top:9px;text-align:left}
.sp-flbl{display:block;font-size:10.5px;font-weight:800;color:var(--grey);margin-bottom:4px;text-align:left}
.sp-billpick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.sp-sel{width:100%;font-size:12.5px;font-weight:700;border:none;border-radius:11px;
  background:var(--soft);padding:8px 9px;box-shadow:var(--clay-in);outline:none;cursor:pointer}
.sp-chip{display:inline-block;font-size:11.5px;font-weight:800;border-radius:999px;padding:4px 12px;margin-top:7px}
.sp-c-ready{background:var(--green-soft);color:var(--green-d)}
.sp-c-wait{background:var(--yellow-soft);color:var(--yellow-d)}
.sp-c-pre{background:var(--purple-soft);color:var(--purple-d)}
.sp-own{font-size:11px;color:var(--muted);font-weight:700;margin-top:6px}
.sp-trk{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:3px}
.sp-step{display:inline-flex;align-items:center;gap:9px;background:var(--soft);
  border-radius:999px;padding:5px 7px;box-shadow:var(--clay-in)}
.sp-step b{font-family:var(--disp);font-size:15px;min-width:20px}
.sp-step.zero b{color:#c2c8bc}
.sp-step button{width:26px;height:26px;border-radius:50%;font-size:15px;font-weight:800;color:var(--grey);
  background:var(--card);box-shadow:var(--clay-xs);display:grid;place-items:center}
.sp-step button:active{box-shadow:var(--clay-in)}
.sp-addth{font-size:12px;color:var(--muted);font-weight:800}
.sp-unassigned{font-family:var(--disp);font-weight:900;font-size:16px}
.sp-u-left{color:var(--pink-d);background:var(--pink-soft)!important}
.sp-u-ok{color:var(--green-d)}
.sp-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--grey);margin:13px 2px}
.sp-legend span{display:inline-flex;align-items:center;gap:7px}
.sp-sw{width:14px;height:14px;border-radius:5px;display:inline-block;box-shadow:var(--clay-xs)}
.sp-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:4px}
.sp-btn{font-size:14px;font-weight:800;color:var(--grey);background:var(--card);
  border-radius:999px;padding:10px 19px;box-shadow:var(--clay-sm)}
.sp-btn:active{box-shadow:var(--clay-in)}
.sp-btn.mini{font-size:12.5px;padding:7px 14px;margin-top:8px}
.sp-btn.primary{color:#fff;background:linear-gradient(150deg,#9cc084,#7da963);
  box-shadow:0 8px 18px rgba(96,130,70,.32),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(55,85,40,.28)}
.sp-err{font-size:13.5px;font-weight:800;color:var(--pink-d)}

/* ============ OVERLAYS / DIALOGS ============ */
.overlay{
  display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;
  background:rgba(74,84,72,.38);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  padding:20px;
}
.overlay.show{display:flex}
.dialog{
  width:100%;max-width:480px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;
  background:var(--card);border-radius:26px;box-shadow:0 24px 60px rgba(50,60,45,.35),var(--clay);
  overflow:hidden;
}
.dialog-body{padding:22px 24px;text-align:center;overflow-y:auto}
.dialog-body .ic{
  width:64px;height:64px;border-radius:24px;display:grid;place-items:center;margin:0 auto 14px;
  font-size:28px;font-weight:900;color:#fff;
}
.dialog.err .ic{background:linear-gradient(150deg,#e59aa0,#d47880);
  box-shadow:0 8px 18px rgba(200,110,120,.35),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(150,60,70,.3)}
.dialog.ok .ic{background:linear-gradient(150deg,#9cc084,#7da963);
  box-shadow:0 8px 18px rgba(96,130,70,.35),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(55,85,40,.3)}
.dialog-body h3{font-size:19px;font-weight:900;margin-bottom:6px}
.dialog-body p{font-size:14.5px;color:var(--grey);line-height:1.65}
.dialog-body .code{
  font-family:var(--mono);font-size:15px;font-weight:700;color:var(--pink-d);
  background:var(--pink-soft);border-radius:14px;padding:10px 16px;margin-top:13px;display:inline-block;
  box-shadow:var(--clay-in);
}
.ok-list{text-align:left;font-size:14.5px;line-height:2.1;color:#4d564b;
  background:var(--soft);border-radius:18px;padding:14px 19px;margin-top:8px;box-shadow:var(--clay-in)}
.dialog-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 22px 20px}
.dbtn{font-size:14.5px;font-weight:800;color:var(--grey);background:var(--soft);
  border-radius:999px;padding:11px 22px;box-shadow:var(--clay-sm)}
.dbtn:active{box-shadow:var(--clay-in)}
.dbtn.primary{color:#fff;background:linear-gradient(150deg,#9cc084,#7da963);
  box-shadow:0 8px 18px rgba(96,130,70,.32),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(55,85,40,.28)}
.dl-body{text-align:left}
.dl-head{font-size:13.5px;font-weight:700;color:var(--muted);margin-bottom:12px;line-height:1.6}
.dl-item{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.dl-thumb{width:40px;height:40px;flex:none;border-radius:13px;display:grid;place-items:center;
  font-family:var(--disp);font-weight:900;font-size:12px;color:rgba(61,69,60,.6);box-shadow:var(--clay-in)}

/* dialogs ~ shared bits */
.prep-cust{font-size:15.5px;line-height:1.6;background:var(--soft);border-radius:16px;
  padding:12px 17px;margin-bottom:15px;box-shadow:var(--clay-in)}
.prep-l{display:block;font-size:13.5px;font-weight:800;color:var(--grey);margin-bottom:8px}
.prep-photo{display:flex;align-items:center;gap:10px}
.rp-line{background:var(--soft);border-radius:18px;padding:13px 16px;margin-bottom:11px;box-shadow:var(--clay-in)}
.rp-l-name{font-size:14.5px;font-weight:800;margin-bottom:4px}
.rp-opts{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.rp-opt{font-size:13px;font-weight:800;color:var(--grey);background:var(--card);
  border-radius:999px;padding:8px 15px;box-shadow:var(--clay-sm)}
.rp-opt.sel{color:#fff;background:linear-gradient(150deg,#8db4d4,#6f9cc2);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.45),inset 0 -3px 6px rgba(45,80,110,.3),0 5px 12px rgba(90,130,165,.25)}
.rp-opt.back{color:var(--purple-d)}
.rp-opt.back.sel{color:#fff;background:linear-gradient(150deg,#84c4b6,#63ab9a);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.45),inset 0 -3px 6px rgba(45,95,82,.3),0 5px 12px rgba(85,150,133,.25)}
.rp-badge{font-size:10.5px;font-weight:800;color:var(--green-d);background:var(--green-soft);
  border-radius:999px;padding:2px 8px;margin-left:6px}
.rp-opt.sel .rp-badge{color:#fff;background:rgba(255,255,255,.25)}
.rp-sum{font-size:14px;line-height:2;text-align:left}
.rp-sum .adj{font-weight:800;color:var(--yellow-d)}
.rp-sum .mv{font-weight:800;color:var(--blue-d)}
.rp-sum .bk{font-weight:800;color:var(--purple-d)}

/* carry-over dialog */
.carry-job{display:flex;align-items:center;gap:12px;background:var(--soft);
  border-radius:16px;padding:12px 15px;margin-bottom:10px;box-shadow:var(--clay-in);
  font-size:14px;line-height:1.55}
.carry-job>div{flex:1;min-width:0}
.carry-tag{flex:none;font-size:11.5px;font-weight:800;color:#fff;border-radius:999px;padding:4px 12px;
  box-shadow:inset 0 1.5px 2px rgba(255,255,255,.4),inset 0 -2px 4px rgba(0,0,0,.18)}
.carry-go{flex:none;font-size:12.5px;font-weight:800;color:var(--blue-d);
  background:var(--blue-soft);border-radius:999px;padding:7px 14px;box-shadow:var(--clay-xs)}

/* create job dialog */
.cj-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cj-f{display:block;margin-bottom:13px}
.cj-f>span{display:block;font-size:13px;font-weight:800;color:var(--grey);margin-bottom:7px}
.cj-in{width:100%;font-size:14.5px;border:none;border-radius:14px;background:var(--soft);
  padding:11px 14px;outline:none;box-shadow:var(--clay-in);resize:vertical}
.cj-in:focus{box-shadow:var(--clay-in),0 0 0 3px rgba(124,167,201,.3)}
.cj-seg{display:flex;gap:8px}
.cj-opt{font-size:13.5px;font-weight:800;color:var(--grey);background:var(--card);
  border-radius:999px;padding:9px 18px;box-shadow:var(--clay-sm)}
.cj-opt.sel{color:#fff;background:linear-gradient(150deg,#8db4d4,#6f9cc2);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.45),inset 0 -3px 6px rgba(45,80,110,.3)}
.cj-item{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.cj-del{flex:none;width:32px;height:32px;border-radius:50%;font-size:15px;font-weight:800;
  color:var(--pink-d);background:var(--pink-soft);box-shadow:var(--clay-xs);display:grid;place-items:center}

/* search dialog */
.search-bar{margin-bottom:14px}
.search-input{width:100%;font-size:16px;border:none;border-radius:18px;background:var(--soft);
  padding:14px 19px;outline:none;box-shadow:var(--clay-in)}
.search-input:focus{box-shadow:var(--clay-in),0 0 0 3px rgba(124,167,201,.3)}
.sr-card{background:var(--soft);border-radius:20px;padding:15px 18px;margin-bottom:12px;box-shadow:var(--clay-in)}
.sr-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.sr-status{color:#fff;font-weight:800;font-size:12.5px;border-radius:999px;padding:4px 13px;
  box-shadow:inset 0 1.5px 2px rgba(255,255,255,.4),inset 0 -2px 4px rgba(0,0,0,.15)}
.sr-ref{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-left:auto}
.sr-cust{font-weight:900;font-size:16.5px}
.sr-ph{font-family:var(--mono);font-size:13px;color:var(--muted);font-weight:400;margin-left:6px}
.sr-items{font-size:14px;color:#4d564b;margin-top:3px}
.sr-meta{font-size:13px;color:var(--muted);margin-top:6px;font-weight:600}
.sr-upd{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.sr-sel{font-size:13.5px;font-weight:700;border:none;border-radius:12px;background:var(--card);
  padding:9px 11px;box-shadow:var(--clay-xs);outline:none;cursor:pointer}
.sr-note{flex:1;min-width:150px;font-size:13.5px;border:none;border-radius:12px;
  background:var(--card);padding:9px 13px;outline:none;box-shadow:var(--clay-in)}
.sr-save{font-size:13.5px;font-weight:800;color:#fff;border-radius:999px;padding:9px 17px;
  background:linear-gradient(150deg,#8db4d4,#6f9cc2);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.45),inset 0 -3px 6px rgba(45,80,110,.3),0 5px 12px rgba(90,130,165,.22)}
.sr-note-show{font-size:13px;color:var(--pink-d);margin-top:9px;font-weight:800}
.sr-hist{margin-top:12px;padding-top:12px;border-top:1.5px dashed #d8d7c8}
.sr-hist-h{font-size:12.5px;font-weight:800;color:var(--muted);margin-bottom:8px}
.sr-hev{display:flex;align-items:baseline;gap:8px;font-size:13px;margin-bottom:6px}
.sr-hev b{font-weight:800}
.sr-hdot{width:9px;height:9px;border-radius:50%;flex:none;align-self:center;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.4)}
.sr-hmeta{color:var(--muted)}

/* shipping label */
.label-src{font-size:12.5px;font-weight:700;border-radius:12px;padding:9px 14px;margin-bottom:13px}
.label-src.mkt{background:var(--orange-soft);color:var(--orange-d)}
.label-src.gen{background:var(--blue-soft);color:var(--blue-d)}
.ship-label{background:#fff;border:2px solid #3d453c;border-radius:14px;padding:15px;text-align:left}
.lb-top{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;margin-bottom:9px}
.lb-top span{font-size:11.5px;color:#777}
.barcode{height:44px;border-radius:4px;
  background:repeating-linear-gradient(90deg,#222 0 2px,#fff 2px 5px,#222 5px 6px,#fff 6px 11px,#222 11px 14px,#fff 14px 17px)}
.lb-track{font-family:var(--mono);font-weight:700;font-size:15px;text-align:center;margin:7px 0 11px;letter-spacing:1px}
.lb-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}
.lb-box{border:1.5px solid #3d453c;border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.65}
.lb-l{display:block;font-size:10px;font-weight:800;color:#888;margin-bottom:3px;letter-spacing:.5px}
.lb-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:11.5px;color:#555}
.lb-paid{font-weight:800;color:var(--green-d)}

/* toast */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,80px);z-index:200;
  display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:800;color:var(--ink);
  background:var(--card);border-radius:999px;padding:13px 22px;
  box-shadow:0 16px 40px rgba(50,60,45,.3),var(--clay-sm);
  opacity:0;transition:.28s cubic-bezier(.34,1.4,.5,1);pointer-events:none;max-width:min(92vw,560px);
}
.toast.show{transform:translate(-50%,0);opacity:1}
.toast .td{width:11px;height:11px;border-radius:50%;flex:none;
  box-shadow:inset 0 1.5px 2px rgba(255,255,255,.4),inset 0 -1.5px 3px rgba(0,0,0,.2)}

/* ============ RESPONSIVE ============ */
@media(max-width:1180px){
  .qcol{width:280px}
  .desk{padding:16px 18px 34px}
  .topbar{padding:16px 18px 0}
}
@media(max-width:920px){
  .applayout{flex-direction:column}
  .rail{
    width:100%;height:auto;position:sticky;top:0;flex-direction:row;align-items:center;
    padding:10px 14px;gap:10px;overflow-x:auto;
    background:rgba(233,236,228,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    box-shadow:0 6px 18px rgba(96,110,90,.12);
  }
  .rail-logo{width:40px;height:40px;border-radius:14px;font-size:20px;flex:none}
  .rail-logo svg{width:28px;height:28px}
  .nav{flex-direction:row;width:auto;gap:8px}
  .navitem{width:auto;flex-direction:row;padding:9px 14px;border-radius:999px;gap:7px;font-size:12.5px;white-space:nowrap}
  .navitem .ni-ic,.navitem .ni-ic svg{width:18px;height:18px}
  .rail-foot{margin:0 0 0 auto}
  .rail-foot button{width:38px;height:38px;border-radius:13px}
  .topbar{padding:14px 14px 0;gap:9px}
  .page-title{font-size:19px;width:100%}
  .clock{display:none}
  .avatar{display:none}
  .carrybar{margin:12px 14px 0}
  .desk{padding:14px 14px 30px}
  .pack-layout{flex-direction:column;padding:12px 14px 18px}
  .qcol{width:100%;max-height:340px}
  .dcol{max-height:none;overflow:visible;padding-right:0}
  .pk-grid,.bo-grid{grid-template-columns:1fr;padding:14px 16px 20px}
  .stat-wrap{padding:14px 16px 6px}
  .stat-kpis{grid-template-columns:repeat(2,1fr)}
  .kpi-grid{grid-template-columns:repeat(2,1fr);padding:12px 16px 0}
  .kpi .n{font-size:24px}
  .stat-charts{grid-template-columns:1fr}
  .rep-sec,.rep-datebar{padding-left:16px;padding-right:16px}
  .leader,.rep-list{padding-left:16px;padding-right:16px}
  .rep-row{flex-wrap:wrap}
  .sp-wrap{padding:14px 14px 20px}
  .window{border-radius:22px}
  .dialog{max-width:none;border-radius:22px}
  .cj-grid{grid-template-columns:1fr}
}

/* ============ เอกสารพิมพ์ (packing list / ใบเสร็จ) ============ */
.print-row{display:flex;gap:9px;margin-top:10px}
.doc-btn{flex:1;font-size:13.5px;font-weight:800;color:var(--teal-d);border-radius:14px;padding:11px;background:var(--teal-soft);box-shadow:var(--clay-sm)}
.doc-btn:active{box-shadow:var(--clay-in)}
.doc-paper{background:#fff;border:1.5px solid #3d453c;border-radius:12px;padding:16px 18px;text-align:left}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.doc-sub{font-size:11.5px;color:#777}
.doc-ref{font-family:var(--mono);font-weight:700;font-size:13px}
.doc-sec{font-size:13px;line-height:1.6;border:1px solid #ddd;border-radius:8px;padding:8px 11px;margin-bottom:10px}
.doc-table{width:100%;border-collapse:collapse;font-size:12.5px}
.doc-table th{border-bottom:1.5px solid #3d453c;text-align:left;padding:5px 4px;font-size:11px}
.doc-table td{border-bottom:1px dashed #ccc;padding:6px 4px;vertical-align:top}
.doc-sku{font-family:var(--mono);font-size:10.5px;color:#777}
.doc-foot{font-size:11.5px;color:#555;margin-top:10px}
.rc-paper{background:#fff;border:1.5px dashed #999;border-radius:8px;width:300px;margin:0 auto;padding:14px 16px;text-align:left;font-size:12.5px;line-height:1.7}
.rc-c{text-align:center}
.rc-line{border-top:1.5px dashed #bbb;margin:8px 0}
.rc-row{display:flex;justify-content:space-between;gap:10px}
.rc-b{font-weight:900;font-size:14px}
.rc-item{margin-bottom:4px}
.rc-note{font-size:11px;color:#a66;margin-top:6px;line-height:1.5}

/* ============ PRINT ============ */
@media print{
  body{background:#fff}
  .applayout,.toast{display:none!important}
  .overlay{display:none!important}
  .overlay.printable.show{position:static;display:block!important;background:none;padding:0;backdrop-filter:none}
  .overlay.printable.show .dialog{box-shadow:none;max-width:430px;border-radius:0;max-height:none}
  .overlay.printable.show .titlebar,.overlay.printable.show .dialog-foot,.overlay.printable.show .label-src{display:none!important}
  .doc-paper,.rc-paper{border-color:#000}
}
