main > .panel { margin-bottom: 16px; }
summary { cursor: pointer; font-weight: 700; }
#operation-title, #cycle-title, #pack-title { margin-bottom: 8px; }
.scan-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 16px 0 10px; }
.scan-form > label:first-child { flex: 1 1 220px; }
.scan-form .camera-label { flex: 1 1 190px; }
.camera-preview video { display: block; width: 100%; max-width: 480px; max-height: 45vh; background: #14293a; border-radius: 6px; }
.scan-status { padding: 10px 12px; margin-top: 12px; border-radius: 6px; background: #e7f2f3; overflow-wrap: anywhere; }
.scan-status[data-error="true"] { background: #fbe9e7; color: #912e26; }
.physical-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.carton-list { padding-left: 20px; }
.carton-list li { margin: 6px 0; }
.carton-list button { margin-left: 8px; }
.table-wrap { margin: 8px 0; }
.table-wrap td button { margin: 2px; }
.table-wrap tr[data-selected="true"] { background: var(--soft); }
@media (max-width: 620px) {
  table { min-width: 470px; }
}
