/* Receive dock monitoring — single title; hide desk subline + timestamp */
body.wms-desk-monitoring-only .wms-desk-workspace__top--hidden {
  display: none;
}
#wmsDeskOpsRoot[data-wms-domain="receive"] .wms-factory-head__sub,
#wmsDeskOpsRoot[data-wms-domain="receive"] #wmsFacUpdated {
  display: none !important;
}

body { margin:0; font-family:system-ui,-apple-system,Segoe UI,sans-serif; background:#f4f6f8; color:#0f172a; }
.page { max-width:1240px; margin:0 auto; padding:18px 22px 36px; }
.back-bar { margin:0 0 10px; display:flex; gap:8px; flex-wrap:wrap; }
.back-bar a, .btn-link, button {
  display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#0f172a;
  text-decoration:none; padding:7px 12px; border:1px solid #cbd5e1; border-radius:8px; background:#ffffff;
}
button { cursor:pointer; }
.btn-link { color:#0d5c63; border-color:#0d5c63; background:#eff6ff; }
.back-bar a:hover { border-color:#0d5c63; color:#127a84; }
h1 { margin:0 0 6px; }
.sub { margin:0 0 12px; color:#64748b; }
.panel { border:1px solid #e2e8f0; border-radius:10px; background:#ffffff; padding:12px; margin-bottom:12px; }
.panel h2 { margin:0 0 10px; font-size:16px; }
.grid { display:grid; grid-template-columns:repeat(3, minmax(180px,1fr)); gap:10px; }
label { display:flex; flex-direction:column; gap:5px; color:#64748b; font-size:12px; }
input { border:1px solid #cbd5e1; border-radius:7px; background:#ffffff; color:#0f172a; padding:8px; font-size:13px; }
.wide { grid-column:1 / -1; }
.row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.head-row { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.hint { color:#94a3b8; font-size:12px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th, td { border-bottom:1px solid #1e293b; text-align:left; padding:8px 6px; font-size:12px; vertical-align:top; }
th { color:#93c5fd; font-size:11px; text-transform:uppercase; letter-spacing:.03em; }
.mono { font-family:ui-monospace,monospace; }
.badge { display:inline-block; padding:2px 7px; border-radius:999px; border:1px solid #475569; color:#cbd5e1; font-size:10px; margin-right:4px; }
.od { border-color:#f97316; color:#fdba74; }
.disc { border-color:#eab308; color:#fde047; }
.kv { display:grid; grid-template-columns:180px 1fr; gap:6px 10px; margin:8px 0 12px; }
.kv .k { color:#94a3b8; }
.err { color:#fca5a5; border:1px solid #7f1d1d; background:#1c1917; border-radius:8px; padding:8px 10px; margin-bottom:10px; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width: 980px) { .split { grid-template-columns:1fr; } .grid { grid-template-columns:1fr; } }

.recv-modal { position:fixed; inset:0; z-index:80; display:flex; align-items:flex-start; justify-content:center; padding:24px 12px 32px; overflow:auto; }
.recv-modal[hidden] { display:none !important; }
.recv-modal__backdrop { position:fixed; inset:0; background:rgba(2,6,23,.72); backdrop-filter:blur(6px); }
.recv-modal__panel.glass {
  position:relative; z-index:1; width:min(1040px,100%);
  border:1px solid #e2e8f0; border-radius:14px;
  background:#ffffff;
  box-shadow:0 24px 64px rgba(15,23,42,.18);
  color:#0f172a;
  padding:16px 18px 20px; max-height:calc(100vh - 48px); overflow:auto;
}
.recv-modal__head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.recv-modal__head h2 { margin:0; font-size:18px; color:#0f172a; }
.recv-modal__head-actions { display:flex; gap:8px; flex-wrap:wrap; }
.recv-scan-banner {
  margin-bottom:12px; padding:10px 12px; border-radius:10px;
  border:1px solid #bae6fd; background:#e0f2fe;
  color:#0c4a6e; font-size:13px; font-weight:600;
}
.recv-variance-banner {
  margin-bottom:12px; padding:12px 14px; border-radius:10px;
  border:1px solid #fecaca; background:#fef2f2;
  color:#991b1b; font-size:13px; font-weight:600;
}
.recv-variance-banner__title { margin:0 0 4px; font-size:14px; font-weight:700; color:#b91c1c; }
.recv-variance-banner__body { margin:0 0 10px; font-weight:500; color:#991b1b; }
.recv-variance-banner__actions { display:flex; flex-wrap:wrap; gap:8px; }
.recv-variance-banner__actions .btn-link { color:#166534; font-weight:700; }
.recv-resolve-sheet {
  position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center;
  padding:16px; background:rgba(15,23,42,.35);
}
.recv-resolve-sheet[hidden] { display:none !important; }
.recv-resolve-sheet__panel {
  width:min(420px,100%); padding:16px 18px; border-radius:12px;
  border:1px solid #e2e8f0; background:#fff; box-shadow:0 12px 40px rgba(15,23,42,.18);
}
.recv-resolve-sheet__title { margin:0 0 6px; font-size:16px; color:#0f172a; }
.recv-resolve-sheet__hint { margin:0 0 12px; font-size:13px; color:#64748b; }
.recv-resolve-sheet__field { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; font-size:13px; color:#334155; }
.recv-resolve-sheet__field input {
  padding:8px 10px; border-radius:8px; border:1px solid #cbd5e1; font-size:15px;
}
.recv-resolve-sheet__actions { gap:8px; margin-top:4px; }
.recv-carton-exec-wrap { scroll-margin-top:12px; }
.recv-qr-block {
  display:flex; flex-wrap:wrap; gap:16px; align-items:center;
  margin-bottom:14px; padding:12px; border-radius:12px;
  border:1px solid #e2e8f0; background:#f8fafc;
}
.recv-qr-img-wrap { flex:0 0 auto; padding:8px; border-radius:10px; background:#ffffff; border:1px solid #e2e8f0; }
.recv-qr-img-wrap img,
.recv-qr-img-wrap canvas,
.recv-qr-host img,
.recv-qr-host canvas { display:block; border-radius:6px; max-width:280px; max-height:280px; }
.recv-qr-meta { flex:1; min-width:200px; }
.recv-qr-caption { margin:0 0 6px; color:#64748b; font-size:12px; }
.recv-qr-text { margin:0; font-size:14px; color:#0f172a; font-weight:600; word-break:break-all; }
.recv-summary-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px;
  margin-bottom:12px;
}
.recv-sum-card { border:1px solid #e2e8f0; border-radius:10px; padding:10px 12px; background:#f8fafc; }
.recv-sum-card .k { font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#64748b; margin-bottom:4px; }
.recv-sum-card .v { font-size:14px; color:#0f172a; font-weight:600; }
.recv-modal__links { margin:10px 0 12px; }
.recv-modal__body .split { margin-top:8px; }
.recv-cockpit-card {
  border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc;
  padding:12px 14px; margin-bottom:12px;
}
.recv-cockpit-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px 14px;
}
.recv-cockpit-k { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#64748b; margin-bottom:4px; }
.recv-cockpit-v { font-size:14px; color:#0f172a; font-weight:600; }
.recv-cockpit-status-row { margin-top:10px; padding-top:10px; border-top:1px solid #e2e8f0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.recv-cockpit-status { font-size:14px; font-weight:700; color:#0f172a; }
.recv-cockpit-exc { font-size:12px; color:#b45309; font-weight:600; }
.recv-cockpit-sub { margin:0 0 8px; font-size:15px; color:#0f172a; }
.recv-cockpit-note { margin:8px 0 10px; font-size:12px; color:#64748b; }
.recv-cockpit-po-actions { gap:8px; }
.recv-po-closed-chip {
  display:inline-block;
  padding:6px 12px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#64748b;
  background:#f1f5f9;
  border:1px solid #cbd5e1;
  border-radius:6px;
  cursor:not-allowed;
  user-select:none;
}
.recv-po-control-status {
  margin:8px 0 4px;
  padding:8px 10px;
  font-size:13px;
  font-weight:600;
  border-radius:6px;
}
.recv-po-control-status--info { color:#1e40af; background:#eff6ff; border:1px solid #bfdbfe; }
.recv-po-control-status--ok { color:#166534; background:#f0fdf4; border:1px solid #bbf7d0; }
.recv-po-control-status--warn { color:#92400e; background:#fffbeb; border:1px solid #fde68a; }
.recv-po-control-status--err { color:#991b1b; background:#fef2f2; border:1px solid #fecaca; }
.recv-collapse { margin-bottom:12px; border:1px solid #e2e8f0; border-radius:10px; padding:8px 12px; background:#fff; }
.recv-collapse summary { cursor:pointer; font-weight:600; color:#334155; font-size:13px; }
.recv-carton-exec-wrap { margin-bottom:12px; }
.recv-carton-exec table th { color:#334155; }
.recv-modal__links--primary .recv-btn-primary { font-weight:700; border-color:#0d5c63; }
.recv-audit-details[open] .recv-summary-grid { margin-top:10px; }
.recv-modal__panel h3 { margin:0 0 8px; font-size:15px; color:#0f172a; }
.recv-modal__panel .kv { color:#0f172a; }
.recv-modal__panel .kv .k { color:#64748b; }
.recv-modal__panel table th,
.recv-modal__panel table td {
  border-bottom-color:#e2e8f0;
  color:#0f172a;
}
.recv-modal__panel table th {
  color:#334155;
  font-weight:600;
}
.recv-modal__panel .err {
  color:#991b1b;
  border-color:#fecaca;
  background:#fef2f2;
}
.recv-modal__panel .mono { color:#0f172a; }
tr.recv-row-highlight td { background:rgba(14,165,233,.12); box-shadow:inset 0 0 0 1px rgba(14,165,233,.35); }

.recv-workspace-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
}
.wms-desk-page > .recv-workspace-tabs--top {
  margin: 4px 0 12px;
  padding-top: 0;
}

.recv-main-stage {
  margin: 0 0 14px;
  min-height: 200px;
}
.recv-main-stage .recv-panel.is-hidden {
  display: none !important;
}
.recv-main-stage .wms-desk-sec {
  margin-bottom: 0;
}

/* Light desk tables — high contrast (main stage) */
.recv-main-stage table th,
.recv-main-stage table td {
  border-bottom-color: #e2e8f0;
  color: #0f172a;
}
.recv-main-stage table th {
  color: #334155;
  font-weight: 600;
}
.recv-main-stage .badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid #94a3b8;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 4px 4px 0;
}
.recv-main-stage .badge--st-awaiting_receive {
  background: #dbeafe;
  border-color: #2563eb;
  color: #1e3a8a;
}
.recv-main-stage .badge--st-ready_for_putaway {
  background: #d1fae5;
  border-color: #059669;
  color: #065f46;
}
.recv-main-stage .badge--st-partial {
  background: #fef3c7;
  border-color: #d97706;
  color: #92400e;
}
.recv-main-stage .badge--st-closed_received,
.recv-main-stage .badge--st-closed_rejected,
.recv-main-stage .badge--st-closed_returned {
  background: #e2e8f0;
  border-color: #64748b;
  color: #1e293b;
}
.recv-main-stage .badge--disp-none {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #475569;
}
.recv-main-stage .badge.od {
  background: #ffedd5;
  border-color: #ea580c;
  color: #9a3412;
}
.recv-main-stage .badge.disc {
  background: #fef9c3;
  border-color: #ca8a04;
  color: #854d0e;
}

/* Receive detail modal — light badges (match main stage) */
.recv-modal .badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid #94a3b8;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 4px 4px 0;
}
.recv-modal .badge--st-awaiting_receive {
  background: #dbeafe;
  border-color: #2563eb;
  color: #1e3a8a;
}
.recv-modal .badge--st-ready_for_putaway {
  background: #d1fae5;
  border-color: #059669;
  color: #065f46;
}
.recv-modal .badge.od {
  background: #ffedd5;
  border-color: #ea580c;
  color: #9a3412;
}
.recv-modal .badge.disc {
  background: #fef9c3;
  border-color: #ca8a04;
  color: #854d0e;
}

body.recv-closed-loop-active #wmsMonitorBoard,
body.recv-closed-loop-active #wmsFactoryBoard,
.wms-desk-workspace--monitor-collapsed #wmsMonitorBoard,
.wms-desk-workspace--monitor-collapsed #wmsFactoryBoard {
  display: none !important;
}
.recv-workspace-tabs__btn {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.recv-workspace-tabs__btn.is-active {
  border-color: #0d5c63;
  background: #eff6ff;
  color: #0d5c63;
}
.recv-panel.is-hidden { display: none !important; }
.recv-req-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #f97316;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.recv-po-link {
  border: none;
  background: none;
  padding: 0;
  color: #0d5c63;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  font-size: 12px;
}
.recv-filter-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #64748b;
}
.recv-filter-label select {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 12px;
}
.recv-req-actions { white-space: nowrap; }
.recv-req-actions--hero-fc {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.btn-ops-green,
.btn-ops-red {
  font-size: 11px;
  font-weight: 600;
  padding: 5px 8px;
  border-radius: 6px;
  border: 1px solid;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
}
.btn-ops-green {
  background: #dcfce7;
  border-color: #16a34a;
  color: #14532d;
}
.btn-ops-red {
  background: #fee2e2;
  border-color: #dc2626;
  color: #7f1d1d;
}
.recv-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  border: 1px solid #cbd5e1;
  color: #334155;
}
.recv-status--receiving { border-color: #0ea5e9; color: #0369a1; }
.recv-status--completed { border-color: #22c55e; color: #15803d; }
.recv-status--short_closed { border-color: #a855f7; color: #7e22ce; }
.recv-status--waiting_approval { border-color: #f97316; color: #c2410c; }

.recv-drawer {
  position: fixed;
  inset: 0;
  z-index: 90;
}
.recv-drawer[hidden] { display: none !important; }
.recv-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.45);
}
.recv-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(520px, 100%);
  height: 100%;
  background: #fff;
  border-left: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.12);
}
.recv-drawer__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid #e2e8f0;
}
.recv-drawer__head h2 { margin: 0; font-size: 17px; }
.recv-drawer__body {
  flex: 1;
  overflow: auto;
  padding: 12px 16px 20px;
}
.recv-drawer__foot {
  padding: 12px 16px;
  border-top: 1px solid #e2e8f0;
  flex-wrap: wrap;
}
.recv-po-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.recv-po-summary .recv-sum-card {
  border-color: #e2e8f0;
  background: #f8fafc;
}
.recv-po-summary .recv-sum-card .k { color: #64748b; }
.recv-po-summary .recv-sum-card .v { color: #0f172a; }
.recv-po-sub { margin: 14px 0 8px; font-size: 14px; }
.recv-mini-table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
.recv-mini-table th,
.recv-mini-table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 6px 4px;
  font-size: 11px;
  text-align: left;
}
