Need form code with better alignment, uniform field sizes, and simplified styling for a cleaner look

enter image description hereenter image description hereThis form is designed to handle different message type.

My problem is lookup select component that fetches and displays the counterparty information based on a query condition for ex cpty_id and tp_platform these fields are causing issues.

I need to make changes in the form code to make sure that every input field within the same row has the same size but I am so unable to do so, Can someone help me in this regard ?

Please find the attached picture for more details.

<portal-form class="q-gutter-md" style="max-width: 1000px; border-radius: 10px; box-shadow: 1 0 10px rgba(0, 0, 0, 0.1); background-color: white; padding: 1px;">

  <!-- Radio Select for Different Recall Message Types-->
   <div style="font-weight: bold;">
    <radio-select
      field="recallType"
      label="Message Type:"
      :options="recallTypeOptions"
      required
      @update:value="updateStatus"
      style="margin-bottom: 20px; font-size: 18px; color: #333;"
    />
  </div>

  <!-- Conditional rendering based on selected recall type -->
  <template v-if="formData.recallType">
  
    <!-- Mandatory Fields -->
    <div style="margin-bottom: 20px; font-size: 18px; font-weight:bold; color: #333;">{{ i18n.translate('mandatoryFields') }}</div>
    <div class="row" style="margin-bottom: 20px;">
      <text-input field="trade_ref_no" required :max-length="16" class="col-6" style="border-radius: 5px; padding: 23px; border: 1px solid #ccc; box-sizing: border-box;"/>
      <lookup-select field="cpty_id" result-field="userIdentifierOrganisationAddress" :query-condition="counterpartyQueryCondition" required class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
    </div>
    <div class="row" style="margin-bottom: 20px;">
      <text-input field="cusip_isin" required class="col-6" :max-length="12" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
      <number-input field="qty" required min="0.000001" max="999999999.999999" fixed-fraction-digits="6" class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
    </div>
    <div class="row" style="margin-bottom: 20px;">
      <text-input v-if="showRejectionField" field="rejection_reason" exists :max-length="40" class="col-12" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
    </div>

    <!-- Added space -->
    <div style="margin-bottom: 40px;"></div>
    
    <!-- Nested Sections if all mandatory fields are filled -->
    <template v-if="formData.trade_ref_no && formData.cpty_id && formData.cusip_isin && formData.qty">
      
      <!-- Recall Party Details -->
      <div style="margin-top: 30px; font-size: 18px; font-weight:bold; color: #333;">{{ i18n.translate('partyDetails') }}</div>
      <div class="q-pl-md">
        <div class="row" style="margin-bottom: 20px;">
          <text-input field="cuid" upper-case :max-length="4" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <text-input field="borrower_type" :max-length="20" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        <!-- New Reference Data Setup for TP Platform -->
        <lookup-select field="tp_platform" result-field="tp_platform" :query-condition="tpPlatformQueryCondition"  class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
        <div class="row" style="margin-bottom: 20px;">
          <text-input field="client_lei" :max-length="20" class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <text-input field="cpty_lei" :max-length="20" class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
      </div>

      <!-- Add space -->
      <div style="margin-bottom: 40px;"></div>

      <!-- Recall Trade Details -->
      <div style="margin-top: 30px; font-size: 18px; font-weight:bold; color: #333;">{{ i18n.translate('tradeDetails') }}</div>
      <div class="q-pl-md">
        <div class="row" style="margin-bottom: 20px;">
          <text-input field="ticker" :max-length="4" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <number-input field="rate" min="0.000001" max="999.999999" fixed-fraction-digits="6" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <number-input field="lot" min="0.000001" max="999999999.999999" fixed-fraction-digits="6" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
        <div class="row" style="margin-bottom: 20px;">
          <single-select field="dividend_rate" :options="dividend_rateOptions" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <single-select field="collateral_type" :options="collateral_typeOptions" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <single-select field="trade_pledge" :options="trade_or_pledgeOptions" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
        <div class="row" style="margin-bottom: 20px;">
          <text-input field="internal_trade_id" :max-length="16" class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <text-input field="trade_description" :max-length="40" class="col-6" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
      </div>

      <!-- Add space -->
      <div style="margin-bottom: 40px;"></div>

      <!-- Recall Dates Details -->
      <div style="margin-top: 30px; font-size: 18px; font-weight:bold; color: #333;">{{ i18n.translate('datesDetails') }}</div>
      <div class="q-pl-md">
        <div class="row" style="margin-bottom: 20px;">
          <date-input field="trade_date" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <date-input field="recall_date" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
          <date-input field="settlement_date" class="col-4" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
      </div>

      <!-- Add space -->
      <div style="margin-bottom: 40px;"></div>[![enter image description here](https://i.sstatic.net/AJ6XOmd8.png)](https://i.sstatic.net/AJ6XOmd8.png)

      <!-- Recall Additional Details -->
      <div style="margin-top: 30px; font-size: 18px; font-weight:bold; color: #333;">{{ i18n.translate('additionalDetails') }}</div>
      <div class="q-pl-md">
        <div class="row" style="margin-bottom: 20px;">
          <text-input field="open_text_field" :max-length="40" class="col-12" style="border-radius: 5px; padding: 8px; border: 2px solid #ccc; box-sizing: border-box;"/>
        </div>
        <div class="row" style="margin-bottom: 20px;">
          <text-input v-if="showStatusField" field="status" readonly exists class="col-12" style="border-radius: 5px; padding: 10px; border: 1px solid #ccc; box-sizing: border-box;"/>
        </div>
      </div>

    </template>
  </template>
</portal-form>

script

export const config: FormV2 = {
  onLoad(setup) {
    setup.initMessageForm();
    if (this.message?.formDataFieldData) {
      setup.setInitialData(this.message.formDataFieldData);
    }
    this.filterCounterpartyOptions();
  },
  beforeSend(action) {
    action.setParameter('payload', JSON.stringify(this.formData));
    action.setParameter('recallKind', this.formData.recallKind);
    action.setFieldUpdate(this.changes());
  },
  translations() {
    return {
      'mandatoryFields': { en: 'Mandatory Fields', de: 'Zahlungsdetails' },
      'tradeDetails': { en: 'Trade Details', de: 'Zahlungsdetails' },
      'finalDetails': { en: 'Final Details', de: 'Zahlungsdetails' },
      'additionalDetails': { en: 'Additional Details', de: 'Zahlungsdetails' },
      'datesDetails': { en: 'Dates', de: 'Zahlungsdetails' },
      'partyDetails': { en: 'Parties', de: 'Zahlungsempfänger' }
    };
  },
  computed: {
    dividend_rateOptions() {
      return ['C', 'NC', 'OT'];
    },
    collateral_typeOptions() {
      return ['C', 'NC', 'OT'];
    },
    trade_or_pledgeOptions() {
      return ['T', 'P'];
    },
    recallTypeOptions() {
      return [
        { value: 'recall_initiate', label: 'Initiate' },
        { value: 'recall_accept', label: 'Accept' },
        { value: 'recall_reject', label: 'Reject' },
        { value: 'recall_cancel', label: 'Cancel' },
        { value: 'recall_close', label: 'Close' }
      ];
    },
    showStatusField() {
      return this.formData.recallType !== 'recall_initiate';
    },
    showRejectionField() {
      return this.formData.recallType === 'recall_reject';
    },
    counterpartyQueryCondition() {
      const currentOrgKey = this.context.userOrganisation.key; // Replace with actual context key

      return {
        and: [
          { fieldKey: '$currentStep', terms: ['ACTIVE'] },
          { fieldKey: '$recordType', terms: ['recall_user_identifier'] }
        ]
      };
    },
    tpPlatformQueryCondition() {
      return {
        and: [
          { fieldKey: '$currentStep', terms: ['ACTIVE'] },
          { fieldKey: '$recordType', terms: ['recall_tp'] }
        ]
      };
    }
  },
  methods: {
    updateStatus(value) {
      if (value === 'recall_initiate') {
        this.formData.status = '';
        this.formData.recallKind = 'Initiate';
      } else if (value === 'recall_accept') {
        this.formData.status = 'Accepted';
        this.formData.recallKind = 'Accept';
      } else if (value === 'recall_reject') {
        this.formData.status = 'Rejected';
        this.formData.recallKind = 'Reject';
      } else if (value === 'recall_cancel') {
        this.formData.status = 'Cancelled';
        this.formData.recallKind = 'Cancel';
      } else if (value === 'recall_close') {
        this.formData.status = 'Closed';
        this.formData.recallKind = 'Close';
      }
    },
    filterCounterpartyOptions() {
      const currentOrgKey = this.context.userOrganisation.key; // to be removed

      //  userIdentifierOrganisationAddress check 
      this.userIdentifierOrganisationAddress = this.userIdentifierOrganisationAddress.filter(
        option => option.key !== currentOrgKey
      );
    }
  },
  data() {
    return {
      userIdentifierOrganisationAddress: [] // to be removed 
  }
};

I adjusted the class and style attributes to ensure that these fields are aligned correctly. but no luck