.admin-shell--narrow {
  max-width: 56rem;
}

.admin-shell__header.admin-shell__header--users {
  flex-wrap: nowrap;
  align-items: start;
}

.admin-shell__header.admin-shell__header--users > div {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-shell__header.admin-shell__header--users .button {
  flex: 0 0 auto;
}

.users-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.96rem;
}

.users-table th {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
}

.users-table th,
.users-table td {
  padding: 0.9rem 0.7rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.users-table__value--email {
  font-weight: 700;
  overflow-wrap: anywhere;
}

.users-table__pill,
.users-table__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.84rem;
  font-weight: 700;
}

.users-table__pill {
  background: rgba(255, 250, 244, 0.7);
  box-shadow: inset 0 0 0 1px var(--color-border);
}

.users-table__status--active {
  background: rgba(51, 95, 60, 0.12);
  color: var(--color-success);
}

.users-table__status--inactive {
  background: rgba(155, 48, 48, 0.12);
  color: var(--color-danger);
}

.users-table__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}

.users-table__actions form {
  margin: 0;
}

@media (max-width: 48rem) {
  .admin-shell__header.admin-shell__header--users {
    flex-direction: row;
    align-items: start;
    justify-content: space-between;
    gap: var(--space-3);
  }

  .admin-shell__header.admin-shell__header--users h1 {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  .table-card {
    padding: var(--space-4);
  }

  .users-table,
  .users-table thead,
  .users-table tbody,
  .users-table tr,
  .users-table th,
  .users-table td {
    display: block;
  }

  .users-table thead {
    display: none;
  }

  .users-table tbody {
    display: grid;
    gap: var(--space-4);
  }

  .users-table tr {
    display: grid;
    grid-template-areas:
      "email email"
      "role role"
      "status status"
      "actions actions";
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    background: rgba(255, 250, 244, 0.62);
    box-shadow: var(--shadow-card);
  }

  .users-table td {
    padding: 0;
    border: 0;
  }

  .users-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.74rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-ink-muted);
  }

  .users-table__cell--email {
    grid-area: email;
  }

  .users-table__cell--role {
    grid-area: role;
  }

  .users-table__cell--status {
    grid-area: status;
  }

  .users-table__cell--role .users-table__pill,
  .users-table__cell--status .users-table__status {
    justify-self: start;
    width: fit-content;
  }

  .users-table td.users-table__actions {
    grid-area: actions;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    margin-top: var(--space-2);
    padding-top: var(--space-3);
    border-top: 1px solid var(--color-border);
  }

  .users-table td.users-table__actions::before {
    content: none;
  }

  .users-table td.users-table__actions > * {
    margin: 0;
  }

  .users-table td.users-table__actions .button,
  .users-table td.users-table__actions a,
  .users-table td.users-table__actions form {
    width: 100%;
  }

  .users-table td.users-table__actions form {
    display: block;
  }

  .users-table td.users-table__actions form .button {
    width: 100%;
  }
}
