@include export-module('co-transaction-internal-layout') {
  .co-transaction-internal {
    font-family: $tp-co-transaction-font-family;
    display: block;
    padding: $tp-transaction-padding;
    .transaction-footer-wrapper {
      display: grid;
      grid-template-columns: repeat(3, minmax(33%, 1fr));
      flex-direction: row;
      //grid-template-areas: 'column1 column2';
      margin: $tp-transaction-totals-margin;
      .transaction-footer-left {
        grid-column: 1/1;
        justify-self: flex-start;
        display: flex;
        align-items: center;
        gap: 10px;
        .co-add-product {
          .co-input-search {
            .co-input-text {
              .co-icon, .input-wrapper {
                background: transparent;
              }
            }
          }
        }
        .action-button-wrapper {
          display: flex;
          align-items: center;
          gap: 10px;
          .co-icon {
            width: 24px;
            height: 24px;
          }
        }
        .text-rule {
          width: 32px;
          height: 32px;
          border-color: $tp-color-action;
          .transaction-button-label-title-wrapper, .spacer {
            display: none;
          }
          .co-icon {
            svg {
              fill: $tp-color-action;
            }
          }
        }
      }

      .transaction-footer-center {
        grid-column: 2/2;
        justify-self: center;
        display: flex;
        align-items: center;
        gap: 10px;
        white-space: nowrap;
      }

      .co-transaction-totals {
        grid-column: 3/3;
        justify-self: flex-end;
        width: 300px;
      }
    }
    .transaction-lines-header {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      padding: $tp-transaction-transaction-lines-header-padding;
      flex-wrap: nowrap;
      margin: 0;
      border: none;
      .transaction-lines-header-item {
        flex-basis: 33%;
        &.right {
          display: flex;
          column-gap: $tp-transaction-transaction-lines-header-column-gap;
          align-items: center;
          justify-content: flex-end;
        }
      }
      .transaction-sales-avatar {
        height: 30px;
        width: 30px;
      }
    }
    &.show-quick-access, &.show-button-bar {
      .transaction-lines-header {
        justify-content: space-between;
      }
    }
    .transaction-lines-content-wrapper {
      display: flex;
      .transaction-lines-content {
        flex-basis: 100%;
        max-width: 100%;
      }
    }
    .transaction-tiles-wrapper .co-transaction-cards {
      display: grid;
      grid-template-columns: 25% 25% 25% 25%;
      grid-column-gap: 5px;
      grid-row-gap: 5px;

      @media(max-width: 1500px) {
        grid-template-columns: 33% 33% 33%;
      }

      @media(max-width: 1200px) {
        grid-template-columns: 50% 50%;
      }

      @media(max-width: 900px) {
        grid-template-columns: 100%;
      }
      &.planning-cards {
        grid-template-columns: 50% 50%;
        @media(max-width: 900px) {
          grid-template-columns: 100%;
        }
        .co-transaction-card {
          display: block;
        }
      }
    }
    .transaction-lines-wrapper {
      padding: $tp-transaction-transaction-lines-wrapper-padding;
      border-top: none;
    }
    .quick-send-button {
      height: 32px;
      width: 70px;
    }
    .select-all-wrapper {
      margin: 0 5px;
      .label {
        display: none;
      }
    }
    &.customer-portal {
      padding: 0;
    }
    co-transaction-header-handled-by.mandatory {
      position: relative;
      &::after {
        content: '';
        position: absolute;
        top: -3px;
        left: -3px;
        right: -3px;
        bottom: -3px;
        border-radius: 50%;
        border: 2px solid red;
        animation: pulse-border 1.5s infinite;
        pointer-events: none;
      }
    }
    @keyframes pulse-border {
      0% {
        transform: scale(1);
        opacity: 1;
      }
      70% {
        transform: scale(1.4);
        opacity: 0;
      }
      100% {
        transform: scale(1);
        opacity: 0;
      }
    }
  }
}
