.pisell-fulfillment-reference-modal {
  .pisell-lowcode-floating-layer-content {
    max-width: calc(100vw - 32px);
    min-height: min(680px, calc(100vh - 32px));
    border-radius: 28px;
    background: #fff;
    color: #15171a;
    box-shadow: 0 28px 88px rgba(16, 24, 40, 0.24);
  }

  .pisell-lowcode-floating-layer-header {
    padding: 28px 32px 22px;
  }

  .pisell-lowcode-floating-layer-title {
    color: #15171a;
    font-size: 28px;
    font-weight: 800;
    line-height: 36px;
  }

  .pisell-lowcode-floating-layer-body {
    padding: 0 32px;
    max-height: calc(100vh - 232px);
    overflow-y: auto;
  }

  .pisell-lowcode-floating-layer-footer {
    padding: 20px 32px 28px;
    border-top: 1px solid #eaecf0;
  }

  .pisell-lowcode-floating-layer-close {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f2f4f7;
    color: #101828;
  }
}

.pisell-fulfillment-reference {
  padding: 20px 0 32px;

  > .fulfillment-timing + .pisell-fulfillment-reference__field {
    margin-top: 20px;
  }

  &__description,
  &__hint {
    margin: 0;
    color: #667085;
    font-size: 16px;
    line-height: 24px;
  }

  &__field {
    margin-top: 0;

    h3 {
      margin: 0 0 8px;
      color: #15171a;
      font-size: 20px;
      font-weight: 800;
      line-height: 28px;
    }

    .pisell-fulfillment-reference__description {
      margin-bottom: 20px;
    }
  }

  &__card {
    padding: 24px;
    border: 1px solid #d0d5dd;
    border-radius: 20px;
  }

  &__source-tabs,
  &__input-row,
  &__footer {
    display: flex;
    gap: 12px;
  }

  &__source-tab {
    flex: 1;
    min-height: 52px;
    padding: 12px 20px;
    border: 1px solid #d0d5dd;
    border-radius: 16px;
    background: #fff;
    color: #1d2939;
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;

    &--active {
      border-color: #7f56d9;
      background: linear-gradient(135deg, #f9f5ff, #fff);
      box-shadow: 0 0 0 1px rgba(127, 86, 217, 0.12);
    }

    &:disabled {
      background: #f9fafb;
      color: #98a2b3;
      cursor: not-allowed;
    }
  }

  &__input-row {
    margin-top: 16px;

    &:first-child {
      margin-top: 0;
    }

    input {
      flex: 1;
      min-width: 0;
      height: 64px;
      padding: 0 20px;
      border: 1px solid #d0d5dd;
      border-radius: 16px;
      background: #fff;
      outline: none;
      color: #101828;
      font-size: 24px;
      font-weight: 750;

      &::placeholder {
        color: #98a2b3;
        opacity: 1;
      }

      &:focus {
        border-color: #7f56d9;
        box-shadow: 0 0 0 3px rgba(127, 86, 217, 0.14);
      }
    }
  }

  &__clear {
    min-width: 96px;
    padding: 0 20px;
    border: 1px solid #d0d5dd;
    border-radius: 16px;
    background: #fff;
    color: #101828;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;

    &:disabled {
      color: #98a2b3;
      cursor: not-allowed;
    }
  }

  &__hint {
    margin-top: 12px;
  }

  &__footer {
    width: 100%;
    align-items: center;
    justify-content: flex-end;
  }

  &__footer-button {
    min-width: 144px;
    min-height: 52px;
    padding: 12px 24px;
    border: 1px solid #d0d5dd;
    border-radius: 16px;
    background: #fff;
    color: #101828;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;

    &--primary {
      min-width: 184px;
      border-color: #7f56d9;
      background: linear-gradient(135deg, #7f56d9, #6941c6);
      color: #fff;
      box-shadow: 0 10px 24px rgba(105, 65, 198, 0.24);
    }

    &:disabled {
      border-color: #eaecf0;
      background: #f2f4f7;
      color: #98a2b3;
      box-shadow: none;
      cursor: not-allowed;
    }
  }
}

@media (max-width: 680px) {
  .pisell-fulfillment-reference-modal {
    .pisell-lowcode-floating-layer-header,
    .pisell-lowcode-floating-layer-footer {
      padding-right: 20px;
      padding-left: 20px;
    }

    .pisell-lowcode-floating-layer-body {
      padding: 0 20px;
    }
  }

  .pisell-fulfillment-reference {
    &__card {
      padding: 16px;
    }

    &__source-tabs,
    &__input-row {
      flex-direction: column;
    }

    &__clear,
    &__footer-button,
    &__footer-button--primary {
      width: 100%;
      min-width: 0;
    }

    &__footer {
      gap: 10px;
    }
  }
}
