diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
index 7f5d897628057b0c929c61fd9596ad7de3dad49a..34702bb369f5ae2c4bb777ea001a14562c8d5b9c 100644
--- a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
@@ -5,9 +5,9 @@ export class ForwardingDialogE2EComponent {
   private readonly forwardingButton: string = 'forwarding-dialog-forwarding-button';
   private readonly searchText: string = 'instant_search-text-input';
   private readonly searchEntry: string = 'item-button';
-  private readonly forwardingItem: string = 'forwarding-item';
+  private readonly selectedSearchItem: string = 'selected-search-item';
   private readonly changeButton: string = 'forwarding-item-change-button';
-  private readonly zufiSearch: string = 'zufi-search';
+  private readonly organisationsEinheitSearch: string = 'organisations-einheit-search';
 
   public getRoot() {
     return cy.getTestElement(this.root);
@@ -37,15 +37,15 @@ export class ForwardingDialogE2EComponent {
     cy.getTestElement(this.searchEntry).eq(index).click();
   }
 
-  public getForwardingItem() {
-    return cy.getTestElement(this.forwardingItem);
+  public getSelectedSearchItem() {
+    return cy.getTestElement(this.selectedSearchItem);
   }
 
   public getChangeButton() {
     return cy.getTestElement(this.changeButton);
   }
 
-  public getZufiSearch() {
-    return cy.getTestElement(this.zufiSearch);
+  public getOrganisationsEinheitSearch() {
+    return cy.getTestElement(this.organisationsEinheitSearch);
   }
 }
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts
index d91019905c1bc53a44fb0a28e0fb882a416933f3..8634b339b87e025f62705edaefa760c86c16575b 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-forwarding.cy.ts
@@ -2,6 +2,7 @@ import { registerLocaleData } from '@angular/common';
 import localeDe from '@angular/common/locales/de';
 import localeDeExtra from '@angular/common/locales/extra/de';
 import { VorgangFormularButtonsE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-formular-buttons.e2e.components';
+import { ForwardingDialogE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component';
 import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component';
 import { E2EVorgangNavigator } from '../../../helper/vorgang/vorgang.navigator';
 import { E2EVorgangVerifier } from '../../../helper/vorgang/vorgang.verifier';
@@ -9,10 +10,9 @@ import { VorgangE2E } from '../../../model/vorgang';
 import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
 import { VorgangPage } from '../../../page-objects/vorgang.po';
 import { dropCollections } from '../../../support/cypress-helper';
-import { beDisabled, contains, exist, notBeDisabled, notExist } from '../../../support/cypress.util';
+import { beAriaDisabled, contains, exist, notBeAriaDisabled, notExist } from '../../../support/cypress.util';
 import { loginAsPeter, loginAsSabine } from '../../../support/user-util';
 import { createVorgang, initVorgaenge } from '../../../support/vorgang-util';
-import { ForwardingDialogE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component';
 
 registerLocaleData(localeDe, 'de', localeDeExtra);
 
@@ -59,12 +59,12 @@ describe('Vorgang weiterleiten', () => {
       exist(forwardingDialog.getRoot());
     });
 
-    it('should have zufi search', () => {
-      exist(forwardingDialog.getZufiSearch());
+    it('should have organisations einheit search', () => {
+      exist(forwardingDialog.getOrganisationsEinheitSearch());
     });
 
     it('should have disabled forwarding button', () => {
-      beDisabled(forwardingDialog.getForwardingButton());
+      beAriaDisabled(forwardingDialog.getForwardingButton());
     });
 
     it('should close dialog on escape', () => {
@@ -87,30 +87,30 @@ describe('Vorgang weiterleiten', () => {
       notExist(forwardingDialog.getRoot());
     });
 
-    it('should show forwarding item on search select', () => {
+    it('should show selected search item on search select', () => {
       vorgangFormularButtons.getForwardButton().click();
       forwardingDialog.search(organisationsEinheitName);
       forwardingDialog.clickSearchEntry(0);
 
-      exist(forwardingDialog.getForwardingItem());
-      contains(forwardingDialog.getForwardingItem(), organisationsEinheitName);
-      contains(forwardingDialog.getForwardingItem(), organisationsEinheitAddress);
+      exist(forwardingDialog.getSelectedSearchItem());
+      contains(forwardingDialog.getSelectedSearchItem(), organisationsEinheitName);
+      contains(forwardingDialog.getSelectedSearchItem(), organisationsEinheitAddress);
     });
 
     it('should not show zufi search on search select', () => {
-      notExist(forwardingDialog.getZufiSearch());
+      notExist(forwardingDialog.getOrganisationsEinheitSearch());
     });
 
     it('should not disable forwarding button on search select', () => {
-      notBeDisabled(forwardingDialog.getForwardingButton());
+      notBeAriaDisabled(forwardingDialog.getForwardingButton());
     });
 
-    it('should clear forwarding item on change button click', () => {
+    it('should clear selected search item on change button click', () => {
       forwardingDialog.getChangeButton().click();
 
-      notExist(forwardingDialog.getForwardingItem());
-      exist(forwardingDialog.getZufiSearch());
-      beDisabled(forwardingDialog.getForwardingButton());
+      notExist(forwardingDialog.getSelectedSearchItem());
+      exist(forwardingDialog.getOrganisationsEinheitSearch());
+      beAriaDisabled(forwardingDialog.getForwardingButton());
     });
 
     it('should not display Weiterleiten button in status Angenommen', () => {
diff --git a/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts
index 22295bb180d00c9d23b787fde72a001bea29cab2..659d24215d7275c70ae2ee1b710f196dd0b81a46 100644
--- a/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts
+++ b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts
@@ -9,7 +9,7 @@ export class E2EForwardingExecutor {
     this.forwardingDialog.getSearchText().type(organisationsEinheit);
     waitForSpinnerToDisappear();
     this.forwardingDialog.clickSearchEntry(0);
-    exist(this.forwardingDialog.getForwardingItem());
+    exist(this.forwardingDialog.getSelectedSearchItem());
     this.forwardingDialog.getForwardingButton().click();
     waitForSpinnerToDisappear();
   }
diff --git a/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts b/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts
index f62a66e73e504ddd9952afd438ecdd7cf242866a..768db5ed90ce7662d1e2358b58aff85d86655f6b 100644
--- a/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts
+++ b/alfa-client/apps/alfa-e2e/src/support/cypress.util.ts
@@ -97,12 +97,12 @@ export function notBeChecked(element: any): void {
   element.should('not.be.checked');
 }
 
-export function beDisabled(element: any): void {
-  element.should('be.disabled');
+export function beAriaDisabled(element: any): void {
+  element.should('have.attr', 'aria-disabled', 'true');
 }
 
-export function notBeDisabled(element: any): void {
-  element.should('not.be.disabled');
+export function notBeAriaDisabled(element: any): void {
+  element.should('have.attr', 'aria-disabled', 'false');
 }
 
 //TODO: "first()" rausnehmen -> im html eine entprechende data-test-id ansprechen?! | trennen in "get" und "verify"
diff --git a/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts b/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts
index 4c1ebd4cfe3750fb12e7f5e05d8562fd49559b63..79e617880c423eefeb7ce3e3e41877c32154e29f 100644
--- a/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts
+++ b/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts
@@ -45,7 +45,7 @@ type ButtonVariants = VariantProps<typeof buttonVariants>;
       [dataTestId]="dataTestId"
       [isLoading]="isLoading"
       [disabled]="disabled"
-      (click)="clickEmitter.emit()"
+      (clickEmitter)="clickEmitter.emit()"
     >
       <ng-content icon select="[icon]" />
     </ods-button>`,
diff --git a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts
index df1f5fa4b1732a9b60879f6353ec9f006832cb5f..03ac3acbe39b7907df7af242da47d4d3f70a5fa3 100644
--- a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts
+++ b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts
@@ -27,7 +27,11 @@ import { ButtonComponent, CloseIconComponent, TooltipDirective } from '@ods/syst
         text="Abbrechen"
         dataTestId="cancel-dialog-button"
         data-test-id="cancel-dialog-button-container"
-      />
+      >
+        <ng-container icon>
+          <ods-close-icon class="fill-primary" />
+        </ng-container>
+      </ods-button>
     }`,
 })
 export class CancelDialogButtonComponent {
diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts
index d05d44db8ce46777152a6f48145ac2000dd5d0a3..c17fdb29f53e0948d6f7b3a61d0d3725c18e2ffc 100644
--- a/alfa-client/libs/design-system/src/index.ts
+++ b/alfa-client/libs/design-system/src/index.ts
@@ -28,6 +28,7 @@ export * from './lib/bescheid-status-text/bescheid-status-text.component';
 export * from './lib/bescheid-wrapper/bescheid-wrapper.component';
 export * from './lib/button-card/button-card.component';
 export * from './lib/button/button.component';
+export * from './lib/dialog-container/dialog-container.component';
 export * from './lib/dropdown-menu/dropdown-menu-button-item/dropdown-menu-button-item.component';
 export * from './lib/dropdown-menu/dropdown-menu-item/dropdown-menu-item.component';
 export * from './lib/dropdown-menu/dropdown-menu-link-item/dropdown-menu-link-item.component';
@@ -41,6 +42,7 @@ export * from './lib/form/file-upload-button/file-upload-button.component';
 export * from './lib/form/radio-button-card/radio-button-card.component';
 export * from './lib/form/text-input/text-input.component';
 export * from './lib/form/textarea/textarea.component';
+export * from './lib/forwarding-item/forwarding-item-info/forwarding-item-info.component';
 export * from './lib/forwarding-item/forwarding-item.component';
 export * from './lib/icons/accessibility-icon/accessibility-icon.component';
 export * from './lib/icons/account-circle-icon/account-circle-icon.component';
diff --git a/alfa-client/libs/design-system/src/lib/button/button.component.spec.ts b/alfa-client/libs/design-system/src/lib/button/button.component.spec.ts
index ecd327e0aa7ec13701a789698d80c163ea5d3dfa..fc5322e9e5371ac6f5a6dcc897224fce9b0a4c5e 100644
--- a/alfa-client/libs/design-system/src/lib/button/button.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/button/button.component.spec.ts
@@ -41,4 +41,26 @@ describe('ButtonComponent', () => {
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  describe('component', () => {
+    beforeEach(() => {
+      component.clickEmitter.emit = jest.fn();
+    });
+
+    describe('onClick', () => {
+      it('should emit click', () => {
+        component.onClick();
+
+        expect(component.clickEmitter.emit).toHaveBeenCalled();
+      });
+
+      it('should NOT emit click if button is disabled', () => {
+        component.disabled = true;
+
+        component.onClick();
+
+        expect(component.clickEmitter.emit).not.toHaveBeenCalled();
+      });
+    });
+  });
 });
diff --git a/alfa-client/libs/design-system/src/lib/button/button.component.ts b/alfa-client/libs/design-system/src/lib/button/button.component.ts
index 47e76172adb5e6f9600be54291ee79a841defb78..3f88a32abc1bdb41fc4c12cabc4543f7c2def3c1 100644
--- a/alfa-client/libs/design-system/src/lib/button/button.component.ts
+++ b/alfa-client/libs/design-system/src/lib/button/button.component.ts
@@ -31,18 +31,18 @@ import { SpinnerIconComponent } from '../icons/spinner-icon/spinner-icon.compone
 export const buttonVariants = cva(
   [
     'flex items-center gap-3 rounded-lg text-sm font-medium box-border',
-    'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2',
+    'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 outline-focus',
   ],
   {
     variants: {
       variant: {
-        primary: 'bg-primary text-whitetext shadow-md hover:enabled:bg-primary-hover focus-visible:bg-primary-hover',
+        primary: 'bg-primary text-whitetext shadow-md hover:bg-primary-hover focus-visible:bg-primary-hover',
         outline:
-          'border border-primary bg-background-50 text-primary shadow-md hover:enabled:bg-ghost-hover focus-visible:bg-ghost-hover focus-visible:border-background-200',
+          'border border-primary bg-background-50 text-primary shadow-md hover:bg-ghost-hover focus-visible:bg-ghost-hover focus-visible:border-background-200',
         outline_error:
-          'border border-error bg-background-50 text-error shadow-md hover:enabled:bg-ghost-hover focus-visible:bg-ghost-hover focus-visible:border-background-200',
+          'border border-error bg-background-50 text-error shadow-md hover:bg-ghost-hover focus-visible:bg-ghost-hover focus-visible:border-background-200',
         ghost:
-          'border border-transparent hover:enabled:bg-ghost-hover text-primary focus-visible:border-background-200 focus-visible:bg-ghost-hover font-semibold [&]:focus-visible:outline-offset-1',
+          'border border-transparent hover:bg-ghost-hover text-primary focus-visible:border-background-200 focus-visible:bg-ghost-hover font-semibold [&]:focus-visible:outline-offset-1',
       },
       size: {
         medium: 'h-9 py-2 px-4 min-w-32',
@@ -50,11 +50,11 @@ export const buttonVariants = cva(
       },
       disabled: {
         false: null,
-        true: ['opacity-70', 'cursor-not-allowed'],
+        true: '[&]:outline-disabled-button cursor-not-allowed',
       },
       destructive: {
-        false: 'outline-focus',
-        true: 'outline-destructive',
+        false: null,
+        true: '[&]:outline-destructive',
       },
     },
     defaultVariants: {
@@ -66,19 +66,34 @@ export const buttonVariants = cva(
       {
         variant: 'primary',
         destructive: true,
-        class:
-          '[&]:hover:enabled:bg-destructive-primary-hover [&]:bg-destructive [&]:outline-destructive [&]:focus-visible:bg-destructive-primary-hover',
+        class: '[&]:hover:bg-destructive-primary-hover [&]:bg-destructive [&]:focus-visible:bg-destructive-primary-hover',
       },
       {
         variant: 'outline',
         destructive: true,
         class:
-          '[&]:border-destructive [&]:text-destructive [&]:hover:enabled:bg-destructive-hover [&]:focus-visible:bg-destructive-hover',
+          '[&]:border-destructive [&]:text-destructive [&]:hover:bg-destructive-hover [&]:focus-visible:bg-destructive-hover',
       },
       {
         variant: 'ghost',
         destructive: true,
-        class: '[&]:text-destructive [&]:hover:enabled:bg-destructive-hover [&]:focus-visible:bg-destructive-hover',
+        class: '[&]:text-destructive [&]:hover:bg-destructive-hover [&]:focus-visible:bg-destructive-hover',
+      },
+      {
+        variant: 'primary',
+        disabled: true,
+        class: '[&]:bg-disabled-button [&]:hover:bg-disabled-button/90 [&]:focus-visible:bg-disabled-button/90',
+      },
+      {
+        variant: 'outline',
+        disabled: true,
+        class:
+          '[&]:text-disabled-button [&]:border-disabled-button [&]:hover:bg-disabled-button/10 [&]:focus-visible:bg-disabled-button/10',
+      },
+      {
+        variant: 'ghost',
+        disabled: true,
+        class: '[&]:text-disabled-button [&]:hover:bg-disabled-button/10 [&]:focus-visible:bg-disabled-button/10',
       },
     ],
   },
@@ -89,27 +104,31 @@ export type ButtonVariants = VariantProps<typeof buttonVariants>;
   selector: 'ods-button',
   standalone: true,
   imports: [CommonModule, SpinnerIconComponent],
-  template: ` <button
+  template: `<button
     type="button"
-    [ngClass]="buttonVariants({ size, variant, disabled, destructive })"
-    [disabled]="isDisabled"
+    [ngClass]="buttonVariants({ size, variant, disabled: isDisabled, destructive })"
     [attr.aria-disabled]="isDisabled"
     [attr.aria-label]="text"
     [attr.data-test-id]="dataTestId"
     [attr.data-test-class]="dataTestClass"
-    (click)="clickEmitter.emit()"
+    (click)="onClick()"
   >
-    <ng-content *ngIf="!isLoading" select="[icon]"></ng-content>
-    <ods-spinner-icon *ngIf="isLoading" [size]="spinnerSize" data-test-class="spinner"></ods-spinner-icon>
-    <div *ngIf="text" class="flex-grow">{{ text }}</div>
+    @if (isLoading) {
+      <ods-spinner-icon [class]="isDisabled && 'fill-disabled-button'" [size]="spinnerSize" data-test-class="spinner" />
+    } @else {
+      <ng-content select="[icon]" />
+    }
+    @if (text) {
+      <p class="flex-grow">{{ text }}</p>
+    }
   </button>`,
 })
 export class ButtonComponent {
   @Input() text: string = '';
   @Input() dataTestId: string = '';
   @Input() dataTestClass: string = '';
-  @Input() disabled: boolean = false;
-  @Input() isLoading: boolean = false;
+  @Input({ transform: booleanAttribute }) disabled: boolean = false;
+  @Input({ transform: booleanAttribute }) isLoading: boolean = false;
   @Input({ transform: booleanAttribute }) destructive: boolean = false;
   @Input() variant: ButtonVariants['variant'];
   @Input() size: ButtonVariants['size'];
@@ -121,5 +140,11 @@ export class ButtonComponent {
     return this.disabled || this.isLoading;
   }
 
+  public onClick(): void {
+    if (!this.isDisabled) {
+      this.clickEmitter.emit();
+    }
+  }
+
   readonly buttonVariants = buttonVariants;
 }
diff --git a/alfa-client/libs/design-system/src/lib/dialog-container/dialog-container.component.spec.ts b/alfa-client/libs/design-system/src/lib/dialog-container/dialog-container.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d1f894406fa1f6c9468c1d7ba356a56947a05c25
--- /dev/null
+++ b/alfa-client/libs/design-system/src/lib/dialog-container/dialog-container.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { DialogContainerComponent } from './dialog-container.component';
+
+describe('DialogContainerComponent', () => {
+  let component: DialogContainerComponent;
+  let fixture: ComponentFixture<DialogContainerComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [DialogContainerComponent]
+    })
+    .compileComponents();
+
+    fixture = TestBed.createComponent(DialogContainerComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/libs/design-system/src/lib/dialog-container/dialog-container.component.ts b/alfa-client/libs/design-system/src/lib/dialog-container/dialog-container.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3df7faf24a83fb4ed3965b741004cdc53aaeabb6
--- /dev/null
+++ b/alfa-client/libs/design-system/src/lib/dialog-container/dialog-container.component.ts
@@ -0,0 +1,15 @@
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'ods-dialog-container',
+  standalone: true,
+  imports: [],
+  template: `
+    <div class="static flex w-[calc(100vw-2rem)] justify-center">
+      <div class="flex max-w-4xl grow flex-col rounded-lg bg-background-50 p-6 shadow-md">
+        <ng-content />
+      </div>
+    </div>
+  `,
+})
+export class DialogContainerComponent {}
diff --git a/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts b/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts
index cd01ba0190c68b4f9fec34f3e94496e6d86f73aa..1740d7ba39080e17caa742c931fa9267bffaf0a0 100644
--- a/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts
+++ b/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts
@@ -57,27 +57,27 @@ type TextInputVariants = VariantProps<typeof textInputVariants>;
       <label *ngIf="showLabel" [for]="id" class="text-md mb-2 block font-medium text-text">
         {{ inputLabel }}<ng-container *ngIf="required"><i aria-hidden="true">*</i></ng-container>
       </label>
-      <div class="mt-2">
-        <div *ngIf="withPrefix" class="pointer-events-none absolute bottom-2 left-2 flex size-6 items-center justify-center">
-          <ng-content select="[prefix]" />
-        </div>
-        <input
-          type="text"
-          [id]="id"
-          [formControl]="fieldControl"
-          [ngClass]="[textInputVariants({ variant }), withPrefix ? 'pl-10' : '', withSuffix ? 'pr-10' : '']"
-          [placeholder]="placeholder"
-          [autocomplete]="autocomplete"
-          [attr.aria-required]="required"
-          [attr.aria-invalid]="variant === 'error'"
-          [attr.data-test-id]="_dataTestId + '-text-input'"
-          (click)="clickEmitter.emit()"
-          #inputElement
-        />
-        <div *ngIf="withSuffix" class="absolute bottom-2 right-2 flex size-6 items-center justify-center">
-          <ng-content select="[suffix]" />
-        </div>
+
+      <div *ngIf="withPrefix" class="pointer-events-none absolute bottom-2 left-2 flex size-6 items-center justify-center">
+        <ng-content select="[prefix]" />
+      </div>
+      <input
+        type="text"
+        [id]="id"
+        [formControl]="fieldControl"
+        [ngClass]="[textInputVariants({ variant }), withPrefix ? 'pl-10' : '', withSuffix ? 'pr-10' : '']"
+        [placeholder]="placeholder"
+        [autocomplete]="autocomplete"
+        [attr.aria-required]="required"
+        [attr.aria-invalid]="variant === 'error'"
+        [attr.data-test-id]="_dataTestId + '-text-input'"
+        (click)="clickEmitter.emit()"
+        #inputElement
+      />
+      <div *ngIf="withSuffix" class="absolute bottom-2 right-2 flex size-6 items-center justify-center">
+        <ng-content select="[suffix]" />
       </div>
+
       <ng-content select="[error]"></ng-content>
     </div>
   `,
diff --git a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item-info/forwarding-item-info.component.spec.ts b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item-info/forwarding-item-info.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..aa29de43383f328ce1179743c2fb6bbd0b435954
--- /dev/null
+++ b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item-info/forwarding-item-info.component.spec.ts
@@ -0,0 +1,21 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ForwardingItemInfoComponent } from './forwarding-item-info.component';
+
+describe('ForwardingItemInfoComponent', () => {
+  let component: ForwardingItemInfoComponent;
+  let fixture: ComponentFixture<ForwardingItemInfoComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ForwardingItemInfoComponent],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(ForwardingItemInfoComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item-info/forwarding-item-info.component.ts b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item-info/forwarding-item-info.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..abace4dec64981bfc6fd2e5cd8e3c66abeca881e
--- /dev/null
+++ b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item-info/forwarding-item-info.component.ts
@@ -0,0 +1,12 @@
+import { Component, Input } from '@angular/core';
+
+@Component({
+  selector: 'ods-forwarding-item-info',
+  standalone: true,
+  template: `<p class="font-medium">{{ label }}</p>
+    <p>{{ address }}</p>`,
+})
+export class ForwardingItemInfoComponent {
+  @Input({ required: true }) label!: string;
+  @Input({ required: true }) address!: string;
+}
diff --git a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts
index 7f8ebfd800c662910c5ec0905935c3d12487b7f3..e1322cfcdef6610df2a458541bcd3436fc12d7d2 100644
--- a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts
+++ b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts
@@ -21,7 +21,6 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { CommonModule } from '@angular/common';
 import { Component, Input } from '@angular/core';
 import { ForwardVorgangIconComponent } from '../icons/forward-vorgang-icon/forward-vorgang-icon.component';
 
@@ -33,25 +32,18 @@ export enum ForwardingDirection {
 @Component({
   selector: 'ods-forwarding-item',
   standalone: true,
-  imports: [CommonModule, ForwardVorgangIconComponent],
-  template: `<div
-    class="flex flex-col items-start justify-between gap-2 rounded-lg border border-grayborder p-3 md:flex-row md:items-center md:gap-0"
-  >
-    <div class="flex gap-3">
-      <ods-forward-vorgang-icon class="fill-text" />
-      <p class="text-gray-500">{{ direction }}:</p>
-      <div>
-        <p class="font-medium">{{ label }}</p>
-        <p>{{ address }}</p>
+  imports: [ForwardVorgangIconComponent],
+  template: ` <div class="h-full rounded-lg border border-grayborder">
+    <div class="flex flex-col gap-3 p-3 align-top sm:flex-row">
+      <div class="flex gap-3">
+        <ods-forward-vorgang-icon class="fill-text" />
+        <div class="font-medium text-gray-500">{{ direction }}:</div>
       </div>
-    </div>
-    <div class="text-end empty:hidden">
-      <ng-content />
+      <div class="grow"><ng-content /></div>
+      <div class="flex items-center"><ng-content select="[end-content]" /></div>
     </div>
   </div>`,
 })
 export class ForwardingItemComponent {
-  @Input({ required: true }) label!: string;
-  @Input({ required: true }) address!: string;
   @Input() direction: ForwardingDirection = ForwardingDirection.TO;
 }
diff --git a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.stories.ts b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.stories.ts
index 53d2116e9f314c9e2194cd8a9ff7c72e39dd1b12..d70b202b1147e34a030258198844ac19afc7b1b6 100644
--- a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.stories.ts
@@ -24,11 +24,9 @@
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
 import { ButtonComponent } from '../button/button.component';
+import { ForwardingItemInfoComponent } from './forwarding-item-info/forwarding-item-info.component';
 import { ForwardingDirection, ForwardingItemComponent } from './forwarding-item.component';
 
-const label: string = 'Bund für Umwelt und Naturschutz Kreisgruppe Kiel';
-const address: string = 'Kaiserstraße 25, 12443 Kiel';
-
 const meta: Meta<ForwardingItemComponent> = {
   title: 'Forwarding item',
   component: ForwardingItemComponent,
@@ -41,7 +39,7 @@ const meta: Meta<ForwardingItemComponent> = {
   },
   decorators: [
     moduleMetadata({
-      imports: [ForwardingItemComponent, ButtonComponent],
+      imports: [ForwardingItemComponent, ForwardingItemInfoComponent, ButtonComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -53,40 +51,39 @@ type Story = StoryObj<ForwardingItemComponent>;
 
 export const Default: Story = {
   args: {
-    label: label,
-    address: address,
     direction: ForwardingDirection.TO,
   },
   argTypes: {
     direction: { control: 'select', options: [ForwardingDirection.TO, ForwardingDirection.FROM] },
   },
+  render: () => ({
+    template: `<ods-forwarding-item>
+        <ods-forwarding-item-info label="Bund für Umwelt und Naturschutz Kreisgruppe Kiel" address="Kaiserstraße 25, 12443 Kiel" />
+      </ods-forwarding-item>`,
+  }),
 };
 
 export const WithButton: Story = {
-  args: {
-    label: label,
-    address: address,
-  },
-
-  render: (args: ForwardingItemComponent) => ({
-    props: args,
-    template: `<ods-forwarding-item ${argsToTemplate(args)}>
-        <ods-button variant="outline" text="Stelle ändern" />
+  render: () => ({
+    template: `<ods-forwarding-item>
+        <ods-forwarding-item-info label="Bund für Umwelt und Naturschutz Kreisgruppe Kiel" address="Kaiserstraße 25, 12443 Kiel" />
+        <ods-button variant="outline" text="Stelle ändern" end-content />
       </ods-forwarding-item>`,
   }),
 };
 
 export const WithCreationInfo: Story = {
   args: {
-    label: label,
-    address: address,
     direction: ForwardingDirection.FROM,
   },
   render: (args: ForwardingItemComponent) => ({
     props: args,
     template: `<ods-forwarding-item ${argsToTemplate(args)}>
-        <p>20. Dez. 09:35</p>
-        <p class="text-sm">Karin Wanowski-Müller</p>
+        <ods-forwarding-item-info label="Bund für Umwelt und Naturschutz Kreisgruppe Kiel" address="Kaiserstraße 25, 12443 Kiel" />
+        <div end-content>
+          <p>20. Dez. 09:35</p>
+          <p class="text-sm">Karin Wanowski-Müller</p>
+        </div>
       </ods-forwarding-item>`,
   }),
 };
diff --git a/alfa-client/libs/design-system/src/lib/icons/spinner-icon/spinner-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/spinner-icon/spinner-icon.component.ts
index d361292b08e026c2f05e245276dae53b82fa2805..20ca2f1c2affe64e1a2aab8b81576c2c40a68e3e 100644
--- a/alfa-client/libs/design-system/src/lib/icons/spinner-icon/spinner-icon.component.ts
+++ b/alfa-client/libs/design-system/src/lib/icons/spinner-icon/spinner-icon.component.ts
@@ -24,6 +24,7 @@
 import { NgClass } from '@angular/common';
 import { Component, Input } from '@angular/core';
 
+import { twMerge } from 'tailwind-merge';
 import { IconVariants, iconVariants } from '../iconVariants';
 
 @Component({
@@ -33,8 +34,7 @@ import { IconVariants, iconVariants } from '../iconVariants';
   template: `
     <svg
       xmlns="http://www.w3.org/2000/svg"
-      [ngClass]="iconVariants({ size })"
-      class="animate-spin fill-primary text-gray-200 dark:text-gray-600"
+      [ngClass]="twMerge('animate-spin fill-primary text-gray-200 dark:text-gray-600', iconVariants({ size }), class)"
       aria-hidden="true"
       viewBox="0 0 100 100"
       fill="none"
@@ -53,6 +53,8 @@ import { IconVariants, iconVariants } from '../iconVariants';
 })
 export class SpinnerIconComponent {
   @Input() size: IconVariants['size'] = 'full';
+  @Input() class: string;
 
-  iconVariants = iconVariants;
+  readonly iconVariants = iconVariants;
+  readonly twMerge = twMerge;
 }
diff --git a/alfa-client/libs/design-system/src/lib/instant-search/search-result-item/search-result-item.component.ts b/alfa-client/libs/design-system/src/lib/instant-search/search-result-item/search-result-item.component.ts
index 3f5364877b5c08806ff6990851a7863abdcd74a5..3d765154891b5f39c3168a8a07e39c973eee840b 100644
--- a/alfa-client/libs/design-system/src/lib/instant-search/search-result-item/search-result-item.component.ts
+++ b/alfa-client/libs/design-system/src/lib/instant-search/search-result-item/search-result-item.component.ts
@@ -32,7 +32,7 @@ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@
     *ngIf="title"
     [ngClass]="[
       'flex w-full justify-between border-2 border-transparent px-6 py-3',
-      'hover:border-focus focus:border-focus focus:outline-none',
+      'hover:bg-background-150 focus:border-focus focus:outline-none',
     ]"
     role="listitem"
     tabindex="-1"
diff --git a/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css b/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css
index a3c8f7b01b5e1b8342761bf3190841ef059b5cc8..333257d60e54034a148f8f864ae42132d1a7643e 100644
--- a/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css
+++ b/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css
@@ -18,6 +18,7 @@
 
   --color-disabled: 206 14% 95%;
   --color-disabled-dark: 208 12% 65%;
+  --color-disabled-button: 0 0% 42%;
 
   --color-destructive: 360, 71%, 49%, 1;
   --color-destructive-hover: 360, 71%, 49%, 0.07;
@@ -59,6 +60,7 @@
 
   --color-disabled: 206 14% 15%;
   --color-disabled-dark: 208 12% 33%;
+  --color-disabled-button: 0 0% 68%;
 
   --color-destructive: 360, 71%, 49%, 1;
   --color-destructive-hover: 360, 71%, 49%, 0.2;
diff --git a/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js b/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js
index cf2abfcb2f32821bcb410f4d9bcd817f2aa2efb0..9c5ba7a4e53f673e8ac6c1b27e08f63936647d7f 100644
--- a/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js
+++ b/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js
@@ -146,6 +146,7 @@ module.exports = {
         focus: 'hsl(var(--color-focus))',
         disabled: {
           dark: 'hsl(var(--color-disabled-dark) / <alpha-value>)',
+          button: 'hsl(var(--color-disabled-button) / <alpha-value>)',
           DEFAULT: 'hsl(var(--color-disabled) / <alpha-value>)',
         },
         destructive: 'hsla(var(--color-destructive))',
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html
index 5bf44a14c8978d8fea1e07d51b0ccc1279935ca4..6995cd3356290db9eb8f6011c21e013009b29734 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html
@@ -1,11 +1,12 @@
 <ods-button-with-spinner
   [stateResource]="stateResource"
   [disabled]="disabled"
+  [tooltip]="tooltip"
   (clickEmitter)="clickEmitter.emit()"
-  text="Weiterleiten"
-  variant="outline"
+  text="Jetzt weiterleiten"
+  tooltipPosition="above"
   dataTestId="forwarding-dialog-forwarding-button"
   data-test-id="forwarding-button-container"
 >
-  <ods-forward-vorgang-icon icon class="fill-primary" />
+  <ods-forward-vorgang-icon icon class="fill-whitetext" />
 </ods-button-with-spinner>
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts
index 9e9a9d2118e1a9758f7ba58715f822822ead4cbf..661105c1ad208f595ae5b3f7f1158e0529d9fe2f 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts
@@ -1,3 +1,4 @@
+import { EMPTY_STRING } from '@alfa-client/tech-shared';
 import { dispatchEventFromFixture, MockEvent } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ButtonWithSpinnerComponent } from '@ods/component';
@@ -27,13 +28,31 @@ describe('ForwardingButtonComponent', () => {
     expect(component).toBeTruthy();
   });
 
-  describe('on button click', () => {
-    it('should emit', () => {
-      component.clickEmitter.emit = jest.fn();
+  describe('component', () => {
+    describe('set disabled', () => {
+      it('should set tooltip text', () => {
+        component.disabled = true;
 
-      dispatchEventFromFixture(fixture, button, MockEvent.CLICK);
+        expect(component.tooltip).not.toBe(EMPTY_STRING);
+      });
 
-      expect(component.clickEmitter.emit).toHaveBeenCalled();
+      it('should set empty tooltip', () => {
+        component.disabled = false;
+
+        expect(component.tooltip).toBe(EMPTY_STRING);
+      });
+    });
+  });
+
+  describe('template', () => {
+    describe('on button click', () => {
+      it('should emit', () => {
+        component.clickEmitter.emit = jest.fn();
+
+        dispatchEventFromFixture(fixture, button, MockEvent.CLICK);
+
+        expect(component.clickEmitter.emit).toHaveBeenCalled();
+      });
     });
   });
 });
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts
index 767fe5e4ce40e7589725973d37e9a84c12fd0564..e881014e936c13d57632ed0c9d059093bcb1d76a 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts
@@ -1,18 +1,28 @@
 import { CommandResource } from '@alfa-client/command-shared';
-import { StateResource } from '@alfa-client/tech-shared';
+import { EMPTY_STRING, StateResource } from '@alfa-client/tech-shared';
 import { Component, EventEmitter, Input, Output } from '@angular/core';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { ForwardVorgangIconComponent } from '@ods/system';
+import { ForwardVorgangIconComponent, TooltipDirective } from '@ods/system';
 
 @Component({
   selector: 'alfa-forwarding-button',
   standalone: true,
-  imports: [ButtonWithSpinnerComponent, ForwardVorgangIconComponent],
+  imports: [ButtonWithSpinnerComponent, ForwardVorgangIconComponent, TooltipDirective],
   templateUrl: './forwarding-button.component.html',
 })
 export class ForwardingButtonComponent {
-  @Input() disabled: boolean;
+  @Input() set disabled(value: boolean) {
+    this._disabled = value;
+    this.tooltip = value ? 'Bitte ein Amt oder Stelle auswählen' : EMPTY_STRING;
+  }
   @Input() stateResource: StateResource<CommandResource>;
 
   @Output() clickEmitter: EventEmitter<void> = new EventEmitter();
+
+  public tooltip: string;
+  private _disabled: boolean;
+
+  get disabled() {
+    return this._disabled;
+  }
 }
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
index 5aaf99a340455262073812254cf8c7d74adf578e..af7bf0bb349af1ccbbf4e22cc0091b5b50e8bcd1 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
@@ -1,22 +1,25 @@
-<div class="flex w-[620px] max-w-full flex-col gap-4 bg-background-100 p-8">
-  <div class="flex items-center justify-between">
-    <h1 class="text-xl font-semibold text-primary">Vorgang weiterleiten</h1>
-    <ods-cancel-dialog-button showAsIconButton="true" />
-  </div>
-
-  @if (!selectedSearchResult) {
-    <alfa-search-zustaendige-stelle-form-container cdkFocusInitial focusOnSearchField="true" data-test-id="zufi-search" />
-  } @else {
-    <alfa-forwarding-item-in-dialog [organisationsEinheitResource]="selectedSearchResult" data-test-id="forwarding-item" />
-  }
+<ods-dialog-container>
+  <div class="flex grow flex-col gap-6">
+    <div class="flex items-center justify-between">
+      <h1 class="text-lg font-medium text-primary">Vorgang weiterleiten</h1>
+      <ods-cancel-dialog-button showAsIconButton="true" />
+    </div>
+    <div class="h-[calc(50vh+4.5rem)] grow">
+      @if (!selectedSearchResult) {
+        <alfa-forwarding-search-organisations-einheit cdkFocusInitial data-test-id="organisations-einheit-search" />
+      } @else {
+        <alfa-selected-search-item [organisationsEinheitResource]="selectedSearchResult" data-test-id="selected-search-item" />
+      }
+    </div>
 
-  <div class="flex gap-4">
-    <alfa-forwarding-button
-      [stateResource]="forwardCommandStateResource"
-      [disabled]="!selectedSearchResult"
-      (clickEmitter)="onForwarding()"
-      data-test-id="foward-dialog-forward-button"
-    />
-    <ods-cancel-dialog-button />
+    <div class="flex gap-4">
+      <alfa-forwarding-button
+        [stateResource]="forwardCommandStateResource"
+        [disabled]="!selectedSearchResult"
+        (clickEmitter)="onForwarding()"
+        data-test-id="foward-dialog-forward-button"
+      />
+      <ods-cancel-dialog-button />
+    </div>
   </div>
-</div>
+</ods-dialog-container>
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts
index 7e6114236be2ad7d2dddfcdfd309853b32568cdd..be35437daced36c2d43a532852f0d78cbc4fa8b9 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts
@@ -5,35 +5,36 @@ import {
   MockEvent,
   notExistsAsHtmlElement,
 } from '@alfa-client/test-utils';
-import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle';
 import { OrganisationsEinheitResource } from '@alfa-client/zustaendige-stelle-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { getUrl } from '@ngxp/rest';
 import { CancelDialogButtonComponent } from '@ods/component';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent } from 'ng-mocks';
 import { getDataTestIdOf } from '../../../../../tech-shared/test/data-test';
 import { createOrganisationsEinheitResource } from '../../../../../zustaendige-stelle-shared/test/organisations-einheit';
 import { ForwardingButtonComponent } from './forwarding-button/forwarding-button.component';
 import { ForwardingDialogComponent } from './forwarding-dialog.component';
-import { ForwardingItemInDialogComponent } from './forwarding-item/forwarding-item.component';
+import { SelectedSearchItemComponent } from './selected-search-item/selected-search-item.component';
+import { ForwardingSearchOrganisationsEinheitComponent } from './search-organisations-einheit/search-organisations-einheit.component';
 
 describe('ForwardingDialogComponent', () => {
   let component: ForwardingDialogComponent;
   let fixture: ComponentFixture<ForwardingDialogComponent>;
 
-  const zufiSearch: string = getDataTestIdOf('zufi-search');
-  const forwardingItem: string = getDataTestIdOf('forwarding-item');
+  const organisationsEinheitSearch: string = getDataTestIdOf('organisations-einheit-search');
+  const selectedSearchItem: string = getDataTestIdOf('selected-search-item');
   const forwardButton: string = getDataTestIdOf('foward-dialog-forward-button');
 
   const organisationsEinheitResource: OrganisationsEinheitResource = createOrganisationsEinheitResource();
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [ForwardingDialogComponent],
       declarations: [
         MockComponent(CancelDialogButtonComponent),
         MockComponent(ForwardingButtonComponent),
-        MockComponent(ForwardingItemInDialogComponent),
-        MockModule(ZustaendigeStelleModule),
+        MockComponent(SelectedSearchItemComponent),
+        MockComponent(ForwardingSearchOrganisationsEinheitComponent),
       ],
     }).compileComponents();
 
@@ -53,7 +54,7 @@ describe('ForwardingDialogComponent', () => {
 
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, zufiSearch);
+        existsAsHtmlElement(fixture, organisationsEinheitSearch);
       });
 
       it('should NOT render if selectedSearchResult is NOT null', () => {
@@ -61,7 +62,7 @@ describe('ForwardingDialogComponent', () => {
 
         fixture.detectChanges();
 
-        notExistsAsHtmlElement(fixture, zufiSearch);
+        notExistsAsHtmlElement(fixture, organisationsEinheitSearch);
       });
     });
   });
@@ -78,7 +79,7 @@ describe('ForwardingDialogComponent', () => {
 
       fixture.detectChanges();
 
-      existsAsHtmlElement(fixture, forwardingItem);
+      existsAsHtmlElement(fixture, selectedSearchItem);
     });
 
     it('should NOT render if selectedSearchResult is null', () => {
@@ -86,7 +87,7 @@ describe('ForwardingDialogComponent', () => {
 
       fixture.detectChanges();
 
-      notExistsAsHtmlElement(fixture, forwardingItem);
+      notExistsAsHtmlElement(fixture, selectedSearchItem);
     });
   });
 
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
index 178d84465273bc421ee5bd9a49dca84d213cb299..9ff338f0a8f472af342aa6ccd809b3dcbcfca407 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
@@ -7,8 +7,10 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
 import { ReactiveFormsModule } from '@angular/forms';
 import { getUrl, ResourceUri } from '@ngxp/rest';
 import { CancelDialogButtonComponent } from '@ods/component';
+import { DialogContainerComponent } from '@ods/system';
 import { ForwardingButtonComponent } from './forwarding-button/forwarding-button.component';
-import { ForwardingItemInDialogComponent } from './forwarding-item/forwarding-item.component';
+import { SelectedSearchItemComponent } from './selected-search-item/selected-search-item.component';
+import { ForwardingSearchOrganisationsEinheitComponent } from './search-organisations-einheit/search-organisations-einheit.component';
 
 @Component({
   selector: 'alfa-forwarding-dialog',
@@ -19,7 +21,9 @@ import { ForwardingItemInDialogComponent } from './forwarding-item/forwarding-it
     ReactiveFormsModule,
     ZustaendigeStelleModule,
     ForwardingButtonComponent,
-    ForwardingItemInDialogComponent,
+    ForwardingSearchOrganisationsEinheitComponent,
+    SelectedSearchItemComponent,
+    DialogContainerComponent,
   ],
   templateUrl: './forwarding-dialog.component.html',
 })
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.html
deleted file mode 100644
index bd41e43d6a1c75eb03bca208ca264c7553aaa5a8..0000000000000000000000000000000000000000
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<ods-forwarding-item [label]="organisationsEinheitResource.name" [address]="organisationsEinheitResource.anschrift | anschriftToString" >
-  <alfa-forwarding-item-change-button-container />
-</ods-forwarding-item>
\ No newline at end of file
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.spec.ts
deleted file mode 100644
index b8ffb55d8ab7ff80771ddd8cdd2d1e6611dbe459..0000000000000000000000000000000000000000
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.spec.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { getMockComponent } from '@alfa-client/test-utils';
-import { Anschrift, OrganisationsEinheitResource } from '@alfa-client/zustaendige-stelle-shared';
-import { ForwardingItemComponent } from '@ods/system';
-import { MockComponent } from 'ng-mocks';
-import { createOrganisationsEinheitResource } from '../../../../../../zustaendige-stelle-shared/test/organisations-einheit';
-import { ForwardingItemChangeButtonContainerComponent } from './forwarding-item-change-button-container/forwarding-item-change-button-container.component';
-import { ForwardingItemInDialogComponent } from './forwarding-item.component';
-
-describe('ForwardingDialogForwardingItemComponent', () => {
-  let component: ForwardingItemInDialogComponent;
-  let fixture: ComponentFixture<ForwardingItemInDialogComponent>;
-
-  const organisationsEinheitResource: OrganisationsEinheitResource = createOrganisationsEinheitResource();
-  const anschrift: Anschrift = organisationsEinheitResource.anschrift;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [ForwardingItemInDialogComponent],
-      declarations: [MockComponent(ForwardingItemChangeButtonContainerComponent), MockComponent(ForwardingItemComponent)],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(ForwardingItemInDialogComponent);
-    component = fixture.componentInstance;
-    component.organisationsEinheitResource = organisationsEinheitResource;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-
-  describe('forwarding item', () => {
-    it('should exist with input', () => {
-      const forwardingItem: ForwardingItemComponent = getMockComponent(fixture, ForwardingItemComponent);
-
-      expect(forwardingItem.label).toBe(organisationsEinheitResource.name);
-      expect(forwardingItem.address).toBe(`${anschrift.strasse} ${anschrift.hausnummer}, ${anschrift.plz} ${anschrift.ort}`);
-    });
-  });
-});
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.ts
deleted file mode 100644
index 9828f682d8860e851cc15cde31fef24150120f4a..0000000000000000000000000000000000000000
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item.component.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { AnschriftToStringPipe, OrganisationsEinheitResource } from '@alfa-client/zustaendige-stelle-shared';
-import { Component, Input } from '@angular/core';
-import { ForwardingItemComponent } from '@ods/system';
-import { ForwardingItemChangeButtonContainerComponent } from './forwarding-item-change-button-container/forwarding-item-change-button-container.component';
-
-@Component({
-  selector: 'alfa-forwarding-item-in-dialog',
-  standalone: true,
-  imports: [ForwardingItemChangeButtonContainerComponent, AnschriftToStringPipe, ForwardingItemComponent],
-  templateUrl: './forwarding-item.component.html',
-})
-export class ForwardingItemInDialogComponent {
-  @Input() organisationsEinheitResource: OrganisationsEinheitResource;
-}
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..410a1ed8605cd28872a594b69559885e6e707d5d
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html
@@ -0,0 +1,3 @@
+<ods-forwarding-item>
+  <alfa-search-zustaendige-stelle-form-container focusOnSearchField="true"/>
+</ods-forwarding-item>
\ No newline at end of file
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..84b088454368fd60b3f91e74363ce1aadae01ee0
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts
@@ -0,0 +1,26 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle';
+import { ForwardingItemComponent } from '@ods/system';
+import { MockComponent, MockModule } from 'ng-mocks';
+import { ForwardingSearchOrganisationsEinheitComponent } from './search-organisations-einheit.component';
+
+describe('ForwardingSearchOrganisationsEinheitComponent', () => {
+  let component: ForwardingSearchOrganisationsEinheitComponent;
+  let fixture: ComponentFixture<ForwardingSearchOrganisationsEinheitComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ForwardingSearchOrganisationsEinheitComponent],
+      declarations: [MockComponent(ForwardingItemComponent), MockModule(ZustaendigeStelleModule)],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(ForwardingSearchOrganisationsEinheitComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..bc974a66d4a87b9d32b81acf1e8eff03d5f40430
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts
@@ -0,0 +1,11 @@
+import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle';
+import { Component } from '@angular/core';
+import { ForwardingItemComponent } from '@ods/system';
+
+@Component({
+  selector: 'alfa-forwarding-search-organisations-einheit',
+  standalone: true,
+  imports: [ForwardingItemComponent, ZustaendigeStelleModule],
+  templateUrl: './search-organisations-einheit.component.html',
+})
+export class ForwardingSearchOrganisationsEinheitComponent {}
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.html
similarity index 100%
rename from alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.html
rename to alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.html
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.spec.ts
similarity index 79%
rename from alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.spec.ts
rename to alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.spec.ts
index 49e50eaa845262e74914cd7f4717c66e549ca924..86ce46346d2fa0592dc93cc2c83c75f3f4512d83 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.spec.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.spec.ts
@@ -5,11 +5,11 @@ import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-c
 import { ButtonComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { getDataTestIdOf } from '../../../../../../../tech-shared/test/data-test';
-import { ForwardingItemChangeButtonContainerComponent } from './forwarding-item-change-button-container.component';
+import { ChangeButtonContainerComponent } from './change-button-container.component';
 
 describe('ForwardingItemChangeButtonContainerComponent', () => {
-  let component: ForwardingItemChangeButtonContainerComponent;
-  let fixture: ComponentFixture<ForwardingItemChangeButtonContainerComponent>;
+  let component: ChangeButtonContainerComponent;
+  let fixture: ComponentFixture<ChangeButtonContainerComponent>;
 
   const buttonContainer: string = getDataTestIdOf('forwarding-item-change-button-container');
 
@@ -19,12 +19,12 @@ describe('ForwardingItemChangeButtonContainerComponent', () => {
     service = mock(OrganisationsEinheitService);
 
     TestBed.configureTestingModule({
-      imports: [ForwardingItemChangeButtonContainerComponent],
+      imports: [ChangeButtonContainerComponent],
       declarations: [MockComponent(ButtonComponent)],
       providers: [{ provide: ZUSTAENDIGE_STELLE_SERVICE, useValue: service }],
     }).compileComponents();
 
-    fixture = TestBed.createComponent(ForwardingItemChangeButtonContainerComponent);
+    fixture = TestBed.createComponent(ChangeButtonContainerComponent);
     component = fixture.componentInstance;
     fixture.detectChanges();
   });
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.ts
similarity index 71%
rename from alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.ts
rename to alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.ts
index 5a0ca9ccbe7730e0eb8d54ef013b17d12719b0ec..549bd4342b5c274724a0a55a6fdde303d1209d69 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-item/forwarding-item-change-button-container/forwarding-item-change-button-container.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/change-button-container/change-button-container.component.ts
@@ -3,12 +3,12 @@ import { Component, inject } from '@angular/core';
 import { ButtonComponent } from '@ods/system';
 
 @Component({
-  selector: 'alfa-forwarding-item-change-button-container',
+  selector: 'alfa-change-button-container',
   standalone: true,
   imports: [ButtonComponent],
-  templateUrl: './forwarding-item-change-button-container.component.html',
+  templateUrl: './change-button-container.component.html',
 })
-export class ForwardingItemChangeButtonContainerComponent {
+export class ChangeButtonContainerComponent {
   private readonly organisationsEinheitService = inject(ZUSTAENDIGE_STELLE_SERVICE) as OrganisationsEinheitService;
 
   public onClick(): void {
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..66f8b9cac15d60112010465b2632f3e607b0dfa7
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.html
@@ -0,0 +1,7 @@
+<ods-forwarding-item class="block">
+  <ods-forwarding-item-info
+    [label]="organisationsEinheitResource.name"
+    [address]="organisationsEinheitResource.anschrift | anschriftToString"
+  />
+  <alfa-change-button-container end-content />
+</ods-forwarding-item>
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c95fd052a78482a1a5aa3a15a60e3e3cd0b35ec3
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.spec.ts
@@ -0,0 +1,46 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { getMockComponent } from '@alfa-client/test-utils';
+import { Anschrift, OrganisationsEinheitResource } from '@alfa-client/zustaendige-stelle-shared';
+import { ForwardingItemComponent, ForwardingItemInfoComponent } from '@ods/system';
+import { MockComponent } from 'ng-mocks';
+import { createOrganisationsEinheitResource } from '../../../../../../zustaendige-stelle-shared/test/organisations-einheit';
+import { ChangeButtonContainerComponent } from './change-button-container/change-button-container.component';
+import { SelectedSearchItemComponent } from './selected-search-item.component';
+
+describe('ForwardingSearchOrganisationsEinheitComponent', () => {
+  let component: SelectedSearchItemComponent;
+  let fixture: ComponentFixture<SelectedSearchItemComponent>;
+
+  const organisationsEinheitResource: OrganisationsEinheitResource = createOrganisationsEinheitResource();
+  const anschrift: Anschrift = organisationsEinheitResource.anschrift;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [SelectedSearchItemComponent],
+      declarations: [
+        MockComponent(ChangeButtonContainerComponent),
+        MockComponent(ForwardingItemComponent),
+        MockComponent(ForwardingItemInfoComponent),
+      ],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(SelectedSearchItemComponent);
+    component = fixture.componentInstance;
+    component.organisationsEinheitResource = organisationsEinheitResource;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+
+  describe('forwarding item info', () => {
+    it('should exist with input', () => {
+      const forwardingItemInfo: ForwardingItemInfoComponent = getMockComponent(fixture, ForwardingItemInfoComponent);
+
+      expect(forwardingItemInfo.label).toBe(organisationsEinheitResource.name);
+      expect(forwardingItemInfo.address).toBe(`${anschrift.strasse} ${anschrift.hausnummer}, ${anschrift.plz} ${anschrift.ort}`);
+    });
+  });
+});
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c40737820507149807e1fe17be6de8a6033b6e6d
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/selected-search-item/selected-search-item.component.ts
@@ -0,0 +1,14 @@
+import { AnschriftToStringPipe, OrganisationsEinheitResource } from '@alfa-client/zustaendige-stelle-shared';
+import { Component, Input } from '@angular/core';
+import { ForwardingItemComponent, ForwardingItemInfoComponent } from '@ods/system';
+import { ChangeButtonContainerComponent } from './change-button-container/change-button-container.component';
+
+@Component({
+  selector: 'alfa-selected-search-item',
+  standalone: true,
+  imports: [ChangeButtonContainerComponent, AnschriftToStringPipe, ForwardingItemComponent, ForwardingItemInfoComponent],
+  templateUrl: './selected-search-item.component.html',
+})
+export class SelectedSearchItemComponent {
+  @Input() organisationsEinheitResource: OrganisationsEinheitResource;
+}