/* Mining page — builds on styles.css and market.css. */
.mn-add { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; margin-bottom: 10px; }
.mn-add label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); }
.mn-add label.grow { flex: 1; min-width: 220px; max-width: 420px; }
.mn-add input, .mn-add select, .mn-paste textarea, .mn-items input.qty, .mn-wh-opts input[type=number] {
  background: var(--bg); color: var(--text); border: 1px solid var(--line-2); border-radius: 7px; padding: 6px 8px; font: inherit; font-size: 13px; }
.mn-add #itemQty { width: 90px; }
.mn-add input.bad, .mn-items input.bad, .mn-wh-opts input.bad, .controls input.bad { border-color: var(--red); }
.mn-paste { margin: 0 0 10px; font-size: 12.5px; }
.mn-paste summary { cursor: pointer; color: var(--teal); width: max-content; }
.mn-paste textarea { display: block; width: 100%; max-width: 640px; box-sizing: border-box; font-family: var(--mono); font-size: 12px; resize: vertical; }
.mn-paste-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 8px; }
.mn-paste-row .hint { margin: 0; }

.mn-items tbody tr, .mn-table tr.static, .mn-table tr.items-row, .mn-lines tbody tr { cursor: default; }
.mn-items tbody tr:hover, .mn-table tr.static:hover, .mn-table tr.items-row:hover { background: none; }
.mn-items td.item, .mn-table td.item { max-width: 320px; overflow: hidden; text-overflow: ellipsis; }
.mn-items td.item img, .mn-table td.item img { vertical-align: middle; border-radius: 3px; }
.mn-items input.qty { width: 110px; text-align: right; font-family: var(--mono); font-size: 12.5px; padding: 3px 6px; }
.mn-items td small, .mn-table td small { font-family: system-ui, sans-serif; font-size: 10.5px; margin-left: 4px; }
.mn-table tr.open { background: rgba(45,212,191,.08); box-shadow: inset 3px 0 0 var(--teal); }
.mn-table tr.items-row > td { padding: 2px 10px 14px; white-space: normal; }
.mn-lines { width: auto; min-width: 520px; }
.mn-lines td { padding: 4px 10px; font-size: 12px; }
.routes .warn-num { color: var(--amber); }
.wh-mark { color: var(--tyc, #a78bfa); margin-left: 3px; font-family: system-ui, sans-serif; }
.sec.wh { color: var(--tyc, #a78bfa); }
.mn-wh tr.off td { opacity: .5; }
.mn-wh-opts { align-items: flex-end; }
.mn-wh-opts .check { flex-direction: row; align-items: center; padding-bottom: 7px; }
.mn-wh-opts input[type=number] { width: 70px; }
.mn-wh-opts fieldset input { width: 140px; }
.mn-wh-opts fieldset .btn { align-self: flex-end; }
#kpis:empty { display: none; }
@media (max-width: 700px) {
  .mn-add label.grow { min-width: 100%; }
  .mn-wh-opts fieldset { flex-wrap: wrap; }
}
.mn-wh-opts input[type=checkbox] { width: auto; }
.mn-table .place { max-width: 280px; }
.mn-table .place b { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.mn-table .place .badge + small, .mn-table .place b + .badge { vertical-align: 2px; }
