diff --git a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.html b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.html
index b90eaca0ebe2582b649a5ddc44cdc3cc84f76e67..8dc8279de55dc9926954798e2eece9dbc68eee0c 100644
--- a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.html
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.html
@@ -48,7 +48,7 @@
       <dd class="mt-1" data-test-id="organisations-einheit-sync-error">
         <ods-exclamation-icon
           *ngIf="organisationsEinheitResource.syncResult === AdminOrganisationsEinheitSyncResult.NOT_FOUND_IN_PVOG"
-          matTooltip="Organisationseinheit wurde nicht in den PVOG-Daten gefunden."
+          tooltip="Organisationseinheit wurde nicht in den PVOG-Daten gefunden."
           size="small"
         />
         <ods-exclamation-icon
diff --git a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.spec.ts
index f7ce733a741f7c9c8a2162bca39ece86ad04b76f..0d5d5364e04fbe0e99026fb099091d7f7d641495 100644
--- a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.spec.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.spec.ts
@@ -31,16 +31,15 @@ import {
 } from '@alfa-client/test-utils';
 import { CommonModule } from '@angular/common';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { ActivatedRoute } from '@angular/router';
-import { ExclamationIconComponent, ListComponent, ListItemComponent } from '@ods/system';
+import { ExclamationIconComponent, ListComponent, ListItemComponent, TooltipDirective } from '@ods/system';
 import {
   AdminOrganisationsEinheitResource,
   AdminOrganisationsEinheitSyncResult,
 } from 'libs/admin/organisations-einheit-shared/src/lib/organisations-einheit.model';
 import { createAdminOrganisationsEinheitResource } from 'libs/admin/organisations-einheit-shared/src/test/organisations-einheit';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { OrganisationsEinheitListComponent } from './organisations-einheit-list.component';
 
 describe('OrganisationsEinheitListComponent', () => {
@@ -71,7 +70,7 @@ describe('OrganisationsEinheitListComponent', () => {
         MockComponent(ListComponent),
         MockComponent(ListItemComponent),
         MockComponent(ExclamationIconComponent),
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
       ],
     }).compileComponents();
 
diff --git a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts
index 826556819ed09bee47196d4f0667a466d18fd3c0..fadda5a235ab06b9230cbd0d88552e8caa770f8d 100644
--- a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts
@@ -28,14 +28,13 @@ import {
 import { TechSharedModule } from '@alfa-client/tech-shared';
 import { CommonModule } from '@angular/common';
 import { Component, Input } from '@angular/core';
-import { MatTooltip } from '@angular/material/tooltip';
-import { ExclamationIconComponent, ListComponent, ListItemComponent } from '@ods/system';
+import { ExclamationIconComponent, ListComponent, ListItemComponent, TooltipDirective } from '@ods/system';
 
 @Component({
   selector: 'admin-organisations-einheit-list',
   templateUrl: './organisations-einheit-list.component.html',
   standalone: true,
-  imports: [CommonModule, ListComponent, ListItemComponent, ExclamationIconComponent, MatTooltip, TechSharedModule],
+  imports: [CommonModule, ListComponent, ListItemComponent, ExclamationIconComponent, TooltipDirective, TechSharedModule],
 })
 export class OrganisationsEinheitListComponent {
   private _organisationsEinheitResources: AdminOrganisationsEinheitResource[] = [];
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.html b/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.html
index bef7fe52816ac23dc5c4fc7dff6e1f7e25a99f1b..ad0a9c152b8652d95b4a737339645dd30283cfff 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.html
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.html
@@ -23,12 +23,7 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<div
-  class="container"
-  [class.deletable]="deletable"
-  [matTooltip]="file.name"
-  matTooltipClass="word-break"
->
+<div class="container" [class.deletable]="deletable" [tooltip]="file.name">
   <div
     class="download-container"
     [class.downloadable]="file | hasLink: fileLinkRel.DOWNLOAD"
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.spec.ts b/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.spec.ts
index 8aaaf66f276b3cadf34437f02d4fcff5e48eb0e3..975c2bf58293f58f8a9f02ad52a7478d25051f13 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.spec.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-container/binary-file/binary-file.component.spec.ts
@@ -28,11 +28,11 @@ import { getElementFromFixture } from '@alfa-client/test-utils';
 import { IconButtonWithSpinnerComponent, SpinnerComponent } from '@alfa-client/ui';
 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { faker } from '@faker-js/faker';
+import { TooltipDirective } from '@ods/system';
 import { createBinaryFileResource } from 'libs/binary-file-shared/test/binary-file';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { BinaryFileComponent } from './binary-file.component';
 
 describe('BinaryFileComponent', () => {
@@ -49,9 +49,9 @@ describe('BinaryFileComponent', () => {
         MatIcon,
         FileSizePipe,
         HasLinkPipe,
-        MockModule(MatTooltipModule),
         MockComponent(SpinnerComponent),
         MockComponent(IconButtonWithSpinnerComponent),
+        MockDirective(TooltipDirective),
       ],
     });
   });
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file.module.ts b/alfa-client/libs/binary-file/src/lib/binary-file.module.ts
index 1617356e95e80d98fbc07625f3b8fb876b930fbf..ee4cacdb5f276222620c9a4297808dc6e836c007 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file.module.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file.module.ts
@@ -32,6 +32,7 @@ import {
   AttachmentWrapperComponent,
   CloseIconComponent,
   SpinnerIconComponent,
+  TooltipDirective,
 } from '@ods/system';
 import { BinaryFileAttachmentContainerComponent } from './binary-file-attachment-container/binary-file-attachment-container.component';
 import { BinaryFileContainerComponent } from './binary-file-container/binary-file-container.component';
@@ -56,6 +57,7 @@ import { VerticalBinaryFileListComponent } from './vertical-binary-file-list/ver
     SpinnerIconComponent,
     CloseIconComponent,
     DownloadButtonComponent,
+    TooltipDirective,
   ],
   declarations: [
     BinaryFileAttachmentContainerComponent,
diff --git a/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.component.ts b/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.component.ts
index 20d8fd4a4742512a13322ef6ffbcb274fd6867c2..5a7a7bba99728581d60fa65fd9fda66dbf093391 100644
--- a/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.component.ts
+++ b/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.component.ts
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
+ * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
  * Staatskanzlei
  * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -33,7 +33,7 @@ import { twMerge } from 'tailwind-merge';
   imports: [CommonModule, CdkTrapFocus],
   template: ` <div class="relative w-fit">
     <button
-      [ngClass]="[twMerge('block w-fit outline-2 outline-offset-2 outline-focus', buttonClass)]"
+      [ngClass]="[twMerge('block w-fit outline-2 outline-offset-2 outline-focus empty:hidden', buttonClass)]"
       (click)="handleButtonClick()"
       [attr.aria-expanded]="isPopupOpen"
       aria-haspopup="true"
diff --git a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.component.ts b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.component.ts
index 85e9b48d104df61a2139cdf829bc78f9728bc914..1f813a9e5ea79cb5e30111a132dca50be8ebcc2f 100644
--- a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.component.ts
+++ b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.component.ts
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
+ * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
  * Staatskanzlei
  * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -29,7 +29,7 @@ import { TooltipPosition } from './tooltip.directive';
   selector: 'ods-tooltip',
   imports: [NgClass],
   template: `<span
-    class="tooltip fixed z-[100] max-w-xs animate-fadeIn cursor-default break-words rounded bg-ozggray-900 px-3 py-2 text-sm text-whitetext before:absolute before:border-l-[0.5rem] before:border-r-[0.5rem] before:border-l-transparent before:border-r-transparent dark:bg-white md:max-w-[calc(90vw)]"
+    class="tooltip fixed z-[100] max-w-md animate-fadeIn cursor-default whitespace-pre rounded bg-ozggray-900 px-3 py-2 text-sm text-whitetext before:absolute before:border-l-[0.5rem] before:border-r-[0.5rem] before:border-l-transparent before:border-r-transparent dark:bg-white md:max-w-[calc(90vw)]"
     [ngClass]="class"
     [class.visible]="show"
     [class.invisible]="!show"
diff --git a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts
index 9265a021a9ce2e988257793c5474970b79d06fc3..e41c410f0efb001d9c7896eaec93fb388fb9d23a 100644
--- a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts
@@ -21,7 +21,6 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { EMPTY_STRING } from '@alfa-client/tech-shared';
 import { InteractivityChecker } from '@angular/cdk/a11y';
 import { ComponentRef, ElementRef, Renderer2, ViewContainerRef } from '@angular/core';
 import { TestBed } from '@angular/core/testing';
@@ -64,11 +63,28 @@ describe('TooltipDirective', () => {
     expect(directive).toBeTruthy();
   });
 
-  describe('ngAfterViewInit', () => {
-    it('should create tooltip', () => {
+  describe('set tooltip', () => {
+    beforeEach(() => {
       directive.createTooltip = jest.fn();
+      directive.destroy = jest.fn();
+    });
+
+    it('should destroy tooltip if it exists already', () => {
+      directive.componentRef = mockComponentRef;
 
-      directive.ngAfterViewInit();
+      directive.tooltip = 'test';
+
+      expect(directive.destroy).toHaveBeenCalled();
+    });
+
+    it('should not create tooltip if text is empty', () => {
+      directive.tooltip = '';
+
+      expect(directive.createTooltip).not.toHaveBeenCalled();
+    });
+
+    it('should create tooltip', () => {
+      directive.tooltip = 'test';
 
       expect(directive.createTooltip).toHaveBeenCalled();
     });
@@ -85,49 +101,48 @@ describe('TooltipDirective', () => {
   });
 
   describe('createTooltip', () => {
+    const tooltipText: string = faker.lorem.sentence();
+
     beforeEach(() => {
       directive.viewContainerRef.createComponent = jest.fn().mockReturnValue({ location: { nativeElement: {} } });
       directive.setAriaAttribute = jest.fn();
       directive.setInitialTooltipProperties = jest.fn();
       directive.getParentElement = jest.fn().mockReturnValue({ appendChild: jest.fn() });
       directive.interactivityChecker.isFocusable = jest.fn();
-      directive.tooltip = faker.lorem.sentence();
     });
 
     it('should create tooltip component', () => {
-      directive.createTooltip();
+      directive.createTooltip(tooltipText);
 
       expect(directive.viewContainerRef.createComponent).toHaveBeenCalled();
     });
 
     it('should get parent element', () => {
-      directive.createTooltip();
+      directive.createTooltip(tooltipText);
 
       expect(directive.getParentElement).toHaveBeenCalled();
     });
 
     it('should insert tooltip component to parent element', () => {
-      directive.createTooltip();
+      directive.createTooltip(tooltipText);
 
       expect(directive.parentElement.appendChild).toHaveBeenCalled();
     });
 
     it('should set initial tooltip properties', () => {
-      directive.createTooltip();
+      directive.createTooltip(tooltipText);
 
       expect(directive.setInitialTooltipProperties).toHaveBeenCalled();
     });
 
     it('should set aria attribute to parent', () => {
-      directive.createTooltip();
+      directive.createTooltip(tooltipText);
 
       expect(directive.setAriaAttribute).toHaveBeenCalled();
     });
 
     it('should not create tooltip', () => {
-      directive.tooltip = EMPTY_STRING;
-
-      directive.createTooltip();
+      directive.createTooltip('');
 
       expect(directive.getParentElement).not.toHaveBeenCalled();
     });
@@ -135,10 +150,19 @@ describe('TooltipDirective', () => {
 
   describe('showTooltip', () => {
     beforeEach(() => {
+      directive.componentRef = mockComponentRef;
       directive.setTooltipProperties = jest.fn();
       directive.elementRef.nativeElement.contains = jest.fn().mockReturnValue(true);
     });
 
+    it('should not set tooltip properties if component ref is null', () => {
+      directive.componentRef = null;
+
+      directive.showTooltip();
+
+      expect(directive.setTooltipProperties).not.toHaveBeenCalled();
+    });
+
     it('should check if element focused', () => {
       directive.showTooltip();
 
@@ -218,9 +242,6 @@ describe('TooltipDirective', () => {
     });
 
     it('should set tooltip instance properties', () => {
-      directive.tooltip = 'I am tooltip';
-      directive.tooltipId = 'tooltip-1';
-
       directive.setTooltipProperties();
 
       expect(directive.componentRef.instance).toMatchObject({
diff --git a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts
index cdc414d0e3f580d085037276f26f03697f98decc..ce1f687ce7a0df7411b5d3169f42d9c152f9c88e 100644
--- a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts
+++ b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts
@@ -21,10 +21,9 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { isEscapeKey } from '@alfa-client/tech-shared';
+import { isEscapeKey, isNotNull } from '@alfa-client/tech-shared';
 import { InteractivityChecker } from '@angular/cdk/a11y';
 import {
-  AfterViewInit,
   ComponentRef,
   Directive,
   ElementRef,
@@ -49,8 +48,18 @@ type TooltipAriaType = 'aria-describedby' | 'aria-labelledby';
   selector: '[tooltip]',
   standalone: true,
 })
-export class TooltipDirective implements AfterViewInit, OnDestroy {
-  @Input() tooltip: string = '';
+export class TooltipDirective implements OnDestroy {
+  @Input() set tooltip(value: string) {
+    if (isNotNull(this.componentRef)) {
+      this.destroy();
+    }
+
+    if (isEmpty(value)) {
+      return;
+    }
+
+    this.createTooltip(value);
+  }
   @Input() tooltipPosition: TooltipPosition = TooltipPosition.BELOW;
   @Input() tooltipAriaType: TooltipAriaType = 'aria-describedby';
 
@@ -61,14 +70,10 @@ export class TooltipDirective implements AfterViewInit, OnDestroy {
   position: TooltipPosition;
   leftOffset: number = 0;
 
-  public viewContainerRef: ViewContainerRef = inject(ViewContainerRef);
-  public elementRef: ElementRef<HTMLElement> = inject(ElementRef);
-  public renderer: Renderer2 = inject(Renderer2);
-  public interactivityChecker: InteractivityChecker = inject(InteractivityChecker);
-
-  ngAfterViewInit(): void {
-    this.createTooltip();
-  }
+  public readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);
+  public readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);
+  public readonly renderer: Renderer2 = inject(Renderer2);
+  public readonly interactivityChecker: InteractivityChecker = inject(InteractivityChecker);
 
   ngOnDestroy(): void {
     this.destroy();
@@ -77,6 +82,10 @@ export class TooltipDirective implements AfterViewInit, OnDestroy {
   @HostListener('mouseenter')
   @HostListener('focusin')
   showTooltip(): void {
+    if (isNull(this.componentRef)) {
+      return;
+    }
+
     const nativeElement: HTMLElement = this.elementRef.nativeElement;
     this.attachedToFocused = nativeElement.contains(document.activeElement);
     this.setTooltipProperties();
@@ -97,8 +106,8 @@ export class TooltipDirective implements AfterViewInit, OnDestroy {
     }
   }
 
-  createTooltip(): void {
-    if (isEmpty(this.tooltip)) {
+  createTooltip(tooltipText: string): void {
+    if (isEmpty(tooltipText)) {
       return;
     }
 
@@ -107,7 +116,7 @@ export class TooltipDirective implements AfterViewInit, OnDestroy {
     this.parentElement = this.getParentElement(nativeElement);
     this.parentElement.appendChild(this.componentRef.location.nativeElement);
     this.tooltipId = uniqueId('tooltip');
-    this.setInitialTooltipProperties(this.tooltip, this.tooltipId);
+    this.setInitialTooltipProperties(tooltipText, this.tooltipId);
     this.setAriaAttribute(this.tooltipAriaType);
   }
 
@@ -199,6 +208,10 @@ export class TooltipDirective implements AfterViewInit, OnDestroy {
   }
 
   hide(): void {
+    if (isNull(this.componentRef)) {
+      return;
+    }
+
     this.componentRef.instance.show = false;
   }
 
diff --git a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.html b/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.html
index 15b7525df35717921a5d10f25db575a969fa6070..29c6b91fcdefa4629cae62422ee8b56fe62346b2 100644
--- a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.html
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
+    Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
     Ministerpräsidenten des Landes Schleswig-Holstein
     Staatskanzlei
     Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -28,8 +28,8 @@
   mat-icon-button
   data-test-id="back-button"
   class="back-button"
-  [attr.aria-label]="label"
-  [matTooltip]="label"
+  [tooltip]="label"
+  tooltipAriaType="aria-labelledby"
 >
   <mat-icon>arrow_back</mat-icon>
 </a>
diff --git a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts
index c27ac7f78d4ef8f71075e09a7e872f11e8d15398..9ca87b6fea4263137d68e5451ad05639cff3666d 100644
--- a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
+ * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
  * Staatskanzlei
  * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -24,11 +24,11 @@
 import { getElementFromFixture } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { RouterTestingModule } from '@angular/router/testing';
 import { faker } from '@faker-js/faker';
+import { TooltipDirective } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
-import { MockModule } from 'ng-mocks';
+import { MockDirective } from 'ng-mocks';
 import { BackButtonComponent } from './back-button.component';
 
 describe('BackButtonComponent', () => {
@@ -41,7 +41,7 @@ describe('BackButtonComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [BackButtonComponent, MockModule(MatTooltipModule)],
+      declarations: [BackButtonComponent, MockDirective(TooltipDirective)],
       imports: [MatIcon, RouterTestingModule],
     }).compileComponents();
 
@@ -54,19 +54,6 @@ describe('BackButtonComponent', () => {
     expect(component).toBeTruthy();
   });
 
-  describe('label', () => {
-    beforeEach(() => {
-      component.label = faker.lorem.sentence();
-      fixture.detectChanges();
-    });
-
-    it('should set aria-label attribute', () => {
-      const backButtonElement: HTMLAnchorElement = getElementFromFixture(fixture, backButton);
-
-      expect(backButtonElement).toHaveAttribute('aria-label', component.label);
-    });
-  });
-
   describe('linkTo', () => {
     it('string path should set href attribute', () => {
       component.linkTo = linkToAsString;
diff --git a/alfa-client/libs/ui/src/lib/ui/download-button/download-button.component.html b/alfa-client/libs/ui/src/lib/ui/download-button/download-button.component.html
index 837eb1f03cfbac8cffcdb498528ac68a87927009..5c65fd900ce1b07a5ae957e00295792655481bee 100644
--- a/alfa-client/libs/ui/src/lib/ui/download-button/download-button.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/download-button/download-button.component.html
@@ -28,7 +28,7 @@
   data-test-id="open-url-in-new-window"
   [href]="url"
   [attr.aria-label]="text"
-  [matTooltip]="text"
+  [tooltip]="text"
   [download]="targetName"
   [color]="'primary'"
 >
diff --git a/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.html b/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.html
index 17f6df625694ad4a805506963c8278fe055a3d48..1bb8fb6c9424bb9fb420a5f0007d61a88ffe6beb 100644
--- a/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.html
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
+    Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
     Ministerpräsidenten des Landes Schleswig-Holstein
     Staatskanzlei
     Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -26,36 +26,18 @@
 <button
   mat-icon-button
   data-test-class="icon-button"
-  [attr.aria-label]="
-    toolTip ? toolTip : 'Icon Button mit einem ' + (icon ? icon : svgIcon) + ' Icon'
-  "
   [disabled]="isDisabled"
-  [matTooltip]="toolTip"
+  [tooltip]="toolTip"
+  tooltipAriaType="aria-labelledby"
   [matMenuTriggerFor]="matMenuTriggerFor"
   (click)="clickEmitter.emit($event)"
   type="button"
 >
-  <mat-icon
-    *ngIf="icon"
-    data-test-class="icon"
-    [style.visibility]="isDisabled ? 'hidden' : 'visible'"
-  >
+  <mat-icon *ngIf="icon" data-test-class="icon" [style.visibility]="isDisabled ? 'hidden' : 'visible'">
     {{ icon }}
   </mat-icon>
 
-  <mat-icon
-    *ngIf="svgIcon"
-    data-test-class="icon"
-    [svgIcon]="svgIcon"
-    [style.visibility]="isDisabled ? 'hidden' : 'visible'"
-  >
-  </mat-icon>
+  <mat-icon *ngIf="svgIcon" data-test-class="icon" [svgIcon]="svgIcon" [style.visibility]="isDisabled ? 'hidden' : 'visible'" />
 
-  <ozgcloud-spinner
-    [stateResource]="getStateResource()"
-    [diameter]="22"
-    [show]="showSpinner"
-    padding="0"
-  >
-  </ozgcloud-spinner>
+  <ozgcloud-spinner [stateResource]="getStateResource()" [diameter]="22" [show]="showSpinner" padding="0" />
 </button>
diff --git a/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.spec.ts
index e303e74c6fd61eef05ccc6cef15bff6f60607866..7cf06e5752ca8ebf4c3b0b797b97631bc3e04c25 100644
--- a/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/icon-button-with-spinner/icon-button-with-spinner.component.spec.ts
@@ -25,8 +25,8 @@ import { createEmptyStateResource } from '@alfa-client/tech-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatMenuModule } from '@angular/material/menu';
-import { MatTooltipModule } from '@angular/material/tooltip';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { TooltipDirective } from '@ods/system';
+import { MockComponent, MockDirective, MockModule } from 'ng-mocks';
 import { SpinnerComponent } from '../spinner/spinner.component';
 import { IconButtonWithSpinnerComponent } from './icon-button-with-spinner.component';
 
@@ -43,7 +43,7 @@ describe('IconButtonWithSpinnerComponent', () => {
         IconButtonWithSpinnerComponent,
         MatIcon,
         MockComponent(SpinnerComponent),
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
         MockModule(MatMenuModule),
       ],
     });
diff --git a/alfa-client/libs/ui/src/lib/ui/mattooltip/mattooltip.default.ts b/alfa-client/libs/ui/src/lib/ui/mattooltip/mattooltip.default.ts
deleted file mode 100644
index af14a745eb9b5d1fe8556ab9ea07ccac3b14ded4..0000000000000000000000000000000000000000
--- a/alfa-client/libs/ui/src/lib/ui/mattooltip/mattooltip.default.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import { MatTooltipDefaultOptions } from '@angular/material/tooltip';
-
-export const matTooltipDefaultOptions: MatTooltipDefaultOptions = {
-  showDelay: 1500,
-  hideDelay: 0,
-  touchendHideDelay: 1500,
-  positionAtOrigin: true,
-  disableTooltipInteractivity: true,
-};
diff --git a/alfa-client/libs/ui/src/lib/ui/open-url-button/open-url-button.component.html b/alfa-client/libs/ui/src/lib/ui/open-url-button/open-url-button.component.html
index 9c27adeed48b413aba66c4816fc1f993b8567a70..39ef61cb6485f2d1a8704f729e75f4c13b57fa8d 100644
--- a/alfa-client/libs/ui/src/lib/ui/open-url-button/open-url-button.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/open-url-button/open-url-button.component.html
@@ -29,7 +29,7 @@
   [href]="url"
   [target]="targetName"
   [attr.aria-label]="text"
-  [matTooltip]="tooltip"
+  [tooltip]="tooltip"
   [color]="'primary'"
   [title]="tooltip"
   class="button"
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html
index 93bcb7d18bb803fb08dedf587b10a3261d0099a5..374a22364102cade464a3fad961bbffe1a7b330a 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html
@@ -30,7 +30,7 @@
   [color]="color"
   [type]="type"
   [disabled]="isDisabled"
-  [matTooltip]="toolTip"
+  [tooltip]="toolTip"
   [class.with-text]="text"
   (click)="clickEmitter.emit($event)"
 >
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts
index cb73ead5c66d13042bc5ddb7476b59c7aed81703..ee97fa55891a3b5ea04917c80ea255458f58d68b 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts
@@ -24,13 +24,13 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatButton } from '@angular/material/button';
 import { MatRipple } from '@angular/material/core';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { OzgcloudButtonContentComponent } from '../shared/ozgcloud-button-content/ozgcloud-button-content.component';
 import { OzgcloudButtonWithSpinnerComponent } from './ozgcloud-button-with-spinner.component';
 
+import { TooltipDirective } from '@ods/system';
 import * as ResourceUtils from 'libs/tech-shared/src/lib/resource/resource.util';
 
 describe('OzgcloudButtonWithSpinnerComponent', () => {
@@ -45,7 +45,7 @@ describe('OzgcloudButtonWithSpinnerComponent', () => {
         MatButton,
         MatRipple,
         OzgcloudButtonWithSpinnerComponent,
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
         MockComponent(OzgcloudButtonContentComponent),
       ],
     }).compileComponents();
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html
index b0ecf6c5de127cddea84861601dde60fb1e2efb1..21035dd8675511d51040c8f6aa627b995bab54ed 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html
@@ -27,7 +27,7 @@
   mat-icon-button
   data-test-class="icon-button-primary"
   [attr.aria-label]="ariaLabel"
-  [matTooltip]="tooltip"
+  [tooltip]="tooltip"
   (click)="clickEmitter.emit($event)"
   color="primary"
   type="button"
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss
index af82db8c6ff99b292d748f41a135b0e811f8a879..a01b48881d53d2d9f8ee17768a885a76c7d902c5 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss
@@ -1,5 +1,5 @@
 /**
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
+ * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
  * Staatskanzlei
  * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -23,4 +23,5 @@
  */
 :host {
   position: relative;
+  z-index: 1;
 }
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts
index ad86b2f5b418a6a2fc6c8ef74c69dc32063f165a..976c0b0c396b7dfc68b3f7e53148d1d75cf1baa8 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts
@@ -26,9 +26,9 @@ import { getElementFromFixture } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatIconTestingModule } from '@angular/material/icon/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { OzgcloudIconButtonPrimaryComponent } from './ozgcloud-icon-button-primary.component';
 
 jest.mock('@alfa-client/tech-shared');
@@ -41,11 +41,7 @@ describe('IconButtonPrimaryWithSpinnerComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       imports: [MatIconTestingModule],
-      declarations: [
-        OzgcloudIconButtonPrimaryComponent,
-        MockComponent(MatIcon),
-        MockModule(MatTooltipModule),
-      ],
+      declarations: [OzgcloudIconButtonPrimaryComponent, MockComponent(MatIcon), MockDirective(TooltipDirective)],
     });
   });
 
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html
index 58afc8842e49c8afe650594a94757aca75f23b3f..1c6c7d85154956f4d5ae0a1c0c09225accde76f9 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html
@@ -30,7 +30,7 @@
   [color]="color"
   [type]="type"
   [disabled]="isDisabled"
-  [matTooltip]="toolTip"
+  [tooltip]="toolTip"
   [class.with-text]="text"
   (click)="clickEmitter.emit($event)"
 >
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts
index 8703dcf19b3978964792b7874155cca2aec699eb..208868555e600c7fd81f6edc4bd1e8fd541827e6 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts
@@ -24,13 +24,13 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatButton } from '@angular/material/button';
 import { MatRipple } from '@angular/material/core';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { OzgcloudButtonContentComponent } from '../shared/ozgcloud-button-content/ozgcloud-button-content.component';
 import { OzgcloudStrokedButtonWithSpinnerComponent } from './ozgcloud-stroked-button-with-spinner.component';
 
+import { TooltipDirective } from '@ods/system';
 import * as ResourceUtils from 'libs/tech-shared/src/lib/resource/resource.util';
 
 describe('OzgcloudStrokedButtonWithSpinnerComponent', () => {
@@ -45,7 +45,7 @@ describe('OzgcloudStrokedButtonWithSpinnerComponent', () => {
         MatButton,
         MatRipple,
         OzgcloudStrokedButtonWithSpinnerComponent,
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
         MockComponent(OzgcloudButtonContentComponent),
       ],
     }).compileComponents();
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-paste-text-button/ozgcloud-paste-text-button.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-paste-text-button/ozgcloud-paste-text-button.component.spec.ts
index 22a817c9b19c19c5c6a5981e94bc533d62759b36..e91b91840bb1f855e5821d6eaac5949bc815181c 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-paste-text-button/ozgcloud-paste-text-button.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-paste-text-button/ozgcloud-paste-text-button.component.spec.ts
@@ -28,9 +28,9 @@ import { EventEmitter } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatIconTestingModule } from '@angular/material/icon/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { OzgcloudPasteTextButtonComponent } from './ozgcloud-paste-text-button.component';
 
 jest.mock('@alfa-client/tech-shared');
@@ -55,7 +55,7 @@ describe('OzgcloudPasteTextButtonComponent', () => {
         OzgcloudPasteTextButtonComponent,
         MockComponent(MatIcon),
         MockComponent(OzgcloudIconButtonPrimaryComponent),
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
       ],
     }).compileComponents();
 
diff --git a/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.html b/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.html
index 366854df1b2cb313dc452750c536d10a208bdbb3..8d302a06932bc9a1adfad5834af5bbf3ec69d88f 100644
--- a/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.html
@@ -26,7 +26,7 @@
 <mat-slide-toggle
   color="primary"
   [disabled]="disabled"
-  [matTooltip]="toolTip"
+  [tooltip]="toolTip"
   [checked]="checked"
   (change)="valueChanged.emit($event.checked)"
   ><span class="text-sm">{{ label }}</span>
diff --git a/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.spec.ts
index 35d63c5fa5c386e8907a09f8a985c36ba555a4dd..39488cb32fad62fe43a90bd77a5a409cbfb41541 100644
--- a/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/slide-toggle/slide-toggle.component.spec.ts
@@ -24,8 +24,8 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatRippleModule } from '@angular/material/core';
 import { MatSlideToggle } from '@angular/material/slide-toggle';
-import { MatTooltipModule } from '@angular/material/tooltip';
-import { MockModule } from 'ng-mocks';
+import { TooltipDirective } from '@ods/system';
+import { MockDirective } from 'ng-mocks';
 import { SlideToggleComponent } from './slide-toggle.component';
 
 describe('SlideToggleComponent', () => {
@@ -35,7 +35,7 @@ describe('SlideToggleComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [MatRippleModule, MatSlideToggle],
-      declarations: [SlideToggleComponent, MockModule(MatTooltipModule)],
+      declarations: [SlideToggleComponent, MockDirective(TooltipDirective)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(SlideToggleComponent);
diff --git a/alfa-client/libs/ui/src/lib/ui/ui.module.ts b/alfa-client/libs/ui/src/lib/ui/ui.module.ts
index 1738c23448649c9653efaa1f8f266b4426136286..eeff7417056ee49e49cbe8c4206a2e72aa5dd9a5 100644
--- a/alfa-client/libs/ui/src/lib/ui/ui.module.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ui.module.ts
@@ -46,9 +46,8 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
 import { MatSlideToggleModule } from '@angular/material/slide-toggle';
 import { MatSnackBarModule } from '@angular/material/snack-bar';
 import { MatTabsModule } from '@angular/material/tabs';
-import { MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipModule } from '@angular/material/tooltip';
 import { RouterModule } from '@angular/router';
-import { FileUploadButtonComponent, SpinnerIconComponent } from '@ods/system';
+import { FileUploadButtonComponent, SpinnerIconComponent, TooltipDirective } from '@ods/system';
 import { de } from 'date-fns/locale';
 import { AppIconComponent } from '../icon/app-icon/app-icon.component';
 import { PostfachIconComponent } from '../icon/postfach-icon/postfach-icon.component';
@@ -73,7 +72,6 @@ import { FixedDialogComponent } from './fixed-dialog/fixed-dialog.component';
 import { ConnectionTimeoutRetryDialogComponent } from './http-error-dialog/connection-timeout-retry-dialog/connection-timeout-retry-dialog.component';
 import { ConnectionTimeoutRetryFailDialogComponent } from './http-error-dialog/connection-timeout-retry-fail-dialog/connection-timeout-retry-fail-dialog.component';
 import { IconButtonWithSpinnerComponent } from './icon-button-with-spinner/icon-button-with-spinner.component';
-import { matTooltipDefaultOptions } from './mattooltip/mattooltip.default';
 import { InternalServerErrorDialogComponent } from './notification/internal-server-error-dialog/internal-server-error-dialog.component';
 import { OpenUrlButtonComponent } from './open-url-button/open-url-button.component';
 import { OzgcloudButtonWithSpinnerComponent } from './ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component';
@@ -156,7 +154,6 @@ import { ValidationErrorComponent } from './validation-error/validation-error.co
     MatAutocompleteModule,
     MatDialogModule,
     MatTabsModule,
-    MatTooltipModule,
     MatBadgeModule,
     CommonModule,
     TechSharedModule,
@@ -164,6 +161,7 @@ import { ValidationErrorComponent } from './validation-error/validation-error.co
     MatButtonToggleModule,
     FileUploadButtonComponent,
     SpinnerIconComponent,
+    TooltipDirective,
   ],
   exports: [
     MatButtonModule,
@@ -186,7 +184,6 @@ import { ValidationErrorComponent } from './validation-error/validation-error.co
     MatAutocompleteModule,
     MatDialogModule,
     MatTabsModule,
-    MatTooltipModule,
     MatBadgeModule,
     CommonModule,
     TechSharedModule,
@@ -253,7 +250,6 @@ import { ValidationErrorComponent } from './validation-error/validation-error.co
       useClass: DateFnsAdapter,
       deps: [MAT_DATE_LOCALE],
     },
-    { provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: matTooltipDefaultOptions },
   ],
 })
 export class UiModule {}
diff --git a/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.html b/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.html
index df527af17224d0db0a84f10f81052589f4b0485b..8789fcac61ca88a8a0d8b96204aa967c1b7fc606 100644
--- a/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.html
+++ b/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.html
@@ -23,6 +23,6 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<a routerLink="{{ routerLinkString }}" [matTooltip]="tooltip" class="link">
+<a routerLink="{{ routerLinkString }}" [tooltip]="tooltip" class="link">
   <ng-content></ng-content>
 </a>
diff --git a/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.spec.ts b/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.spec.ts
index ce240696e45f53cab52a250b9222facdd53094fb..6907e8674b1417d075237a4975c2ce0f1dd4295c 100644
--- a/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.spec.ts
+++ b/alfa-client/libs/user-profile/src/lib/link-with-user-name-tooltip-container/link-with-user-name-tooltip/link-with-user-name-tooltip.component.spec.ts
@@ -24,10 +24,10 @@
 import { createStateResource } from '@alfa-client/tech-shared';
 import { UserProfileResource } from '@alfa-client/user-profile-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { RouterTestingModule } from '@angular/router/testing';
+import { TooltipDirective } from '@ods/system';
 import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile';
-import { MockModule } from 'ng-mocks';
+import { MockDirective } from 'ng-mocks';
 import { LinkWithUserNameTooltipComponent } from './link-with-user-name-tooltip.component';
 
 describe('LinkWithUserNameTooltipComponent', () => {
@@ -40,7 +40,7 @@ describe('LinkWithUserNameTooltipComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [RouterTestingModule],
-      declarations: [LinkWithUserNameTooltipComponent, MockModule(MatTooltipModule)],
+      declarations: [LinkWithUserNameTooltipComponent, MockDirective(TooltipDirective)],
     }).compileComponents();
   });
 
diff --git a/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.html b/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.html
index 27535f64fdc19260a6eae325f3e1f4f2334a9b83..d659fff0fa6e49f8332bef42998e9da5fd6ae992 100644
--- a/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.html
+++ b/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.html
@@ -23,4 +23,4 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<p [matTooltip]="tooltip">{{ text }}</p>
+<p [tooltip]="tooltip">{{ text }}</p>
diff --git a/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.spec.ts b/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.spec.ts
index 9fd7e0083708d0957f4d55df8fad4bf7a6257c6e..23163b82f8921f720872808dc86348c65b83dad8 100644
--- a/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.spec.ts
+++ b/alfa-client/libs/user-profile/src/lib/text-with-user-name-tooltip-container/text-with-user-name-tooltip/text-with-user-name-tooltip.component.spec.ts
@@ -24,9 +24,9 @@
 import { createStateResource } from '@alfa-client/tech-shared';
 import { UserProfileResource } from '@alfa-client/user-profile-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile';
-import { MockModule } from 'ng-mocks';
+import { MockDirective } from 'ng-mocks';
 import { TextWithUserNameTooltipComponent } from './text-with-user-name-tooltip.component';
 
 describe('TextWithUserNameTooltipComponent', () => {
@@ -38,7 +38,7 @@ describe('TextWithUserNameTooltipComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [TextWithUserNameTooltipComponent, MockModule(MatTooltipModule)],
+      declarations: [TextWithUserNameTooltipComponent, MockDirective(TooltipDirective)],
     }).compileComponents();
   });
 
diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html
index d5b5d476d5720e7005f3c70871d57b9a1d376f47..a6866ab9d0a536f9c4af983e893e4408600efb69 100644
--- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html
+++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html
@@ -25,11 +25,10 @@
 -->
 <ozgcloud-spinner [stateResource]="userProfileStateResource" diameter="30" padding="3">
   <div
-    [matTooltipDisabled]="disableTooltip"
     data-test-class="user-profile-icon"
     class="relative flex size-9 items-center justify-center overflow-hidden rounded-full text-lg text-white"
     [class.bg-ozggray-900]="userProfileStateResource.resource || errorMessageCode === messageCode.RESOURCE_NOT_FOUND"
-    [matTooltip]="tooltip"
+    [tooltip]="tooltip"
   >
     <ng-container *ngIf="userProfileStateResource.resource; else noUser">
       <span data-test-class="user-profile-assigned">{{ initials }}</span>
diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts
index c4a359cdc07d4b7e08c992414ba82bf33c191665..5a26a51d01121a4d0c41f18a75d49b03df411b00 100644
--- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts
+++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts
@@ -34,12 +34,11 @@ import { SpinnerComponent } from '@alfa-client/ui';
 import { NO_NAME_MESSAGE, UserProfileResource, userProfileMessage } from '@alfa-client/user-profile-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { faker } from '@faker-js/faker';
-import { ErrorIconComponent, UserIconComponent as OdsUserIconComponent } from '@ods/system';
+import { ErrorIconComponent, UserIconComponent as OdsUserIconComponent, TooltipDirective } from '@ods/system';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
 import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { createApiError, createIssue } from '../../../../tech-shared/test/error';
 import { UserIconComponent } from './user-icon.component';
 
@@ -60,7 +59,7 @@ describe('UserIconComponent', () => {
         UserIconComponent,
         MatIcon,
         MockComponent(SpinnerComponent),
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
         MockComponent(ErrorIconComponent),
         MockComponent(OdsUserIconComponent),
       ],
diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts
index a691fdefc542600e33cdac2b9a3b0864fd59c3f8..787e1e16eabcd6eedb875ed7e203f229bfcc9df1 100644
--- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts
+++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts
@@ -32,7 +32,6 @@ import { isUndefined } from 'lodash-es';
 })
 export class UserIconComponent {
   @Input() userProfileStateResource: StateResource<UserProfileResource> = createEmptyStateResource<UserProfileResource>();
-  @Input() disableTooltip: boolean = false;
 
   readonly messageCode = MessageCode;
 
diff --git a/alfa-client/libs/user-profile/src/lib/user-profile.module.ts b/alfa-client/libs/user-profile/src/lib/user-profile.module.ts
index 6bd1588ea1c21f419e2e78828ab9a466f0add14f..11ab2e9213281a32febbbd4664fa79d59d4969f4 100644
--- a/alfa-client/libs/user-profile/src/lib/user-profile.module.ts
+++ b/alfa-client/libs/user-profile/src/lib/user-profile.module.ts
@@ -34,6 +34,7 @@ import {
   ErrorIconComponent,
   LogoutIconComponent,
   UserIconComponent as OdsUserIconComponent,
+  TooltipDirective,
 } from '@ods/system';
 import { AssignUserProfileButtonContainerComponent } from './assign-user-profile-button-container/assign-user-profile-button-container.component';
 import { LinkWithUserNameTooltipContainerComponent } from './link-with-user-name-tooltip-container/link-with-user-name-tooltip-container.component';
@@ -68,6 +69,7 @@ import { UserProfileComponent } from './user-profile/user-profile.component';
     DropdownMenuComponent,
     DropdownMenuItemComponent,
     DropdownMenuButtonItemComponent,
+    TooltipDirective,
   ],
   declarations: [
     UserIconComponent,
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-action-buttons/vorgang-detail-action-buttons.component.scss b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-action-buttons/vorgang-detail-action-buttons.component.scss
index cbc6bcde3a27788c790ba3e0e879ee27b28881b7..073c7c4392d2b1dd921d4ac949942297033a68c4 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-action-buttons/vorgang-detail-action-buttons.component.scss
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-action-buttons/vorgang-detail-action-buttons.component.scss
@@ -1,5 +1,5 @@
 /**
- * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
+ * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
  * Staatskanzlei
  * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -24,6 +24,7 @@
 :host {
   display: flex;
   flex-grow: 1;
+  z-index: 1;
 
   ::ng-deep {
     a {
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.scss b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.scss
index 54c4f3eb8c92af93694c03cdf577fed23cf9f86b..d3c1422dbfc51198d27b9a9abf05525c6c3b3196 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.scss
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.scss
@@ -1,5 +1,5 @@
 /**
- * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
+ * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
  * Staatskanzlei
  * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
@@ -21,3 +21,6 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
+:host {
+  z-index: 1;
+}
diff --git a/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.html b/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.html
index a68da5c1302fdc7e652ecfdd960550162eb795c1..8c0250145675de160686ed311fd4ee34fc76b181 100644
--- a/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.html
+++ b/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.html
@@ -26,7 +26,7 @@
 <div
   class="line-clamp-1 flex-shrink overflow-hidden break-all text-base font-normal lg:line-clamp-none lg:flex"
   data-test-id="aktenzeichen"
-  [matTooltip]="aktenzeichen"
+  [tooltip]="aktenzeichen"
 >
   {{ aktenzeichen }}
 </div>
diff --git a/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.spec.ts b/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.spec.ts
index be991fb41f4c0b6b9282959b28478160a33a56aa..d2fa4010f6b41217c0e0a3c16467012c83f7d7af 100644
--- a/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.spec.ts
+++ b/alfa-client/libs/vorgang-shared-ui/src/lib/aktenzeichen/aktenzeichen.component.spec.ts
@@ -23,9 +23,9 @@
  */
 import { VorgangResource } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { createVorgangResource } from 'libs/vorgang-shared/test/vorgang';
-import { MockModule } from 'ng-mocks';
+import { MockDirective } from 'ng-mocks';
 import { VORGANG_KEIN_AKTENZEICHEN_ZUGEWIESEN } from '../vorgang-util';
 import { AktenzeichenComponent } from './aktenzeichen.component';
 
@@ -39,7 +39,7 @@ describe('AktenzeichenComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [AktenzeichenComponent, MockModule(MatTooltipModule)],
+      declarations: [AktenzeichenComponent, MockDirective(TooltipDirective)],
     }).compileComponents();
   });
 
diff --git a/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.html b/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.html
index b6c4a666d805ca9138db7480ad8b35aef0f64bc3..3a5eabc30c87191c1257dc4952ce8d5ba65b2ab9 100644
--- a/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.html
+++ b/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.html
@@ -29,7 +29,7 @@
 <div
   class="line-clamp-1 flex-shrink overflow-hidden break-all text-base font-normal lg:line-clamp-none lg:flex"
   data-test-id="vorgang-nummer"
-  [matTooltip]="vorgang.nummer"
+  [tooltip]="vorgang.nummer"
 >
   {{ vorgang.nummer }}
 </div>
diff --git a/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.spec.ts b/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.spec.ts
index c92ef713ea14d618417ee0e3d52b92597d105f48..c6b0813916c7f1dacd623532a7bbc78a31a7ffa6 100644
--- a/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.spec.ts
+++ b/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-nummer/vorgang-nummer.component.spec.ts
@@ -26,10 +26,10 @@ import { VorgangResource } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatIconTestingModule } from '@angular/material/icon/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { createVorgangResource } from 'libs/vorgang-shared/test/vorgang';
-import { MockModule } from 'ng-mocks';
+import { MockDirective } from 'ng-mocks';
 import { VorgangNummerComponent } from './vorgang-nummer.component';
 
 describe('VorgangNummerComponent', () => {
@@ -41,7 +41,7 @@ describe('VorgangNummerComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [MockModule(MatTooltipModule), VorgangNummerComponent],
+      declarations: [MockDirective(TooltipDirective), VorgangNummerComponent],
       imports: [MatIcon, MatIconTestingModule],
     }).compileComponents();
   });
diff --git a/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-shared-ui.module.ts b/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-shared-ui.module.ts
index 3ae0643465d4492367f4787a699453b7ebe1a799..a6549aff7c59fa5979d55f7fbb7bb130b9c068fc 100644
--- a/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-shared-ui.module.ts
+++ b/alfa-client/libs/vorgang-shared-ui/src/lib/vorgang-shared-ui.module.ts
@@ -27,6 +27,7 @@ import { VorgangSharedModule } from '@alfa-client/vorgang-shared';
 import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
 import { RouterModule } from '@angular/router';
+import { TooltipDirective } from '@ods/system';
 import { AktenzeichenComponent } from './aktenzeichen/aktenzeichen.component';
 import { VorgangNummerComponent } from './vorgang-nummer/vorgang-nummer.component';
 import { VorgangSearchContainerComponent } from './vorgang-search-container/vorgang-search-container.component';
@@ -38,7 +39,7 @@ import { VorgangStatusTextComponent } from './vorgang-status-text/vorgang-status
 import { WiedervorlageIconComponent } from './wiedervorlage-icon/wiedervorlage-icon.component';
 
 @NgModule({
-  imports: [CommonModule, VorgangSharedModule, UiModule, RouterModule, TechSharedModule],
+  imports: [CommonModule, VorgangSharedModule, UiModule, RouterModule, TechSharedModule, TooltipDirective],
   declarations: [
     VorgangSearchContainerComponent,
     VorgangSearchComponent,
diff --git a/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.html b/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.html
index bbf247957fa5a6a1be70c6ec1af5e88c75ccad33..edfe41eb178ce5a0f3dddefc33585fe2e465c96b 100644
--- a/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.html
+++ b/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.html
@@ -23,7 +23,7 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<div matTooltip="Eingang: {{ vorgang.createdAt | formatDateWithTimePipe }}">
+<div tooltip="Eingang: {{ vorgang.createdAt | formatDateWithTimePipe }}">
   <mat-icon svgIcon="incoming"></mat-icon>
   <span data-test-id="created-at">{{ vorgang.createdAt | formatDateWithoutYearWithTime }}</span>
 </div>
diff --git a/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.spec.ts b/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.spec.ts
index 01dce45c92b20a216875e28e00370fcd0a5bf490..b551e0550b2ce804d1a28a22416428c704b1cbc2 100644
--- a/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.spec.ts
+++ b/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-created-at/vorgang-created-at.component.spec.ts
@@ -33,10 +33,10 @@ import localeDe from '@angular/common/locales/de';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatIconTestingModule } from '@angular/material/icon/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { createVorgangResource } from 'libs/vorgang-shared/test/vorgang';
-import { MockModule } from 'ng-mocks';
+import { MockDirective } from 'ng-mocks';
 import { VorgangCreatedAtComponent } from './vorgang-created-at.component';
 
 registerLocaleData(localeDe);
@@ -54,7 +54,7 @@ describe('VorgangCreatedAtComponent', () => {
         FormatDateWithoutYearWithTimePipe,
         FormatDateWithTimePipe,
         VorgangCreatedAtComponent,
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
       ],
       imports: [MatIcon, MatIconTestingModule],
     }).compileComponents();
diff --git a/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts b/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts
index 19cf045603cf83efe2acddffaabc484dd7c63f2c..cfab40f848188662f2d0f2ea1db7074d60ff7ef7 100644
--- a/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts
+++ b/alfa-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts
@@ -48,12 +48,11 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MAT_DATE_LOCALE } from '@angular/material/core';
 import { MatIcon } from '@angular/material/icon';
 import { MatIconTestingModule } from '@angular/material/icon/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { RouterTestingModule } from '@angular/router/testing';
 import { getDataTestClassOf, getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile';
 import { createVorgangResource } from 'libs/vorgang-shared/test/vorgang';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent } from 'ng-mocks';
 import { of } from 'rxjs';
 import { VorgangArchiveStatusComponent } from './vorgang-archive-status/vorgang-archive-status.component';
 import { VorgangBescheidStatusComponent } from './vorgang-bescheid-status/vorgang-bescheid-status.component';
@@ -97,7 +96,6 @@ describe('VorgangListItemComponent', () => {
         MockComponent(VorgangCreatedAtComponent),
         MockComponent(VorgangBescheidStatusComponent),
         MockComponent(VorgangArchiveStatusComponent),
-        MockModule(MatTooltipModule),
       ],
       providers: [
         { provide: UserProfileService, useValue: userProfileService },
diff --git a/alfa-client/libs/vorgang/src/lib/vorgang.module.ts b/alfa-client/libs/vorgang/src/lib/vorgang.module.ts
index 4a58042a60125194bd7fd2b2b4953188c1f4aa28..cf3421cb9ed957b151e3cf8948828bde38b7f6b1 100644
--- a/alfa-client/libs/vorgang/src/lib/vorgang.module.ts
+++ b/alfa-client/libs/vorgang/src/lib/vorgang.module.ts
@@ -34,7 +34,7 @@ import { NgModule } from '@angular/core';
 import { MatButtonToggleModule } from '@angular/material/button-toggle';
 import { RouterModule, Routes } from '@angular/router';
 import { ButtonToggleGroupComponent } from '@ods/component';
-import { ArchiveIconComponent, ButtonToggleComponent } from '@ods/system';
+import { ArchiveIconComponent, ButtonToggleComponent, TooltipDirective } from '@ods/system';
 import { vorgangFilterViewGuard } from './vorgang-filter-view.guard';
 import { VorgangListContainerComponent } from './vorgang-list-container/vorgang-list-container.component';
 import { EmptyListComponent } from './vorgang-list-container/vorgang-list/empty-list/empty-list.component';
@@ -182,6 +182,7 @@ const routes: Routes = [
     ButtonToggleComponent,
     ButtonToggleGroupComponent,
     ArchiveIconComponent,
+    TooltipDirective,
   ],
   declarations: [
     VorgangListComponent,
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.html b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.html
index 04ee9bbaeebc4f00c72b095b49a514b4f652aa16..bdef88d210bb2d4b5e240b70f638a0efeb10c9e3 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.html
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.html
@@ -30,7 +30,7 @@
   <div class="row">
     <alfa-wiedervorlage-status
       data-test-class="status"
-      [matTooltip]="wiedervorlageResource.frist | toTrafficLightTooltip"
+      [tooltip]="wiedervorlageResource.frist | toTrafficLightTooltip"
       [wiedervorlageResource]="wiedervorlageResource"
     >
     </alfa-wiedervorlage-status>
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.spec.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.spec.ts
index 5d7273682e8e067353ec1a1ff5ca47d9f9fc393a..6673dc39b36123bb4d9bdd8bbb3e06e1e1dc2dc1 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.spec.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang/wiedervorlage-in-vorgang/wiedervorlage-in-vorgang.component.spec.ts
@@ -43,10 +43,10 @@ import { LOCALE_ID } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MAT_DATE_LOCALE } from '@angular/material/core';
 import { MatIcon } from '@angular/material/icon';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { RouterTestingModule } from '@angular/router/testing';
+import { TooltipDirective } from '@ods/system';
 import { createWiedervorlageResource } from 'libs/wiedervorlage-shared/test/wiedervorlage';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { WiedervorlageStatusComponent } from '../../../wiedervorlage-status/wiedervorlage-status.component';
 import { WiedervorlageAttachmentListContainerComponent } from './wiedervorlage-attachment-list-container/wiedervorlage-attachment-list-container.component';
 import { WiedervorlageInVorgangExpandButtonComponent } from './wiedervorlage-in-vorgang-expand-button/wiedervorlage-in-vorgang-expand-button.component';
@@ -78,7 +78,7 @@ describe('WiedervorlageInVorgangComponent', () => {
         MockComponent(WiedervorlageInVorgangExpandButtonComponent),
         MockComponent(LinkWithUserNameTooltipContainerComponent),
         MockComponent(TextWithUserNameTooltipContainerComponent),
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
       ],
       imports: [RouterTestingModule],
       providers: [
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.html b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.html
index 30f5ee2bb76434da75135c98eea8eff8141f52ef..d70d62eca2546b3e4e322a16040e18b403e70b7e 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.html
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.html
@@ -37,7 +37,7 @@
       <td>
         <div class="status">
           <alfa-wiedervorlage-status
-            [matTooltip]="wiedervorlageResource.frist | toTrafficLightTooltip"
+            [tooltip]="wiedervorlageResource.frist | toTrafficLightTooltip"
             [wiedervorlageResource]="wiedervorlageResource"
             data-test-class="status"
           >
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.spec.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.spec.ts
index e3a91dc026d83280f12fdc55a05d220a01e85a47..9ae9dd5c0812065834a9802f17fcc27883f757f0 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.spec.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-list-container/wiedervorlage-list-in-vorgang-list-container.component.spec.ts
@@ -29,9 +29,9 @@ import {
 import { mock } from '@alfa-client/test-utils';
 import { WiedervorlageService } from '@alfa-client/wiedervorlage-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatTooltipModule } from '@angular/material/tooltip';
+import { TooltipDirective } from '@ods/system';
 import { createWiedervorlageListResource } from 'libs/wiedervorlage-shared/test/wiedervorlage';
-import { MockComponent, MockModule } from 'ng-mocks';
+import { MockComponent, MockDirective } from 'ng-mocks';
 import { of } from 'rxjs';
 import { WiedervorlageStatusComponent } from '../wiedervorlage-status/wiedervorlage-status.component';
 import { WiedervorlageListInVorgangListContainerComponent } from './wiedervorlage-list-in-vorgang-list-container.component';
@@ -52,7 +52,7 @@ describe('WiedervorlageListInVorgangListContainerComponent', () => {
         FormatToPrettyDatePipe,
         ToTrafficLightTooltipPipe,
         MockComponent(WiedervorlageStatusComponent),
-        MockModule(MatTooltipModule),
+        MockDirective(TooltipDirective),
       ],
       providers: [
         {
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-status/wiedervorlage-status.component.spec.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-status/wiedervorlage-status.component.spec.ts
index 92614350fe078c2e66fb3a659050a551eedc9daf..ab2dd54f9740cb097bff0679157bc920bf8e762e 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-status/wiedervorlage-status.component.spec.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-status/wiedervorlage-status.component.spec.ts
@@ -24,9 +24,7 @@
 import { ToTrafficLightPipe } from '@alfa-client/tech-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
-import { MatTooltipModule } from '@angular/material/tooltip';
 import { createWiedervorlageResource } from 'libs/wiedervorlage-shared/test/wiedervorlage';
-import { MockModule } from 'ng-mocks';
 import { WiedervorlageStatusComponent } from './wiedervorlage-status.component';
 
 const doneIcon: string = '[data-test-class="done-icon"]';
@@ -37,12 +35,8 @@ describe('WiedervorlageStatusComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [
-        WiedervorlageStatusComponent,
-        ToTrafficLightPipe,
-        MatIcon,
-        MockModule(MatTooltipModule),
-      ],
+      declarations: [WiedervorlageStatusComponent, ToTrafficLightPipe],
+      imports: [MatIcon],
     }).compileComponents();
   });
 
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts
index 73ccc935276138242f2e14f9d14aadf427bdf54b..fec88f242f4f485bf156ef60e5fe897c210b0f59 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts
@@ -21,15 +21,16 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { CommonModule, DatePipe } from '@angular/common';
-import { NgModule } from '@angular/core';
-import { RouterModule, Routes } from '@angular/router';
 import { BinaryFileModule } from '@alfa-client/binary-file';
 import { TechSharedModule } from '@alfa-client/tech-shared';
 import { UiModule } from '@alfa-client/ui';
 import { UserProfileModule } from '@alfa-client/user-profile';
 import { VorgangSharedModule } from '@alfa-client/vorgang-shared';
 import { VorgangSharedUiModule } from '@alfa-client/vorgang-shared-ui';
+import { CommonModule, DatePipe } from '@angular/common';
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
+import { TooltipDirective } from '@ods/system';
 import { CreateWiedervorlageButtonContainerComponent } from './create-wiedervorlage-button-container/create-wiedervorlage-button-container.component';
 import { ErledigenButtonContainerComponent } from './erledigen-button-container/erledigen-button-container.component';
 import { SubmitWiedervorlageButtonComponent } from './submit-wiedervorlage-button/submit-wiedervorlage-button.component';
@@ -69,6 +70,7 @@ const routes: Routes = [
     VorgangSharedUiModule,
     BinaryFileModule,
     UserProfileModule,
+    TooltipDirective,
   ],
   declarations: [
     WiedervorlagePageComponent,