.form-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 0;

  > * > tr,
  > tr {
    > * {
      padding: 0 var(--gap-default) var(--gap-sm) 0;
      vertical-align: middle;

      &:last-child {
        padding-right: 0;
      }
    }

    &:last-child > * {
      padding-bottom: 0;
    }

    > th {
      padding-left: var(--gap-sm);
      text-align: right;
      width: 0;
      white-space: nowrap;

      &.form-table-header {
        text-align: left;
        line-height: var(--line-height);
        margin-bottom: var(--gap-sm);
        color: var(--theme-gray-default);
        font-weight: normal;

        padding: var(--gap-xxl) 0 var(--gap-sm) 0;
        font-size: var(--font-size-sm);
      }
    }
  }

  > tbody:first-child > tr:first-child > th.form-table-header,
  > tr:first-child > th.form-table-header {
    padding-top: 0;
  }
}
