.entry-form textarea {
  flex-grow: 1;
  font: inherit;
  padding: 8px;
  width: 100%;
}

.entry-form label {
  display: none;
}

.entry-form .amount {
  width: 220px;
}

.entry-form input[name='flag'] {
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
  width: 1.5em;
}

.entry-form input.account,
.entry-form input[name='narration'] {
  flex-basis: 200px;
  flex-grow: 1;
  min-width: 20em;
}

.entry-form input[name='payee'] {
  flex-basis: 100px;
  flex-grow: 1;
  min-width: 10em;
}

.entry-form input.metadata-value {
  flex-grow: 1;
  max-width: 15em;
}

.entry-form input.metadata-key {
  width: 10em;
}

.entry-form .remove-fieldset {
  opacity: 0;
}

.entry-form .fieldset:hover .remove-fieldset {
  opacity: 1;
}

.entry-form .metadata .add-row,
.entry-form .posting .add-row {
  display: none;
}

.entry-form .metadata:last-child .add-row,
.entry-form .posting:last-child .add-row {
  display: initial;
}

.entry-form .posting {
  padding-left: 50px;
}

.entry-form .posting:last-child .amount {
  width: 192px;
}

.entry-form .metadata {
  font-size: .8em;
  padding-left: 56px;
}

@media (max-width: 767px) {
  .entry-form.transaction label {
    display: initial;
    width: 100%;
  }

  .entry-form.transaction .fieldset input {
    height: 35px;
    margin: 0 .5em .5em 0;
  }

  .entry-form.transaction .metadata,
  .entry-form.transaction .posting {
    padding-left: 0;
  }
}
