/* 📝 备货发货审核台 P1（2026-11-05，pages_invplan.js）。类名一律 ip- 前缀。图表配色经 dataviz 校验：AI #14967A / 运营 #C76A12 / 去年同期 #7B5CD6（虚线），实际用正文灰 */
.ip-wrap,.ip-drw{--ip-ai:#14967A;--ip-op:#C76A12;--ip-ly:#7B5CD6;--ip-act:var(--ink2)}.ip-wrap{padding:0 4px 40px}
.ip-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 12px}
.ip-head h2{margin:0;font-size:20px}.ip-sub{color:var(--ink3);font-size:12.5px}
.ip-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.ip-card h3{margin:0 0 10px;font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ip-zones{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.ip-zone{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--card);cursor:pointer;text-align:left;font:inherit;color:inherit}
.ip-zone.on{border:2px solid var(--acc);background:var(--acc-s)}
.ip-zone b{display:block;font-size:14px}.ip-zone small{display:block;color:var(--ink3);font-size:11.5px}
.ip-pg{height:5px;border-radius:4px;background:#EEF1EF;margin-top:5px;overflow:hidden}.ip-pg i{display:block;height:100%;background:var(--ok)}
.ip-flt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.ip-wrap .ip-flt input,.ip-wrap .ip-flt select,.ip-wrap select.ip-in,.ip-drw .ip-in{width:auto;margin:0;display:inline-block}
.ip-flt label{display:inline-flex;gap:5px;align-items:center;font-size:13px;white-space:nowrap}.ip-flt input[type=checkbox]{width:auto}
.ip-flt input,.ip-flt select,.ip-in{border:1px solid var(--line);border-radius:9px;padding:5px 9px;font:inherit;font-size:13px;background:var(--card);color:var(--ink)}
.ip-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ip-t{width:100%;border-collapse:collapse;font-size:13px}
.ip-t th{text-align:left;font-size:11.5px;color:var(--ink2);background:#F7F8F5;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0}
.ip-t td{padding:6px 8px;border-bottom:1px solid #EFF1EC;vertical-align:middle}
.ip-t tr.ip-r{cursor:pointer}.ip-t tr.ip-r:hover td{background:#FAFBF8}
.ip-n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ip-sku{display:flex;gap:8px;align-items:center;min-width:190px}.ip-sku img{width:36px;height:36px;border-radius:7px;object-fit:cover;background:#F1F3EF;flex:0 0 36px}
.ip-sku b{display:block;font-size:13px}.ip-sku span{display:block;font-size:11.5px;color:var(--ink3);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip-d{font-weight:800}.ip-d.up{color:var(--warn)}.ip-d.dn{color:var(--blue)}.ip-d.z{color:var(--ink3);font-weight:600}
.ip-lv{font-size:11.5px;font-weight:800;border-radius:999px;padding:1px 8px;white-space:nowrap;display:inline-block}
.ip-lv.g{background:var(--ok-s);color:var(--ok)}.ip-lv.o{background:var(--warn-s);color:var(--warn)}.ip-lv.r{background:var(--bad-s);color:var(--bad)}.ip-lv.n{background:#EEF1EF;color:var(--ink3)}
.ip-stg{font-size:12px;font-weight:700;white-space:nowrap}
.ip-more{text-align:center;margin-top:10px}
.ip-rule{font-size:12px;color:var(--ink3);margin-top:8px;line-height:1.7}
.ip-warn{background:var(--warn-s);border:1px solid #F1D2AE;color:#8A4F12;border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:12px}
/* 详情抽屉 */
.ip-mask{position:fixed;inset:0;background:rgba(20,30,25,.35);z-index:80}
.ip-drw{position:fixed;top:0;right:0;bottom:0;width:min(1080px,100vw);background:var(--bg);z-index:81;overflow-y:auto;box-shadow:-18px 0 40px -20px rgba(0,0,0,.35)}
.ip-dh{position:sticky;top:0;z-index:2;background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ip-dh h3{margin:0;font-size:17px}.ip-db{padding:14px 16px}
.ip-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ip-kpi{border:1px solid var(--line);border-radius:11px;padding:8px 10px;background:var(--card)}
.ip-kpi small{display:block;color:var(--ink3);font-size:11.5px}.ip-kpi b{display:block;font-size:19px;font-variant-numeric:tabular-nums}.ip-kpi span{font-size:11.5px;color:var(--ink2)}
.ip-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.ip-why{background:var(--ok-s);border:1px solid #CFE6D8;border-radius:11px;padding:9px 12px;font-size:13.5px;line-height:1.65}
.ip-opw{background:var(--warn-s);border:1px solid #F1D2AE;border-radius:11px;padding:9px 12px;font-size:13.5px;line-height:1.65}
.ip-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin:2px 0 6px}
.ip-leg span{display:inline-flex;align-items:center;gap:6px}.ip-leg i{display:inline-block;width:18px;border-top:2px solid}
.ip-ch{position:relative}.ip-ch svg{display:block;width:100%;height:auto}
.ip-tip{position:absolute;pointer-events:none;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 9px;font-size:12px;box-shadow:0 8px 22px -12px rgba(0,0,0,.35);display:none;min-width:150px;z-index:3}
.ip-tip b{display:block;margin-bottom:2px}.ip-tip div{display:flex;justify-content:space-between;gap:12px}.ip-tip em{display:inline-block;width:10px;height:2px;margin-right:5px;vertical-align:middle}
.ip-eg{border-collapse:separate;border-spacing:0;font-size:12.5px}
.ip-eg th,.ip-eg td{text-align:right;padding:4px 5px;white-space:nowrap}
.ip-eg th{font-size:11.5px;color:var(--ink2);font-weight:700;background:#F7F8F5}.ip-eg th.lk{background:#ECEFEA}.ip-eg th.m{background:#F2EEF9}
.ip-eg th:first-child,.ip-eg td:first-child{text-align:left;position:sticky;left:0;background:var(--card);z-index:1}
.ip-eg input{width:62px;text-align:right;border:1px solid var(--line);border-radius:7px;padding:3px 4px;font:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;background:var(--card);color:var(--ink)}
.ip-eg input.chg{background:var(--warn-s);border-color:#E9B57A}.ip-eg input:disabled{background:#F2F4F1;color:var(--ink3)}
.ip-eg small{display:block;font-weight:400;color:var(--ink3);font-size:10.5px}
.ip-rs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.ip-rs input{flex:1 1 280px}
.ip-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ip-log{font-size:12.5px;max-height:220px;overflow:auto}.ip-log div{border-bottom:1px dashed var(--line);padding:4px 0}.ip-log time{color:var(--ink3);margin-right:6px}
.ip-wh{font-size:12.5px;color:var(--ink2);margin-top:6px}
.ip-dlg textarea{width:100%;min-height:180px;border:1px solid var(--line);border-radius:10px;padding:8px;font:inherit;font-size:13px}
@media (max-width:1000px){.ip-zones{grid-template-columns:repeat(4,minmax(0,1fr))}.ip-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.ip-zones{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-two{grid-template-columns:1fr}.ip-db,.ip-dh{padding-left:12px;padding-right:12px}}
/* 2026-11-06 P2 / P3 / 物流时效（pages_invplan_flow.js），仍是 ip- 前缀 */
.ip-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.ip-tab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink2)}
.ip-tab.on{background:var(--acc-s);border-color:var(--acc);color:var(--deep);font-weight:800}
.ip-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:4px 0 8px}
.ip-step{border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:#FAFBF8;position:relative;min-width:0}
.ip-step b{display:block;font-size:12.5px}.ip-step small{display:block;font-size:11px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip-step.ok{background:var(--ok-s);border-color:#CFE6D8}.ip-step.ok b{color:var(--ok)}
.ip-step.on{background:var(--acc-s);border:2px solid var(--acc)}.ip-step.on b{color:var(--deep)}
.ip-tmo{display:inline-block;font-style:normal;font-size:10.5px;font-weight:800;color:var(--bad);background:var(--bad-s);border-radius:999px;padding:0 6px;margin-top:2px}
.ip-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#F7F8F5;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0 10px;font-size:13px}
.ip-bar .ip-in,.ip-drw .ip-kv .ip-in{width:auto;margin:0;display:inline-block}
.ip-at{font-size:11.5px;font-weight:800;border-radius:999px;padding:1px 8px;white-space:nowrap;background:#EEF1EF;color:var(--ink2)}
.ip-at.spec{background:var(--warn-s);color:var(--warn)}.ip-at.judge{background:var(--bad-s);color:var(--bad)}.ip-at.final{background:var(--ok-s);color:var(--ok)}.ip-at.sup,.ip-at.mgr{background:var(--blue-s);color:var(--blue)}
.ip-far{display:block;font-size:10.5px;color:var(--ink3);font-weight:400}
.ip-note{font-size:12px;line-height:1.5;min-width:180px;max-width:320px}
.ip-eg tr.ip-fin td{background:var(--ok-s);font-weight:700}
.ip-hist{font-size:13px;border-bottom:1px dashed var(--line);padding:4px 0}
.ip-kv{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:13px}.ip-kv span{flex:0 0 190px;color:var(--ink2)}.ip-kv .ip-in{flex:1 1 auto;min-width:0}
.ip-t tr.ip-late td{background:#FFF7F5}
.ip-bad,.tag.ip-bad{background:var(--bad-s);color:var(--bad)}
.ip-nm{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip-qin{width:74px;text-align:right;border:1px solid #E9B57A;background:var(--warn-s);border-radius:7px;padding:3px 5px;font:inherit;font-size:12.5px;font-variant-numeric:tabular-nums}
.ip-lts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:8px}
.ip-lt{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card);min-width:0}.ip-lt.bad{border:2px solid var(--bad)}
.ip-lth{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ip-lth b{font-size:14px}
.ip-ltbig{font-size:26px;font-weight:900;margin:6px 0;font-variant-numeric:tabular-nums}.ip-ltbig small{display:block;font-size:11.5px;color:var(--ink3);font-weight:400}
.ip-ltg{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:2px 8px;font-size:12.5px;margin-bottom:6px}.ip-ltg span{color:var(--ink3)}
.ip-ltd{font-size:12.5px;line-height:1.6;margin-top:6px;word-break:break-word}
.ip-ltf{margin-top:8px}.ip-ltf summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--deep)}
.ip-ltform{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;margin-top:6px}.ip-ltform label{display:flex;flex-direction:column;font-size:11.5px;color:var(--ink2);gap:2px;min-width:0}.ip-ltform label.w,.ip-ltform .ip-acts{grid-column:1/-1}.ip-ltform .ip-in{width:100%;margin:0}
.ip-ta{width:100%;min-height:120px;border:1px solid var(--line);border-radius:10px;padding:8px;font:inherit;font-size:13px}
.ip-logl{max-height:none}.ip-logl code{font-size:12px;background:#F2F4F1;border-radius:5px;padding:0 4px}
@media (max-width:1000px){.ip-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.ip-lts{grid-template-columns:1fr}}
@media (max-width:700px){.ip-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-kv{flex-direction:column;align-items:stretch}.ip-kv span{flex:none}.ip-ltform{grid-template-columns:1fr}}

/* 批量审：勾选列 / 勾选条 / 待讨论（2026-11-10）*/
.ip-t td.ip-ck{width:28px;cursor:default}.ip-t td.ip-ck input,.ip-t th input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}
.ip-selbar{background:#F1F7EE}.ip-selbar b{font-size:15px}
.ip-flag{color:#8A4F12;font-weight:600}
