.item-row { position: relative; }
.item-row .name { min-height: 44px; }
.item-row .name-text { overflow-wrap: anywhere; }
.item-row .qty[role="button"] {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}
.item-row .qty-editor {
  position: absolute;
  inset-inline-end: 48px;
  top: 50%;
  transform: translateY(-50%);
  padding: 4px;
  z-index: 10;
  background: var(--color-surface);
  box-shadow: 0 2px 8px #0002;
}
.item-row .qty-input { font-size: 16px; min-height: 44px; }

.completed-items > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.completed-items > summary::-webkit-details-marker { display: none; }
.completed-items > summary::before { content: "▸"; }
.completed-items[open] > summary::before { content: "▾"; }
.completed-items > summary .badge { margin-inline-start: auto; }

@media (max-width: 640px) {
  .item-row {
    grid-template-columns: 44px minmax(0, 1fr) auto 44px !important;
    column-gap: 4px;
  }
  .item-row .item-drag-handle { display: none; }
  .btn, .input { min-height: 44px; }
  .add-bar input { min-width: 0; min-height: 44px; font-size: 16px; }
  .add-bar button { min-width: 44px; min-height: 44px; }
  [data-controller~="list-items-manager"] summary { min-height: 44px; }
  .page-hero details button { min-height: 44px; }
  .shopping-store-picker { min-height: 44px; display: flex; align-items: center; }
}
