.qr-share-box {
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: .75rem;
  padding: 1rem;
  background: #fff;
}

.qr-share-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  border: 1px dashed var(--bs-border-color, #ced4da);
  border-radius: .5rem;
  background: #f8f9fa;
  padding: 12px;
  margin-bottom: 1rem;
}

.qr-reader-camera {
  position: relative;
  border: 1px solid var(--bs-border-color, #ced4da);
  border-radius: .75rem;
  overflow: hidden;
  background: #000;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qr-reader-camera video {
  width: 100%;
  height: auto;
  display: block;
}

.qr-reader-camera::after {
  content: '';
  position: absolute;
  inset: 10%;
  border: 2px dashed rgba(255, 255, 255, 0.35);
  border-radius: .5rem;
  pointer-events: none;
}

#itemsList .list-group-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

#itemsList .item-main {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  flex: 1 1 auto;
}

#itemsList .item-main .form-check-input {
  margin-top: .4rem;
}

#itemsList .item-details .item-name {
  font-weight: 600;
}

#itemsList .item-details .item-note {
  font-size: .85rem;
  color: var(--bs-secondary-color, #6c757d);
}

#itemsList .item-details .badge {
  font-size: .75rem;
}

#itemsList .done .item-name {
  text-decoration: line-through;
  color: var(--bs-secondary-color, #6c757d);
}

.history-list .history-entry {
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: .75rem;
  padding: 0.75rem 1rem;
  margin-bottom: 0.75rem;
  background: #fff;
}

.history-list .history-entry:last-child {
  margin-bottom: 0;
}

.history-list .history-entry .history-meta {
  font-size: .85rem;
  color: var(--bs-secondary-color, #6c757d);
}

#importPreview {
  padding-left: 1rem;
}

#importPreview li {
  list-style-type: disc;
}

@media (max-width: 768px) {
  #itemsList .list-group-item {
    flex-direction: column;
  }

  .qr-share-preview {
    min-height: 180px;
  }
}
