/* Shared ERP pieces used by every module (erp- prefix). */
.nowrap { white-space: nowrap; }
.ct-tbl .c, .ct-tbl th.c { text-align: center; }
.erp-small { font-size: 11.5px; margin: 8px 0 0; }
.erp-late, .erp-bad { color: var(--badFg, #b42335); font-weight: 700; }
.erp-ok { color: var(--okFg, #0d7a50); font-weight: 700; }
.erp-tl-note { margin-top: 4px; padding: 6px 9px; background: #f5f8fb; border-left: 3px solid #d6e0e9; border-radius: 2px; color: var(--text2); white-space: normal; }
.erp-indent { color: #9aaabb; margin-right: 6px; }
.erp-chip { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 8px; border-radius: 10px; background: #eef4fa; border: 1px solid #d6e2ee; font-size: 11.5px; white-space: nowrap; }
.erp-chip.off { opacity: .55; text-decoration: line-through; }
.erp-tilelink { text-decoration: none; color: inherit; }
.erp-tilelink:hover { border-color: var(--brand-primary); }
.erp-form2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.erp-form2 > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.erp-pstate { display: inline-block; min-width: 46px; padding: 2px 4px; border-radius: 3px; font-size: 11px; font-weight: 700; }
.erp-pstate.open { background: var(--okBg, #e3f6ee); color: var(--okFg, #0d7a50); }
.erp-pstate.soft_closed { background: var(--warnBg, #fff4dc); color: var(--warnFg, #8a5a00); }
.erp-pstate.closed { background: #e9eef3; color: #5b6f82; }
.erp-days { display: flex; gap: 4px; flex-wrap: wrap; }
.erp-days span { padding: 3px 7px; border-radius: 3px; background: #edf1f4; color: #9aaabb; font-size: 11.5px; font-weight: 700; }
.erp-days span.on { background: var(--brand-primary); color: #fff; }
.erp-days.pick label { margin-right: 6px; }
.erp-cal p { margin: 6px 0 0; }
.erp-json { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; background: #f5f8fb; border: 1px solid #e0e7ed; padding: 10px; border-radius: 3px; max-height: 360px; overflow: auto; }
.erp-postings tr.erp-jfirst td { border-top: 2px solid #d6e0e9; }
.erp-entity { display: flex; align-items: center; gap: 6px; margin-right: 6px; }
.erp-entity select { height: 30px; border-radius: 3px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; padding: 0 8px; font: inherit; font-size: 12px; max-width: 220px; }
.erp-entity select option { color: #0d2233; }
.erp-wsbar { display: flex; align-items: center; gap: 6px; }
.erp-wsbar select { max-width: 260px; }
.erp-sandbox { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 10px; background: #fff4dc; color: #8a5a00; font-size: 11px; font-weight: 700; }
.erp-steps-mini { display: flex; gap: 4px; flex-wrap: wrap; }
.erp-steps-mini span { padding: 2px 8px; border-radius: 10px; font-size: 11px; background: #edf1f4; color: #6b7f92; }
.erp-steps-mini span.done { background: var(--okBg, #e3f6ee); color: var(--okFg, #0d7a50); }
.erp-steps-mini span.on { background: var(--brand-primary); color: #fff; }
.erp-lines input.ct-input, .erp-lines select.ct-input { min-width: 90px; }
.erp-lines td { vertical-align: top; }
.erp-total td { font-weight: 700; background: #f5f8fb; }
@media (max-width: 760px) {
    .erp-form2 { grid-template-columns: 1fr; }
    .erp-entity select { max-width: 130px; }
}
.erp-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.erp-bulk select, .erp-bulk input { max-width: 220px; }
.erp-scanvideo { width: 100%; max-width: 360px; border-radius: 4px; margin-top: 8px; }
[data-card].drag { opacity: .5; }
.erp-checks { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.ct-tbl tr.erp-off td { opacity: .55; }
