/* Lager und Ausrüstung (ab DB 8). Telefon zuerst (375 px), Touch-Ziele ≥ 44 px, Farben nur aus den Tokens von app.css
   (Text-Kontrast ≥ 4,5:1; Warnungen nicht nur über Farbe: immer mit Text). */

.stock-item { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.stock-item.inactive { opacity: 0.7; }
.stock-qty { text-align: right; min-width: 72px; font-size: 1.15rem; }
.stock-qty .block { display: block; font-size: 0.8rem; }
.stock-actions .btn { min-height: 44px; }
.stock-next { margin-top: 8px; }

.issue-card .card-head, .order-card .card-head, .asset-card .card-head { align-items: flex-start; }
.issue-card h3, .order-card h3, .asset-card h3 { margin: 0; overflow-wrap: anywhere; }
.issue-card .btn, .order-card .btn, .asset-card .btn { min-height: 44px; }

.warn-box { background: var(--warn-soft); color: var(--warn); padding: 10px 12px; border-radius: 10px; margin: 6px 0; border-left: 4px solid var(--warn); }

/* grosse Zahlfelder */
.qty-wrap { display: flex; align-items: center; gap: 8px; }
.qty-input { font-size: 1.5rem; min-height: 56px; text-align: right; font-variant-numeric: tabular-nums; width: 100%; }
.qty-unit { font-size: 1.05rem; color: var(--muted); min-width: 48px; }

.code-input { display: flex; gap: 8px; flex: 1; min-width: 180px; }
.code-input input { flex: 1; }
.code-input .btn { min-height: 44px; }
.scan-video { width: 100%; max-height: 60vh; border-radius: 12px; background: #000; }

/* Inventur: Zählzeile */
.inv-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.inv-count { max-width: 120px; }
.inv-diff { display: flex; align-items: center; gap: 8px; flex: 1 1 100%; }
.inv-diff input { flex: 1; }

.export-text { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--bg); border: 1px solid var(--line); border-radius: 10px; padding: 10px; font-size: 0.9rem; }

@media (min-width: 700px) {
	.stock-item { flex-wrap: nowrap; }
	.inv-diff { flex: 0 1 320px; }
}
