.grants { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 0.75rem; }

.grants__member {
  padding: 1rem;
  border: 1px solid var(--line); border-radius: 0.5rem;
}

.grants__head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }

.grants__email { font-weight: 600; }

/* The note carries what an empty list cannot: an owner reaching everything and
   somebody reaching nothing both render as no shop rows, and only the sentence
   tells them apart. */
.grants__note { margin: 0.5rem 0 0; color: var(--ink-soft); font-size: 0.875rem; }

.grants__shops { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 0.5rem; }

.grants__shop {
  display: flex; flex-wrap: wrap; gap: 0.75rem;
  align-items: center; justify-content: space-between;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--line); border-radius: 0.375rem;
}

.grants__shop-name { font-weight: 600; }
.grants__shop-role { color: var(--ink-soft); font-size: 0.875rem; }

.grants__open, .grants__grant { margin-top: 0.75rem; }

.grants__open-toggle, .grants__grant-toggle {
  list-style: none; cursor: pointer;
  font-size: 0.875rem; font-weight: 600;
}

.grants__open-toggle::-webkit-details-marker,
.grants__grant-toggle::-webkit-details-marker { display: none; }
